王恒
2025-08-13 bdb3123664234ec9bfe7f43be21fac7250f9479f
'修改字段、处理空值'
10个文件已修改
255 ■■■■ 已修改文件
common/config.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/message/details.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/applyRecordDetails/applyRecordDetails.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/judgeApply/judgeApply.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/policyApply/policyApply.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/reportDetails/reportDetails.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translate/translate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
qiye/complaint/details.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
qiye/complaint/details1.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
qiye/record/details.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/config.js
@@ -2,14 +2,14 @@
  hasHead: true,
  authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=',
  webURL: 'https://jmy.jinmingyuan.com/ecosphere-user',
  serverTempl: "http://172.16.60.20:8086",
  serverTempl: "http://172.16.60.251:8086",
  socketTempl: "wss://yqzx.jinmingyuan.com/wsPerCode",
  h5Temp: "https://yqzx.jinmingyuan.com/ecosphere-h5",
  serverUrl: 'http://172.16.60.20:8086',
  serverUrl: 'http://172.16.60.251:8086',
  h5Url: 'http://172.16.60.172:8086/service-merchant',
  ftpUrl: 'https://yqzx.jinmingyuan.com/file',
  // ftpUrl: 'https://echftp.jinmingyuan.com',
  baseUrl: 'http://172.16.60.20:8086',
  baseUrl: 'http://172.16.60.251:8086',
  wx_appid: 'wxad8cc511da676bd4',
  ali_appid: '2021003199690698'
}
pages/message/details.vue
@@ -10,7 +10,7 @@
            <view class="wbox">
                <view class="item">
                    <view class="k">
                        执法类型
            检查方式
                    </view>
                    <view class="v">
                        {{type}}
@@ -87,9 +87,15 @@
</template>
<script>
    import { order } from '@/api/index.js'
    import { getDicts } from '@/api/data.js'
    import { config } from '@/common/config'
  import {
    order
  } from '@/api/index.js'
  import {
    getDicts
  } from '@/api/data.js'
  import {
    config
  } from '@/common/config'
    
    export default {
        data() {
@@ -132,43 +138,49 @@
    page{
        background: #F4F4F4;
    }
</style>
<style lang="scss" scoped>
    .page-main{
        position: relative;
        top: -380rpx;
    }
    .donw-box{
        width: 100%;
        height: 380rpx;
        flex-shrink: 0;
        background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
    }
    .wbox{
        background: #fff;
        border-radius: 5px;
        padding: 24rpx;
        box-sizing: border-box;
        margin: 0 32rpx;
        .item{
            display: flex;
            margin-bottom: 20rpx;
            font-size: 30rpx;
            .k{
                color: #7E8596;
                width: 30%;
                
            }
            .v{
                color: #202D44;
                width: 70%;
                
            }
        }
        .item:last-child{
            margin-bottom: 0;
        }
        .imgbox{
            // display: flex;
            // flex-wrap: wrap;
@@ -177,6 +189,7 @@
            grid-template-columns: 1fr 1fr 1fr;
            grid-gap: 10rpx;
            border-radius: 10rpx;
            img{
                width: 198rpx;
                height: 198rpx;
policy/applyRecordDetails/applyRecordDetails.vue
@@ -25,21 +25,21 @@
                    </view>
                    <view class="view-form-item">
                        <view class="label">执法时间</view>
                        <view>{{details.planTime}}</view>
            <view>{{details.planTime || details.planMonth || ''}}</view>
                    </view>
                    <view class="view-form-item">
                        <view class="label">执法类型</view>
            <view class="label">检查方式</view>
                        <view>{{typeList}}</view>
                    </view>
                    <template v-if="!details.executeUser">
                        <view class="view-form-item">
                            <view class="label">执法人员</view>
                            <view>{{details.applyUser}}</view>
              <view>{{details.applyUser || ''}}</view>
                        </view>
                        <view class="view-form-item">
                            <view class="label">执法部门</view>
                            <view>{{details.applyDeptName}}</view>
              <view>{{details.applyDeptName || details.applyDeptNames || ''}}</view>
                        </view>
                    </template>
                    <template v-else>
@@ -108,12 +108,14 @@
                    </view>
                </view>
            </view> -->
            <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length">
      <view class="base-card"
        v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length">
                <view class="title">
                    <text>执法图片</text>
                </view>
                <view class="view-image">
                    <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image>
          <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill"
            v-for="(item,index) in details.regionImgs" :key="index"></image>
                </view>
            </view>
            <view class="base-card">
@@ -121,14 +123,15 @@
                    <text>执法进度</text>
                </view>
                <view class="view-step">
                    <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
          <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList"
            :key="index">
                        <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image>
                        <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image>
                        <view class="top-title">
                            {{item.nodeName}}
                        </view>
                        <view class="down-tips">
                            <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view>
              <view class=" submit-per" v-if="item.nodeUser">提交人:<text>{{item.nodeUser}}</text></view>
                            <view class="time">{{item.nodeTime}}</view>
                        </view>
                    </view>
@@ -165,8 +168,12 @@
        orderNodeList,
        enforceLogList
    } from '@/api/policy.js'
    import { getDicts } from '@/api/data.js'
    import { config } from '@/common/config'
  import {
    getDicts
  } from '@/api/data.js'
  import {
    config
  } from '@/common/config'
    export default {
        data() {
            return {
@@ -209,13 +216,17 @@
            },
            // 节点
            orderNodeList(orderId) {
                orderNodeList({orderId}).then(val => {
        orderNodeList({
          orderId
        }).then(val => {
                    this.nodeList = val.data.data
                })
            },
            // 申请记录
            enforceLogList(orderId) {
                enforceLogList({orderId}).then(val => {
        enforceLogList({
          orderId
        }).then(val => {
                    // console.log(val.data.rows)
                    this.judgeDetails = val.data.rows
                })
policy/judgeApply/judgeApply.vue
@@ -28,7 +28,7 @@
                        <view>{{details.planTime}}</view>
                    </view>
                    <view class="view-form-item">
                        <view class="label">执法类型</view>
            <view class="label">检查方式</view>
                        <view>{{typeList}}</view>
                    </view>
                    
@@ -108,12 +108,14 @@
                    </view>
                </view>
            </view> -->
            <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length">
      <view class="base-card"
        v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length">
                <view class="title">
                    <text>执法图片</text>
                </view>
                <view class="view-image">
                    <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image>
          <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill"
            v-for="(item,index) in details.regionImgs" :key="index"></image>
                </view>
            </view>
            <view class="base-card">
@@ -121,7 +123,8 @@
                    <text>审批进度</text>
                </view>
                <view class="view-step">
                    <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
          <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList"
            :key="index">
                        <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image>
                        <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image>
                        <view class="top-title">
@@ -165,8 +168,12 @@
        orderNodeList,
        enforceLogList
    } from '@/api/policy.js'
    import { getDicts } from '@/api/data.js'
    import { config } from '@/common/config'
  import {
    getDicts
  } from '@/api/data.js'
  import {
    config
  } from '@/common/config'
    export default {
        data() {
            return {
@@ -214,13 +221,17 @@
            },
            // 节点
            orderNodeList(orderId) {
                orderNodeList({orderId}).then(val => {
        orderNodeList({
          orderId
        }).then(val => {
                    this.nodeList = val.data.data
                })
            },
            // 申请记录
            enforceLogList(orderId) {
                enforceLogList({orderId}).then(val => {
        enforceLogList({
          orderId
        }).then(val => {
                    // console.log(val.data.rows)
                    this.judgeDetails = val.data.rows
                })
policy/policyApply/policyApply.vue
@@ -29,7 +29,7 @@
        </view>
        <view class="form-item" @click="showType = true">
          <view class="form-label require">
            执法类型
            检查方式
          </view>
          <view class="input">
            <input type="text" placeholder="请选择" v-model.trim="form.enforceTypeName" disabled />
@@ -252,7 +252,7 @@
          return '请填写执法时间'
        }
        if (!this.form.enforceTypeName) {
          return '请选择执法类型'
          return '请选择检查方式'
        }
        console.log(!this.form.enforceContent.replace(/\s+/g, ""))
        if (!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) {
policy/reportDetails/reportDetails.vue
@@ -15,7 +15,7 @@
                    <view class="input">{{details.planTime}}</view>
                </view>
                <view class="form-item">
                    <view class="label">执法类型</view>
          <view class="label">检查方式</view>
                    <view class="input">{{enforceType}}</view>
                </view>
                <view class="form-item">
@@ -65,8 +65,13 @@
<script>
    import uploadImage from '@/policy/components/upload.vue'
    import { orderDetails,orderUpd } from '@/api/policy.js'
    import { getDicts } from '@/api/data.js'
  import {
    orderDetails,
    orderUpd
  } from '@/api/policy.js'
  import {
    getDicts
  } from '@/api/data.js'
    export default {
        components: {
            uploadImage
@@ -96,7 +101,9 @@
            },
            // 获取执法单详情
            orderDetails(id) {
                orderDetails({orderId: id}).then(val => {
        orderDetails({
          orderId: id
        }).then(val => {
                    this.details = val.data.data
                    this.getDicts()
                })
@@ -143,6 +150,7 @@
</style>
<style lang="scss" scoped>
    @import "./reportDetails.scss";
    ::v-deep .u-radio{
        margin-right: 80rpx;
    }
policy/translate/translate.vue
@@ -40,7 +40,7 @@
                  <text>执法主题:</text>{{item.enforceReason}}
                </view>
                <view class="set-line">
                  <text>执法类型:</text>{{handlerType(item.enforceType)}}
                  <text>检查方式:</text>{{handlerType(item.enforceType)}}
                </view>
                <view class="set-line set-line-flex">
                  <text>执法内容:</text>
qiye/complaint/details.vue
@@ -15,7 +15,7 @@
            <view class="wbox">
                <view class="item" v-if="dictLabel">
                    <view class="k">
                        执法类型
            检查方式
                    </view>
                    <view class="v">
                        {{dictLabel}}
@@ -63,7 +63,8 @@
                        </view>
                    </view>
                    <view class="imgbox">
                        <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more" @click="imgclick(item)" alt="" />
            <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more"
              @click="imgclick(item)" alt="" />
                        
                    </view>
                    <view class="item">
@@ -90,8 +91,11 @@
                <view class="t">
                    投诉记录
                </view>
                <view class="jilu" :class="{start: item.nodeName == '发起投诉' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
                    <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '发起投诉' || item.nodeName == '发起诉求'"/>
        <view class="jilu"
          :class="{start: item.nodeName == '发起投诉' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}"
          v-for="(item,index) in nodeList" :key="index">
          <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix"
            v-if="item.nodeName == '发起投诉' || item.nodeName == '发起诉求'" />
                    <image src="/static/guocheng.png" class="img" alt=""  mode="widthFix"  v-if="item.nodeName == '处理中'"/>
                    <image src="/static/policy/refject.png" class="img"  mode="widthFix" alt="" v-if="item.nodeName == '已驳回'"/>
                    <image src="/static/policy/icon.png" class="img" alt=""  mode="widthFix" v-if="item.nodeName == '已办结'"/>
@@ -187,10 +191,21 @@
</template>
<script>
    import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
    import { orderDetails, orderDetailsLog } from '@/api/policy.js'
    import { config } from '@/common/config.js'
    import { getDicts } from '@/api/data.js'
  import {
    complaintDetails,
    orderNodeList,
    orderComplaintNodeList
  } from '@/api/qiye.js'
  import {
    orderDetails,
    orderDetailsLog
  } from '@/api/policy.js'
  import {
    config
  } from '@/common/config.js'
  import {
    getDicts
  } from '@/api/data.js'
    export default {
        data() {
            return {
@@ -214,7 +229,9 @@
        },
        methods: {
            orderNodeList(id) {
                orderNodeList({id}).then(val => {
        orderNodeList({
          id
        }).then(val => {
                    // console.log(val)
                    this.nodeList = val.data.data
                })
@@ -247,7 +264,9 @@
                })
            },
            orderDetails() {
                orderDetails({ orderId: this.orderId}).then(val => {
        orderDetails({
          orderId: this.orderId
        }).then(val => {
                    // console.log(val.data.data)
                    val.data.data.regionImgs = val.data.data.regionImgs.split(",")
                    this.orderDetailsMsg = val.data.data
@@ -258,7 +277,9 @@
                })
            },
            orderComplaintNodeList() {
                orderComplaintNodeList({ orderId: this.orderId }).then(val => {
        orderComplaintNodeList({
          orderId: this.orderId
        }).then(val => {
                    console.log(val.data.data, 'val===')
                    this.nodeList = val.data.data
                })
@@ -284,6 +305,7 @@
        flex-shrink: 0;
        background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
    }
    .wbox {
        background: #fff;
        border-radius: 5px;
@@ -327,6 +349,7 @@
            }
        }
    }
    .title {
        color: #ffffff;
        font-size: 44rpx;
@@ -344,6 +367,7 @@
        margin: 0 32rpx;
        position: relative;
        z-index: 10;
        .t {
            padding: 24rpx;
            border-bottom: 1px solid #EEEEEE;
@@ -359,6 +383,7 @@
        justify-content: space-between;
        padding: 24rpx;
        position: relative;
        &::before{
            content: '';
            display: inline-block;
@@ -378,21 +403,26 @@
            position: relative;
            z-index: 100;
        }
        .font{
            width: calc(100% - 70rpx);
            .h{
                display: flex;
                justify-content: space-between;
                margin-bottom: 20rpx;
                .s{
                     color: #202d44;
                     font-size: 32rpx;
                }
                .time{
                    color: #7e8596;
                    font-size: 24rpx;
                }
            }
            .b{
                // width: 289px;
                // height: 111px;
@@ -400,13 +430,16 @@
                border-radius: 4px;
                background: #F6F6F6;
                padding: 24rpx;
                .name{
                     color: #202d44;
                     font-size: 32rpx;
                }
                .p{
                    color: #202d44;
                    font-size: 26rpx;
                    span{
                        color: #666666;
                        
@@ -415,16 +448,19 @@
            }
        }
    }
    .handler{
        &::before {
            background: #fe7b320d;
        }
    }
    .start{
        &::before{
            background: #E7F8F0;
        }
    }
    .nonde{
        &::before{
            background: none;
qiye/complaint/details1.vue
@@ -15,7 +15,7 @@
            <view class="wbox">
                <view class="item" v-if="dictLabel">
                    <view class="k">
                        执法类型
            检查方式
                    </view>
                    <view class="v">
                        {{dictLabel}}
@@ -55,7 +55,8 @@
                        </view>
                    </view>
                    <view class="imgbox">
                        <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more" @click="imgclick(item)" alt="" />
            <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more"
              @click="imgclick(item)" alt="" />
                        
                    </view>
                    <view class="item">
@@ -82,7 +83,9 @@
                <view class="t">
                    建议记录
                </view>
                <view class="jilu" :class="{start: item.nodeName == '发起诉求' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index">
        <view class="jilu"
          :class="{start: item.nodeName == '发起诉求' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}"
          v-for="(item,index) in nodeList" :key="index">
                    <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '发起诉求'"/>
                    <image src="/static/guocheng.png" class="img" alt=""  mode="widthFix"  v-if="item.nodeName == '处理中'"/>
                    <image src="/static/policy/refject.png" class="img"  mode="widthFix" alt="" v-if="item.nodeName == '已驳回'"/>
@@ -179,10 +182,21 @@
</template>
<script>
    import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
    import { orderDetails, orderDetailsLog } from '@/api/policy.js'
    import { config } from '@/common/config.js'
    import { getDicts } from '@/api/data.js'
  import {
    complaintDetails,
    orderNodeList,
    orderComplaintNodeList
  } from '@/api/qiye.js'
  import {
    orderDetails,
    orderDetailsLog
  } from '@/api/policy.js'
  import {
    config
  } from '@/common/config.js'
  import {
    getDicts
  } from '@/api/data.js'
    export default {
        data() {
            return {
@@ -206,7 +220,9 @@
        },
        methods: {
            orderNodeList(id) {
                orderNodeList({id}).then(val => {
        orderNodeList({
          id
        }).then(val => {
                    // console.log(val)
                    this.nodeList = val.data.data
                })
@@ -232,7 +248,9 @@
                })
            },
            orderDetails() {
                orderDetails({ orderId: this.orderId}).then(val => {
        orderDetails({
          orderId: this.orderId
        }).then(val => {
                    // console.log(val.data.data)
                    val.data.data.regionImgs = val.data.data.regionImgs.split(",")
                    this.orderDetailsMsg = val.data.data
@@ -243,7 +261,9 @@
                })
            },
            orderComplaintNodeList() {
                orderComplaintNodeList({ orderId: this.orderId }).then(val => {
        orderComplaintNodeList({
          orderId: this.orderId
        }).then(val => {
                    console.log(val.data.data, 'val===')
                    this.nodeList = val.data.data
                })
@@ -269,6 +289,7 @@
        flex-shrink: 0;
        background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
    }
    .wbox {
        background: #fff;
        border-radius: 5px;
@@ -312,6 +333,7 @@
            }
        }
    }
    .title {
        color: #ffffff;
        font-size: 44rpx;
@@ -329,6 +351,7 @@
        margin: 0 32rpx;
        position: relative;
        z-index: 10;
        .t {
            padding: 24rpx;
            border-bottom: 1px solid #EEEEEE;
@@ -344,6 +367,7 @@
        justify-content: space-between;
        padding: 24rpx;
        position: relative;
        &::before{
            content: '';
            display: inline-block;
@@ -363,21 +387,26 @@
            position: relative;
            z-index: 100;
        }
        .font{
            width: calc(100% - 70rpx);
            .h{
                display: flex;
                justify-content: space-between;
                margin-bottom: 20rpx;
                .s{
                     color: #202d44;
                     font-size: 32rpx;
                }
                .time{
                    color: #7e8596;
                    font-size: 24rpx;
                }
            }
            .b{
                // width: 289px;
                // height: 111px;
@@ -385,13 +414,16 @@
                border-radius: 4px;
                background: #F6F6F6;
                padding: 24rpx;
                .name{
                     color: #202d44;
                     font-size: 32rpx;
                }
                .p{
                    color: #202d44;
                    font-size: 26rpx;
                    span{
                        color: #666666;
                        
@@ -400,16 +432,19 @@
            }
        }
    }
    .handler{
        &::before {
            background: #fe7b320d;
        }
    }
    .start{
        &::before{
            background: #E7F8F0;
        }
    }
    .nonde{
        &::before{
            background: none;
qiye/record/details.vue
@@ -16,7 +16,7 @@
            <view class="wbox">
                <view class="item">
                    <view class="k">
                        执法类型
            检查方式
                    </view>
                    <view class="v">
                        {{type}}
@@ -231,10 +231,19 @@
</template>
<script>
    import { order } from '@/api/index.js'
    import { getDicts } from '@/api/data.js'
    import { config } from '@/common/config'
    import { orderComplaint, confirmOrderId } from '@/api/qiye.js'
  import {
    order
  } from '@/api/index.js'
  import {
    getDicts
  } from '@/api/data.js'
  import {
    config
  } from '@/common/config'
  import {
    orderComplaint,
    confirmOrderId
  } from '@/api/qiye.js'
    export default {
        data() {
            return {
@@ -249,8 +258,7 @@
                value: 'orange',
                //type: 2,
                show: false,
                list: [
                ],
        list: [],
                qlist:[]
            }
        },
@@ -275,7 +283,9 @@
                    content: '确认该订单?',
                    success: val => {
                        if(val.confirm) {
                            confirmOrderId({orderId: this.msg.orderId}).then(val => {
              confirmOrderId({
                orderId: this.msg.orderId
              }).then(val => {
                                if(val.data.code == 200) {
                                    uni.showToast({
                                        title: '确认成功',
@@ -496,6 +506,7 @@
    ::v-deep .u-radio-group {
        margin-top: 20rpx;
        flex-wrap: wrap;
        .u-radio {
            margin-right: 20rpx;
            margin-bottom: 20rpx;
@@ -560,11 +571,13 @@
    .page-box {
        padding: 24rpx 0;
        .font{
            color: #4a4e60;
            font-size: 32rpx;
            margin-top: 20rpx;
        }
        .title1 {
            font-size: 36rpx;
            font-weight: 700;