From 387e8b0743240de72425e5b5c5709d629ace9aa4 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期二, 11 十月 2022 20:17:43 +0800
Subject: [PATCH] 新增消息界面、处理遗留问题
---
src/views/operate/management/myIndex/components/closure/index.vue | 2
package-lock.json | 117 +
src/views/operate/message/mycontrol/createUser/index.vue | 194 +++
src/views/operate/message/myIndex/index.vue | 555 +++++++++
src/views/operate/message/myIndex/myview/index.vue | 55
src/views/operate/car/myIndex/update/law/index.vue | 227 +++
src/views/operate/myWait/index.vue | 1
src/views/layout/components/Menu/index.vue | 8
src/utils/helper.js | 7
src/views/operate/disposal/casepool/pool/index.vue | 26
src/components/illdetail/index.vue | 2
src/views/operate/car/myIndex/create/soil/index.vue | 310 +++++
src/views/operate/disposal/casepool/notDeal/index.vue | 10
src/views/operate/message/myIndex/update/index.vue | 179 +++
src/views/operate/car/myIndex/update/index.vue | 0
src/views/operate/message/index.vue | 3
src/components/process/index.vue | 47
src/views/operate/message/myIndex/createUser/index.vue | 206 +++
src/components/edit/index.vue | 41
src/views/operate/car/myIndex/create/law/index.vue | 269 ++++
src/components/dispatch/index.vue | 8
src/utils/mydate.js | 2
src/router/index.js | 17
src/views/operate/message/mycontrol/index.vue | 501 ++++++++
src/utils/validate.js | 6
src/utils/request.js | 47
/dev/null | 123 --
src/views/operate/message/mycontrol/update/index.vue | 175 ++
src/components/detail/index.vue | 4
src/views/operate/car/myIndex/index.vue | 67
package.json | 4
src/views/operate/management/myIndex/index.vue | 9
src/views/operate/car/myIndex/update/soil/index.vue | 265 ++++
33 files changed, 3,261 insertions(+), 226 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 8f48725..5147c26 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,14 +11,14 @@
"@amap/amap-jsapi-loader": "^1.0.1",
"axios": "^0.27.2",
"core-js": "^3.8.3",
- "element-ui": "^2.15.8",
"normalize.css": "^8.0.1",
"sass": "^1.54.8",
"sass-loader": "^13.0.2",
"vue": "^2.6.14",
"vue-gemini-scrollbar": "^2.0.1",
"vue-router": "^3.5.1",
- "vuex": "^3.6.2"
+ "vuex": "^3.6.2",
+ "wangeditor": "^4.7.15"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~5.0.0",
@@ -27,6 +27,7 @@
"@vue/cli-service": "~5.0.0",
"chalk": "4.1.0",
"compression-webpack-plugin": "5.0.2",
+ "element-ui": "^2.15.8",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "^2.6.14"
}
@@ -1721,8 +1722,19 @@
"version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
"integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
- "dev": true,
"dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz",
+ "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==",
+ "dependencies": {
+ "core-js-pure": "^3.25.1",
"regenerator-runtime": "^0.13.4"
},
"engines": {
@@ -3391,6 +3403,7 @@
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
"integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
+ "dev": true,
"dependencies": {
"babel-runtime": "6.x"
}
@@ -3466,7 +3479,8 @@
"node_modules/babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
- "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
+ "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==",
+ "dev": true
},
"node_modules/babel-loader": {
"version": "8.2.5",
@@ -3553,6 +3567,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
+ "dev": true,
"dependencies": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
@@ -3563,12 +3578,14 @@
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "dev": true,
"hasInstallScript": true
},
"node_modules/babel-runtime/node_modules/regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
},
"node_modules/balanced-match": {
"version": "1.0.2",
@@ -4806,6 +4823,16 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/core-js-pure": {
+ "version": "3.25.5",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz",
+ "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==",
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
@@ -5256,6 +5283,7 @@
"version": "1.5.2",
"resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5704,6 +5732,7 @@
"version": "2.15.8",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.8.tgz",
"integrity": "sha512-N54zxosRFqpYax3APY3GeRmtOZwIls6Z756WM0kdPZ5Q92PIeKHnZgF1StlamIg9bLxP1k+qdhTZvIeQlim09A==",
+ "dev": true,
"dependencies": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
@@ -9149,7 +9178,8 @@
"node_modules/normalize-wheel": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
- "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA=="
+ "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==",
+ "dev": true
},
"node_modules/normalize.css": {
"version": "8.0.1",
@@ -10964,8 +10994,7 @@
"node_modules/regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
- "dev": true
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"node_modules/regenerator-transform": {
"version": "0.15.0",
@@ -11142,7 +11171,8 @@
"node_modules/resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
+ "dev": true
},
"node_modules/resolve": {
"version": "1.22.1",
@@ -13710,6 +13740,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==",
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -13913,8 +13944,7 @@
"node_modules/tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/tty-browserify": {
"version": "0.0.0",
@@ -14415,6 +14445,16 @@
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
"peerDependencies": {
"vue": "^2.0.0"
+ }
+ },
+ "node_modules/wangeditor": {
+ "version": "4.7.15",
+ "resolved": "https://registry.npmjs.org/wangeditor/-/wangeditor-4.7.15.tgz",
+ "integrity": "sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==",
+ "dependencies": {
+ "@babel/runtime": "^7.11.2",
+ "@babel/runtime-corejs3": "^7.11.2",
+ "tslib": "^2.1.0"
}
},
"node_modules/watchpack": {
@@ -16176,8 +16216,16 @@
"version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
"integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
- "dev": true,
"requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/runtime-corejs3": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz",
+ "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==",
+ "requires": {
+ "core-js-pure": "^3.25.1",
"regenerator-runtime": "^0.13.4"
}
},
@@ -17593,6 +17641,7 @@
"version": "1.8.5",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
"integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
+ "dev": true,
"requires": {
"babel-runtime": "6.x"
}
@@ -17640,7 +17689,8 @@
"babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
- "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
+ "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==",
+ "dev": true
},
"babel-loader": {
"version": "8.2.5",
@@ -17710,6 +17760,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
+ "dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
@@ -17718,12 +17769,14 @@
"core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "dev": true
},
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
}
}
},
@@ -18694,6 +18747,11 @@
}
}
},
+ "core-js-pure": {
+ "version": "3.25.5",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz",
+ "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg=="
+ },
"core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
@@ -19027,7 +19085,8 @@
"deepmerge": {
"version": "1.5.2",
"resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz",
- "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
+ "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
+ "dev": true
},
"default-gateway": {
"version": "6.0.3",
@@ -19381,6 +19440,7 @@
"version": "2.15.8",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.8.tgz",
"integrity": "sha512-N54zxosRFqpYax3APY3GeRmtOZwIls6Z756WM0kdPZ5Q92PIeKHnZgF1StlamIg9bLxP1k+qdhTZvIeQlim09A==",
+ "dev": true,
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
@@ -22089,7 +22149,8 @@
"normalize-wheel": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
- "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA=="
+ "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==",
+ "dev": true
},
"normalize.css": {
"version": "8.0.1",
@@ -23446,8 +23507,7 @@
"regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
- "dev": true
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"regenerator-transform": {
"version": "0.15.0",
@@ -23589,7 +23649,8 @@
"resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
+ "dev": true
},
"resolve": {
"version": "1.22.1",
@@ -25670,7 +25731,8 @@
"throttle-debounce": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
- "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
+ "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==",
+ "dev": true
},
"through2": {
"version": "2.0.5",
@@ -25844,8 +25906,7 @@
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"tty-browserify": {
"version": "0.0.0",
@@ -26265,6 +26326,16 @@
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
"requires": {}
},
+ "wangeditor": {
+ "version": "4.7.15",
+ "resolved": "https://registry.npmjs.org/wangeditor/-/wangeditor-4.7.15.tgz",
+ "integrity": "sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==",
+ "requires": {
+ "@babel/runtime": "^7.11.2",
+ "@babel/runtime-corejs3": "^7.11.2",
+ "tslib": "^2.1.0"
+ }
+ },
"watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz",
diff --git a/package.json b/package.json
index 107c5dc..4698577 100644
--- a/package.json
+++ b/package.json
@@ -12,14 +12,14 @@
"@amap/amap-jsapi-loader": "^1.0.1",
"axios": "^0.27.2",
"core-js": "^3.8.3",
-
"normalize.css": "^8.0.1",
"sass": "^1.54.8",
"sass-loader": "^13.0.2",
"vue": "^2.6.14",
"vue-gemini-scrollbar": "^2.0.1",
"vue-router": "^3.5.1",
- "vuex": "^3.6.2"
+ "vuex": "^3.6.2",
+ "wangeditor": "^4.7.15"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~5.0.0",
diff --git a/src/components/detail/index.vue b/src/components/detail/index.vue
index f398e1a..9394f71 100644
--- a/src/components/detail/index.vue
+++ b/src/components/detail/index.vue
@@ -20,7 +20,7 @@
<label class="data-title">
灏忕被鍚嶇О:
</label>
- <span class="data-detail">xxx</span>
+ <!-- <span class="data-detail">{{baseCase.violations}}</span> -->
</div>
<div class="data-item__right">
<label class="data-title">
@@ -118,7 +118,7 @@
</div>
<div class="show-item">
<div class="show-wrap">
- <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo"></MyProcess>
+ <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
<MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
<MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
<MyScene v-else :currentSitVo="currentSitVo"></MyScene>
diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue
index 66d3df2..c5aebf1 100644
--- a/src/components/dispatch/index.vue
+++ b/src/components/dispatch/index.vue
@@ -300,17 +300,21 @@
},
// 浜哄憳鏇存敼
async handlePerChange(id){
- await this.getLawUser(id);
+ let obj = await this.getLawUser(id);
+ this.dispatch.lawEnforcerName = obj.nickName;
+ this.dispatch.contactWay = obj.mobile;
},
// 鑾峰彇鎵ф硶浜哄憳淇℃伅
async getLawUser(id){
+ let obj = {}
await this.$axios({
method:'get',
url:`sccg/admin/${id}`
})
.then(res=>{
- console.log(res);
+ obj = res.data;
})
+ return obj;
}
}
}
diff --git a/src/components/edit/index.vue b/src/components/edit/index.vue
new file mode 100644
index 0000000..7752241
--- /dev/null
+++ b/src/components/edit/index.vue
@@ -0,0 +1,41 @@
+<template>
+ <div id="edit">
+
+ </div>
+</template>
+<script>
+import E from 'wangeditor'
+export default {
+ data() {
+ return {
+ editor: null
+ }
+ },
+ mounted() {
+ this.editor = new E('#edit');
+ this.editor.config.height = 450;
+ this.editor.config.colors = [
+ '#4b9bb7',
+ '#09152f'
+ ]
+ this.editor.create();
+ },
+ beforeDestroy() {
+ this.editor.destroy();
+ this.editor = null;
+ }
+
+}
+</script>
+<style lang="scss" scoped>
+ #edit{
+ :deep(.w-e-toolbar){
+ background-color: #09152f !important;
+ color: #4b9bb7;
+ }
+ :deep(.w-e-text-container){
+ background-color: #09152f !important;
+ color: #4b9bb7;
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/src/components/illdetail/index.vue b/src/components/illdetail/index.vue
index 7606cf6..7ada2f5 100644
--- a/src/components/illdetail/index.vue
+++ b/src/components/illdetail/index.vue
@@ -77,7 +77,7 @@
</div>
<div class="show-item">
<div class="show-wrap">
- <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo"></MyProcess>
+ <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
<MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
<MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
<MyScene v-else :currentSitVo="currentSitVo"></MyScene>
diff --git a/src/components/process/index.vue b/src/components/process/index.vue
index ef53b8b..e66ea59 100644
--- a/src/components/process/index.vue
+++ b/src/components/process/index.vue
@@ -43,45 +43,26 @@
return {
active: 0,
list: [
- {
- title: '涓婃姤',
- status: 'success',
- },
- {
- title: '绔嬫',
- status: 'process',
- },
- {
- title: '娲鹃仯',
- status: 'process',
- },
- {
- title: '澶勭疆',
- status: 'process',
- },
- {
- title: '鏍告煡',
- status: 'process',
- },
- {
- title: '缁撴',
- status: 'process',
- }
],
}
},
- props:['handlePassVo'],
+ props:['handlePassVo','baseCase'],
created(){
- console.log('process');
- const {handlePassVo:{workflowConfigSteps:mylist}} = this;
+ const {handlePassVo:{workflowConfigSteps:mylist},baseCase:{state:mystate}} = this;
// console.log(this.handlePassVo.workflowConfigSteps[0].name);
// console.log(mylist);
- mylist.forEach(item=>{
- if(item.disposeRecords.length!==0){
- this.active ++;
- }
- })
- console.log(this.active);
+ console.log(mystate);
+ if(mystate===0){
+ this.active = -1;
+ }else if(mystate ===6){
+ this.active = 1;
+ }else if(mystate===7){
+ this.active = 2;
+ }else if(mystate ===8){
+ this.active = 3;
+ }else if(mystate ===9){
+ this.active = 4;
+ }
this.list = mylist;
},
}
diff --git a/src/router/index.js b/src/router/index.js
index 9266767..d1422bc 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -199,6 +199,23 @@
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'),
+ },
+ ]
}
]
},
diff --git a/src/utils/helper.js b/src/utils/helper.js
index dcb709e..622cae1 100644
--- a/src/utils/helper.js
+++ b/src/utils/helper.js
@@ -29,7 +29,6 @@
let dd = Math.floor(time/24/60/60/1000),
hh = Math.floor(time/60/60/1000-dd*24),
mi = Math.floor(time/60/1000-dd*24*60-hh*60);
- console.log(dd, hh, mi)
return addDay(fillTime(dd)) + addHour(fillTime(hh)) + addMin(fillTime(mi));
}
function fillTime(num) {
@@ -40,21 +39,21 @@
}
function addDay(str) {
str = parseFloat(str);
- if (str <= 0) {
+ if (str <0) {
return;
}
return str + '澶�'
}
function addHour(str) {
str = parseFloat(str);
- if (str <= 0) {
+ if (str <0) {
return;
}
return str + '灏忔椂'
}
function addMin(str) {
str = parseFloat(str);
- if (str <= 0) {
+ if (str < 0) {
return;
}
return str + '鍒嗛挓'
diff --git a/src/utils/mydate.js b/src/utils/mydate.js
index 521b6d2..a76a17e 100644
--- a/src/utils/mydate.js
+++ b/src/utils/mydate.js
@@ -2,7 +2,7 @@
function filterTime(time){
const result = new Date(time);
let yy = result.getFullYear(),
- mm = result.getMonth(),
+ mm = result.getMonth()+1,
dd = result.getDate(),
hh = result.getHours(),
mi = result.getMinutes();
diff --git a/src/utils/request.js b/src/utils/request.js
index d6da1bf..402a567 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,7 +1,10 @@
import axios from 'axios';
import router from '@/router'
+// 寮曞叆elementUI
+import tip from 'element-ui';
const api = axios.create({
baseURL: 'http://42.193.1.25:8082/', // 璇锋眰鐨勫叕鍏卞湴鍧�閮ㄥ垎
+ timeout: 15000
})
// 鎷︽埅鍣�
// 璇锋眰
@@ -12,19 +15,57 @@
config.headers.Authorization = tokenHead + token;
}
return config;
-},(err)=>{
+}, (err) => {
console.log(err);
}
)
// 鍝嶅簲
api.interceptors.response.use(
function (response) {
+ if (response.data.code === 401) {
+ tip.Message({
+ type: 'warning',
+ message: '鐧诲綍韬唤宸茶繃鏈�',
+ })
+ router.push('/login');
+ }
return response.data;
},
function (error) {
- const {code} = error.response.data;
- if(code === 401){
+ console.log(error);
+ if(error.code === "ECONNABORTED"){
+ tip.Message({
+ type:'error',
+ message:'缃戠粶璇锋眰瓒呭競',
+ duration: 3 * 1000,
+ })
+ return;
+ }
+ const {code,status} = error.response.data;
+ if (error.code === 'ERR_NETWORK') {
+ console.log(1);
+ tip.Message({
+ type: 'error',
+ message: '鏈嶅姟鍣ㄦ晠闅�'
+ })
+ return;
+ }
+ if (code === 401) {
+ console.log(2);
+ tip.Message({
+ type: 'warning',
+ message: '鐧诲綍韬唤宸茶繃鏈�',
+ })
router.push('/login');
+ return;
+ }
+ if (status === 500) {
+ console.log(3);
+ tip.Message({
+ type: 'error',
+ message: '缃戠粶璇锋眰鍑洪敊'
+ })
+ return;
}
}
);
diff --git a/src/utils/validate.js b/src/utils/validate.js
index 159c39c..42e530d 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -24,5 +24,9 @@
const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
return rep.test(str);
}
-//
+// 楠岃瘉杞︾墝鍙�
+export function validateCarNum(str){
+ const regExp = /(^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$)/;
+ return regExp.test(str);
+}
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index 3ee22e5..25195ae 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -119,7 +119,13 @@
</el-submenu>
<el-menu-item index="/home/operate">鍥剧墖绠$悊</el-menu-item>
<el-menu-item index="/home/operate">瑙嗛绠$悊</el-menu-item>
- <el-menu-item index="/home/operate">娑堟伅绠$悊</el-menu-item>
+ <el-submenu index="/home/operate/message" class="secondMenu">
+ <template slot="title">
+ <span class="secondSpan">娑堟伅绠$悊</span>
+ </template>
+ <el-menu-item index="/home/operate/message/messageIndex">娑堟伅绠$悊</el-menu-item>
+ <el-menu-item index="/home/operate/message/mycontrol">鏍忕洰绠$悊</el-menu-item>
+ </el-submenu>
<el-menu-item index="/home/operate">鐭俊绠$悊</el-menu-item>
<el-menu-item index="/home/operate">鏃ュ織绠$悊</el-menu-item>
</el-submenu>
diff --git a/src/views/operate/car/myIndex/create/law/index.vue b/src/views/operate/car/myIndex/create/law/index.vue
new file mode 100644
index 0000000..3519ff4
--- /dev/null
+++ b/src/views/operate/car/myIndex/create/law/index.vue
@@ -0,0 +1,269 @@
+<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="璇峰~鍐欒溅鐗屽彿"></el-input>
+ </el-form-item>
+ <!-- 鎵�灞為儴闂� -->
+ <el-form-item class="optionItems" label="鎵�灞為儴闂�:" prop="depart">
+ <el-input v-model="car.depart" placeholder="璇峰~鍐欐墍灞為儴闂�"></el-input>
+ <!-- <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
+ <el-option v-for="item in teamList" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select> -->
+ </el-form-item>
+ <!-- 鎵�灞炲ぇ闃� -->
+ <el-form-item class="optionItems" label="鎵�灞炲ぇ闃�:" prop="belong">
+ <el-input v-model="car.belong" placeholder="璇峰~鍐欐墍灞炲ぇ闃�"></el-input>
+ <!-- <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
+ <el-option v-for="item in teamList" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select> -->
+ </el-form-item>
+ <!-- 杞︿富濮撳悕 -->
+ <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
+ <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
+ </el-form-item>
+ <!-- 杞﹁締浣跨敤浜哄憳 -->
+ <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
+ <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
+ </el-form-item>
+ <!-- 鑱旂郴鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+ <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
+ </el-form-item>
+ <!-- 杞ㄨ抗 -->
+ <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
+ <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleStop">
+ 鍙栨秷
+ </el-button>
+ </div>
+ </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: {
+ carNumber: "",
+ contact: "",
+ belong: "",
+ // id: 0,
+ ownerName: "",
+ trajectory: "",
+ vehicleUser: "",
+ depart:'',
+ },
+ 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() {
+ },
+ methods: {
+ // 娣诲姞杞﹁締
+ handleCar() {
+ console.log(this.car);
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const {car} = this;
+ this.$axios({
+ method: 'post',
+ url: 'sccg/car_Manage/addition_enforce',
+ data: {
+ carNumber: car.carNumber,
+ contact: car.contact,
+ belong: car.belong,
+ // id: 0,
+ ownerName: car.ownerName,
+ trajectory: car.trajectory,
+ vehicleUser: car.vehicleUser,
+ depart:car.depart,
+ }
+ })
+ .then(res=>{
+ console.log(res);
+ if(res.code === 200){
+ this.$message({
+ type:'success',
+ message:'鏂板杞﹁締鎴愬姛',
+ })
+ this.$emit('closeDialog',{flag:false,index:1});
+ }else{
+ this.$message({
+ type:'error',
+ message:res.message,
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ handleStop(){
+ this.$emit('closeDialog',{flag:false,index:0});
+ }
+
+ },
+ props: ['closeDialog']
+}
+</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/operate/car/myIndex/create/soil/index.vue b/src/views/operate/car/myIndex/create/soil/index.vue
new file mode 100644
index 0000000..92c6e0d
--- /dev/null
+++ b/src/views/operate/car/myIndex/create/soil/index.vue
@@ -0,0 +1,310 @@
+<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="璇峰~鍐欒溅鐗屽彿"></el-input>
+ </el-form-item>
+ <!-- 杞﹀瀷 -->
+ <el-form-item class="optionItems" label="杞﹀瀷:" prop="carModel">
+ <el-select v-model="car.carModel" placeholder="璇烽�夋嫨杞﹀瀷">
+ <el-option v-for="item in carTypeList" :key="item.value" :label="item.label"
+ :value="item.label">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <!-- 杞︿富濮撳悕 -->
+ <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
+ <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
+ </el-form-item>
+ <!-- 杞﹁締浣跨敤浜哄憳 -->
+ <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
+ <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
+ </el-form-item>
+ <!-- 鑱旂郴鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+ <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
+ </el-form-item>
+ <!-- 鏂藉伐鍗曚綅 -->
+ <el-form-item class="optionItems" label="鏂藉伐鍗曚綅:" prop="constructionOrg">
+ <el-input v-model="car.constructionOrg" placeholder="璇峰~鍐欐柦宸ュ崟浣�"></el-input>
+ </el-form-item>
+ <!-- 鏂藉伐鍦板潃 -->
+ <el-form-item class="optionItems" label="鏂藉伐鍦板潃:" prop="geographicPosition">
+ <el-input v-model="car.geographicPosition" placeholder="璇峰~鍐欐柦宸ュ湴鍧�"></el-input>
+ </el-form-item>
+ <!-- 杞ㄨ抗 -->
+ <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
+ <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleStop">
+ 鍙栨秷
+ </el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import {validateName,validatePhone,validateCarNum} 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('鎵嬫満鍙风爜涓嶈兘涓虹┖'));
+ }
+ }
+ const checkCarModel = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('杞﹁締鍨嬪彿涓嶈兘涓虹┖'));
+ }
+ }
+ const checkOrg = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('鏂藉伐鍗曚綅涓嶈兘涓虹┖'));
+ }
+ }
+ const checkPosition = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('鏂藉伐鍦板潃涓嶈兘涓虹┖'));
+ }
+ }
+ return {
+ car: {
+ carNumber: "",
+ contact: "",
+ belong: "",
+ // id: 0,
+ ownerName: "",
+ trajectory: "",
+ vehicleUser: "",
+ constructionOrg: '',
+ },
+ createCarRules: {
+ carNumber: [
+ {
+ required: true, trigger:'blur', validator: checkCarNum
+ }
+ ],
+ carModel: [
+ {
+ required: true, trigger:'change',validator: checkCarModel
+ }
+ ],
+ contact: [
+ {
+ required: true,trigger:'blur', validator: checkPhone
+ }
+ ],
+ // id: 0,
+ ownerName: [
+ {
+ required: true,trigger:'blur', validator: checkName
+ }
+ ],
+ vehicleUser: [
+ {
+ required: true, trigger:'blur',validator: checkUser
+ }
+ ],
+ constructionOrg: [
+ {
+ required: true,trigger:'blur', validator: checkOrg
+ }
+ ],
+ geographicPosition: [
+ {
+ required: true, trigger:'blur',validator: checkPosition
+ }
+ ]
+ },
+ carTypeList: [
+ {
+ label: '澶у瀷',
+ value: 1,
+ },
+ {
+ label: '涓瀷',
+ value: 2,
+ },
+ {
+ label: '灏忓瀷',
+ value: 3,
+ },
+ ]
+ }
+ },
+ created() {
+ },
+ methods: {
+ // 娣诲姞杞﹁締
+ handleCar() {
+ console.log(this.car);
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { car } = this;
+ this.$axios({
+ method: 'post',
+ url: 'sccg/car_Manage/addition_slag',
+ data: {
+ carNumber: car.carNumber,
+ carModel:car.carModel,
+ carPhoto:'',
+ constructionOrg:car.constructionOrg,
+ geographicPosition:car.geographicPosition,
+ // contact: car.contact,
+ // belong: car.belong,
+ // id: 0,
+ // ownerName: car.ownerName,
+ trajectory: car.trajectory,
+ // vehicleUser: car.vehicleUser,
+ }
+ })
+ .then(res => {
+ console.log(res);
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鏂板杞﹁締鎴愬姛',
+ })
+ this.$emit('closeDialog', { flag: false,index:1 });
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message,
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ handleStop(){
+ this.$emit('closeDialog', { flag: false,index:0 });
+ }
+
+ },
+ props: ['closeDialog']
+}
+</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/operate/car/myIndex/createUser/index.vue b/src/views/operate/car/myIndex/createUser/index.vue
deleted file mode 100644
index 792215e..0000000
--- a/src/views/operate/car/myIndex/createUser/index.vue
+++ /dev/null
@@ -1,172 +0,0 @@
-<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="璇峰~鍐欒溅鐗屽彿"></el-input>
- </el-form-item>
- <!-- 鎵�灞炲ぇ闃� -->
- <el-form-item class="optionItems" label="鎵�灞炲ぇ闃�:" prop="group">
- <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
- <el-option v-for="item in teamList" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <!-- 杞︿富濮撳悕 -->
- <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
- <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
- </el-form-item>
- <!-- 杞﹁締浣跨敤浜哄憳 -->
- <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
- <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
- </el-form-item>
- <!-- 鑱旂郴鏂瑰紡 -->
- <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
- <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
- </el-form-item>
- <!-- 杞ㄨ抗 -->
- <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
- <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
- </el-form-item>
- <el-form-item>
- <div class="optionBtn">
- <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
- </el-button>
- <el-button class="btn submit" >
- 鍙栨秷
- </el-button>
- </div>
- </el-form-item>
- </el-form>
-
- </div>
- </main>
- </div>
-</template>
-<script>
-export default {
- data() {
- return {
- car: {
- carNumber: "",
- contact: "",
- group: "",
- // id: 0,
- ownerName: "",
- trajectory: "",
- vehicleUser: ""
- },
- createCarRules: {
- carNumber:[
- {
- required:true,
- }
- ],
- contact:[
- {
- required:true,
- }
- ],
- // id: 0,
- ownerName:[
- {
- required:true,
- }
- ],
- vehicleUser:[
- {
- required:true,
- }
- ]
- },
- teamList:[
- {
- label:'澶ч槦涓�',
- value:1,
- },
- {
- label:'澶ч槦浜�',
- value:2,
- },
- ]
- }
- },
- created() {
- },
- methods: {
- // 娣诲姞杞﹁締
- handleCar(){
- console.log(this.car);
- }
- },
- props: ['closeDialog']
-}
-</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/operate/car/myIndex/index.vue b/src/views/operate/car/myIndex/index.vue
index 5bd43a7..0f0b869 100644
--- a/src/views/operate/car/myIndex/index.vue
+++ b/src/views/operate/car/myIndex/index.vue
@@ -5,7 +5,7 @@
<div class="search">
<span>杞﹁締鎼滅储:</span>
<div class="option">
- <el-input placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input>
+ <el-input @input="handleSearch" v-model="context" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input>
</div>
</div>
<div class="addCar">
@@ -26,30 +26,24 @@
@selection-change="tableChange">
<el-table-column type="selection" min-width="5">
</el-table-column>
- <el-table-column prop="code" label="杞︾墝鍙�" min-width="10">
- <template slot-scope="scope">
- <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
- </template>
+ <el-table-column prop="carNumber" label="杞︾墝鍙�" min-width="10">
</el-table-column>
- <el-table-column prop="code" label="杞﹀瀷" min-width="10" v-if="mystatus===2">
+ <el-table-column prop="carModel" label="杞﹀瀷" min-width="10" v-if="mystatus===2">
</el-table-column>
- <el-table-column prop="eventSource" label="杞︿富濮撳悕" min-width="10">
- <template slot-scope="scope">
- <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
- </template>
+ <el-table-column prop="ownerName" label="杞︿富濮撳悕" min-width="10">
</el-table-column>
- <el-table-column prop="category" label="杞﹁締浣跨敤浜哄憳" min-width="10">
+ <el-table-column prop="vehicleUser" label="杞﹁締浣跨敤浜哄憳" min-width="10">
</el-table-column>
- <el-table-column prop="type" label="鑱旂郴鏂瑰紡" min-width="10">
+ <el-table-column prop="contact" label="鑱旂郴鏂瑰紡" min-width="10">
</el-table-column>
- <el-table-column prop="actionCause" :label="mystatus === 1 ? '鎵�灞為儴闂�':'鏂藉伐鍦板潃'" min-width="10">
+ <el-table-column :prop="mystatus===1 ? 'belong' : 'geographicPosition'" :label="mystatus === 1 ? '鎵�灞為儴闂�':'鏂藉伐鍦板潃'" min-width="10">
</el-table-column>
- <el-table-column prop="site" :label="mystatus === 1 ? '鎵�灞炲ぇ闃�' : '鏂藉伐鍗曚綅'" min-width="10">
+ <el-table-column :prop="mystatus===1 ? 'depart' : 'constructionOrg'" :label="mystatus === 1 ? '鎵�灞炲ぇ闃�' : '鏂藉伐鍗曚綅'" min-width="10">
</el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="20">
<template slot-scope="scope">
<div class="btn">
- <span @click="handleReset(scope.row)">鏌ョ湅</span>
+ <span @click="handleView(scope.row)">鏌ョ湅</span>
<span class="line">|</span>
<span>鍒犻櫎</span>
</div>
@@ -60,6 +54,13 @@
<el-dialog :visible.sync="dialogAdd" width="60%" title="鏂板杞﹁締"
v-if="dialogAdd" :before-close="handleClose">
<Mycreate v-if="mystatus === 1" @closeDialog="closeDialog"></Mycreate>
+ <MySoil v-else @closeDialog="closeDialog"></MySoil>
+ </el-dialog>
+ <!-- 鏌ョ湅 -->
+ <el-dialog :visible.sync="dialogView" width="60%" title="鏌ョ湅杞﹁締淇℃伅"
+ v-if="dialogView" :before-close="handleNoClose">
+ <MyViewLaw v-if="mystatus === 1" :info="info"></MyViewLaw>
+ <MyViewSoil v-else :info="info"></MyViewSoil>
</el-dialog>
<!-- tools -->
<div class="tools">
@@ -90,17 +91,22 @@
</div>
</template>
<script>
-import Mycreate from './createUser'
+import Mycreate from './create/law'
+import MySoil from './create/soil'
+import MyViewLaw from './update/law'
+import MyViewSoil from './update/soil'
export default {
components: {
- Mycreate
+ Mycreate,MySoil,MyViewLaw,
+ MyViewSoil
},
data() {
return {
tableData: [],
context: "",
dialogAdd:false,
- info: {},
+ dialogView:false,
+ info: '',
totalNum: null,
pageSize: 10,
currentPage: 1,
@@ -142,12 +148,22 @@
],
mystatus:1,
caseId:'',
+ timer:null,
}
},
created() {
this.getUserList();
},
methods: {
+ // 鎼滅储杞﹁締
+ handleSearch(val){
+ if(this.timer){
+ clearTimeout(this.timer);
+ }
+ this.timer = setTimeout(()=>{
+ this.getUserList();
+ },1000);
+ },
// 娣诲姞杞﹁締
handleAddCar(){
this.dialogAdd = true;
@@ -217,6 +233,7 @@
url:`sccg/car_Manage/query_enforce?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
})
.then(res=>{
+ console.log(res);
arr = res.data;
})
return arr;
@@ -279,14 +296,24 @@
async JumpView(data){
await this.getEventInfo(data.code);
},
+ handleNoClose(done){
+ done();
+ },
opernDialog(data){
this.dialogAdd = true;
this.caseId = data.id;
// console.log(data);
},
- // 鍏抽棴涓婁紶鐣岄潰
- closeDialog({flag}){
+ // 鍏抽棴鐣岄潰
+ closeDialog({flag,index}){
this.dialogAdd = flag;
+ if(index===1){
+ this.getUserList();
+ }
+ },
+ handleView(data){
+ this.info = data;
+ this.dialogView = true;
}
}
}
diff --git a/src/views/operate/car/myIndex/updateUser/index.vue b/src/views/operate/car/myIndex/update/index.vue
similarity index 100%
rename from src/views/operate/car/myIndex/updateUser/index.vue
rename to src/views/operate/car/myIndex/update/index.vue
diff --git a/src/views/operate/car/myIndex/update/law/index.vue b/src/views/operate/car/myIndex/update/law/index.vue
new file mode 100644
index 0000000..1bc6994
--- /dev/null
+++ b/src/views/operate/car/myIndex/update/law/index.vue
@@ -0,0 +1,227 @@
+<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="璇峰~鍐欒溅鐗屽彿"></el-input>
+ </el-form-item>
+ <!-- 鎵�灞為儴闂� -->
+ <el-form-item class="optionItems" label="鎵�灞為儴闂�:" prop="depart">
+ <el-input v-model="car.depart" placeholder="璇峰~鍐欐墍灞為儴闂�"></el-input>
+ <!-- <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
+ <el-option v-for="item in teamList" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select> -->
+ </el-form-item>
+ <!-- 鎵�灞炲ぇ闃� -->
+ <el-form-item class="optionItems" label="鎵�灞炲ぇ闃�:" prop="belong">
+ <el-input v-model="car.belong" placeholder="璇峰~鍐欐墍灞炲ぇ闃�"></el-input>
+ <!-- <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
+ <el-option v-for="item in teamList" :key="item.value" :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select> -->
+ </el-form-item>
+ <!-- 杞︿富濮撳悕 -->
+ <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
+ <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
+ </el-form-item>
+ <!-- 杞﹁締浣跨敤浜哄憳 -->
+ <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
+ <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
+ </el-form-item>
+ <!-- 鑱旂郴鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+ <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
+ </el-form-item>
+ <!-- 杞ㄨ抗 -->
+ <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
+ <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
+ </el-form-item>
+ <!-- <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleStop">
+ 鍙栨秷
+ </el-button>
+ </div>
+ </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: {
+ carNumber: "",
+ contact: "",
+ belong: "",
+ // id: 0,
+ ownerName: "",
+ trajectory: "",
+ vehicleUser: "",
+ depart:'',
+ },
+ 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/operate/car/myIndex/update/soil/index.vue b/src/views/operate/car/myIndex/update/soil/index.vue
new file mode 100644
index 0000000..03c2a71
--- /dev/null
+++ b/src/views/operate/car/myIndex/update/soil/index.vue
@@ -0,0 +1,265 @@
+<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="璇峰~鍐欒溅鐗屽彿"></el-input>
+ </el-form-item>
+ <!-- 杞﹀瀷 -->
+ <el-form-item class="optionItems" label="杞﹀瀷:" prop="carModel">
+ <el-select v-model="car.carModel" placeholder="璇烽�夋嫨杞﹀瀷">
+ <el-option v-for="item in carTypeList" :key="item.value" :label="item.label"
+ :value="item.label">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <!-- 杞︿富濮撳悕 -->
+ <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
+ <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
+ </el-form-item>
+ <!-- 杞﹁締浣跨敤浜哄憳 -->
+ <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
+ <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
+ </el-form-item>
+ <!-- 鑱旂郴鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+ <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
+ </el-form-item>
+ <!-- 鏂藉伐鍗曚綅 -->
+ <el-form-item class="optionItems" label="鏂藉伐鍗曚綅:" prop="constructionOrg">
+ <el-input v-model="car.constructionOrg" placeholder="璇峰~鍐欐柦宸ュ崟浣�"></el-input>
+ </el-form-item>
+ <!-- 鏂藉伐鍦板潃 -->
+ <el-form-item class="optionItems" label="鏂藉伐鍦板潃:" prop="geographicPosition">
+ <el-input v-model="car.geographicPosition" placeholder="璇峰~鍐欐柦宸ュ湴鍧�"></el-input>
+ </el-form-item>
+ <!-- 杞ㄨ抗 -->
+ <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
+ <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
+ </el-form-item>
+ <!-- <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleStop">
+ 鍙栨秷
+ </el-button>
+ </div>
+ </el-form-item> -->
+ </el-form>
+
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import {validateName,validatePhone,validateCarNum} 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('鎵嬫満鍙风爜涓嶈兘涓虹┖'));
+ }
+ }
+ const checkCarModel = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('杞﹁締鍨嬪彿涓嶈兘涓虹┖'));
+ }
+ }
+ const checkOrg = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('鏂藉伐鍗曚綅涓嶈兘涓虹┖'));
+ }
+ }
+ const checkPosition = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('鏂藉伐鍦板潃涓嶈兘涓虹┖'));
+ }
+ }
+ return {
+ car: {
+ carNumber: "",
+ contact: "",
+ belong: "",
+ // id: 0,
+ ownerName: "",
+ trajectory: "",
+ vehicleUser: "",
+ constructionOrg: '',
+ },
+ createCarRules: {
+ carNumber: [
+ {
+ required: true, trigger:'blur', validator: checkCarNum
+ }
+ ],
+ carModel: [
+ {
+ required: true, trigger:'change',validator: checkCarModel
+ }
+ ],
+ contact: [
+ {
+ required: true,trigger:'blur', validator: checkPhone
+ }
+ ],
+ // id: 0,
+ ownerName: [
+ {
+ required: true,trigger:'blur', validator: checkName
+ }
+ ],
+ vehicleUser: [
+ {
+ required: true, trigger:'blur',validator: checkUser
+ }
+ ],
+ constructionOrg: [
+ {
+ required: true,trigger:'blur', validator: checkOrg
+ }
+ ],
+ geographicPosition: [
+ {
+ required: true, trigger:'blur',validator: checkPosition
+ }
+ ]
+ },
+ carTypeList: [
+ {
+ label: '澶у瀷',
+ value: 1,
+ },
+ {
+ label: '涓瀷',
+ value: 2,
+ },
+ {
+ label: '灏忓瀷',
+ value: 3,
+ },
+ ]
+ }
+ },
+ 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/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue
deleted file mode 100644
index 858e326..0000000
--- a/src/views/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue
+++ /dev/null
@@ -1,185 +0,0 @@
-<template>
- <div class="arrive">
- <div class="arrive-title">鍒板ぇ鐜板満鎯呭喌</div>
- <div class="arrive-form">
- <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on">
- <!-- 鍒拌揪鏃堕棿 -->
- <el-form-item label="鍒拌揪鏃堕棿:" prop="arrivalTime">
- <el-date-picker v-model="arrive.arrivalTime" type="datetime" placeholder="閫夋嫨鍒拌揪鏃堕棿">
- </el-date-picker>
- </el-form-item>
- <!-- 鍒拌揪鍦板潃 -->
- <el-form-item label="鍒拌揪鍦板潃:" prop="arrivalAddress">
- <el-input v-model="arrive.arrivalAddress" placeholder="璇疯緭鍏ュ湴鍧�"></el-input>
- </el-form-item>
- <!-- 鐜板満鎯呭喌璇存槑 -->
- <el-form-item label="鐜板満鎯呭喌璇存槑:" prop="situationExplain">
- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
- v-model="arrive.situationExplain" placeholder="璇疯緭鍏ユ儏鍐佃鏄�,闄愬埗200瀛椾互鍐�"></el-input>
- </el-form-item>
- <!-- 淇¤鍥炲璇存槑 -->
- <el-form-item label="淇¤鍥炲璇存槑:" prop="replyExplain">
- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
- v-model="arrive.replyExplain" placeholder="璇疯緭鍏ュ洖璁胯鏄�,闄愬埗200瀛椾互鍐�"></el-input>
- </el-form-item>
- <!-- 鐜板満鎯呭喌鐓х墖 -->
- <el-form-item label="鐜板満鎯呭喌鐓х墖:" prop="situationPic">
- <div class="upImg">
- <div class="img-list">
- <img :src="item" alt="" v-for="(item,index) in arrive.situationPic" :key="index">
- </div>
- <div class="upload" v-if="arrive.situationPic.length<4">
- <el-upload :file-list="fileList" class="upload-demo"
- action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
- :limit="4" :on-success="handleSuccess" :headers="getToken()">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- <div class="tip">{{arrive.situationPic.length}} / 4</div>
- </div>
- </el-form-item>
- </el-form>
- </div>
- </div>
-</template>
-<script>
-export default {
- data() {
- const checkTime = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鍒拌揪鏃堕棿涓嶈兘涓虹┖'));
- }
- }
- const checkAddress = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鍒拌揪鍦板潃涓嶈兘涓虹┖'));
- }
- }
- const checkSit = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鐜板満鎯呭喌璇存槑涓嶈兘涓虹┖'));
- }
- }
- const checkReplay = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('淇¤鍥炲璇存槑涓嶈兘涓虹┖'));
- }
- }
- const checkSitPic = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback();
- }
- }
- return {
- arrive: {
- situationPic: [],
- },
- arriveRules: {
- arrivalTime: [
- { trigger: 'blur', validator: checkTime }
- ],
- arrivalAddress: [
- { trigger: 'blur', validator: checkAddress }
- ],
- situationExplain: [
- { trigger: 'blur', validator: checkSit }
- ],
- replyExplain: [
- { trigger: 'blur', validator: checkReplay }
- ],
- situationPic: [
- { trigger: 'change', validator: checkSitPic }
- ],
- },
- fileList: [],
- }
- },
- props:['getArrive'],
- methods: {
- handleSuccess(res, file, filelist) {
- const baseUrl = 'http://140.143.152.226:8410/';
- console.log(res);
- if (this.arrive.situationPic.length < 4) {
- this.arrive.situationPic.push(baseUrl + res.data.url1)
- }
- },
- getToken() {
- const token = sessionStorage.getItem('token');
- const tokenHead = sessionStorage.getItem('tokenHead');
- if (token && tokenHead) {
- return { Authorization: tokenHead + token }
- }
- },
- // 鑾峰彇arrive瀵硅薄
- backData(){
- const { arrive } = this;
- this.$emit('getArrive',{arrive});
- }
- }
-}
-</script>
-<style lang="scss" scoped>
-.arrive-title{
- line-height: 60px;
- font-weight: 650;
- font-size: 20px;
- width: 160px;
- padding-right: 12px;
- text-align: right;
- color: #4b9bb7;
-}
-
-.upImg {
- display: flex;
-
- .tip {
- position: absolute;
- bottom: 0;
- right: 0;
- }
-
- .img-list {
- height: 80px;
- position: relative;
-
- img {
- width: 60px;
- height: 60px;
- }
- }
-}
-
-.upload {
- width: 60px;
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 20px;
- background-color: #fbfdff;
- border-radius: 4px;
-}
-
-::v-deep .el-textarea__inner {
- background-color: #09152f;
- border: 1px solid #17324c;
-}
-
-::v-deep .el-input__count {
- background-color: #09152f;
-}
-
-::v-deep .el-form-item__label {
- color: #4b9bb7;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue
deleted file mode 100644
index a4903eb..0000000
--- a/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-<template>
- <div class="book">
- <div class="book-title">鏂囩涔︾被</div>
- <div class="book-form">
- <el-form ref="bookForm" label-width="160px" :model="book" :rules="bookRules" autoComplete="on">
- <!-- 鏂囦功绉嶇被 -->
- <el-form-item label="鏂囦功绉嶇被:" prop="kind">
- <el-input v-model="book.kind"></el-input>
- </el-form-item>
- <!-- 鏂囦功缂栧彿 -->
- <el-form-item label="鏂囦功缂栧彿:" prop="id">
- <el-input v-model="book.id"></el-input>
- </el-form-item>
- <!-- 杩濇硶绫诲瀷 -->
- <el-form-item label="杩濇硶绫诲瀷:" prop="vioKind">
- <el-input v-model="book.vioKind"></el-input>
- </el-form-item>
- <!-- 鏂囦功鍙戞斁鏃堕棿 -->
- <el-form-item label="鏂囦功鍙戞斁鏃堕棿:" prop="giveTime">
- <el-input v-model="book.giveTime"></el-input>
- </el-form-item>
- <!-- 鏂囦功闄愬畾鏃堕棿 -->
- <el-form-item label="鏂囦功闄愬畾鏃堕棿" prop="limitTime">
- <el-input v-model="book.limitTime"></el-input>
- </el-form-item>
- <!-- 鏂囦功鍙戞斁鍐呭 -->
- <el-form-item label="鏂囦功鍙戞斁鍐呭:" prop="content">
- <el-input v-model="book.content"></el-input>
- </el-form-item>
- <!-- 瀹為檯鏁存敼鏃堕棿 -->
- <el-form-item label="瀹為檯鏁存敼鏃堕棿:" prop="updateTime">
- <el-input v-model="book.updateTime"></el-input>
- </el-form-item>
- <!-- 鏁存敼鎯呭喌 -->
- <el-form-item label="鏁存敼鎯呭喌:" prop="condition">
- <el-input v-model="book.condition"></el-input>
- </el-form-item>
- <!-- 澶囨敞 -->
- <el-form-item label="澶囨敞:" prop="note">
- <el-input v-model="book.note"></el-input>
- </el-form-item>
- <!-- 鏂囦功鐓х墖涓婁紶 -->
- <el-form-item label="鏂囦功鐓х墖涓婁紶:" prop="bookPhoto">
- <el-input v-model="book.bookPhoto"></el-input>
- </el-form-item>
- <!-- 鏁存敼鍓嶇収鐗� -->
- <el-form-item label="鏁存敼鍓嶇収鐗�:" prop="beforeUpdate">
- <el-input v-model="book.beforeUpdate"></el-input>
- </el-form-item>
- <!-- 鏁存敼鍚庣収鐗� -->
- <el-form-item label="鏁存敼鍚庣収鐗�:" prop="afterUpdate">
- <el-input v-model="book.afterUpdate"></el-input>
- </el-form-item>
- <!-- 鍏朵粬鐓х墖 -->
- <el-form-item label="鍏朵粬:" prop="other">
- <el-input v-model="book.other"></el-input>
- </el-form-item>
- </el-form>
- </div>
- </div>
-</template>
-<script>
- export default{
- data(){
- return{
- book:{},
- bookRules:{
-
- }
- }
- }
- }
-</script>
-<style lang="scss" scoped>
-.book-title{
- line-height: 60px;
- font-weight: 650;
- font-size: 20px;
- width: 160px;
- padding-right: 12px;
- text-align: right;
- color: #4b9bb7;
-}
-::v-deep .el-textarea__inner {
- background-color: #09152f;
- border: 1px solid #17324c;
-}
-
-::v-deep .el-input__count {
- background-color: #09152f;
-}
-
-::v-deep .el-form-item__label {
- color: #4b9bb7;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue
deleted file mode 100644
index d6606bb..0000000
--- a/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue
+++ /dev/null
@@ -1,627 +0,0 @@
-<template>
- <div class="evidence">
- <div class="evidence-title">璋冩煡鍙栬瘉</div>
- <div class="evidence-form">
- <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on">
- <!-- 鎵垮姙闃熷憳 -->
- <el-form-item label="鎵垮姙闃熷憳:" prop="undertaker">
- <el-input v-model="evidence.undertaker" placeholder="璇疯緭鍏ュ鍚�"></el-input>
- </el-form-item>
- <!-- 鍗忓姙闃熷憳 -->
- <el-form-item label="鍗忓姙闃熷憳:" prop="assistant">
- <el-input v-model="evidence.assistant" placeholder="璇疯緭鍏ュ鍚�"></el-input>
- </el-form-item>
- <!-- 鏃堕棿 -->
- <el-form-item label="鏃堕棿:" prop="investigationTime">
- <el-date-picker v-model="evidence.investigationTime" type="datetime" placeholder="閫夋嫨鏃堕棿">
- </el-date-picker>
- </el-form-item>
- <!-- 鍦板潃 -->
- <el-form-item label="鍦板潃:" prop="address">
- <el-input v-model="evidence.address" placeholder="璇疯緭鍏ュ湴鍧�"></el-input>
- </el-form-item>
- <!-- 妗堢敱 -->
- <el-form-item label="妗堢敱:" prop="caseAction">
- <el-input v-model="evidence.caseAction" placeholder="璇疯緭鍏ユ鐢�"></el-input>
- </el-form-item>
- <!-- 褰撲簨浜轰俊鎭� -->
- <el-form-item label="褰撲簨浜轰俊鎭�:" prop="userInfo">
- <el-input suffix-icon="el-icon-s-order" @focus="openDialog"></el-input>
- </el-form-item>
- <!-- 鎯呭喌鎻忚堪 -->
- <el-form-item label="鎯呭喌鎻忚堪:" prop="description">
- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
- v-model="evidence.description" placeholder="璇疯緭鍏ユ儏鍐垫弿杩�,闄愬埗200瀛椾互鍐�"></el-input>
- </el-form-item>
- <!-- 鐓х墖闄勪欢 -->
- <el-form-item label="鐓х墖闄勪欢:" prop="photo">
- <div class="upImg">
- <div class="img-list">
- <img :src="item" alt="" v-for="(item,index) in evidence.pic" :key="index">
- </div>
- <div class="upload" v-if="evidence.pic.length<4">
- <el-upload :file-list="fileList" class="upload-demo"
- action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
- :limit="4" :on-success="handleSuccess2" :headers="getToken()">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- <div class="tip">{{evidence.pic.length}} / 4</div>
- </div>
- </el-form-item>
- </el-form>
- </div>
- <div class="user-form" v-show="userFlag">
- <div class="user-form-header">
- <span>璋冨害淇℃伅</span>
- <i class="el-icon-close" @click="closeUserForm"></i>
- </div>
- <div class="user-form-content">
- <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on">
- <!-- 杩濇硶绫诲瀷 -->
- <el-form-item label="绫诲瀷:" prop="illegalType">
- <el-select v-model="user.illegalType" placeholder="璇烽�夋嫨">
- <el-option v-for="item in typeOptions" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <!-- 濮撳悕銆佹墜鏈哄彿 -->
- <div class="user-item">
- <!-- 濮撳悕 -->
- <el-form-item label="褰撲簨浜哄鍚�:" prop="name">
- <el-input v-model="user.name"></el-input>
- </el-form-item>
- <!-- 鎵嬫満鍙� -->
- <el-form-item label="鎵嬫満鍙风爜:" prop="phoneCode">
- <el-input v-model="user.phoneCode"></el-input>
- </el-form-item>
- </div>
- <!-- 璇佷欢 -->
- <div class="user-item">
- <el-form-item label="璇佷欢绫诲瀷:" prop="certificateType">
- <el-select v-model="user.certificateType" placeholder="璇烽�夋嫨">
- <el-option v-for="item in cardOptions" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="璇佷欢鍙风爜:" prop="certificateCode">
- <el-input v-model="user.certificateCode"></el-input>
- </el-form-item>
- </div>
- <!-- 鏂囧寲绋嬪害\鑱屼笟 -->
- <div class="user-item">
- <!-- 鏂囧寲绋嬪害 -->
- <el-form-item label="鏂囧寲绋嬪害:" prop="educationDegree">
- <el-select v-model="user.educationDegree" placeholder="璇烽�夋嫨">
- <el-option v-for="item in degreeOptions" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <!-- 鑱屼笟 -->
- <el-form-item label="鑱屼笟:" prop="career">
- <el-input v-model="user.career"></el-input>
- </el-form-item>
- </div>
- <!-- 宸ヤ綔鍗曚綅鍙婅亴鍔� -->
- <el-form-item label="宸ヤ綔鍗曚綅鍙婅亴鍔�:" prop="work">
- <el-input v-model="user.work"></el-input>
- </el-form-item>
- <!-- 姘戞棌\绫嶈疮 -->
- <div class="user-item">
- <!-- 姘戞棌 -->
- <el-form-item label="姘戞棌:" prop="nation">
- <el-input v-model="user.nation"></el-input>
- </el-form-item>
- <!-- 绫嶈疮 -->
- <el-form-item label="绫嶈疮:" prop="nativePlace">
- <el-input v-model="user.nativePlace"></el-input>
- </el-form-item>
- </div>
- <!-- 鐜颁綇鍧� -->
- <el-form-item label="鐜颁綇鍧�:" prop="liveAddress">
- <el-input v-model="user.liveAddress"></el-input>
- </el-form-item>
- <!-- 鎴风睄鎵�鍦ㄥ湴 -->
- <el-form-item label="鎴风睄鎵�鍦ㄥ湴:" prop="registerAddress">
- <el-input v-model="user.registerAddress"></el-input>
- </el-form-item>
- </el-form>
- </div>
- <div class="user-form-footer">
- <el-button type="primary" @click="checkUser">纭畾</el-button>
- <el-button>杩斿洖</el-button>
- </div>
- </div>
- </div>
-</template>
-<script>
-export default {
- data() {
- const checkName = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鎵垮姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖'));
- }
- }
- const checkName2 = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鍗忓姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖'));
- }
- }
- const checkTime2 = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('姝ゅ鏃堕棿涓嶈兘涓虹┖'));
- }
- }
- const checkAddress2 = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('姝ゅ鍦板潃涓嶈兘涓虹┖'));
- }
- }
- const checkCase = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('妗堢敱涓嶈兘绌�'));
- }
- }
- const checkDesc = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鎯呭喌鎻忚堪涓嶈兘涓虹┖'));
- }
- }
- const checkPic = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback();
- }
- }
- const checkIll = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('妗堜欢绫诲瀷涓嶈兘涓虹┖'));
- }
- }
- const checkName3 = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('褰撲簨浜哄鍚嶄笉鑳戒负绌�'));
- }
- }
- const checkPhone = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖'));
- }
- }
- const checkCard = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('璇佷欢绫诲瀷涓嶈兘涓虹┖'));
- }
- }
- const checkCode = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('璇佷欢鍙风爜涓嶈兘涓虹┖'));
- }
- }
- const checkWh = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鏂囧寲绋嬪害涓嶈兘涓虹┖'));
- }
- }
- const checkCareer = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鑱屼笟涓嶈兘涓虹┖'));
- }
- }
- const checkWork = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('宸ヤ綔鍗曚綅鍙婅亴鍔′笉鑳戒负绌�'));
- }
- }
- const checkNation = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('姘戞棌涓嶈兘涓虹┖'));
- }
- }
- const checkNaP = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('绫嶈疮涓嶈兘涓虹┖'));
- }
- }
- const checkLiveAdd = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鐜颁綇鍧�涓嶈兘涓虹┖'));
- }
- }
- const checkRegAdd = (rule, value, callback) => {
- if (value) {
- callback()
- } else {
- callback(new Error('鎴风睄鎵�鍦ㄥ湴涓嶈兘涓虹┖'));
- }
- }
- const checkFlag = (rule, value, callback) => {
- if (value) {
- callback();
- } else {
- callback(new Error('鐢ㄦ埛淇℃伅涓嶈兘涓虹┖'))
- }
- }
- return {
- evidence: {
- pic: [],
- userInfo: false,
- },
- evidenceRules: {
- userInfo: [
- { trigger: 'change', validator: checkFlag }
- ],
- undertaker: [
- {
- trigger: 'blur', validator: checkName
- }
- ],
- assistant: [
- {
- trigger: 'blur', validator: checkName2
- }
- ],
- investigationTime: [
- {
- trigger: 'change', validator: checkTime2
- }
- ],
- address: [
- {
- trigger: 'blur', validator: checkAddress2
- }
- ],
- caseAction: [
- {
- trigger: 'blur', validator: checkCase
- }
- ],
- description: [
- {
- trigger: 'blur', validator: checkDesc
- }
- ],
- pic: [
- {
- trigger: 'blur', validator: checkPic
- }
- ],
- },
- fileList: [],
- user: {
- illegalType: '',
- name: '',
- phoneCode: '',
- certificateType: '',
- certificateCode: '',
- educationDegree: '',
- career: '',
- work: '',
- nation: '',
- nativePlace: '',
- liveAddress: '',
- registerAddress: '',
- },
- userRules: {
- illegalType: [
- {
- trigger: 'change', validator: checkIll,
- }
- ],
- name: [
- {
- trigger: 'blur', validator: checkName3
- }
- ],
- phoneCode: [
- {
- trigger: 'blur', validator: checkPhone
- }
- ],
- certificateType: [
- {
- trigger: 'change', validator: checkCard
- }
- ],
- certificateCode: [
- {
- trigger: 'blur', validator: checkCode
- }
- ],
- educationDegree: [
- {
- trigger: 'change', validator: checkWh
- }
- ],
- career: [
- {
- trigger: 'blur', validator: checkCareer
- }
- ],
- work: [
- {
- trigger: 'blur', validator: checkWork
- }
- ],
- nation: [
- {
- trigger: 'blur', validator: checkNation
- }
- ],
- nativePlace: [
- {
- trigger: 'blur', validator: checkNaP
- }
- ],
- liveAddress: [
- {
- trigger: 'blur', validator: checkLiveAdd
- }
- ],
- registerAddress: [
- {
- trigger: 'blur', validator: checkRegAdd
- }
- ],
- },
- userFlag: false,
- typeOptions: [
- {
- label: '杩濇硶',
- value: 1,
- },
- {
- label: '杩濆缓',
- value: 2
- }
- ],
- cardOptions: [
- {
- label: '韬唤璇�',
- value: 1,
- },
- {
- label: '鍏朵粬',
- value: 2
- }
- ],
- degreeOptions:[
- {
- label:'灏忓',
- value:1
- },
- {
- label:'鍒濅腑',
- value:2
- },
- {
- label:'楂樹腑',
- value:3
- },
- {
- label:'澶у鍙婁互涓�',
- value:4
- },
- ]
- }
- },
- props:['getEvidence'],
- methods: {
- handleSuccess2(res, file, filelist) {
- const baseUrl = 'http://140.143.152.226:8410/';
- console.log(res);
- if (this.evidence.pic.length < 4) {
- this.evidence.pic.push(baseUrl + res.data.url1)
- }
- },
- getToken() {
- const token = sessionStorage.getItem('token');
- const tokenHead = sessionStorage.getItem('tokenHead');
- if (token && tokenHead) {
- return { Authorization: tokenHead + token }
- }
- },
- // 鎵撳紑褰撲簨浜轰俊鎭~鍐欒〃
- openDialog(e) {
- this.userFlag = true;
- this.userInfo = true;
- },
- // 妫�楠寀ser
- checkUser() {
- // console.log(this.$refs.userForm.validate);
- this.$refs.userForm.validate((valid) => {
- console.log(valid);
- if (valid) {
- this.evidence.userInfo = true;
- this.userFlag = false;
- } else {
- this.evidence.userInfo = false;
- return false;
- }
- })
- },
- // 鍏抽棴褰撲簨浜轰俊鎭晫闈�
- closeUserForm(){
- this.userFlag = false;
- },
- // 杩斿洖褰撳墠evidence鍜寀ser瀵硅薄
- backData(){
- const {user,evidence} = this;
- this.$emit('getEvidence',{user,evidence});
- }
- }
-}
-</script>
-<style lang="scss" scoped>
-.evidence {
- line-height: 60px;
- position: relative;
- .evidence-title {
- line-height: 60px;
- font-weight: 650;
- font-size: 20px;
- width: 160px;
- padding-right: 12px;
- text-align: right;
- color: #4b9bb7;
- }
-}
-
-.upImg {
- display: flex;
-
- .tip {
- position: absolute;
- bottom: 0;
- right: 0;
- }
-
- .img-list {
- height: 80px;
- position: relative;
-
- img {
- width: 60px;
- height: 60px;
- }
- }
-}
-
-.upload {
- width: 60px;
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 20px;
- background-color: #fbfdff;
- border-radius: 4px;
-}
-.user-form{
- position: absolute;
- top: 0;
- z-index: 3000;
- background-color: #06122c;
- .user-form-header{
- background-color: #fff;
- color: #4b9bb7;
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 0 20px;
- }
- padding-bottom: 60px;
-}
-.user-form-content {
- padding-top:20px;
-
- .user-item {
- display: flex;
-
- .el-input {
- flex: 1;
- }
- }
-
- ::v-deep .el-textarea__inner {
- background-color: #09152f;
- border: 1px solid #17324c;
- }
-
- ::v-deep .el-input__count {
- background-color: #09152f;
- }
-
- ::v-deep .el-form-item__label {
- color: #4b9bb7;
- }
-
- ::v-deep .el-input__inner {
- background-color: #09152f;
- border: 1px solid #17324c;
- }
-}
-
-.user-form-footer {
- display: flex;
- justify-content: flex-end;
-}
-
-::v-deep .el-textarea__inner {
- background-color: #09152f;
- border: 1px solid #17324c;
-}
-
-::v-deep .el-input__count {
- background-color: #09152f;
-}
-
-::v-deep .el-form-item__label {
- color: #4b9bb7;
-}
-
-::v-deep .el-dialog__header,
-::v-deep .el-dialog__body {
- background-color: #06122c;
-}
-
-::v-deep .el-dialog__header {
- display: flex;
- align-items: center;
- background-color: #fff;
- padding: 20px;
- line-height: 60px;
-}
-
-::v-deep .el-dialog__title {
- color: #4b9bb7;
-}
-
-::v-deep .el-dialog__close {
- width: 20px;
- height: 20px;
- // color: #fff;
-}
-
-::v-deep .el-dialog__body {
- padding: 0;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue
deleted file mode 100644
index b74dfdb..0000000
--- a/src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-<template>
- <div class="ill">
- <!-- 鍒拌揪鐜板満鎯呭喌 -->
- <MyArrive></MyArrive>
- <!-- 璋冩煡鍙栬瘉 -->
- <MyEvidence></MyEvidence>
- <!-- 鏂囩涔︾被 -->
- <MyBook></MyBook>
- <!-- 搴曢儴鎸夐挳 -->
- <div class="footer">
- <el-button @click="handleSubmit" type="primary">纭畾</el-button>
- <el-button>杩斿洖</el-button>
- </div>
- </div>
-</template>
-<script>
-import MyArrive from '../components/arrive'
-import MyEvidence from "../components/evidence"
-import MyBook from "../components/book"
-export default {
- components:{
- MyArrive,MyEvidence,MyBook
- },
- data() {
- return {
-
- }
- },
- props:['caseId'],
- created(){
- console.log(this.caseId);
- },
- methods:{
- handleSubmit(){
-
- }
- }
-}
-</script>
-<style lang="scss" scoped>
- .ill{
- padding: 20px 200px;
- }
-.footer {
- display: flex;
- justify-content: flex-end;
- }
-</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue
deleted file mode 100644
index a12edc3..0000000
--- a/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue
+++ /dev/null
@@ -1,123 +0,0 @@
-<template>
- <div class="vio">
- <!-- 鍒拌揪鐜板満鎯呭喌 -->
- <MyArrive ref="arrive" @getArrive="getArrive"></MyArrive>
- <!-- 璋冩煡鍙栬瘉 -->
- <MyEvidence ref="evidence" @getEvidence="getEvidence"></MyEvidence>
- <!-- 搴曢儴鎸夐挳 -->
- <div class="footer">
- <el-button @click="handleSubmit" type="primary">纭畾</el-button>
- <el-button>杩斿洖</el-button>
- </div>
- </div>
-</template>
-<script>
-import MyArrive from '../components/arrive'
-import MyEvidence from "../components/evidence"
-export default {
- components: {
- MyArrive, MyEvidence
- },
- data() {
- return {
-
- }
- },
- props: ['caseId', 'closeDialog'],
- created() {
- console.log(this.caseId);
- },
- methods: {
- handleSubmit() {
- const { arrive, evidence } = this.$refs;
- const { arriveForm } = arrive.$refs;
- const { evidenceForm } = evidence.$refs;
- // console.log(evidence.$refs);
- arriveForm.validate((valid) => {
- // console.log(valid);
- if (valid) {
- evidenceForm.validate((flag) => {
- if (flag) {
- // arrive.arrive;evidence.user;evidence.evidence;
- this.$axios({
- method: 'post',
- url: `sccg/dispatch_handle/addition_dispose_result/${this.caseId}/${1}`,
- data:{
- // arrivalAddress: arrive.arrive.arrivalAddress,
- // arrivalTime: arrive.arrive.arrivalTime,
- // situationExplain: arrive.arrive.situationExplain,
- // replyExplain: arrive.arrive.replyExplain,
- // situationPic: arrive.arrive.situationPic,
- // //
- // undertaker: evidence.evidence.undertaker,
- // assistant: evidence.evidence.assistant,
- // investigationTime: evidence.evidence.investigationTime,
- // address: evidence.evidence.address,
- // caseAction: evidence.evidence.caseAction,
- // description: evidence.evidence.description,
- // pic: evidence.evidence.pic,
- // //
- // illegalType: evidence.user.illegalType,
- // name: evidence.user.name,
- // phoneCode: evidence.user.phoneCode,
- // certificateType: evidence.user.certificateType,
- // certificateCode: evidence.user.certificateCode,
- // educationDegree: evidence.user.educationDegree,
- // career: evidence.user.career,
- // work: evidence.user.work,
- // nation: evidence.user.nation,
- // nativePlace: evidence.user.nativePlace,
- // liveAddress: evidence.user.liveAddress,
- // registerAddress: evidence.user.registerAddress,
- }
- })
- .then(res => {
- console.log(res);
- if (res.code === 200) {
- this.$message({
- type: 'success',
- message:'涓婁紶鎴愬姛',
- })
- this.$emit('closeDialog', { flag: false });
- }else{
- this.$message({
- type:'warning',
- message:res.message
- })
- }
- })
- } else {
- return false;
- }
- })
- } else {
- evidenceForm.validate((flag) => {
- if (!flag) {
- return false;
- }
- })
- return false;
- }
- })
- },
- // 鑾峰緱arrive鐨勪俊鎭�
- getArrive(obj) {
- console.log(obj);
- },
- // 鑾峰緱evidence瀵硅薄
- getEvidence(obj) {
- console.log(obj);
- }
- }
-}
-</script>
-<style lang="scss" scoped>
-.vio {
- padding: 20px 200px;
-}
-
-.footer {
- display: flex;
- justify-content: flex-end;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/notDeal/index.vue b/src/views/operate/disposal/casepool/notDeal/index.vue
index ac2a9cb..a46df8e 100644
--- a/src/views/operate/disposal/casepool/notDeal/index.vue
+++ b/src/views/operate/disposal/casepool/notDeal/index.vue
@@ -50,7 +50,10 @@
</el-table-column>
<el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
</el-table-column>
- <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15">
+ <template slot-scope="scope">
+ <span>{{filterTime(scope.row.alarmTime)}}</span>
+ </template>
</el-table-column>
<el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
</el-table-column>
@@ -106,6 +109,8 @@
import uploadVio from './updateUser/uploadResult/vio'
import uploadIll from "./updateUser/uploadResult/ill"
import MyDetail from '@/components/detail'
+import helper from '@/utils/mydate'
+import filterTime from '@/utils/mydate'
export default {
components: {
// updateUser,
@@ -358,6 +363,9 @@
// 鍏抽棴涓婁紶鐣岄潰
closeDialog({flag}){
this.dialogUpload = flag;
+ },
+ filterTime(time){
+ return helper(time);
}
}
}
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index f45c45c..6ca0536 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -62,19 +62,26 @@
<span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
</template>
</el-table-column>
- <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'category' :'category'" :label="mystatus===1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'" min-width="10">
</el-table-column>
- <el-table-column prop="type" label="灏忕被鍚嶇О" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'" min-width="10">
</el-table-column>
- <el-table-column prop="actionCause" label="妗堢敱" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'actionCause' :'communityId'" :label="mystatus===1 ? '妗堢敱' : '鎵�灞炵ぞ鍖�'" min-width="10">
</el-table-column>
- <el-table-column prop="site" label="鎶ヨ鐐逛綅" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '鎶ヨ鐐逛綅' : '杩濇硶寤虹瓚闀裤�佸銆侀珮'" min-width="10">
+ <template slot-scope="scope">
+ <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'绫�'+'銆�'+ scope.row.buildingWidth+'绫�'+'銆�'+scope.row.buildingHigh+'绫�'}}</span></div>
+ <div v-else>{{scope.row.site}}</div>
+ </template>
</el-table-column>
- <el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'streetId' :'buildingArea'" :label="mystatus===1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'" min-width="10">
</el-table-column>
- <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15" v-if="mystatus===1">
+ <template slot-scope="scope">
+ <span>{{filterTime(scope.row.alarmTime)}}</span>
+ </template>
</el-table-column>
- <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'" :label="mystatus===1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'" min-width="10">
</el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="20">
<template slot-scope="scope">
@@ -138,6 +145,7 @@
import MyIll from './createUser/ill'
import MyVio from './createUser/vio'
import MyDispatch from '@/components/dispatch'
+import helper from '@/utils/mydate'
export default {
components: {
createUser, MyIll, MyVio, MyDetail, MyDispatch, MyIllDetail
@@ -495,6 +503,10 @@
})
}
})
+ },
+ // 澶勭悊鏃堕棿
+ filterTime(time){
+ return helper(time);
}
}
}
diff --git a/src/views/operate/management/myIndex/components/closure/index.vue b/src/views/operate/management/myIndex/components/closure/index.vue
index d51a562..3336c6f 100644
--- a/src/views/operate/management/myIndex/components/closure/index.vue
+++ b/src/views/operate/management/myIndex/components/closure/index.vue
@@ -102,7 +102,7 @@
<el-button>杩斿洖</el-button>
</div>
</div>
- <MyProcess v-else-if="activeIndex === 1" :handlePassVo="handlePassVo"></MyProcess>
+ <MyProcess v-else-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
<MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo"></MyFilePicture>
<MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
<MyScene v-else :currentSitVo="currentSitVo"></MyScene>
diff --git a/src/views/operate/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
index 39d0bde..29122f9 100644
--- a/src/views/operate/management/myIndex/index.vue
+++ b/src/views/operate/management/myIndex/index.vue
@@ -43,7 +43,10 @@
</el-table-column>
<el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
</el-table-column>
- <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15">
+ <template slot-scope="scope">
+ <span>{{filterTime(scope.row.alarmTime)}}</span>
+ </template>
</el-table-column>
<el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
</el-table-column>
@@ -106,6 +109,7 @@
import MyClosure from './components/closure'
import MyDetail from '@/components/detail'
import MyIllDetail from '@/components/illdetail'
+import helper from '@/utils/mydate'
export default {
components: {
MyExamine,MyClosure,MyDetail,MyIllDetail
@@ -342,6 +346,9 @@
// 瀹℃牳鐘舵��
changeInStatus(val){
this.getUserList();
+ },
+ filterTime(time){
+ return helper(time);
}
}
}
diff --git a/src/views/operate/message/index.vue b/src/views/operate/message/index.vue
new file mode 100644
index 0000000..e3bc8ac
--- /dev/null
+++ b/src/views/operate/message/index.vue
@@ -0,0 +1,3 @@
+<template>
+ <router-view></router-view>
+</template>
\ No newline at end of file
diff --git a/src/views/operate/message/myIndex/createUser/index.vue b/src/views/operate/message/myIndex/createUser/index.vue
new file mode 100644
index 0000000..3b22823
--- /dev/null
+++ b/src/views/operate/message/myIndex/createUser/index.vue
@@ -0,0 +1,206 @@
+<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">
+ <el-input v-model="role.messageType" placeholder="璇峰~鍐欐秷鎭爮鐩�"></el-input>
+ <span>娣诲姞鏍忕洰</span>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <el-select v-model="role.head" placeholder="璇烽�夋嫨娑堟伅鏍囬">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> -->
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor :content="role.body"></MyEditor>
+ <!-- <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> -->
+ </el-form-item>
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode">
+ <div class="message-item">
+ <el-radio-group v-model="role.channelCode">
+ <el-radio :label="1">绔欏唴淇�</el-radio>
+ <el-radio :label="2">閭欢</el-radio>
+ <el-radio :label="3">鐭俊</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </div>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" class="btn save">淇濆瓨
+ </el-button>
+ <el-button type="primary" class="btn submit">鍙戝竷
+ </el-button>
+ <el-button type="primary" class="btn submit">棰勮
+ </el-button>
+ <el-button class="btn cancel">閲嶇疆</el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+
+ </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) {
+ callback();
+ } else {
+ callback();
+ }
+ };
+ return {
+ role: {
+ messageType:'',
+ head:'',
+ targetTo:'',
+ body:'',
+ channelCode:1
+ },
+ createRoleRules: {
+ name: [
+ { required: true, trigger: "blur", validator: validateNickname },
+ ],
+ type: [
+ { required: false, trigger: "blur", validator: validatePass },
+ ],
+ description: [
+ { required: false, trigger: "blur", validator: validateTruename },
+ ],
+ },
+ typeList: [],
+ }
+ },
+ created() {
+ },
+ methods: {
+ },
+ props: ['']
+}
+</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;
+
+ &::v-deep .el-form-item__label {
+ color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ background-color: #09152f;
+ border: 1px solid #17324c;
+ }
+
+ .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;
+ }
+ }
+
+ }
+ }
+ :deep(.el-select-dropdown){
+ width: 400px;
+ min-width: 400px !important;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
new file mode 100644
index 0000000..e939aee
--- /dev/null
+++ b/src/views/operate/message/myIndex/index.vue
@@ -0,0 +1,555 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ <span class="nav-right">楂樼骇鎼滅储</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+ </div>
+ <div class="message-status">
+ <span>娑堟伅鐘舵��:</span>
+ <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+ </div>
+ <div class="message-kind">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button type="primary" icon="el-icon-plus" @click="dialogCreate = true">娣诲姞</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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" min-width="10">
+ <template slot-scope="scope">
+ <span>{{changeTime(scope.row)}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="10">
+ </el-table-column>
+ <el-table-column prop="channelCode" label="娑堟伅鍒嗙被" min-width="10">
+ <template slot-scope="scope">
+ <span>{{scope.row.channelCode === '01' ? '绔欏唴淇�':scope.row.channelCode ==='02'?"閭欢":'鐭俊'}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template slot-scope="scope">
+ {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+ <!-- <el-switch class="switchStyle" v-model="scope.row.status" active-text="寮�" inactive-text="鍏�"
+ active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
+ </el-switch> -->
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false" @click="dialogView = true">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%"
+ :before-close="handleConfirmClose">
+ <MyCreate></MyCreate>
+ </el-dialog>
+ <!-- 娑堟伅璇︽儏 -->
+ <el-dialog title="娑堟伅璇︽儏" :visible.sync="dialogView" v-if="dialogView" width="45%"
+ :before-close="handleClose">
+ <MyView></MyView>
+ </el-dialog>
+ <!-- tools -->
+ <div class="tools">
+ <div class="funs">
+ <div class="funsItem">
+ <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+ </div>
+ <div class="funsItem">
+ <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+ </div>
+ <div class="funsItem">
+ <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+ <el-option v-for="item in options" :key="item.value" :label="item.label"
+ :value="item.value">
+ </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 helper from '@/utils/mydate'
+import MyView from './myview'
+import MyCreate from './createUser'
+export default {
+ components: {
+ MyView,MyCreate
+ },
+ data() {
+ return {
+ tableData: [],
+ context: "",
+ dialogCreate:false,
+ dialogView:false,
+ totalNum: null,
+ 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: []
+ }
+ },
+ created() {
+ this.setTableData();
+ },
+ methods: {
+ // 璁剧疆琛ㄦ牸鏁版嵁
+ async setTableData() {
+ const arr = await this.getMessageList();
+ this.tableData = arr.records;
+ this.totalNum = arr.total
+ },
+ // 鑾峰彇娑堟伅鏁版嵁
+ async getMessageList() {
+ let arr = [];
+ const {currentPage,pageSize} = this;
+ await this.$axios({
+ method: 'post',
+ url: 'sccg/message/list',
+ data: {
+ body: "",
+ channelCode: "",
+ createUser: 0,
+ current: currentPage,
+ head: "",
+ messageType: 0,
+ pageSize: pageSize,
+ randomCode: "",
+ remark: "",
+ sendTime: "",
+ status: 0,
+ targetFrom: "",
+ targetTo: ""
+ }
+ })
+ .then(res => {
+ arr = res.data;
+ })
+ return arr;
+ },
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ console.log(this.tempList);
+ if (this.tempList.length !== 0) {
+ this.preMyIdx = list;
+ if (list === 3) {
+ await this.handleDelete(this.tempList);
+ } else if (list === 2) {
+ await this.mulUpdateStatus(this.tempList, 0);
+ } else {
+ await this.mulUpdateStatus(this.tempList, 1);
+ }
+ this.myIdx = 0;
+ } else {
+ this.myIdx = this.preMyIdx;
+ this.$message({
+ type: 'warning',
+ message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+ })
+ }
+ },
+ // 鎵归噺鎿嶄綔
+ mulUpdateStatus(idArr, flag) {
+ this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+ })
+ this.getUserList();
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message
+ })
+ }
+ console.log(res);
+ })
+ })
+ .catch(err => { console.log(err) })
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ if (list.length === this.tableData.length) {
+ this.all = true;
+ } else {
+ this.all = false
+ }
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({ updateTime }) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ selectAll() {
+ this.$refs.multipleTable.toggleAllSelection();
+ },
+ // 鍙嶉��
+ disSame(list) {
+ list.forEach(row => {
+ this.$refs.multipleTable.toggleRowSelection(row)
+ })
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ return '';
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done){
+ done();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done){
+ this.$confirm('纭鍏抽棴?')
+ .then(_=>{
+ done();
+ })
+ .catch(err=>{
+ console.log(err);
+ })
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog({flag,index}){
+ this.dialogView = flag;
+ if(index ===1 ){
+ this.setTableData();
+ }
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ header {
+ background-color: #09152f;
+ border: 1pox solid #fff;
+
+ .header-nav {
+ line-height: 40px;
+ padding: 0 30px;
+ display: flex;
+ justify-content: space-between;
+ font-weight: 650;
+ }
+
+ .header-content {
+ padding: 0 40px;
+ display: flex;
+ line-height: 100px;
+ justify-content: space-between;
+ align-items: center;
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .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;
+ }
+ }
+ }
+ }
+
+ main {
+ background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+ border: 1pox solid #fff;
+ .el-link{
+ color: #4b9bb7;
+ }
+ .leftPx{
+ margin-left: 10px;
+ }
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-nav {
+ line-height: 40px;
+ display: flex;
+ padding: 10px;
+ justify-content: space-between;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs {
+ display: flex;
+
+ .funsItem {
+ line-height: 28px;
+ display: flex;
+ align-items: center;
+ border: 1px solid #17324c;
+ 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;
+ }
+
+ &: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 .el-table__empty-block {
+ background-color: #09152f;
+ }
+
+ &::v-deep .el-table__empty-block {
+ color: #4b9bb7;
+ }
+
+ .operation {
+ display: flex;
+
+ .line {
+ padding: 0 5px;
+ }
+
+ span:hover {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .el-table::v-deep .warning-row {
+ background: #06122c;
+ }
+
+ .el-table::v-deep .success-row {
+ background: #071f39;
+ }
+
+ &::v-deep .switchStyle .el-switch__label {
+ position: absolute;
+ display: none;
+ color: #fff;
+ }
+
+ &::v-deep .el-switch__core {
+ background-color: rgba(166, 166, 166, 1);
+ }
+
+ &::v-deep .switchStyle .el-switch__label--left {
+ z-index: 9;
+ left: 20px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label--right {
+ z-index: 9;
+ left: 4px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label.is-active {
+ display: block;
+ }
+
+ &::v-deep .switchStyle.el-switch .el-switch__core,
+ &::v-deep .el-switch .el-switch__label {
+ width: 50px !important;
+ }
+ }
+
+ &::v-deep .el-dialog__header,
+ &::v-deep .el-dialog__body {
+ background-color: #06122c;
+ }
+
+ &::v-deep .el-dialog__header {
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ padding: 20px;
+ line-height: 60px;
+ }
+
+ &::v-deep .el-dialog__title {
+ color: #4b9bb7;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ // color: #fff;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/message/myIndex/myview/index.vue b/src/views/operate/message/myIndex/myview/index.vue
new file mode 100644
index 0000000..e2a9bda
--- /dev/null
+++ b/src/views/operate/message/myIndex/myview/index.vue
@@ -0,0 +1,55 @@
+<template>
+ <div class="myview">
+ <header>
+ <div class="header-title">
+ 鍩熷悕闅愮淇濇姢鏈嶅姟鏆傚仠閫氱煡
+ </div>
+ <div class="header-time">
+ 2018-05-25 14:19:20
+ </div>
+ </header>
+ <main>
+ <div class="main-head"> 灏婃暚鐨勫鎴凤細鎮ㄥソ锛�</div>
+ <div class="main-content">
+ 鏍规嵁ICANN锛堜簰鑱旂綉鍚嶇О涓庢暟瀛楀湴鍧�鍒嗛厤鏈烘瀯锛夈�婇�氱敤椤剁骇鍩熷悕娉ㄥ唽鏁版嵁涓存椂鏀跨瓥缁嗗垯锛圱emporary Specification for gTLD Registration Data锛夈�嬪拰娆х洘閫氱敤鏁版嵁淇濇姢鏉′緥锛圙DPR锛夊悎瑙勮姹傦紝鑷�2018骞�5鏈�25鏃ヨ捣锛岄樋閲屼簯鐨勫煙鍚峎HOIS淇℃伅鍏紑鏌ヨ缁撴灉涓皢涓嶅啀鏄剧ず鍩熷悕娉ㄥ唽浜�/娉ㄥ唽鏈烘瀯鐨勫悕绉帮紝浠ュ強鍩熷悕娉ㄥ唽浜�/娉ㄥ唽鏈烘瀯銆佺鐞嗚仈绯讳汉鍜屾妧鏈仈绯讳汉鐨勮仈绯讳俊鎭��
+ </div>
+ <div class="main-footer">
+ 閴翠簬浠ヤ笂璋冩暣鎺柦鐢熸晥鍚庯紝鍩熷悕娉ㄥ唽淇℃伅灏嗛粯璁ゅ緱鍒颁繚鎶わ紝闃块噷浜戝煙鍚嶉殣绉佷繚鎶ゆ湇鍔″皢鑷�2018骞�5鏈�25鏃ヨ捣鏆傚仠鏈嶅姟銆�
+ </div>
+ </main>
+ </div>
+</template>
+<style lang="scss" scoped>
+.myview{
+ color: #4b9bb7;
+ header{
+ line-height: 100px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .header-title{
+ font-weight: 650;
+ font-size: 20px;
+ line-height: 60px;
+ }
+ .header-time{
+ line-height: 20px;
+ }
+ padding-bottom: 20px;
+ border-bottom: 1px solid #4b9bb7;
+ }
+ main{
+ padding: 30px 50px;
+ line-height: 100px;
+ .main-head{
+ line-height: 40px;
+ }
+ .main-content{
+ line-height: 30px;
+ }
+ .main-footer{
+ line-height: 30px;
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/message/myIndex/update/index.vue b/src/views/operate/message/myIndex/update/index.vue
new file mode 100644
index 0000000..76bddbc
--- /dev/null
+++ b/src/views/operate/message/myIndex/update/index.vue
@@ -0,0 +1,179 @@
+<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="name">
+ <el-input v-model="role.name" placeholder="璇峰~鍐欐爮鐩悕绉�"></el-input>
+ </el-form-item>
+ <!-- 瑙掕壊鎻忚堪 -->
+ <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
+ <el-input type="textarea" :rows="5" maxlength="300" show-word-limit v-model="role.description"
+ placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button class="btn cancel" @click.native.prevent="handleCancel">鍙栨秷</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭畾
+ </el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ const validateNickname = (rule, value, callback) => {
+ if (!value) {
+ callback(new Error("璇峰~鍐欐爮鐩悕绉�"));
+ } else {
+ callback();
+ }
+ };
+ const validateTruename = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ // }
+ callback();
+ }
+ };
+ return {
+ role: {
+ name: '',
+ description: '',
+ },
+ createRoleRules: {
+ name: [
+ { required: true, trigger: "blur", validator: validateNickname },
+ ],
+ description: [
+ { required: false, trigger: "blur", validator: validateTruename },
+ ],
+ },
+ typeList: [],
+ }
+ },
+ created() {
+ },
+ methods: {
+ handleUser() {
+ this.$refs['user'].validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { role } = this;
+ console.log(role);
+ this.$axios({
+ method: 'post',
+ url: 'sccg/message_column/addColumn',
+ data: {
+ columnName: role.name,
+ createUser: 3,
+ description: role.description,
+ isShow: 0,
+ }
+ })
+ .then(res=>{
+ if(res.code === 200){
+ this.$message({
+ type:'success',
+ message:'娣诲姞鎴愬姛'
+ })
+ this.$emit('closeDialog',{flag:false,index:1});
+ }else{
+ this.$message({
+ type:'error',
+ message:res.message
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ // 鍏抽棴寮圭獥
+ handleCancel(){
+ this.$emit('closeDialog',{flag:false,index:0});
+ }
+ },
+ props: ['closeDialog']
+}
+</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;
+
+ &::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;
+ }
+
+ :deep(.el-input__count) {
+ background-color: #09152f;
+ }
+
+ .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/message/mycontrol/createUser/index.vue b/src/views/operate/message/mycontrol/createUser/index.vue
new file mode 100644
index 0000000..c68bc92
--- /dev/null
+++ b/src/views/operate/message/mycontrol/createUser/index.vue
@@ -0,0 +1,194 @@
+<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="name">
+ <el-input v-model="role.name" placeholder="璇峰~鍐欐爮鐩悕绉�"></el-input>
+ </el-form-item>
+ <!-- 瑙掕壊鎻忚堪 -->
+ <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
+ <el-input type="textarea" :rows="5" maxlength="300" show-word-limit v-model="role.description"
+ placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button class="btn cancel" @click.native.prevent="handleCancel">鍙栨秷</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭畾
+ </el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ const validateNickname = (rule, value, callback) => {
+ if (!value) {
+ callback(new Error("璇峰~鍐欐爮鐩悕绉�"));
+ } else {
+ callback();
+ }
+ };
+ const validateTruename = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ // }
+ callback();
+ }
+ };
+ return {
+ role: {
+ name: '',
+ description: '',
+ },
+ createRoleRules: {
+ name: [
+ { required: true, trigger: "blur", validator: validateNickname },
+ ],
+ description: [
+ { required: false, trigger: "blur", validator: validateTruename },
+ ],
+ },
+ typeList: [],
+ }
+ },
+ created() {
+ },
+ methods: {
+ handleUser() {
+ this.$refs['user'].validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { role } = this;
+ console.log(role);
+ this.$axios({
+ method: 'post',
+ url: 'sccg/message_column/addColumn',
+ data: {
+ columnName: role.name,
+ createUser: 3,
+ description: role.description,
+ isShow: 0,
+ }
+ })
+ .then(res=>{
+ if(res.code === 200){
+ this.$message({
+ type:'success',
+ message:'娣诲姞鎴愬姛'
+ })
+ this.$emit('closeDialog',{flag:false,index:1});
+ }else{
+ this.$message({
+ type:'error',
+ message:res.message
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ // 鍏抽棴寮圭獥
+ handleCancel(){
+ this.$emit('closeDialog',{flag:false,index:0});
+ }
+ // 鑾峰彇鍒涘缓鐢ㄦ埛淇℃伅
+ // async getCreaterInfo(){
+ // let id;
+ // const name = sessionStorage.getItem('name');
+ // await this.$axios({
+ // method:'get',
+ // url:'sccg/admin/info?name='+'name'
+ // })
+ // .then(res=>{
+ // console.log(res);
+ // if(res.code ===200){
+
+ // }
+ // })
+ // }
+ },
+ props: ['closeDialog']
+}
+</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;
+
+ &::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;
+ }
+
+ :deep(.el-input__count) {
+ background-color: #09152f;
+ }
+
+ .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/message/mycontrol/index.vue b/src/views/operate/message/mycontrol/index.vue
new file mode 100644
index 0000000..2d18cb2
--- /dev/null
+++ b/src/views/operate/message/mycontrol/index.vue
@@ -0,0 +1,501 @@
+<template>
+ <div class="userList">
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button type="primary" icon="el-icon-plus" @click="dialogCreate = true">娣诲姞</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="columnName" label="鏍忕洰鍚嶇О" min-width="10">
+ </el-table-column>
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" min-width="10">
+ <template slot-scope="scope">
+ <span>{{changeTime(scope.row)}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="noticeAmount" label="鍏憡鏁伴噺" min-width="10">
+ </el-table-column>
+ <el-table-column prop="isShow" label="鏄剧ず" min-width="5">
+ <template slot-scope="scope">
+ <el-switch class="switchStyle" v-model="scope.row.isShow" active-text="寮�" inactive-text="鍏�"
+ active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
+ </el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-edit" :underline="false" @click="handleEdit(scope.row)">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鍒涘缓椤甸潰 -->
+ <el-dialog title="娣诲姞鏍忕洰" :visible.sync="dialogCreate" v-if="dialogCreate" width="45%"
+ :before-close="handleClose">
+ <MyCreate @closeDialog="closeDialog"></MyCreate>
+ </el-dialog>
+ <!-- 缂栬緫椤甸潰 -->
+ <el-dialog title="淇敼鏍忕洰" :visible.sync="dialogEdit" v-if="dialogEdit" width="45%"
+ :before-close="handleClose">
+ <MyEdit @closeDialog="closeDialog" :info="info"></MyEdit>
+ </el-dialog>
+ <!-- tools -->
+ <!-- <div class="tools">
+ <div class="funs">
+ <div class="funsItem">
+ <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+ </div>
+ <div class="funsItem">
+ <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+ </div>
+ <div class="funsItem">
+ <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+ <el-option v-for="item in options" :key="item.value" :label="item.label"
+ :value="item.value">
+ </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 MyCreate from './createUser'
+// 寮曞叆缂栬緫缁勪欢
+import MyEdit from './update'
+// 寮曞叆鏃ユ湡js
+import helper from '@/utils/mydate'
+export default {
+ components: {
+ MyCreate,MyEdit
+ },
+ data() {
+ return {
+ tableData: [],
+ dialogCreate: false,
+ dialogEdit:false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ info:'',
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ {
+ value: 1,
+ label: '鎵归噺鍚敤',
+ },
+ {
+ value: 2,
+ label: '鎵归噺绂佺敤',
+ },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: []
+ }
+ },
+ created() {
+ this.setTableData();
+ },
+ methods: {
+ // 缂栬緫
+ handleEdit(data){
+ this.info = data;
+ this.dialogEdit = true;
+ },
+ // 鍒犻櫎鏁版嵁
+ handleDelete(idArr) {
+ console.log(idArr);
+ this.$confirm('鏄惁纭畾纭畾鍒犻櫎鏍忕洰?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/message_column/delete' + '?ids=' + idArr,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛',
+ });
+ this.setTableData();
+ }
+ })
+ })
+ .catch(err=>{
+ console.log(err);
+ })
+ },
+ // 淇敼鏍忕洰鐘舵��
+ handleChangeStatus({ id, status }) {
+ console.log(id, status);
+ status === true ? status = 1 : status = 0;
+ this.$axios({
+ method: 'post',
+ url: `sccg/message_column/update/${id}`,
+ data: {
+ isShow: status,
+ }
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.setTableData();
+ }
+ })
+ },
+ // 鑾峰彇鍏ㄩ儴鏍忕洰
+ async getColumnList() {
+ let arr = [];
+ await this.$axios({
+ method: 'get',
+ url: 'sccg/message_column/getAllColumn',
+ })
+ .then(res => {
+ res.data.forEach(item => {
+ item.isShow === 1 ? item.isShow = true : item.isShow = false;
+ })
+ arr = res.data
+ // console.log(res);
+ })
+ return arr;
+ },
+ // 璁剧疆琛ㄦ牸鏁版嵁
+ async setTableData() {
+ this.tableData = await this.getColumnList();
+ this.totalNum = this.tableData.length;
+ },
+ // 涓嬫媺妗嗙洃鍚�
+ async selectChange(list) {
+ console.log(this.tempList);
+ if (this.tempList.length !== 0) {
+ this.preMyIdx = list;
+ if (list === 3) {
+ await this.handleDelete(this.tempList);
+ } else if (list === 2) {
+ await this.mulUpdateStatus(this.tempList, 0);
+ } else {
+ await this.mulUpdateStatus(this.tempList, 1);
+ }
+ this.myIdx = 0;
+ } else {
+ this.myIdx = this.preMyIdx;
+ this.$message({
+ type: 'warning',
+ message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+ })
+ }
+ },
+ // 鎵归噺鎿嶄綔
+ mulUpdateStatus(idArr, flag) {
+ this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+ })
+ this.getUserList();
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message
+ })
+ }
+ console.log(res);
+ })
+ })
+ .catch(err => { console.log(err) })
+ },
+ // 琛ㄦ牸鐘舵�佺洃鍚�
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ if (list.length === this.tableData.length) {
+ this.all = true;
+ } else {
+ this.all = false
+ }
+ },
+ // 鏀瑰彉鏃ユ湡鏍煎紡
+ changeTime({ updateTime }) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ selectAll() {
+ this.$refs.multipleTable.toggleAllSelection();
+ },
+ // 鍙嶉��
+ disSame(list) {
+ list.forEach(row => {
+ this.$refs.multipleTable.toggleRowSelection(row)
+ })
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ return '';
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ this.currentPage = page;
+ this.search();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done) {
+ this.$confirm('纭畾鍏抽棴?')
+ .then(_ => {
+ done();
+ })
+ .catch(err => {
+ console.log(err);
+ })
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ this.dialogEdit = flag;
+ if (index === 1) {
+ this.setTableData();
+ }
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ main {
+ background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+ border: 1pox solid #fff;
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-nav {
+ line-height: 40px;
+ display: flex;
+ padding: 10px;
+ justify-content: space-between;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs {
+ display: flex;
+
+ .funsItem {
+ line-height: 28px;
+ display: flex;
+ align-items: center;
+ border: 1px solid #17324c;
+ 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;
+ }
+
+ &: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 .el-table__empty-block {
+ background-color: #09152f;
+ }
+
+ &::v-deep .el-table__empty-block {
+ color: #4b9bb7;
+ }
+
+ .operation {
+ display: flex;
+
+ .el-link {
+ color: #4b9bb7;
+ }
+
+ .leftPx {
+ margin-left: 10px;
+ }
+
+ .line {
+ padding: 0 5px;
+ }
+
+ span:hover {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .el-table::v-deep .warning-row {
+ background: #06122c;
+ }
+
+ .el-table::v-deep .success-row {
+ background: #071f39;
+ }
+
+ &::v-deep .switchStyle .el-switch__label {
+ position: absolute;
+ display: none;
+ color: #fff;
+ }
+
+ &::v-deep .el-switch__core {
+ background-color: rgba(166, 166, 166, 1);
+ }
+
+ &::v-deep .switchStyle .el-switch__label--left {
+ z-index: 9;
+ left: 20px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label--right {
+ z-index: 9;
+ left: 4px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label.is-active {
+ display: block;
+ }
+
+ &::v-deep .switchStyle.el-switch .el-switch__core,
+ &::v-deep .el-switch .el-switch__label {
+ width: 50px !important;
+ }
+ }
+
+ &::v-deep .el-dialog__header,
+ &::v-deep .el-dialog__body {
+ background-color: #06122c;
+ }
+
+ &::v-deep .el-dialog__header {
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ padding: 20px;
+ line-height: 60px;
+ }
+
+ &::v-deep .el-dialog__title {
+ color: #4b9bb7;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ // color: #fff;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/message/mycontrol/update/index.vue b/src/views/operate/message/mycontrol/update/index.vue
new file mode 100644
index 0000000..b8c8b36
--- /dev/null
+++ b/src/views/operate/message/mycontrol/update/index.vue
@@ -0,0 +1,175 @@
+<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="columnName">
+ <el-input v-model="role.columnName" placeholder="璇峰~鍐欐爮鐩悕绉�"></el-input>
+ </el-form-item>
+ <!-- 瑙掕壊鎻忚堪 -->
+ <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
+ <el-input type="textarea" :rows="5" maxlength="300" show-word-limit v-model="role.description"
+ placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button class="btn cancel" @click.native.prevent="handleCancel">鍙栨秷</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">淇敼
+ </el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ const validateNickname = (rule, value, callback) => {
+ if (!value) {
+ callback(new Error("璇峰~鍐欐爮鐩悕绉�"));
+ } else {
+ callback();
+ }
+ };
+ const validateTruename = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback();
+ }
+ };
+ return {
+ role: {
+ },
+ createRoleRules: {
+ columnName: [
+ { required: true, trigger: "blur", validator: validateNickname },
+ ],
+ description: [
+ { required: false, trigger: "blur", validator: validateTruename },
+ ],
+ },
+ typeList: [],
+ }
+ },
+ created() {
+ console.log(this.info);
+ this.role = JSON.parse(JSON.stringify(this.info)) ;
+ },
+ methods: {
+ handleUser() {
+ this.$refs['user'].validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { role } = this;
+ console.log(role);
+ this.$axios({
+ method: 'post',
+ url: `sccg/message_column/update/${role.id}`,
+ data: {
+ columnName: role.columnName,
+ createUser: role.createUser,
+ description: role.description,
+ isShow: role.isShow===false ? 0 : 1,
+ }
+ })
+ .then(res=>{
+ if(res.code === 200){
+ this.$message({
+ type:'success',
+ message:'淇敼鎴愬姛'
+ })
+ this.$emit('closeDialog',{flag:false,index:1});
+ }else{
+ this.$message({
+ type:'error',
+ message:res.message
+ })
+ }
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ // 鍏抽棴寮圭獥
+ handleCancel(){
+ this.$emit('closeDialog',{flag:false,index:0});
+ }
+ },
+ props: ['closeDialog','info']
+}
+</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;
+
+ &::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;
+ }
+
+ :deep(.el-input__count) {
+ background-color: #09152f;
+ }
+
+ .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/myWait/index.vue b/src/views/operate/myWait/index.vue
index ba01d51..6eaf02b 100644
--- a/src/views/operate/myWait/index.vue
+++ b/src/views/operate/myWait/index.vue
@@ -270,6 +270,7 @@
},
// 璁$畻鏃堕棿
getRestTime(time2){
+ console.log(time2);
return computeTime(time2);
}
}
--
Gitblit v1.8.0