| | |
| | | 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, |
| | | } |
| | |
| | | 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 |
| | | }); |
| | | |
| | | |
| | | // 请求拦截,配置Token等参数 |
| | | 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 => { // 可使用async 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) => { |
| | | // 对响应错误做点什么 (statusCode !== 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 |
| | | }); |
| | | |
| | | |
| | | // 请求拦截,配置Token等参数 |
| | | 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 => { // 可使用async 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) => { |
| | | // 对响应错误做点什么 (statusCode !== 200) |
| | | uni.hideLoading() |
| | | if (response.config.custom?.loading) { |
| | | uni.hideLoading() |
| | | } |
| | | return Promise.reject(response) |
| | | }) |
| | | } |
| | |
| | | { |
| | | "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" |
| | | } |
| | | } |
| | |
| | | { |
| | | "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", |
| | |
| | | <!-- 企业登录 --> |
| | | <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> |
| | |
| | | </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: '正在获取验证码' |
| | | }) |
| | | 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: '正在获取验证码' |
| | | }) |
| | | 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> |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | |
| | | |
| | | "@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" |