Compare commits
4 Commits
7b4050b55f
...
a42559a936
Author | SHA1 | Date | |
---|---|---|---|
a42559a936 | |||
026ab919e7 | |||
c173cd1879 | |||
5da423035d |
295
package-lock.json
generated
@@ -11,6 +11,7 @@
|
||||
"dependencies": {
|
||||
"@icon-park/vue": "^1.3.5",
|
||||
"hls.js": "^1.6.11",
|
||||
"uqrcodejs": "^4.0.7",
|
||||
"vue-i18n": "^8.20.0"
|
||||
}
|
||||
},
|
||||
@@ -99,18 +100,144 @@
|
||||
"prettier": "^1.18.2 || ^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/camelcase": {
|
||||
"version": "5.3.1",
|
||||
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
|
||||
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/cliui": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
|
||||
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"string-width": "^4.2.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"wrap-ansi": "^6.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/csstype": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/decamelize": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
|
||||
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dijkstrajs": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
|
||||
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/find-up": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
|
||||
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"locate-path": "^5.0.0",
|
||||
"path-exists": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/get-caller-file": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": "6.* || 8.* || >= 10.*"
|
||||
}
|
||||
},
|
||||
"node_modules/hls.js": {
|
||||
"version": "1.6.11",
|
||||
"resolved": "https://registry.npmmirror.com/hls.js/-/hls.js-1.6.11.tgz",
|
||||
"integrity": "sha512-tdDwOAgPGXohSiNE4oxGr3CI9Hx9lsGLFe6TULUvRk2TfHS+w1tSAJntrvxsHaxvjtr6BXsDZM7NOqJFhU4mmg==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/locate-path": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
|
||||
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"p-locate": "^4.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz",
|
||||
@@ -130,6 +257,51 @@
|
||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/p-limit": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
|
||||
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"p-try": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-locate": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
|
||||
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"p-limit": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/p-try": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
|
||||
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
|
||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
|
||||
@@ -137,6 +309,15 @@
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/pngjs": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
|
||||
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz",
|
||||
@@ -166,6 +347,27 @@
|
||||
"node": "^10 || ^12 || >=14"
|
||||
}
|
||||
},
|
||||
"node_modules/require-directory": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
|
||||
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/require-main-filename": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
|
||||
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/set-blocking": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
|
||||
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
|
||||
@@ -186,6 +388,38 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/uqrcodejs": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmmirror.com/uqrcodejs/-/uqrcodejs-4.0.7.tgz",
|
||||
"integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "2.7.16",
|
||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz",
|
||||
@@ -203,6 +437,67 @@
|
||||
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.20.0.tgz",
|
||||
"integrity": "sha512-ZiAOoeR4d/JtKpbjipx3I80ey7cYG1ki5gQ7HwzWm4YFio9brA15BEYHjalEoBaEfzF5OBEZP+Y2MvAaWnyXXg==",
|
||||
"deprecated": "Vue I18n v8.x has reached EOL and is no longer actively maintained. About maintenance status, see https://vue-i18n.intlify.dev/guide/maintenance.html"
|
||||
},
|
||||
"node_modules/which-module": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
|
||||
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/wrap-ansi": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
|
||||
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/y18n": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
|
||||
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/yargs": {
|
||||
"version": "15.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
|
||||
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cliui": "^6.0.0",
|
||||
"decamelize": "^1.2.0",
|
||||
"find-up": "^4.1.0",
|
||||
"get-caller-file": "^2.0.1",
|
||||
"require-directory": "^2.1.1",
|
||||
"require-main-filename": "^2.0.0",
|
||||
"set-blocking": "^2.0.0",
|
||||
"string-width": "^4.2.0",
|
||||
"which-module": "^2.0.0",
|
||||
"y18n": "^4.0.0",
|
||||
"yargs-parser": "^18.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/yargs-parser": {
|
||||
"version": "18.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
|
||||
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -23,6 +23,7 @@
|
||||
"dependencies": {
|
||||
"@icon-park/vue": "^1.3.5",
|
||||
"hls.js": "^1.6.11",
|
||||
"uqrcodejs": "^4.0.7",
|
||||
"vue-i18n": "^8.20.0"
|
||||
}
|
||||
}
|
||||
|
832
pages.json
@@ -1,528 +1,308 @@
|
||||
{
|
||||
"easycom": {
|
||||
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
|
||||
},
|
||||
//案列页面
|
||||
// "pages": [
|
||||
// {
|
||||
// "path": "pages/sys/login/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "登录"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/login/forget",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "忘记密码"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/login/reg",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "注册账号"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/msg/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "消息"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/msg/form",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "查看详情"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/home/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "工作台",
|
||||
// "navigationStyle": "custom" // 隐藏系统导航栏
|
||||
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "我的",
|
||||
// "navigationBarBackgroundColor":"#5b95ff",
|
||||
// "navigationBarTextStyle": "white"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/info",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "个人信息"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "uview-ui/components/u-avatar-cropper/u-avatar-cropper",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "头像裁剪",
|
||||
// "navigationBarBackgroundColor": "#000000"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/help",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "帮助中心"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/pwd",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "修改密码"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/setting",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "系统设置"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/comment",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "意见反馈"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/about",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "关于我们"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/testData/form",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "新增编辑"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/testData/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "增删改查"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/common/webview",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "浏览网页"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/login/code",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "验证码"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/login/registerCode",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "验证码"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/service",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "联系客服"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/problem",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "常见问题"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/currency",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "通用"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/clear-cache",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "清除缓存"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/workbench/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "工作台"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/book/index",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "通讯录"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/book/personal-details",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "详情"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/msg/list-item",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "列表"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/workbench/add-form",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "请假申请"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/msg/examine-item",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "网上报销"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/msg/details",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "详情"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/user/modify",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "修改"
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "path": "pages/sys/workbench/install",
|
||||
// "style": {
|
||||
// "navigationBarTitleText": "常用设置",
|
||||
// "navigationStyle": "custom" // 隐藏系统导航栏
|
||||
// }
|
||||
// }
|
||||
|
||||
// ],
|
||||
// "tabBar": {
|
||||
// "color": "#333333",
|
||||
// "selectedColor": "#4094ff",
|
||||
// "backgroundColor": "#ffffff",
|
||||
// "borderStyle": "white",
|
||||
// "list": [
|
||||
// {
|
||||
// "pagePath": "pages/sys/msg/index",
|
||||
// "iconPath": "static/aidex/tabbar/msg_1.png",
|
||||
// "selectedIconPath": "static/aidex/tabbar/msg_2.png",
|
||||
// "text": "消息"
|
||||
// },
|
||||
// // {
|
||||
// // "pagePath": "pages/sys/home/index",
|
||||
// // "iconPath": "static/aidex/tabbar/home_1.png",
|
||||
// // "selectedIconPath": "static/aidex/tabbar/home_2.png",
|
||||
// // "text": "首页"
|
||||
// // },
|
||||
// {
|
||||
// "pagePath": "pages/sys/workbench/index",
|
||||
// "iconPath": "static/aidex/tabbar/apply_1.png",
|
||||
// "selectedIconPath": "static/aidex/tabbar/apply_2.png",
|
||||
// "text": "工作台"
|
||||
// },
|
||||
// {
|
||||
// "pagePath": "pages/sys/book/index",
|
||||
// "iconPath": "static/aidex/tabbar/book_1.png",
|
||||
// "selectedIconPath": "static/aidex/tabbar/book_2.png",
|
||||
// "text": "通讯录"
|
||||
// },
|
||||
// {
|
||||
// "pagePath": "pages/sys/user/index",
|
||||
// "iconPath": "static/aidex/tabbar/my_1.png",
|
||||
// "selectedIconPath": "static/aidex/tabbar/my_2.png",
|
||||
// "text": "我的"
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
"pages": [{
|
||||
"path": "pages/sys/login/login",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登录",
|
||||
"navigationStyle": "custom" // 隐藏系统导航栏
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/sys/home/home",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/workbench",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/mine",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/changeInfo/changeInfo",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/message/message",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/serviceCenter/serviceCenter",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务中心"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/serviceCenter/questionDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务中心"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/myVisitor",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的访客"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/creatVisitor",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发起邀约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/creatVisitor2",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发起邀约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/selectRoom",
|
||||
"style": {
|
||||
"navigationBarTitleText": "选择服务地址"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/visitorInfo",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/myPayment",
|
||||
"style": {
|
||||
"navigationBarTitleText": "停车缴费"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/paymentRecords",
|
||||
"style": {
|
||||
"navigationBarTitleText": "缴费记录"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/myCarCode",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的车牌"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/myRepair",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报事报修"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/addRepair",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增报事报修"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/selectLocation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "选择服务地址"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/repaired",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/repairEvaluate",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务评价"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRecord/myRecord",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/oa/oa",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审批中心"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/sys/workbench/oa/oaDetail",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/order/order",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText": "工单管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/order/createOrder",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText": "创建工单"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/order/orderDetail",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText": "工单详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/meet/meet",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "会议预约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/meet/createMeet",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "会议室预约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/camera",
|
||||
"style" :
|
||||
{
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/monitor/monitors",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "监控室"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/monitor/monitorplay",
|
||||
"style" :
|
||||
{
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/earlyWarning/earlyWarning",
|
||||
"style" :
|
||||
{
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/earlyWarning/warnDetail",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "预警详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/earlyWarning/warnStatistics",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "预警统计"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/inspection/inspection",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "工作巡检"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/sys/workbench/inspection/inspectionProcess",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "巡检任务"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tabBar": {
|
||||
"color": "#232323",
|
||||
"selectedColor": "#0652FF",
|
||||
"backgroundColor": "#fff",
|
||||
"borderStyle": "black",
|
||||
"list": [{
|
||||
"pagePath": "pages/sys/home/home",
|
||||
"iconPath": "static/ic_main_home.png",
|
||||
"selectedIconPath": "static/ic_main_home_selected.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/sys/workbench/workbench",
|
||||
"iconPath": "static/ic_main_work.png",
|
||||
"selectedIconPath": "static/ic_main_work_selected.png",
|
||||
"text": "工作台"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/sys/user/mine",
|
||||
"iconPath": "static/ic_main_mine.png",
|
||||
"selectedIconPath": "/static/ic_main_mine_selected.png",
|
||||
"text": "我的"
|
||||
}
|
||||
]
|
||||
},
|
||||
"subPackages": [
|
||||
|
||||
],
|
||||
"preloadRule": {
|
||||
|
||||
},
|
||||
"globalStyle": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "Aidex",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
},
|
||||
"easycom": {
|
||||
"autoscan": true,
|
||||
"custom": {
|
||||
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
"easycom": {
|
||||
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
|
||||
},
|
||||
"pages": [
|
||||
{
|
||||
"path": "pages/sys/login/login",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登录",
|
||||
"navigationStyle": "custom"
|
||||
// 隐藏系统导航栏
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/home/home",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/workbench",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/mine",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/changeInfo/changeInfo",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/message/message",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/serviceCenter/serviceCenter",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务中心"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/serviceCenter/questionDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务中心"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/myVisitor",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的访客"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/creatVisitor",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发起邀约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/creatVisitor2",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发起邀约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/selectRoom",
|
||||
"style": {
|
||||
"navigationBarTitleText": "选择服务地址"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myVisitor/visitorInfo",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/myPayment",
|
||||
"style": {
|
||||
"navigationBarTitleText": "停车缴费"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/paymentRecords",
|
||||
"style": {
|
||||
"navigationBarTitleText": "缴费记录"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myPayment/myCarCode",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的车牌"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/myRepair",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报事报修"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/addRepair",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增报事报修"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/selectLocation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "选择服务地址"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/repaired",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRepair/repairEvaluate",
|
||||
"style": {
|
||||
"navigationBarTitleText": "服务评价"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/user/myRecord/myRecord",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/oa/oa",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审批中心"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/oa/oaDetail",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/order/order",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/order/createOrder",
|
||||
"style": {
|
||||
"navigationBarTitleText": "创建工单"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/order/orderDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/meet/meet",
|
||||
"style": {
|
||||
"navigationBarTitleText": "会议预约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/meet/createMeet",
|
||||
"style": {
|
||||
"navigationBarTitleText": "会议室预约"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/camera",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/monitor/monitors",
|
||||
"style": {
|
||||
"navigationBarTitleText": "监控室"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/monitor/monitorplay",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/earlyWarning/earlyWarning",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/earlyWarning/warnDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "预警详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/earlyWarning/warnStatistics",
|
||||
"style": {
|
||||
"navigationBarTitleText": "预警统计"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/inspection/inspection",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工作巡检"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/inspection/inspectionProcess",
|
||||
"style": {
|
||||
"navigationBarTitleText": "巡检任务"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/unitManagement",
|
||||
"style": {
|
||||
"navigationBarTitleText": "单位管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/employeeAudits",
|
||||
"style": {
|
||||
"navigationBarTitleText": "员工审核"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/auditsDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审核详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/employeeManagement",
|
||||
"style": {
|
||||
"navigationBarTitleText": "员工管理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/employeeEdit",
|
||||
"style": {
|
||||
"navigationBarTitleText": "员工审核"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/sys/workbench/unitManagement/employeeAdd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "员工注册"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tabBar": {
|
||||
"color": "#232323",
|
||||
"selectedColor": "#0652FF",
|
||||
"backgroundColor": "#fff",
|
||||
"borderStyle": "black",
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/sys/home/home",
|
||||
"iconPath": "static/ic_main_home.png",
|
||||
"selectedIconPath": "static/ic_main_home_selected.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/sys/workbench/workbench",
|
||||
"iconPath": "static/ic_main_work.png",
|
||||
"selectedIconPath": "static/ic_main_work_selected.png",
|
||||
"text": "工作台"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/sys/user/mine",
|
||||
"iconPath": "static/ic_main_mine.png",
|
||||
"selectedIconPath": "/static/ic_main_mine_selected.png",
|
||||
"text": "我的"
|
||||
}
|
||||
]
|
||||
},
|
||||
"subPackages": [
|
||||
],
|
||||
"preloadRule": {
|
||||
},
|
||||
"globalStyle": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "Aidex",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
},
|
||||
"easycom": {
|
||||
"autoscan": true,
|
||||
"custom": {
|
||||
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
|
||||
}
|
||||
}
|
||||
}
|
@@ -134,10 +134,9 @@
|
||||
async realSubmit() {
|
||||
let res = await this.$u.api.addOrder2(this.repairInfo);
|
||||
if (res.code == '200') {
|
||||
// 关闭页面前发送事件通知前页面刷新
|
||||
uni.$emit('refreshData', '');
|
||||
// 返回上一页
|
||||
uni.navigateBack();
|
||||
uni.navigateTo({
|
||||
url: '/pages/sys/user/myRepair/repaired'
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
@@ -245,34 +245,27 @@
|
||||
position: relative;
|
||||
}
|
||||
.repair-empty-img-box {
|
||||
border: 2rpx dashed #BDBDBD;
|
||||
border-radius: 8rpx;
|
||||
background: #fafbfc;
|
||||
width: 100%;
|
||||
min-height: 220rpx;
|
||||
height: 500rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.repair-empty-img {
|
||||
width: 90%;
|
||||
max-width: 400rpx;
|
||||
height: 180rpx;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: contain;
|
||||
margin: 24rpx auto;
|
||||
}
|
||||
.repair-add-btn-box {
|
||||
position: absolute;
|
||||
right: 24rpx;
|
||||
top: 500rpx;
|
||||
right: -20rpx;
|
||||
bottom: -40rpx;
|
||||
}
|
||||
.repair-add-btn {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border: 2rpx dashed #BDBDBD;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
background: #fff;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
.repair-list-box {
|
||||
margin: 32rpx 0 0 0;
|
||||
@@ -341,12 +334,13 @@
|
||||
}
|
||||
.repair-add-btn-fixed {
|
||||
position: fixed;
|
||||
right: 40rpx;
|
||||
right: 5rpx;
|
||||
bottom: 80rpx;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
z-index: 100;
|
||||
transition: transform 0.3s ease;
|
||||
top: 50%;
|
||||
transform: translateX(0);
|
||||
}
|
||||
.repair-add-btn-fixed.hide { transform: translateX(200%); }
|
||||
|
@@ -44,16 +44,16 @@
|
||||
detailItem: null // 接收传递的详情项
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
// 接收传递的detailItem参数
|
||||
if (options.detailItem) {
|
||||
try {
|
||||
this.detailItem = JSON.parse(decodeURIComponent(options.detailItem));
|
||||
} catch (e) {
|
||||
console.error('解析detailItem参数失败', e);
|
||||
}
|
||||
}
|
||||
},
|
||||
// onLoad(options) {
|
||||
// // 接收传递的detailItem参数
|
||||
// if (options.detailItem) {
|
||||
// try {
|
||||
// this.detailItem = JSON.parse(decodeURIComponent(options.detailItem));
|
||||
// } catch (e) {
|
||||
// console.error('解析detailItem参数失败', e);
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
methods: {
|
||||
// 删除图片
|
||||
deletePic(event) {
|
||||
|
@@ -3,7 +3,6 @@
|
||||
<!-- 顶部栏 -->
|
||||
<view class="repaired-navbar">
|
||||
<image src="/static/ic_back.png" class="repaired-back" @click="goBack" />
|
||||
<text class="repaired-progress" @click="goProgress">查看进度</text>
|
||||
</view>
|
||||
<!-- 成功图标 -->
|
||||
<view class="repaired-icon-box">
|
||||
@@ -13,7 +12,7 @@
|
||||
<view class="repaired-title">提交成功</view>
|
||||
<view class="repaired-desc">提交成功后我们将及时为您服务</view>
|
||||
<!-- 返回首页按钮 -->
|
||||
<button class="repaired-btn" @click="goHome">返回首页</button>
|
||||
<button class="repaired-btn" @click="goMyREpair">返回报事报修管理</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -23,12 +22,10 @@ export default {
|
||||
goBack() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
goProgress() {
|
||||
// 跳转到进度页面
|
||||
uni.showToast({ title: '查看进度', icon: 'none' });
|
||||
},
|
||||
goHome() {
|
||||
uni.switchTab({ url: '/pages/home/home' });
|
||||
goMyREpair() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/sys/user/myRepair/myRepair'
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -10,23 +10,21 @@
|
||||
</view>
|
||||
<!-- 列表区 -->
|
||||
<view class="ins-list">
|
||||
<view v-for="(item, idx) in list" :key="idx" class="ins-card" @click="goProcess(item)">
|
||||
<view class="ins-row">
|
||||
<view class="ins-no">保洁部日常巡检 {{ item.createTime.substring(0,11) }}</view>
|
||||
<view class="ins-status" :class="getStatusColor(item.status)">
|
||||
{{ getStatusLabel(item.status) }}
|
||||
</view>
|
||||
</view>
|
||||
<image class="ins-line-image" src="/static/ic_my_repair_03.png" />
|
||||
<view class="ins-info">巡检人:{{ item.createTime }}</view>
|
||||
<view class="ins-info">计划完成时间:{{ item.typeName }}</view>
|
||||
<view class="ins-info">实际完成时间:{{ item.location }}</view>
|
||||
<view class="ins-info">巡检进度:{{ item.location }}</view>
|
||||
</view>
|
||||
<view v-for="(item, idx) in list" :key="idx" class="ins-card" @click="goProcess(item)">
|
||||
<view class="ins-row">
|
||||
<view class="ins-no">保洁部日常巡检 {{ item.createTime.substring(0,11) }}</view>
|
||||
<view class="ins-status" :class="getStatusColor(item.status)">
|
||||
{{ getStatusLabel(item.status) }}
|
||||
</view>
|
||||
</view>
|
||||
<image class="ins-line-image" src="/static/ic_my_repair_03.png" />
|
||||
<view class="ins-info">巡检人:{{ item.createTime }}</view>
|
||||
<view class="ins-info">计划完成时间:{{ item.typeName }}</view>
|
||||
<view class="ins-info">实际完成时间:{{ item.location }}</view>
|
||||
<view class="ins-info">巡检进度:{{ item.location }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -79,10 +77,10 @@
|
||||
this.$set(this.tabLoaded, idx, true);
|
||||
this.loading = false;
|
||||
},
|
||||
goProcess(item) {
|
||||
goProcess(item) {
|
||||
const detailItemStr = encodeURIComponent(JSON.stringify(item));
|
||||
uni.navigateTo({
|
||||
url: `/pages/sys/workbench/inspection/inspectionProcess?detailItem=${item}`
|
||||
uni.navigateTo({
|
||||
url: `/pages/sys/workbench/inspection/inspectionProcess?detailItem=${item}`
|
||||
});
|
||||
},
|
||||
|
||||
@@ -180,43 +178,43 @@
|
||||
margin-top: 25rpx;
|
||||
margin-left: 19rpx;
|
||||
margin-right: 50rpx;
|
||||
}
|
||||
|
||||
.ins-no {
|
||||
font-size: 24rpx;
|
||||
color: #0B0B0B;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.ins-status {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.ins-line-image {
|
||||
margin: left 29rpx;
|
||||
margin-right: 39rpx;
|
||||
height: 2rpx;
|
||||
margin-bottom: 29rpx;
|
||||
}
|
||||
|
||||
.ins-status.orange {
|
||||
color: #F3AB44;
|
||||
}
|
||||
|
||||
.ins-status.doing {
|
||||
color: #00C9AA;
|
||||
}
|
||||
|
||||
.ins-status.done {
|
||||
color: #8A8A8A;
|
||||
}
|
||||
|
||||
.ins-info {
|
||||
font-size: 24rpx;
|
||||
color: #888;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 47rpx;
|
||||
}
|
||||
|
||||
.ins-no {
|
||||
font-size: 24rpx;
|
||||
color: #0B0B0B;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.ins-status {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.ins-line-image {
|
||||
margin: left 29rpx;
|
||||
margin-right: 39rpx;
|
||||
height: 2rpx;
|
||||
margin-bottom: 29rpx;
|
||||
}
|
||||
|
||||
.ins-status.orange {
|
||||
color: #F3AB44;
|
||||
}
|
||||
|
||||
.ins-status.doing {
|
||||
color: #00C9AA;
|
||||
}
|
||||
|
||||
.ins-status.done {
|
||||
color: #8A8A8A;
|
||||
}
|
||||
|
||||
.ins-info {
|
||||
font-size: 24rpx;
|
||||
color: #888;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 47rpx;
|
||||
}
|
||||
|
||||
</style>
|
@@ -57,15 +57,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 底部操作按钮 -->
|
||||
<view
|
||||
v-if="((!isManager && detailStep != 0) || (isManager && detailStep == 0)) && detailStep != 3&&!isNaomalUser"
|
||||
class="btn-group">
|
||||
<button class="btn ghost"
|
||||
@click="transfer(1)">{{ isManager ? '指派' : (detailStep == 2 ? '完成' : '开始') }}</button>
|
||||
<button v-if="detailStep == 1" class="btn primary" @click="transfer(2)">转派</button>
|
||||
</view>
|
||||
<view class="kg">
|
||||
<view class="kg">
|
||||
</view>
|
||||
<SelectUser :visible.sync="showSelect" :list="users" :multiple="false" @confirm="onConfirm" />
|
||||
</view>
|
||||
|
205
pages/sys/workbench/unitManagement/auditsDetail.vue
Normal file
@@ -0,0 +1,205 @@
|
||||
<template>
|
||||
<view class="page-container">
|
||||
<!-- 渐变蓝色背景 -->
|
||||
<view class="gradient-bg"></view>
|
||||
|
||||
<!-- 用户信息卡片 -->
|
||||
<view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="info-row">
|
||||
<text class="label">用户姓名:</text>
|
||||
<text class="value">余永乐</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">性别:</text>
|
||||
<text class="value">男</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">证件号:</text>
|
||||
<text class="value">5001255658789955</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">联系电话:</text>
|
||||
<text class="value">17898987887</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">所属单位:</text>
|
||||
<text class="value">x x x x x</text>
|
||||
</view>
|
||||
|
||||
<!-- 人脸图片区域 -->
|
||||
<view class="face-image-section">
|
||||
<text class="label">人脸图片:</text>
|
||||
<image
|
||||
class="face-image"
|
||||
:src="auditsDetail.avatar || '/static/ic_avg.png'"
|
||||
mode="aspectFill"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="info-row">
|
||||
<text class="label">邮箱:</text>
|
||||
<text class="value">-</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">车牌号:</text>
|
||||
<text class="value">-</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 底部按钮 -->
|
||||
<view v-if="pageType === 'handle'" class="action-buttons">
|
||||
<button class="approve-btn" @click="handleApprove">通过</button>
|
||||
<button class="reject-btn" @click="handleReject">拒绝</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pageType: 'handle', // 'handle' 或 'detail'
|
||||
auditsDetail: {},
|
||||
handleDesc: '',
|
||||
selectedImages: [],
|
||||
realImages: [],
|
||||
infoImages: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 原有方法保持不变...
|
||||
handleApprove() {
|
||||
console.log('approve');
|
||||
},
|
||||
handleReject() {
|
||||
console.log('reject');
|
||||
},
|
||||
async submit(action) {
|
||||
// 提交逻辑...
|
||||
},
|
||||
// 其他原有方法...
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 渐变蓝色背景 */
|
||||
.gradient-bg {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 500rpx;
|
||||
background: linear-gradient(to bottom, #0A60ED, #FFFFFF);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.page-container {
|
||||
padding: 48rpx 30rpx;
|
||||
background-color: transparent;
|
||||
min-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 用户信息卡片样式 */
|
||||
.user-card {
|
||||
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.user-info {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.info-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.info-row .label {
|
||||
color: #000;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.info-row .value {
|
||||
color: #7F7F7F;
|
||||
}
|
||||
|
||||
/* 人脸图片区域 */
|
||||
.face-image-section {
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.face-image-section .label {
|
||||
display: block;
|
||||
margin-bottom: 20rpx;
|
||||
color: #000;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.face-image {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
border-radius: 8rpx;
|
||||
border: 1rpx solid #eee;
|
||||
}
|
||||
|
||||
/* 底部按钮样式 */
|
||||
.action-buttons {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 40rpx;
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.action-buttons button {
|
||||
flex: 1;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 44rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.reject-btn {
|
||||
background-color: transparent;
|
||||
color: #0190FF;
|
||||
border: 2rpx solid #0190FF;
|
||||
margin-left: 20rpx;
|
||||
transition: all 0.15s ease; /* 添加过渡效果 */
|
||||
}
|
||||
|
||||
.reject-btn:active {
|
||||
color: #FFFFFF; /* 文字改为白色 */
|
||||
background-color: #0170CC; /* 背景改为深蓝色 */
|
||||
border-color: #0170CC;
|
||||
box-shadow: 0 4rpx 12rpx rgba(1, 112, 204, 0.4); /* 阴影加深 */
|
||||
transform: translateY(2rpx); /* 轻微下压效果 */
|
||||
}
|
||||
|
||||
.approve-btn {
|
||||
background-color: #0190FF;
|
||||
color: #fff;
|
||||
border: none;
|
||||
transition: all 0.15s ease; /* 添加过渡效果 */
|
||||
}
|
||||
|
||||
.approve-btn:active {
|
||||
background-color: #0150A0; /* 更深的蓝色 */
|
||||
box-shadow: 0 4rpx 12rpx rgba(1, 80, 160, 0.4); /* 阴影加深 */
|
||||
transform: translateY(2rpx); /* 轻微下压效果 */
|
||||
}
|
||||
|
||||
</style>
|
348
pages/sys/workbench/unitManagement/employeeAdd.vue
Normal file
@@ -0,0 +1,348 @@
|
||||
<template>
|
||||
<view class="register-container">
|
||||
<!-- 表单内容 -->
|
||||
<view class="form-content">
|
||||
<!-- 所属单位 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label">所属单位</text>
|
||||
<input class="item-input" type="text" placeholder="区农委办" disabled/>
|
||||
</view>
|
||||
|
||||
<!-- 用户姓名 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">用户姓名</text>
|
||||
<input class="item-input" type="text" placeholder="请输入"/>
|
||||
</view>
|
||||
|
||||
<!-- 性别 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">性别</text>
|
||||
<picker class="item-input" @change="bindPickerChange" :value="index" :range="array">
|
||||
<view class="picker-content">{{array[index]}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<!-- 证件号 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">证件号</text>
|
||||
<input class="item-input" type="text" placeholder="请输入"/>
|
||||
</view>
|
||||
|
||||
<!-- 联系电话 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">联系电话</text>
|
||||
<input class="item-input" type="number" placeholder="请输入"/>
|
||||
</view>
|
||||
|
||||
<!-- 验证码 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">验证码</text>
|
||||
<view class="code-input-wrapper">
|
||||
<input class="item-input code-input" type="number" placeholder="请输入"/>
|
||||
<button class="get-code-btn">获取验证码</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 登录密码 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">登录密码</text>
|
||||
<input class="item-input" type="password" placeholder="请输入"/>
|
||||
</view>
|
||||
|
||||
<!-- 确认密码 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label required">确认密码</text>
|
||||
<input class="item-input" type="password" placeholder="请输入"/>
|
||||
</view>
|
||||
|
||||
<!-- 密码提示 -->
|
||||
<view class="form-tip password-tip">
|
||||
密码至少包含8~20位大写字母、小写字母、数字和特殊字符 (!@$%^&*$%&+&*=\[]?)其中的任意一种
|
||||
</view>
|
||||
|
||||
<!-- 人脸照片 - 独立表单项 -->
|
||||
|
||||
<view class="form-item face-upload-item">
|
||||
<text class="item-label">人脸照片</text>
|
||||
<view class="face-upload-container">
|
||||
<view class="upload-wrapper">
|
||||
<button class="upload-btn" @click="chooseImage">+</button>
|
||||
<view class="image-preview" v-if="imageUrl">
|
||||
<image :src="imageUrl" mode="aspectFill" class="preview-image"></image>
|
||||
<view class="delete-btn" @click="deleteImage">×</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-tip upload-tip">
|
||||
请上传正脸并不超过5MB的jpg,jpeg,png,gif,webp格式文件
|
||||
</view>
|
||||
|
||||
<!-- 邮箱和车牌号码 -->
|
||||
<view class="form-item">
|
||||
<text class="item-label">邮箱</text>
|
||||
<input class="item-input" type="text" placeholder="请输入"/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="item-label">车牌号码</text>
|
||||
<input class="item-input" type="text" placeholder="请输入"/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 提交按钮 -->
|
||||
<button class="submit-btn">提交</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
imageUrl: '', // 存储上传的图片URL
|
||||
array: ['男', '女'],
|
||||
index: 0,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
bindPickerChange: function(e) {
|
||||
console.log('picker发送选择改变,携带值为', e.detail.value)
|
||||
this.index = e.detail.value
|
||||
},
|
||||
// 选择图片
|
||||
chooseImage() {
|
||||
uni.chooseImage({
|
||||
count: 1,
|
||||
sizeType: ['compressed'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success: (res) => {
|
||||
const tempFilePaths = res.tempFilePaths;
|
||||
this.imageUrl = tempFilePaths[0];
|
||||
// 这里可以添加图片上传到服务器的逻辑
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除图片
|
||||
deleteImage() {
|
||||
this.imageUrl = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.register-container {
|
||||
padding: 20px 15px;
|
||||
background-color: #f7f7f7;
|
||||
min-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 表单内容 */
|
||||
.form-content {
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
padding: 0;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* 表单项 - 只有上下边框 */
|
||||
.form-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-top: 1px solid #dcdfe6;
|
||||
border-bottom: 1px solid #dcdfe6;
|
||||
padding: 10px 15px;
|
||||
margin: 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* 提示信息样式 - 独占一行灰色背景 */
|
||||
.form-tip {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
background-color: #f5f5f5;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.upload-tip {
|
||||
margin-top: -1px; /* 消除与上方边框的重叠 */
|
||||
}
|
||||
|
||||
/* 表单项标签 */
|
||||
.item-label {
|
||||
width: 80px;
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
margin-right: 15px;
|
||||
flex-shrink: 0;
|
||||
text-align: left; /* 确保标签左对齐 */
|
||||
}
|
||||
|
||||
/* 必填项标记 */
|
||||
.item-label.required::before {
|
||||
content: "*";
|
||||
color: #f56c6c;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
/* 输入框样式 */
|
||||
.item-input {
|
||||
flex: 1;
|
||||
height: 40px;
|
||||
border: none;
|
||||
padding: 0 10px;
|
||||
font-size: 14px;
|
||||
box-sizing: border-box;
|
||||
background: transparent;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* 性别选择器 */
|
||||
.picker-content {
|
||||
text-align: right;
|
||||
color: #333; /* 修改为与输入框一致的颜色 */
|
||||
line-height: 40px; /* 与输入框高度匹配 */
|
||||
}
|
||||
|
||||
/* 验证码输入区域 */
|
||||
.code-input-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.code-input {
|
||||
flex: 1;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.get-code-btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
font-size: 12px;
|
||||
color: #409eff;
|
||||
background-color: #ecf5ff;
|
||||
border: 1px solid #b3d8ff;
|
||||
border-radius: 4px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* 上传区域 */
|
||||
.upload-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.upload-btn {
|
||||
width: 80px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
font-size: 14px;
|
||||
color: #409eff;
|
||||
background-color: #ecf5ff;
|
||||
border: 1px solid #b3d8ff;
|
||||
border-radius: 4px;
|
||||
margin-right: 10px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* 提交按钮 */
|
||||
.submit-btn {
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
background-color: #409eff;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.upload-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start; /* 左对齐 */
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.upload-btn {
|
||||
width: 60px; /* 正方形 */
|
||||
height: 60px; /* 正方形 */
|
||||
line-height: 40px;
|
||||
font-size: 40px; /* 加大+号 */
|
||||
color: #409eff;
|
||||
background-color: #ecf5ff;
|
||||
border: 1px solid #b3d8ff;
|
||||
border-radius: 4px;
|
||||
margin-right: 10px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
.face-upload-item {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.face-upload-container {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.upload-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.upload-btn {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
font-size: 30px;
|
||||
color: #409eff;
|
||||
background-color: #ecf5ff;
|
||||
border: 1px dashed #b3d8ff;
|
||||
border-radius: 4px;
|
||||
margin-right: 10px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 图片预览样式 */
|
||||
.image-preview {
|
||||
position: relative;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.preview-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.delete-btn {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
}
|
||||
</style>
|
238
pages/sys/workbench/unitManagement/employeeAudits.vue
Normal file
@@ -0,0 +1,238 @@
|
||||
<template>
|
||||
<view class="audits-container">
|
||||
<!-- 员工审核列表 -->
|
||||
<scroll-view
|
||||
class="list-container"
|
||||
scroll-y
|
||||
:refresher-enabled="true"
|
||||
refresher-background="#f7f7f7"
|
||||
:refresher-triggered="refresherTriggered"
|
||||
@refresherrefresh="onRefresh"
|
||||
@scrolltolower="loadMore"
|
||||
:lower-threshold="50"
|
||||
scroll-with-animation>
|
||||
|
||||
<!-- 员工审核卡片 -->
|
||||
<view v-for="(item, index) in list" :key="index" class="employee-card" @click="handleCardClick(item)">
|
||||
<!-- 左侧头像 -->
|
||||
<image class="avatar" :src="item.avatar || '/static/ic_avg.png'"/>
|
||||
|
||||
<!-- 右侧信息 -->
|
||||
<view class="info-container">
|
||||
<view class="name-row">
|
||||
<text class="name">{{ item.name }}</text>
|
||||
<image
|
||||
class="gender-icon"
|
||||
:src="item.gender === '1' ? '/static/ic_man.png' : '/static/ic_women.png'"
|
||||
/>
|
||||
<text class="phone">{{ item.phone }}</text>
|
||||
</view>
|
||||
|
||||
<text class="time">{{ item.applyTime }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 审核状态 - 精确贴合右上角 -->
|
||||
<view class="status-badge"
|
||||
:class="{
|
||||
'status-pending': item.status === '1',
|
||||
'status-processed': item.status === '2'
|
||||
}">
|
||||
{{ item.status === '1' ? "待处理" : "已处理" }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 底部加载提示 -->
|
||||
<view v-if="loading" class="loading-text">加载中...</view>
|
||||
<view v-if="noMore" class="loading-text">没有更多数据了</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [
|
||||
{name: "于永乐", gender: "1", phone: "12448155", applyTime: "2025-09-01 10:51:32", status: "1"}
|
||||
], // 员工列表数据
|
||||
pageNum: 1, // 当前页码
|
||||
pageSize: 10, // 每页数量
|
||||
noMore: false, // 是否没有更多数据
|
||||
loading: false, // 加载状态
|
||||
refresherTriggered: false // 下拉刷新状态
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadData();
|
||||
},
|
||||
methods: {
|
||||
// 下拉刷新
|
||||
async onRefresh() {
|
||||
this.refresherTriggered = true;
|
||||
this.pageNum = 1;
|
||||
this.noMore = false;
|
||||
await this.loadData();
|
||||
this.refresherTriggered = false;
|
||||
},
|
||||
// 滚动加载更多
|
||||
async loadMore() {
|
||||
if (this.loading || this.noMore) return;
|
||||
this.pageNum++;
|
||||
await this.loadData();
|
||||
},
|
||||
// 请求数据
|
||||
async loadData() {
|
||||
this.loading = true;
|
||||
try {
|
||||
let res = await this.$u.api.getEmployeeAuditList({
|
||||
pageNum: this.pageNum,
|
||||
pageSize: this.pageSize
|
||||
});
|
||||
|
||||
if (res.code == "200") {
|
||||
let rows = res.rows || [];
|
||||
if (rows.length < this.pageSize) {
|
||||
this.noMore = true;
|
||||
}
|
||||
|
||||
if (this.pageNum === 1) {
|
||||
this.list = rows;
|
||||
} else {
|
||||
this.list = [...this.list, ...rows];
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
// 点击卡片事件
|
||||
handleCardClick(item) {
|
||||
if (item.status === '1') {
|
||||
uni.navigateTo({
|
||||
url: `/pages/sys/workbench/unitManagement/auditsDetail`
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.audits-container {
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.list-container {
|
||||
flex: 1;
|
||||
padding: 28rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 24rpx;
|
||||
}
|
||||
|
||||
.info-container {
|
||||
flex: 1;
|
||||
padding-right: 120rpx; /* 为状态标签留出空间 */
|
||||
}
|
||||
|
||||
.name-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 36rpx;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.gender-icon {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.phone {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
|
||||
.employee-card {
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
|
||||
overflow: hidden; /* 新增:确保状态标签圆角贴合 */
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 28rpx;
|
||||
padding: 6rpx 20rpx;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
width: 26%;
|
||||
text-align:left;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background: linear-gradient(to right, #007CFF, #FFFFFF); /* 蓝色渐变 */
|
||||
}
|
||||
|
||||
.status-processed {
|
||||
background: linear-gradient(to right, #A5A5A5, #FFFFFF); /* 灰色渐变 */
|
||||
color: #FBFDFF;
|
||||
}
|
||||
|
||||
.loading-text {
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 26rpx;
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
/* 隐藏滚动条 */
|
||||
.list-container {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none;
|
||||
}
|
||||
|
||||
.list-container::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep .list-container ::-webkit-scrollbar {
|
||||
display: none !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
</style>
|
255
pages/sys/workbench/unitManagement/employeeEdit.vue
Normal file
@@ -0,0 +1,255 @@
|
||||
<template>
|
||||
<view class="page-container">
|
||||
|
||||
<!-- 用户信息卡片 -->
|
||||
<view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="info-row">
|
||||
<text class="label">用户姓名:</text>
|
||||
<text class="value">余永乐</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">性别:</text>
|
||||
<text class="value">男</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">证件号:</text>
|
||||
<text class="value">5001255658789955</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">联系电话:</text>
|
||||
<text class="value">17898987887</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">所属单位:</text>
|
||||
<text class="value">x x x x x</text>
|
||||
</view>
|
||||
|
||||
<!-- 人脸图片区域 -->
|
||||
<view class="face-image-section">
|
||||
<text class="label">人脸图片:</text>
|
||||
<image
|
||||
class="face-image"
|
||||
:src="auditsDetail.avatar || '/static/ic_avg.png'"
|
||||
mode="aspectFill"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="info-row">
|
||||
<text class="label">邮箱:</text>
|
||||
<text class="value">-</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">车牌号:</text>
|
||||
<text class="value">-</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="user-card">
|
||||
<view class="user-info">
|
||||
<view class="info-row">
|
||||
<text class="label">入驻时间:</text>
|
||||
<text class="value">-</text>
|
||||
</view>
|
||||
<view class="info-row">
|
||||
<text class="label">在职状态:</text>
|
||||
<view class="status-options">
|
||||
<!-- 启用选项 -->
|
||||
<view class="radio-option" @click="changeStatus(auditsDetail, '1')">
|
||||
<view class="radio-circle" :class="{ 'active': auditsDetail.status === '1' }"></view>
|
||||
<text class="radio-label">启用</text>
|
||||
</view>
|
||||
|
||||
<!-- 禁用选项 -->
|
||||
<view class="radio-option" @click="changeStatus(auditsDetail, '0')">
|
||||
<view class="radio-circle" :class="{ 'active': auditsDetail.status === '0' }"></view>
|
||||
<text class="radio-label">禁用</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pageType: 'handle', // 'handle' 或 'detail'
|
||||
auditsDetail: {status:'0'},
|
||||
handleDesc: '',
|
||||
selectedImages: [],
|
||||
realImages: [],
|
||||
infoImages: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 原有方法保持不变...
|
||||
handleApprove() {
|
||||
console.log('approve');
|
||||
},
|
||||
handleReject() {
|
||||
console.log('reject');
|
||||
},
|
||||
async submit(action) {
|
||||
// 提交逻辑...
|
||||
},
|
||||
// 新增状态变更方法
|
||||
changeStatus(item, newStatus) {
|
||||
item.status = newStatus;
|
||||
// 这里可以添加API调用更新状态
|
||||
this.$u.api.updateEmployeeStatus({
|
||||
id: item.id,
|
||||
status: newStatus
|
||||
}).then(res => {
|
||||
if (res.code === '200') {
|
||||
uni.showToast({
|
||||
title: '状态更新成功',
|
||||
icon: 'success'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.page-container {
|
||||
padding: 48rpx 30rpx;
|
||||
background-color: #f7f7f7;
|
||||
min-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 用户信息卡片样式 */
|
||||
.user-card {
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.user-info {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.info-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.info-row .label {
|
||||
color: #000;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.info-row .value {
|
||||
color: #7F7F7F;
|
||||
}
|
||||
|
||||
/* 人脸图片区域 */
|
||||
.face-image-section {
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.face-image-section .label {
|
||||
display: block;
|
||||
margin-bottom: 20rpx;
|
||||
color: #000;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.face-image {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
border-radius: 8rpx;
|
||||
border: 1rpx solid #eee;
|
||||
}
|
||||
|
||||
/* 底部按钮样式 */
|
||||
.action-buttons {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 40rpx;
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.action-buttons button {
|
||||
flex: 1;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 44rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
/* 状态选项容器 */
|
||||
.status-options {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
/* 单选选项容器 */
|
||||
.radio-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 40rpx;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* 圆形单选按钮 */
|
||||
.radio-circle {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
border-radius: 50%;
|
||||
border: 5rpx solid #ccc;
|
||||
margin-right: 10rpx;
|
||||
position: relative;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
/* 激活状态的圆形 */
|
||||
.radio-circle.active {
|
||||
border-color: #0090FF;
|
||||
}
|
||||
|
||||
/* 圆形中间的实心点 */
|
||||
.radio-circle.active::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
background-color: #0090FF;
|
||||
border-radius: 50%;
|
||||
border: 2rpx solid #ccc;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
/* 禁用状态的特殊样式 */
|
||||
.radio-option:last-child .radio-circle.active {
|
||||
border-color: #FF4D4F;
|
||||
}
|
||||
|
||||
.radio-option:last-child .radio-circle.active::after {
|
||||
background-color: #FF4D4F;
|
||||
}
|
||||
|
||||
/* 选项文字 */
|
||||
.radio-label {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
317
pages/sys/workbench/unitManagement/employeeManagement.vue
Normal file
@@ -0,0 +1,317 @@
|
||||
<template>
|
||||
<view class="audits-container">
|
||||
|
||||
<!-- 新增搜索栏 -->
|
||||
<view class="search-bar">
|
||||
<!-- 修改后的搜索栏 -->
|
||||
<view class="search-bar">
|
||||
<u-search
|
||||
placeholder="请输入姓名或手机号搜索"
|
||||
v-model="searchKeyword"
|
||||
@search="handleSearch"
|
||||
@clear="handleClearSearch"
|
||||
:show-action="false"
|
||||
bg-color="#FFFFFF"
|
||||
shape="round"
|
||||
:search-icon="'/static/ic_search_gray.png'"
|
||||
></u-search>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 员工审核列表 -->
|
||||
<scroll-view
|
||||
class="list-container"
|
||||
scroll-y
|
||||
:refresher-enabled="true"
|
||||
refresher-background="#f7f7f7"
|
||||
:refresher-triggered="refresherTriggered"
|
||||
@refresherrefresh="onRefresh"
|
||||
@scrolltolower="loadMore"
|
||||
:lower-threshold="50"
|
||||
scroll-with-animation>
|
||||
|
||||
<!-- 员工审核卡片 -->
|
||||
<view v-for="(item, index) in list" :key="index" class="employee-card">
|
||||
<!-- 左侧头像 -->
|
||||
<image class="avatar" :src="item.avatar || '/static/ic_avg.png'"/>
|
||||
|
||||
<!-- 右侧信息 -->
|
||||
<view class="info-container">
|
||||
<view class="name-row">
|
||||
<text class="name">{{ item.name }}</text>
|
||||
<image
|
||||
class="gender-icon"
|
||||
:src="item.gender === '1' ? '/static/ic_man.png' : '/static/ic_women.png'"
|
||||
/>
|
||||
</view>
|
||||
<text class="phone">{{ item.phone }}</text>
|
||||
</view>
|
||||
<!-- 编辑图标 -->
|
||||
<image
|
||||
class="edit-icon"
|
||||
src="/static/ic_edit.png"
|
||||
@click.stop="handleCardClick(item)"
|
||||
/>
|
||||
<!-- 审核状态 - 精确贴合右上角 -->
|
||||
<view class="date-badge">
|
||||
{{ formatDate(item.applyTime ) }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 底部加载提示 -->
|
||||
<view v-if="loading" class="loading-text">加载中...</view>
|
||||
<view v-if="noMore" class="loading-text">没有更多数据了</view>
|
||||
<view v-if="searchKeyword && filteredList.length === 0" class="loading-text">未找到匹配结果</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: [
|
||||
{name: "于永乐", gender: "1", phone: "12448155", applyTime: "2025-09-01 10:51:32", status: "1"}
|
||||
], // 员工列表数据
|
||||
pageNum: 1, // 当前页码
|
||||
pageSize: 10, // 每页数量
|
||||
noMore: false, // 是否没有更多数据
|
||||
loading: false, // 加载状态
|
||||
refresherTriggered: false, // 下拉刷新状态
|
||||
searchKeyword: '', // 搜索关键词
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadData();
|
||||
},
|
||||
computed: {
|
||||
// 添加过滤后的列表计算属性
|
||||
filteredList() {
|
||||
if (!this.searchKeyword) return this.list;
|
||||
const keyword = this.searchKeyword.toLowerCase();
|
||||
return this.list.filter(item =>
|
||||
item.name.toLowerCase().includes(keyword) ||
|
||||
(item.phone && item.phone.includes(keyword))
|
||||
);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 下拉刷新
|
||||
async onRefresh() {
|
||||
this.refresherTriggered = true;
|
||||
this.pageNum = 1;
|
||||
this.noMore = false;
|
||||
await this.loadData();
|
||||
this.refresherTriggered = false;
|
||||
},
|
||||
// 滚动加载更多
|
||||
async loadMore() {
|
||||
if (this.loading || this.noMore) return;
|
||||
this.pageNum++;
|
||||
await this.loadData();
|
||||
},
|
||||
// 请求数据
|
||||
async loadData() {
|
||||
this.loading = true;
|
||||
try {
|
||||
let res = await this.$u.api.getEmployeeAuditList({
|
||||
pageNum: this.pageNum,
|
||||
pageSize: this.pageSize
|
||||
});
|
||||
|
||||
if (res.code == "200") {
|
||||
let rows = res.rows || [];
|
||||
if (rows.length < this.pageSize) {
|
||||
this.noMore = true;
|
||||
}
|
||||
|
||||
if (this.pageNum === 1) {
|
||||
this.list = rows;
|
||||
} else {
|
||||
this.list = [...this.list, ...rows];
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
// 点击卡片事件
|
||||
handleCardClick(item) {
|
||||
if (item.status === '1') {
|
||||
uni.navigateTo({
|
||||
url: `/pages/sys/workbench/unitManagement/employeeEdit`
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 新增搜索方法
|
||||
handleSearch() {
|
||||
this.pageNum = 1;
|
||||
this.noMore = false;
|
||||
if (this.searchKeyword) {
|
||||
// 如果有搜索关键词,使用本地过滤
|
||||
this.refresherTriggered = true;
|
||||
setTimeout(() => {
|
||||
this.refresherTriggered = false;
|
||||
}, 500);
|
||||
} else {
|
||||
// 如果没有搜索关键词,重新加载数据
|
||||
this.onRefresh();
|
||||
}
|
||||
},
|
||||
// 新增清除搜索方法
|
||||
handleClearSearch() {
|
||||
this.searchKeyword = '';
|
||||
this.onRefresh();
|
||||
},
|
||||
// 格式化日期为YYYY-MM-DD
|
||||
formatDate(dateStr) {
|
||||
if (!dateStr) return '';
|
||||
const date = new Date(dateStr);
|
||||
|
||||
// 获取年月日
|
||||
const year = date.getFullYear();
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, '0'); // 补零
|
||||
const day = date.getDate().toString().padStart(2, '0'); // 补零
|
||||
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.audits-container {
|
||||
height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.list-container {
|
||||
flex: 1;
|
||||
padding: 28rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 24rpx;
|
||||
}
|
||||
|
||||
.info-container {
|
||||
flex: 1;
|
||||
padding-right: 100rpx; /* 为状态标签留出空间 */
|
||||
}
|
||||
|
||||
.name-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 36rpx;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.gender-icon {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.phone {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.employee-card {
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
padding: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
|
||||
overflow: hidden; /* 新增:确保状态标签圆角贴合 */
|
||||
}
|
||||
|
||||
.date-badge {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 28rpx;
|
||||
padding: 6rpx 12rpx;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
width: 28%;
|
||||
text-align: left;
|
||||
color: #ADADAD;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.loading-text {
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 26rpx;
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
/* 隐藏滚动条 */
|
||||
.list-container {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none;
|
||||
}
|
||||
|
||||
.list-container::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep .list-container ::-webkit-scrollbar {
|
||||
display: none !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* 新增搜索栏样式 */
|
||||
.search-bar {
|
||||
padding: 20rpx 17rpx;
|
||||
background-color: #f7f7f7;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
|
||||
/* 调整列表容器上边距 */
|
||||
.list-container {
|
||||
flex: 1;
|
||||
padding: 0 30rpx 28rpx 30rpx; /* 上边距改为0,因为搜索栏已经有padding */
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 新增编辑图标样式 */
|
||||
.edit-icon {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
position: absolute;
|
||||
right: 50rpx;
|
||||
top: 60%;
|
||||
transform: translateY(-50%);
|
||||
z-index: 2;
|
||||
bottom: 50rpx;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
370
pages/sys/workbench/unitManagement/unitManagement.vue
Normal file
@@ -0,0 +1,370 @@
|
||||
<template>
|
||||
<view class="unit-management">
|
||||
<!-- 顶部单位信息栏 -->
|
||||
<view class="unit-header-container">
|
||||
<view class="unit-header">
|
||||
<image class="header-icon" src="/static/ic_enterprise.png" mode="aspectFit"/>
|
||||
<view class="unit-title">南川区******单位(共189人)</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 功能模块卡片区 -->
|
||||
<view class="function-container">
|
||||
<!-- 左侧列(员工审核+员工管理) -->
|
||||
<view class="left-column">
|
||||
<!-- 员工审核卡片 -->
|
||||
<view class="function-card" @click="goToEmployeeReview">
|
||||
<view class="card-content">
|
||||
<view class="card-text">
|
||||
<view class="card-title">员工审核</view>
|
||||
<view class="card-subtitle">入职/审核</view>
|
||||
</view>
|
||||
<view class="card-icon">
|
||||
<image src="/static/ic_review.png" mode="aspectFit"/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 员工管理卡片 -->
|
||||
<view class="function-card" @click="goToEmployeeManagement">
|
||||
<view class="card-content">
|
||||
<view class="card-text">
|
||||
<view class="card-title">员工管理</view>
|
||||
<view class="card-subtitle">权限/离职</view>
|
||||
</view>
|
||||
<view class="card-icon">
|
||||
<image src="/static/ic_resign.png" mode="aspectFit"/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 右侧邀请新员工卡片 -->
|
||||
<view class="right-card" @click="showInviteDialog">
|
||||
<image class="card-bg" src="/static/ic_unitBg.png" mode="aspectFill"/>
|
||||
<view class="card-content">
|
||||
<view class="card-text">
|
||||
<view class="card-title">邀请新员工</view>
|
||||
<view class="card-subtitle">入职/邀请</view>
|
||||
</view>
|
||||
<view class="card-icon">
|
||||
<image src="/static/ic_Invite_employees.png" mode="aspectFit"/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 邀请新员工弹窗 -->
|
||||
<view class="invite-dialog" v-if="showDialog">
|
||||
<view class="dialog-content">
|
||||
<!-- 盾牌背景图 -->
|
||||
<image class="shield-bg" src="/static/ic_shield.png" mode="aspectFit"/>
|
||||
|
||||
<!-- 手机插画部分 -->
|
||||
<view class="phone-illustration">
|
||||
<image class="phone-image" src="/static/121221.png" mode="aspectFit"/>
|
||||
</view>
|
||||
|
||||
<!-- 二维码部分修改为动态生成 -->
|
||||
<view class="qr-code-container" :style="{'--qr-size': qrSize + 'rpx'}">
|
||||
<canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px;"></canvas>
|
||||
</view>
|
||||
<!-- 关闭按钮 -->
|
||||
<view class="close-circle-btn" @click.stop="hideInviteDialog">
|
||||
<view class="close-x"></view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 引入二维码生成库
|
||||
import uQRCode from 'uqrcodejs';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showDialog: false,
|
||||
qrSize: 400, // 与CSS中保持一致
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goToEmployeeReview() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/sys/workbench/unitManagement/employeeAudits'
|
||||
});
|
||||
},
|
||||
goToEmployeeManagement() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/sys/workbench/unitManagement/employeeManagement'
|
||||
});
|
||||
},
|
||||
showInviteDialog() {
|
||||
this.showDialog = true;
|
||||
this.$nextTick( () => {
|
||||
this.makeQRCode();
|
||||
});
|
||||
},
|
||||
hideInviteDialog() {
|
||||
this.showDialog = false;
|
||||
},
|
||||
// 修改后的makeQRCode方法
|
||||
makeQRCode() {
|
||||
// 获取uQRCode实例
|
||||
var qr = new uQRCode();
|
||||
// 设置二维码内容
|
||||
qr.data = "localhost:8081/#/pages/sys/workbench/unitManagement/employeeAdd";
|
||||
// 设置二维码大小,必须与canvas设置的宽高一致
|
||||
qr.size = 200;
|
||||
// 调用制作二维码方法
|
||||
qr.make();
|
||||
// 获取canvas上下文
|
||||
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// 设置uQRCode实例的canvas上下文
|
||||
qr.canvasContext = canvasContext;
|
||||
// 调用绘制方法将二维码图案绘制到canvas上
|
||||
qr.drawCanvas();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.unit-management {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 95vh;
|
||||
background-color: #f5f5f5;
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
.unit-header-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.unit-header {
|
||||
background-color: #2186FF;
|
||||
padding: 20rpx 30rpx;
|
||||
color: white;
|
||||
border-radius: 16rpx;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.header-icon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin: 0 40rpx;
|
||||
}
|
||||
|
||||
.unit-title {
|
||||
font-size: 36rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.function-container {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.left-column {
|
||||
width: 48%;
|
||||
height: 24%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.right-card {
|
||||
width: 48%;
|
||||
height: 24%;
|
||||
background-color: white;
|
||||
border-radius: 16rpx;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.function-card {
|
||||
width: 100%;
|
||||
height: 46%;
|
||||
background-color: white;
|
||||
border-radius: 16rpx;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 38rpx;
|
||||
}
|
||||
|
||||
.card-text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.card-subtitle {
|
||||
font-size: 24rpx;
|
||||
color: #ADADAD;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.card-icon image {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.card-bg {
|
||||
padding-bottom: 24rpx;
|
||||
width: 90%;
|
||||
height: 50%;
|
||||
top: 0;
|
||||
left: 5%;
|
||||
z-index: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* 邀请弹窗样式 */
|
||||
.invite-dialog {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.dialog-content {
|
||||
width: 77%;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.shield-bg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.phone-illustration {
|
||||
position: relative;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
margin-bottom: 40rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.phone-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* 修复:统一用动态尺寸,移除固定宽高,优化居中 */
|
||||
.qr-code-container {
|
||||
/* 容器尺寸略大于二维码,留出白边 */
|
||||
width:380rpx;
|
||||
height: 380rpx;
|
||||
background-color: white;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 50rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
top: 30rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 新增圆形关闭按钮样式 */
|
||||
.close-circle-btn {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 50%;
|
||||
background-color: white;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 40rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* 创建X形状 */
|
||||
.close-x {
|
||||
position: relative;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.close-x::before,
|
||||
.close-x::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 40rpx;
|
||||
height: 4rpx;
|
||||
background-color: #999;
|
||||
border-radius: 2rpx;
|
||||
}
|
||||
|
||||
.close-x::before {
|
||||
transform: translate(-50%, -50%) rotate(45deg);
|
||||
}
|
||||
|
||||
.close-x::after {
|
||||
transform: translate(-50%, -50%) rotate(-45deg);
|
||||
}
|
||||
|
||||
</style>
|
BIN
static/ic_Invite_employees.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
static/ic_avg.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
static/ic_edit.png
Normal file
After Width: | Height: | Size: 994 B |
BIN
static/ic_enterprise.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
static/ic_man.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
static/ic_resign.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
static/ic_review.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
static/ic_shield.png
Normal file
After Width: | Height: | Size: 342 KiB |
BIN
static/ic_unitBg.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
static/ic_women.png
Normal file
After Width: | Height: | Size: 2.5 KiB |