From 5f1f36bb3ca0b0d749da3c3a8dd8f5b76197f2f8 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 03 十一月 2022 17:55:34 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui --- src/views/operate/car/lawCar/index.vue | 96 src/views/operate/sms/smsIndex/createSms/index.vue | 433 +++ package-lock.json | 46 src/views/layout/components/Header/updatePassword/index.vue | 183 + src/views/operate/rectification/taskList/components/createInterface/index.vue | 80 src/views/systemSetting/platform/cockpitManage/updateUser/index.vue | 343 +++ src/views/systemSetting/platform/cockpitManage/index.vue | 721 ++++++ src/views/layout/components/Menu/index.vue | 1 src/views/intelligentPatrol/illegalSearch/viewInfo/index.vue | 70 src/views/operate/images/index.vue | 15 src/views/operate/video/index.vue | 65 src/views/operate/fivepack/threepack/components/updateUser/index.vue | 342 -- src/views/systemSetting/platform/cockpitManage/createUser/index.vue | 423 +++ src/views/systemSetting/device/point/index.vue | 296 ++ src/views/operate/video/detailInterface/index.vue | 23 src/views/intelligentPatrol/studyJudge/index.vue | 287 ++ src/views/layout/components/Header/index.vue | 100 src/views/operate/fivepack/threepack/components/aside/index.vue | 26 src/views/operate/rectification/taskList/index.vue | 101 src/views/operate/fivepack/threepack/components/main/index.vue | 182 src/router/index.js | 733 +++--- src/views/operate/images/updateUser/index.vue | 29 src/views/operate/video/updateInterface/index.vue | 24 src/views/operate/sms/smsIndex/index.vue | 7 /dev/null | 316 -- src/views/operate/car/soilCar/index.vue | 104 package.json | 2 src/views/video/index.vue | 186 + src/views/systemSetting/platform/cockpitManage/detailUser/index.vue | 322 ++ src/views/layout/components/Main/index.vue | 210 + src/views/intelligentPatrol/illegalSearch/index.vue | 334 ++ src/views/intelligentPatrol/trendAnalysis/index.vue | 141 + src/views/operate/fivepack/threepack/components/header/index.vue | 35 src/views/operate/fivepack/threepack/index.vue | 2 src/views/systemSetting/platform/mySetting/index.vue | 2 src/views/operate/images/detailUser/index.vue | 322 ++ 36 files changed, 5,314 insertions(+), 1,288 deletions(-) diff --git a/dist.rar b/dist.rar deleted file mode 100644 index 2819eeb..0000000 --- a/dist.rar +++ /dev/null Binary files differ diff --git a/package-lock.json b/package-lock.json index e0e414a..6045ef1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1933,29 +1933,6 @@ "webpack-merge": "^5.7.3", "webpack-virtual-modules": "^0.4.2", "whatwg-fetch": "^3.6.2" - }, - "dependencies": { - "@vue/vue-loader-v15": { - "version": "npm:vue-loader@15.10.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.0.tgz", - "integrity": "sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true - } - } - } } }, "@vue/cli-shared-utils": { @@ -2062,6 +2039,27 @@ "version": "2.1.2", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "@vue/vue-loader-v15": { + "version": "npm:vue-loader@15.10.0", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.0.tgz", + "integrity": "sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", "dev": true } } @@ -9214,7 +9212,7 @@ }, "vue-hot-reload-api": { "version": "2.3.4", - "resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "dev": true }, diff --git a/package.json b/package.json index bbac3b8..4698577 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "my-app", "version": "0.1.0", - "private": true, + "private": true, "scripts": { "dev": "vue-cli-service serve --mode development", "test": "vue-cli-service serve --mode production", diff --git a/src/router/index.js b/src/router/index.js index 0ae2794..0daf632 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -2,399 +2,404 @@ import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [{ - path: "/", - name: 'index', - redirect: '/home' + path: "/", + name: 'index', + redirect: '/home' +}, +{ + path: '/home', + name: 'home', + component: () => import('@/views/layout'), + meta: { + needLogin: true, }, - { - path: '/home', - name: 'home', - component: () => import('@/views/layout'), - meta: { - needLogin: true, - }, + children: [{ + path: 'system', + name: 'system', + component: () => import('@/views/systemSetting'), children: [{ - path: 'system', - name: 'system', - component: () => import('@/views/systemSetting'), - children: [{ - path: 'userSetting', - name: 'userSetting', - component: () => import('@/views/systemSetting/baseSetting'), - children: [{ - path: "user", - name: "user", - component: () => import('@/views/systemSetting/baseSetting/user') - }, - { - path: 'role', - name: 'role', - component: () => import('@/views/systemSetting/baseSetting/role') - }, - { - path: 'department', - name: 'department', - component: () => import('@/views/systemSetting/baseSetting/department') - }, - - ] - }, - { - path: 'platform', - name: 'platform', - component: () => import('@/views/systemSetting/platform'), - children: [{ - path: 'portalSetting', - name: 'portalSetting', - component: () => import('@/views/systemSetting/platform/portalSetting') - }, - { - path: 'otherInterface', - name: 'otherInterface', - component: () => import('@/views/systemSetting/platform/otherInterface') - }, - { - path: 'mySetting', - name: 'mySetting', - component: () => import('@/views/systemSetting/platform/mySetting') - } - ] - }, - { - path: 'device', - name: 'device', - component: () => import('@/views/systemSetting/device'), - children: [{ - path: 'bayonet', - name: 'bayonet', - component: () => import('@/views/systemSetting/device/bayonet') - }, - { - path: 'grid', - name: 'grid', - component: () => import('@/views/systemSetting/device/grid'), - }, - { - path: 'point', - name: 'point', - component: () => import('@/views/systemSetting/device/point'), - }, - { - path: 'handheldTerminal', - name: 'handheldTerminal', - component: () => import('@/views/systemSetting/device/handheldTerminal'), - }, - { - path: 'loudspeaker', - name: 'loudspeaker', - component: () => import('@/views/systemSetting/device/loudspeaker'), - } - ] - } - ] + path: 'userSetting', + name: 'userSetting', + component: () => import('@/views/systemSetting/baseSetting'), + children: [{ + path: "user", + name: "user", + component: () => import('@/views/systemSetting/baseSetting/user') }, { - path: "operate", - name: 'operate', - component: () => import('@/views/operate'), - children: [{ - path: 'baseSetting', - name: 'baseSetting', - component: () => import('@/views/operate/baseSetting'), - children: [{ - path: "violation", - name: 'violation', - component: () => import('@/views/operate/baseSetting/violation'), - }, - { - path: "illegalBuild", - name: 'illegalBuild', - component: () => import('@/views/operate/baseSetting/illegalBuild'), - }, - ] - }, - { - path: 'casepool', - name: 'casepool', - component: () => import('@/views/operate/disposal'), - children: [{ - path: 'pool', - name: 'pool', - component: () => import('@/views/operate/disposal/casepool/pool'), - }, - { - path: 'escalation', - name: 'escalation', - component: () => import('@/views/operate/disposal/casepool/escalation'), - }, - { - path: 'dispatch', - name: 'dispatch', - component: () => import('@/views/operate/disposal/casepool/dispatch'), - }, - { - path: 'notDeal', - name: 'notDeal', - component: () => import('@/views/operate/disposal/casepool/notDeal'), - }, - { - path: 'learn', - name: 'learn', - component: () => import('@/views/operate/disposal/casepool/learn'), - }, - ] - }, - { - path: "fivepack", - name: 'fivepack', - component: () => import('@/views/operate/fivepack'), - children: [{ - path: "shop", - name: 'shop', - component: () => import('@/views/operate/fivepack/shop'), - }, - { - path: "threepackage", - name: 'threepackage', - component: () => import('@/views/operate/fivepack/threepack'), - } - ] - }, - { - path: 'myWait', - name: 'myWait', - component: () => import('@/views/operate/myWait'), - }, - { - path: 'images', - name: 'images', - component: () => import('@/views/operate/images'), - }, - { - path: 'viewEvent', - name: 'viewEvent', - component: () => import('@/views/operate/viewEvent'), - }, - { - path: 'rectification', - name: 'rectification', - component: () => import('@/views/operate/rectification'), - children: [{ - path: "taskList", - name: 'taskList', - component: () => import('@/views/operate/rectification/taskList'), - }, - { - path: "surveyList", - name: 'surveyList', - component: () => import('@/views/operate/rectification/surveyList'), - }, - { - path: "renovationList", - name: 'renovationList', - component: () => import('@/views/operate/rectification/renovationList'), - } - ] - }, - { - path: 'lawEnforcement', - name: 'lawEnforcement', - component: () => import('@/views/operate/lawEnforcement') - }, - { - path: 'management', - name: 'management', - component: () => import('@/views/operate/management'), - redirect: '/home/operate/management/myIndex', - children: [{ - path: 'myIndex', - name: 'myIndex', - component: () => import('@/views/operate/management/myIndex'), - }, - { - path: 'managementMessage', - name: 'managementMessage', - component: () => import('@/views/operate/management/message'), - }, - ] - }, - { - path: 'car', - name: 'car', - component: () => import('@/views/operate/car'), - children: [{ - path: 'carIndex', - name: 'carIndex', - component: () => import('@/views/operate/car/myIndex'), - }, - { - path: 'lawTrajectory', - name: 'lawTrajectory', - component: () => import('@/views/operate/car/lawCar'), - }, - { - path: 'soilTrajectory', - name: 'soilTrajectory', - component: () => import('@/views/operate/car/soilCar'), - } - ] - }, - { - path: 'message', - name: 'message', - component: () => import('@/views/operate/message'), - children: [{ - path: 'messageIndex', - name: 'messageIndex', - component: () => import('@/views/operate/message/myIndex'), - }, - { - path: 'mycontrol', - name: 'mycontrol', - component: () => import('@/views/operate/message/mycontrol'), - }, - ] - }, - { - path: 'log', - name: 'log', - component: () => import('@/views/operate/log'), - }, - { - path:'sms', - name:'sms', - component:() => import('@/views/operate/sms'), - children: [ - { - path: 'smsIndex', - name: 'smsIndex', - component: () => import('@/views/operate/sms/smsIndex'), - }, - { - path: 'smsTemplate', - name: 'smsTemplate', - component: () => import('@/views/operate/sms/smsTemplate'), - }, - ] - }, - { - path: "videoControl", - name: 'videoControl', - component: () => import('@/views/operate/video') - }, - { - path: 'viewEvent', - name: 'viewEvent', - component: () => import('@/views/operate/viewEvent'), - }, - { - path: 'images', - name: 'images', - component: () => import('@/views/operate/images'), - } - ] - }, - - { - path: "video", - name: 'video', - component: () => import('@/views/video') - }, - - { - path: "lampblack", - name: 'lampblack', - component: () => import('@/views/lampblack') + path: 'role', + name: 'role', + component: () => import('@/views/systemSetting/baseSetting/role') }, { - path: "law", - name: 'law', - component: () => import('@/views/law') - }, - { - path: "intellect", - name: 'intellect', - component: () => import('@/views/intellect') - }, - { - path: "info", - name: 'info', - component: () => import('@/views/info') + path: 'department', + name: 'department', + component: () => import('@/views/systemSetting/baseSetting/department') }, - // 鏅鸿兘宸℃煡 - { - path: 'studyJudge', // 棰勮鐮斿垽 - name: 'studyJudge', - component: () => import('@/views/intelligentPatrol/studyJudge'), + ] + }, + { + path: 'platform', + name: 'platform', + component: () => import('@/views/systemSetting/platform'), + children: [{ + path: 'portalSetting', + name: 'portalSetting', + component: () => import('@/views/systemSetting/platform/portalSetting') }, { - path: 'illegalSearch', // 杩濊妫�绱� - name: 'illegalSearch', - component: () => import('@/views/intelligentPatrol/illegalSearch'), + path: 'otherInterface', + name: 'otherInterface', + component: () => import('@/views/systemSetting/platform/otherInterface') }, { - path: 'trendAnalysis', // 瓒嬪娍鍒嗘瀽 - name: 'trendAnalysis', - component: () => import('@/views/intelligentPatrol/trendAnalysis'), - }, - // 杩濇硶缁熻 - { - path: 'typeStatistics', // 鎸夎繚瑙勭被鍨嬬粺璁� - name: 'typeStatistics', - component: () => import('@/views/intelligentPatrol/statistics/unlawful/type'), + path: 'mySetting', + name: 'mySetting', + component: () => import('@/views/systemSetting/platform/mySetting') }, { - path: 'pointStatistics', //鎸夌偣浣嶇粺璁� - name: 'pointStatistics', - component: () => import('@/views/intelligentPatrol/statistics/unlawful/point'), - }, - { - path: 'timeStatistics', //鎸夋椂闂寸粺璁� - name: 'timeStatistics', - component: () => import('@/views/intelligentPatrol/statistics/unlawful/time'), - }, - { - path: 'areaStatistics', //鎸夊尯鍩熺粺璁� - name: 'areaStatistics', - component: () => import('@/views/intelligentPatrol/statistics/unlawful/area'), - }, - { - path: 'shopStatistics', //闂ㄥ墠涓夊寘缁熻 - name: 'shopStatistics', - component: () => import('@/views/intelligentPatrol/statistics/unlawful/shop'), + path: 'cockpitManage', + name: 'cockpitManage', + component: () => import('@/views/systemSetting/platform/cockpitManage') } + ] + }, + { + path: 'device', + name: 'device', + component: () => import('@/views/systemSetting/device'), + children: [{ + path: 'bayonet', + name: 'bayonet', + component: () => import('@/views/systemSetting/device/bayonet') + }, + { + path: 'grid', + name: 'grid', + component: () => import('@/views/systemSetting/device/grid'), + }, + { + path: 'point', + name: 'point', + component: () => import('@/views/systemSetting/device/point'), + }, + { + path: 'handheldTerminal', + name: 'handheldTerminal', + component: () => import('@/views/systemSetting/device/handheldTerminal'), + }, + { + path: 'loudspeaker', + name: 'loudspeaker', + component: () => import('@/views/systemSetting/device/loudspeaker'), + } + ] + } ] }, { - path: '/login', - name: 'login', - component: () => import('@/views/login') + path: "operate", + name: 'operate', + component: () => import('@/views/operate'), + children: [{ + path: 'baseSetting', + name: 'baseSetting', + component: () => import('@/views/operate/baseSetting'), + children: [{ + path: "violation", + name: 'violation', + component: () => import('@/views/operate/baseSetting/violation'), + }, + { + path: "illegalBuild", + name: 'illegalBuild', + component: () => import('@/views/operate/baseSetting/illegalBuild'), + }, + ] + }, + { + path: 'casepool', + name: 'casepool', + component: () => import('@/views/operate/disposal'), + children: [{ + path: 'pool', + name: 'pool', + component: () => import('@/views/operate/disposal/casepool/pool'), + }, + { + path: 'escalation', + name: 'escalation', + component: () => import('@/views/operate/disposal/casepool/escalation'), + }, + { + path: 'dispatch', + name: 'dispatch', + component: () => import('@/views/operate/disposal/casepool/dispatch'), + }, + { + path: 'notDeal', + name: 'notDeal', + component: () => import('@/views/operate/disposal/casepool/notDeal'), + }, + { + path: 'learn', + name: 'learn', + component: () => import('@/views/operate/disposal/casepool/learn'), + }, + ] + }, + { + path: "fivepack", + name: 'fivepack', + component: () => import('@/views/operate/fivepack'), + children: [{ + path: "shop", + name: 'shop', + component: () => import('@/views/operate/fivepack/shop'), + }, + { + path: "threepackage", + name: 'threepackage', + component: () => import('@/views/operate/fivepack/threepack'), + } + ] + }, + { + path: 'myWait', + name: 'myWait', + component: () => import('@/views/operate/myWait'), + }, + { + path: 'images', + name: 'images', + component: () => import('@/views/operate/images'), + }, + { + path: 'viewEvent', + name: 'viewEvent', + component: () => import('@/views/operate/viewEvent'), + }, + { + path: 'rectification', + name: 'rectification', + component: () => import('@/views/operate/rectification'), + children: [{ + path: "taskList", + name: 'taskList', + component: () => import('@/views/operate/rectification/taskList'), + }, + { + path: "surveyList", + name: 'surveyList', + component: () => import('@/views/operate/rectification/surveyList'), + }, + { + path: "renovationList", + name: 'renovationList', + component: () => import('@/views/operate/rectification/renovationList'), + } + ] + }, + { + path: 'lawEnforcement', + name: 'lawEnforcement', + component: () => import('@/views/operate/lawEnforcement') + }, + { + path: 'management', + name: 'management', + component: () => import('@/views/operate/management'), + redirect: '/home/operate/management/myIndex', + children: [{ + path: 'myIndex', + name: 'myIndex', + component: () => import('@/views/operate/management/myIndex'), + }, + { + path: 'managementMessage', + name: 'managementMessage', + component: () => import('@/views/operate/management/message'), + }, + ] + }, + { + path: 'car', + name: 'car', + component: () => import('@/views/operate/car'), + children: [{ + path: 'carIndex', + name: 'carIndex', + component: () => import('@/views/operate/car/myIndex'), + }, + { + path: 'lawTrajectory', + name: 'lawTrajectory', + component: () => import('@/views/operate/car/lawCar'), + }, + { + path: 'soilTrajectory', + name: 'soilTrajectory', + component: () => import('@/views/operate/car/soilCar'), + } + ] + }, + { + path: 'message', + name: 'message', + component: () => import('@/views/operate/message'), + children: [{ + path: 'messageIndex', + name: 'messageIndex', + component: () => import('@/views/operate/message/myIndex'), + }, + { + path: 'mycontrol', + name: 'mycontrol', + component: () => import('@/views/operate/message/mycontrol'), + }, + ] + }, + { + path: 'log', + name: 'log', + component: () => import('@/views/operate/log'), + }, + { + path: 'sms', + name: 'sms', + component: () => import('@/views/operate/sms'), + children: [ + { + path: 'smsIndex', + name: 'smsIndex', + component: () => import('@/views/operate/sms/smsIndex'), + }, + { + path: 'smsTemplate', + name: 'smsTemplate', + component: () => import('@/views/operate/sms/smsTemplate'), + }, + ] + }, + { + path: "videoControl", + name: 'videoControl', + component: () => import('@/views/operate/video') + }, + { + path: 'viewEvent', + name: 'viewEvent', + component: () => import('@/views/operate/viewEvent'), + }, + { + path: 'images', + name: 'images', + component: () => import('@/views/operate/images'), + } + ] + }, + + { + path: "video", + name: 'video', + component: () => import('@/views/video') + }, + + { + path: "lampblack", + name: 'lampblack', + component: () => import('@/views/lampblack') }, { - path: '/screen', - name: 'screen', - component: () => import('@/views/screen') + path: "law", + name: 'law', + component: () => import('@/views/law') }, { - path: '/404', - name: "404", - component: () => import('@/views/info/NotFound'), + path: "intellect", + name: 'intellect', + component: () => import('@/views/intellect') }, { - path: '/fail', - name: "/fail", - component: () => import('@/views/info/Fail'), + path: "info", + name: 'info', + component: () => import('@/views/info') + }, + + // 鏅鸿兘宸℃煡 + { + path: 'studyJudge', // 棰勮鐮斿垽 + name: 'studyJudge', + component: () => import('@/views/intelligentPatrol/studyJudge'), }, { - path: '/success', - name: "/success", - component: () => import('@/views/info/Success'), + path: 'illegalSearch', // 杩濊妫�绱� + name: 'illegalSearch', + component: () => import('@/views/intelligentPatrol/illegalSearch'), }, { - path: '*', - redirect: '/404' + path: 'trendAnalysis', // 瓒嬪娍鍒嗘瀽 + name: 'trendAnalysis', + component: () => import('@/views/intelligentPatrol/trendAnalysis'), + }, + // 杩濇硶缁熻 + { + path: 'typeStatistics', // 鎸夎繚瑙勭被鍨嬬粺璁� + name: 'typeStatistics', + component: () => import('@/views/intelligentPatrol/statistics/unlawful/type'), + }, + { + path: 'pointStatistics', //鎸夌偣浣嶇粺璁� + name: 'pointStatistics', + component: () => import('@/views/intelligentPatrol/statistics/unlawful/point'), + }, + { + path: 'timeStatistics', //鎸夋椂闂寸粺璁� + name: 'timeStatistics', + component: () => import('@/views/intelligentPatrol/statistics/unlawful/time'), + }, + { + path: 'areaStatistics', //鎸夊尯鍩熺粺璁� + name: 'areaStatistics', + component: () => import('@/views/intelligentPatrol/statistics/unlawful/area'), + }, + { + path: 'shopStatistics', //闂ㄥ墠涓夊寘缁熻 + name: 'shopStatistics', + component: () => import('@/views/intelligentPatrol/statistics/unlawful/shop'), } + ] +}, +{ + path: '/login', + name: 'login', + component: () => import('@/views/login') +}, +{ + path: '/screen', + name: 'screen', + component: () => import('@/views/screen') +}, +{ + path: '/404', + name: "404", + component: () => import('@/views/info/NotFound'), +}, +{ + path: '/fail', + name: "/fail", + component: () => import('@/views/info/Fail'), +}, +{ + path: '/success', + name: "/success", + component: () => import('@/views/info/Success'), +}, +{ + path: '*', + redirect: '/404' +} ] const router = new VueRouter({ diff --git a/src/views/intelligentPatrol/illegalSearch/index.vue b/src/views/intelligentPatrol/illegalSearch/index.vue index 83fe1d5..deaf20d 100644 --- a/src/views/intelligentPatrol/illegalSearch/index.vue +++ b/src/views/intelligentPatrol/illegalSearch/index.vue @@ -1,13 +1,343 @@ <template> - <div>杩濊妫�绱�</div> + <div class="illegal-search"> + <header> + <div class="headerContent"> + <!-- 鏉′欢绛涢�� --> + <el-form ref="condition" :model="form" label-width="100px"> + <el-form-item :label=item.label :key=item.id v-for="item in headerList"> + <el-input v-model="item.value" :placeholder="item.placeholder"></el-input> + </el-form-item> + </el-form> + </div> + </header> + <main> + <div class="mainContent"> + <!-- 鎸夐挳鍖哄煙 --> + <div class="main-btns"> + <div class="main-btns-left"> + <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button> + <el-button icon="el-icon-folder">瀵煎嚭</el-button> + </div> + <div class="main-btns-right"> + <el-button icon="el-icon-search">鏌ヨ</el-button> + <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button> + </div> + </div> + <!-- 鏁版嵁灞曠ず --> + <el-table ref="multipleTable" + :header-cell-style="{ background: '#06122c', 'font-size': '12px', color: '#4b9bb7', 'font-weight': '650', 'line-height': '45px' }" + :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> + <el-table-column type="selection" min-width="5"> + </el-table-column> + <el-table-column prop="number" label="浜嬩欢缂栧彿" min-width="10"> + </el-table-column> + <el-table-column prop="type" label="杩濊绫诲瀷" min-width="10"> + </el-table-column> + <el-table-column prop="source" label="浜嬩欢鏉ユ簮" min-width="10"> + </el-table-column> + <el-table-column prop="level" label="浜嬩欢绛夌骇" min-width="10"> + </el-table-column> + <el-table-column prop="point" label="鎶ヨ鐐逛綅" min-width="10"> + </el-table-column> + <el-table-column prop="org" label="鎵�灞炵粍缁�" min-width="10"> + </el-table-column> + <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12"> + </el-table-column> + <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12"> + </el-table-column> + <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10"> + </el-table-column> + <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10"> + </el-table-column> + <el-table-column prop="advice" label="澶勭悊鎰忚" min-width="10"> + </el-table-column> + <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> + <template slot-scope="scope"> + <div class="operation"> + <span @click="handleView(scope.row)">鏌ョ湅</span> + </div> + </template> + </el-table-column> + </el-table> + </div> + </main> + <footer> + <!-- 鏌ョ湅鍏蜂綋淇℃伅 --> + <el-dialog title="浜嬩欢璇︽儏" :visible.sync="dialogView" width="45%" :before-close="handleClose"> + <ViewInfo :info="info"></ViewInfo> + </el-dialog> + </footer> + </div> </template> <script> +import helper from "@/utils/mydate.js" +import ViewInfo from './viewInfo' export default { + components: { + ViewInfo + }, + data() { + return { + tableData: [ + { + number: '123456', + type: '浜烘皯璺彸浜�', + source: '瑙嗛涓婃姤', + level: '涓�鑸簨浠�', + point: '123.123,123.233', + org: '浜烘皯閮�', + alarmTime: '2022-02-12 12:00:00', + continueTime: '2灏忔椂30鍒嗛挓06绉�', + carNumber: '娴橞245CM', + state: '寰呭鏍�', + advice: '闇�鍙婃椂澶勭悊' + }, + { + number: '123457', + type: '浜烘皯璺乏浜�', + source: '瑙嗛涓婃姤', + level: '楂樺彂浜嬩欢', + point: '123.123,123.233', + org: '浜烘皯閮�', + alarmTime: '2022-02-12 12:00:00', + continueTime: '2灏忔椂30鍒嗛挓06绉�', + carNumber: '娴橞245CM', + state: '寰呭鏍�', + advice: '闇�鍙婃椂澶勭悊' + }, + { + number: '123458', + type: '浜哄璺彸浜�', + source: '瑙嗛涓婃姤', + level: '涓�鑸簨浠�', + point: '123.123,123.233', + org: '浜烘皯閮�', + alarmTime: '2022-02-12 12:00:00', + continueTime: '2灏忔椂30鍒嗛挓06绉�', + carNumber: '娴橞245CM', + state: '寰呭鏍�', + advice: '闇�鍙婃椂澶勭悊' + }, + { + number: '123459', + type: '浜烘皯璺彸浜�', + source: '瑙嗛涓婃姤', + level: '涓�鑸簨浠�', + point: '123.123,123.233', + org: '浜烘皯閮�', + alarmTime: '2022-02-12 12:00:00', + continueTime: '2灏忔椂30鍒嗛挓06绉�', + carNumber: '娴橞245CM', + state: '寰呭鏍�', + advice: '闇�鍙婃椂澶勭悊' + }, + { + number: '123460', + type: '浜烘皯璺彸浜�', + source: '瑙嗛涓婃姤', + level: '涓�鑸簨浠�', + point: '123.123,123.233', + org: '浜烘皯閮�', + alarmTime: '2022-02-12 12:00:00', + continueTime: '2灏忔椂30鍒嗛挓06绉�', + carNumber: '娴橞245CM', + state: '寰呭鏍�', + advice: '闇�鍙婃椂澶勭悊' + } + ], + context: "", + dialogView: false, + info: '', + headerList: [ + { + id: 1, + label: '鎵�灞炵粍缁�:', + value: '', + placeholder: '璇疯緭鍏ユ墍灞炵粍缁�' + }, + { + id: 2, + label: '鎶ヨ鏃堕棿:', + value: '', + placeholder: '璇疯緭鍏ユ姤璀︽椂闂�' + }, + { + id: 3, + label: '杩濊绫诲瀷:', + value: '', + placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�' + }, + { + id: 4, + label: '浜嬩欢缂栧彿:', + value: '', + placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�' + }, + { + id: 5, + label: '鐩戞帶鐐瑰悕绉�:', + value: '', + placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О' + }, + { + id: 6, + label: '瀹℃牳鐘舵��:', + value: '', + placeholder: '璇疯緭鍏ュ鏍哥姸鎬�' + }, + { + id: 7, + label: '杞︾墝鍙�:', + value: '', + placeholder: '璇疯緭鍏ヨ溅鐗屽彿' + }, + { + id: 8, + label: '澶勭悊鎰忚:', + value: '', + placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�' + }, + { + id: 9, + label: '鎶ヨ鏃堕棿:', + value: '', + placeholder: '璇疯緭鍏ユ墍灞炵粍缁�' + }, + ], + form: { + } + } + }, + methods: { + changeTime({ createTime }) { + return helper(createTime); + }, + // 璁剧疆琛ㄦ牸鏂戦┈绾� + tableRowClassName({ row, rowIndex }) { + if ((rowIndex + 1) % 2 == 0) { + return 'warning-row'; + } else { + return 'success-row'; + } + return ''; + }, + // 琛ㄥ崟閲嶇疆 + handleReset() { + this.headerList.forEach(item => { + item.value = '' + }) + }, + // 鍏抽棴寮圭獥 + handleClose(done) { + done(); + }, + // 鎵撳紑寮圭獥 + handleView(data) { + this.info = data + this.dialogView = true + console.log(data) + }, + // 鑷畾涔夊叧闂脊绐� + // myCloseDialog({flag,str,index}){ + // console.log( this[str]) + // if(index === 0){ + + // } + // } + } } </script> +<style lang="scss" scoped> +.illegal-search { + text-align: left; + margin: 10px 20px; + color: #4b9bb7; -<style> + header { + background-color: #09152f; + border: 1pox solid #fff; + .headerContent { + padding: 20px 40px; + display: flex; + justify-content: space-between; + align-items: center; + + ::v-deep .el-form { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .el-form-item { + width: 30%; + } + + .el-form-item__label { + color: #4b9bb7; + } + } + } + } + + main { + background-color: #09152f; + margin-top: 20px; + padding-bottom: 50px; + border: 1pox solid #fff; + + .mainTitle { + line-height: 60px; + } + + .main-btns { + display: flex; + justify-content: space-between; + line-height: 60px; + padding: 0 20px; + + .el-button { + background-color: #17324c; + border: 1px solid #17324c; + color: #4b9bb7; + } + } + .el-table{ + color: #4b9bb7; + } + .tools { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + + .funs-sp { + border: 1px solid #17324c; + } + + .funs { + display: flex; + + .funsItem { + line-height: 28px; + display: flex; + align-items: center; + border-radius: 4px; + font-size: 12px; + margin-left: 10px; + + .el-checkbox { + width: 80px; + padding: 0 10px; + } + + .el-select { + width: 120px; + } + + &::v-deep .el-input__inner { + border: none; + background-color: #09152f; + }}}}}} </style> \ No newline at end of file diff --git a/src/views/intelligentPatrol/illegalSearch/viewInfo/index.vue b/src/views/intelligentPatrol/illegalSearch/viewInfo/index.vue new file mode 100644 index 0000000..1c73af6 --- /dev/null +++ b/src/views/intelligentPatrol/illegalSearch/viewInfo/index.vue @@ -0,0 +1,70 @@ +<template> + <div id="view-info"> + <el-form ref="info" :model="myInfo" label-width="100px"> + <el-form-item label="浜嬩欢缂栧彿:"> + <el-input v-model="myInfo.number" disabled></el-input> + </el-form-item> + <el-form-item label="杩濊绫诲瀷:"> + <el-input v-model="myInfo.type" disabled></el-input> + </el-form-item> + <el-form-item label="浜嬩欢鏉ユ簮:"> + <el-input v-model="myInfo.source" disabled></el-input> + </el-form-item> + <el-form-item label="浜嬩欢绛夌骇:"> + <el-input v-model="myInfo.level" disabled></el-input> + </el-form-item> + <el-form-item label="鎶ヨ鐐逛綅:"> + <el-input v-model="myInfo.point" disabled></el-input> + </el-form-item> + <el-form-item label="鎵�灞炵粍缁�:"> + <el-input v-model="myInfo.org" disabled></el-input> + </el-form-item> + <el-form-item label="鎶ヨ鏃堕棿:"> + <el-input v-model="myInfo.alarmTime" disabled></el-input> + </el-form-item> + <el-form-item label="鎸佺画鏃堕棿:"> + <el-input v-model="myInfo.continueTime" disabled></el-input> + </el-form-item> + <el-form-item label="杞︾墝鍙风爜:"> + <el-input v-model="myInfo.carNumber" disabled></el-input> + </el-form-item> + <el-form-item label="瀹℃牳鐘舵��:"> + <el-input v-model="myInfo.state" disabled></el-input> + </el-form-item> + <el-form-item label="澶勭悊鎰忚:"> + <el-input v-model="myInfo.advice" disabled></el-input> + </el-form-item> + </el-form> + </div> +</template> +<script> +export default { + data() { + return { + myInfo: { + + } + } + }, + props: ['info','myCloseDialog'], + created() { + this.myInfo = JSON.parse(JSON.stringify(this.info)) + }, + methods: { + + } +} +</script> +<style lang="scss" scoped> +#view-info{ + padding: 5vh 8vw; + .el-form{ + ::v-deep .el-input__inner{ + border: none; + } + ::v-deep .el-form-item__label{ + color: #4b9bb7; + } + } +} +</style> \ No newline at end of file diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue index 9278ea7..e5fcded 100644 --- a/src/views/intelligentPatrol/studyJudge/index.vue +++ b/src/views/intelligentPatrol/studyJudge/index.vue @@ -1,13 +1,296 @@ <template> - <div>棰勮鐮斿垽</div> + <div class="study-judge"> + <div class="study-judge-header"> + <span>鎮ㄦ湁1111鏉″緟瀹℃牳鎶ヨ淇℃伅,浠婃棩绔嬫0鏉�,鍐嶅涔�0鏉�</span> + </div> + <div class="study-judge-main"> + <!-- sjm:study-judge-main --> + <div class="sjm-header"> + <div class="sjm-header-left"> + <span class="moni-name">鐩戞帶鐐逛綅鍚嶇О:涓崕璺疿X璺彛 </span> + <span class="moni-area">涓崕琛楅亾鍖哄煙</span> + </div> + <div class="sjm-header-right"> + <el-button size="small">瀹炴椂棰勮</el-button> + <el-button size="small">褰曞儚鍥炴斁</el-button> + </div> + </div> + <div class="sjm-content"> + <div class="sjm-content-left"> + <div class="img-item"> + <span>鎶ヨ鍥剧墖</span> + <img + src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__67d4d15bfc501319f8377f2ce37bf441.svg" + alt=""> + <span>鎶ヨ鏃堕棿锛�2022-09-08 14:23:34</span> + </div> + <div class="img-item"> + <img + src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__67d4d15bfc501319f8377f2ce37bf441.svg" + alt=""> + </div> + <div class="img-item"> + <img + src="https://axure-file.lanhuapp.com/90466432-c999-4bf0-80b8-ee3f96a2099e__67d4d15bfc501319f8377f2ce37bf441.svg" + alt=""> + </div> + </div> + <div class="sjm-content-center"> + 鍦板浘瀹瑰櫒 + </div> + <div class="sjm-content-right"> + <div class="card-box"> + <div class="card-header"> + <span>鎶ヨ璁板綍</span> + <span>涔卞仠涔辨斁杩濇硶鍗犻亾</span> + </div> + <el-form ref="currentEvent" label-width="120px" :model="currentEvent" :rules="rules"> + <el-form-item label="浜嬩欢缂栧彿:"> + <span>{{ currentEvent.number }}</span> + </el-form-item> + <el-form-item label="浜嬩欢绛夌骇:"> + <span>{{ currentEvent.level }}</span> + </el-form-item> + <el-form-item label="棣栨鎶ヨ鏃堕棿:"> + <span>{{ currentEvent.firstTime }}</span> + </el-form-item> + <el-form-item label="鏈�杩戞姤璀︽椂闂�:"> + <span>{{ currentEvent.recentTime }}</span> + </el-form-item> + <el-form-item label="鎸佺画鏃堕棿:"> + <span>{{ currentEvent.conntinueTime }}</span> + </el-form-item> + <el-form-item label="澶勭悊鎰忚:" prop="advice"> + <el-radio-group v-model="currentEvent.advice"> + <el-radio :label="item.id" v-for="item in adviceList" :key="item.id">{{ item.label }}</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="闂绫诲瀷:" prop="type"> + <el-input v-model="currentEvent.type" placeholder="璇烽�夋嫨闂绫诲瀷"></el-input> + </el-form-item> + <el-form-item label="澶х被鍚嶇О:" prop="bigKind"> + <el-input v-model="currentEvent.bigKind" placeholder="璇烽�夋嫨澶х被鍚嶇О"></el-input> + </el-form-item> + <el-form-item label="灏忕被鍚嶇О:" prop="smallKind"> + <el-input v-model="currentEvent.smallKind" placeholder="璇烽�夋嫨灏忕被鍚嶇О"></el-input> + </el-form-item> + <el-form-item label="杞︾墝鍙�:" prop="carNumber"> + <el-input v-model="currentEvent.carNumber" placeholder="璇峰~鍐欒溅鐗屽彿鐮�"></el-input> + </el-form-item> + <el-form-item label="澶囨敞:"> + <el-input type="textarea" :rows="5" v-model="currentEvent.tip"></el-input> + </el-form-item> + <el-form-item> + <el-button>涓婁竴鏉�</el-button> + <el-button @click.native.prevent="handleConfirm">纭</el-button> + <el-button>涓嬩竴鏉�</el-button> + </el-form-item> + </el-form> + </div> + </div> + </div> + </div> + </div> </template> <script> export default { + data() { + const validateAdvice = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('澶勭悊鎰忚涓嶈兘涓虹┖')) + } + } + const validateType = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('闂绫诲瀷涓嶈兘涓虹┖')) + } + } + const validateBigKind = (rule,value,callback)=>{ + console.log(value) + if(value){ + callback() + }else{ + callback(new Error('澶х被鍚嶇О涓嶈兘涓虹┖')) + } + } + const validateSmallKind = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('灏忕被鍚嶇О涓嶈兘涓虹┖')) + } + } + const validateCarNumber = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('杞︾墝鍙蜂笉鑳戒负绌�')) + } + } + return { + currentEvent: { + number: '1233123414141414', + level: '涓�鑸簨浠�', + firstTime: '2022/09/23 12:00:00', + recentTime: '2022/09/23/ 12:00:00', + conntinueTime: '0灏忔椂10鍒嗛挓', + advice: null, + type: '', + bigKind: '', + smallKind: '', + carNumber: '', + tip: '' + }, + adviceList: [ + { + id: 1, + label: '涓婃姤', + }, + { + id: 2, + label: '璋冨害', + }, + { + id: 3, + label: '鍐嶅涔�', + }, + { + id: 4, + label: '鏆備笉澶勭悊', + }, + ], + rules:{ + advice:[ + { + trigger:'blur',validator:validateAdvice + }, + ], + type:[ + { + trigger:'blur',validator:validateType + } + ], + bigKind:[ + { + trigger:'blur',validator:validateBigKind + } + ], + smallKind:[ + { + trigger:'blur',validator:validateSmallKind + } + ], + carNumber:[ + { + trigger:'blur',validator:validateCarNumber + } + ] + } + } + }, + methods:{ + // 纭鐐瑰嚮浜嬩欢 + handleConfirm(){ + console.log(this.$refs.currentEvent) + this.$refs.currentEvent.validate((flag)=>{ + console.log(flag) + if(flag){ + }else{ + return false + } + }) + } + } } </script> -<style> +<style lang="scss" scoped> +.study-judge { + text-align: left; + color: #4b9bb7; + padding: 20px; + .study-judge-header { + line-height: 8vh; + } + .study-judge-main { + .sjm-header { + line-height: 8vh; + display: flex; + justify-content: space-between; + + .sjm-header-left { + flex: 1; + display: flex; + justify-content: flex-start; + + .moni-area { + margin-left: 4vw; + } + } + + .sjm-header-right { + flex: 1; + display: flex; + justify-content: flex-end; + + .el-button { + padding: 0 1vw; + height: 4vh; + } + } + } + + .sjm-content { + display: flex; + justify-content: space-between; + + .sjm-content-left { + line-height: 4.8vh; + + .img-item { + display: flex; + flex-direction: column; + + img { + width: 15vw; + height: 20vh; + } + } + + .img-item+.img-item { + margin-top: 2vh; + } + } + + .sjm-content-right { + .card-box { + .card-header { + line-height: 4.8vh; + } + } + } + } + } + + .el-form { + ::v-deep .el-form-item { + // margin-bottom: 10px; + } + + ::v-deep .el-form-item__label { + color: #4b9bb7; + } + } + + ::v-deep .el-radio__label { + color: #4b9bb7; + } +} </style> \ No newline at end of file diff --git a/src/views/intelligentPatrol/trendAnalysis/index.vue b/src/views/intelligentPatrol/trendAnalysis/index.vue index da3bee6..0c2d5a0 100644 --- a/src/views/intelligentPatrol/trendAnalysis/index.vue +++ b/src/views/intelligentPatrol/trendAnalysis/index.vue @@ -1,13 +1,148 @@ <template> - <div>瓒嬪娍鍒嗘瀽</div> + <div class="trend-analysis"> + <!-- 渚ц竟鏍� --> + <div class="trend-side"> + <!-- 杈撳叆鍖哄煙 --> + <div class="trend-input-area"> + <span class="trend-title">瓒嬪娍鍒嗘瀽</span> + <el-form ref="form" :model="search" label-width="6vw"> + <el-form-item label="绫诲瀷鏌ヨ"> + <el-input v-model="search.type" placeholder="鍐呭淇℃伅"></el-input> + </el-form-item> + <el-form-item label="鏃堕棿鑼冨洿"> + <el-input v-model="search.timeRange" suffix-icon="el-icon-date" placeholder="閫夋嫨鏃堕棿鑼冨洿"></el-input> + </el-form-item> + </el-form> + </div> + <!-- 鏁版嵁灞曠ず --> + <div class="trend-data-show"> + <!-- 鐐逛綅鍒囨崲 --> + <div class="trend-data-header"> + <el-button type="text">楂樺彂鐐逛綅</el-button> + <el-button type="text">棣栨杩濊鐐逛綅</el-button> + </div> + <!-- 瀵瑰簲鏁版嵁 --> + <div class="trend-data-main"> + <div class="high-point"> + <div class="point-item" v-for="item in highList" :key="item.id"> + <span>{{ item.pointName }}</span> + <span>{{ item.count }}</span> + </div> + </div> + </div> + </div> + </div> + <div class="trend-main"></div> + <div class="trend-footer" v-if="timeRangeFlag"> + <!-- 閫夋嫨鏃堕棿鑼冨洿 --> + <div class="time-area"> + <el-date-picker v-model="search.timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </div> + </div> + </div> </template> <script> export default { - + data() { + return { + search: { + type: '', + timeRange: '' + }, + timeRangeFlag: false, + highList: [ + { + id: 1, + pointName: '鍚庡簡璺�200鍙�-鐞�', + count: '100娆�', + }, + { + id: 2, + pointName: '鍚庡簡璺�200鍙�-鐞�', + count: '100娆�', + }, + { + id: 3, + pointName: '鍚庡簡璺�200鍙�-鐞�', + count: '100娆�', + }, + { + id: 4, + pointName: '鍚庡簡璺�200鍙�-鐞�', + count: '100娆�', + }, + { + id: 5, + pointName: '鍚庡簡璺�200鍙�-鐞�', + count: '100娆�', + }, + ] + } + } } </script> -<style> +<style lang="scss" scoped> +.trend-analysis { + height: 100%; + padding: 10vh 10vw; + color: #4b9bb7; + display: flex; + .trend-side { + width: 20vw; + text-align: left; + height: 100%; + border: 1px solid #09152f; + .trend-input-area { + display: flex; + flex-direction: column; + padding: 0 2vw; + &>span { + line-height: 40px; + } + ::v-deep .el-form { + .el-form-item__label { + color: #4b9bb7; + } + } + } + + .trend-data-show { + width: 100%; + line-height: 40px; + .trend-data-header{ + display: flex; + .el-button{ + flex: 1; + border: 2px solid #09152f; + } + .el-button+.el-button{ + margin: 0; + } + } + .trend-data-main { + .high-point { + .point-item { + display: flex; + padding: 0 2vw; + justify-content: space-between; + } + } + } + } + } + .trend-main{ + flex: 1; + border: 1px solid #09152f; + } + .trend-footer { + ::v-deep .el-range-input { + background-color: #09152f; + } + } +} </style> \ No newline at end of file diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue index 60dbf0b..840e9af 100644 --- a/src/views/layout/components/Header/index.vue +++ b/src/views/layout/components/Header/index.vue @@ -3,8 +3,8 @@ <el-header> <!-- 宸︿晶鑿滃崟 --> <div class="header-left"> - <div class="menu-left__item" v-for="(item,index) in menuLeftList" :key="item.id" @click="changeActive(index)"> - <span :class="item.checked ? 'my-active':''">{{item.label}}</span> + <div class="menu-left__item" v-for="(item, index) in menuLeftList" :key="item.id" @click="changeActive(index)"> + <span :class="item.checked ? 'my-active' : ''">{{ item.label }}</span> </div> </div> <!-- 鍙充晶鑿滃崟 --> @@ -14,61 +14,100 @@ <el-input suffix-icon="el-icon-search" v-model="keyword" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"></el-input> </div> <!-- 鐧诲綍鐢ㄦ埛 --> - <div class="menu-right__item user" @mousemove="flag.user=true" @mouseleave="flag.user=false"> + <div class="menu-right__item user" @mousemove="flag.user = true" @mouseleave="flag.user = false"> <el-avatar :size="20" :src="user.icon" v-if="user.icon"></el-avatar> <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" v-else> </el-avatar> - <span style="padding: 0 5px;">{{user.username? user.username:'Admin'}}</span> + <span style="padding: 0 5px;">{{ user.username}}</span> <i class="el-icon-arrow-down"></i> <!-- 鐢ㄦ埛鎿嶄綔 --> <div class="user-card" v-if="flag.user" @mouseleave="flag.user = false"> <el-card class="box-card"> - <div class="user-card__item">淇敼瀵嗙爜</div> - <div style="margin-top: 10px;" class="user-card__item">鍩烘湰淇℃伅</div> + <div class="user-card__item" @click="updatePassword()">淇敼瀵嗙爜</div> + <div style="margin-top: 10px;" class="user-card__item" @click="baseInfo()">鍩烘湰淇℃伅</div> </el-card> </div> </div> <!-- 娑堟伅 --> - <div class="menu-right__item btn" @mousemove="flag.message = true" @mouseleave=" flag.message = false "> + <div class="menu-right__item btn" @mousemove="flag.message = true" @mouseleave="flag.message = false"> <el-tooltip effect="dark" content="娑堟伅涓績" placement="bottom-end" :hide-after="600"> <el-badge :value="50" :max="99" class="item"> <i class="el-icon-message-solid"></i> </el-badge> </el-tooltip> <!-- 娑堟伅鎿嶄綔 --> - <div class="message-card" v-if="flag.message" @mouseleave=" flag.message = false "> + <div class="message-card" v-if="flag.message" @mouseleave="flag.message = false"> <el-card class="box-card"> <div class="card-header"> <span>娑堟伅涓績</span> <el-button type="text">鎺ユ敹璁剧疆</el-button> </div> <div v-for="item in menuMessageList" :key="item.id" class="message-card__item"> - <span class="label">{{item.label}}</span> - <span>({{item.num}})</span> + <router-link to='/home/operate/message/messageIndex'> + <span @click="" class="label">{{ item.label }}</span> + </router-link> + <span>({{ item.num }})</span> </div> </el-card> </div> </div> <!-- 璁剧疆 --> - <div class="menu-right__item btn"> + <!-- <div class="menu-right__item btn"> <el-tooltip effect="dark" content="璐︽埛璁剧疆" placement="bottom-end" :hide-after="1000"> <i class="el-icon-s-tools"></i> </el-tooltip> - </div> + </div> --> <!-- 閫�鍑虹櫥褰� --> <div class="menu-right__item btn" @click="loginout"> <el-tooltip effect="dark" content="閫�鍑虹櫥褰�" placement="bottom-end" :hide-after="1000"> <i class="el-icon-switch-button"></i> </el-tooltip> </div> + <el-dialog :visible.sync="updatePasswordDialog" width="40%" title="淇敼瀵嗙爜" v-if="updatePasswordDialog" + :before-close="handleClose"> + <updatePassword /> + </el-dialog> + <el-dialog :visible.sync="baseInformationVisible" width="35%" title="鍩烘湰淇℃伅" v-if="baseInformationVisible" + :before-close="handleClose"> + <el-form :model="user" class="info" label-width="6vw"> + <el-form-item label="鐢ㄦ埛ID" min-width="6"> + <el-input v-model="user.id"></el-input> + </el-form-item> + <el-form-item prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10"> + <el-input v-model="user.nickName"></el-input> + </el-form-item> + <el-form-item prop="nickName" label="鎵�灞炲鍚�" min-width="8"> + <el-input v-model="user.username"></el-input> + </el-form-item> + <el-form-item prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7"> + <el-input v-model="user.mobile"></el-input> + </el-form-item> + <!-- <el-form-item prop="departName" label="鎵�灞為儴闂�" min-width="8"> + <el-input v-model="user.mobile"></el-input> + </el-form-item> --> + <el-form-item prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="8"> + <el-input v-model="user.jobTitle"></el-input> + </el-form-item> + <el-form-item prop="createTime" label="鍒涘缓鏃堕棿" min-width="10"> + <el-input v-model="user.createTime"></el-input> + </el-form-item> + </el-form> + + </el-dialog> </div> </el-header> </template> <script> +import updatePassword from "./updatePassword"; export default { + components: { + updatePassword + }, data() { return { + baseInformationVisible: false, + updatePasswordDialog: false, menuLeftList: [ { label: '椹鹃┒鑸�', @@ -123,6 +162,31 @@ this.getLoginInfo(); }, methods: { + baseInfo() { + this.baseInformationVisible = true; + const name = sessionStorage.getItem('name'); + this.$axios({ + method: 'get', + url: 'sccg/admin/info?name=' + name, + }) + .then(res => { + sessionStorage.setItem('user', JSON.stringify(res.data)); + this.user = res.data.user; + }) + }, + handleClose(done) { + this.$confirm("纭鍏抽棴锛�") + .then((_) => { + this.dialogUpload = false; + // this.dialogUpdate = false; + done(); + }) + .catch((_) => { }); + }, + //淇敼瀵嗙爜 + updatePassword() { + this.updatePasswordDialog = true; + }, // 閫�鍑哄姛鑳� loginout() { this.$confirm('閫�鍑虹郴缁熺‘璁�', '纭鎻愮ず', { @@ -150,7 +214,7 @@ getLoginInfo() { const info = JSON.parse(sessionStorage.getItem('user')); if (info) { - this.user = info; + this.user = info; } else { const name = sessionStorage.getItem('name'); this.$axios({ @@ -159,7 +223,7 @@ }) .then(res => { sessionStorage.setItem('user', JSON.stringify(res.data)); - this.user = res.data; + this.user = res.data.user; }) } } @@ -168,6 +232,12 @@ </script> <style lang="scss" scoped> + ::v-deep .el-form{ + padding: 3vh 5vw; + .el-form-item__label{ + color: #4b9bb7; + } +} .el-header { background-color: #071a38; color: #333; @@ -240,6 +310,7 @@ top: 60px; width: 120px; z-index: 3000; + .user-card__item { padding: 5px 0; @@ -273,6 +344,7 @@ width: 180px; left: -50px; z-index: 3000; + :deep(.el-card__body) { padding: 0; } diff --git a/src/views/layout/components/Header/updatePassword/index.vue b/src/views/layout/components/Header/updatePassword/index.vue new file mode 100644 index 0000000..60f4736 --- /dev/null +++ b/src/views/layout/components/Header/updatePassword/index.vue @@ -0,0 +1,183 @@ +<template> + <div class="createUser"> + <main> + <div class="mainContent"> + <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car" + label-position="right"> + <!-- 杞︾墝鍙� --> + <el-form-item class="optionItem" label="褰撳墠瀵嗙爜:" prop="carNumber"> + <el-input v-model="car.carNumber" placeholder="璇峰~鍐欏綋鍓嶅瘑鐮�" disabled></el-input> + </el-form-item> + <!-- 鎵�灞為儴闂� --> + <el-form-item class="optionItems" label="鏂板瘑鐮�:" prop="depart"> + <el-input v-model="car.depart" placeholder="璇峰~鍐欐柊瀵嗙爜" disabled></el-input> + </el-form-item> + <!-- 鎵�灞炲ぇ闃� --> + <el-form-item class="optionItems" label="纭畾鏂板瘑鐮�:" prop="belong"> + <el-input v-model="car.belong" placeholder="璇蜂簩娆″~鍐欐柊瀵嗙爜" disabled></el-input> + </el-form-item> + </el-form> + </div> + </main> + </div> +</template> +<script> +import {validateCarNum,validatePhone,validateName} from '@/utils/validate' +export default { + data() { + const checkCarNum = (rule, value, callback) => { + if (value) { + if(validateCarNum(value)){ + callback() + }else{ + callback(new Error('璇疯緭鍏ユ纭殑杞︾墝鍙�')); + } + } else { + callback(new Error('杞︾墝鍙蜂笉鑳戒负绌�')); + } + } + const checkName = (rule, value, callback) => { + if (value) { + if(validateName(value)){ + callback() + }else{ + callback(new Error('璇锋纭緭鍏ヨ溅涓诲鍚�')); + } + } else { + callback(new Error('杞︿富濮撳悕涓嶈兘涓虹┖')); + } + } + const checkUser = (rule, value, callback) => { + if (value) { + if(validateName(value)){ + callback() + }else{ + callback(new Error('璇锋纭緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�')); + } + } else { + callback(new Error('杞﹁締浣跨敤浜哄憳涓嶈兘涓虹┖')); + } + } + const checkPhone = (rule, value, callback) => { + if (value) { + if(validatePhone(value)){ + callback() + }else{ + callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�')); + } + } else { + callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖')); + } + } + return { + car: { + }, + createCarRules: { + carNumber: [ + { + required: true, trigger:'blur', validator: checkCarNum + } + ], + contact: [ + { + required: true,trigger:'blur', validator: checkPhone + } + ], + // id: 0, + ownerName: [ + { + required: true,trigger:'blur', validator: checkName + } + ], + vehicleUser: [ + { + required: true,trigger:'blur', validator: checkUser + } + ] + }, + teamList: [ + { + label: '澶ч槦涓�', + value: 1, + }, + { + label: '澶ч槦浜�', + value: 2, + }, + ] + } + }, + created() { + // console.log(this.info); + // this.car = JSON.parse(JSON.stringify(this.info)); + }, + methods: { + }, + // props: ['info'] +} +</script> +<style lang="scss" scoped> +.createUser { + border-radius: 1px; + background-color: #09152f; + + main { + // border: 1px solid #fff; + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + .optionBtn { + display: flex; + margin-top: 20px; + + .btn { + padding: 12px 50px; + } + } + + } + } + + &::v-deep .el-textarea__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + ::v-deep .el-form-item__label { + color: #4b9bb7; + } + + ::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } +} +</style> \ No newline at end of file diff --git a/src/views/layout/components/Main/index.vue b/src/views/layout/components/Main/index.vue index 1bf7ce1..268880c 100644 --- a/src/views/layout/components/Main/index.vue +++ b/src/views/layout/components/Main/index.vue @@ -2,7 +2,16 @@ <el-main> <!-- <NavBar /> --> <div class="content"> - <router-view></router-view> + <!-- 椤甸潰瀵艰埅鍖哄煙 --> + <div class="page-nav" v-if="navFlag"> + <div class="nav-item" v-for="item in navList" :key="item.id"> + <div class="nav-title">{{item.title}}</div> + <div class="nav-child" v-if="item.children && item.children.length!==0"> + <el-link :underline="false" class="child-item" v-for="child in item.children" @click="handleJump(child.link)" :key="child.id">{{child.label}}</el-link> + </div> + </div> + </div> + <router-view v-else></router-view> <!-- 搴曢儴鍖哄煙 --> <!-- <MyFooter/> --> </div> @@ -17,6 +26,165 @@ components: { // MyFooter, NavBar + }, + data() { + return { + navFlag: true, + navList:[ + { + id:1, + title:'绯荤粺璁剧疆', + children:[ + { + id:2, + label:'鐢ㄦ埛绠$悊', + link:'/system/userSetting/user', + }, + { + id:3, + label:'瑙掕壊绠$悊', + link:'/system/userSetting/role', + }, + { + id:4, + label:'閮ㄩ棬绠$悊', + link:'/system/userSetting/department', + }, + { + id:5, + label:'鍗″彛璁惧绠$悊', + link:'/system/device/bayonet', + }, + { + id:6, + label:'鐐逛綅绠$悊', + link:'/system/device/point', + }, + ] + }, + { + id:7, + title:'杩愯惀绠$悊', + children:[ + { + id:8, + label:'妗堜欢姹�', + link:'/operate/casepool/pool', + }, + { + id:9, + label:'涓婃姤绠$悊', + link:'/operate/casepool/escalation', + }, + { + id:10, + label:'璋冨害绠$悊', + link:'/operate/casepool/dispatch', + }, + { + id:11, + label:'瀹℃牳绠$悊', + link:'/operate/management/myIndex', + }, + { + id:12, + label:'鎴戠殑寰呭姙', + link:'/operate/myWait', + }, + { + id:12, + label:'妗堝嵎鏌ヨ', + link:'/operate/viewEvent', + }, + { + id:12, + label:'杞﹁締绠$悊', + link:'/operate/car/carIndex', + }, + { + id:12, + label:'鍥剧墖绠$悊', + link:'/operate/images', + }, + { + id:12, + label:'瑙嗛绠$悊', + link:'/operate/videoControl', + }, + { + id:12, + label:'娑堟伅绠$悊', + link:'/operate/message/messageIndex', + }, + { + id:12, + label:'鐭俊绠$悊', + link:'/operate/sms/smsIndex', + }, + { + id:12, + label:'鏃ュ織绠$悊', + link:'/operate/log', + }, + ] + }, + { + id:1, + title:'瑙嗛宸℃煡', + children:[ + { + id:2, + label:'瑙嗛宸℃煡', + link:'/video', + }, + ] + }, + { + id:1, + title:'鏅鸿兘宸℃煡', + children:[ + { + id:2, + label:'棰勮鐮斿垽', + link:'/studyJudge', + }, + { + id:3, + label:'杩濊妫�绱�', + link:'/illegalSearch', + }, + { + id:4, + label:'瓒嬪娍鍒嗘瀽', + link:'/trendAnalysis', + }, + { + id:5, + label:'杩濈珷缁熻', + link:'/trendAnalysis', + }, + { + id:6, + label:'杩濇硶缁熻', + link:'/typeStatistics', + }, + ] + }, + ] + } + }, + watch: { + '$route.path'(newPath, oldPath) { + newPath === '/home' ? this.navFlag = true : this.navFlag = false + } + }, + methods:{ + handleJump(url){ + const baseURL = '/home' + console.log(url) + // 璺敱璺宠浆 + this.$router.push({path:baseURL+url}) + } } }; </script> @@ -24,8 +192,48 @@ .el-main { min-width: 1024px; padding: 0; + .content { padding: 11px; + height: 100%; + .page-nav{ + padding: 40px 100px; + text-align: left; + .nav-item{ + line-height: 60px; + .nav-title{ + color: #4b9bb7; + } + .nav-child{ + display: flex; + // justify-content: space-between; + flex-wrap: wrap; + .el-link{ + justify-content: flex-start; + padding-left: 30px; + } + .child-item{ + width: 24%; + text-align: left; + margin-bottom: 22px; + margin-right: 1%; + border: 1px solid #17324c; + color: #4b9bb7; + position: relative; + &::after{ + content: ''; + display: block; + position: absolute; + left: 15px; + height: 8px; + width: 8px; + border-radius: 50%; + background-color: #4b9bb7; + } + } + } + } + } } } </style> diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue index 3599b9d..10e0feb 100644 --- a/src/views/layout/components/Menu/index.vue +++ b/src/views/layout/components/Menu/index.vue @@ -82,6 +82,7 @@ if (info && info.menus) { clearTimeout(timer); this.menuList = info.menus; + console.log(this.menuList) } else { timer = setInterval(() => { this.loadMenu(); diff --git a/src/views/operate/car/lawCar/index.vue b/src/views/operate/car/lawCar/index.vue index 9209bd1..eb8a456 100644 --- a/src/views/operate/car/lawCar/index.vue +++ b/src/views/operate/car/lawCar/index.vue @@ -1,3 +1,95 @@ <template> - <div class="law-car"></div> -</template> \ No newline at end of file + <div class="law-car"> + <div class="law-car-header"> + <span>鍩烘湰淇℃伅</span> + </div> + <div class="law-car-main"> + <el-form :inline="true" :model="car"> + <div class="car-item"> + <el-form-item label="杈撳叆鏌ヨ:" class="car-item-container"> + <el-input v-model="car.carNumber" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input> + </el-form-item> + <el-form-item label="杞︿富濮撳悕:" class="car-item-container car-item-box"> + <div>{{car.carOwner}}</div> + </el-form-item> + <el-form-item label="鑱旂郴鏂瑰紡:" class="car-item-container car-item-box"> + <div>{{car.carPhone}}</div> + </el-form-item> + </div> + <div class="car-item"> + <el-form-item label="鎵�灞為儴闂�:" class="car-item-container"> + <div>{{car.carDept}}</div> + </el-form-item> + <el-form-item label="鎵�灞炲ぇ闃�:" class="car-item-container car-item-box"> + <div>{{car.carTeam}}</div> + </el-form-item> + </div> + </el-form> + </div> + <div class="law-car-footer"> + <div>杞﹁締杞ㄨ抗鍒嗘瀽鍥�</div> + <div class="map-box"> + <MyMap></MyMap> + </div> + </div> + </div> +</template> +<script> +import MyMap from '@/components/map' +export default { + components:{ + MyMap + }, + data() { + return { + carNumber: '', + car: { + + } + } + } +} +</script> +<style lang="scss" scoped> +.law-car { + color: #4b9bb7; + padding: 20px; + .law-car-header{ + line-height: 60px; + text-align: left; + } + .law-car-main { + display: flex; + flex-direction: column; + .car-item{ + line-height: 60px; + display: flex; + flex: 1; + text-align: left; + .car-item-box{ + margin-left: 10%; + } + .car-item-container{ + width: 26%; + } + } + ::v-deep .el-form-item__label { + color: #4b9bb7; + } + + ::v-deep .el-form-item { + line-height: 40px; + } + } + .law-car-footer{ + div:nth-child(1){ + text-align: left; + line-height: 40px; + } + .map-box{ + width: 100%; + height: 55vh; + } + } +} +</style> \ No newline at end of file diff --git a/src/views/operate/car/soilCar/index.vue b/src/views/operate/car/soilCar/index.vue index 916305e..87d6caf 100644 --- a/src/views/operate/car/soilCar/index.vue +++ b/src/views/operate/car/soilCar/index.vue @@ -1,3 +1,103 @@ <template> - <div class="soil-car"></div> -</template> \ No newline at end of file + <div class="soil-car"> + <div class="soil-car-header"> + <span>鍩烘湰淇℃伅</span> + </div> + <div class="soil-car-main"> + <el-form :inline="true" :model="car"> + <div class="car-item"> + <el-form-item label="杈撳叆鏌ヨ:" class="car-item-container"> + <el-input v-model="car.carNumber" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input> + </el-form-item> + <el-form-item label="杞﹁締浣跨敤浜哄憳:" class="car-item-container car-item-box"> + <div>{{ car.carOwner }}</div> + </el-form-item> + <el-form-item label="鑱旂郴鏂瑰紡:" class="car-item-container car-item-box"> + <div>{{ car.carPhone }}</div> + </el-form-item> + </div> + <div class="car-item"> + <el-form-item label="鏂藉伐鍗曚綅:" class="car-item-container"> + <div>{{ car.carDept }}</div> + </el-form-item> + <el-form-item label="鏂藉伐鍦板潃:" class="car-item-container car-item-box"> + <div>{{ car.carTeam }}</div> + </el-form-item> + </div> + </el-form> + </div> + <div class="soil-car-footer"> + <div>杞﹁締杞ㄨ抗鍒嗘瀽鍥�</div> + <div class="map-box"> + <MyMap></MyMap> + </div> + </div> + </div> +</template> +<script> +import MyMap from '@/components/map' +export default { + components: { + MyMap + }, + data() { + return { + carNumber: '', + car: { + + } + } + } +} +</script> +<style lang="scss" scoped> +.soil-car { + color: #4b9bb7; + padding: 20px; + + .soil-car-header { + line-height: 60px; + text-align: left; + } + + .soil-car-main { + display: flex; + flex-direction: column; + + .car-item { + line-height: 60px; + display: flex; + flex: 1; + text-align: left; + + .car-item-box { + margin-left: 10%; + } + + .car-item-container { + width: 26%; + } + } + + ::v-deep .el-form-item__label { + color: #4b9bb7; + } + + ::v-deep .el-form-item { + line-height: 40px; + } + } + + .soil-car-footer { + div:nth-child(1) { + text-align: left; + line-height: 40px; + } + + .map-box { + width: 100%; + height: 55vh; + } + } +} +</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/threepack/components/aside/index.vue b/src/views/operate/fivepack/threepack/components/aside/index.vue index a408d45..0231898 100644 --- a/src/views/operate/fivepack/threepack/components/aside/index.vue +++ b/src/views/operate/fivepack/threepack/components/aside/index.vue @@ -14,37 +14,37 @@ data() { return { data: [{ - label: '涓�绾� 1', + label: '濡欓珮琛楅亾', children: [{ - label: '浜岀骇 1-1', + label: '涓滆', children: [{ - label: '涓夌骇 1-1-1' + label: '铻鸿洺鍨�' }] }] }, { - label: '涓�绾� 2', + label: '浜戝嘲琛楅亾', children: [{ - label: '浜岀骇 2-1', + label: '涓滀涵', children: [{ - label: '涓夌骇 2-1-1' + label: '闅旀邯' }] }, { - label: '浜岀骇 2-2', + label: '椹ご', children: [{ - label: '涓夌骇 2-2-1' + label: '榫欏彛' }] }] }, { - label: '涓�绾� 3', + label: '鏂拌矾婀鹃晣', children: [{ - label: '浜岀骇 3-1', + label: '鏂拌矾婀鹃晣', children: [{ - label: '涓夌骇 3-1-1' + label: '鏂拌矾婀鹃晣' }] }, { - label: '浜岀骇 3-2', + label: '鏂拌矾婀鹃晣', children: [{ - label: '涓夌骇 3-2-1' + label: '鏂拌矾婀鹃晣' }] }] }], diff --git a/src/views/operate/fivepack/threepack/components/createUser/index.vue b/src/views/operate/fivepack/threepack/components/createUser/index.vue deleted file mode 100644 index d9fa34f..0000000 --- a/src/views/operate/fivepack/threepack/components/createUser/index.vue +++ /dev/null @@ -1,316 +0,0 @@ -<template> - <div class="createUser"> - <main> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules" - label-position="right"> - <!-- 搴楅摵绫诲瀷 --> - <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="nickName"> - <el-select v-model="user.userType" placeholder="閫夋嫨搴楅摵/闂ㄥ簵绫诲瀷"> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> - <!-- 搴楅摵鍚嶇О --> - <el-form-item class="optionItems" label="搴楅摵鍚嶇О:" prop="password"> - <el-input v-model="user.password" type="password" placeholder="璇峰~鍐欏簵閾哄悕绉�"></el-input> - </el-form-item> - <!-- 璐熻矗浜� --> - <el-form-item class="optionItem" label="璐熻矗浜�:" prop="username"> - <el-input v-model="user.username" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input> - </el-form-item> - <!-- 搴楅摵鎻忚堪 --> - <el-form-item class="optionItem" label="搴楅摵鎻忚堪:" prop="mobile"> - <el-input type="textarea" v-model="user.mobile" placeholder="杈撳叆搴楅摵鎻忚堪"></el-input> - </el-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="email"> - <el-input v-model="user.email" placeholder="璇峰~鍐欏簵閾鸿仈绯绘柟寮�"></el-input> - </el-form-item> - <!-- 搴楅摵鍦板潃 --> - <el-form-item class="optionItem" label="搴楅摵鍦板潃:" prop="userType"> - <el-select v-model="user.userType" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�"> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> - </el-form> - </div> - </main> - <footer> - <div class="optionBtn"> - <el-button class="btn reset">鍙栨秷</el-button> - <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button> - </div> - </footer> - </div> -</template> -<script> -export default { - data() { - const validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); - } - }; - const validatePass = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - const rep = /^\w+$/; - if (!rep.test(value)) { - callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); - } - } - }; - const validateTruename = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰鍚�")); - } else { - const rep = /^[\u4E00-\u9FA5]{2,4}$/; - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕"); - } - } - }; - const validatePhone = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); - } else { - const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } - } - }; - const validateMail = (rule, value, callback) => { - if (value) { - const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; - if (!rep.test(value)) { - callback(new Error("璇疯緭鍏ユ纭殑閭")) - } - } - }; - const validateRole = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateType = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateDepartment = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateWork = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateMac = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateIp = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - return { - user: { - nickName: '', - password: '', - username: '', - // gender: 1, - isDy: 0, - mobile: '', - email: '', - // role: null, - userType: null, - zj: { - areaNumber: '', - phoneNumber: "", - moreNumber: "", - }, - departmentId: null, - jobTitle: null, - // mac: '', - // ip: '', - }, - createUserRules: { - nickName: [ - { required: true, trigger: "blur", validator: validateNickname }, - ], - password: [ - { required: true, trigger: "blur", validator: validatePass }, - ], - username: [ - { required: true, trigger: "blur", validator: validateTruename }, - ], - // gender: [ - // { required: true, trigger: "blur" }, - // ], - isDy: [ - { required: true, trigger: "blur" }, - ], - mobile: [ - { required: true, trigger: "blur", validator: validatePhone }, - ], - email: [ - { required: false, trigger: "blur", validator: validateMail }, - ], - // role: [ - // { required: true, trigger: "blur", validator: validateRole }, - // ], - userType: [ - { required: true, trigger: "blur", validator: validateType }, - ], - zj: [ - { required: false, trigger: "blur" }, - ], - departmentId: [ - { required: true, trigger: "blur", validator: validateDepartment }, - ], - jobTitle: [ - { required: true, trigger: "blur", validator: validateWork }, - ], - // mac: [ - // { required: false, trigger: "blur", validator: validateMac }, - // ], - // ip: [ - // { required: false, trigger: "blur", validator: validateIp }, - // ], - }, - roleList: [ - { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 } - ], - typeList: [] - } - }, - created() { - const that = this; - // 鑾峰彇瑙掕壊鍒楄〃 - // this.$axios.get('') - // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃 - // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{ - // console.log(res); - // }) - // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 - this.$axios.get('sccg/depart/page').then(res => { - that.typeList = res.data.records; - }) - }, - methods: { - handleUser() { - const { user } = this; - this.$axios.post('sccg/store/storeinfo/add',{ - contact:'18728108911', - idcardinfo:'511025199910028213', - owner:'娴嬭瘯浜哄憳', - storeaddr:'鍥涘窛鐪�', - storename:'娴嬭瘯搴椾竴', - storephoto:'111', - storescore:0, - }) - .then(res => { - console.log(res); - // if (res.code === 200) { - // console.log(1); - // this.$emit('sendDialog', { flag: false }); - // } - }) - }, - }, - props: ['sendDialog'] -} -</script> -<style lang="scss" scoped> -.createUser { - border-radius: 1px; - background-color: #09152f; - padding-bottom: 50px; - - main { - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-top: 20px; - - .mainContent { - display: flex; - justify-content: center; - margin-top: 50px; - - &::v-deep .el-form-item__label { - color: #4b9bb7; - } - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - &::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - } - } - - footer { - border-top: 1px solid #4b9bb7; - display: flex; - justify-content: flex-end; - padding: 0 20px; - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/threepack/components/header/index.vue b/src/views/operate/fivepack/threepack/components/header/index.vue index 35c292d..1ef6986 100644 --- a/src/views/operate/fivepack/threepack/components/header/index.vue +++ b/src/views/operate/fivepack/threepack/components/header/index.vue @@ -8,31 +8,38 @@ </div> <div class="status"> <span>搴楅摵鐘舵��:</span> - <el-input placeholder="閫夋嫨搴楅摵鐘舵��" v-model="search"></el-input> + <el-select v-model="storeState" placeholder="閫夋嫨搴楅摵鐘舵��"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> </div> <div class="findBtn"> <el-button type="primary" @click="setSearch" icon="el-icon-search">鏌ヨ</el-button> - <el-button icon="el-icon-delete-solid">閲嶇疆</el-button> + <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button> </div> </div> - </div> - <div class="footer"> - <el-dialog :visible.sync="dialogCreate" title="娣诲姞搴楅摵" width="45%" v-if="dialogCreate"> - <createUser @sendDialog="sendDialog" /> - </el-dialog> </div> </header> </template> <script> -import createUser from "../createUser"; export default { components: { - createUser, }, data() { return { dialogCreate: false, search: '', + storeState: null, + options:[ + { + label:'钀ヤ笟', + value:1 + }, + { + label:'鍊掗棴', + value:2 + } + ] } }, methods: { @@ -43,6 +50,12 @@ console.log(flag); this.dialogCreate = flag.flag; this.$emit('setDialog', { flag: true }) + }, + // 閲嶇疆鎼滅储鏉′欢 + handleReset(){ + console.group(1) + this.search = '', + this.storeState =null } }, props: ['setDialog', 'getSearch', 'flag'], @@ -59,9 +72,11 @@ line-height: 100px; justify-content: space-between; align-items: center; - .find{ + + .find { display: flex; } + .search, .status { display: flex; diff --git a/src/views/operate/fivepack/threepack/components/main/index.vue b/src/views/operate/fivepack/threepack/components/main/index.vue index 8633125..06f01a5 100644 --- a/src/views/operate/fivepack/threepack/components/main/index.vue +++ b/src/views/operate/fivepack/threepack/components/main/index.vue @@ -3,44 +3,42 @@ <div class="mainContent"> <!-- 鏁版嵁灞曠ず --> <el-table ref="multipleTable" - :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" + :header-cell-style="{ background: '#06122c', 'font-size': '12px', color: '#4b9bb7', 'font-weight': '650', 'line-height': '45px' }" :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> <el-table-column type="selection" min-width="5"> </el-table-column> - <el-table-column label="搴楅摵缂栧彿" min-width="10"> - <template slot-scope="scope">{{ scope.row.id }}</template> + <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10"> </el-table-column> - <el-table-column prop="nickName" label="搴楅摵鍚嶇О" min-width="10"> + <el-table-column prop="storeName" label="搴楅摵鍚嶇О" min-width="10"> </el-table-column> - <el-table-column prop="username" label="搴楅摵鑱旂郴浜�" min-width="10"> + <el-table-column prop="storeOwner" label="搴楅摵鑱旂郴浜�" min-width="10"> </el-table-column> - <el-table-column prop="mobile" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10"> + <el-table-column prop="storePhone" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10"> </el-table-column> - <el-table-column prop="note" label="搴楅摵璇︾粏鍦板潃" min-width="10"> + <el-table-column prop="storeAddress" label="搴楅摵璇︾粏鍦板潃" min-width="10"> </el-table-column> - <el-table-column prop="note" label="鍏宠仈鎽勫儚鏈�" min-width="10"> + <el-table-column prop="storeMoni" label="鍏宠仈鎽勫儚鏈�" min-width="10"> </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> + <el-table-column prop="operation" label="鎿嶄綔" min-width="20"> <template slot-scope="scope"> <div class="operation"> - <el-link icon="el-icon-edit" :underline="false">缂栬緫</el-link> - <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false">鍒犻櫎</el-link> - <el-link icon="el-icon-edit" :underline="false">鎺ㄩ�佷俊鎭�</el-link> - <el-link icon="el-icon-edit" :underline="false">鏌ョ湅</el-link> + <el-link icon="el-icon-edit" :underline="false" @click="hadnleView(scope.row,0)">缂栬緫</el-link> + <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete(scope.row.id)">鍒犻櫎</el-link> + <el-link class="leftPx" icon="el-icon-edit" :underline="false">鎺ㄩ�佷俊鎭�</el-link> + <el-link class="leftPx" icon="el-icon-edit" :underline="false" @click="hadnleView(scope.row,1)">鏌ョ湅</el-link> </div> </template> </el-table-column> </el-table> <!-- 鏌ョ湅淇敼椤甸潰 --> <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate" - :title="updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'"> - <updateUser :updateFlag="updateFlag" :userInfo=userInfo /> - </el-dialog> + :title="updateFlag ? '淇敼搴楅摵淇℃伅' : '鏌ョ湅搴楅摵淇℃伅'" :before-close="handleClose"> + <updateUser :updateFlag="updateFlag" :userInfo=userInfo @handleUpdateData="handleUpdateData" /> + </el-dialog> <!-- 鍒嗛〉 --> <div class="pagination"> <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" - :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" - @next-click="handleNext"> + :page-size="pageSize" @current-change="changeCurrentPage"> </el-pagination> </div> </div> @@ -55,7 +53,53 @@ }, data() { return { - tableData: [], + tableData: [ + { + id: 1, + storeNumber: '1002220212', + storeName: '搴楅摵1', + storeOwner: '寮犱笁', + storePhone: '17844631885', + storeAddress: '鐢滃績琛�12鍙�', + storeMoni: '鎽勫儚澶�1' + }, + { + id: 2, + storeNumber: '1002220213', + storeName: '搴楅摵2', + storeOwner: '寮犱笁', + storePhone: '17844631885', + storeAddress: '鐢滃績琛�13鍙�', + storeMoni: '鎽勫儚澶�1' + }, + { + id: 3, + storeNumber: '1002220214', + storeName: '搴楅摵3', + storeOwner: '寮犱笁', + storePhone: '17844631885', + storeAddress: '鐢滃績琛�14鍙�', + storeMoni: '鎽勫儚澶�1' + }, + { + id: 4, + storeNumber: '1002220215', + storeName: '搴楅摵4', + storeOwner: '寮犱笁', + storePhone: '17844631885', + storeAddress: '鐢滃績琛�15鍙�', + storeMoni: '鎽勫儚澶�1' + }, + { + id: 5, + storeNumber: '1002220216', + storeName: '搴楅摵5', + storeOwner: '寮犱笁', + storePhone: '17844631885', + storeAddress: '鐢滃績琛�16鍙�', + storeMoni: '鎽勫儚澶�1' + }, + ], search: "111", dialogUpdate: false, updateFlag: false, @@ -67,66 +111,49 @@ } }, created() { - this.getUserList(); }, methods: { + // 鍒犻櫎鏁版嵁 + handleDelete(id){ + const {tableData} = this + let idx + for(let key in tableData){ + tableData[key].id === id ? idx = key :'' + } + this.tableData.splice(idx,1) + }, + // 鎵撳紑寮圭獥 + hadnleView(data,index){ + index === 0 ? this.updateFlag = true : this.updateFlag = false + this.userInfo = data + this.dialogUpdate = true + }, + // 鑷畾涔夊叧闂脊绐� + handleClose(done){ + if(this.updateFlag){ + this.$confirm('纭鍏抽棴?') + .then(_=>{ + done() + }) + }else{ + done() + } + }, + // 鏇存柊鏁版嵁 + handleUpdateData(obj){ + const {tableData} = this + let index = -1 + for(let item in tableData){ + if(tableData[item].id===obj.id){ + index = item + } + } + this.tableData.splice(index,1,obj) + this.dialogUpdate = false + }, // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� changeCurrentPage(page) { this.currentPage = page; - this.getUserList(); - }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - this.getUserList(); - }, - // 淇敼瑙掕壊 - handleChangeRole(obj) { - this.dialogUpdate = true - this.user = obj; - // console.log(obj) - }, - // 淇敼鐢ㄦ埛鐘舵�� - handleChangeStatus(obj) { - let { id, status } = obj; - status == true ? status = 1 : status = 0; - this.$axios.post(`sccg/admin/updateStatus/` + id + '?status=' + status).then(res => { - console.log(res); - }) - }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getUserList() { - const that = this; - const { currentPage, pageSize, search } = this; - // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜) - // this.$axios.get(`sccg/store/storeinfo/list?keyword=${search}&pageNum=${currentPage}&pageSize=${pageSize}`).then(res => { - // if (res.code === 200) { - // res.data.records.forEach(item => { - // item.createTime = helper(item.createTime); - // item.status == 1 ? item.status = true : item.status = false; - // }) - // that.totalNum = res.data.pages * pageSize; - // that.tableData = res.data.records; - // this.renderFlag = true; - // } - // }) - }, - // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼) - handleFind(rowData) { - this.dialogUpdate = true; - this.updateFlag = false; - this.userInfo = rowData; - }, - // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅 - handleUpdate(rowData) { - this.dialogUpdate = true; - this.updateFlag = true; - this.userInfo = rowData }, // 璁剧疆琛ㄦ牸鏂戦┈绾� tableRowClassName({ row, rowIndex }) { @@ -147,12 +174,11 @@ if (this.keyword != '') { this.search = this.keyword; } - this.getUserList(); this.$emit('resetFresh', { flag: false }) } }, immediate: true - } + }, } } </script> @@ -203,10 +229,6 @@ .operation { display: flex; - - .line { - padding: 0 5px; - } .el-button { // background-color: #fff; diff --git a/src/views/operate/fivepack/threepack/components/updateUser/index.vue b/src/views/operate/fivepack/threepack/components/updateUser/index.vue index eabcd01..be671fd 100644 --- a/src/views/operate/fivepack/threepack/components/updateUser/index.vue +++ b/src/views/operate/fivepack/threepack/components/updateUser/index.vue @@ -1,97 +1,33 @@ <template> <div class="updateUser"> - <!-- <header> - <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div> - </header> --> <main> - <!-- <div class="mainTitle">鍩虹淇℃伅</div> --> <div class="mainContent"> <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules" label-position="right"> - <!-- 鐢ㄦ埛鍚嶇О --> - <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="username"> - <el-input v-model="user.username" placeholder="濉啓鐢ㄦ埛鍚嶇О" :disabled="true"></el-input> + <!-- 搴楅摵缂栧彿 --> + <el-form-item class="optionItem" label="搴楅摵缂栧彿:" prop="storeNumber"> + <el-input v-model="user.storeNumber" placeholder="璇峰~鍐欏簵閾虹紪鍙�" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 鐢ㄦ埛瀵嗙爜 --> - <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password"> - <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" :disabled="true"> - </el-input> + <!-- 搴楅摵鍚嶇О --> + <el-form-item class="optionItem" label="搴楅摵鍚嶇О:" prop="storeName"> + <el-input v-model="user.storeName" placeholder="璇峰~鍐欏簵鍚嶇О" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 鎵�灞炵敤鎴峰鍚� --> - <!-- <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="true_name"> - <el-input v-model="user.true_name" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input> - </el-form-item> --> - <!-- 鎬у埆 --> - <!-- <el-form-item class="optionItem" label="鎬у埆:" prop="gender"> - <el-radio-group v-model="user.gender"> - <el-radio :label="1">鐢�</el-radio> - <el-radio :label="2">濂�</el-radio> - </el-radio-group> - </el-form-item> --> - <!-- 鏄惁鍏氬憳 --> - <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy"> - <el-radio-group v-model="user.isDy" disabled> - <el-radio :label="1">鏄�</el-radio> - <el-radio :label="0">鍚�</el-radio> - </el-radio-group> + <!-- 搴楅摵鑱旂郴浜� --> + <el-form-item class="optionItem" label="搴楅摵鑱旂郴浜�:" prop="storeOwner"> + <el-input v-model="user.storeOwner" placeholder="璇峰~鍐欏簵閾鸿仈绯讳汉" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 鎵�灞炴墜鏈哄彿鐮� --> - <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile"> - <el-input v-model="user.mobile" placeholder="璇峰~鍐欐墜鏈哄彿鐮�" :disabled="true"></el-input> + <!-- 搴楅摵鑱旂郴鐢佃瘽 --> + <el-form-item class="optionItem" label="搴楅摵鑱旂郴鐢佃瘽:" prop="storePhone"> + <el-input v-model="user.storePhone" placeholder="璇峰~鍐欏簵閾鸿仈绯荤數璇�" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 閭鍦板潃 --> - <el-form-item class="optionItem" label="閭鍦板潃:" prop="email"> - <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�" :disabled="true"></el-input> + <!-- 搴楅摵璇︾粏鍦板潃 --> + <el-form-item class="optionItem" label="搴楅摵璇︾粏鍦板潃:" prop="storeAddress"> + <el-input v-model="user.storeAddress" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 閫夋嫨瑙掕壊 --> - <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role"> - <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�"> - <el-option v-for="item in roleList" :key="item.name" :label="item.name" :value="item.value" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> --> - <!-- 鐢ㄦ埛绫诲瀷 --> - <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType"> - <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> - </el-option> - </el-select> + <!-- 鍏宠仈鎽勫儚鏈� --> + <el-form-item class="optionItem" label="鍏宠仈鎽勫儚鏈�:" prop="storeMoni"> + <el-input v-model="user.storeMoni" placeholder="璇峰~鍐欏叧鑱旀憚鍍忔満" :disabled="!updateFlag"></el-input> </el-form-item> - <!-- 搴ф満/鍒嗘満 --> - <!-- <el-form-item class="optionItem" label="搴ф満/鍒嗘満:" prop="zj"> - <div class="optionHandleSp"> - <el-input class="areaNumber" v-model="user.zj.areaNumber" placeholder="鐢佃瘽鍖哄彿"> - </el-input> - <el-input class="telNumber" v-model="user.zj.phoneNumber" placeholder="鐢佃瘽鍙风爜"> - </el-input> - <el-input class="moreNumber" v-model="user.zj.moreNumber" placeholder="鍒嗘満鍙风爜"> - </el-input> - </div> - </el-form-item> --> - <!-- 鎵�灞為儴闂� --> - <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId"> - <el-select v-model="user.department" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!updateFlag"> - <el-option v-for="item in typeList" :key="item.name" :label="item.departName" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 褰撳墠鑱屽姟 --> - <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle"> - <el-select v-model="user.work" placeholder="璇烽�夋嫨褰撳墠鑱屽姟" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <!-- 濉啓鎵�灞瀖ac鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac"> - <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input> - </el-form-item> --> - <!-- 濉啓鎵�灞瀒p鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip"> - <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input> - </el-form-item> --> <el-form-item v-if="updateFlag"> <div class="optionBtn"> <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 @@ -107,188 +43,89 @@ <script> export default { data() { - const validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); + const validateNumber = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵缂栧彿涓嶈兘涓虹┖')) } - }; - const validatePass = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - const rep = /^\w+$/; - if (!rep.test(value)) { - callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); - } + } + const validateName = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖')) } - }; - const validateTruename = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰鍚�")); - } else { - const rep = /^[\u4E00-\u9FA5]{2,4}$/; - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕"); - } + } + const validateOwner = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵鑱旂郴浜轰笉鑳戒负绌�')) } - }; - const validatePhone = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); - } else { - const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } + } + const validatePhone = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵鑱旂郴鐢佃瘽涓嶈兘涓虹┖')) } - }; - const validateMail = (rule, value, callback) => { - if (value) { - const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; - if (!rep.test(value)) { - callback(new Error("璇疯緭鍏ユ纭殑閭")) - } + } + const validateAddress = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵璇︾粏鍦板潃涓嶈兘涓虹┖')) } - }; - const validateRole = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); + } + const validateMoni = (rule,value,callback)=>{ + if(value){ + callback() + }else{ + callback(new Error('搴楅摵鍏宠仈鎽勫儚鏈轰笉鑳戒负绌�')) } - }; - const validateType = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateDepartment = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateWork = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateMac = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateIp = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; + } return { user: { - nickName: '', - password: '', - username: '', - // gender: 1, - isDy: 1, - mobile: '', - email: '', - // role: null, - userType: null, - zj: { - areaNumber: '', - phoneNumber: "", - moreNumber: "", - }, - departmentId: null, - jobTitle: null, - // mac: '', - // ip: '', + storeNumber: '', + storeName: '', + storeOwner: '', + storePhone: '', + storeAddress: '', + storeMoni: '' }, createUserRules: { - nickName: [ - { required: true, trigger: "blur", validator: validateNickname }, + storeNumber: [ + {trigger:'blur',validator:validateNumber} ], - password: [ - { required: true, trigger: "blur", validator: validatePass }, + storeName: [ + {trigger:'blur',validator:validateName} ], - username: [ - { required: true, trigger: "blur", validator: validateTruename }, + storeOwner: [ + {trigger:'blur',validator:validateOwner} ], - // gender: [ - // { required: true, trigger: "blur" }, - // ], - isDy: [ - { required: true, trigger: "blur" }, + storePhone: [ + {trigger:'blur',validator:validatePhone} ], - mobile: [ - { required: true, trigger: "blur", validator: validatePhone }, + storeAddress: [ + {trigger:'blur',validator:validateAddress} ], - email: [ - { required: false, trigger: "blur", validator: validateMail }, - ], - // role: [ - // { required: true, trigger: "blur", validator: validateRole }, - // ], - userType: [ - { required: true, trigger: "blur", validator: validateType }, - ], - zj: [ - { required: false, trigger: "blur" }, - ], - departmentId: [ - { required: true, trigger: "blur", validator: validateDepartment }, - ], - jobTitle: [ - { required: true, trigger: "blur", validator: validateWork }, - ], - // mac: [ - // { required: false, trigger: "blur", validator: validateMac }, - // ], - // ip: [ - // { required: false, trigger: "blur", validator: validateIp }, - // ], + storeMoni: [ + {trigger:'blur',validator:validateMoni} + ] }, - roleList: [ - { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 } - ], - typeList: [] } }, created() { const that = this; this.user = JSON.parse(JSON.stringify(that.userInfo)); - // 鑾峰彇瑙掕壊鍒楄〃 - // this.$axios.get('') - // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃 - // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{ - // console.log(res); - // }) - // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 - this.$axios.get('sccg/depart/page').then(res => { - that.typeList = res.data.records; - }) }, methods: { handleUser() { - const { user } = this; - this.$axios.post('sccg/depart/status', { - id: user.departmentId, - status: user.status ? 1 : 0, - }).then(res => { - console.log(res); - }) + this.$emit('handleUpdateData',this.user) } }, - props: ['userInfo', 'updateFlag'] + props: ['userInfo', 'updateFlag','handleUpdateData'] } </script> <style lang="scss" scoped> @@ -296,44 +133,17 @@ border-radius: 1px; background-color: #09152f; - // header { - // display: flex; - // justify-content: center; - // height: 60px; - // line-height: 60px; - // padding: 0 20px; - // border: 1px solid #fff; - // .headerTitle { - // color: #4b9bb7; - // font-weight: 600; - // } - - // .headerTip span { - // color: #ff3b6c; - // } - - // .headerTip label { - // color: #4b9bb7; - // } - // } - main { - // border: 1px solid #fff; text-align: left; padding: 0 55px; background-color: #09152f; padding-bottom: 50px; - // .mainTitle { - // color: #4b9bb7; - // font-weight: 600; - // line-height: 100px; - // font-size: 14px; - // } .mainContent { display: flex; justify-content: center; padding-top: 50px; + .el-form-item__content { width: 400px; diff --git a/src/views/operate/fivepack/threepack/index.vue b/src/views/operate/fivepack/threepack/index.vue index 086512c..af6d90e 100644 --- a/src/views/operate/fivepack/threepack/index.vue +++ b/src/views/operate/fivepack/threepack/index.vue @@ -50,6 +50,8 @@ display: flex; height: 100%; .right{ + flex: 1; + height: 100%; padding-left: 20px; } &::v-deep .el-dialog__header, diff --git a/src/views/operate/images/detailUser/index.vue b/src/views/operate/images/detailUser/index.vue new file mode 100644 index 0000000..cde5599 --- /dev/null +++ b/src/views/operate/images/detailUser/index.vue @@ -0,0 +1,322 @@ +<template> + <div class="updateUser"> + <main> + <div class="mainContent"> + <el-form ref="user" style="width: 100%;"> + <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�"> + <el-input v-model="imagedata.code"></el-input> + </el-form-item> + <el-form-item prop="code" label="澶х被鍚嶇О"> + <el-input v-model="imagedata.questionType"></el-input> + </el-form-item> + <el-form-item prop="code" label="灏忕被鍚嶇О"> + <el-input v-model="imagedata.bigType"></el-input> + </el-form-item> + <el-form-item prop="code" label="鍥剧墖Id"> + <el-input v-model="imagedata.imagesId"></el-input> + </el-form-item> + <el-form-item prop="code" label="涓婁紶鏃堕棿"> + <el-input v-model="imagedata.uploadTime"></el-input> + </el-form-item> + <el-form-item prop="questionType" label="鍥剧墖:" min-width="8"> + <img style="width: 180px;height: 120px;" :src=imagedata.imageUrl> + </el-form-item> + <!-- <el-form-item prop="questionType" label="闂绫诲瀷" min-width="8" v-model="imagedata.questionType"> + </el-form-item> + <el-form-item prop="bigType" label="澶х被鍚嶇О" min-width="8" v-model="imagedata.bigType"> + </el-form-item> + <el-form-item prop="smallType" label="灏忕被鍚嶇О" min-width="8" v-model="imagedata.smallType"> + </el-form-item> + <el-form-item prop="imagesId" label="鍥剧墖Id" min-width="8" v-model="imagedata.imagesId"> + </el-form-item> + <el-form-item prop="uploadTime" label="涓婁紶鏃堕棿" min-width="15" v-model="imagedata.uploadTime"> --> + <!-- </el-form-item> --> + <!-- <el-form-item v-if="updateFlag"> --> + <div class="optionBtn"> + <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 + </el-button> + </div> + <!-- </el-form-item> --> + </el-form> + </div> + </main> + </div> +</template> +<script> +import { getTypeList } from "@/utils/helper"; +export default { + data() { + + return { + + imagedata: { + code: "SJ202211010001", + questionType: "杩濊", + bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", + imagesId: "1", + uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.fabao365.xuanfa.cn%2Fimage%2F202107%2F130f9d19f204302f.jpg&refer=http%3A%2F%2Fimg.fabao365.xuanfa.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670034077&t=974b018f9e27023a01d2d8ad3c7c44f2" + }, + } + }, + created() { + // const that = this; + // this.user = JSON.parse(JSON.stringify(that.userInfo)); + // console.log(this.user); + // this.user.parentId = this.user.parentId === 0 ? '鏆傛棤涓婄骇閮ㄩ棬' : this.user.parentId; + // this.checkedList = this.user.userInfoDTOS; + // this.checkedList.forEach((e) => { + // this.checkedUser.push(e.userId); + // }); + // console.log(this.checkedUser) + // this.$axios({ + // method: "get", + // url: "sccg/depart/tree", + // }).then((res) => { + // that.departList = res.data; + // }); + // this.getUserList(this.user.id); + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // this.getDepartType(); + }, + methods: { + // handleUser() { + // this.$refs["user"].validate((valid) => { + // if (valid) { + // const { user, checkedList } = this; + // const arr = []; + // checkedList.forEach((item) => { + // arr.push({ leader: item.leader, userId: item.id ? item.id : item.userId }); + // }); + // if (arr.length === 0) { + // this.$message({ + // type: 'warning', + // message: '璇烽�夋嫨閮ㄩ棬浜哄憳', + // }) + // } else { + // this.$axios + // .post("sccg/depart/update", { + // id: user.id, + // departName: user.departName, + // parentId: user.parentId === '鏆傛棤涓婄骇閮ㄩ棬' ? 0 : user.parentId, + // departDes: user.departDes, + // departManagerList: arr, + // }) + // .then((res) => { + // this.$message({ + // message: res.message, + // type: res.code === 200 ? "success" : "warning", + // }); + // this.$emit("changeDialog", { flag: false }); + // this.getDepartList(); + // }); + // } + // } else { + // return false; + // } + // }); + // }, + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // async getDepartType() { + // this.typeList = await getTypeList(1, "08"); + // }, + + // // 璁剧疆棰嗗 + // setLeader(idx) { + // if (this.updateFlag) { + // this.checkedList.forEach((item, index) => { + // item.leader = index === idx; + // }); + // } + // }, + + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� + // getUserList(id) { + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜) + // this.$axios.get(`/sccg/depart/query_surplus_exist_user?id=`+id).then((res) => { + // if (res.code === 200) { + // this.userList = res.data; + // } + // }); + // }, + // addUser() { + // this.checkedList = []; + // this.userList.forEach((item) => { + // this.checkedUser.forEach((child) => { + // if (item.id == child) { + // this.checkedList.push({ + // id: item.id, + // username: item.username, + // leader: false, + // }); + // } + // }); + // }); + // this.checkedList[0].leader = true; + // console.log(this.checkedList); + // this.openUser = false; + // }, + // }, + // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"], + }, + props: ['updateFlag'] +}; +</script> +<style lang="scss" scoped> +.updateUser { + border-radius: 1px; + background-color: #09152f; + + main { + // border: 1px solid #fff; + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + // .mainTitle { + // color: #4b9bb7; + // font-weight: 600; + // line-height: 100px; + // font-size: 14px; + // } + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + .optionBtn { + display: flex; + margin-top: 20px; + justify-content: center; + + .btn { + padding: 12px 50px; + } + } + } + } +} + +.updateUser::v-deep .el-form-item__label { + color: #4b9bb7; +} + +.updateUser::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; +} + +.addPerson { + display: flex; + list-style: none; + padding: 0; + flex-wrap: wrap; + max-width: 280px; + + li { + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } +} + +.li-icon { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + margin: 0 auto; +} + +.li-btn { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; +} + +.card { + position: absolute; + z-index: 2000; + right: 0; + + .box-card { + min-height: 240px; + max-height: 260px; + overflow: hidden; + background-color: #09152f; + position: relative; + max-width: 220px; + + .scrollWrap { + overflow: scroll; + height: 180px; + position: relative; + color: #4b9bb7; + + .el-checkbox-group { + display: flex; + flex-direction: column; + + .el-checkbox { + line-height: 20px; + } + } + } + + .myclear { + width: 100%; + line-height: 20px; + color: #4b9bb7; + display: flex; + justify-content: space-between; + } + + .hidebar { + position: absolute; + top: 77px; + right: 20px; + width: 20px; + height: 180px; + background-color: #09152f; + } + + .item { + line-height: 40px; + } + } +} + +.leader { + color: red; +} + +.el-input { + width: 280px !important; +} +</style> \ No newline at end of file diff --git a/src/views/operate/images/index.vue b/src/views/operate/images/index.vue index c0d8ecd..dd18d97 100644 --- a/src/views/operate/images/index.vue +++ b/src/views/operate/images/index.vue @@ -5,7 +5,7 @@ <div class="search"> <span>绫诲瀷鏌ヨ:</span> <div class="option"> - <el-input v-model="info.type" placeholder="璇疯緭鍏ラ棶棰樻煡璇�"></el-input> + <el-input v-model="info.type" placeholder="璇疯緭鍏ラ棶棰樼被鍨�"></el-input> </div> <span>涓婁紶鏃堕棿:</span> <div class="option"> @@ -92,7 +92,7 @@ v-if="dialogcheck" :before-close="handleClose" > - <updateUser + <detailUser /> <!-- :updateFlag="updateFlag" :userInfo="userInfo" @@ -147,11 +147,12 @@ // import uploadIll from "./updateUser/uploadResult/ill" import createUser from "./createUser"; import updateUser from "./updateUser"; +import detailUser from "./detailUser"; export default { components: { // updateUser, // uploadVio, uploadIll, - updateUser, createUser + updateUser, createUser,detailUser }, data() { return { @@ -159,7 +160,7 @@ dialogcheck:false, tableData: [ { - code: "SJ202211010001", + code: "IMG202211010001", questionType: "杩濊", bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", @@ -167,7 +168,7 @@ uploadTime: "2022-10-31 20:20:01" }, { - code: "SJ202211010001", + code: "IMG202211010002", questionType: "杩濊", bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", @@ -175,7 +176,7 @@ uploadTime: "2022-10-31 20:20:01" }, { - code: "SJ202211010001", + code: "IMG202211010003", questionType: "杩濊", bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", @@ -183,7 +184,7 @@ uploadTime: "2022-10-31 20:20:01" }, { - code: "SJ202211010001", + code: "IMG202211010004", questionType: "杩濊", bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", diff --git a/src/views/operate/images/updateUser/index.vue b/src/views/operate/images/updateUser/index.vue index c25a5e3..3a844dc 100644 --- a/src/views/operate/images/updateUser/index.vue +++ b/src/views/operate/images/updateUser/index.vue @@ -3,31 +3,32 @@ <main> <div class="mainContent"> <el-form ref="user" style="width: 100%;"> - <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�" > + <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�"> <el-input v-model="imagedata.code"></el-input> </el-form-item> - <el-form-item prop="code" label="澶х被鍚嶇О" > + <el-form-item prop="code" label="澶х被鍚嶇О"> <el-input v-model="imagedata.questionType"></el-input> </el-form-item> - <el-form-item prop="code" label="灏忕被鍚嶇О" > + <el-form-item prop="code" label="灏忕被鍚嶇О"> <el-input v-model="imagedata.bigType"></el-input> </el-form-item> - <el-form-item prop="code" label="鍥剧墖Id" > + <el-form-item prop="code" label="鍥剧墖Id"> <el-input v-model="imagedata.imagesId"></el-input> </el-form-item> - <el-form-item prop="code" label="涓婁紶鏃堕棿" > + <el-form-item prop="code" label="涓婁紶鏃堕棿"> <el-input v-model="imagedata.uploadTime"></el-input> </el-form-item> - <!-- <el-form-item prop="questionType" label="闂绫诲瀷" min-width="8" v-model="imagedata.questionType"> + <el-form-item prop="questionType" label="鍥剧墖:" min-width="8"> + <img style="width: 180px;height: 120px;" :src=imagedata.imageUrl> </el-form-item> - <el-form-item prop="bigType" label="澶х被鍚嶇О" min-width="8" v-model="imagedata.bigType"> + <!-- <el-form-item prop="bigType" label="澶х被鍚嶇О" min-width="8" v-model="imagedata.bigType"> </el-form-item> <el-form-item prop="smallType" label="灏忕被鍚嶇О" min-width="8" v-model="imagedata.smallType"> </el-form-item> - <el-form-item prop="imagesId" label="鍥剧墖Id" min-width="8" v-model="imagedata.imagesId"> - </el-form-item> - <el-form-item prop="uploadTime" label="涓婁紶鏃堕棿" min-width="15" v-model="imagedata.uploadTime"> --> - </el-form-item> + <el-form-item prop="imagesId" label="鍥剧墖Id" min-width="8" v-model="imagedata.imagesId"> --> + <!-- </el-form-item> + <el-form-item prop="uploadTime" label="涓婁紶鏃堕棿" min-width="15" v-model="imagedata.uploadTime"> + </el-form-item> --> <!-- <el-form-item v-if="updateFlag"> --> <div class="optionBtn"> <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 @@ -52,7 +53,8 @@ bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", imagesId: "1", - uploadTime: "2022-10-31 20:20:01" + uploadTime: "2022-10-31 20:20:01", + imageUrl: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.fabao365.xuanfa.cn%2Fimage%2F202107%2F130f9d19f204302f.jpg&refer=http%3A%2F%2Fimg.fabao365.xuanfa.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670034077&t=974b018f9e27023a01d2d8ad3c7c44f2" }, } }, @@ -156,7 +158,7 @@ // }, // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"], }, - props:['updateFlag'] + props: ['updateFlag'] }; </script> <style lang="scss" scoped> @@ -208,6 +210,7 @@ display: flex; margin-top: 20px; justify-content: center; + .btn { padding: 12px 50px; } diff --git a/src/views/operate/rectification/taskList/components/createInterface/index.vue b/src/views/operate/rectification/taskList/components/createInterface/index.vue index 1be774b..8b0944b 100644 --- a/src/views/operate/rectification/taskList/components/createInterface/index.vue +++ b/src/views/operate/rectification/taskList/components/createInterface/index.vue @@ -5,39 +5,42 @@ <el-form ref="user" label-width="140px" autoComplete="on" :model="myInterface" :rules="createmyInterfaceRules" label-position="right"> <!-- 搴旂敤鍚嶇О --> - <el-form-item label="搴旂敤鍚嶇О:" prop="applicationName"> - <el-input v-model="myInterface.applicationName" placeholder="濉啓搴旂敤鍚嶇О"></el-input> + <el-form-item label="浠诲姟缂栧彿:" prop="applicationName"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓浠诲姟缂栧彿"></el-input> </el-form-item> <!-- 搴旂敤鍥炬爣 --> - <el-form-item label="搴旂敤鍥炬爣:" prop="applicationIconUrl"> - <div class="iconBox"> - <div class="upload"> - <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> - </div> - <div class="iconView"> - <span>绀烘剰鍥�</span> - <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> - </div> - <div class="tip"> - <span>鍙厑璁镐笂浼爅pg,jpeg,png,svg鏍煎紡鐨勫浘鐗囷紝寤鸿灏哄涓�105px*105px</span> - </div> - </div> + <el-form-item label="鏍囬:" prop="applicationIconUrl"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓妗堜欢缂栧彿"></el-input> </el-form-item> <!-- 搴旂敤绫诲瀷 --> - <el-form-item label="搴旂敤绫诲瀷:" prop="applicationType"> - <div class="optionItem"> - <el-radio-group v-model="myInterface.applicationType"> - <el-radio :label="1">缃戦〉搴旂敤</el-radio> - </el-radio-group> - </div> + <el-form-item label="绫诲瀷:" prop="applicationType"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓闂绫诲瀷"></el-input> </el-form-item> - <!--缃戠珯url --> - <el-form-item label="缃戠珯url:" prop="websiteUrl"> - <el-input v-model="myInterface.websiteUrl"></el-input> + <!-- 搴旂敤鍚嶇О --> + <el-form-item label="绾у埆:" prop="applicationName"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓琛楅亾"></el-input> </el-form-item> - <!-- 搴旂敤鎻忚堪 --> - <el-form-item label="搴旂敤鎻忚堪:" prop="description"> - <el-input v-model="myInterface.description" placeholder="璇峰~鍐欐弿杩�"></el-input> + <!-- 搴旂敤鍥炬爣 --> + <el-form-item label="琛楅亾:" prop="applicationIconUrl"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓绀惧尯"></el-input> + </el-form-item> + <!-- 搴旂敤绫诲瀷 --> + <el-form-item label="绀惧尯:" prop="applicationType"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓鐩戠潱鍛�"></el-input> + </el-form-item> + <!-- 搴旂敤鍥炬爣 --> + <el-form-item label="寮�濮嬫椂闂�:" prop="applicationIconUrl"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓闂鎻忚堪"></el-input> + </el-form-item> + <!-- 搴旂敤绫诲瀷 --> + <el-form-item label="缁撴潫鏃堕棿:" prop="applicationType"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓涓婃姤鏃堕棿"></el-input> + </el-form-item> + <el-form-item label="浠诲姟鎻忚堪:" prop="applicationType"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓涓婃姤鏃堕棿"></el-input> + </el-form-item> + <el-form-item label="鐘舵��:" prop="applicationType"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓鐘舵��"></el-input> </el-form-item> <!-- 鎸夐挳 --> <el-form-item> @@ -95,7 +98,7 @@ }, createmyInterfaceRules: { applicationName: [ - { required: true, trigger: "blur", validator: validateApplicationName}, + { required: true, trigger: "blur", validator: validateApplicationName }, ], applicationIconUrl: [ { required: true, trigger: "blur", validator: validateApplicationIconUrl }, @@ -119,11 +122,11 @@ handleUser() { const { myInterface } = this; this.$axios.post('sccg/system/portal/thirdApp/add', { - websiteUrl:myInterface.websiteUrl, - applicationIconUrl:myInterface.applicationIconUrl, - applicationType:0, - description:myInterface.description, - applicationName:myInterface.applicationName + websiteUrl: myInterface.websiteUrl, + applicationIconUrl: myInterface.applicationIconUrl, + applicationType: 0, + description: myInterface.description, + applicationName: myInterface.applicationName }).then(res => { console.log(res); // if (res.code === 200) { @@ -145,6 +148,7 @@ padding: 0 55px; background-color: #09152f; padding-bottom: 50px; + .mainContent { display: flex; justify-content: center; @@ -188,16 +192,20 @@ } } } - .optionBtn{ + + .optionBtn { margin-top: 30px; - &::v-deep .el-button{ + + &::v-deep .el-button { padding: 12px 40px; } - .reset{ + + .reset { border: 1px solid #0079fe; color: #0079fe; } } + &::v-deep .el-form-item__label { color: #4b9bb7; } diff --git a/src/views/operate/rectification/taskList/index.vue b/src/views/operate/rectification/taskList/index.vue index bc326e6..8256cf7 100644 --- a/src/views/operate/rectification/taskList/index.vue +++ b/src/views/operate/rectification/taskList/index.vue @@ -6,7 +6,7 @@ <main> <div class="mainHeader"> <div class="add"> - <el-button type="primary" icon="el-icon-plus">鏂板浠诲姟</el-button> + <el-button type="primary" icon="el-icon-plus" @click="addTask()">鏂板浠诲姟</el-button> </div> <div class="date-search"> <span>鎸夊ぉ鏌ヨ:</span> @@ -34,25 +34,25 @@ :row-class-name="tableRowClassName"> <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column label="浠诲姟缂栧彿" prop="applicationName" min-width="10"> + <el-table-column prop="number" label="浠诲姟缂栧彿" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="鏍囬" min-width="10"> + <el-table-column prop="title" label="鏍囬" min-width="10"> </el-table-column> - <el-table-column prop="websiteUrl" label="绫诲瀷" min-width="10"> + <el-table-column prop="type" label="绫诲瀷" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="绾у埆" min-width="10"> + <el-table-column prop="level" label="绾у埆" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="琛楅亾" min-width="10"> + <el-table-column prop="streetId" label="琛楅亾" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="绀惧尯" min-width="10"> + <el-table-column prop="communityId" label="绀惧尯" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="寮�濮嬫椂闂�" min-width="10"> + <el-table-column prop="startTime" label="寮�濮嬫椂闂�" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="缁撴潫鏃堕棿" min-width="10"> + <el-table-column prop="endTime" label="缁撴潫鏃堕棿" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="浠诲姟鎻忚堪" min-width="10"> + <el-table-column prop="description" label="浠诲姟鎻忚堪" min-width="10"> </el-table-column> - <el-table-column prop="applicationType" label="鐘舵��" min-width="10"> + <el-table-column prop="status" label="鐘舵��" min-width="10"> </el-table-column> <el-table-column label="鎿嶄綔" min-width="10"> <template slot-scope="scope"> @@ -73,7 +73,7 @@ </main> <footer> <!-- 鍒涘缓寮圭獥 --> - <el-dialog :visible.sync="dialogCreate" title="鏂板绗笁鏂规帴鍙�" width="45%" v-if="dialogCreate" + <el-dialog :visible.sync="dialogCreate" title="鏂板浠诲姟" width="45%" v-if="dialogCreate" :before-close="handleClose"> <createInterface /> </el-dialog> @@ -101,52 +101,47 @@ updateFlag: false, userInfo: '', date:'', - // totalNum: 200, - // pageSize: 10, - // currentPage: 1, + totalNum: 200, + pageSize: 10, + currentPage: 1, } }, - created() { - this.getUserList(); + async created() { + const arr = await this.getUserList(); + this.tableData = arr.records; + this.totalNum = arr.total; }, methods: { + addTask() { + this.dialogCreate = true; + }, // 鑾峰彇鎺ュ彛鍒楄〃 - getUserList() { - // const that = this; - // // const { currentPage, pageSize, search } = this; - // this.dialogCreate = false; - // this.$axios.get("/sccg/task/list").then(res => { - // const { code, data } = res; - // if (code == 200) { - // this.tableData = data; - // } - // }) - - // let arr = []; - // const { currentPage, pageSize,context,messageStatus,messageKind } = this; - // await this.$axios({ - // method: 'post', - // url: '/sccg/task/list', - // data: { - // body: "", - // channelCode: messageKind === '00' ?'':messageKind, - // createUser: '', - // current: currentPage, - // head: context, - // messageType: "", - // pageSize: pageSize, - // randomCode: "", - // remark: "", - // sendTime: "", - // status: messageStatus === 2 ? '':messageStatus, - // targetFrom: "", - // targetTo: "" - // } - // }) - // .then(res => { - // this.tableData = res.data; - // }) - // return arr; + async getUserList() { + let arr = []; + const { currentPage, pageSize,context,messageStatus,messageKind } = this; + await this.$axios({ + method: 'post', + url: '/sccg/task/list', + data: { + body: "", + channelCode: "", + createUser: '', + current: currentPage, + head: context, + messageType: "", + pageSize: pageSize, + randomCode: "", + remark: "", + sendTime: "", + status:"", + targetFrom: "", + targetTo: "" + } + }) + .then(res => { + arr = res.data; + }) + return arr; }, // 璁剧疆琛ㄦ牸鏂戦┈绾� tableRowClassName({ row, rowIndex }) { diff --git a/src/views/operate/sms/smsIndex/createSms/index.vue b/src/views/operate/sms/smsIndex/createSms/index.vue new file mode 100644 index 0000000..f3082bd --- /dev/null +++ b/src/views/operate/sms/smsIndex/createSms/index.vue @@ -0,0 +1,433 @@ +<template> + <div class="createUser"> + <main> + <div class="mainContent"> + <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules" + label-position="right"> + <!-- 娑堟伅鏍忕洰 --> + <el-form-item class="optionItem" label="娑堟伅鏍忕洰:" prop="messageType"> + <div class="message-item"> + <div class="message-item__left"> + <el-select v-model="role.messageType" placeholder="璇烽�夋嫨娑堟伅鏍忕洰"> + <el-option v-for="item in colList" :key="item.id" :label="item.columnName" + :value="item.id"> + </el-option> + </el-select> + </div> + <span class="message-add" @click='dialogCreate = true'> 娣诲姞鏍忕洰</span> + </div> + </el-form-item> + <!-- 娑堟伅鏍囬 --> + <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head"> + <div class="message-item__left"> + <el-input v-model="role.head" placeholder="璇烽�夋嫨娑堟伅鏍囬"></el-input> + </div> + </el-form-item> + <!-- 鎺ユ敹瀵硅薄 --> + <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo"> + <div class="message-item__left"> + <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄" > + <el-option :value="role.targetTo"> + <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox + @check="handleCheck" default-expand-all node-key="id"> + </el-tree> + </el-option> + </el-select> + </div> + </el-form-item> + <!-- 娑堟伅鍐呭 --> + <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body"> + <MyEditor ref="edit" @getMyBody="getMyBody"></MyEditor> + <!-- <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> --> + </el-form-item> + <!-- 鎻愰啋鏂瑰紡 --> + <!-- <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode"> + <el-radio-group v-model="role.channelCode"> + <el-radio label="01">绔欏唴淇�</el-radio> + <el-radio label="02">閭欢</el-radio> + <el-radio label="03">鐭俊</el-radio> + </el-radio-group> + <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span> + </el-form-item> --> + <el-form-item> + <div class="optionBtn"> + <!-- <el-button type="primary" @click.native.prevent="handleSubmit(0)" class="btn save">淇濆瓨 + </el-button> --> + <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit">鍙戝竷 + </el-button> + <!-- <el-button type="primary" @click.native.prevent="handleView" class="btn submit">棰勮 + </el-button> --> + <el-button class="btn cancel" @click.native.prevent="handleReset">閲嶇疆</el-button> + </div> + </el-form-item> + </el-form> + <!-- 鏂板鏍忕洰 --> + <el-dialog title="娣诲姞鏍忕洰" :visible.sync="dialogCreate" v-if="dialogCreate" width="60%" + :before-close="handleConfirmClose" append-to-body> + <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd> + </el-dialog> + <!-- 棰勮娑堟伅 --> + <el-dialog title="娑堟伅棰勮" :visible.sync="dialogView" v-if="dialogView" width="60%" + :before-close="handleConfirmClose" append-to-body> + <MyColView :info="info" @closeDialog="closeDialog"></MyColView> + </el-dialog> + </div> + </main> + </div> +</template> +<script> +import MyEditor from '@/components/edit' +export default { + components: { MyEditor }, + data() { + const validateNickname = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欐秷鎭爮鐩�")); + } else { + callback(); + } + }; + const validatePass = (rule, value, callback) => { + if (!value) { + callback(); + } else { + callback(); + } + }; + const validateTruename = (rule, value, callback) => { + if (value.length !== 0) { + callback(); + } else { + callback(new Error('璇烽�夋嫨鎺ユ敹瀵硅薄')); + } + }; + return { + role: { + messageType: '', + head: '', + targetTo: '', + targetFrom: null, + body: '', + channelCode: '01', + }, + createRoleRules: { + messageType: [ + { required: true, trigger: "blur", validator: validateNickname }, + ], + head: [ + { required: false, trigger: "blur", validator: validatePass }, + ], + targetTo: [ + { required: false, trigger: "blur", validator: validateTruename }, + ], + }, + colList: [], + departList: [], + typeList: [], + dialogCreate: false, + dialogView: false, + defaultProps: { + children: 'children', + label: 'departName', + // disabled: function (data, node) { + // if (data.createTime) { + // return !data.leaf + // } + // } + }, + checkedList: [], + tempNameArr:[], + info:{}, + sendUser:"" + } + }, + created() { + this.setColumnList(); + this.setDepartList(); + this.getLoginUserInfo(); + }, + methods: { + // 鍏抽棴寮圭獥 + handleConfirmClose(done) { + this.$confirm('纭鍏抽棴?') + .then(_ => { + done(); + }) + }, + // 璁剧疆鏍忕洰 + async setColumnList() { + this.colList = await this.getColumnList(); + }, + // 鑾峰彇鏍忕洰 + async getColumnList() { + let arr; + await this.$axios({ + method: 'get', + url: 'sccg/message_column/getAllColumn' + }) + .then(res => { + console.log(res); + arr = res.data; + }) + return arr; + }, + // 鍏抽棴寮圭獥 + closeDialog({ flag, index }) { + this.dialogCreate = flag; + if (index === 1) { + // 閲嶆柊璁剧疆鏍忕洰 + this.setColumnList(); + } + }, + // 鑾峰彇閮ㄩ棬鏍� + async getDepartList() { + let arr + await this.$axios({ + method: 'get', + url: 'sccg/depart/tree' + }) + .then(res => { + arr = res.data + }) + return arr; + }, + // 璁剧疆閮ㄩ棬鏍� + async setDepartList() { + this.departList = await this.filterDepartList(); + }, + // 澶勭悊閮ㄩ棬鏍� + async filterDepartList() { + let arr = await this.getDepartList(); + const { setChildren } = this; + // console.log(setChildren); + arr.forEach(item => { + setChildren(item); + }) + return arr; + }, + // 閫掑綊children + setChildren(obj) { + if (obj.children !== null) { + if (obj.children.length !== 0) { + obj.children.forEach(item => { + return this.setChildren(item); + }) + } + } else { + if (obj.userInfoDTOS.length !== 0) { + obj.children = []; + obj.userInfoDTOS.forEach(item => { + obj.children.push({ id: item.userId, departName: item.username }) + }) + } + } + }, + // 閫変腑id + handleCheck(data, node) { + let arr = [],nameArr = [] + console.log(node.checkedNodes) + node.checkedNodes.forEach(item => { + if(!item.hasOwnProperty('departType')){ + arr.push(item.id) + nameArr.push(item.departName) + } + }) + this.checkedList = arr + this.tempNameArr = nameArr + console.log(this.tempNameArr) + this.role.targetTo = arr.length + '浜�' + }, + // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅) + handleSubmit(mystatus) { + this.$refs.user.validate((valid) => { + if (valid) { + const { role, checkedList } = this; + console.log(checkedList); + this.$axios({ + method: 'post', + url: 'sccg/message/sendMessage', + data: { + body: role.body, + channelCode: '03', + head: role.head, + messageType: role.messageType, + sendTime: new Date(), + targetTo: checkedList.join(','), + targetFrom: `${role.targetFrom}`, + status: mystatus, + } + }) + .then(res => { + if (res.code === 200) { + this.$message({ + type: 'success', + message: mystatus === 1 ? '鍙戦�佹垚鍔�' : '淇濆瓨鎴愬姛', + }) + this.$emit('closeMyDialog', { flag: false, index: 1 }); + } + }) + } else { + return false; + } + }) + }, + // 鑾峰緱娑堟伅浣� + getMyBody(obj) { + console.log(obj); + this.role.body = obj; + }, + // 閲嶇疆琛ㄥ崟 + handleReset() { + this.$refs.edit.editor.txt.clear(); + // this.$refs.edit.wangEditor.txt.html('<p><br></p>') + this.setDepartList(); + this.$refs.user.resetFields(); + }, + // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅 + getLoginUserInfo() { + const name = sessionStorage.getItem('name'); + this.$axios({ + method: 'get', + url: 'sccg/admin/info?name=' + name, + }) + .then(res => { + this.role.targetFrom = res.data.userId + this.sendUser = res.data.username + }) + }, + // 娑堟伅棰勮 + handleView() { + this.$refs.user.validate((valid) => { + if (valid) { + const { role,getColText,tempNameArr,sendUser } = this + this.dialogView = true; + let info = {} + // 鑾峰緱鏍忕洰娑堟伅 + info.channelCode = role.channelCode === '01'? '绔欏唴淇�': role.channelCode === '02' ? '閭欢':'鐭俊' + info.messageType = getColText(role.messageType) + info.body = role.body + info.head = role.head + info.targetTo = tempNameArr + info.targetFrom = sendUser + this.info = info + } else { + return false + } + }) + }, + // 鑾峰緱鏍忕洰娑堟伅 + getColText(id){ + console.log(id) + const {colList} = this + let str = '' + colList.forEach(item=>{ + item.id === id ? str = item.columnName : '' + }) + return str + } + }, + props: ['closeMyDialog'] +} +</script> +<style lang="scss" scoped> +.createUser { + border-radius: 1px; + background-color: #09152f; + + main { + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + &:deep(.el-dialog__title) { + color: #4b9bb7; + } + &::v-deep .el-form-item__label { + color: #4b9bb7; + } + + &::v-deep .el-input__inner { + width: 400px; + background-color: #09152f; + border: 1px solid #17324c; + } + + .message-item__left { + width: 400px; + } + + .message-add { + &:hover { + cursor: pointer; + } + } + + .el-form-item__content :deep(.el-select) { + width: 400px; + } + + :deep(.el-input) { + width: 400px; + } + + .message-item { + display: flex; + + span { + margin-left: 20px; + color: #4b9bb7; + } + } + + .message-tip { + margin-left: 20px; + } + + :deep(.el-input--suffix) { + width: 400px; + } + + &::v-deep .el-textarea__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + .optionBtn { + display: flex; + margin-top: 20px; + + .btn { + padding: 12px 50px; + } + } + + } + } +} +</style> \ No newline at end of file diff --git a/src/views/operate/sms/smsIndex/index.vue b/src/views/operate/sms/smsIndex/index.vue index f511252..c8dd445 100644 --- a/src/views/operate/sms/smsIndex/index.vue +++ b/src/views/operate/sms/smsIndex/index.vue @@ -71,10 +71,10 @@ </el-table-column> </el-table> <!-- 鏂板缓娑堟伅 --> - <!-- <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%" + <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%" :before-close="handleConfirmClose"> <MyCreate @closeMyDialog="closeDialog"></MyCreate> - </el-dialog> --> + </el-dialog> <!-- 娑堟伅璇︽儏 --> <!-- <el-dialog title="娑堟伅璇︽儏" :visible.sync="dialogView" v-if="dialogView" width="45%" :before-close="handleClose"> @@ -115,9 +115,10 @@ </template> <script> import helper from '@/utils/mydate' +import MyCreate from './createSms' export default { components: { - // MyView, MyCreate,MyEdit + MyCreate }, data() { return { diff --git a/src/views/operate/video/detailInterface/index.vue b/src/views/operate/video/detailInterface/index.vue index b0ea2f9..3f49033 100644 --- a/src/views/operate/video/detailInterface/index.vue +++ b/src/views/operate/video/detailInterface/index.vue @@ -3,21 +3,28 @@ <main> <div class="mainContent"> <el-form ref="user" style="width: 100%;"> - <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�" > + <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�"> <el-input v-model="imagedata.code"></el-input> </el-form-item> - <el-form-item prop="code" label="澶х被鍚嶇О" > + <el-form-item prop="code" label="澶х被鍚嶇О"> <el-input v-model="imagedata.questionType"></el-input> </el-form-item> - <el-form-item prop="code" label="灏忕被鍚嶇О" > + <el-form-item prop="code" label="灏忕被鍚嶇О"> <el-input v-model="imagedata.bigType"></el-input> </el-form-item> - <el-form-item prop="code" label="瑙嗛Id" > + <el-form-item prop="code" label="瑙嗛Id"> <el-input v-model="imagedata.videoId"></el-input> </el-form-item> - <el-form-item prop="code" label="涓婁紶鏃堕棿" > + <el-form-item prop="code" label="涓婁紶鏃堕棿"> <el-input v-model="imagedata.uploadTime"></el-input> </el-form-item> + <el-form-item prop="code" label="瑙嗛锛�"> + <video id="my-video" class="video-js" controls preload="auto" width="210px" height="150px" + :poster="imagedata.imageUrl" data-setup="{}"> + <source :src="imagedata.videoUrl" type="video/mp4" /> + </video> + </el-form-item> + <!-- <el-form-item v-if="updateFlag"> --> <!-- </el-form-item> --> </el-form> @@ -25,6 +32,7 @@ </main> </div> </template> +<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> <script> import { getTypeList } from "@/utils/helper"; export default { @@ -38,7 +46,9 @@ bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", videoId: "1", - uploadTime: "2022-10-31 20:20:01" + uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" }, } }, @@ -194,6 +204,7 @@ display: flex; margin-top: 20px; justify-content: center; + .btn { padding: 12px 50px; } diff --git a/src/views/operate/video/index.vue b/src/views/operate/video/index.vue index f0e044e..8974f3b 100644 --- a/src/views/operate/video/index.vue +++ b/src/views/operate/video/index.vue @@ -3,11 +3,11 @@ <header> <div class="headerContent"> <div class="search"> - <span>绫诲瀷鏌ヨ:</span> + <span>绛涢�夋潯浠�:</span> <div class="option"> <el-input v-model="info.type" - placeholder="璇疯緭鍏ラ棶棰樼被鍨嬫煡璇�" + placeholder="璇疯緭鍏ュ唴瀹�" ></el-input> </div> <span>涓婁紶鏃堕棿:</span> @@ -191,6 +191,7 @@ </main> </div> </template> +<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> <script> import createInterface from "./createInterface"; import updateInterface from "./updateInterface"; @@ -207,41 +208,63 @@ dialogcheck: false, tableData: [ { - code: "SJ202211010001", + code: "VID202210010001", questionType: "杩濊", - bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + bigType: "鍩庡競缁垮寲", smallType: - "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", - videoId: "1", + "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", + videoId: "12010", uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" }, { - code: "SJ202211010001", + code: "VID202210010002", questionType: "杩濊", - bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + bigType: "鍩庡競缁垮寲", smallType: - "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", - videoId: "1", + "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", + videoId: "12010", uploadTime: "2022-10-31 20:20:01", - }, + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , { - code: "SJ202211010001", + code: "VID202210010003", questionType: "杩濊", - bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + bigType: "鍩庡競缁垮寲", smallType: - "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", - videoId: "1", + "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", + videoId: "12010", uploadTime: "2022-10-31 20:20:01", - }, + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , { - code: "SJ202211010001", + code: "VID202210010004", questionType: "杩濊", - bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + bigType: "鍩庡競缁垮寲", smallType: - "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", - videoId: "1", + "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", + videoId: "12010", uploadTime: "2022-10-31 20:20:01", - }, + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , + { + code: "VID202210010005", + questionType: "杩濊", + bigType: "鍩庡競缁垮寲", + smallType: + "鎺掓斁娌圭儫鐨勯楗湇鍔′笟缁忚惀鑰呮湭瀹夎娌圭儫鍑�鍖栬鏂姐�佷笉姝e父浣跨敤娌圭儫鍑�鍖栬鏂�", + videoId: "12010", + uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } ], context: "", dialogUpload: false, diff --git a/src/views/operate/video/updateInterface/index.vue b/src/views/operate/video/updateInterface/index.vue index a3758a6..63f233f 100644 --- a/src/views/operate/video/updateInterface/index.vue +++ b/src/views/operate/video/updateInterface/index.vue @@ -3,20 +3,26 @@ <main> <div class="mainContent"> <el-form ref="user" style="width: 100%;"> - <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�" > + <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�"> <el-input v-model="imagedata.code"></el-input> </el-form-item> - <el-form-item prop="code" label="澶х被鍚嶇О" > + <el-form-item prop="code" label="澶х被鍚嶇О"> <el-input v-model="imagedata.questionType"></el-input> </el-form-item> - <el-form-item prop="code" label="灏忕被鍚嶇О" > + <el-form-item prop="code" label="灏忕被鍚嶇О"> <el-input v-model="imagedata.bigType"></el-input> </el-form-item> - <el-form-item prop="code" label="瑙嗛Id" > + <el-form-item prop="code" label="瑙嗛Id"> <el-input v-model="imagedata.videoId"></el-input> </el-form-item> - <el-form-item prop="code" label="涓婁紶鏃堕棿" > + <el-form-item prop="code" label="涓婁紶鏃堕棿"> <el-input v-model="imagedata.uploadTime"></el-input> + </el-form-item> + <el-form-item prop="code" label="瑙嗛锛�"> + <video id="my-video" class="video-js" controls preload="auto" width="210px" height="150px" + :poster="imagedata.imageUrl" data-setup="{}"> + <source :src="imagedata.videoUrl" type="video/mp4" /> + </video> </el-form-item> <!-- <el-form-item v-if="updateFlag"> --> <div class="optionBtn"> @@ -29,6 +35,7 @@ </main> </div> </template> +<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> <script> import { getTypeList } from "@/utils/helper"; export default { @@ -42,7 +49,9 @@ bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", videoId: "1", - uploadTime: "2022-10-31 20:20:01" + uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://img0.baidu.com/it/u=1063261925,3306857657&fm=253&fmt=auto&app=138&f=JPEG?w=669&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" }, } }, @@ -146,7 +155,7 @@ // }, // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"], }, - props:['updateFlag'] + props: ['updateFlag'] }; </script> <style lang="scss" scoped> @@ -198,6 +207,7 @@ display: flex; margin-top: 20px; justify-content: center; + .btn { padding: 12px 50px; } diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue index 01b7099..8d4dac3 100644 --- a/src/views/systemSetting/device/point/index.vue +++ b/src/views/systemSetting/device/point/index.vue @@ -1,24 +1,280 @@ <template> - <div class="point"> - <MyUpload @setPictureUrl="getPictureUrl"></MyUpload> - </div> -</template> -<script> -// 寮曞叆涓婁紶缁勪欢 -import MyUpload from '@/components/myUpload' -export default { - components:{ - MyUpload - }, - data() { - return { + <el-container style="height: 100%;"> + <el-aside heigth="100%" width="200px "> + <div style="line-height: 40px;text-align: left;padding: 0 20px 0 10px;"> + <span style="color:rgb(75, 155, 183);font-weight: 500; width: 196px;">缁勭粐鏈烘瀯</span> + <el-input placeholder="璇疯緭鍏ユ満鏋�"></el-input> + </div> + <el-tree :data="treedata" :props="defaultProps" @node-click="handleNodeClick"></el-tree> - } - }, - methods:{ - getPictureUrl({url}){ - console.log(url) - } - } + + </el-aside> + + <el-container> + <el-header style="display:flex;flex-direction: column;height: 120px;"> + <div style="display:flex;justify-content: space-between;height: 80px;"> + <span style="color:rgb(75, 155, 183);font-weight: 450;text-align: left; font-size: 16px;">褰撳墠鍏�8涓洃鎺х偣浣嶏紝鏈�澶氶厤缃�100璺棰戠洃鎺э紝鐩墠宸茬粡閰嶇疆200璺棰戠偣</span> + <!-- <el-button type="primary" >鍒犻櫎</el-button> --> + </div> + <div style="height:60px;display: flex;justify-content: flex-start;"> + <!-- <el-button class="button-one"> + 瑙嗛棰勮 + </el-button> + <el-button class="button-two"> + 瑙嗛宸℃煡 + </el-button> + <el-button class="button-third"> + 鍥剧墖宸℃煡 + </el-button> --> + </div> + </el-header> + + <el-main style="display:flex;flex-wrap: wrap;overflow-y: scroll;"> + <div v-for="item in videoDate " style="height: 240px ;width: 210px; position: relative;margin-left:20px ;"> + <div + style="color:rgb(75, 155, 183); font-size: 11px;line-height: 18px; position: absolute; z-index: 1;left: 50px;"> + {{ item.steert }}{{ item.community }}</div> + <video id="my-video" class="video-js" controls preload="auto" width="210px" height="150px" + :poster="item.imageUrl" data-setup="{}"> + <source :src="item.videoUrl" type="video/mp4" /> + </video> + <div class="bottonOne" @click="">鏌ョ湅瑙嗛</div> + <div class="bottonTwo">瑙嗛涓婃姤</div> + <div class="bottonThird">瀵硅</div> + </div> + </el-main> + <el-footer> + <div style="margin-bottom:0;"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" + :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext"> + </el-pagination> + </div> + </el-footer> + </el-container> + </el-container> +</template> +<style lang="scss" scoped> +.button-one { + height: 40px; + width: 80px; + margin-left: 20px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); } + +.button-two { + height: 40px; + width: 80px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); +} +.el-button+.el-button{ + margin: 0; +} +.button-third { + height: 40px; + width: 80px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); +} + +.video-js { + border: 1px solid rgb(75, 155, 183); + margin-left: 20px; +} + +.bottonOne { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + margin-left: 20px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + cursor: pointer; +} + +.bottonTwo { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + margin-left: 90px; + cursor: pointer; +} +.el-pagination{ + line-height: 40px; +} +.bottonThird { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + margin-left: 160px; + cursor: pointer; +} + +::v-deep .el-header { + background-color: #09152f; + color: #000; + line-height: 60px; +} + +::v-deep .el-aside { + background-color: #09152f; +} + +::v-deep .el-menu { + background-color: #09152f; +} + +::v-deep .el-main, +::v-deep .el-footer { + background-color: #09152f; +} + +::v-deep .el-tree-node__label { + line-height: 30px; + font-size: 14px; + color: rgb(75, 155, 183); +} +</style> +<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> +<script> + export default { + data() { + return { + totalNum:7, + pageSize:10, + videoDate:[ + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + ], + treedata: [{ + label: '濡欓珮琛楅亾', + children: [{ + label: '鍖楄鏉�', + children: [{ + label: '铻鸿洺鍨�' + }] + },{ + label: '涓滆鏉�', + children: [{ + label: '铻鸿洺鍨�' + }] + },{ + label: '鍙ら櫌绀惧尯', + children: [{ + label: '铻鸿洺鍨�' + }] + }] + }, { + label: '浜戝嘲琛楅亾', + children: [{ + label: '涓滀涵', + children: [{ + label: '闅旀邯' + }] + }, { + label: '椹ご', + children: [{ + label: '榫欏彛' + }] + }] + }, { + label: '鏂拌矾婀鹃晣', + children: [{ + label: '鏂拌矾婀鹃晣', + children: [{ + label: '鏂拌矾婀鹃晣' + }] + }, { + label: '鏂拌矾婀鹃晣', + children: [{ + label: '鏂拌矾婀鹃晣' + }] + }] + }], + defaultProps: { + children: 'children', + label: 'label' + }, + value:'' + }; + }, + methods: { + handleNodeClick(data) { + console.log(data); + } + } + }; </script> \ No newline at end of file diff --git a/src/views/systemSetting/platform/cockpitManage/createUser/index.vue b/src/views/systemSetting/platform/cockpitManage/createUser/index.vue new file mode 100644 index 0000000..f92cbeb --- /dev/null +++ b/src/views/systemSetting/platform/cockpitManage/createUser/index.vue @@ -0,0 +1,423 @@ +<template> + <div class="createUser"> + <main> + <div class="mainContent"> + <el-form + ref="user" + label-width="140px" + autoComplete="on" + :model="depart" + :rules="createDepartRules" + label-position="right" + > + <!-- 閮ㄩ棬鍚嶇О --> + <span style="heght:18px;display:block;line-height: 14px;"> + 鎵ф硶浜哄憳缁撴瀯 + </span> + <el-form-item class="optionItem" label="閮ㄩ棬鍚嶇О:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"></el-input> + </el-form-item> + <!-- 涓婄骇閮ㄩ棬 --> + <el-form-item class="optionItem" label="閮ㄩ棬浜烘暟:" prop="departName"> + <el-input v-model="depart.departNumber" placeholder="璇疯緭鍏ラ儴闂ㄤ汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杈栧尯绠$悊:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ緰鍖虹鐞�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鏈瀛﹀巻浠ヤ笂浜烘暟:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ湰绉戝鍘嗕互涓婁汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鎸佽瘉浜哄憳鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ寔璇佷汉鍛樻暟"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="45宀佷互涓嬩汉鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏�45宀佷互涓嬩汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鎸佹硶寰嬭亴涓氳祫鏍艰瘉涔︿汉鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ寔娉曞緥鑱屼笟璧勬牸璇佷功浜烘暟"></el-input> + </el-form-item> + <span> + 浣滈绾緥 + </span> + <el-form-item class="optionItem" label="閫氭姤鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ラ�氭姤鏁伴噺"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杩濈邯琛屼负鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ繚绾涓烘暟閲�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杩濇硶鐘姜琛屼负鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ繚娉曠姱缃涓烘暟閲�"></el-input> + </el-form-item> + <span>妗堜欢鍔炵悊</span> + <el-form-item class="optionItem" label="姣忔湀妗堜欢鍔炵悊閲�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ瘡鏈堟浠跺姙鐞嗛噺"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鏈秴鏃舵浠堕噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ湭瓒呮椂妗堜欢閲�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="澶嶈鎴栬瘔璁兼暟:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ュ璁垨璇夎鏁�"></el-input> + </el-form-item> + + </el-form> + </div> + </main> + <footer> + <div class="optionBtn"> + <el-button @click="handleClose">鍙栨秷</el-button> + <el-button type="primary" class="btn submit" @click="handleUser" + >纭畾</el-button + > + </div> + </footer> + </div> +</template> +<script> +import { getTypeList } from "@/utils/helper"; +export default { + data() { + const validateNickname = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�")); + } else { + callback(); + } + }; + const validatePass = (rule, value, callback) => { + if (!value) { + callback(); + } else { + callback(); + } + }; + const validatePhone = (rule, value, callback) => { + if (!value) { + callback(); + } else { + callback(); + } + }; + return { + depart: { + departName: "", + parentId: "", + departType: "", + departDes: "", + }, + createDepartRules: { + departName: [ + { required: true, trigger: "blur", validator: validateNickname }, + ], + parentId: [ + { required: false, trigger: "blur", validator: validatePass }, + ], + departType: [ + { required: false, trigger: "blur", validator: validatePhone }, + ], + departDes: [{ required: false, trigger: "blur" }], + }, + userList: [], + departList: [], + checkedUser: [], + checkedList: [], + openUser: false, + departTypeList: [], + selectOrg: { + orgsid: [], + }, + mylabel: "", + defaultProps: { + children: "children", + label: "departName", + }, + }; + }, + created() { + const that = this; + // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥� + this.getDepartTree(); + // 鑾峰彇鐢ㄦ埛鍒楄〃 + this.getUserList(); + // 鑾峰彇閮ㄩ棬绫诲瀷鍒楄〃 + this.getDepartTypeList(); + }, + methods: { + handleUser() { + this.$refs.user.validate((valid) => { + if (valid) { + const { depart, checkedList, selectOrg } = this; + const arr = []; + checkedList.forEach((item) => { + arr.push({ leader: item.leader, userId: item.id }); + }); + console.log(arr); + this.$axios({ + method: "post", + url: "/sccg/depart/create", + data: { + departName: depart.departName, + parentId: selectOrg.orgsid[0], + departType: depart.departType, + departDes: depart.departDes, + departManagerList: arr, + }, + }).then((res) => { + if (res.code === 200) { + this.$message({ + message: res.message, + type: "success", + }); + this.refresh(); + } else if (res.code === 2001) { + this.$message({ + message: res.message, + type: "error", + }); + this.refresh(); + } + }); + } else { + return false; + } + }); + }, + // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥� + getDepartTree() { + this.$axios({ + method: "get", + url: "sccg/depart/tree", + }).then((res) => { + // console.log(res); + // res.data.unshift({ id: 0, departName: "椤剁骇鑿滃崟" }); + this.departList = res.data; + }); + }, + // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� + getUserList() { + // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜) + this.$axios.get(`/sccg/depart/query_surplus_user`).then((res) => { + if (res.code === 200) { + this.userList = res.data; + } + }); + }, + addUser() { + console.log(this.checkedUser); + console.log(this.userList); + this.checkedList = []; + this.userList.forEach((item) => { + this.checkedUser.forEach((child) => { + if (item.id == child) { + this.checkedList.push({ + id: item.id, + username: item.username, + leader: false, + }); + } + }); + }); + this.checkedList[0].leader = true; + this.openUser = false; + }, + handleClose() { + this.$emit("changMyDialog", { flag: false }); + }, + // 鑾峰彇閮ㄩ棬绫诲瀷 + async getDepartTypeList() { + this.departTypeList = await getTypeList(1, "08"); + }, + handleCheck(data, checked) { + this.depart.parentId = data.departName; + // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮� + const indexs = this.selectOrg.orgsid.indexOf(data.id); + // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆� + if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) { + this.$message({ + message: "鍙兘閫夋嫨涓�涓儴闂紒", + type: "warning", + showClose: true, + }); + // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕� + this.$refs.tree.setChecked(data, false); + } else if (this.selectOrg.orgsid.length === 0 && checked) { + // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨 + // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push + this.selectOrg.orgsid = []; + this.selectOrg.orgsid.push(data.id); + } else if ( + indexs >= 0 && + this.selectOrg.orgsid.length === 1 && + !checked + ) { + // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣� + this.selectOrg.orgsid = []; + this.depart.parentId = ""; + } + }, + // 璁剧疆棰嗗 + setLeader(idx) { + this.checkedList.forEach((item, index) => { + item.leader = index === idx; + }); + }, + }, + props: ["refresh", "changMyDialog"], +}; +</script> +<style lang="scss" scoped> +.createUser { + border-radius: 1px; + background-color: #09152f; + + main { + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + line-height: 40px; + + &::v-deep .el-form-item__label { + color: #4b9bb7; + } + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + &::v-deep .el-textarea__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + .addPerson { + display: flex; + list-style: none; + padding: 0; + flex-wrap: wrap; + max-width: 280px; + li { + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } + } + .li-icon { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + margin: 0 auto; + } + .li-btn { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + } + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + } + + .add { + position: relative; + + .card { + position: absolute; + z-index: 2000; + right: 0; + + .box-card { + min-height: 240px; + max-height: 260px; + overflow: hidden; + background-color: #09152f; + position: relative; + max-width: 220px; + + .scrollWrap { + overflow: scroll; + height: 180px; + position: relative; + color: #4b9bb7; + + .el-checkbox-group { + display: flex; + flex-direction: column; + + .el-checkbox { + line-height: 20px; + } + } + } + + .myclear { + width: 100%; + line-height: 20px; + color: #4b9bb7; + display: flex; + justify-content: space-between; + } + + .hidebar { + position: absolute; + top: 77px; + right: 20px; + width: 20px; + height: 180px; + background-color: #09152f; + } + + .item { + line-height: 40px; + } + } + } + } + } + + .li-item { + display: flex; + flex-direction: column; + } + + .leader { + color: red; + } + .el-input { + width: 280px !important; + } + footer { + border-top: 1px solid #fff; + height: 80px; + display: flex; + align-items: center; + justify-content: flex-end; + padding-right: 20px; + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/cockpitManage/detailUser/index.vue b/src/views/systemSetting/platform/cockpitManage/detailUser/index.vue new file mode 100644 index 0000000..cde5599 --- /dev/null +++ b/src/views/systemSetting/platform/cockpitManage/detailUser/index.vue @@ -0,0 +1,322 @@ +<template> + <div class="updateUser"> + <main> + <div class="mainContent"> + <el-form ref="user" style="width: 100%;"> + <el-form-item prop="code" label="鎵�灞炰簨浠剁紪鍙�"> + <el-input v-model="imagedata.code"></el-input> + </el-form-item> + <el-form-item prop="code" label="澶х被鍚嶇О"> + <el-input v-model="imagedata.questionType"></el-input> + </el-form-item> + <el-form-item prop="code" label="灏忕被鍚嶇О"> + <el-input v-model="imagedata.bigType"></el-input> + </el-form-item> + <el-form-item prop="code" label="鍥剧墖Id"> + <el-input v-model="imagedata.imagesId"></el-input> + </el-form-item> + <el-form-item prop="code" label="涓婁紶鏃堕棿"> + <el-input v-model="imagedata.uploadTime"></el-input> + </el-form-item> + <el-form-item prop="questionType" label="鍥剧墖:" min-width="8"> + <img style="width: 180px;height: 120px;" :src=imagedata.imageUrl> + </el-form-item> + <!-- <el-form-item prop="questionType" label="闂绫诲瀷" min-width="8" v-model="imagedata.questionType"> + </el-form-item> + <el-form-item prop="bigType" label="澶х被鍚嶇О" min-width="8" v-model="imagedata.bigType"> + </el-form-item> + <el-form-item prop="smallType" label="灏忕被鍚嶇О" min-width="8" v-model="imagedata.smallType"> + </el-form-item> + <el-form-item prop="imagesId" label="鍥剧墖Id" min-width="8" v-model="imagedata.imagesId"> + </el-form-item> + <el-form-item prop="uploadTime" label="涓婁紶鏃堕棿" min-width="15" v-model="imagedata.uploadTime"> --> + <!-- </el-form-item> --> + <!-- <el-form-item v-if="updateFlag"> --> + <div class="optionBtn"> + <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 + </el-button> + </div> + <!-- </el-form-item> --> + </el-form> + </div> + </main> + </div> +</template> +<script> +import { getTypeList } from "@/utils/helper"; +export default { + data() { + + return { + + imagedata: { + code: "SJ202211010001", + questionType: "杩濊", + bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", + imagesId: "1", + uploadTime: "2022-10-31 20:20:01", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.fabao365.xuanfa.cn%2Fimage%2F202107%2F130f9d19f204302f.jpg&refer=http%3A%2F%2Fimg.fabao365.xuanfa.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670034077&t=974b018f9e27023a01d2d8ad3c7c44f2" + }, + } + }, + created() { + // const that = this; + // this.user = JSON.parse(JSON.stringify(that.userInfo)); + // console.log(this.user); + // this.user.parentId = this.user.parentId === 0 ? '鏆傛棤涓婄骇閮ㄩ棬' : this.user.parentId; + // this.checkedList = this.user.userInfoDTOS; + // this.checkedList.forEach((e) => { + // this.checkedUser.push(e.userId); + // }); + // console.log(this.checkedUser) + // this.$axios({ + // method: "get", + // url: "sccg/depart/tree", + // }).then((res) => { + // that.departList = res.data; + // }); + // this.getUserList(this.user.id); + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // this.getDepartType(); + }, + methods: { + // handleUser() { + // this.$refs["user"].validate((valid) => { + // if (valid) { + // const { user, checkedList } = this; + // const arr = []; + // checkedList.forEach((item) => { + // arr.push({ leader: item.leader, userId: item.id ? item.id : item.userId }); + // }); + // if (arr.length === 0) { + // this.$message({ + // type: 'warning', + // message: '璇烽�夋嫨閮ㄩ棬浜哄憳', + // }) + // } else { + // this.$axios + // .post("sccg/depart/update", { + // id: user.id, + // departName: user.departName, + // parentId: user.parentId === '鏆傛棤涓婄骇閮ㄩ棬' ? 0 : user.parentId, + // departDes: user.departDes, + // departManagerList: arr, + // }) + // .then((res) => { + // this.$message({ + // message: res.message, + // type: res.code === 200 ? "success" : "warning", + // }); + // this.$emit("changeDialog", { flag: false }); + // this.getDepartList(); + // }); + // } + // } else { + // return false; + // } + // }); + // }, + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // async getDepartType() { + // this.typeList = await getTypeList(1, "08"); + // }, + + // // 璁剧疆棰嗗 + // setLeader(idx) { + // if (this.updateFlag) { + // this.checkedList.forEach((item, index) => { + // item.leader = index === idx; + // }); + // } + // }, + + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� + // getUserList(id) { + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜) + // this.$axios.get(`/sccg/depart/query_surplus_exist_user?id=`+id).then((res) => { + // if (res.code === 200) { + // this.userList = res.data; + // } + // }); + // }, + // addUser() { + // this.checkedList = []; + // this.userList.forEach((item) => { + // this.checkedUser.forEach((child) => { + // if (item.id == child) { + // this.checkedList.push({ + // id: item.id, + // username: item.username, + // leader: false, + // }); + // } + // }); + // }); + // this.checkedList[0].leader = true; + // console.log(this.checkedList); + // this.openUser = false; + // }, + // }, + // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"], + }, + props: ['updateFlag'] +}; +</script> +<style lang="scss" scoped> +.updateUser { + border-radius: 1px; + background-color: #09152f; + + main { + // border: 1px solid #fff; + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + // .mainTitle { + // color: #4b9bb7; + // font-weight: 600; + // line-height: 100px; + // font-size: 14px; + // } + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + .optionBtn { + display: flex; + margin-top: 20px; + justify-content: center; + + .btn { + padding: 12px 50px; + } + } + } + } +} + +.updateUser::v-deep .el-form-item__label { + color: #4b9bb7; +} + +.updateUser::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; +} + +.addPerson { + display: flex; + list-style: none; + padding: 0; + flex-wrap: wrap; + max-width: 280px; + + li { + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } +} + +.li-icon { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + margin: 0 auto; +} + +.li-btn { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; +} + +.card { + position: absolute; + z-index: 2000; + right: 0; + + .box-card { + min-height: 240px; + max-height: 260px; + overflow: hidden; + background-color: #09152f; + position: relative; + max-width: 220px; + + .scrollWrap { + overflow: scroll; + height: 180px; + position: relative; + color: #4b9bb7; + + .el-checkbox-group { + display: flex; + flex-direction: column; + + .el-checkbox { + line-height: 20px; + } + } + } + + .myclear { + width: 100%; + line-height: 20px; + color: #4b9bb7; + display: flex; + justify-content: space-between; + } + + .hidebar { + position: absolute; + top: 77px; + right: 20px; + width: 20px; + height: 180px; + background-color: #09152f; + } + + .item { + line-height: 40px; + } + } +} + +.leader { + color: red; +} + +.el-input { + width: 280px !important; +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/cockpitManage/index.vue b/src/views/systemSetting/platform/cockpitManage/index.vue new file mode 100644 index 0000000..86e4e2f --- /dev/null +++ b/src/views/systemSetting/platform/cockpitManage/index.vue @@ -0,0 +1,721 @@ +<template> + <div class="userList"> + <header> + <div class="headerContent"> + <div class="search"> + <div class="search-item"> + <span>閮ㄩ棬鍚嶇О:</span> + <div class="option"> + <el-input v-model="info.type" placeholder="璇疯緭鍏ラ儴闂�"></el-input> + </div> + </div> + <div class="search-item"> + <span>鐘舵��:</span> + <div class="option"> + <el-input v-model="info.startTime" placeholder="閫夋嫨鐘舵��"></el-input> + </div> + </div> + <div class="findBtn"> + <el-button type="primary" @click="getUserList">鏌ヨ</el-button> + </div> + </div> + </div> + </header> + <main> + <div class="mainContent"> + <div class="type-nav"> + <el-button type="primary">瀵煎叆</el-button> + <el-button type="primary">瀵煎嚭</el-button> + <el-button type="primary" @click="addImages">娣诲姞</el-button> + </div> + <!-- 鏁版嵁灞曠ず --> + <el-table ref="multipleTable" + :header-cell-style="{ background: '#06122c', 'font-size': '12px', color: '#4b9bb7', 'font-weight': '650', 'line-height': '45px' }" + :data="tableData" style="width: 100%" :row-class-name="tableRowClassName" + @selection-change="tableChange"> + <!-- <el-table-column type="selection" min-width="5"> + </el-table-column> --> + <el-table-column prop="code" label="閮ㄩ棬鍚嶇О" min-width="8"> + </el-table-column> + <el-table-column prop="questionType" label="閮ㄩ棬浜烘暟" min-width="10"> + </el-table-column> + <el-table-column prop="bigType" label="鏈瀛﹀巻鍙婁互涓婁汉鏁�" min-width="15"> + </el-table-column> + <el-table-column prop="smallType" label="鎸佽瘉浜哄憳鏁�" min-width="8"> + </el-table-column> + <el-table-column prop="imagesId" label="45鏁颁互涓嬩汉鏁�" min-width="8"> + </el-table-column> + <el-table-column prop="uploadTime" label="鎸佹硶寰嬭亴涓氳祫鏍艰瘉浜烘暟" min-width="15" v-if="mystatus === 1"> + </el-table-column> + <el-table-column prop="imagesId" label="閫氭姤鏁伴噺" min-width="8"> + </el-table-column> + <el-table-column prop="breakRuleActiveNumber" label="杩濈邯琛屼负鏁伴噺" min-width="15" v-if="mystatus === 1"> + </el-table-column> + <el-table-column prop="crimeActiveNumber" label="杩濇硶鐘姜琛屼负鏁伴噺" min-width="8"> + </el-table-column> + <el-table-column prop="monthCaseNumber" label="姣忔湀妗堜欢妗�" min-width="15" v-if="mystatus === 1"> + </el-table-column> + <el-table-column prop="noTimeoutCaseNumber" label="鏈秴鏃舵浠堕噺" min-width="8"> + </el-table-column> + <el-table-column prop="reViewNumber" label="澶嶈鎴栬瘔璁兼暟" min-width="15" v-if="mystatus === 1"> + </el-table-column> + <el-table-column prop="status" label="鐘舵��" min-width="15" v-if="mystatus === 1"> + </el-table-column> + <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> + <template slot-scope="scope"> + <div class="operation"> + <!-- <span @click="handleFind(scope.row)">鏌ョ湅</span> + <span class="line">|</span> --> + <span @click="handleUpdate(scope.row)">淇敼</span> + <span class="line">|</span> + <span @click="handleDelete(scope.row)">鍒犻櫎</span> + </div> + </template> + </el-table-column> + </el-table> + <!-- 璇︽儏椤靛睍绀� --> + <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView" + :before-close="handleClose"> + <MyDetail :info=info v-if="mystatus == 1 ? true : false"></MyDetail> + <MyIllDetail :info=info v-else></MyIllDetail> + </el-dialog> + <!-- 涓婁紶椤甸潰 --> + <!-- <el-dialog :visible.sync="dialogUpload" width="80%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload" + :before-close="handleClose"> --> + <!-- <uploadVio v-if="mystatus === 1" :caseId="caseId" :mycode="caseCode" @closeDialog="closeDialog"></uploadVio> + <uploadIll v-else :caseId="caseId" :mycode="caseCode" @closeDialog="closeDialog"></uploadIll> --> + <!-- </el-dialog> --> + <!-- tools --> + <!-- 鏌ョ湅淇敼椤甸潰 --> + <el-dialog :visible.sync="dialogUpdate" width="40%" title="淇敼閮ㄩ棬" v-if="dialogUpdate" + :before-close="handleClose"> + <updateUser /> + <!-- :updateFlag="updateFlag" + :userInfo="userInfo" + :getDepartList="context === '' ? getUserList : search" + @changeDialog="changMyDialog" --> + </el-dialog> + <el-dialog :visible.sync="dialogcheck" width="40%" title="鏌ョ湅" v-if="dialogcheck" + :before-close="handleClose"> + <detailUser /> + <!-- :updateFlag="updateFlag" + :userInfo="userInfo" + :getDepartList="context === '' ? getUserList : search" + @changeDialog="changMyDialog" --> + </el-dialog> + + <el-dialog :visible.sync="dialogAdd" width="40%" title="娣诲姞閮ㄩ棬" v-if="dialogAdd" + :before-close="handleClose"> + <createUser /> + <!-- :updateFlag="updateFlag" + :userInfo="userInfo" + :getDepartList="context === '' ? getUserList : search" + @changeDialog="changMyDialog" --> + </el-dialog> + + <div class="tools"> + <div class="funs"> + <div class="funsItem funs-sp"> + <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> + </div> + <div class="funsItem funs-sp"> + <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox> + </div> + <div class="funsItem"> + <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled> + <el-option v-for="item in options" :key="item.value" :label="item.label" + :value="item.value" :disabled="item.disabled"> + </el-option> + </el-select> + </div> + </div> + <div class="pagination"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" + :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage" + @prev-click="handlePrev" @next-click="handleNext"> + </el-pagination> + </div> + </div> + </div> + </main> + </div> +</template> +<script> +// import uploadVio from './updateUser/uploadResult/vio' +// import uploadIll from "./updateUser/uploadResult/ill" +import createUser from "./createUser"; +import updateUser from "./updateUser"; +import detailUser from "./detailUser"; +export default { + components: { + // updateUser, + // uploadVio, uploadIll, + updateUser, createUser, detailUser + }, + data() { + return { + dialogUpdate: false, + dialogcheck: false, + tableData: [ + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + { + code: "琛楅亾1", + questionType: "34", + bigType: "20", + smallType: "16", + imagesId: "26", + uploadTime: "8", + breakRuleActiveNumber: "2", + crimeActiveNumber: "1", + monthCaseNumber: "0", + noTimeoutCaseNumber: "145", + reViewNumber: "100", + status: "23", + }, + ], + context: "", + dialogUpload: false, + // dialogUpdate: false, + dialogView: false, + updateFlag: false, + userInfo: {}, + info: {}, + totalNum: 5, + pageSize: 10, + currentPage: 1, + all: false, + unsame: false, + myIdx: 0, + preMyIdx: 0, + options: [ + { + value: 0, + label: '鎵归噺鎿嶄綔', + disabled: true, + }, + { + value: 1, + label: '鎵归噺鍚敤', + }, + { + value: 2, + label: '鎵归噺绂佺敤', + }, + { + value: 3, + label: '鎵归噺鍒犻櫎', + } + ], + tempList: [], + typeList: [ + { + name: '鎽勫儚澶存帹閫�', + value: 1, + checked: true + }, + { + name: '鍗曞叺鎺ㄩ��', + value: 2, + checked: false, + }, + ], + statusArr: [], + mystatus: 1, + caseId: '', + caseCode: null, + dialogAdd: false, + } + }, + created() { + this.statusArr[0] = 6; + this.typeList.forEach(item => { + if (item.checked) { + this.statusArr[1] = item.value; + } + }) + this.getUserList(); + }, + methods: { + //淇敼 + handleUpdate() { + this.dialogUpdate = true; + }, + // 鏌ョ湅 + handleFind() { + this.dialogcheck = true; + }, + // 椤堕儴涓嬫媺妗� + setMystatus(value) { + console.log(value); + this.statusArr[1] = value; + this.changeTypeChecked(value - 1); + this.getUserList(); + }, + // 鎵归噺鍒犻櫎 + mulDelete(idArr) { + console.log(idArr); + this.$axios({ + method: 'delete', + url: 'sccg/violations/batch_delete?ids=' + idArr, + }).then(res => { + this.getUserList(); + this.$message({ + message: res.message, + type: res.code === 200 ? 'success' : 'warning' + }) + }) + }, + // 鎵ц涓嬫媺妗嗘搷浣� + selectChange(list) { + console.log(this.tempList); + if (this.tempList.length !== 0) { + if (list === 3) { + this.preMyIdx = list; + this.mulDelete(this.tempList); + } + } else { + this.myIdx = this.preMyIdx; + this.$message({ + type: 'warning', + message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁', + }) + } + }, + // 鐩戝惉琛ㄦ牸 + tableChange(list) { + this.tempList = []; + list.forEach(item => { + this.tempList.push(item.code); + }) + if (list.length === this.tableData.length) { + this.all = true; + } else { + this.all = false + } + }, + // 鍏ㄩ�� + selectAll() { + this.$refs.multipleTable.toggleAllSelection(); + }, + // 鍙嶉�� + disSame(list) { + list.forEach(row => { + this.$refs.multipleTable.toggleRowSelection(row) + }) + }, + // 鍒犻櫎鍗曟潯鏁版嵁 + handleDelete({ number }) { + console.log(number); + this.$confirm('纭鍒犻櫎锛�') + .then(_ => { + console.log(1); + this.$axios({ + method: 'delete', + url: `sccg/violations/delete?id=${number}`, + }) + .then(res => { + console.log(res); + this.$message({ + type: res.code === 200 ? 'success' : 'warning', + message: res.message + }) + + this.getUserList(); + }) + }) + .catch(_ => { console.log(2) }); + }, + // 鑾峰彇鐢ㄦ埛鍒楄〃 + getUserList() { + const { currentPage, pageSize, context, statusArr } = this; + console.log(statusArr); + // this.$axios({ + // method: 'get', + // url: `sccg/base_case/query?state=${statusArr[0]}¤t=${currentPage}&size=${pageSize}&resource=2&type=${statusArr[1]}` + // }).then(res => { + // this.totalNum = res.data.total; + // this.tableData = res.data.records; + // console.log(res); + // }) + }, + // 鏇存敼杩濊/杩濆缓 + changeTypeChecked(idx) { + this.typeList.forEach((item, index) => { + if (index === idx) { + item.checked = true; + } else { + item.checked = false; + } + }) + this.mystatus = idx + 1; + console.log(this.mystatus); + this.statusArr[1] = this.typeList[idx].value; + this.getUserList(); + }, + // 璁剧疆琛ㄦ牸鏂戦┈绾� + tableRowClassName({ row, rowIndex }) { + if ((rowIndex + 1) % 2 == 0) { + return 'warning-row'; + } else { + return 'success-row'; + } + return ''; + }, + // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� + changeCurrentPage(page) { + this.currentPage = page; + this.getUserList(); + }, + // 涓婁竴椤电偣鍑讳簨浠� + handlePrev(page) { + this.currentPage = page; + this.getUserList(); + }, + // 涓嬩竴椤电偣鍑讳簨浠� + handleNext(page) { + this.currentPage = page; + this.getUserList(); + }, + addImages() { + this.dialogAdd = true; + }, + handleClose(done) { + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + this.dialogUpload = false; + // this.dialogUpdate = false; + done(); + }) + .catch(_ => { }); + }, + handleClose(done) { + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + this.dialogUpload = false; + // this.dialogUpdate = false; + done(); + }) + .catch(_ => { }); + }, + async JumpView(data) { + await this.getEventInfo(data.code); + }, + // 鑾峰彇妗堜欢淇℃伅 + async getEventInfo(code) { + await this.$axios({ + method: 'get', + url: `sccg/base_case/baseCaseDetail/${code}` + }) + .then(res => { + this.info = res.data; + this.dialogView = true; + }) + }, + opernDialog(data) { + this.dialogUpload = true; + this.caseId = data.id; + this.caseCode = data.code + // console.log(data); + }, + // 鍏抽棴涓婁紶鐣岄潰 + closeDialog({ flag }) { + this.dialogUpload = flag; + this.getUserList(); + }, + // 澶勭悊鏃堕棿 + filterTime(time) { + return helper(time); + } + } +} +</script> +<style lang="scss" scoped> +.userList { + text-align: left; + margin: 10px 20px; + color: #4b9bb7; + + header { + background-color: #09152f; + border: 1pox solid #fff; + + .headerContent { + // padding: 0 40px; + width: 100%; + // display: flex; + line-height: 60px; + // justify-content: space-between; + // align-items: center; + + .search { + display: flex; + justify-content: flex-start; + + .search-item { + display: flex; + margin-right: 10vw; + } + + .el-input { + flex: 2; + color: #1d3f57; + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + } + + } + + .findBtn { + line-height: 100px; + margin-left: 15px; + display: flex; + align-items: center; + margin-top: -2px; + + .el-button { + padding: 12px 25px; + border-radius: 20px; + } + } + + .addBtn { + background-color: #eb5d01; + border: none; + border-radius: 20px; + padding: 12px 30px; + } + } + } + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + main { + background-color: #09152f; + margin-top: 20px; + padding-bottom: 50px; + border: 1pox solid #fff; + + .btn span:hover { + cursor: pointer; + } + + .type-nav { + display: flex; + line-height: 40px; + margin-left: 30px; + padding-top: 10px; + margin-bottom: 10px; + + .type-item { + width: 80px; + text-align: center; + + &:hover { + cursor: pointer; + } + } + + .is-active { + background-color: #070f22; + border-radius: 4px; + color: #fff; + } + } + + .tools { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + + .funs-sp { + border: 1px solid #17324c; + } + + .funs { + display: flex; + + .funsItem { + line-height: 28px; + display: flex; + align-items: center; + border-radius: 4px; + font-size: 12px; + margin-left: 10px; + + .el-checkbox { + width: 80px; + padding: 0 10px; + } + + .el-select { + width: 120px; + } + + &:hover { + border: 1px solid #4b9bb7; + } + + &:hover .el-checkbox { + color: #4b9bb7; + } + } + + } + + .pagination { + margin-top: 50px; + display: flex; + line-height: 50px; + justify-content: center; + + .el-pagination { + + &::v-deep li, + &::v-deep .btn-prev, + &::v-deep .btn-next { + background-color: #071f39; + color: #4b9bb7; + } + + &::v-deep .active { + background-color: #409eff; + color: #fff; + } + } + } + } + + .el-table { + color: #4b9bb7; + font-size: 10px; + + // &::v-deep .cell { + // text-overflow: ellipsis; + // white-space: nowrap; + // overflow: hidden; + // } + + + .operation { + display: flex; + + .line { + padding: 0 5px; + } + + span:hover { + cursor: pointer; + } + } + } + } + + .line { + padding: 0 5px; + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/cockpitManage/updateUser/index.vue b/src/views/systemSetting/platform/cockpitManage/updateUser/index.vue new file mode 100644 index 0000000..f1cffaa --- /dev/null +++ b/src/views/systemSetting/platform/cockpitManage/updateUser/index.vue @@ -0,0 +1,343 @@ +<template> + <div class="updateUser"> + <main> + <div class="mainContent"> + <el-form + ref="user" + label-width="140px" + autoComplete="on" + :model="depart" + :rules="createDepartRules" + label-position="right" + > + <!-- 閮ㄩ棬鍚嶇О --> + <span style="heght:18px;display:block;line-height: 14px;"> + 鎵ф硶浜哄憳缁撴瀯 + </span> + <el-form-item class="optionItem" label="閮ㄩ棬鍚嶇О:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"></el-input> + </el-form-item> + <!-- 涓婄骇閮ㄩ棬 --> + <el-form-item class="optionItem" label="閮ㄩ棬浜烘暟:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ラ儴闂ㄤ汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杈栧尯绠$悊:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ緰鍖虹鐞�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鏈瀛﹀巻浠ヤ笂浜烘暟:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ湰绉戝鍘嗕互涓婁汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鎸佽瘉浜哄憳鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ寔璇佷汉鍛樻暟"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="45宀佷互涓嬩汉鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏�45宀佷互涓嬩汉鏁�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鎸佹硶寰嬭亴涓氳祫鏍艰瘉涔︿汉鏁�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ寔娉曞緥鑱屼笟璧勬牸璇佷功浜烘暟"></el-input> + </el-form-item> + <span> + 浣滈绾緥 + </span> + <el-form-item class="optionItem" label="閫氭姤鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ラ�氭姤鏁伴噺"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杩濈邯琛屼负鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ繚绾涓烘暟閲�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="杩濇硶鐘姜琛屼负鏁伴噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ヨ繚娉曠姱缃涓烘暟閲�"></el-input> + </el-form-item> + <span>妗堜欢鍔炵悊</span> + <el-form-item class="optionItem" label="姣忔湀妗堜欢鍔炵悊閲�:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ瘡鏈堟浠跺姙鐞嗛噺"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="鏈秴鏃舵浠堕噺:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ユ湭瓒呮椂妗堜欢閲�"></el-input> + </el-form-item> + <el-form-item class="optionItem" label="澶嶈鎴栬瘔璁兼暟:" prop="departName"> + <el-input v-model="depart.departName" placeholder="璇疯緭鍏ュ璁垨璇夎鏁�"></el-input> + </el-form-item> + </el-form> + </div> + </main> + </div> +</template> +<script> +import { getTypeList } from "@/utils/helper"; +export default { + data() { + + return { + depart:{}, + imagedata: { + code: "SJ202211010001", + questionType: "杩濊", + bigType: "杩濆弽鍥藉鏈夊叧鏍囧噯缂栧埗鍩庝埂瑙勫垝", + smallType: "鍦ㄥ眳姘戜綇瀹呮ゼ銆佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忕患鍚堟ゼ銆佸晢浣忕患鍚堟ゼ鍐呬笌灞呬綇灞傜浉閭荤殑鍟嗕笟妤煎眰鍐呮柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰", + imagesId: "1", + uploadTime: "2022-10-31 20:20:01", + imageUrl: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.fabao365.xuanfa.cn%2Fimage%2F202107%2F130f9d19f204302f.jpg&refer=http%3A%2F%2Fimg.fabao365.xuanfa.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670034077&t=974b018f9e27023a01d2d8ad3c7c44f2" + }, + } + }, + created() { + // const that = this; + // this.user = JSON.parse(JSON.stringify(that.userInfo)); + // console.log(this.user); + // this.user.parentId = this.user.parentId === 0 ? '鏆傛棤涓婄骇閮ㄩ棬' : this.user.parentId; + // this.checkedList = this.user.userInfoDTOS; + // this.checkedList.forEach((e) => { + // this.checkedUser.push(e.userId); + // }); + // console.log(this.checkedUser) + // this.$axios({ + // method: "get", + // url: "sccg/depart/tree", + // }).then((res) => { + // that.departList = res.data; + // }); + // this.getUserList(this.user.id); + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // this.getDepartType(); + }, + methods: { + // handleUser() { + // this.$refs["user"].validate((valid) => { + // if (valid) { + // const { user, checkedList } = this; + // const arr = []; + // checkedList.forEach((item) => { + // arr.push({ leader: item.leader, userId: item.id ? item.id : item.userId }); + // }); + // if (arr.length === 0) { + // this.$message({ + // type: 'warning', + // message: '璇烽�夋嫨閮ㄩ棬浜哄憳', + // }) + // } else { + // this.$axios + // .post("sccg/depart/update", { + // id: user.id, + // departName: user.departName, + // parentId: user.parentId === '鏆傛棤涓婄骇閮ㄩ棬' ? 0 : user.parentId, + // departDes: user.departDes, + // departManagerList: arr, + // }) + // .then((res) => { + // this.$message({ + // message: res.message, + // type: res.code === 200 ? "success" : "warning", + // }); + // this.$emit("changeDialog", { flag: false }); + // this.getDepartList(); + // }); + // } + // } else { + // return false; + // } + // }); + // }, + // // 鑾峰彇閮ㄩ棬绫诲瀷 + // async getDepartType() { + // this.typeList = await getTypeList(1, "08"); + // }, + + // // 璁剧疆棰嗗 + // setLeader(idx) { + // if (this.updateFlag) { + // this.checkedList.forEach((item, index) => { + // item.leader = index === idx; + // }); + // } + // }, + + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� + // getUserList(id) { + // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜) + // this.$axios.get(`/sccg/depart/query_surplus_exist_user?id=`+id).then((res) => { + // if (res.code === 200) { + // this.userList = res.data; + // } + // }); + // }, + // addUser() { + // this.checkedList = []; + // this.userList.forEach((item) => { + // this.checkedUser.forEach((child) => { + // if (item.id == child) { + // this.checkedList.push({ + // id: item.id, + // username: item.username, + // leader: false, + // }); + // } + // }); + // }); + // this.checkedList[0].leader = true; + // console.log(this.checkedList); + // this.openUser = false; + // }, + // }, + // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"], + }, + props: ['updateFlag'] +}; +</script> +<style lang="scss" scoped> +.updateUser { + border-radius: 1px; + background-color: #09152f; + + main { + // border: 1px solid #fff; + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + + // .mainTitle { + // color: #4b9bb7; + // font-weight: 600; + // line-height: 100px; + // font-size: 14px; + // } + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + line-height: 40px; + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + .optionBtn { + display: flex; + margin-top: 20px; + justify-content: center; + + .btn { + padding: 12px 50px; + } + } + } + } +} + +.updateUser::v-deep .el-form-item__label { + color: #4b9bb7; +} + +.updateUser::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; +} + +.addPerson { + display: flex; + list-style: none; + padding: 0; + flex-wrap: wrap; + max-width: 280px; + + li { + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } +} + +.li-icon { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + margin: 0 auto; +} + +.li-btn { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; +} + +.card { + position: absolute; + z-index: 2000; + right: 0; + + .box-card { + min-height: 240px; + max-height: 260px; + overflow: hidden; + background-color: #09152f; + position: relative; + max-width: 220px; + + .scrollWrap { + overflow: scroll; + height: 180px; + position: relative; + color: #4b9bb7; + + .el-checkbox-group { + display: flex; + flex-direction: column; + + .el-checkbox { + line-height: 20px; + } + } + } + + .myclear { + width: 100%; + line-height: 20px; + color: #4b9bb7; + display: flex; + justify-content: space-between; + } + + .hidebar { + position: absolute; + top: 77px; + right: 20px; + width: 20px; + height: 180px; + background-color: #09152f; + } + + .item { + line-height: 40px; + } + } +} + +.leader { + color: red; +} + +.el-input { + width: 280px !important; +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/mySetting/index.vue b/src/views/systemSetting/platform/mySetting/index.vue index 9e89a58..d95da03 100644 --- a/src/views/systemSetting/platform/mySetting/index.vue +++ b/src/views/systemSetting/platform/mySetting/index.vue @@ -119,7 +119,7 @@ method: 'get', url: 'sccg/system/portal/menu/search_myself', }).then(res => { - this.menuList = res.data; + this.menuList = res.data.menu; }) }, // 鎷栨嫿 diff --git a/src/views/video/index.vue b/src/views/video/index.vue index 673cada..6e9f237 100644 --- a/src/views/video/index.vue +++ b/src/views/video/index.vue @@ -1,6 +1,6 @@ <template> - <el-container> - <el-aside width="200px"> + <el-container style="height: 100%;"> + <el-aside heigth="100%" width="200px "> <div style="line-height: 40px;text-align: left;padding: 0 20px 0 10px;"> <span style="color:rgb(75, 155, 183);font-weight: 500; width: 196px;">缁勭粐鏈烘瀯</span> <el-input placeholder="璇疯緭鍏ユ満鏋�"></el-input> @@ -11,33 +11,124 @@ </el-aside> <el-container> - <el-header style="display:flex;justify-content: space-between;"> - <div> - <span style="color:rgb(75, 155, 183);font-weight: 500;text-align: left; font-size: 12px;">鏁翠綋瓒嬪娍</span> + <el-header style="display:flex;flex-direction: column;height: 120px;"> + <div style="display:flex;justify-content: space-between;height: 80px;"> + <span style="color:rgb(75, 155, 183);font-weight: 500;text-align: left; font-size: 16px;">鏁翠綋瓒嬪娍</span> + <el-date-picker v-model="value" type="date" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> </div> - <el-date-picker v-model="value" type="date" placeholder="閫夋嫨鏃ユ湡"> - </el-date-picker> + <div style="height:60px;display: flex;justify-content: flex-start;"> + <el-button class="button-one"> + 瑙嗛棰勮 + </el-button> + <el-button class="button-two"> + 瑙嗛宸℃煡 + </el-button> + <el-button class="button-third"> + 鍥剧墖宸℃煡 + </el-button> + </div> </el-header> - <el-main> - <video id="my-video" class="video-js" controls preload="auto" width="100%" height="100%" - poster="MY_VIDEO_POSTER.jpg" data-setup="{}"> - <source - src="http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - type="video/mp4" /> - <source src="MY_VIDEO.webm" type="video/webm" /> - <p class="vjs-no-js"> - To view this video please enable JavaScript, and consider upgrading to a - web browser that - <a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a> - </p> - </video> + <el-main style="display:flex;flex-wrap: wrap;overflow-y: scroll;"> + <div v-for="item in videoDate " style="height: 240px ;width: 210px; position: relative;margin-left:20px ;"> + <div + style="color:rgb(75, 155, 183); font-size: 11px;line-height: 18px; position: absolute; z-index: 1;left: 50px;"> + {{ item.steert }}{{ item.community }}</div> + <video id="my-video" class="video-js" controls preload="auto" width="210px" height="150px" + :poster="item.imageUrl" data-setup="{}"> + <source :src="item.videoUrl" type="video/mp4" /> + </video> + <div class="bottonOne" @click="">鏌ョ湅瑙嗛</div> + <div class="bottonTwo">瑙嗛涓婃姤</div> + <div class="bottonThird">瀵硅</div> + </div> </el-main> + <el-footer> + <div style="margin-bottom:0;"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" + :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext"> + </el-pagination> + </div> + </el-footer> </el-container> </el-container> </template> <style lang="scss" scoped> -.el-header { +.button-one { + height: 40px; + width: 80px; + margin-left: 20px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); +} + +.button-two { + height: 40px; + width: 80px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); +} +.el-button+.el-button{ + margin: 0; +} +.button-third { + height: 40px; + width: 80px; + padding: 0; + background-color: #09152f; + color: rgb(75, 155, 183); + border: 1px solid rgb(75, 155, 183); +} + +.video-js { + border: 1px solid rgb(75, 155, 183); + margin-left: 20px; +} + +.bottonOne { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + margin-left: 20px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + cursor: pointer; +} + +.bottonTwo { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + margin-left: 90px; + cursor: pointer; +} +.el-pagination{ + line-height: 40px; +} +.bottonThird { + color: rgb(75, 155, 183); + font-size: 11px; + position: absolute; + height: 30px; + line-height: 30px; + width: 70px; + border: 1px solid rgb(75, 155, 183); + margin-left: 160px; + cursor: pointer; +} + +::v-deep .el-header { background-color: #09152f; color: #000; line-height: 60px; @@ -48,6 +139,11 @@ } ::v-deep .el-menu { + background-color: #09152f; +} + +::v-deep .el-main, +::v-deep .el-footer { background-color: #09152f; } @@ -62,6 +158,54 @@ export default { data() { return { + totalNum:7, + pageSize:10, + videoDate:[ + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + }, + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + , + { + id:12, + steert:"xx琛楅亾", + community:"xxx绀惧尯", + imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", + videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" + } + ], treedata: [{ label: '濡欓珮琛楅亾', children: [{ -- Gitblit v1.8.0