From c62f4961f9d86460a5d483d7b31c05f98b113290 Mon Sep 17 00:00:00 2001 From: 王恒 <318726284@qq.com> Date: 星期三, 06 八月 2025 17:12:37 +0800 Subject: [PATCH] '更换域名小程序发布' --- common/http.interceptor.js | 182 +- package-lock.json | 69 + policy/dataLook/dataLook.vue | 658 ++++---- common/config.js | 63 policy/translate/translate.vue | 482 +++--- policy/scodePage/scodePage.vue | 308 ++-- static/i04.png | 0 yarn.lock | 59 manifest.json | 200 +- policy/policyApply/policyApply.vue | 886 ++++++------ pages/companyLogin/companyLogin.vue | 570 ++++---- static/head.png | 0 pages/index/index.vue | 538 ++++--- 13 files changed, 2,088 insertions(+), 1,927 deletions(-) diff --git a/common/config.js b/common/config.js index f788660..39a3001 100644 --- a/common/config.js +++ b/common/config.js @@ -1,40 +1,39 @@ 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", - socketTempl:"wss://yqzx.jinmingyuan.com/wsPerCode", - h5Temp:"https://yqzx.jinmingyuan.com/ecosphere-h5", - serverUrl: 'http://172.16.60.172: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', - wx_appid: 'wxad8cc511da676bd4', - ali_appid: '2021003199690698' + 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", + socketTempl: "wss://yqzx.jinmingyuan.com/wsPerCode", + h5Temp: "https://yqzx.jinmingyuan.com/ecosphere-h5", + 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.20:8086', + wx_appid: 'wxad8cc511da676bd4', + ali_appid: '2021003199690698' } const prod = { - authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', - webURL: 'https://jmy.jinmingyuan.com/ecosphere-user', - 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', - 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', - wx_appid: 'wxad8cc511da676bd4', - ali_appid: '2021003199690698' + authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', + webURL: 'https://jmy.jinmingyuan.com/ecosphere-user', + serverTempl: "https://jmy.jinmingyuan.com", + socketTempl: "wss://yqzx.jinmingyuan.com/wsPerCode", + h5Temp: "https://jmy.jinmingyuan.com/ecosphere-h5", + 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/smrq-api', + wx_appid: 'wxad8cc511da676bd4', + ali_appid: '2021003199690698' } module.exports = { - kefuTel: '15824668510', - config: prod, - ACCESSTOKEN: "Authorization", - /* 鏄惁鎵撳嵃璇锋眰鏃ュ織 */ - DEBUG: false, -} + kefuTel: '15824668510', + config: prod, + ACCESSTOKEN: "Authorization", + /* 鏄惁鎵撳嵃璇锋眰鏃ュ織 */ + DEBUG: false, +} \ No newline at end of file diff --git a/common/http.interceptor.js b/common/http.interceptor.js index 70954ca..deb692d 100644 --- a/common/http.interceptor.js +++ b/common/http.interceptor.js @@ -1,96 +1,96 @@ import { - ACCESSTOKEN, - config, - DEBUG + ACCESSTOKEN, + config, + DEBUG } from '@/common/config.js' import util from '@/common/util.js' -function getToken() { - let token = uni.getStorageSync("sessionToken") - return util.isBlank(token) ? '' : token - } -module.exports = (vm) => { - const url = config.serverUrl - uni.$u.http.setConfig((config) => { - config.baseURL = url - config.header = { - 'Accept': 'application/json, text/plain, */*', - // 'Content-Type': 'application/x-www-form-urlencoded', - } - return config - }); - - - // 璇锋眰鎷︽埅锛岄厤缃甌oken绛夊弬鏁� - uni.$u.http.interceptors.request.use((config) => { - // 寮曠敤token - const TOKEN = getToken() || null; - if (TOKEN) { - config.header[ACCESSTOKEN] = TOKEN; - } else { - delete config.header[ACCESSTOKEN] - } - if (config.custom.loading) { - uni.showLoading({ - title: '鍔犺浇涓�', - mask: true - }) - } - DEBUG && console.log('璇锋眰鍙傛暟', config); - return config; - }, config => { // 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣� - return Promise.reject(config) - }) - // 鍝嶅簲鎷︽埅锛屽垽鏂姸鎬佺爜鏄惁閫氳繃 - uni.$u.http.interceptors.response.use((res) => { - uni.hideLoading() - DEBUG && console.log('杩斿洖缁撴灉', res); - if(res.statusCode!=200){ - vm.$u.toast(res.data?.msg || "璇锋眰寮傚父锛�"); //閿欒鎻愮ず淇℃伅 - return false; - } - - if (res.data.code == 200 || !res.data.code) { - return res - } else if (res.data.code == 10002) { - return res - } else if (res.data.code == 401) { - const TOKEN = uni.getStorageSync("sessionToken") - if (TOKEN) { - // vm.$u.vuex('userInfo', null) - // vm.$u.vuex('token', null) - // uni.removeStorageSync("sessionToken") - uni.clearStorageSync() // 娓呮鎵�鏈夌殑缂撳瓨 - uni.showToast({ - title: '鎺堟潈杩囨湡,璇烽噸鏂扮櫥褰�', - icon: 'none', - mask: true - }) - setTimeout(() => { - uni.reLaunch({ - url: '/pages/index/index' - }) - }, 900) - } else { - uni.showToast({ - title: res.data?.msg || "璇锋眰寮傚父锛�", - icon: 'none', - mask: true - }) - } - return false; - } else { - vm.$u.toast(res.data.msg || "璇锋眰寮傚父锛�"); //閿欒鎻愮ず淇℃伅 - return false; - } - - }, (response) => { - // 瀵瑰搷搴旈敊璇仛鐐逛粈涔� 锛坰tatusCode !== 200锛� - uni.hideLoading() - if(response.config.custom?.loading) { - uni.hideLoading() - } - return Promise.reject(response) - }) +function getToken() { + let token = uni.getStorageSync("sessionToken") + return util.isBlank(token) ? '' : token } - +module.exports = (vm) => { + const url = config.serverUrl + uni.$u.http.setConfig((config) => { + config.baseURL = url + config.header = { + 'Accept': 'application/json, text/plain, */*', + // 'Content-Type': 'application/x-www-form-urlencoded', + } + return config + }); + + + // 璇锋眰鎷︽埅锛岄厤缃甌oken绛夊弬鏁� + uni.$u.http.interceptors.request.use((config) => { + // 寮曠敤token + const TOKEN = getToken() || null; + if (TOKEN) { + config.header[ACCESSTOKEN] = TOKEN; + } else { + delete config.header[ACCESSTOKEN] + } + if (config.custom.loading) { + uni.showLoading({ + title: '鍔犺浇涓�', + mask: true + }) + } + DEBUG && console.log('璇锋眰鍙傛暟', config); + return config; + }, config => { // 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣� + return Promise.reject(config) + }) + + // 鍝嶅簲鎷︽埅锛屽垽鏂姸鎬佺爜鏄惁閫氳繃 + uni.$u.http.interceptors.response.use((res) => { + uni.hideLoading() + DEBUG && console.log('杩斿洖缁撴灉', res); + if (res.statusCode != 200) { + vm.$u.toast(res.data?.msg || "璇锋眰寮傚父锛�"); //閿欒鎻愮ず淇℃伅 + return false; + } + + if (res.data.code == 200 || !res.data.code) { + return res + } else if (res.data.code == 10002) { + return res + } else if (res.data.code == 401) { + const TOKEN = uni.getStorageSync("sessionToken") + if (TOKEN) { + // vm.$u.vuex('userInfo', null) + // vm.$u.vuex('token', null) + // uni.removeStorageSync("sessionToken") + uni.clearStorageSync() // 娓呮鎵�鏈夌殑缂撳瓨 + uni.showToast({ + title: '鎺堟潈杩囨湡,璇烽噸鏂扮櫥褰�', + icon: 'none', + mask: true + }) + setTimeout(() => { + uni.reLaunch({ + url: '/pages/index/index' + }) + }, 900) + } else { + uni.showToast({ + title: res.data?.msg || "璇锋眰寮傚父锛�", + icon: 'none', + mask: true + }) + } + return false; + } else { + vm.$u.toast(res.data.msg || "璇锋眰寮傚父锛�"); //閿欒鎻愮ず淇℃伅 + return false; + } + + }, (response) => { + // 瀵瑰搷搴旈敊璇仛鐐逛粈涔� 锛坰tatusCode !== 200锛� + uni.hideLoading() + if (response.config.custom?.loading) { + uni.hideLoading() + } + return Promise.reject(response) + }) +} \ No newline at end of file diff --git a/manifest.json b/manifest.json index 9d165d4..cd5e406 100644 --- a/manifest.json +++ b/manifest.json @@ -1,103 +1,103 @@ { - "name" : "鎯犱紒鎵ф硶", - "appid" : "__UNI__B034821", - "description" : "鎯犱紒鎵ф硶", - "versionName" : "1.0.0", - "versionCode" : "100", - "transformPx" : false, - /* 5+App鐗规湁鐩稿叧 */ - "app-plus" : { - "usingComponents" : true, - "nvueStyleCompiler" : "uni-app", - "compilerVersion" : 3, - "splashscreen" : { - "alwaysShowBeforeRender" : true, - "waiting" : true, - "autoclose" : true, - "delay" : 0 - }, - /* 妯″潡閰嶇疆 */ - "modules" : {}, - /* 搴旂敤鍙戝竷淇℃伅 */ - "distribute" : { - /* android鎵撳寘閰嶇疆 */ - "android" : { - "permissions" : [ - "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", - "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", - "<uses-permission android:name=\"android.permission.VIBRATE\"/>", - "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", - "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", - "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", - "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", - "<uses-permission android:name=\"android.permission.CAMERA\"/>", - "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", - "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", - "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", - "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", - "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", - "<uses-feature android:name=\"android.hardware.camera\"/>", - "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" - ] - }, - /* ios鎵撳寘閰嶇疆 */ - "ios" : {}, - /* SDK閰嶇疆 */ - "sdkConfigs" : {} - } + "name": "鎯犱紒鎵ф硶", + "appid": "__UNI__B034821", + "description": "鎯犱紒鎵ф硶", + "versionName": "1.0.0", + "versionCode": "100", + "transformPx": false, + /* 5+App鐗规湁鐩稿叧 */ + "app-plus": { + "usingComponents": true, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 }, - /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */ - "quickapp" : {}, - /* 灏忕▼搴忕壒鏈夌浉鍏� */ - "mp-weixin" : { - "appid" : "wxc2cafc8362d40157", - "setting" : { - "urlCheck" : false, - "minified" : true - }, - "usingComponents" : true, - "permission" : { - "scope.userLocation" : { - "desc" : "鎮ㄧ殑浣嶇疆灏嗙敤浜庡尮閰嶆渶杩戦棬搴楁垨浼樻儬鍒�" - } - }, - "requiredPrivateInfos" : [ "getLocation", "chooseAddress" ] - }, - "mp-alipay" : { - "usingComponents" : true - }, - "mp-baidu" : { - "usingComponents" : true - }, - "mp-toutiao" : { - "usingComponents" : true - }, - "uniStatistics" : { - "enable" : false - }, - "vueVersion" : "2", - "h5" : { - "sdkConfigs" : { - "maps" : { - "qqmap" : { - "key" : "2BUBZ-QGL33-2GO3Y-OLJDS-ZSUQZ-QCBTS" - } - } - }, - "title" : "鏁板瓧鍖栫敓鎬佸湀", - "router" : { - "mode" : "history", - "base" : "/ecosphere-user/" - }, - "optimization" : { - "treeShaking" : { - "enable" : true - } - }, - "devServer" : { - "port" : "", - "https" : false - }, - "template" : "index.html" + /* 妯″潡閰嶇疆 */ + "modules": {}, + /* 搴旂敤鍙戝竷淇℃伅 */ + "distribute": { + /* android鎵撳寘閰嶇疆 */ + "android": { + "permissions": [ + "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", + "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", + "<uses-permission android:name=\"android.permission.VIBRATE\"/>", + "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", + "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", + "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", + "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", + "<uses-permission android:name=\"android.permission.CAMERA\"/>", + "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", + "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", + "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", + "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", + "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", + "<uses-feature android:name=\"android.hardware.camera\"/>", + "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" + ] + }, + /* ios鎵撳寘閰嶇疆 */ + "ios": {}, + /* SDK閰嶇疆 */ + "sdkConfigs": {} } -} + }, + /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */ + "quickapp": {}, + /* 灏忕▼搴忕壒鏈夌浉鍏� */ + "mp-weixin": { + "appid": "wxec87cd0359014ce3", + "setting": { + "urlCheck": false, + "minified": true + }, + "usingComponents": true, + "permission": { + "scope.userLocation": { + "desc": "鎮ㄧ殑浣嶇疆灏嗙敤浜庡尮閰嶆渶杩戦棬搴楁垨浼樻儬鍒�" + } + }, + "requiredPrivateInfos": ["getLocation", "chooseAddress"] + }, + "mp-alipay": { + "usingComponents": true + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "2", + "h5": { + "sdkConfigs": { + "maps": { + "qqmap": { + "key": "2BUBZ-QGL33-2GO3Y-OLJDS-ZSUQZ-QCBTS" + } + } + }, + "title": "鏁板瓧鍖栫敓鎬佸湀", + "router": { + "mode": "history", + "base": "/ecosphere-user/" + }, + "optimization": { + "treeShaking": { + "enable": true + } + }, + "devServer": { + "port": "", + "https": false + }, + "template": "index.html" + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index eeee595..4486e87 100644 --- a/package-lock.json +++ b/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", diff --git a/pages/companyLogin/companyLogin.vue b/pages/companyLogin/companyLogin.vue index 9249231..9e35887 100644 --- a/pages/companyLogin/companyLogin.vue +++ b/pages/companyLogin/companyLogin.vue @@ -1,16 +1,16 @@ <!-- 浼佷笟鐧诲綍 --> <template> - <view class="companylogin"> - <u-navbar :autoBack="true" bgColor="transparent"> - <template slot="center"> - - </template> - </u-navbar> - <view class="image-box"> - <image src="/static/policy/loginHeader.png" mode="widthFix" ></image> - </view> - <view class="content-box"> - <!-- <u-form label-width="60" labelAlign="right" > + <view class="companylogin"> + <u-navbar :autoBack="true" bgColor="transparent"> + <template slot="center"> + + </template> + </u-navbar> + <view class="image-box"> + <image src="/static/policy/loginHeader.png" mode="widthFix"></image> + </view> + <view class="content-box"> + <!-- <u-form label-width="60" labelAlign="right" > <u-form-item label="鎵嬫満鍙�"> <u-input style="width: 80%;" v-model="form.phone" placeholder="璇疯緭鍏�"></u-input> </u-form-item> @@ -23,274 +23,294 @@ </u-input> </u-form-item> </u-form> --> - <view class="form"> - <view class="form-item margin-bottom"> - <view class="form-label"> - 鎵嬫満鍙� - </view> - <view class="form-input"> - <input type="number" v-model="form.phone" placeholder="璇疯緭鍏�11浣嶆墜鏈哄彿"/> - </view> - </view> - <view class="form-item"> - <view class="form-label"> - 楠岃瘉鐮� - </view> - <view class="form-input set-flex set-flex-content-between"> - <input type="number" v-model="form.code" placeholder="璇疯緭鍏ラ獙璇佺爜"/> - <view > - <text class="driver"></text> - <text class="getcode">{{tips}}</text> - </view> - </view> - </view> - </view> - <view style="margin-top: 56rpx;"> - <view class="per-button" @click="loging">鐧诲綍</view> - </view> - <view @click="goRegister" class="company-register" v-if="form.userType == '02'"> - 浼佷笟娉ㄥ唽 - </view> - <!-- <u--text text="浼佷笟娉ㄥ唽" type="primary" @click="goRegister"></u--text> --> - </view> - <selectVue ref="selectVue" @select="select"></selectVue> - </view> + <view class="form"> + <view class="form-item margin-bottom"> + <view class="form-label"> + 鎵嬫満鍙� + </view> + <view class="form-input"> + <input type="number" v-model="form.phone" placeholder="璇疯緭鍏�11浣嶆墜鏈哄彿" /> + </view> + </view> + <view class="form-item"> + <view class="form-label"> + 楠岃瘉鐮� + </view> + <view class="form-input set-flex set-flex-content-between"> + <input type="number" v-model="form.code" placeholder="璇疯緭鍏ラ獙璇佺爜" /> + <view> + <text class="driver"></text> + <text class="getcode">{{tips}}</text> + </view> + </view> + </view> + </view> + <view style="margin-top: 56rpx;"> + <view class="per-button" @click="loging">鐧诲綍</view> + </view> + <view @click="goRegister" class="company-register" v-if="form.userType == '02'"> + 浼佷笟娉ㄥ唽 + </view> + <!-- <u--text text="浼佷笟娉ㄥ唽" type="primary" @click="goRegister"></u--text> --> + </view> + <selectVue ref="selectVue" @select="select"></selectVue> + </view> </template> <script> - // 00钀ュ晢鍔�,01鎵ф硶,02浼佷笟 鍖哄垎涓嶅悓鐨勭櫥闄嗛〉闈� - import { getCode, codeLogin, getInfo, getCompanyList } from '@/api/auth.js' - import selectVue from '@/components/select.vue' - export default { - components: { - selectVue - }, - data() { - return { - tips: '鑾峰彇楠岃瘉鐮�', - form: { - phone: '', - code: '666666', - userType: '01' - }, - loginToken: '', - isSendCode: false, - countdownTime: 20, - timer: '', - sessionToken: "", - userInfo: {} - } - }, - onLoad(options) { - if(options.code) { - this.form.userType = options.code - } - }, - onUnload() { - if(this.timer) { - clearTimeout(this.timer) - this.timer = null - } - }, - methods: { - getCode() { - if(!this.form.phone){ - uni.showToast({ - title: '璇疯緭鍏ユ墜鏈哄彿', - icon: 'none' - }) - return - } - if(!this.$u.test.mobile(this.form.phone)){ - uni.showToast({ - title: '璇疯緭鍏ユ纭殑鎵嬫満鍙�', - icon: 'none' - }) - return - } - if (!this.isSendCode) { - this.isSendCode = true - uni.showLoading({ - title: '姝e湪鑾峰彇楠岃瘉鐮�' - }) - getCode({phone: this.form.phone }).then(val => { - if(val.data.code == 200) { - this.startCountdown() - uni.hideLoading(); - this.tips = `${this.countdownTime}s鍚庨噸鏂拌幏鍙朻 - uni.$u.toast('楠岃瘉鐮佸凡鍙戦��'); - } - }).catch(err => { - this.isSendCode = false - }) - } else { - uni.$u.toast('鍊掕鏃剁粨鏉熷悗鍐嶅彂閫�'); - } - }, - startCountdown() { - if(this.timer) { - clearTimeout(this.timer) - this.timer = null - } - if(this.countdownTime <= 0) { - this.tips = "閲嶆柊鑾峰彇" - this.isSendCode = false - this.countdownTime = 20 - return - } - this.timer = setTimeout(() => { - this.countdownTime-- - this.tips = `${this.countdownTime}s鍚庨噸鏂拌幏鍙朻 - this.startCountdown() - }, 1000) - }, - loging() { - if(!this.form.phone){ - uni.showToast({ - title: '璇疯緭鍏ユ墜鏈哄彿', - icon: 'none' - }) - return - } - // if(!this.form.code){ - // uni.showToast({ - // title: '璇疯緭鍏ラ獙璇佺爜', - // icon: 'none' - // }) - // return - // } - codeLogin(this.form).then(val => { - if(val.data.token) { - this.loginToken = val.data.token - uni.setStorageSync('sessionToken', this.loginToken) - this.getInfo() - } - }) - }, - getInfo() { - getInfo().then(val => { - // uni.setStorageSync('userInfo', val.data.data) - if(val.data.code === 200) { - this.userInfo = val.data.data - if(this.form.userType == '02') { - // 鑾峰彇浼佷笟 - - this.getCompanyList(val.data.data.phonenumber) - } else if(this.form.userType == '01'){ - uni.setStorageSync('userInfo', val.data.data) - // uni.setStorageSync('sessionToken', this.loginToken) - uni.reLaunch({ - url:`/policy/policyIndex/policyIndex` - }) - } else { - uni.setStorageSync('userInfo', val.data.data) - // uni.setStorageSync('sessionToken', this.loginToken) - uni.reLaunch({ - url:`/policy/policyIndex/policyIndex` - }) - } - } else { - uni.removeStorageSync('sessionToken') - uni.showToast({ - title: val.data.msg, - icon: 'none' - }) - } - - }).catch(err => { - uni.removeStorageSync('sessionToken') - }) - }, - goRegister() { - uni.navigateTo({ - url: `/pages/registerCompany/registerCompany` - }) - }, - getCompanyList(companyPhone) { - getCompanyList({companyPhone, companyStatus: 0, checkStatus: 2}).then(val => { - if(val.data.rows.length > 1){ - this.$refs.selectVue.open(val.data.rows) - } else { - uni.setStorageSync('userInfo', this.userInfo) - uni.reLaunch({ - url:`/qiye/qiyeIndex/qiyeIndex?id=${this.userInfo.deptId}` - }) - } - }) - }, - select(event){ - uni.setStorageSync('userInfo', this.userInfo) - uni.reLaunch({ - url:`/qiye/qiyeIndex/qiyeIndex?id=${event}` - }) - } - } - } + // 00钀ュ晢鍔�,01鎵ф硶,02浼佷笟 鍖哄垎涓嶅悓鐨勭櫥闄嗛〉闈� + import { + getCode, + codeLogin, + getInfo, + getCompanyList + } from '@/api/auth.js' + import selectVue from '@/components/select.vue' + export default { + components: { + selectVue + }, + data() { + return { + tips: '鑾峰彇楠岃瘉鐮�', + form: { + phone: '', + code: '', + userType: '01' + }, + loginToken: '', + isSendCode: false, + countdownTime: 20, + timer: '', + sessionToken: "", + userInfo: {} + } + }, + onLoad(options) { + if (options.code) { + this.form.userType = options.code + } + }, + onUnload() { + if (this.timer) { + clearTimeout(this.timer) + this.timer = null + } + }, + methods: { + getCode() { + if (!this.form.phone) { + uni.showToast({ + title: '璇疯緭鍏ユ墜鏈哄彿', + icon: 'none' + }) + return + } + if (!this.$u.test.mobile(this.form.phone)) { + uni.showToast({ + title: '璇疯緭鍏ユ纭殑鎵嬫満鍙�', + icon: 'none' + }) + return + } + if (!this.isSendCode) { + this.isSendCode = true + uni.showLoading({ + title: '姝e湪鑾峰彇楠岃瘉鐮�' + }) + getCode({ + phone: this.form.phone + }).then(val => { + if (val.data.code == 200) { + this.startCountdown() + uni.hideLoading(); + this.tips = `${this.countdownTime}s鍚庨噸鏂拌幏鍙朻 + uni.$u.toast('楠岃瘉鐮佸凡鍙戦��'); + } + }).catch(err => { + this.isSendCode = false + }) + } else { + uni.$u.toast('鍊掕鏃剁粨鏉熷悗鍐嶅彂閫�'); + } + }, + startCountdown() { + if (this.timer) { + clearTimeout(this.timer) + this.timer = null + } + if (this.countdownTime <= 0) { + this.tips = "閲嶆柊鑾峰彇" + this.isSendCode = false + this.countdownTime = 20 + return + } + this.timer = setTimeout(() => { + this.countdownTime-- + this.tips = `${this.countdownTime}s鍚庨噸鏂拌幏鍙朻 + this.startCountdown() + }, 1000) + }, + loging() { + if (!this.form.phone) { + uni.showToast({ + title: '璇疯緭鍏ユ墜鏈哄彿', + icon: 'none' + }) + return + } + // if(!this.form.code){ + // uni.showToast({ + // title: '璇疯緭鍏ラ獙璇佺爜', + // icon: 'none' + // }) + // return + // } + codeLogin(this.form).then(val => { + if (val.data.token) { + this.loginToken = val.data.token + uni.setStorageSync('sessionToken', this.loginToken) + this.getInfo() + } + }) + }, + getInfo() { + getInfo().then(val => { + // uni.setStorageSync('userInfo', val.data.data) + if (val.data.code === 200) { + this.userInfo = val.data.data + if (this.form.userType == '02') { + // 鑾峰彇浼佷笟 + + this.getCompanyList(val.data.data.phonenumber) + } else if (this.form.userType == '01') { + uni.setStorageSync('userInfo', val.data.data) + // uni.setStorageSync('sessionToken', this.loginToken) + uni.reLaunch({ + url: `/policy/policyIndex/policyIndex` + }) + } else { + uni.setStorageSync('userInfo', val.data.data) + // uni.setStorageSync('sessionToken', this.loginToken) + uni.reLaunch({ + url: `/policy/policyIndex/policyIndex` + }) + } + } else { + uni.removeStorageSync('sessionToken') + uni.showToast({ + title: val.data.msg, + icon: 'none' + }) + } + + }).catch(err => { + uni.removeStorageSync('sessionToken') + }) + }, + goRegister() { + uni.navigateTo({ + url: `/pages/registerCompany/registerCompany` + }) + }, + getCompanyList(companyPhone) { + getCompanyList({ + companyPhone, + companyStatus: 0, + checkStatus: 2 + }).then(val => { + if (val.data.rows.length > 1) { + this.$refs.selectVue.open(val.data.rows) + } else { + uni.setStorageSync('userInfo', this.userInfo) + uni.reLaunch({ + url: `/qiye/qiyeIndex/qiyeIndex?id=${this.userInfo.deptId}` + }) + } + }) + }, + select(event) { + uni.setStorageSync('userInfo', this.userInfo) + uni.reLaunch({ + url: `/qiye/qiyeIndex/qiyeIndex?id=${event}` + }) + } + } + } </script> <style scoped lang="scss"> - .companylogin { - &>.image-box { - width: 100%; - 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; - border-radius: 20rpx; - } - } - } - .margin-bottom{ - margin-bottom: 36rpx; - } - .getcode{ - color: #1171E0; - font-size: 34rpx; - font-weight: 500; - width: 20%; - } - .driver{ - display: inline-block; - vertical-align: middle; - margin-right: 20rpx; - width: 2rpx; - height: 48rpx; - background-color: #C3C6CD; - } - } - .company-register{ - position: fixed; - bottom: 32rpx; - left: 50%; - transform: translateX(-50%); - padding: 16rpx 46rpx; - color: #1171E0; - display: inline-block; - border-radius: 12rpx; - border: 2rpx solid #ABD2FF; - background: #F0F8FF; - } - } - ::v-deep .u-radio { - margin-bottom: 20rpx; - } + .companylogin { + &>.image-box { + width: 100%; + 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; + border-radius: 20rpx; + } + } + } + + .margin-bottom { + margin-bottom: 36rpx; + } + + .getcode { + color: #1171E0; + font-size: 34rpx; + font-weight: 500; + width: 20%; + } + + .driver { + display: inline-block; + vertical-align: middle; + margin-right: 20rpx; + width: 2rpx; + height: 48rpx; + background-color: #C3C6CD; + } + } + + .company-register { + position: fixed; + bottom: 32rpx; + left: 50%; + transform: translateX(-50%); + padding: 16rpx 46rpx; + color: #1171E0; + display: inline-block; + border-radius: 12rpx; + border: 2rpx solid #ABD2FF; + background: #F0F8FF; + } + } + + ::v-deep .u-radio { + margin-bottom: 20rpx; + } </style> \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index 217be71..17f8bf5 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,55 +1,57 @@ <template> - <view> - <img src="/static/head.png" class="head" alt="" /> - <view class="hqzc" @click="more1()"> - <img 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> - <!-- <p>娴峰叧鎬荤讲璐告槗鎸佺画鍙戝睍2024骞寸珛娉�...</p> + <view> + <image src="/static/head.png" class="head" alt="" /> + <view class="hqzc" @click="more1()"> + <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> + <!-- <p>娴峰叧鎬荤讲璐告槗鎸佺画鍙戝睍2024骞寸珛娉�...</p> <p>鍥藉鍖荤枟淇濋殰灞�鍔炲叕瀹ゅ叧浜庡彂甯冪鐞�... </p> --> - </view> - <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/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/i04.png" class="more" alt="" @click="goMyCompany('00')"/> - <!-- <u-button @click="goMyCompany('01')">鎴戞槸鎵ф硶浜哄憳</u-button> + </view> + <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/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/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> - </view> - <view class="msgbox"> - <view class="tit"> - <view class="t"> - 淇℃伅鍏ず - </view> - <view class="m" @click="more2()"> - 鏌ユ洿澶�> - </view> - </view> - <view class="item" v-for="(item,index) in list2"> - <img src="/static/i05.png" class="img" alt="" /> - <view class="right"> - <view class="name"> - {{item.companyName}} - </view> - <view class="box"> - <view class="l"> - <p>鎵ф硶鍗曚綅锛歿{item.executeDeptName}}</p> - <p>鎵ф硶鏃堕棿锛歿{item.executeTime}}</p> - </view> - <view class="r" @click="kankna(item.orderId)"> - 鍘绘煡鐪� - </view> - </view> - </view> - </view> - <!-- <view class="item"> + </view> + <view class="login-news" @click="goLogin"> + <image src="/static/index-1.png" mode="widthFix"></image> + </view> + <view class="msgbox"> + <view class="tit"> + <view class="t"> + 淇℃伅鍏ず + </view> + <view class="m" @click="more2()"> + 鏌ユ洿澶�> + </view> + </view> + <view class="item" v-for="(item,index) in list2"> + <image src="/static/i05.png" class="img" alt="" /> + <view class="right"> + <view class="name"> + {{item.companyName}} + </view> + <view class="box"> + <view class="l"> + <p>鎵ф硶鍗曚綅锛歿{item.executeDeptName}}</p> + <p>鎵ф硶鏃堕棿锛歿{item.executeTime}}</p> + </view> + <view class="r" @click="kankna(item.orderId)"> + 鍘绘煡鐪� + </view> + </view> + </view> + </view> + <!-- <view class="item"> <img src="/static/i05.png" class="img" alt="" /> <view class="right"> <view class="name"> @@ -117,219 +119,247 @@ </view> </view> </view> --> - </view> - <view style="height: 30rpx;"></view> - </view> + </view> + <view style="height: 30rpx;"></view> + </view> </template> <script> - import { docList,showList } from '@/api/index.js' - - // 00钀ュ晢鍔�,01鎵ф硶,02浼佷笟 鍖哄垎涓嶅悓鐨勭櫥闄嗛〉闈� - export default { - onLoad() { - - }, - onShow() { - this.getInfo() - const value = uni.getStorageSync("userInfo") - const sessionToken = uni.getStorageSync('sessionToken') - if(sessionToken && value && value.userType) { - const qiyeData = uni.getStorageSync('qiyedata') - if(value.userType == '02') { - uni.reLaunch({ - url:`/qiye/qiyeIndex/qiyeIndex?id=${qiyeData.deptId}` - }) - } else if(value.userType == '01'){ - uni.reLaunch({ - url:`/policy/policyIndex/policyIndex` - }) - } else { - uni.reLaunch({ - url:`/policy/policyIndex/policyIndex` - }) - } - } - }, - data() { - return { - list1:[], - list2:[], - } - }, - methods: { - kankna(id){ - uni.navigateTo({ - url: `/pages/message/details?id=${id}` - }) - }, - more1(){ - uni.navigateTo({ - url: `/pages/hqzc/list` - }) - }, - more2(){ - uni.navigateTo({ - url: `/pages/message/list` - }) - }, - getInfo() { - 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){ - data[i].docTitle = data[i].docTitle.slice(0, 17) + '...' - } - } - this.list1 = data - }) - showList({pageNum:1,pageSize:10}).then(val =>{ - //console.log(val.data.rows) - this.list2 = val.data.rows - }) - }, - goMyCompany(item) { - uni.navigateTo({ - url: `/pages/companyLogin/companyLogin?code=${item}` - }) - }, - goLogin() { - uni.scanCode({ - success: (val) =>{ - uni.navigateTo({ - url: `/pages/visitiorRegis/visitiorRegis?value=${val.result}` - }) - } - }) - } - } - }; + import { + docList, + showList + } from '@/api/index.js' + + // 00钀ュ晢鍔�,01鎵ф硶,02浼佷笟 鍖哄垎涓嶅悓鐨勭櫥闄嗛〉闈� + export default { + onLoad() { + + }, + onShow() { + this.getInfo() + const value = uni.getStorageSync("userInfo") + const sessionToken = uni.getStorageSync('sessionToken') + if (sessionToken && value && value.userType) { + const qiyeData = uni.getStorageSync('qiyedata') + if (value.userType == '02') { + uni.reLaunch({ + url: `/qiye/qiyeIndex/qiyeIndex?id=${qiyeData.deptId}` + }) + } else if (value.userType == '01') { + uni.reLaunch({ + url: `/policy/policyIndex/policyIndex` + }) + } else { + uni.reLaunch({ + url: `/policy/policyIndex/policyIndex` + }) + } + } + }, + data() { + return { + list1: [], + list2: [], + } + }, + methods: { + kankna(id) { + uni.navigateTo({ + url: `/pages/message/details?id=${id}` + }) + }, + more1() { + uni.navigateTo({ + url: `/pages/hqzc/list` + }) + }, + more2() { + uni.navigateTo({ + url: `/pages/message/list` + }) + }, + getInfo() { + 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) { + data[i].docTitle = data[i].docTitle.slice(0, 17) + '...' + } + } + this.list1 = data + }) + showList({ + pageNum: 1, + pageSize: 10 + }).then(val => { + //console.log(val.data.rows) + this.list2 = val.data.rows + }) + }, + goMyCompany(item) { + uni.navigateTo({ + url: `/pages/companyLogin/companyLogin?code=${item}` + }) + }, + goLogin() { + uni.scanCode({ + success: (val) => { + uni.navigateTo({ + url: `/pages/visitiorRegis/visitiorRegis?value=${val.result}` + }) + } + }) + } + } + }; </script> <style> - page{ - background: #F7F7F7; - } + page { + background: #F7F7F7; + } </style> <style lang="scss" scoped> + .hqzc { + position: absolute; + border-radius: 5px; + background: #fff; + display: flex; + width: calc(100vw - 64rpx); + align-items: center; + left: 32rpx; + top: 500rpx; + padding: 24rpx; + box-sizing: border-box; - .hqzc{ - position: absolute; - border-radius: 5px; - background: #fff; - display: flex; - width: calc(100vw - 64rpx); - align-items: center; - left: 32rpx; - top: 500rpx; - padding: 24rpx; - box-sizing: border-box; - - .line{ - width: 2rpx; - height: 50rpx; - background: #f1f1f1; - margin-right: 18rpx; - } - .img{ - width: 76rpx; - height: 76rpx; - margin-right: 18rpx; - } - .more{ - width: 28rpx; - height: 28rpx; - } - .font{ - font-size: 26rpx; - color: #4A4E60; - margin-right: 50rpx; - width: 450rpx; - // text-align: center; - 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; - line-height: 64rpx; - border-radius: 5px; - border: 1px solid #ABD2FF; - background: #F0F8FF; - color: #1171e0; - text-align: center; - font-size: 30rpx; - } - } - } - } - .item:last-child{ - border: none; - padding-bottom: 0; - } + .line { + width: 2rpx; + height: 50rpx; + background: #f1f1f1; + margin-right: 18rpx; + } - } - .head{ - width: 100%; - height: 518rpx; - } - .login-news{ - margin: 20rpx 32rpx; - image{ - width: 100%; - } - } + .img { + width: 76rpx; + height: 76rpx; + margin-right: 18rpx; + } + + .more { + width: 28rpx; + height: 28rpx; + } + + .font { + font-size: 26rpx; + color: #4A4E60; + margin-right: 50rpx; + width: 450rpx; + // text-align: center; + 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; + line-height: 64rpx; + border-radius: 5px; + border: 1px solid #ABD2FF; + background: #F0F8FF; + color: #1171e0; + text-align: center; + font-size: 30rpx; + } + } + } + } + + .item:last-child { + border: none; + padding-bottom: 0; + } + + } + + .head { + width: 100%; + height: 518rpx; + } + + .login-news { + margin: 20rpx 32rpx; + + image { + width: 100%; + } + } </style> \ No newline at end of file diff --git a/policy/dataLook/dataLook.vue b/policy/dataLook/dataLook.vue index 4e4efc1..579103d 100644 --- a/policy/dataLook/dataLook.vue +++ b/policy/dataLook/dataLook.vue @@ -1,344 +1,344 @@ <template> - <view> - <!-- <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true" > + <view> + <!-- <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true" > <template slot="center"> <view style="color: white;">鏁版嵁鐪嬫澘</view> </template> </u-navbar> --> - <view class="donw-box"></view> - <view class="page-main"> - <view class="box"> - <view class="title"> - <text>鍩虹淇℃伅</text> - </view> - <view class="grid-box"> - <view class="grid-item"> - <view class="label">浼佷笟鎬绘暟</view> - <view>{{infoData.companyNum || 0}}</view> - </view> - <view class="grid-item"> - <view class="label">鎵ф硶鍗曚綅</view> - <view>{{infoData.enforceDeptNum || 0}}</view> - </view> - <view class="grid-item"> - <view class="label">鎵ф硶浜哄憳</view> - <view>{{infoData.enforceUserNum || 0}}</view> - </view> - <view class="grid-item"> - <view class="label">鎵ф硶鐢宠</view> - <view>{{infoData.enforceOrderNum || 0}}</view> - </view> - <view class="grid-item"> - <view class="label">宸插鎵�</view> - <view>{{infoData.enforceOrderCheckedNum || 0}}</view> - </view> - <view class="grid-item"> - <view class="label">宸茬粨鏉�</view> - <view>{{infoData.enforceOrderCompleteNum || 0}}</view> - </view> - </view> - </view> - <view class="box"> - <view class="title set-flex-content-between set-flex"> - <text>鎵ф硶鍗曚綅鎵ф硶娆℃暟</text> - <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="progress-box" style="margin-top: 20rpx;"> - <!-- <qiun-data-charts v-if="!show" key="11" type="bar" + <view class="donw-box"></view> + <view class="page-main"> + <view class="box"> + <view class="title"> + <text>鍩虹淇℃伅</text> + </view> + <view class="grid-box"> + <view class="grid-item"> + <view class="label">浼佷笟鎬绘暟</view> + <view>{{infoData.companyNum || 0}}</view> + </view> + <view class="grid-item"> + <view class="label">鎵ф硶鍗曚綅</view> + <view>{{infoData.enforceDeptNum || 0}}</view> + </view> + <view class="grid-item"> + <view class="label">鎵ф硶浜哄憳</view> + <view>{{infoData.enforceUserNum || 0}}</view> + </view> + <view class="grid-item"> + <view class="label">鎵ф硶鐢宠</view> + <view>{{infoData.enforceOrderNum || 0}}</view> + </view> + <view class="grid-item"> + <view class="label">宸插鎵�</view> + <view>{{infoData.enforceOrderCheckedNum || 0}}</view> + </view> + <view class="grid-item"> + <view class="label">宸茬粨鏉�</view> + <view>{{infoData.enforceOrderCompleteNum || 0}}</view> + </view> + </view> + </view> + <view class="box"> + <view class="title set-flex-content-between set-flex"> + <text>鎵ф硶鍗曚綅鎵ф硶娆℃暟</text> + <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="progress-box" style="margin-top: 20rpx;"> + <!-- <qiun-data-charts v-if="!show" key="11" type="bar" :opts="opts" :chartData="chartData" /> --> - <view v-for="(item,index) in likeData" style="margin-bottom: 20rpx;" class="set-flex-progress"> - <view class="name">{{item.k}}</view> - <view class="progress"> - <u-line-progress activeColor="#1890FF" :percentage="item.progress" height="20"> - <template slot="default"> - {{item.v}} - </template> - </u-line-progress> - </view> - </view> - <!-- <echarts ref="echarts" :option="option" canvasId="echarts"></echarts> --> - </view> - </view> - </view> - <view class="box"> - <view class="title set-flex-content-between set-flex"> - <text>浼佷笟琚墽娉曟鏁版帓琛�</text> - <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="list-box"> - <view class="list-item" v-for="(item,index) in listData" :key="index"> - <view class="width-set"> - <image src="/static/policy/rank1.png" mode="widthFix" v-if="index == 0"></image> - <image src="/static/policy/rank2.png" mode="widthFix" v-if="index == 1"></image> - <image src="/static/policy/rank3.png" mode="widthFix" v-if="index == 2"></image> - <text class="set-index" style="margin-right: 36rpx;color: #7E8596;" v-if="index > 2">{{index+1}}</text> - <text class="company u-line-1" style="color: #202D44;">{{item.k}}</text> - </view> - <text class="value" :class="{origin: index <= 2}">{{item.v}}</text> - </view> - <view class="look-more" @click="lookMore" v-if="showMore"> - <text>鏌ョ湅鏇村</text> - <u-icon name="arrow-right" color="#7E8596"></u-icon> - </view> - </view> - </view> - </view> - <view class="box"> - <view class="title set-flex-content-between set-flex"> - <text>鎵ф硶绫诲瀷鍗犳瘮</text> - <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="progress-box"> - <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> - </view> + <view v-for="(item,index) in likeData" style="margin-bottom: 20rpx;" class="set-flex-progress"> + <view class="name">{{item.k}}</view> + <view class="progress"> + <u-line-progress activeColor="#1890FF" :percentage="item.progress" height="20"> + <template slot="default"> + {{item.v}} + </template> + </u-line-progress> + </view> + </view> + <!-- <echarts ref="echarts" :option="option" canvasId="echarts"></echarts> --> + </view> + </view> + </view> + <view class="box"> + <view class="title set-flex-content-between set-flex"> + <text>浼佷笟琚墽娉曟鏁版帓琛�</text> + <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="list-box"> + <view class="list-item" v-for="(item,index) in listData" :key="index"> + <view class="width-set"> + <image src="/static/policy/rank1.png" mode="widthFix" v-if="index == 0"></image> + <image src="/static/policy/rank2.png" mode="widthFix" v-if="index == 1"></image> + <image src="/static/policy/rank3.png" mode="widthFix" v-if="index == 2"></image> + <text class="set-index" style="margin-right: 36rpx;color: #7E8596;" v-if="index > 2">{{index+1}}</text> + <text class="company u-line-1" style="color: #202D44;">{{item.k}}</text> + </view> + <text class="value" :class="{origin: index <= 2}">{{item.v}}</text> + </view> + <view class="look-more" @click="lookMore" v-if="showMore"> + <text>鏌ョ湅鏇村</text> + <u-icon name="arrow-right" color="#7E8596"></u-icon> + </view> + </view> + </view> + </view> + <view class="box"> + <view class="title set-flex-content-between set-flex"> + <text>鎵ф硶绫诲瀷鍗犳瘮</text> + <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="progress-box"> + <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> + </view> </template> <script> - import { - getTotalInfo, - getDeptCount, - getCompanyCount, - getEnforceTypeCount - } from '@/api/data.js' - - export default { - data() { - return { - likeData: {}, - option: {}, - typeItem: '', - currentValue: '', - show: false, - infoData: [], - listData: [ - ], - chartData: {}, - pageQuerm: { - pageNum: 1, - pageSize: 10, - total: 1, - beginTimeStr: '', - endTimeStr: '', - }, - originData: [], - showMore: true, - //鎮ㄥ彲浠ラ�氳繃淇敼 config-ucharts.js 鏂囦欢涓笅鏍囦负 ['bar'] 鐨勮妭鐐规潵閰嶇疆鍏ㄥ眬榛樿鍙傛暟锛屽閮芥槸榛樿鍙傛暟锛屾澶勫彲浠ヤ笉浼� opts 銆傚疄闄呭簲鐢ㄨ繃绋嬩腑 opts 鍙渶浼犲叆涓庡叏灞�榛樿鍙傛暟涓笉涓�鑷寸殑銆愭煇涓�涓睘鎬с�戝嵆鍙疄鐜板悓绫诲瀷鐨勫浘琛ㄦ樉绀轰笉鍚岀殑鏍峰紡锛岃揪鍒伴〉闈㈢畝娲佺殑闇�姹傘�� - opts: { - color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", - "#ea7ccc" - ], - padding: [15, 30, 0, 5], - enableScroll: false, - legend: { - show: false, - }, - xAxis: { - boundaryGap: "justify", - disableGrid: false, - min: 0, - axisLine: false, - gridColor: "#ededed", - }, - yAxis: { - gridColor: "#ededed", - }, - extra: { - bar: { - type: "group", - width: 15, - meterBorde: 1, - meterFillColor: "#FFFFFF", - activeBgColor: "#000000", - activeBgOpacity: 0.08, - linearType: "custom", - barBorderCircle: true, - seriesGap: 20, - categoryGap: 20 - } - } - }, - chartData1: {}, - tooltipCustom: {}, - opts1: { - color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"], - padding: [5,5,5,5], - enableScroll: false, - legend: { - position: "bottom", - lineHeight: 25, - width: '100%', // 璁剧疆鍥句緥瀹藉害 - // itemWidth: 25, // 璁剧疆鍥句緥鏍囪瀹藉害 - itemGap: 10, // 璁剧疆鍥句緥椤逛箣闂寸殑闂撮殧 - float: 'left' - }, - extra: { - pie: { - activeOpacity: 0.5, - activeRadius: 10, - offsetAngle: 0, - labelWidth: 10, - border: false, - borderWidth: 3, - borderColor: "#FFFFFF" - } - } - } - } - }, - onReady() { - // console.log(new Date().getMonth() + 1, new Date().getDate()) - let date = new Date() - date.setMonth(date.getMonth() - 1); // 鍑忓幓1涓湀 - 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.getTotalInfo() - this.getCompanyCount() - this.getServerData(); - this.getServerData1() - - }, - 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[`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.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(); - const month = date.getMonth() + 1; // 鏈堜唤浠�0寮�濮嬭绠楋紝闇�瑕佸姞1 - const lastDay = new Date(year, month, 0) - - this.pageQuerm.endTime = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd') + " " + "23:59:59" - this.pageQuerm[`endTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd') - } - - if(this.typeItem == 1) { - this.getServerData() - } - if(this.typeItem == 2) { - this.getCompanyCount() - } - if(this.typeItem == 3) { - this.getServerData1() - } - this.show = false - }, - openDate(item) { - this.typeItem = item - this.currentValue = new Date().getTime() - this.show = true - }, - lookMore() { - this.pageQuerm.pageNum++ - const value = this.pageQuerm.pageNum * this.pageQuerm.pageSize - const data = this.originData.slice((this.pageQuerm.pageNum - 1) * this.pageQuerm.pageSize, value) - this.listData.push(...data) - if(value >= this.pageQuerm.total) { - this.showMore = false - } - }, - // 鑾峰彇鎵ф硶淇℃伅 - getTotalInfo() { - getTotalInfo().then(val => { - // console.log(val) - this.infoData = val.data.data - }) - }, - // 鎵ф硶娆℃暟閮ㄩ棬 - getServerData() { - getDeptCount(this.pageQuerm).then(val => { - - - const value = val.data.data - const label = value.map(item => { - return item.k - }) - const max = Math.max(value) - this.likeData = val.data.data.map(item => { - const progress = (item / max).toFixed(2) - return { - ...item, - progress - } - }) - const data = value.map(item => item.v) - let res = { - categories: label, - series: [{ - name: "鎵ф硶娆℃暟", - data: data, - - }] - }; - this.chartData = JSON.parse(JSON.stringify(res)); - }) + import { + getTotalInfo, + getDeptCount, + getCompanyCount, + getEnforceTypeCount + } from '@/api/data.js' - }, - // 浼佷笟琚墽娉曟鏁版帓琛� - getCompanyCount() { - getCompanyCount(this.pageQuerm).then(val => { - this.listData = val.data.data.slice(0, this.pageQuerm.pageSize) - this.originData = val.data.data - this.pageQuerm.total = val.data.data.length - if(this.pageQuerm.total <= this.pageQuerm.pageSize) { - this.showMore = false - } - }) - }, - - getServerData1() { - getEnforceTypeCount(this.pageQuerm).then(val => { - const data = val.data.data.map(item => { - return { - name: item.k, - value: item.v, - } - }) - let res = { - series: [{ - data: data, - }] - }; - this.chartData1 = JSON.parse(JSON.stringify(res)); - - }) - }, - } - } + export default { + data() { + return { + likeData: {}, + option: {}, + typeItem: '', + currentValue: '', + show: false, + infoData: [], + listData: [], + chartData: {}, + pageQuerm: { + pageNum: 1, + pageSize: 10, + total: 1, + beginTimeStr: '', + endTimeStr: '', + }, + originData: [], + showMore: true, + //鎮ㄥ彲浠ラ�氳繃淇敼 config-ucharts.js 鏂囦欢涓笅鏍囦负 ['bar'] 鐨勮妭鐐规潵閰嶇疆鍏ㄥ眬榛樿鍙傛暟锛屽閮芥槸榛樿鍙傛暟锛屾澶勫彲浠ヤ笉浼� opts 銆傚疄闄呭簲鐢ㄨ繃绋嬩腑 opts 鍙渶浼犲叆涓庡叏灞�榛樿鍙傛暟涓笉涓�鑷寸殑銆愭煇涓�涓睘鎬с�戝嵆鍙疄鐜板悓绫诲瀷鐨勫浘琛ㄦ樉绀轰笉鍚岀殑鏍峰紡锛岃揪鍒伴〉闈㈢畝娲佺殑闇�姹傘�� + opts: { + color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", + "#ea7ccc" + ], + padding: [15, 30, 0, 5], + enableScroll: false, + legend: { + show: false, + }, + xAxis: { + boundaryGap: "justify", + disableGrid: false, + min: 0, + axisLine: false, + gridColor: "#ededed", + }, + yAxis: { + gridColor: "#ededed", + }, + extra: { + bar: { + type: "group", + width: 15, + meterBorde: 1, + meterFillColor: "#FFFFFF", + activeBgColor: "#000000", + activeBgOpacity: 0.08, + linearType: "custom", + barBorderCircle: true, + seriesGap: 20, + categoryGap: 20 + } + } + }, + chartData1: {}, + tooltipCustom: {}, + opts1: { + color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"], + padding: [5, 5, 5, 5], + enableScroll: false, + legend: { + position: "bottom", + lineHeight: 25, + width: '100%', // 璁剧疆鍥句緥瀹藉害 + // itemWidth: 25, // 璁剧疆鍥句緥鏍囪瀹藉害 + itemGap: 10, // 璁剧疆鍥句緥椤逛箣闂寸殑闂撮殧 + float: 'left' + }, + extra: { + pie: { + activeOpacity: 0.5, + activeRadius: 10, + offsetAngle: 0, + labelWidth: 10, + border: false, + borderWidth: 3, + borderColor: "#FFFFFF" + } + } + } + } + }, + onReady() { + // console.log(new Date().getMonth() + 1, new Date().getDate()) + let date = new Date() + date.setMonth(date.getMonth() - 1); // 鍑忓幓1涓湀 + 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.getTotalInfo() + this.getCompanyCount() + this.getServerData(); + this.getServerData1() + + }, + 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[`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.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(); + const month = date.getMonth() + 1; // 鏈堜唤浠�0寮�濮嬭绠楋紝闇�瑕佸姞1 + const lastDay = new Date(year, month, 0) + + this.pageQuerm.endTime = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd') + " " + "23:59:59" + this.pageQuerm[`endTimeStr${this.typeItem}`] = this.$u.timeFormat(new Date(lastDay), 'yyyy-mm-dd') + } + + if (this.typeItem == 1) { + this.getServerData() + } + if (this.typeItem == 2) { + this.getCompanyCount() + } + if (this.typeItem == 3) { + this.getServerData1() + } + this.show = false + }, + openDate(item) { + this.typeItem = item + this.currentValue = new Date().getTime() + this.show = true + }, + lookMore() { + this.pageQuerm.pageNum++ + const value = this.pageQuerm.pageNum * this.pageQuerm.pageSize + const data = this.originData.slice((this.pageQuerm.pageNum - 1) * this.pageQuerm.pageSize, value) + this.listData.push(...data) + if (value >= this.pageQuerm.total) { + this.showMore = false + } + }, + // 鑾峰彇鎵ф硶淇℃伅 + getTotalInfo() { + getTotalInfo().then(val => { + // console.log(val) + this.infoData = val.data.data + }) + }, + // 鎵ф硶娆℃暟閮ㄩ棬 + getServerData() { + getDeptCount(this.pageQuerm).then(val => { + + + const value = val.data.data + const label = value.map(item => { + return item.k + }) + const max = Math.max(value) + this.likeData = val.data.data.map(item => { + const progress = (item / max).toFixed(2) + return { + ...item, + progress + } + }) + const data = value.map(item => item.v) + let res = { + categories: label, + series: [{ + name: "鎵ф硶娆℃暟", + data: data, + + }] + }; + this.chartData = JSON.parse(JSON.stringify(res)); + }) + + }, + // 浼佷笟琚墽娉曟鏁版帓琛� + getCompanyCount() { + getCompanyCount(this.pageQuerm).then(val => { + this.listData = val.data.data.slice(0, this.pageQuerm.pageSize) + this.originData = val.data.data + this.pageQuerm.total = val.data.data.length + if (this.pageQuerm.total <= this.pageQuerm.pageSize) { + this.showMore = false + } + }) + }, + + getServerData1() { + getEnforceTypeCount(this.pageQuerm).then(val => { + const data = val.data.data.map(item => { + return { + name: item.k, + value: item.v, + } + }) + let res = { + series: [{ + data: data, + }] + }; + this.chartData1 = JSON.parse(JSON.stringify(res)); + + }) + }, + } + } </script> <style> - page { - background-color: #F4F4F4FF; - } + page { + background-color: #F4F4F4FF; + } </style> <style lang="scss" scoped> - @import "./dataLook.scss"; + @import "./dataLook.scss"; </style> \ No newline at end of file diff --git a/policy/policyApply/policyApply.vue b/policy/policyApply/policyApply.vue index cb692c0..e81b0d1 100644 --- a/policy/policyApply/policyApply.vue +++ b/policy/policyApply/policyApply.vue @@ -1,94 +1,95 @@ <template> - <view class="page-box"> - <view class="content-box"> - <view class="form"> - <view class="form-item"> - <view class="form-label require"> - 鎵ф硶涓婚 - </view> - <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.enforceReason"/> - </view> - <view class="form-item"> - <view class="form-label require"> - 鎵ф硶瀵硅薄 - </view> - <view class="input" @click="search"> - <input type="text" style="width: 80%;" disabled placeholder="璇烽�夋嫨" :value="form.companyName"/> - <u-icon name="arrow-right"></u-icon> - <!-- <u-text text='鎼滅储' type="primary" style="width: 20%;" @click="search"></u-text> --> - </view> - </view> - <view class="form-item"> - <view class="form-label require"> - 鎵ф硶鏃堕棿 - </view> - <view class="input" @click="showTimeFun"> - <input type="text" placeholder="璇烽�夋嫨" disabled v-model.trim="form.planTimeStr"/> - <u-icon name="arrow-right"></u-icon> - </view> - </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/> - <u-icon name="arrow-right"></u-icon> - </view> - </view> - <view class="form-item last"> - <view class="form-label require"> - 鎵ф硶鍐呭 - </view> - <view class="back"> - <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="璇疯緭鍏�" count maxlength="500"></u--textarea> - </view> - </view> - </view> - </view> - <view class="content-box"> - <view class="form "> - <view class="form-item"> - <view class="form-label"> - 鎵ф硶浜哄憳 - </view> - <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.applyUser" disabled/> - </view> - <view class="form-item"> - <view class="form-label"> - 鎵ф硶閮ㄩ棬 - </view> - <!-- <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.applyDeptName" disabled/> --> - <view style="width: 60%;">{{form.applyDeptName}}</view> - </view> - <view class="form-item sui" style="align-items: flex-start;" @click="openPer"> - <view class="form-label "> - 闅忚浜哄憳 - </view> - <view> - <view style="color: #a2a2a2;" class="placeholder" v-if="!form.peers.length">璇烽�夋嫨</view> - <view v-else> - <view style="margin-bottom: 20rpx;" v-for="(item,index) in form.peers" :key="index"> - {{item.peerUser}}({{item.peerDeptName}}) - </view> - </view> - </view> - <!-- <u-textarea border="none" disabled style="padding: 0;" placeholder="璇烽�夋嫨" ></u-textarea> --> - </view> - <view class="form-item down-2"> - <view class="form-label"> - 鏄惁閫氱煡浼佷笟 - </view> - <u-switch v-model="form.isNoticeCompany" :activeValue="1" :inactiveValue="0"></u-switch> - </view> - - </view> - </view> - <view class="down-options"> - <view class="button record" @click="applyRecord">鐢宠璁板綍</view> - <view class="button submit" @click="submitApply">鎻愪氦鐢宠</view> - </view> - <!-- <u-form label-position="top" label-width="120px"> + <view class="page-box"> + <view class="content-box"> + <view class="form"> + <view class="form-item"> + <view class="form-label require"> + 鎵ф硶涓婚 + </view> + <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.enforceReason" /> + </view> + <view class="form-item"> + <view class="form-label require"> + 鎵ф硶瀵硅薄 + </view> + <view class="input" @click="search"> + <input type="text" style="width: 80%;" disabled placeholder="璇烽�夋嫨" :value="form.companyName" /> + <u-icon name="arrow-right"></u-icon> + <!-- <u-text text='鎼滅储' type="primary" style="width: 20%;" @click="search"></u-text> --> + </view> + </view> + <view class="form-item"> + <view class="form-label require"> + 鎵ф硶鏃堕棿 + </view> + <view class="input" @click="showTimeFun"> + <input type="text" placeholder="璇烽�夋嫨" disabled v-model.trim="form.planTimeStr" /> + <u-icon name="arrow-right"></u-icon> + </view> + </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 /> + <u-icon name="arrow-right"></u-icon> + </view> + </view> + <view class="form-item last"> + <view class="form-label require"> + 鎵ф硶鍐呭 + </view> + <view class="back"> + <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="璇疯緭鍏�" count + maxlength="500"></u--textarea> + </view> + </view> + </view> + </view> + <view class="content-box"> + <view class="form "> + <view class="form-item"> + <view class="form-label"> + 鎵ф硶浜哄憳 + </view> + <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.applyUser" disabled /> + </view> + <view class="form-item"> + <view class="form-label"> + 鎵ф硶閮ㄩ棬 + </view> + <!-- <input type="text" placeholder="璇疯緭鍏�" v-model.trim="form.applyDeptName" disabled/> --> + <view style="width: 60%;">{{form.applyDeptName}}</view> + </view> + <view class="form-item sui" style="align-items: flex-start;" @click="openPer"> + <view class="form-label "> + 闅忚浜哄憳 + </view> + <view> + <view style="color: #a2a2a2;" class="placeholder" v-if="!form.peers.length">璇烽�夋嫨</view> + <view v-else> + <view style="margin-bottom: 20rpx;" v-for="(item,index) in form.peers" :key="index"> + {{item.peerUser}}({{item.peerDeptName}}) + </view> + </view> + </view> + <!-- <u-textarea border="none" disabled style="padding: 0;" placeholder="璇烽�夋嫨" ></u-textarea> --> + </view> + <view class="form-item down-2"> + <view class="form-label"> + 鏄惁閫氱煡浼佷笟 + </view> + <u-switch v-model="form.isNoticeCompany" :activeValue="1" :inactiveValue="0"></u-switch> + </view> + + </view> + </view> + <view class="down-options"> + <view class="button record" @click="applyRecord">鐢宠璁板綍</view> + <view class="button submit" @click="submitApply">鎻愪氦鐢宠</view> + </view> + <!-- <u-form label-position="top" label-width="120px"> <u-form-item label="鎵ф硶涓婚"> <u-input placeholder="璇疯緭鍏�" v-model="form.enforceReason"></u-input> </u-form-item> @@ -121,359 +122,378 @@ <u-switch v-model="form.isNoticeCompany" :activeValue="1" :inactiveValue="0"></u-switch> </u-form-item> </u-form> --> -<!-- <u-button @click="submitApply">鎻愪氦鐢宠</u-button> + <!-- <u-button @click="submitApply">鎻愪氦鐢宠</u-button> <u-button @click="applyRecord">鐢宠璁板綍</u-button> --> - <!-- <u-picker :show="show" @close="show = false" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"> + <!-- <u-picker :show="show" @close="show = false" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"> </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> + <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 perPage from './perPage' - import perPicker from './perPicker' - import YtDateTimePicker from "uni_modules/yt-dateTimePicker/components/yt-dateTimePicker/yt-dateTimePicker.vue" - export default { - components: { - YtDateTimePicker, - perPage, - perPicker - }, - data() { - return { - currentTime: "", - form: { - applyUser: '', - applyDeptName: '', - enforceType: 1, - isNoticeCompany: 0, - // regionReason: 0, - planTimeStr: '', - peers: [], - orderStatus: 1, - enforceContent: "", - companyName: "" - }, - show: false, - columns: [], - showTime: false, - columnsType: [], - showType: false, - minDate: '', - year: '', - endYear: '', - timeInit: '', - list: [], - startTime: "", - month: '' - } - }, - onLoad() { - this.year = new Date().getFullYear() - this.month = new Date().getMonth() + 1 - this.endYear = this.year + 5 - this.minDate = new Date().valueOf() - this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') - this.startTime =this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') - this.getInfo() - this.getDicts() - this.enforceList() - }, - onShow() { - - }, - methods: { - enforceList() { - enforceList().then(val => { - this.list = val.data.data - }) - }, - getDicts() { - getDicts('enforce_type').then(val =>{ - this.columnsType = [val.data.data] - }) - }, - getInfo() { - getInfo().then(val => { - const value = val.data.data - // this.form.applyName = value.nickName - this.form.applyUser = value.nickName - this.form.applyId = value.userId - this.form.applyDeptName = value.dept.deptName - this.form.applyDeptId = value.dept.deptId - this.form.applyPhone = value.phonenumber - }) - }, - timeFilter(mode, options) { - let d = new Date() - // console.log(d.getFullYear()); - if(mode === 'year'){ - return options.filter((option)=>option>= d.getFullYear()) - } - if(mode === 'month'){ - return options.filter((option)=>option>= d.getMonth()+1) - } - if (mode === 'minute') { - return options.filter((option) => option === '00' || option === '30'); - } - return options; - }, - authFile() { - if(!this.form.enforceReason || !this.form.enforceReason.replace(/\s+/g, "")){ - return '璇峰~鍐欎富棰�' - } - if(!this.form.companyName || !this.form.companyName.replace(/\s+/g, "")){ - return '璇烽�夋嫨鎵ф硶瀵硅薄' - } - // if(!this.form.companyId) { - // return '璇风偣鍑绘悳绱㈢‘璁ゆ墽娉曞璞�' - // } - if(!this.form.planTimeStr) { - return '璇峰~鍐欐墽娉曟椂闂�' - } - if(!this.form.enforceTypeName){ - return '璇烽�夋嫨鎵ф硶绫诲瀷' - } - console.log(!this.form.enforceContent.replace(/\s+/g, "")) - if(!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) { - return '璇峰~鍐欐墽娉曞唴瀹�' - } - // if(!this.form.peers.length){ - // return '璇烽�夋嫨闅忚浜哄憳' - // } - return '' - }, - submitApply(){ - const res = this.authFile() - if(res){ - uni.showToast({ - title: res, - icon: 'none' - }) - return - } - orderAdd(this.form).then(val => { - if(val.data.code == 200) { - uni.showToast({ - title: '鎻愪氦鎴愬姛', - icon: 'none' - }) - setTimeout(() => { - uni.navigateBack() - }, 500) - } - }) - }, - applyRecord() { - uni.navigateTo({ - url:`/policy/applyRecord/applyRecord` - }) - }, - search() { - // companyList({companyName: this.form.companyName}).then(val => { - // if(val.data.code == 200){ - // if(!val.data.rows.length || !val.data.rows){ - // uni.showToast({ - // title: '娌℃湁绗﹀悎鐨勬暟鎹紝璇锋鏌ヨ緭鍏ョ殑鎵ф硶瀵硅薄', - // icon: 'none', - // duration: 3000 - // }) - // } else { - - // } - - // } - // }) - - this.$refs.perPicker.open() - }, - confirmSearch(e){ - let value = e - // const value = this.columns[0].find(item => item.companyName == e.value[0].companyName) - this.form.companyName = e.companyName - this.form.companyCode = value.companyCode - this.form.companyId = value.companyId - this.form.companyPhone = value.companyPhone - this.form.companyUser = value.companyUser - this.form.companyAddress = value.companyAddress - // console.log(this.form.companyName) - }, - setCompany(e) { - this.form.companyName = e - this.form.companyCode = '' - this.form.companyId = '' - this.form.companyPhone = '' - this.form.companyUser = '' - this.form.companyAddress = '' - }, - confirmTime(e) { - this.form.planTime = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00:00" - this.form.planTimeStr = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00" - this.timeInit = this.$u.timeFormat(new Date(this.form.planTimeStr), 'yyyy-mm-dd hh:MM') - }, - showTimeFun() { - // this.showTime = true - this.$refs.myPicker.show(); + 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" + export default { + components: { + YtDateTimePicker, + perPage, + perPicker + }, + data() { + return { + currentTime: "", + form: { + applyUser: '', + applyDeptName: '', + enforceType: 1, + isNoticeCompany: 0, + // regionReason: 0, + planTimeStr: '', + peers: [], + orderStatus: 1, + enforceContent: "", + companyName: "" + }, + show: false, + columns: [], + showTime: false, + columnsType: [], + showType: false, + minDate: '', + year: '', + endYear: '', + timeInit: '', + list: [], + startTime: "", + month: '' + } + }, + onLoad() { + this.year = new Date().getFullYear() + this.month = new Date().getMonth() + 1 + this.endYear = this.year + 5 + this.minDate = new Date().valueOf() + this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') + this.startTime = this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') + this.getInfo() + this.getDicts() + this.enforceList() + }, + onShow() { - }, - sheet(){ - - }, - confirmType(e){ - this.form.enforceType = e.value[0].dictCode - this.form.enforceTypeName = e.value[0].dictLabel - this.showType = false - }, - changeValue(e, e1) { - this.currentTime = e.value - }, - openPer() { - this.$refs.perpage.open(this.list) - }, - selectValue(value) { - value.forEach(val => { - this.form.peers.push(val) - }); - this.form.peers = this.uniqueArrJson(this.form.peers,'peerId') - }, - uniqueArrJson(arr,key) { - var newobj = {},newArr = []; - for(var i=0;i<arr.length;i++){ - var item = arr[i]; - if(!newobj[item[key]]){ - newobj[item[key]] = newArr.push(item); - } - } - return newArr; - } - } - } + }, + methods: { + enforceList() { + enforceList().then(val => { + this.list = val.data.data + }) + }, + getDicts() { + getDicts('enforce_type').then(val => { + this.columnsType = [val.data.data] + }) + }, + getInfo() { + getInfo().then(val => { + const value = val.data.data + // this.form.applyName = value.nickName + this.form.applyUser = value.nickName + this.form.applyId = value.userId + this.form.applyDeptName = value.dept.deptName + this.form.applyDeptId = value.dept.deptId + this.form.applyPhone = value.phonenumber + }) + }, + timeFilter(mode, options) { + let d = new Date() + // console.log(d.getFullYear()); + if (mode === 'year') { + return options.filter((option) => option >= d.getFullYear()) + } + if (mode === 'month') { + return options.filter((option) => option >= d.getMonth() + 1) + } + if (mode === 'minute') { + return options.filter((option) => option === '00' || option === '30'); + } + return options; + }, + authFile() { + if (!this.form.enforceReason || !this.form.enforceReason.replace(/\s+/g, "")) { + return '璇峰~鍐欎富棰�' + } + if (!this.form.companyName || !this.form.companyName.replace(/\s+/g, "")) { + return '璇烽�夋嫨鎵ф硶瀵硅薄' + } + // if(!this.form.companyId) { + // return '璇风偣鍑绘悳绱㈢‘璁ゆ墽娉曞璞�' + // } + if (!this.form.planTimeStr) { + return '璇峰~鍐欐墽娉曟椂闂�' + } + if (!this.form.enforceTypeName) { + return '璇烽�夋嫨鎵ф硶绫诲瀷' + } + console.log(!this.form.enforceContent.replace(/\s+/g, "")) + if (!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) { + return '璇峰~鍐欐墽娉曞唴瀹�' + } + // if(!this.form.peers.length){ + // return '璇烽�夋嫨闅忚浜哄憳' + // } + return '' + }, + submitApply() { + const res = this.authFile() + if (res) { + uni.showToast({ + title: res, + icon: 'none' + }) + return + } + orderAdd(this.form).then(val => { + if (val.data.code == 200) { + uni.showToast({ + title: '鎻愪氦鎴愬姛', + icon: 'none' + }) + setTimeout(() => { + uni.navigateBack() + }, 500) + } + }) + }, + applyRecord() { + uni.navigateTo({ + url: `/policy/applyRecord/applyRecord` + }) + }, + search() { + // companyList({companyName: this.form.companyName}).then(val => { + // if(val.data.code == 200){ + // if(!val.data.rows.length || !val.data.rows){ + // uni.showToast({ + // title: '娌℃湁绗﹀悎鐨勬暟鎹紝璇锋鏌ヨ緭鍏ョ殑鎵ф硶瀵硅薄', + // icon: 'none', + // duration: 3000 + // }) + // } else { + + // } + + // } + // }) + + this.$refs.perPicker.open() + }, + confirmSearch(e) { + let value = e + // const value = this.columns[0].find(item => item.companyName == e.value[0].companyName) + this.form.companyName = e.companyName + this.form.companyCode = value.companyCode + this.form.companyId = value.companyId + this.form.companyPhone = value.companyPhone + this.form.companyUser = value.companyUser + this.form.companyAddress = value.companyAddress + // console.log(this.form.companyName) + }, + setCompany(e) { + this.form.companyName = e + this.form.companyCode = '' + this.form.companyId = '' + this.form.companyPhone = '' + this.form.companyUser = '' + this.form.companyAddress = '' + }, + confirmTime(e) { + this.form.planTime = e.year + '-' + e.month + '-' + +e.day + ' ' + e.hour + ":" + "00:00" + this.form.planTimeStr = e.year + '-' + e.month + '-' + +e.day + ' ' + e.hour + ":" + "00" + this.timeInit = this.$u.timeFormat(new Date(this.form.planTimeStr), 'yyyy-mm-dd hh:MM') + }, + showTimeFun() { + // this.showTime = true + this.$refs.myPicker.show(); + + }, + sheet() { + + }, + confirmType(e) { + this.form.enforceType = e.value[0].dictCode + this.form.enforceTypeName = e.value[0].dictLabel + this.showType = false + }, + changeValue(e, e1) { + this.currentTime = e.value + }, + openPer() { + this.$refs.perpage.open(this.list) + }, + selectValue(value) { + value.forEach(val => { + this.form.peers.push(val) + }); + this.form.peers = this.uniqueArrJson(this.form.peers, 'peerId') + }, + uniqueArrJson(arr, key) { + var newobj = {}, + newArr = []; + for (var i = 0; i < arr.length; i++) { + var item = arr[i]; + if (!newobj[item[key]]) { + newobj[item[key]] = newArr.push(item); + } + } + return newArr; + } + } + } </script> <style> - page{ - background-color: #F4F4F4; - } - .sui .u-textarea{ - padding: 0 !important; - } + page { + background-color: #F4F4F4; + } + + .sui .u-textarea { + padding: 0 !important; + } </style> <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; - justify-content: flex-start; - align-items: center; - 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: '*'; - color: #FF7500; - } - } - - } - .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; - } - } - } - } - - } -} -.down-options{ - background-color: white; - position: fixed; - bottom: 0; - padding-bottom: 40rpx; - width: 100%; - padding: 22rpx 30rpx 40rpx; - z-index: 800; - display: flex; - justify-content: space-between; - align-items: center; - box-sizing: border-box; - .record{ - box-sizing: border-box; - border-radius: 20rpx; - border: 2rpx solid #ABD2FF; - background: #F0F8FF; - color: #1171E0; - font-size: 32rpx; - padding: 20rpx 30rpx; - width: 30%; - text-align: center; - } - .submit{ - border-radius: 20rpx; - border: 2rpx solid #1171E0; - background-color: #1171E0; - color: white; - width: 65%; - box-sizing: border-box; - padding: 20rpx 30rpx; - text-align: center; - } -} -.sui{ + .page-box { + padding-bottom: 140rpx; -} -::v-deep .u-checkbox-label--right > text{ - line-height: 54rpx !important; - margin-right: 15rpx; -} -</style> + .content-box { + margin: 20rpx 32rpx; + background-color: white; + padding: 24rpx; + border-radius: 10rpx; + } + + .form { + .form-item { + display: flex; + justify-content: flex-start; + align-items: center; + 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: '*'; + color: #FF7500; + } + } + + } + + .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; + } + } + } + } + + } + } + + .down-options { + background-color: white; + position: fixed; + bottom: 0; + padding-bottom: 40rpx; + width: 100%; + padding: 22rpx 30rpx 40rpx; + z-index: 800; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + + .record { + box-sizing: border-box; + border-radius: 20rpx; + border: 2rpx solid #ABD2FF; + background: #F0F8FF; + color: #1171E0; + font-size: 32rpx; + padding: 20rpx 30rpx; + width: 30%; + text-align: center; + } + + .submit { + border-radius: 20rpx; + border: 2rpx solid #1171E0; + background-color: #1171E0; + color: white; + width: 65%; + box-sizing: border-box; + padding: 20rpx 30rpx; + text-align: center; + } + } + + .sui {} + + ::v-deep .u-checkbox-label--right>text { + line-height: 54rpx !important; + margin-right: 15rpx; + } +</style> \ No newline at end of file diff --git a/policy/scodePage/scodePage.vue b/policy/scodePage/scodePage.vue index 9940bcd..a91626f 100644 --- a/policy/scodePage/scodePage.vue +++ b/policy/scodePage/scodePage.vue @@ -1,162 +1,166 @@ <template> - <view> - <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"> - <view class="code-hint"> - <template v-if="color == 'green'"> - <view> - <image src="/static/policy/success.png" mode="widthFix"></image> - <text>鎴愬姛-缁跨爜</text> - </view> - <view class="hint"> - 鍙姝や紒涓氳繘琛屾牳鏌� - </view> - </template> - <template v-if="color == 'red'"> - <view > - <image src="/static/policy/error.png" mode="widthFix"></image> - <text>澶辫触-绾㈢爜</text> - </view> - <view class="hint"> - 璇锋牳鏌ヤ紒涓氫俊鎭� - </view> - </template> - </view> - <!-- 浜岀淮鐮� --> - <view class="qrcode"> - <image src="/static/policy/qrcode-border.png" class="border" mode="widthFix"></image> - <image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image> - <view class="code-time"> - <text>鎵爜鏃堕棿锛�</text>{{$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss')}} - </view> - </view> - <view class="code"> - <view class="item"> - <text class="label">鎵ф硶浜哄憳</text> - <text class="value">{{userInfo.nickName}}</text> - </view> - <view class="write-border"></view> - <view class="item"> - <text class="label">鎵ф硶閮ㄩ棬</text> - <text class="value">{{userInfo.dept.deptName}}</text> - </view> - </view> - <view class="hint-text"> - 褰撳墠浼佷笟瀛樺湪<text>{{list.length}}</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔� - </view> - <!-- <view class="hint-text"> + <view> + <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"> + <view class="code-hint"> + <template v-if="color == 'green'"> + <view> + <image src="/static/policy/success.png" mode="widthFix"></image> + <text>鎴愬姛-缁跨爜</text> + </view> + <view class="hint"> + 鍙姝や紒涓氳繘琛屾牳鏌� + </view> + </template> + <template v-if="color == 'red'"> + <view> + <image src="/static/policy/error.png" mode="widthFix"></image> + <text>澶辫触-绾㈢爜</text> + </view> + <view class="hint"> + 璇锋牳鏌ヤ紒涓氫俊鎭� + </view> + </template> + </view> + <!-- 浜岀淮鐮� --> + <view class="qrcode"> + <image src="/static/policy/qrcode-border.png" class="border" mode="widthFix"></image> + <image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image> + <view class="code-time"> + <text>鎵爜鏃堕棿锛�</text>{{$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss')}} + </view> + </view> + <view class="code"> + <view class="item"> + <text class="label">鎵ф硶浜哄憳</text> + <text class="value">{{userInfo.nickName}}</text> + </view> + <view class="write-border"></view> + <view class="item"> + <text class="label">鎵ф硶閮ㄩ棬</text> + <text class="value">{{userInfo.dept.deptName}}</text> + </view> + </view> + <view class="hint-text"> + 褰撳墠浼佷笟瀛樺湪<text>{{list.length}}</text>鏉℃湭瀹屾垚鐨勬墽娉曚换鍔� + </view> + <!-- <view class="hint-text"> 褰撳墠浼佷笟鏈畬鎴愮殑鎵ф硶浠诲姟 </view> --> - <view class="down-block"> - <swiper style="height: 500rpx;" :indicator-dots="false" :interval="3000" :duration="1000"> - <swiper-item v-for="(item,index) in list" :key="index"> - <view class="box"> - <view class="title">{{item.enforceReason}}</view> - <view class="user-news"> - <text>{{item.applyUser}}</text> - <view class="driver"></view> - <text>{{item.applyDeptName}}</text> - </view> - <view class="font-13"> - <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}} - </view> - <view class="border"></view> - <view class="font-12 margin-bottom"> - <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}} - </view> - <view class="font-12"> - <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}} - </view> - <view class="button-entery"> - <view class="button" v-if="item.isSelect" @click="doScanOrder(item.orderId, index)">纭鎵ф硶</view> - </view> - </view> - </swiper-item> - </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> - - </view> + <view class="down-block"> + <swiper style="height: 500rpx;" :indicator-dots="false" :interval="3000" :duration="1000"> + <swiper-item v-for="(item,index) in list" :key="index"> + <view class="box"> + <view class="title">{{item.enforceReason}}</view> + <view class="user-news"> + <text>{{item.applyUser}}</text> + <view class="driver"></view> + <text>{{item.applyDeptName}}</text> + </view> + <view class="font-13"> + <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}} + </view> + <view class="border"></view> + <view class="font-12 margin-bottom"> + <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}} + </view> + <view class="font-12"> + <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}} + </view> + <view class="button-entery"> + <view class="button" v-if="item.isSelect" @click="doScanOrder(item.orderId, index)">纭鎵ф硶</view> + </view> + </view> + </swiper-item> + </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> + + </view> </template> <script> - import { getScanList, doScanOrder } from '@/api/policy.js' - import { getInfo } from '@/api/auth.js' - export default { - data() { - return { - companyCode: '', - uqrcodeImage: '', - list: [], - userInfo: {}, - color: '', - - } - }, - onReady() { - - }, - onLoad(options) { - this.getScanList(options.code) - - this.getInfo() - }, - methods: { - getScanList(companyCode){ - getScanList({companyCode}).then(val => { - this.list = val.data.data.map(item => { - item['isSelect'] = true - return item - }) - if(this.list.length) { - this.color = 'green' - } else { - this.color = 'red' - } - this.companyCode = companyCode - setTimeout(() => { - this.$refs.uqrcode.toTempFilePath({ - success: res => { - this.uqrcodeImage = res.tempFilePath - } - }); - }, 500) - }) - }, - getInfo() { - getInfo().then(val => { - console.log(val.data.data) - this.userInfo = val.data.data - }) - }, - doScanOrder(item, index) { - doScanOrder(item).then(val => { - if(val.data.code == 200) { - uni.showToast({ - title: '纭鎵ф硶鎴愬姛', - icon: 'none' - }) - this.list[index].isSelect = false - } - }) - } - } - } + import { + getScanList, + doScanOrder + } from '@/api/policy.js' + import { + getInfo + } from '@/api/auth.js' + export default { + data() { + return { + companyCode: '', + uqrcodeImage: '', + list: [], + userInfo: {}, + color: '', + + } + }, + onReady() { + + }, + onLoad(options) { + this.getScanList(options.code) + + this.getInfo() + }, + methods: { + getScanList(companyCode) { + getScanList({ + companyCode + }).then(val => { + this.list = val.data.data.map(item => { + item['isSelect'] = true + return item + }) + if (this.list.length) { + this.color = 'green' + } else { + this.color = 'red' + } + this.companyCode = companyCode + setTimeout(() => { + this.$refs.uqrcode.toTempFilePath({ + success: res => { + this.uqrcodeImage = res.tempFilePath + } + }); + }, 500) + }) + }, + getInfo() { + getInfo().then(val => { + this.userInfo = val.data.data + }) + }, + doScanOrder(item, index) { + doScanOrder(item).then(val => { + if (val.data.code == 200) { + uni.showToast({ + title: '纭鎵ф硶鎴愬姛', + icon: 'none' + }) + this.list[index].isSelect = false + } + }) + } + } + } </script> <style> - page{ - padding-bottom: 20rpx; - } + page { + padding-bottom: 20rpx; + } </style> <style lang="scss" scoped> -@import "./scodePage.scss"; -</style> + @import "./scodePage.scss"; +</style> \ No newline at end of file diff --git a/policy/translate/translate.vue b/policy/translate/translate.vue index 2fd315e..6f7e592 100644 --- a/policy/translate/translate.vue +++ b/policy/translate/translate.vue @@ -1,248 +1,262 @@ <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-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> - </view> - <view class="list-item"> - <view class="top-title"> - <text>{{item.enforceReason}}</text> - <text class="status">寰呭鎵�</text> - </view> - <view class="user-info"> - <text>{{item.applyUser}}</text> - <!-- <view class="driver"></view> + <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-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> + </view> + <view class="list-item"> + <view class="top-title"> + <text>{{item.enforceReason}}</text> + <text class="status">寰呭鎵�</text> + </view> + <view class="user-info"> + <text>{{item.applyUser}}</text> + <!-- <view class="driver"></view> <text>{{item.checkDeptName}}</text> --> - </view> - <view class="user-info"> - <!-- <text>{{item.applyUser}}</text> + </view> + <view class="user-info"> + <!-- <text>{{item.applyUser}}</text> <view class="driver"></view> --> - <text>{{item.checkDeptName}}</text> - </view> - <view class="set-line"> - <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}} - </view> - - <view class="line"></view> - <view class="set-flex set-start set-flex-content-between"> - <view style="width: 75%;"> - <view class="set-line1"> - <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}} - </view> - <view class="set-line1"> - <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}} - </view> - <view class="look" v-if="item.show"> - <view class="set-line"> - <text>鎵ф硶涓婚锛�</text>{{item.enforceReason}} - </view> - <view class="set-line"> - <text>鎵ф硶绫诲瀷锛�</text>{{handlerType(item.enforceType)}} - </view> - <view class="set-line set-line-flex"> - <text>鎵ф硶鍐呭锛�</text> <view>{{item.enforceContent}}</view> - </view> - </view> - - </view> - <view class="button" v-if="!isJudege" @click.self="goStartJudeg([item.orderId])"> - 瀹℃壒 - </view> - </view> - <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> - </view> - </view> - <u-empty v-if="!list.length" style="margin-top: 200rpx;"></u-empty> - </view> - <view class="down" v-if="!isJudege"> - <view class="button" @click="goRecord">瀹℃壒璁板綍</view> - <view class="button more-options" @click="moreJudeg">鎵归噺瀹℃壒</view> - </view> - <view class="down judge" v-else> - <view class="select-image" @click="allSelect()"> - <image src="/static/policy/checkbox.png" mode="widthFix" v-show="isAllSelect"></image> - <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!isAllSelect"></image> - <view class="show-check">鍏ㄩ��</view> - </view> - <view class="button more-options start-option" @click="moreStart">绔嬪嵆瀹℃壒</view> - </view> - <popupCom ref="popup" @entery="entery" @cancel="cancelSelect"></popupCom> - </view> + <text>{{item.checkDeptName}}</text> + </view> + <view class="set-line"> + <text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}} + </view> + + <view class="line"></view> + <view class="set-flex set-start set-flex-content-between"> + <view style="width: 75%;"> + <view class="set-line1"> + <text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}} + </view> + <view class="set-line1"> + <text>鐢宠鏃堕棿锛�</text>{{item.applyTime}} + </view> + <view class="look" v-if="item.show"> + <view class="set-line"> + <text>鎵ф硶涓婚锛�</text>{{item.enforceReason}} + </view> + <view class="set-line"> + <text>鎵ф硶绫诲瀷锛�</text>{{handlerType(item.enforceType)}} + </view> + <view class="set-line set-line-flex"> + <text>鎵ф硶鍐呭锛�</text> + <view>{{item.enforceContent}}</view> + </view> + </view> + + </view> + <view class="button" v-if="!isJudege" @click.self="goStartJudeg([item.orderId])"> + 瀹℃壒 + </view> + </view> + <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> + </view> + </view> + <u-empty v-if="!list.length" style="margin-top: 200rpx;"></u-empty> + </view> + <view class="down" v-if="!isJudege"> + <view class="button" @click="goRecord">瀹℃壒璁板綍</view> + <view class="button more-options" @click="moreJudeg">鎵归噺瀹℃壒</view> + </view> + <view class="down judge" v-else> + <view class="select-image" @click="allSelect()"> + <image src="/static/policy/checkbox.png" mode="widthFix" v-show="isAllSelect"></image> + <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!isAllSelect"></image> + <view class="show-check">鍏ㄩ��</view> + </view> + <view class="button more-options start-option" @click="moreStart">绔嬪嵆瀹℃壒</view> + </view> + <popupCom ref="popup" @entery="entery" @cancel="cancelSelect"></popupCom> + </view> </template> <script> - import popupCom from '@/policy/components/popup.vue' - import { checkLogList, checkUpd } from '@/api/policy.js' - import { getDicts } from '@/api/data.js' - export default { - components: { - popupCom - }, - data() { - return { - isJudege: false, - list: [ - - ], - total: 1, - queryms: { - pageNum: 1, - pageSize: 10, - orderStatus: 1, - isAsc: "desc", - orderByColumn: "apply_time" - }, - recordList: [], - typeList: [] - } - }, - computed: { - isAllSelect(){ - if(this.list.length) { - const value = this.list.every(item => item.isSelect) - return value - } else { - return false - } - } - }, - onLoad() { - - this.getDicts() - }, - onReachBottom() { - if(this.total == this.list.length) { - return - } - this.queryms.pageNum++ - this.checkLogList() - - }, - methods: { - showItem(item) { - item.show = !item.show - }, - handlerType(type) { - const value = this.typeList.find(item => item.dictCode == type) - if(value) { - return value.dictLabel - } else { - return '' - } - }, - getDicts(type) { - getDicts('enforce_type').then(val => { - this.typeList = val.data.data - this.checkLogList() - }) - }, - goRecord() { - uni.navigateTo({ - url: `/policy/translateRecord/translateRecord` - }) - }, - click() { + import popupCom from '@/policy/components/popup.vue' + import { + checkLogList, + checkUpd + } from '@/api/policy.js' + import { + getDicts + } from '@/api/data.js' + export default { + components: { + popupCom + }, + data() { + return { + isJudege: false, + list: [ - }, - goStartJudeg(id) { - this.recordList = id - this.$refs.popup.open() - }, - // 鎵归噺瀹℃壒 - moreJudeg() { - if(!this.list.length){ - return - } - this.isJudege = true - }, - setIsSelect(index){ - if(!this.isJudege) { - return - } - this.list[index].isSelect = !this.list[index].isSelect - }, - allSelect() { - const value = this.isAllSelect - this.list.map(item => item.isSelect = !value) - }, - moreStart() { - const value = this.list.some(item => item.isSelect) - if(value) { - const valueData = this.list.filter(item => item.isSelect).map(item => item.orderId) - // console.log(valueData) - this.goStartJudeg(valueData) - } else { - uni.showToast({ - title: '璇烽�夋嫨瀹℃壒', - icon: 'none' - }) - } - }, - entery(form) { - // 1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵� - checkUpd({...form, ids: this.recordList, checkType: 2}).then(val => { - if(val.data.code == 200) { - uni.showToast({ - title: '瀹℃壒鎴愬姛', - icon: 'none' - }) - } - this.list = [] - this.queryms.pageNum = 1 - this.checkLogList() - this.$refs.popup.close() - this.isJudege = false - }) - - }, - cancelSelect() { - this.isJudege = false - this.list.map(item => item.isSelect = false) - }, - checkLogList() { - checkLogList(this.queryms).then(val => { - val.data.rows.map(item => { - item.isSelect = false - item.show = false - }) - this.list = [...this.list,...val.data.rows ] - this.total = val.data.total - }) - } - } - } + ], + total: 1, + queryms: { + pageNum: 1, + pageSize: 10, + orderStatus: 1, + isAsc: "desc", + orderByColumn: "apply_time" + }, + recordList: [], + typeList: [] + } + }, + computed: { + isAllSelect() { + if (this.list.length) { + const value = this.list.every(item => item.isSelect) + return value + } else { + return false + } + } + }, + onLoad() { + + this.getDicts() + }, + onReachBottom() { + if (this.total == this.list.length) { + return + } + this.queryms.pageNum++ + this.checkLogList() + }, + methods: { + showItem(item) { + item.show = !item.show + }, + handlerType(type) { + const value = this.typeList.find(item => item.dictCode == type) + if (value) { + return value.dictLabel + } else { + return '' + } + }, + getDicts(type) { + getDicts('enforce_type').then(val => { + this.typeList = val.data.data + this.checkLogList() + }) + }, + goRecord() { + uni.navigateTo({ + url: `/policy/translateRecord/translateRecord` + }) + }, + click() { + + }, + goStartJudeg(id) { + this.recordList = id + this.$refs.popup.open() + }, + // 鎵归噺瀹℃壒 + moreJudeg() { + if (!this.list.length) { + return + } + this.isJudege = true + }, + setIsSelect(index) { + if (!this.isJudege) { + return + } + this.list[index].isSelect = !this.list[index].isSelect + }, + allSelect() { + const value = this.isAllSelect + this.list.map(item => item.isSelect = !value) + }, + moreStart() { + const value = this.list.some(item => item.isSelect) + if (value) { + const valueData = this.list.filter(item => item.isSelect).map(item => item.orderId) + // console.log(valueData) + this.goStartJudeg(valueData) + } else { + uni.showToast({ + title: '璇烽�夋嫨瀹℃壒', + icon: 'none' + }) + } + }, + entery(form) { + // 1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵� + checkUpd({ + ...form, + ids: this.recordList, + checkType: 2 + }).then(val => { + if (val.data.code == 200) { + uni.showToast({ + title: '瀹℃壒鎴愬姛', + icon: 'none' + }) + } + this.list = [] + this.queryms.pageNum = 1 + this.checkLogList() + this.$refs.popup.close() + this.isJudege = false + }) + + }, + cancelSelect() { + this.isJudege = false + this.list.map(item => item.isSelect = false) + }, + checkLogList() { + checkLogList(this.queryms).then(val => { + val.data.rows.map(item => { + item.isSelect = false + item.show = false + }) + this.list = [...this.list, ...val.data.rows] + this.total = val.data.total + }) + } + } + } </script> <style> - page { - background-color: #F4F4F4; - } + page { + background-color: #F4F4F4; + } </style> <style lang="scss" scoped> - @import "./translate.scss"; + @import "./translate.scss"; - ::v-deep .u-radio { - margin-right: 84rpx !important; - } + ::v-deep .u-radio { + margin-right: 84rpx !important; + } - ::v-deep .u-textarea { - 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%; - } - } + ::v-deep .u-textarea { + 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%; + } + } </style> \ No newline at end of file diff --git a/static/head.png b/static/head.png index 9518e7e..23b7bbf 100644 --- a/static/head.png +++ b/static/head.png Binary files differ diff --git a/static/i04.png b/static/i04.png index bcd24bf..babd93f 100644 --- a/static/i04.png +++ b/static/i04.png Binary files differ diff --git a/yarn.lock b/yarn.lock index 3604d48..d01f38e 100644 --- a/yarn.lock +++ b/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" -- Gitblit v1.9.1