文毅 1 anno fa
parent
commit
94e528d219
4 ha cambiato i file con 686 aggiunte e 111 eliminazioni
  1. 567 6
      h5/package-lock.json
  2. 4 2
      h5/package.json
  3. 1 0
      h5/src/App.vue
  4. 114 103
      h5/src/views/data/repertory.vue

+ 567 - 6
h5/package-lock.json

@@ -12,6 +12,7 @@
 				"@element-plus/icons-vue": "^2.1.0",
 				"@wangeditor/editor": "^5.1.23",
 				"@wangeditor/editor-for-vue": "^5.1.12",
+				"ant-design-vue": "^3.2.20",
 				"await-to-js": "^3.0.0",
 				"axios": "^1.4.0",
 				"countup.js": "^2.6.2",
@@ -24,6 +25,7 @@
 				"js-md5": "^0.7.3",
 				"js-table2excel": "^1.1.2",
 				"jsplumb": "^2.15.6",
+				"less": "^4.1.3",
 				"lodash": "^4.17.21",
 				"mitt": "^3.0.0",
 				"nprogress": "^0.2.0",
@@ -76,6 +78,31 @@
 				"node": ">=6.0.0"
 			}
 		},
+		"node_modules/@ant-design/colors": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz",
+			"integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
+			"dependencies": {
+				"@ctrl/tinycolor": "^3.4.0"
+			}
+		},
+		"node_modules/@ant-design/icons-svg": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
+			"integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
+		},
+		"node_modules/@ant-design/icons-vue": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz",
+			"integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==",
+			"dependencies": {
+				"@ant-design/colors": "^6.0.0",
+				"@ant-design/icons-svg": "^4.2.1"
+			},
+			"peerDependencies": {
+				"vue": ">=3.0.3"
+			}
+		},
 		"node_modules/@babel/code-frame": {
 			"version": "7.22.5",
 			"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.5.tgz",
@@ -1398,6 +1425,15 @@
 				"url": "https://opencollective.com/popperjs"
 			}
 		},
+		"node_modules/@simonwep/pickr": {
+			"version": "1.8.2",
+			"resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz",
+			"integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==",
+			"dependencies": {
+				"core-js": "^3.15.1",
+				"nanopop": "^2.1.0"
+			}
+		},
 		"node_modules/@transloadit/prettier-bytes": {
 			"version": "0.0.7",
 			"license": "MIT"
@@ -2104,6 +2140,36 @@
 				"url": "https://github.com/chalk/ansi-styles?sponsor=1"
 			}
 		},
+		"node_modules/ant-design-vue": {
+			"version": "3.2.20",
+			"resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-3.2.20.tgz",
+			"integrity": "sha512-YWpMfGaGoRastIXEYfCoJiaRiDHk4chqtYhlKQM5GqPt6NfvrM1Vg2e60yHtjxlZjed91wCMm0rAmyUr7Hwzdg==",
+			"dependencies": {
+				"@ant-design/colors": "^6.0.0",
+				"@ant-design/icons-vue": "^6.1.0",
+				"@babel/runtime": "^7.10.5",
+				"@ctrl/tinycolor": "^3.4.0",
+				"@simonwep/pickr": "~1.8.0",
+				"array-tree-filter": "^2.1.0",
+				"async-validator": "^4.0.0",
+				"dayjs": "^1.10.5",
+				"dom-align": "^1.12.1",
+				"dom-scroll-into-view": "^2.0.0",
+				"lodash": "^4.17.21",
+				"lodash-es": "^4.17.15",
+				"resize-observer-polyfill": "^1.5.1",
+				"scroll-into-view-if-needed": "^2.2.25",
+				"shallow-equal": "^1.0.0",
+				"vue-types": "^3.0.0",
+				"warning": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=12.22.0"
+			},
+			"peerDependencies": {
+				"vue": ">=3.2.0"
+			}
+		},
 		"node_modules/anymatch": {
 			"version": "3.1.3",
 			"dev": true,
@@ -2122,6 +2188,11 @@
 			"license": "Python-2.0",
 			"peer": true
 		},
+		"node_modules/array-tree-filter": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
+			"integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
+		},
 		"node_modules/array-union": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz",
@@ -2357,6 +2428,14 @@
 			"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
 			"dev": true
 		},
+		"node_modules/copy-anything": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
+			"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+			"dependencies": {
+				"is-what": "^3.14.1"
+			}
+		},
 		"node_modules/core-js": {
 			"version": "3.30.2",
 			"hasInstallScript": true,
@@ -2462,6 +2541,16 @@
 				"node": ">=6.0.0"
 			}
 		},
+		"node_modules/dom-align": {
+			"version": "1.12.4",
+			"resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz",
+			"integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
+		},
+		"node_modules/dom-scroll-into-view": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
+			"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
+		},
 		"node_modules/dom7": {
 			"version": "3.0.0",
 			"license": "MIT",
@@ -2533,6 +2622,18 @@
 				"batch-processor": "1.0.0"
 			}
 		},
+		"node_modules/errno": {
+			"version": "0.1.8",
+			"resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
+			"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+			"optional": true,
+			"dependencies": {
+				"prr": "~1.0.1"
+			},
+			"bin": {
+				"errno": "cli.js"
+			}
+		},
 		"node_modules/es5-ext": {
 			"version": "0.10.62",
 			"hasInstallScript": true,
@@ -3104,6 +3205,12 @@
 				"delegate": "^3.1.2"
 			}
 		},
+		"node_modules/graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"optional": true
+		},
 		"node_modules/grapheme-splitter": {
 			"version": "1.0.4",
 			"dev": true,
@@ -3162,6 +3269,18 @@
 				"@babel/runtime": "^7.12.0"
 			}
 		},
+		"node_modules/iconv-lite": {
+			"version": "0.6.3",
+			"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+			"optional": true,
+			"dependencies": {
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/ignore": {
 			"version": "5.2.1",
 			"dev": true,
@@ -3170,6 +3289,18 @@
 				"node": ">= 4"
 			}
 		},
+		"node_modules/image-size": {
+			"version": "0.5.5",
+			"resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
+			"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+			"optional": true,
+			"bin": {
+				"image-size": "bin/image-size.js"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/immer": {
 			"version": "9.0.16",
 			"license": "MIT",
@@ -3286,6 +3417,11 @@
 			"version": "1.2.4",
 			"license": "MIT"
 		},
+		"node_modules/is-what": {
+			"version": "3.14.1",
+			"resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
+			"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA=="
+		},
 		"node_modules/isexe": {
 			"version": "2.0.0",
 			"dev": true,
@@ -3322,8 +3458,7 @@
 		"node_modules/js-tokens": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
-			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-			"dev": true
+			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
 		},
 		"node_modules/js-yaml": {
 			"version": "4.1.0",
@@ -3377,6 +3512,31 @@
 			"version": "2.15.6",
 			"license": "(MIT OR GPL-2.0)"
 		},
+		"node_modules/less": {
+			"version": "4.1.3",
+			"resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
+			"integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
+			"dependencies": {
+				"copy-anything": "^2.0.1",
+				"parse-node-version": "^1.0.1",
+				"tslib": "^2.3.0"
+			},
+			"bin": {
+				"lessc": "bin/lessc"
+			},
+			"engines": {
+				"node": ">=6"
+			},
+			"optionalDependencies": {
+				"errno": "^0.1.1",
+				"graceful-fs": "^4.1.2",
+				"image-size": "~0.5.0",
+				"make-dir": "^2.1.0",
+				"mime": "^1.4.1",
+				"needle": "^3.1.0",
+				"source-map": "~0.6.0"
+			}
+		},
 		"node_modules/levn": {
 			"version": "0.4.1",
 			"dev": true,
@@ -3456,6 +3616,17 @@
 			"version": "4.4.0",
 			"license": "MIT"
 		},
+		"node_modules/loose-envify": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
+			"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+			"dependencies": {
+				"js-tokens": "^3.0.0 || ^4.0.0"
+			},
+			"bin": {
+				"loose-envify": "cli.js"
+			}
+		},
 		"node_modules/lru-cache": {
 			"version": "6.0.0",
 			"dev": true,
@@ -3475,6 +3646,28 @@
 				"sourcemap-codec": "^1.4.8"
 			}
 		},
+		"node_modules/make-dir": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
+			"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+			"optional": true,
+			"dependencies": {
+				"pify": "^4.0.1",
+				"semver": "^5.6.0"
+			},
+			"engines": {
+				"node": ">=6"
+			}
+		},
+		"node_modules/make-dir/node_modules/semver": {
+			"version": "5.7.1",
+			"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
+			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"optional": true,
+			"bin": {
+				"semver": "bin/semver"
+			}
+		},
 		"node_modules/memoize-one": {
 			"version": "6.0.0",
 			"license": "MIT"
@@ -3501,6 +3694,18 @@
 				"node": ">=8.6"
 			}
 		},
+		"node_modules/mime": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
+			"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+			"optional": true,
+			"bin": {
+				"mime": "cli.js"
+			},
+			"engines": {
+				"node": ">=4"
+			}
+		},
 		"node_modules/mime-db": {
 			"version": "1.52.0",
 			"license": "MIT",
@@ -3543,7 +3748,7 @@
 		},
 		"node_modules/ms": {
 			"version": "2.1.2",
-			"dev": true,
+			"devOptional": true,
 			"license": "MIT"
 		},
 		"node_modules/namespace-emitter": {
@@ -3561,6 +3766,11 @@
 				"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
 			}
 		},
+		"node_modules/nanopop": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.3.0.tgz",
+			"integrity": "sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw=="
+		},
 		"node_modules/natural-compare": {
 			"version": "1.4.0",
 			"dev": true,
@@ -3572,6 +3782,32 @@
 			"dev": true,
 			"license": "MIT"
 		},
+		"node_modules/needle": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz",
+			"integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+			"optional": true,
+			"dependencies": {
+				"debug": "^3.2.6",
+				"iconv-lite": "^0.6.3",
+				"sax": "^1.2.4"
+			},
+			"bin": {
+				"needle": "bin/needle"
+			},
+			"engines": {
+				"node": ">= 4.4.x"
+			}
+		},
+		"node_modules/needle/node_modules/debug": {
+			"version": "3.2.7",
+			"resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
+			"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+			"optional": true,
+			"dependencies": {
+				"ms": "^2.1.1"
+			}
+		},
 		"node_modules/next-tick": {
 			"version": "1.1.0",
 			"license": "ISC"
@@ -3673,6 +3909,14 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/parse-node-version": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
+			"integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+			"engines": {
+				"node": ">= 0.10"
+			}
+		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
 			"dev": true,
@@ -3724,6 +3968,15 @@
 				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
+		"node_modules/pify": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
+			"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+			"optional": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/pinia": {
 			"version": "2.1.4",
 			"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.4.tgz",
@@ -3825,6 +4078,12 @@
 			"version": "1.1.0",
 			"license": "MIT"
 		},
+		"node_modules/prr": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
+			"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+			"optional": true
+		},
 		"node_modules/punycode": {
 			"version": "2.1.1",
 			"dev": true,
@@ -3899,6 +4158,11 @@
 			"version": "1.7.2",
 			"license": "MIT"
 		},
+		"node_modules/resize-observer-polyfill": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+			"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+		},
 		"node_modules/resolve-from": {
 			"version": "4.0.0",
 			"dev": true,
@@ -3970,6 +4234,12 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
+		"node_modules/safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+			"optional": true
+		},
 		"node_modules/sass": {
 			"version": "1.63.6",
 			"resolved": "https://registry.npmmirror.com/sass/-/sass-1.63.6.tgz",
@@ -3987,6 +4257,12 @@
 				"node": ">=14.0.0"
 			}
 		},
+		"node_modules/sax": {
+			"version": "1.2.4",
+			"resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
+			"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+			"optional": true
+		},
 		"node_modules/screenfull": {
 			"version": "6.0.2",
 			"license": "MIT",
@@ -4022,6 +4298,11 @@
 				"node": ">=10"
 			}
 		},
+		"node_modules/shallow-equal": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz",
+			"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
+		},
 		"node_modules/shebang-command": {
 			"version": "2.0.0",
 			"dev": true,
@@ -4451,6 +4732,28 @@
 				"vue": "^3.2.0"
 			}
 		},
+		"node_modules/vue-types": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz",
+			"integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==",
+			"dependencies": {
+				"is-plain-object": "3.0.1"
+			},
+			"engines": {
+				"node": ">=10.15.0"
+			},
+			"peerDependencies": {
+				"vue": "^3.0.0"
+			}
+		},
+		"node_modules/vue-types/node_modules/is-plain-object": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz",
+			"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/vue-vuecmf-dialog": {
 			"version": "1.4.8",
 			"license": "MIT",
@@ -4462,6 +4765,14 @@
 				"vue": "^3.2.47"
 			}
 		},
+		"node_modules/warning": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz",
+			"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+			"dependencies": {
+				"loose-envify": "^1.0.0"
+			}
+		},
 		"node_modules/which": {
 			"version": "2.0.2",
 			"dev": true,
@@ -4533,6 +4844,28 @@
 				"@jridgewell/trace-mapping": "^0.3.9"
 			}
 		},
+		"@ant-design/colors": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz",
+			"integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
+			"requires": {
+				"@ctrl/tinycolor": "^3.4.0"
+			}
+		},
+		"@ant-design/icons-svg": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
+			"integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
+		},
+		"@ant-design/icons-vue": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz",
+			"integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==",
+			"requires": {
+				"@ant-design/colors": "^6.0.0",
+				"@ant-design/icons-svg": "^4.2.1"
+			}
+		},
 		"@babel/code-frame": {
 			"version": "7.22.5",
 			"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.5.tgz",
@@ -5382,6 +5715,15 @@
 		"@popperjs/core": {
 			"version": "npm:@sxzz/popperjs-es@2.11.7"
 		},
+		"@simonwep/pickr": {
+			"version": "1.8.2",
+			"resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz",
+			"integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==",
+			"requires": {
+				"core-js": "^3.15.1",
+				"nanopop": "^2.1.0"
+			}
+		},
 		"@transloadit/prettier-bytes": {
 			"version": "0.0.7"
 		},
@@ -5839,6 +6181,30 @@
 				"color-convert": "^2.0.1"
 			}
 		},
+		"ant-design-vue": {
+			"version": "3.2.20",
+			"resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-3.2.20.tgz",
+			"integrity": "sha512-YWpMfGaGoRastIXEYfCoJiaRiDHk4chqtYhlKQM5GqPt6NfvrM1Vg2e60yHtjxlZjed91wCMm0rAmyUr7Hwzdg==",
+			"requires": {
+				"@ant-design/colors": "^6.0.0",
+				"@ant-design/icons-vue": "^6.1.0",
+				"@babel/runtime": "^7.10.5",
+				"@ctrl/tinycolor": "^3.4.0",
+				"@simonwep/pickr": "~1.8.0",
+				"array-tree-filter": "^2.1.0",
+				"async-validator": "^4.0.0",
+				"dayjs": "^1.10.5",
+				"dom-align": "^1.12.1",
+				"dom-scroll-into-view": "^2.0.0",
+				"lodash": "^4.17.21",
+				"lodash-es": "^4.17.15",
+				"resize-observer-polyfill": "^1.5.1",
+				"scroll-into-view-if-needed": "^2.2.25",
+				"shallow-equal": "^1.0.0",
+				"vue-types": "^3.0.0",
+				"warning": "^4.0.0"
+			}
+		},
 		"anymatch": {
 			"version": "3.1.3",
 			"dev": true,
@@ -5852,6 +6218,11 @@
 			"dev": true,
 			"peer": true
 		},
+		"array-tree-filter": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
+			"integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
+		},
 		"array-union": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz",
@@ -6017,6 +6388,14 @@
 			"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
 			"dev": true
 		},
+		"copy-anything": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
+			"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+			"requires": {
+				"is-what": "^3.14.1"
+			}
+		},
 		"core-js": {
 			"version": "3.30.2"
 		},
@@ -6086,6 +6465,16 @@
 				"esutils": "^2.0.2"
 			}
 		},
+		"dom-align": {
+			"version": "1.12.4",
+			"resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz",
+			"integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
+		},
+		"dom-scroll-into-view": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
+			"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
+		},
 		"dom7": {
 			"version": "3.0.0",
 			"requires": {
@@ -6146,6 +6535,15 @@
 				"batch-processor": "1.0.0"
 			}
 		},
+		"errno": {
+			"version": "0.1.8",
+			"resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
+			"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+			"optional": true,
+			"requires": {
+				"prr": "~1.0.1"
+			}
+		},
 		"es5-ext": {
 			"version": "0.10.62",
 			"requires": {
@@ -6544,6 +6942,12 @@
 				"delegate": "^3.1.2"
 			}
 		},
+		"graceful-fs": {
+			"version": "4.2.11",
+			"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"optional": true
+		},
 		"grapheme-splitter": {
 			"version": "1.0.4",
 			"dev": true
@@ -6577,10 +6981,25 @@
 				"@babel/runtime": "^7.12.0"
 			}
 		},
+		"iconv-lite": {
+			"version": "0.6.3",
+			"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+			"optional": true,
+			"requires": {
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
+			}
+		},
 		"ignore": {
 			"version": "5.2.1",
 			"dev": true
 		},
+		"image-size": {
+			"version": "0.5.5",
+			"resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
+			"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+			"optional": true
+		},
 		"immer": {
 			"version": "9.0.16"
 		},
@@ -6652,6 +7071,11 @@
 		"is-url": {
 			"version": "1.2.4"
 		},
+		"is-what": {
+			"version": "3.14.1",
+			"resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
+			"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA=="
+		},
 		"isexe": {
 			"version": "2.0.0",
 			"dev": true,
@@ -6678,8 +7102,7 @@
 		"js-tokens": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
-			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-			"dev": true
+			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
 		},
 		"js-yaml": {
 			"version": "4.1.0",
@@ -6714,6 +7137,23 @@
 		"jsplumb": {
 			"version": "2.15.6"
 		},
+		"less": {
+			"version": "4.1.3",
+			"resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
+			"integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
+			"requires": {
+				"copy-anything": "^2.0.1",
+				"errno": "^0.1.1",
+				"graceful-fs": "^4.1.2",
+				"image-size": "~0.5.0",
+				"make-dir": "^2.1.0",
+				"mime": "^1.4.1",
+				"needle": "^3.1.0",
+				"parse-node-version": "^1.0.1",
+				"source-map": "~0.6.0",
+				"tslib": "^2.3.0"
+			}
+		},
 		"levn": {
 			"version": "0.4.1",
 			"dev": true,
@@ -6767,6 +7207,14 @@
 		"lodash.toarray": {
 			"version": "4.4.0"
 		},
+		"loose-envify": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
+			"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+			"requires": {
+				"js-tokens": "^3.0.0 || ^4.0.0"
+			}
+		},
 		"lru-cache": {
 			"version": "6.0.0",
 			"dev": true,
@@ -6781,6 +7229,24 @@
 				"sourcemap-codec": "^1.4.8"
 			}
 		},
+		"make-dir": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
+			"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+			"optional": true,
+			"requires": {
+				"pify": "^4.0.1",
+				"semver": "^5.6.0"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "5.7.1",
+					"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
+					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"optional": true
+				}
+			}
+		},
 		"memoize-one": {
 			"version": "6.0.0"
 		},
@@ -6800,6 +7266,12 @@
 				"picomatch": "^2.3.1"
 			}
 		},
+		"mime": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
+			"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+			"optional": true
+		},
 		"mime-db": {
 			"version": "1.52.0"
 		},
@@ -6828,7 +7300,7 @@
 		},
 		"ms": {
 			"version": "2.1.2",
-			"dev": true
+			"devOptional": true
 		},
 		"namespace-emitter": {
 			"version": "2.0.1"
@@ -6838,6 +7310,11 @@
 			"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
 			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
 		},
+		"nanopop": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.3.0.tgz",
+			"integrity": "sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw=="
+		},
 		"natural-compare": {
 			"version": "1.4.0",
 			"dev": true,
@@ -6847,6 +7324,28 @@
 			"version": "1.4.0",
 			"dev": true
 		},
+		"needle": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz",
+			"integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+			"optional": true,
+			"requires": {
+				"debug": "^3.2.6",
+				"iconv-lite": "^0.6.3",
+				"sax": "^1.2.4"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.2.7",
+					"resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
+					"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+					"optional": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				}
+			}
+		},
 		"next-tick": {
 			"version": "1.1.0"
 		},
@@ -6914,6 +7413,11 @@
 				"callsites": "^3.0.0"
 			}
 		},
+		"parse-node-version": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
+			"integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="
+		},
 		"path-exists": {
 			"version": "4.0.0",
 			"dev": true,
@@ -6942,6 +7446,12 @@
 			"version": "2.3.1",
 			"dev": true
 		},
+		"pify": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
+			"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+			"optional": true
+		},
 		"pinia": {
 			"version": "2.1.4",
 			"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.4.tgz",
@@ -6992,6 +7502,12 @@
 		"proxy-from-env": {
 			"version": "1.1.0"
 		},
+		"prr": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
+			"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+			"optional": true
+		},
 		"punycode": {
 			"version": "2.1.1",
 			"dev": true,
@@ -7030,6 +7546,11 @@
 		"register-service-worker": {
 			"version": "1.7.2"
 		},
+		"resize-observer-polyfill": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+			"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+		},
 		"resolve-from": {
 			"version": "4.0.0",
 			"dev": true,
@@ -7063,6 +7584,12 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
+		"safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+			"optional": true
+		},
 		"sass": {
 			"version": "1.63.6",
 			"resolved": "https://registry.npmmirror.com/sass/-/sass-1.63.6.tgz",
@@ -7074,6 +7601,12 @@
 				"source-map-js": ">=0.6.2 <2.0.0"
 			}
 		},
+		"sax": {
+			"version": "1.2.4",
+			"resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
+			"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+			"optional": true
+		},
 		"screenfull": {
 			"version": "6.0.2"
 		},
@@ -7093,6 +7626,11 @@
 				"lru-cache": "^6.0.0"
 			}
 		},
+		"shallow-equal": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz",
+			"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
+		},
 		"shebang-command": {
 			"version": "2.0.0",
 			"dev": true,
@@ -7362,6 +7900,21 @@
 				"@vue/devtools-api": "^6.5.0"
 			}
 		},
+		"vue-types": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz",
+			"integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==",
+			"requires": {
+				"is-plain-object": "3.0.1"
+			},
+			"dependencies": {
+				"is-plain-object": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz",
+					"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
+				}
+			}
+		},
 		"vue-vuecmf-dialog": {
 			"version": "1.4.8",
 			"requires": {
@@ -7372,6 +7925,14 @@
 				"vue": "^3.2.47"
 			}
 		},
+		"warning": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz",
+			"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+			"requires": {
+				"loose-envify": "^1.0.0"
+			}
+		},
 		"which": {
 			"version": "2.0.2",
 			"dev": true,

+ 4 - 2
h5/package.json

@@ -6,10 +6,10 @@
 	"license": "MIT",
 	"scripts": {
 		"dev": "vite --force --mode development",
-        "dev:workerman": "vite --force --mode workerman",
+		"dev:workerman": "vite --force --mode workerman",
 		"build": "vite build",
 		"build:test": "set NODE_ENV=test && vite build --mode test ",
-        "build:test-on-server": "set NODE_ENV=test && vite build --mode test ",
+		"build:test-on-server": "set NODE_ENV=test && vite build --mode test ",
 		"build:company": "set NODE_ENV=company && vite build --mode company ",
 		"build:customer": "set NODE_ENV=customer && vite build --mode customer ",
 		"build:release": "set NODE_ENV=release && vite build --mode release ",
@@ -19,6 +19,7 @@
 		"@element-plus/icons-vue": "^2.1.0",
 		"@wangeditor/editor": "^5.1.23",
 		"@wangeditor/editor-for-vue": "^5.1.12",
+		"ant-design-vue": "^3.2.20",
 		"await-to-js": "^3.0.0",
 		"axios": "^1.4.0",
 		"countup.js": "^2.6.2",
@@ -31,6 +32,7 @@
 		"js-md5": "^0.7.3",
 		"js-table2excel": "^1.1.2",
 		"jsplumb": "^2.15.6",
+		"less": "^4.1.3",
 		"lodash": "^4.17.21",
 		"mitt": "^3.0.0",
 		"nprogress": "^0.2.0",

+ 1 - 0
h5/src/App.vue

@@ -35,6 +35,7 @@ import other from '/@/utils/other'
 import { Local, Session } from '/@/utils/storage'
 import mittBus from '/@/utils/mitt'
 import setIntroduction from '/@/utils/setIconfont'
+import 'ant-design-vue/dist/antd.css';
 
 // 引入组件
 const LockScreen = defineAsyncComponent(() => import('/@/layout/lockScreen/index.vue'))

+ 114 - 103
h5/src/views/data/repertory.vue

@@ -4,7 +4,7 @@
 		<el-card class="box-card">
 			<el-row>
 				<el-col :span="6">
-					<el-text class="mx-1">关键词:</el-text>
+					<el-text class="">关键词:</el-text>
 
 					<el-input class="width160" placeholder="请输入关键词" v-model="data.params.keyword"
 						@keyup.enter.native="getList"> </el-input>
@@ -19,10 +19,10 @@
 				<el-col :span="12" class="tr">
 					<el-form-item label="创建时间:">
 						<el-date-picker v-model="data.params.create_time_begin_time" type="datetime" placeholder="开始创建时间"
-							value-format="YYYY-MM-DD hh:mm:ss " />
+							format="YYYY/MM/DD HH:mm:ss" />
 						<div class="ml5 mr5">To</div>
 						<el-date-picker v-model="data.params.create_time_end_time" type="datetime" placeholder="结束创建时间"
-							value-format="YYYY-MM-DD hh:mm:ss" />
+							format="YYYY-MM-DD HH:mm:ss" />
 						<el-button type="primary" class="ml10" @click="getList">
 							<el-icon>
 								<ele-Search />
@@ -40,7 +40,7 @@
 			</el-row>
 			<el-row>
 				<el-col :span="6">
-					<el-text class="mx-1">负责人:</el-text>
+					<el-text class="">负责人:</el-text>
 					<el-select class="width160" v-model="data.params.responsibility_person_id" clearable
 						placeholder="请选择负责人" @change="getList">
 						<el-option :label="item.real_name" :value="item.id" v-for="item in data.repertoryList" />
@@ -104,10 +104,7 @@
 				<el-table-column prop="source" label="来源" width="" />
 				<el-table-column prop="status" label="状态" width="">
 					<template #default="scope">
-						<el-test v-if="scope.row.status == 'DEVELOPING'">开发中</el-test>
-						<el-test v-if="scope.row.status == 'CHATING'">洽谈中</el-test>
-						<el-test v-if="scope.row.status == 'FINISH'">已完成</el-test>
-						<el-test v-if="scope.row.status == 'NOT_START'">未开始</el-test>
+						{{ statusList.data.get(scope.row.status) }}
 					</template>
 				</el-table-column>
 				<el-table-column fixed="right" label="操作" width="250">
@@ -128,84 +125,83 @@
 			</div>
 		</el-card>
 		<!-- 弹出项目 新增,更新的页面-->
-		<vuecmf-dialog width="1200px" v-if="data.dialog.show" :model_value="data.dialog.show" :title="data.dialog.title" @close="closePage">
-			<template #content>
-				<el-form :model="data.form" label-width="120px" ref="formRef" v-loading="data.dialog.isLoading">
-					<el-row :gutter="20">
-						<el-col :span="12">
-							<el-form-item label="项目名称" prop="name"
-								:rules="[{ required: true, message: '请填写项目名称', trigger: 'blur' }]">
-								<el-input v-model="data.form.name" placeholder="项目名称" />
-							</el-form-item>
-							<el-form-item label="来源" prop="source"
-								:rules="[{ required: true, message: '填写来源', trigger: 'blur' }]">
-								<el-input v-model="data.form.source" placeholder="填写来源" />
-							</el-form-item>
-							<el-form-item label="预估金额" prop="estimated_amount"
-								:rules="[{ required: true, message: '填写预估金额', trigger: 'blur' }]">
-								<el-input v-model="data.form.estimated_amount" placeholder="填写预估金额" />
-							</el-form-item>
-							<el-form-item label="约定开发周期" prop="pre_dev_time">
-								<el-input v-model="data.form.pre_dev_time" placeholder="填写约定开发周期" />
-							</el-form-item>
-							<el-form-item label="约定维护周期" prop="pre_maintain_time">
-								<el-input v-model="data.form.pre_maintain_time" placeholder="填写约定维护周期" />
-							</el-form-item>
-							<el-form-item label="责任人" prop="responsibility_person_id"
-								:rules="[{ required: true, message: '填写责任人', trigger: 'blur' }]">
-								<el-select v-model="data.form.responsibility_person_id" placeholder="选择责任人">
-									<el-option :label="item.real_name" :value="item.id"
-										v-for="item in data.repertoryList" />
-								</el-select>
-							</el-form-item>
-							<el-form-item label="参与人员" prop="participants_id"
-								:rules="[{ required: true, message: '填写参与人员', trigger: 'blur' }]">
-								<el-select v-model="data.form.participants_id" multiple placeholder="选择参与人员">
-									<el-option v-for="item in data.repertoryList" :key="item.id" :label="item.real_name" :value="item.id"/>
-								</el-select>
-							</el-form-item>
-							<el-form-item label="状态" prop="status"
-								:rules="[{ required: true, message: '请选择状态', trigger: 'blur' }]">
-								<el-select v-model="data.form.status" placeholder="选择状态">
-									<el-option :label="item[1]" :value="item[0]" v-for="item in statusList.data" />
-								</el-select>
-							</el-form-item>
-						</el-col>
-						<el-col :span="12">
-							<el-form-item label="项目开始时间" prop="project_start_date">
-								<el-date-picker v-model="data.form.project_start_date" type="project_start_date"
-									placeholder=" 填写项目开始时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-							<el-form-item label="项目结束时间" prop="project_end_date">
-								<el-date-picker v-model="data.form.project_end_date" type="project_end_date"
-									placeholder="填写项目结束时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-							<el-form-item label="开发开始时间" prop="dev_start_date">
-								<el-date-picker v-model="data.form.dev_start_date" type="dev_start_date"
-									placeholder=" 填写开发开始时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-							<el-form-item label="开发结束时间" prop="dev_end_date">
-								<el-date-picker v-model="data.form.dev_end_date" type="dev_end_date" placeholder=" 填写开发结束时间"
-									value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-							<el-form-item label="维护开始时间" prop="maintain_start_date">
-								<el-date-picker v-model="data.form.maintain_start_date" type="maintain_start_date"
-									placeholder=" 填写维护开始时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-							<el-form-item label="维护结束时间" prop="maintain_end_date">
-								<el-date-picker v-model="data.form.maintain_end_date" type="maintain_end_date"
-									placeholder=" 填写维护结束时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
-							</el-form-item>
-						</el-col>
-					</el-row>
-				</el-form>
-				<div class="height20"></div>
-			</template>
+		<el-dialog width="1200px" v-if="data.dialog.show" v-model="data.dialog.show" :title="data.dialog.title"
+			@close="closePage">
+			<el-form :model="data.form" label-width="120px" ref="formRef" v-loading="data.dialog.isLoading">
+				<el-row :gutter="20">
+					<el-col :span="12">
+						<el-form-item label="项目名称" prop="name"
+							:rules="[{ required: true, message: '请填写项目名称', trigger: 'blur' }]">
+							<el-input v-model="data.form.name" placeholder="项目名称" />
+						</el-form-item>
+						<el-form-item label="来源" prop="source"
+							:rules="[{ required: true, message: '填写来源', trigger: 'blur' }]">
+							<el-input v-model="data.form.source" placeholder="填写来源" />
+						</el-form-item>
+						<el-form-item label="预估金额" prop="estimated_amount"
+							:rules="[{ required: true, message: '填写预估金额', trigger: 'blur' }]">
+							<el-input v-model="data.form.estimated_amount" placeholder="填写预估金额" />
+						</el-form-item>
+						<el-form-item label="约定开发周期/天" prop="pre_dev_time">
+							<el-input v-model="data.form.pre_dev_time" placeholder="填写约定开发周期/天" />
+						</el-form-item>
+						<el-form-item label="约定维护周期/天" prop="pre_maintain_time">
+							<el-input v-model="data.form.pre_maintain_time" placeholder="填写约定维护周期/天" />
+						</el-form-item>
+						<el-form-item label="责任人" prop="responsibility_person_id"
+							:rules="[{ required: true, message: '填写责任人', trigger: 'blur' }]">
+							<el-select v-model="data.form.responsibility_person_id" placeholder="选择责任人">
+								<el-option :label="item.real_name" :value="item.id" v-for="item in data.repertoryList" />
+							</el-select>
+						</el-form-item>
+						<el-form-item label="参与人员" prop="participants_id"
+							:rules="[{ required: true, message: '填写参与人员', trigger: 'blur' }]">
+							<el-select v-model="data.form.participants_id" multiple placeholder="选择参与人员">
+								<el-option v-for="item in data.repertoryList" :key="item.id" :label="item.real_name"
+									:value="item.id" />
+							</el-select>
+						</el-form-item>
+						<el-form-item label="状态" prop="status"
+							:rules="[{ required: true, message: '请选择状态', trigger: 'blur' }]">
+							<el-select v-model="data.form.status" placeholder="选择状态">
+								<el-option :label="item[1]" :value="item[0]" v-for="item in statusList.data" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12">
+						<el-form-item label="项目开始时间" prop="project_start_date">
+							<el-date-picker v-model="data.form.project_start_date" type="project_start_date"
+								placeholder=" 填写项目开始时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+						<el-form-item label="项目结束时间" prop="project_end_date">
+							<el-date-picker v-model="data.form.project_end_date" type="project_end_date"
+								placeholder="填写项目结束时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+						<el-form-item label="开发开始时间" prop="dev_start_date">
+							<el-date-picker v-model="data.form.dev_start_date" type="dev_start_date" placeholder=" 填写开发开始时间"
+								value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+						<el-form-item label="开发结束时间" prop="dev_end_date">
+							<el-date-picker v-model="data.form.dev_end_date" type="dev_end_date" placeholder=" 填写开发结束时间"
+								value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+						<el-form-item label="维护开始时间" prop="maintain_start_date">
+							<el-date-picker v-model="data.form.maintain_start_date" type="maintain_start_date"
+								placeholder=" 填写维护开始时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+						<el-form-item label="维护结束时间" prop="maintain_end_date">
+							<el-date-picker v-model="data.form.maintain_end_date" type="maintain_end_date"
+								placeholder=" 填写维护结束时间" value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<div class="height20"></div>
 			<template #footer>
 				<el-button type="default" @click="closePage">取消</el-button>
 				<el-button type="primary" @click="submitForm(formRef)">提交</el-button>
 			</template>
-		</vuecmf-dialog>
+		</el-dialog>
 		<!-- 弹出项目详情-->
 		<vuecmf-dialog width="800px" :model_value="data.dialogDetail.showDetail" :title="data.dialogDetail.titleDetail"
 			@close="closePage">
@@ -222,14 +218,22 @@
 										<p class="mt10" m="t-0 b-2">预估金额:
 											<money :money="data.form.estimated_amount" />
 										</p>
-										<p class="mt10" m="t-0 b-2">约定开发周期: {{ data.form.pre_dev_time }} 天</p>
-										<p class="mt10" m="t-0 b-2">约定维护周期: {{ data.form.pre_maintain_time }}天</p>
-										<p class="mt10" m="t-0 b-2">项目周期开始时间: {{ data.form.project_start_date }}</p>
-										<p class="mt10" m="t-0 b-2">项目周期结束时间: {{ data.form.project_end_date }}</p>
-										<p class="mt10" m="t-0 b-2">开发开始时间: {{ data.form.dev_start_date }}</p>
-										<p class="mt10" m="t-0 b-2">开发结束时间: {{ data.form.dev_end_date }}</p>
-										<p class="mt10" m="t-0 b-2">维护开始时间: {{ data.form.maintain_start_date }}</p>
-										<p class="mt10" m="t-0 b-2">维护结束时间: {{ data.form.maintain_end_date }}</p>
+										<p class="mt10" m="t-0 b-2">约定开发周期: {{ data.form.pre_dev_time ?
+											data.form.pre_dev_time : '暂无数据' }} 天</p>
+										<p class="mt10" m="t-0 b-2">约定维护周期: {{ data.form.pre_maintain_time ?
+											data.form.pre_maintain_time : '暂无数据' }} 天</p>
+										<p class="mt10" m="t-0 b-2">项目周期开始时间: {{ data.form.project_start_date ?
+											data.form.project_start_date : '暂无数据' }}</p>
+										<p class="mt10" m="t-0 b-2">项目周期结束时间: {{ data.form.project_end_date
+											? data.form.project_end_date : '暂无数据' }}</p>
+										<p class="mt10" m="t-0 b-2">开发开始时间: {{ data.form.dev_start_date
+											? data.form.dev_start_date : '暂无数据' }}</p>
+										<p class="mt10" m="t-0 b-2">开发结束时间: {{ data.form.dev_end_date
+											? data.form.dev_end_date : '暂无数据' }}</p>
+										<p class="mt10" m="t-0 b-2">维护开始时间: {{ data.form.maintain_start_date ?
+											data.form.maintain_start_date : '暂无数据' }}</p>
+										<p class="mt10" m="t-0 b-2">维护结束时间: {{ data.form.maintain_end_date
+											? data.form.maintain_end_date : '暂无数据' }}</p>
 									</div>
 								</div>
 							</el-col>
@@ -412,7 +416,7 @@
 				</el-form>
 			</template>
 			<template #footer>
-				<el-button type="primary" @click="newContract(data.tableContract)">添加新合同</el-button>
+				<el-button type="primary" @click="newContract(data.formContract)">添加新合同</el-button>
 				<el-button type="default" @click="closePage">取消</el-button>
 			</template>
 		</vuecmf-dialog>
@@ -550,6 +554,7 @@
 	</div>
 </template>
 <script lang="ts" setup>
+import { Select } from 'ant-design-vue';
 import { onMounted, reactive, computed, ref, defineAsyncComponent, nextTick } from 'vue';
 import { storeToRefs } from 'pinia';
 import { useThemeConfig } from '/@/stores/themeConfig';
@@ -705,10 +710,10 @@ const newFormcontract = () => {
 		title: '',
 		amount: '',
 		attachment: '',
-		end_date: '',
-		date: '',
 		project_id: '',
-		start_date: '',
+		date: null,
+		start_date: null,
+		end_date: null,
 	};
 	return formcontract;
 };
@@ -725,13 +730,13 @@ const newForm = () => {
 		estimated_amount: '',
 		status: '',
 		pre_dev_time: '',
-		project_start_date: '',
-		project_end_date: '',
-		dev_start_date: '',
-		dev_end_date: '',
 		pre_maintain_time: '',
-		maintain_start_date: '',
-		maintain_end_date: '',
+		project_start_date: null,
+		project_end_date: null,
+		dev_start_date: null,
+		dev_end_date: null,
+		maintain_start_date: null,
+		maintain_end_date: null,
 	};
 	return form;
 };
@@ -744,8 +749,8 @@ const newFormlist = () => {
 		name: '',
 		desc: '',
 		updater_id: '',
-		start_date: '',
-		end_date: '',
+		start_date: null,
+		end_date: null,
 		is_update_project_status: true,
 		status: '',
 		finish_project_status: '',
@@ -797,6 +802,7 @@ const init = async () => {
 		return;
 	}
 	data.repertoryList = Repertoryres.data;
+
 };
 /**
  * 获取分页数据
@@ -825,6 +831,10 @@ const getList = async () => {
 		return;
 	}
 	data.tableData = res.data.data;
+	data.tableData.forEach((item: any) => {
+		item.participants_id.forEach(i => i = Number(i))
+	});
+	console.log("🚀 ~ file: repertory.vue:835 ~ data.tableData.forEach ~ data.tableData:", data.tableData)
 	//分页数据赋值
 	data.pagination.total = res.data.total;
 	data.pagination.currentPage = res.data.current_page;
@@ -945,8 +955,9 @@ const newContract = async (item: any) => {
 	data.contract.show = true;
 	data.contract.title = '添加合同';
 	data.attachMenttitle = '';
+	console.log("🚀 ~ file: repertory.vue:955 ~ newContract ~ item:", item)
 	data.formContract = newFormcontract();
-	data.formContract.project_id = item[0].project_id;
+	data.formContract.project_id = item.project_id;
 };
 /**
  * 弹出编辑项目进度页面