王恒
2025-08-06 c62f4961f9d86460a5d483d7b31c05f98b113290
'更换域名小程序发布'
13个文件已修改
373 ■■■■ 已修改文件
common/config.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/http.interceptor.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/companyLogin/companyLogin.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/dataLook/dataLook.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/policyApply/policyApply.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/scodePage/scodePage.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
policy/translate/translate.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/head.png 补丁 | 查看 | 原始文档 | blame | 历史
static/i04.png 补丁 | 查看 | 原始文档 | blame | 历史
yarn.lock 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/config.js
@@ -1,16 +1,15 @@
const test = {
    // authCallBackUrl: 'http://mallbanktest.hnnx.com/mallBank/payOut/getAuthCode.do?authCallBackUrl=',
    hasHead: true,
    authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=',
    webURL: 'https://jmy.jinmingyuan.com/ecosphere-user',
    serverTempl:"http://172.16.60.172:8086",
  serverTempl: "http://172.16.60.20:8086",
    socketTempl:"wss://yqzx.jinmingyuan.com/wsPerCode",
    h5Temp:"https://yqzx.jinmingyuan.com/ecosphere-h5",
    serverUrl: 'http://172.16.60.172:8086',
  serverUrl: 'http://172.16.60.20: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.172:8086',
  baseUrl: 'http://172.16.60.20:8086',
    wx_appid: 'wxad8cc511da676bd4',
    ali_appid: '2021003199690698'
}
@@ -21,11 +20,11 @@
    serverTempl:"https://jmy.jinmingyuan.com",
    socketTempl:"wss://yqzx.jinmingyuan.com/wsPerCode",
    h5Temp:"https://jmy.jinmingyuan.com/ecosphere-h5",
    serverUrl: 'https://jmy.jinmingyuan.com/sqys-prod-api',
  serverUrl: 'https://jmy.jinmingyuan.com/smrq-api',
    h5Url: 'https://jmy.jinmingyuan.com/service-merchant',
    ftpUrl: 'https://jmy.jinmingyuan.com/file',
    // ftpUrl: 'https://echftp.jinmingyuan.com',
    baseUrl: 'https://jmy.jinmingyuan.com/sqys-prod-api',
  baseUrl: 'https://jmy.jinmingyuan.com/smrq-api',
    wx_appid: 'wxad8cc511da676bd4',
    ali_appid: '2021003199690698'
}
common/http.interceptor.js
@@ -4,6 +4,7 @@
    DEBUG
} from '@/common/config.js'
import util from '@/common/util.js'
function getToken() {
    let token = uni.getStorageSync("sessionToken")
    return util.isBlank(token) ? '' : token
@@ -93,4 +94,3 @@
        return Promise.reject(response)
    })
}
manifest.json
@@ -50,7 +50,7 @@
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "wxc2cafc8362d40157",
    "appid": "wxec87cd0359014ce3",
        "setting" : {
            "urlCheck" : false,
            "minified" : true
package-lock.json
@@ -1,6 +1,73 @@
{
  "name": "sqys_xcx",
  "lockfileVersion": 2,
  "requires": true,
  "lockfileVersion": 1,
  "packages": {
    "": {
      "dependencies": {
        "vconsole": "^3.14.7",
        "weixin-js-sdk": "^1.6.0"
      }
    },
    "node_modules/@babel/runtime": {
      "version": "7.23.6",
      "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz",
      "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
      "dependencies": {
        "regenerator-runtime": "^0.14.0"
      },
      "engines": {
        "node": ">=6.9.0"
      }
    },
    "node_modules/copy-text-to-clipboard": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
      "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
      }
    },
    "node_modules/core-js": {
      "version": "3.34.0",
      "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.34.0.tgz",
      "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==",
      "hasInstallScript": true,
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/core-js"
      }
    },
    "node_modules/mutation-observer": {
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
      "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
    },
    "node_modules/regenerator-runtime": {
      "version": "0.14.1",
      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
    },
    "node_modules/vconsole": {
      "version": "3.15.1",
      "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz",
      "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
      "dependencies": {
        "@babel/runtime": "^7.17.2",
        "copy-text-to-clipboard": "^3.0.1",
        "core-js": "^3.11.0",
        "mutation-observer": "^1.0.3"
      }
    },
    "node_modules/weixin-js-sdk": {
      "version": "1.6.5",
      "resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz",
      "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ=="
    }
  },
  "dependencies": {
    "@babel/runtime": {
      "version": "7.23.6",
pages/companyLogin/companyLogin.vue
@@ -59,7 +59,12 @@
<script>
    // 00营商办,01执法,02企业 区分不同的登陆页面
    import { getCode, codeLogin, getInfo, getCompanyList } from '@/api/auth.js'
  import {
    getCode,
    codeLogin,
    getInfo,
    getCompanyList
  } from '@/api/auth.js'
    import selectVue from '@/components/select.vue'
    export default {
        components: {
@@ -70,7 +75,7 @@
                tips: '获取验证码',
                form: {
                    phone: '',
                    code: '666666',
          code: '',
                    userType: '01'
                },
                loginToken: '',
@@ -113,7 +118,9 @@
                    uni.showLoading({
                        title: '正在获取验证码'
                    })
                    getCode({phone: this.form.phone }).then(val => {
          getCode({
            phone: this.form.phone
          }).then(val => {
                            if(val.data.code == 200) {
                                this.startCountdown()
                                uni.hideLoading();
@@ -207,7 +214,11 @@
                })
            },
            getCompanyList(companyPhone) {
                getCompanyList({companyPhone, companyStatus: 0, checkStatus: 2}).then(val => {
        getCompanyList({
          companyPhone,
          companyStatus: 0,
          checkStatus: 2
        }).then(val => {
                    if(val.data.rows.length > 1){
                        this.$refs.selectVue.open(val.data.rows)
                    } else {
@@ -235,23 +246,27 @@
            height: 345rpx;
            text-align: center;
            background-color: #111;
            &>image{
                width: 100%;
                height: 345rpx;
            }
        }
        .content-box{
            border-radius: 40rpx 40rpx 0 0;
            padding: 40rpx 32rpx;
            position: relative;
            top: 80rpx;
            background-color: white;
            .form {
                .form-item{
                    .form-label{
                        font-size: 34rpx;
                        margin: 0 0 24rpx 16rpx;
                    }
                    .form-input{
                        background-color: #F7F7F7;
                        padding: 20rpx;
@@ -259,15 +274,18 @@
                    }
                }
            }
            .margin-bottom{
                margin-bottom: 36rpx;
            }
            .getcode{
                color: #1171E0;
                font-size: 34rpx;
                font-weight: 500;
                width: 20%;
            }
            .driver{
                display: inline-block;
                vertical-align: middle;
@@ -277,6 +295,7 @@
                background-color: #C3C6CD;
            }
        }
        .company-register{
            position: fixed;
            bottom: 32rpx;
@@ -290,6 +309,7 @@
            background: #F0F8FF;
        }
    }
    ::v-deep .u-radio {
        margin-bottom: 20rpx;
    }
pages/index/index.vue
@@ -1,8 +1,8 @@
<template>
    <view>
        <img src="/static/head.png" class="head" alt="" />
    <image src="/static/head.png" class="head" alt="" />
        <view class="hqzc" @click="more1()">
            <img src="/static/hqzc.png" class="img" alt="" />
      <image src="/static/hqzc.png" class="img" alt="" />
            <view class="line"></view>
            <view class="font">
                <p v-for="(item,index) in list1" :key="index" class="u-line-1">{{item.docTitle}}</p>
@@ -12,16 +12,18 @@
            <img src="/static/i06.png" class="more"  alt="" style="width: 46rpx;height: 46rpx;"/>
        </view>
        <view class="btnbox">
            <image mode="widthFix" src="/static/i01.png" class="more" alt="" style="margin-right: 18rpx;" @click="goMyCompany('01')"/>
      <image mode="widthFix" src="/static/i01.png" class="more" alt="" style="margin-right: 18rpx;"
        @click="goMyCompany('01')" />
            <image mode="widthFix" src="/static/i02.png" class="more" alt="" @click="goMyCompany('02')"/>
            <image mode="widthFix" src="/static/i03.png" class="more" alt="" style="margin-right: 18rpx;" @click="goMyCompany('01')"/>
      <image mode="widthFix" src="/static/i03.png" class="more" alt="" style="margin-right: 18rpx;"
        @click="goMyCompany('01')" />
            <image mode="widthFix" src="/static/i04.png" class="more" alt="" @click="goMyCompany('00')"/>
                <!-- <u-button @click="goMyCompany('01')">我是执法人员</u-button>
                <u-button @click="goMyCompany('02')">我是企业</u-button>
                <u-button @click="goMyCompany('00')">运营管理</u-button> -->
        </view>
        <view class="login-news" @click="goLogin">
            <image src="/static/index-1.png" mode="widthFix" @click="goLogin"></image>
      <image src="/static/index-1.png" mode="widthFix"></image>
        </view>
        <view class="msgbox">
            <view class="tit">
@@ -33,7 +35,7 @@
                </view>
            </view>
            <view class="item" v-for="(item,index) in list2">
                <img src="/static/i05.png" class="img" alt="" />
        <image src="/static/i05.png" class="img" alt="" />
                <view class="right">
                    <view class="name">
                        {{item.companyName}}
@@ -123,7 +125,10 @@
</template>
<script>
    import {  docList,showList } from '@/api/index.js'
  import {
    docList,
    showList
  } from '@/api/index.js'
    
    // 00营商办,01执法,02企业 区分不同的登陆页面
    export default {
@@ -174,7 +179,10 @@
                })
            },
            getInfo() {
                docList({pageNum:1,pageSize:2}).then(val =>{
        docList({
          pageNum: 1,
          pageSize: 2
        }).then(val => {
                    let data = val.data.rows
                    for(let i = 0;i<data.length;i++){
                        if(data[i].docTitle.length>17){
@@ -183,7 +191,10 @@
                    }
                    this.list1 = data
                })
                showList({pageNum:1,pageSize:10}).then(val =>{
        showList({
          pageNum: 1,
          pageSize: 10
        }).then(val => {
                    //console.log(val.data.rows)
                    this.list2 = val.data.rows
                })
@@ -211,7 +222,6 @@
    }
</style>
<style lang="scss" scoped>
    .hqzc{
        position: absolute;
        border-radius: 5px;
@@ -230,15 +240,18 @@
            background: #f1f1f1;
            margin-right: 18rpx;
        }
        .img{
            width: 76rpx;
            height: 76rpx;
            margin-right: 18rpx;
        }
        .more{
            width: 28rpx;
            height: 28rpx;
        }
        .font{
            font-size: 26rpx;
            color: #4A4E60;
@@ -248,60 +261,73 @@
            text-align: left;
        }
    }
    .btnbox{
        margin-top: 110rpx;
        margin-left: 32rpx;
        margin-right: 32rpx;
        image{
            width: 334rpx;
            height: 208rpx;
        }
    }
    .msgbox{
        background: #fff;
        border-radius: 5px;
        padding: 24rpx;
        box-sizing: border-box;
        margin: 20rpx 32rpx;
        .tit{
            display: flex;
            justify-content: space-between;
            .t{
                color: #202d44;
                font-size: 36rpx;
                font-weight: bolder;
            }
            .m{
                color: #7e8596;
                font-size: 24rpx;
            }
        }
        .item{
            display: flex;
            margin-top: 26rpx;
            border-bottom: 1px solid #F1F1F1;
            padding-bottom: 26rpx;
            .img{
                width: 56rpx;
                height: 56rpx;
            }
            .right{
                width: 90%;
                .name{
                    color: #202d44;
                    font-size: 32rpx;
                    line-height: 44rpx;
                    margin-bottom: 24rpx;
                }
                .box{
                    display: flex;
                    justify-content: space-between;
                    .l{
                        font-size: 26rpx;
                         color: #7e8593;
                         max-width: 80%;
                         
                    }
                    .r{
                        width: 132rpx;
                        height: 64rpx;
@@ -316,18 +342,22 @@
                }
            }
        }
        .item:last-child{
            border: none;
            padding-bottom: 0;
        }
    }
    .head{
        width: 100%;
        height: 518rpx;
    }
    .login-news{
        margin: 20rpx 32rpx;
        image{
            width: 100%;
        }
policy/dataLook/dataLook.vue
@@ -44,7 +44,8 @@
                    <u-icon name="calendar" size="24" @click="openDate(1)"></u-icon>
                </view>
                <view class="number set-height">
                    <view class="date">{{pageQuerm.beginTimeStr1}} <text class="margin-text">至</text> {{pageQuerm.endTimeStr1}}</view>
          <view class="date">{{pageQuerm.beginTimeStr1}} <text class="margin-text">至</text> {{pageQuerm.endTimeStr1}}
          </view>
                    <view class="progress-box"  style="margin-top: 20rpx;">
                        <!-- <qiun-data-charts v-if="!show" key="11" type="bar"
                            :opts="opts" :chartData="chartData" /> -->
@@ -68,8 +69,10 @@
                    <u-icon name="calendar" size="24" @click="openDate(2)"></u-icon>
                </view>
                <view class="number">
                    <view class="date" style="margin-bottom: 36rpx;">{{pageQuerm.beginTimeStr2}} <text class="margin-text">至</text>
                        {{pageQuerm.endTimeStr2}}</view>
          <view class="date" style="margin-bottom: 36rpx;">{{pageQuerm.beginTimeStr2}} <text
              class="margin-text">至</text>
            {{pageQuerm.endTimeStr2}}
          </view>
                    <view class="list-box">
                        <view class="list-item" v-for="(item,index) in listData" :key="index">
                            <view class="width-set">
@@ -94,23 +97,17 @@
                    <u-icon name="calendar" size="24" @click="openDate(3)"></u-icon>
                </view>
                <view class="number">
                    <view class="date" style="margin-bottom: 20rpx;">{{pageQuerm.beginTimeStr3}} <text class="margin-text">至</text> {{pageQuerm.endTimeStr3}}</view>
          <view class="date" style="margin-bottom: 20rpx;">{{pageQuerm.beginTimeStr3}} <text
              class="margin-text">至</text> {{pageQuerm.endTimeStr3}}</view>
                    <view class="progress-box">
                        <qiun-data-charts type="pie"   v-if="!show"  tooltipFormat="tooltipDemo1"
 key="22" :opts="opts1" :chartData="chartData1" />
            <qiun-data-charts type="pie" v-if="!show" tooltipFormat="tooltipDemo1" key="22" :opts="opts1"
              :chartData="chartData1" />
                    </view>
                </view>
            </view>
        </view>
            <u-datetime-picker
                        :show="show"
                        @cancel="show = false"
                        :maxDate="new Date().getTime()"
                        v-model="currentValue"
                        mode="year-month"
                        @confirm="confirmDate"
                ></u-datetime-picker>
    <u-datetime-picker :show="show" @cancel="show = false" :maxDate="new Date().getTime()" v-model="currentValue"
      mode="year-month" @confirm="confirmDate"></u-datetime-picker>
    </view>
</template>
@@ -131,8 +128,7 @@
                currentValue: '',
                show: false,
                infoData: [],
                listData: [
                ],
        listData: [],
                chartData: {},
                pageQuerm: {
                    pageNum: 1,
@@ -213,8 +209,10 @@
              date.setDate(1); // 设置日为月份的第一天
            this.pageQuerm.beginTime = this.$u.timeFormat(date, "yyyy-mm-dd") + " " + "00:00:00"
            this.pageQuerm.endTime = this.$u.timeFormat(new Date(), "yyyy-mm-dd") + " " +"23:59:59"
            this.pageQuerm.beginTimeStr1 = this.pageQuerm.beginTimeStr2 = this.pageQuerm.beginTimeStr3 = this.$u.timeFormat(date, "yyyy-mm-dd")
            this.pageQuerm.endTimeStr1 = this.pageQuerm.endTimeStr2 = this.pageQuerm.endTimeStr3 = this.$u.timeFormat(new Date(), "yyyy-mm-dd")
      this.pageQuerm.beginTimeStr1 = this.pageQuerm.beginTimeStr2 = this.pageQuerm.beginTimeStr3 = this.$u.timeFormat(
        date, "yyyy-mm-dd")
      this.pageQuerm.endTimeStr1 = this.pageQuerm.endTimeStr2 = this.pageQuerm.endTimeStr3 = this.$u.timeFormat(
        new Date(), "yyyy-mm-dd")
            this.getTotalInfo()
            this.getCompanyCount()
            this.getServerData();
@@ -224,12 +222,14 @@
        methods: {
            confirmDate(e) {
                if(new Date().getMonth() == new Date(e.value).getMonth()){
                    this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd')
          this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1),
            'yyyy-mm-dd')
                    this.pageQuerm[`endTimeStr${this.typeItem}`] = this.$u.timeFormat(e.value, 'yyyy-mm-dd')
                    this.pageQuerm.beginTime = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd') + " " + "00:00:00"
                    this.pageQuerm.endTime = this.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
                } else {
                    this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd')
          this.pageQuerm[`beginTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(e.value).setDate(1),
            'yyyy-mm-dd')
                    this.pageQuerm.beginTime = this.$u.timeFormat(new Date(e.value).setDate(1), 'yyyy-mm-dd') + " " + "00:00:00"
                    const date = new Date(e.value);
                    const year = date.getFullYear();
policy/policyApply/policyApply.vue
@@ -41,7 +41,8 @@
                        执法内容
                    </view>
                    <view class="back">
                        <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="请输入" count maxlength="500"></u--textarea>
            <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="请输入" count
              maxlength="500"></u--textarea>
                    </view>
                </view>
            </view>
@@ -127,24 +128,28 @@
        
            
        </u-picker> -->
        <perPicker ref="perPicker" @setCompany="setCompany" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></perPicker>
             <yt-dateTimePicker
                  ref="myPicker"
                  @submit="confirmTime"
                  :time-init="timeInit"
                  :start-year="year"
                  :startMonth="month"
                  :time-hide="[true, true, true, true, false, false]"
                />
            <u-picker :show="showType" @close="showType = false" @confirm="confirmType" @cancel="showType = false" :columns="columnsType" keyName="dictLabel"></u-picker>
    <perPicker ref="perPicker" @setCompany="setCompany" :immediateChange="true" @confirm="confirmSearch"
      @cancel="show = false" :columns="columns" keyName="companyName"></perPicker>
    <yt-dateTimePicker ref="myPicker" @submit="confirmTime" :time-init="timeInit" :start-year="year" :startMonth="month"
      :time-hide="[true, true, true, true, false, false]" />
    <u-picker :show="showType" @close="showType = false" @confirm="confirmType" @cancel="showType = false"
      :columns="columnsType" keyName="dictLabel"></u-picker>
            <perPage :list="list" ref="perpage" @selectValue="selectValue"></perPage>
    </view>
</template>
<script>
    import { orderAdd, companyList, enforceList } from '@/api/policy.js'
    import { getInfo } from '@/api/auth.js'
    import { getDicts } from '@/api/data'
  import {
    orderAdd,
    companyList,
    enforceList
  } from '@/api/policy.js'
  import {
    getInfo
  } from '@/api/auth.js'
  import {
    getDicts
  } from '@/api/data'
    import perPage from './perPage'
    import perPicker from './perPicker'
    import YtDateTimePicker from "uni_modules/yt-dateTimePicker/components/yt-dateTimePicker/yt-dateTimePicker.vue"
@@ -352,7 +357,8 @@
                this.form.peers = this.uniqueArrJson(this.form.peers,'peerId')
            },
            uniqueArrJson(arr,key) {
              var newobj = {},newArr = [];
        var newobj = {},
          newArr = [];
              for(var i=0;i<arr.length;i++){
                  var item = arr[i];
                if(!newobj[item[key]]){
@@ -368,6 +374,7 @@
    page{
        background-color: #F4F4F4;
    }
    .sui  .u-textarea{
        padding: 0 !important;
    }
@@ -375,12 +382,14 @@
<style scoped lang="scss">
.page-box{
    padding-bottom: 140rpx;
    .content-box{
        margin:20rpx 32rpx;
        background-color: white;
        padding: 24rpx;
        border-radius: 10rpx;
    }
    .form{
        .form-item{
            display: flex;
@@ -389,17 +398,20 @@
            border-bottom: 2rpx solid #F1F1F1;
            padding-bottom: 26rpx;
            margin-bottom: 24rpx;
            .form-label{
                font-size: 30rpx;
                color: #4A4E60;
                width: 40%;
            }
            .input{
                width: 60%;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
            .require{
                &::after{
                    content: '*';
@@ -408,24 +420,29 @@
            }
        
        }
        .down-2{
            margin-bottom: 0;
            padding-bottom: 0;
            border: none;
        }
        .last{
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: none;
            display: block;
            .form-label{
                margin-bottom: 16rpx;
                
            }
            .back{
                ::v-deep .u-textarea{
                    background-color: #F4F4F4;
                    border: none;
                    .u-textarea__count{
                        background: none !important;
                    }
@@ -435,6 +452,7 @@
        
    }
}
.down-options{
    background-color: white;
    position: fixed;
@@ -447,6 +465,7 @@
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    .record{
        box-sizing: border-box;
        border-radius: 20rpx;
@@ -458,6 +477,7 @@
        width: 30%;
        text-align: center;
    }
    .submit{
        border-radius: 20rpx;
        border: 2rpx solid #1171E0;
@@ -469,9 +489,9 @@
        text-align: center;
    }
}
.sui{
}
  .sui {}
::v-deep  .u-checkbox-label--right >  text{
        line-height: 54rpx !important;
        margin-right: 15rpx;
policy/scodePage/scodePage.vue
@@ -1,12 +1,7 @@
<template>
    <view>
          <u-navbar
                @rightClick="rightClick"
                :autoBack="true"
                :placeholder="false"
                bgColor="transparent"
                leftIconColor="white"
            >
    <u-navbar @rightClick="rightClick" :autoBack="true" :placeholder="false" bgColor="transparent"
      leftIconColor="white">
            </u-navbar>
        <image src="/static/policy/back.png" mode="widthFix" class="back-image"></image>
        <view class="page-box">
@@ -83,14 +78,22 @@
                </swiper>
            </view>
        </view>
        <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: color,useDynamicSize: true,  areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode>
    <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode"
      :value="companyCode"
      :options="{ backgroundColor: color,useDynamicSize: true,  areaColor: '#ffffff', foregroundColor: '#ffffff' }">
    </uqrcode>
        
    </view>
</template>
<script>
    import { getScanList, doScanOrder } from '@/api/policy.js'
    import { getInfo } from '@/api/auth.js'
  import {
    getScanList,
    doScanOrder
  } from '@/api/policy.js'
  import {
    getInfo
  } from '@/api/auth.js'
    export default {
        data() {
            return {
@@ -112,7 +115,9 @@
        },
        methods: {
            getScanList(companyCode){
                getScanList({companyCode}).then(val => {
        getScanList({
          companyCode
        }).then(val => {
                    this.list = val.data.data.map(item => {
                        item['isSelect'] = true
                        return item
@@ -134,7 +139,6 @@
            },
            getInfo() {
                getInfo().then(val => {
                    console.log(val.data.data)
                    this.userInfo = val.data.data
                })
            },
policy/translate/translate.vue
@@ -1,7 +1,8 @@
<template>
    <view class="page-box">
        <view class="list">
            <view class="select-box" @click="setIsSelect(index)" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
      <view class="select-box" @click="setIsSelect(index)" v-for="(item,index) in list" :key="index"
        :class="{start: isJudege}">
                <view class="select-image" v-if="isJudege" >
                    <image src="/static/policy/checkbox.png" mode="widthFix" v-show="item.isSelect"></image>
                    <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!item.isSelect"></image>
@@ -42,7 +43,8 @@
                                    <text>执法类型:</text>{{handlerType(item.enforceType)}}
                                </view>
                                <view class="set-line set-line-flex">
                                    <text>执法内容:</text> <view>{{item.enforceContent}}</view>
                  <text>执法内容:</text>
                  <view>{{item.enforceContent}}</view>
                                </view>
                            </view>
                            
@@ -51,7 +53,8 @@
                            审批
                        </view>
                    </view>
                    <view @click="showItem(item)" class="icon" style="text-align: center;display: flex;justify-content: center;align-items: center;">
          <view @click="showItem(item)" class="icon"
            style="text-align: center;display: flex;justify-content: center;align-items: center;">
                        <u-icon name="arrow-down" color="#bfbfbf" size="20" v-if="!item.show"></u-icon>
                        <u-icon name="arrow-up" color="#bfbfbf" size="20" v-else></u-icon>
                    </view>
@@ -77,8 +80,13 @@
<script>
    import popupCom from '@/policy/components/popup.vue'
    import { checkLogList, checkUpd } from '@/api/policy.js'
    import { getDicts } from '@/api/data.js'
  import {
    checkLogList,
    checkUpd
  } from '@/api/policy.js'
  import {
    getDicts
  } from '@/api/data.js'
    export default {
        components: {
            popupCom
@@ -121,7 +129,6 @@
            }
            this.queryms.pageNum++
            this.checkLogList()
        },
        methods: {
            showItem(item) {
@@ -185,7 +192,11 @@
            },
            entery(form) {
                // 1企业审批,2执法单审批
                checkUpd({...form, ids: this.recordList, checkType: 2}).then(val => {
        checkUpd({
          ...form,
          ids: this.recordList,
          checkType: 2
        }).then(val => {
                    if(val.data.code == 200) {
                        uni.showToast({
                            title: '审批成功',
@@ -233,14 +244,17 @@
        background-color: #F4F4F4 !important;
        border: none;
    }
    .set-line-flex{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        text{
            width: 28%;
            display: inline-block;
        }
        & > view{
            width: 70%;
        }
static/head.png

static/i04.png

yarn.lock
@@ -3,36 +3,43 @@
"@babel/runtime@^7.17.2":
  version "7.27.1"
  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.1.tgz#9fce313d12c9a77507f264de74626e87fd0dc541"
  integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==
  "integrity" "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ=="
  "resolved" "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz"
  "version" "7.23.6"
  dependencies:
    "regenerator-runtime" "^0.14.0"
copy-text-to-clipboard@^3.0.1:
  version "3.2.0"
  resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
  integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
"copy-text-to-clipboard@^3.0.1":
  "integrity" "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q=="
  "resolved" "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz"
  "version" "3.2.0"
core-js@^3.11.0:
  version "3.42.0"
  resolved "https://registry.npmmirror.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37"
  integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==
"core-js@^3.11.0":
  "integrity" "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag=="
  "resolved" "https://registry.npmmirror.com/core-js/-/core-js-3.34.0.tgz"
  "version" "3.34.0"
mutation-observer@^1.0.3:
  version "1.0.3"
  resolved "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0"
  integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
"mutation-observer@^1.0.3":
  "integrity" "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
  "resolved" "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz"
  "version" "1.0.3"
vconsole@^3.14.7:
  version "3.15.1"
  resolved "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz#569a8ab15f353259527bbcf004f02946b4482cff"
  integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
"regenerator-runtime@^0.14.0":
  "integrity" "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
  "resolved" "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
  "version" "0.14.1"
"vconsole@^3.14.7":
  "integrity" "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g=="
  "resolved" "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz"
  "version" "3.15.1"
  dependencies:
    "@babel/runtime" "^7.17.2"
    copy-text-to-clipboard "^3.0.1"
    core-js "^3.11.0"
    mutation-observer "^1.0.3"
    "copy-text-to-clipboard" "^3.0.1"
    "core-js" "^3.11.0"
    "mutation-observer" "^1.0.3"
weixin-js-sdk@^1.6.0:
  version "1.6.5"
  resolved "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz#01fe5220b91dbfe089fc0730d061be0e68271e6a"
  integrity sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ==
"weixin-js-sdk@^1.6.0":
  "integrity" "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ=="
  "resolved" "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz"
  "version" "1.6.5"