forked from integrated_whb/integrated_whb_vue
init
parent
a643da6979
commit
62798bee5f
|
@ -12,6 +12,7 @@
|
||||||
"@icon-park/vue-next": "^1.4.2",
|
"@icon-park/vue-next": "^1.4.2",
|
||||||
"@vueuse/core": "^9.13.0",
|
"@vueuse/core": "^9.13.0",
|
||||||
"@vueuse/integrations": "^10.7.1",
|
"@vueuse/integrations": "^10.7.1",
|
||||||
|
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"autofit.js": "^3.0.7",
|
"autofit.js": "^3.0.7",
|
||||||
"axios": "^1.6.3",
|
"axios": "^1.6.3",
|
||||||
|
@ -24,6 +25,7 @@
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"nanoid": "^5.0.4",
|
"nanoid": "^5.0.4",
|
||||||
"normalize.css": "^8.0.1",
|
"normalize.css": "^8.0.1",
|
||||||
|
"pako": "^2.1.0",
|
||||||
"pinia": "^2.1.7",
|
"pinia": "^2.1.7",
|
||||||
"pinia-plugin-persistedstate": "^3.2.1",
|
"pinia-plugin-persistedstate": "^3.2.1",
|
||||||
"qrcode": "^1.5.3",
|
"qrcode": "^1.5.3",
|
||||||
|
@ -1255,6 +1257,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@transloadit/prettier-bytes": {
|
||||||
|
"version": "0.0.7",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
|
||||||
|
"integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/@types/eslint": {
|
"node_modules/@types/eslint": {
|
||||||
"version": "8.56.2",
|
"version": "8.56.2",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.2.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.2.tgz",
|
||||||
|
@ -1271,6 +1279,12 @@
|
||||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/event-emitter": {
|
||||||
|
"version": "0.3.5",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz",
|
||||||
|
"integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/@types/json-schema": {
|
"node_modules/@types/json-schema": {
|
||||||
"version": "7.0.15",
|
"version": "7.0.15",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
|
||||||
|
@ -1328,6 +1342,85 @@
|
||||||
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
|
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@uppy/companion-client": {
|
||||||
|
"version": "2.2.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz",
|
||||||
|
"integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@uppy/utils": "^4.1.2",
|
||||||
|
"namespace-emitter": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/core": {
|
||||||
|
"version": "2.3.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz",
|
||||||
|
"integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@transloadit/prettier-bytes": "0.0.7",
|
||||||
|
"@uppy/store-default": "^2.1.1",
|
||||||
|
"@uppy/utils": "^4.1.3",
|
||||||
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"mime-match": "^1.0.2",
|
||||||
|
"namespace-emitter": "^2.0.1",
|
||||||
|
"nanoid": "^3.1.25",
|
||||||
|
"preact": "^10.5.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/core/node_modules/nanoid": {
|
||||||
|
"version": "3.3.7",
|
||||||
|
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||||
|
"peer": true,
|
||||||
|
"bin": {
|
||||||
|
"nanoid": "bin/nanoid.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/store-default": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/utils": {
|
||||||
|
"version": "4.1.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz",
|
||||||
|
"integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"lodash.throttle": "^4.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/xhr-upload": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@uppy/companion-client": "^2.2.2",
|
||||||
|
"@uppy/utils": "^4.1.2",
|
||||||
|
"nanoid": "^3.1.25"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@uppy/core": "^2.3.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uppy/xhr-upload/node_modules/nanoid": {
|
||||||
|
"version": "3.3.7",
|
||||||
|
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||||
|
"peer": true,
|
||||||
|
"bin": {
|
||||||
|
"nanoid": "bin/nanoid.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@vitejs/plugin-basic-ssl": {
|
"node_modules/@vitejs/plugin-basic-ssl": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz",
|
||||||
|
@ -1654,6 +1747,176 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@wangeditor/editor": {
|
||||||
|
"version": "5.1.23",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz",
|
||||||
|
"integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@uppy/core": "^2.1.1",
|
||||||
|
"@uppy/xhr-upload": "^2.0.3",
|
||||||
|
"@wangeditor/basic-modules": "^1.1.7",
|
||||||
|
"@wangeditor/code-highlight": "^1.0.3",
|
||||||
|
"@wangeditor/core": "^1.1.19",
|
||||||
|
"@wangeditor/list-module": "^1.0.5",
|
||||||
|
"@wangeditor/table-module": "^1.1.4",
|
||||||
|
"@wangeditor/upload-image-module": "^1.0.2",
|
||||||
|
"@wangeditor/video-module": "^1.1.4",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"is-hotkey": "^0.2.0",
|
||||||
|
"lodash.camelcase": "^4.3.0",
|
||||||
|
"lodash.clonedeep": "^4.5.0",
|
||||||
|
"lodash.debounce": "^4.0.8",
|
||||||
|
"lodash.foreach": "^4.5.0",
|
||||||
|
"lodash.isequal": "^4.5.0",
|
||||||
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"lodash.toarray": "^4.4.0",
|
||||||
|
"nanoid": "^3.2.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor-for-vue": {
|
||||||
|
"version": "5.1.12",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz",
|
||||||
|
"integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@wangeditor/editor": ">=5.1.0",
|
||||||
|
"vue": "^3.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/basic-modules": {
|
||||||
|
"version": "1.1.7",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz",
|
||||||
|
"integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-url": "^1.2.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"nanoid": "^3.2.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/code-highlight": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"prismjs": "^1.23.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/core": {
|
||||||
|
"version": "1.1.19",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz",
|
||||||
|
"integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/event-emitter": "^0.3.3",
|
||||||
|
"event-emitter": "^0.3.5",
|
||||||
|
"html-void-elements": "^2.0.0",
|
||||||
|
"i18next": "^20.4.0",
|
||||||
|
"scroll-into-view-if-needed": "^2.2.28",
|
||||||
|
"slate-history": "^0.66.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@uppy/core": "^2.1.1",
|
||||||
|
"@uppy/xhr-upload": "^2.0.3",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"is-hotkey": "^0.2.0",
|
||||||
|
"lodash.camelcase": "^4.3.0",
|
||||||
|
"lodash.clonedeep": "^4.5.0",
|
||||||
|
"lodash.debounce": "^4.0.8",
|
||||||
|
"lodash.foreach": "^4.5.0",
|
||||||
|
"lodash.isequal": "^4.5.0",
|
||||||
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"lodash.toarray": "^4.4.0",
|
||||||
|
"nanoid": "^3.2.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/list-module": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==",
|
||||||
|
"peer": true,
|
||||||
|
"peerDependencies": {
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/table-module": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==",
|
||||||
|
"peer": true,
|
||||||
|
"peerDependencies": {
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"lodash.isequal": "^4.5.0",
|
||||||
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"nanoid": "^3.2.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/upload-image-module": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==",
|
||||||
|
"peer": true,
|
||||||
|
"peerDependencies": {
|
||||||
|
"@uppy/core": "^2.0.3",
|
||||||
|
"@uppy/xhr-upload": "^2.0.3",
|
||||||
|
"@wangeditor/basic-modules": "1.x",
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"lodash.foreach": "^4.5.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/@wangeditor/video-module": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==",
|
||||||
|
"peer": true,
|
||||||
|
"peerDependencies": {
|
||||||
|
"@uppy/core": "^2.1.4",
|
||||||
|
"@uppy/xhr-upload": "^2.0.7",
|
||||||
|
"@wangeditor/core": "1.x",
|
||||||
|
"dom7": "^3.0.0",
|
||||||
|
"nanoid": "^3.2.0",
|
||||||
|
"slate": "^0.72.0",
|
||||||
|
"snabbdom": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@wangeditor/editor/node_modules/nanoid": {
|
||||||
|
"version": "3.3.7",
|
||||||
|
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||||
|
"peer": true,
|
||||||
|
"bin": {
|
||||||
|
"nanoid": "bin/nanoid.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/acorn": {
|
"node_modules/acorn": {
|
||||||
"version": "8.11.3",
|
"version": "8.11.3",
|
||||||
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
|
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
|
||||||
|
@ -2151,6 +2414,12 @@
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/compute-scroll-into-view": {
|
||||||
|
"version": "1.0.20",
|
||||||
|
"resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
|
||||||
|
"integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/concat-map": {
|
"node_modules/concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
|
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
@ -2215,6 +2484,16 @@
|
||||||
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
|
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
|
||||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||||
},
|
},
|
||||||
|
"node_modules/d": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"es5-ext": "^0.10.50",
|
||||||
|
"type": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/dayjs": {
|
"node_modules/dayjs": {
|
||||||
"version": "1.11.10",
|
"version": "1.11.10",
|
||||||
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
|
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
|
||||||
|
@ -2303,6 +2582,15 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/dom7": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ssr-window": "^3.0.0-alpha.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/dommatrix": {
|
"node_modules/dommatrix": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmmirror.com/dommatrix/-/dommatrix-1.0.3.tgz",
|
"resolved": "https://registry.npmmirror.com/dommatrix/-/dommatrix-1.0.3.tgz",
|
||||||
|
@ -2460,6 +2748,42 @@
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/es5-ext": {
|
||||||
|
"version": "0.10.62",
|
||||||
|
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz",
|
||||||
|
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"es6-iterator": "^2.0.3",
|
||||||
|
"es6-symbol": "^3.1.3",
|
||||||
|
"next-tick": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/es6-iterator": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"d": "1",
|
||||||
|
"es5-ext": "^0.10.35",
|
||||||
|
"es6-symbol": "^3.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/es6-symbol": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"d": "^1.0.1",
|
||||||
|
"ext": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/esbuild": {
|
"node_modules/esbuild": {
|
||||||
"version": "0.18.20",
|
"version": "0.18.20",
|
||||||
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
|
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
|
||||||
|
@ -2983,6 +3307,31 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/event-emitter": {
|
||||||
|
"version": "0.3.5",
|
||||||
|
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
|
||||||
|
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"d": "1",
|
||||||
|
"es5-ext": "~0.10.14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/ext": {
|
||||||
|
"version": "1.7.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
|
||||||
|
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"type": "^2.7.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/ext/node_modules/type": {
|
||||||
|
"version": "2.7.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz",
|
||||||
|
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/fast-deep-equal": {
|
"node_modules/fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
|
@ -3367,6 +3716,12 @@
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/html-void-elements": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/html2canvas": {
|
"node_modules/html2canvas": {
|
||||||
"version": "1.4.1",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
|
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||||
|
@ -3379,6 +3734,15 @@
|
||||||
"node": ">=8.0.0"
|
"node": ">=8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/i18next": {
|
||||||
|
"version": "20.6.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz",
|
||||||
|
"integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.12.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/ignore": {
|
"node_modules/ignore": {
|
||||||
"version": "5.3.0",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.0.tgz",
|
||||||
|
@ -3388,6 +3752,12 @@
|
||||||
"node": ">= 4"
|
"node": ">= 4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/immer": {
|
||||||
|
"version": "9.0.21",
|
||||||
|
"resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz",
|
||||||
|
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/immutable": {
|
"node_modules/immutable": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz",
|
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz",
|
||||||
|
@ -3550,6 +3920,12 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-hotkey": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/is-negative-zero": {
|
"node_modules/is-negative-zero": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
|
||||||
|
@ -3589,6 +3965,15 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-plain-object": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
||||||
|
"peer": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-regex": {
|
"node_modules/is-regex": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz",
|
"resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz",
|
||||||
|
@ -3647,6 +4032,12 @@
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-url": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/is-weakref": {
|
"node_modules/is-weakref": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz",
|
||||||
|
@ -3814,12 +4205,54 @@
|
||||||
"lodash-es": "*"
|
"lodash-es": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.camelcase": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.clonedeep": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.debounce": {
|
||||||
|
"version": "4.0.8",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
|
||||||
|
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.foreach": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.isequal": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/lodash.merge": {
|
"node_modules/lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.throttle": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.toarray": {
|
||||||
|
"version": "4.4.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
|
||||||
|
"integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/lru-cache": {
|
"node_modules/lru-cache": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||||
|
@ -3877,6 +4310,15 @@
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mime-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"wildcard": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/mime-types": {
|
"node_modules/mime-types": {
|
||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
|
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
@ -3929,6 +4371,12 @@
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/namespace-emitter": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "5.0.4",
|
"version": "5.0.4",
|
||||||
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.0.4.tgz",
|
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.0.4.tgz",
|
||||||
|
@ -3946,6 +4394,12 @@
|
||||||
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/next-tick": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "2.0.14",
|
"version": "2.0.14",
|
||||||
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
|
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
|
||||||
|
@ -4125,6 +4579,11 @@
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/pako": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
|
||||||
|
},
|
||||||
"node_modules/parent-module": {
|
"node_modules/parent-module": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz",
|
"resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz",
|
||||||
|
@ -4326,6 +4785,12 @@
|
||||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/preact": {
|
||||||
|
"version": "10.19.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.19.3.tgz",
|
||||||
|
"integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/prelude-ls": {
|
"node_modules/prelude-ls": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
"resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||||
|
@ -4359,6 +4824,15 @@
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/prismjs": {
|
||||||
|
"version": "1.29.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz",
|
||||||
|
"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
|
||||||
|
"peer": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/proxy-from-env": {
|
"node_modules/proxy-from-env": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
@ -4611,6 +5085,15 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/scroll-into-view-if-needed": {
|
||||||
|
"version": "2.2.31",
|
||||||
|
"resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
|
||||||
|
"integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"compute-scroll-into-view": "^1.0.20"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/scule": {
|
"node_modules/scule": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmmirror.com/scule/-/scule-1.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/scule/-/scule-1.2.0.tgz",
|
||||||
|
@ -4691,6 +5174,38 @@
|
||||||
"object-inspect": "^1.9.0"
|
"object-inspect": "^1.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/slate": {
|
||||||
|
"version": "0.72.8",
|
||||||
|
"resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz",
|
||||||
|
"integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"immer": "^9.0.6",
|
||||||
|
"is-plain-object": "^5.0.0",
|
||||||
|
"tiny-warning": "^1.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/slate-history": {
|
||||||
|
"version": "0.66.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz",
|
||||||
|
"integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-plain-object": "^5.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"slate": ">=0.65.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/snabbdom": {
|
||||||
|
"version": "3.6.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.1.tgz",
|
||||||
|
"integrity": "sha512-HHr93dBRkek19QB8OQ5QdGNRPzqLeqcUyAmbxtdE/koLKR6slFtnOlMBgeA9untY9wC7+8cw7oEAFY78K4p+Ug==",
|
||||||
|
"peer": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.17.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/source-map": {
|
"node_modules/source-map": {
|
||||||
"version": "0.7.4",
|
"version": "0.7.4",
|
||||||
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz",
|
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz",
|
||||||
|
@ -4708,6 +5223,12 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ssr-window": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/stackblur-canvas": {
|
"node_modules/stackblur-canvas": {
|
||||||
"version": "2.6.0",
|
"version": "2.6.0",
|
||||||
"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz",
|
"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz",
|
||||||
|
@ -4856,6 +5377,12 @@
|
||||||
"node": ">=12.22"
|
"node": ">=12.22"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tiny-warning": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/to-fast-properties": {
|
"node_modules/to-fast-properties": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
||||||
|
@ -4894,6 +5421,12 @@
|
||||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/type": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/type-check": {
|
"node_modules/type-check": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz",
|
"resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz",
|
||||||
|
@ -5530,6 +6063,12 @@
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wildcard": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/wrap-ansi": {
|
"node_modules/wrap-ansi": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
"@icon-park/vue-next": "^1.4.2",
|
"@icon-park/vue-next": "^1.4.2",
|
||||||
"@vueuse/core": "^9.13.0",
|
"@vueuse/core": "^9.13.0",
|
||||||
"@vueuse/integrations": "^10.7.1",
|
"@vueuse/integrations": "^10.7.1",
|
||||||
|
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"autofit.js": "^3.0.7",
|
"autofit.js": "^3.0.7",
|
||||||
"axios": "^1.6.3",
|
"axios": "^1.6.3",
|
||||||
|
|
|
@ -255,14 +255,6 @@ div::-webkit-scrollbar-track {
|
||||||
border-bottom: 1px dashed var(--el-border-color-darker);
|
border-bottom: 1px dashed var(--el-border-color-darker);
|
||||||
}
|
}
|
||||||
|
|
||||||
.w-e-bar-item:has([data-menu-key="group-video"]) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-e-bar-item-menus-container .w-e-bar-item:has([data-menu-key="insertImage"]) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vue-auth-box_ {
|
.vue-auth-box_ {
|
||||||
background: #020f3a !important;
|
background: #020f3a !important;
|
||||||
border: 1px solid #223765 !important;
|
border: 1px solid #223765 !important;
|
||||||
|
|
|
@ -2155,6 +2155,18 @@ export default [
|
||||||
component:
|
component:
|
||||||
"three_institutional_libraries/safety_production_responsibility_system/index",
|
"three_institutional_libraries/safety_production_responsibility_system/index",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/three_institutional_libraries/safety_production_management_system",
|
||||||
|
meta: { title: "安全生产管理制度", isSubMenu: false },
|
||||||
|
component:
|
||||||
|
"three_institutional_libraries/safety_production_management_system/index",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/three_institutional_libraries/safety_operating_procedures",
|
||||||
|
meta: { title: "安全操作规程", isSubMenu: false },
|
||||||
|
component:
|
||||||
|
"three_institutional_libraries/safety_operating_procedures/index",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2675,54 +2687,6 @@ export default [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: "/stakeholder_management",
|
|
||||||
redirect: "/stakeholder_management/related_parties_management",
|
|
||||||
meta: { title: "相关方管理", model: MODEL["5"] },
|
|
||||||
component: "children",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/stakeholder_management/related_parties_management",
|
|
||||||
meta: { title: "相关方单位管理", isSubMenu: false },
|
|
||||||
component: "children",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "",
|
|
||||||
component:
|
|
||||||
"stakeholder_management/related_parties_management/index",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/stakeholder_management/related_parties_management/add",
|
|
||||||
meta: {
|
|
||||||
title: "新增",
|
|
||||||
activeMenu: "/stakeholder_management/related_parties_management",
|
|
||||||
},
|
|
||||||
component: "stakeholder_management/related_parties_management/add",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/stakeholder_management/related_parties_management/edit",
|
|
||||||
meta: {
|
|
||||||
title: "修改",
|
|
||||||
activeMenu: "/stakeholder_management/related_parties_management",
|
|
||||||
},
|
|
||||||
component: "stakeholder_management/related_parties_management/add",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/stakeholder_management/outsourcing_project_management",
|
|
||||||
meta: { title: "外包工程管理", isSubMenu: false },
|
|
||||||
component: "children",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "",
|
|
||||||
component:
|
|
||||||
"stakeholder_management/outsourcing_project_management/index",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: "/special_operations",
|
path: "/special_operations",
|
||||||
redirect: "/special_operations/personnel_management",
|
redirect: "/special_operations/personnel_management",
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<Toolbar :editor="editorRef" :default-config="toolbarConfig" />
|
||||||
|
<Editor
|
||||||
|
:style="{ height, 'overflow-y': 'hidden' }"
|
||||||
|
v-model="modelValue"
|
||||||
|
@onCreated="fnEditorCreated"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||||
|
import "@wangeditor/editor/dist/css/style.css";
|
||||||
|
import { shallowRef, onBeforeUnmount } from "vue";
|
||||||
|
import { useVModel } from "@vueuse/core";
|
||||||
|
|
||||||
|
defineOptions({
|
||||||
|
name: "LayoutEditor",
|
||||||
|
});
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: "300px",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:modelValue"]);
|
||||||
|
const modelValue = useVModel(props, "modelValue", emits);
|
||||||
|
const editorRef = shallowRef();
|
||||||
|
const toolbarConfig = {
|
||||||
|
excludeKeys: [
|
||||||
|
"group-image",
|
||||||
|
"group-video",
|
||||||
|
"insertLink",
|
||||||
|
"codeBlock",
|
||||||
|
"emotion",
|
||||||
|
"todo",
|
||||||
|
],
|
||||||
|
};
|
||||||
|
const fnEditorCreated = (editor) => {
|
||||||
|
editorRef.value = editor;
|
||||||
|
};
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
editorRef.value && editorRef.value.destroy();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
|
@ -18,12 +18,12 @@
|
||||||
:clearable="true"
|
:clearable="true"
|
||||||
show-checkbox
|
show-checkbox
|
||||||
multiple
|
multiple
|
||||||
collapse-tags
|
:collapse-tags="collapseTags"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue";
|
import { nextTick, ref } from "vue";
|
||||||
import { useVModel } from "@vueuse/core";
|
import { useVModel } from "@vueuse/core";
|
||||||
import { layoutFnGetLevelsAndChildrenNumber } from "@/assets/js/data_dictionary.js";
|
import { layoutFnGetLevelsAndChildrenNumber } from "@/assets/js/data_dictionary.js";
|
||||||
import { getThreeInstitutionalLibrariesLabel } from "@/request/three_institutional_libraries.js";
|
import { getThreeInstitutionalLibrariesLabel } from "@/request/three_institutional_libraries.js";
|
||||||
|
@ -54,6 +54,14 @@ const props = defineProps({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
pathName: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
collapseTags: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const emits = defineEmits(["update:modelValue", "update:checkList"]);
|
const emits = defineEmits(["update:modelValue", "update:checkList"]);
|
||||||
const modelValue = useVModel(props, "modelValue", emits);
|
const modelValue = useVModel(props, "modelValue", emits);
|
||||||
|
@ -74,7 +82,8 @@ const fnLoad = async (node, resolve) => {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
const getCheckedNodes = () => {
|
const getCheckedNodes = async () => {
|
||||||
|
await nextTick();
|
||||||
return treeSelectRef.value.getCheckedNodes();
|
return treeSelectRef.value.getCheckedNodes();
|
||||||
};
|
};
|
||||||
defineExpose({
|
defineExpose({
|
||||||
|
@ -82,8 +91,13 @@ defineExpose({
|
||||||
});
|
});
|
||||||
let tree = [];
|
let tree = [];
|
||||||
let id = "";
|
let id = "";
|
||||||
|
const idByPathName = {
|
||||||
|
safety_production_responsibility_system: "5a7c94b2b9514285b433759edd848b4a",
|
||||||
|
safety_production_management_system: "675ed73a7d7d42a488491f6e0e9c8fd5",
|
||||||
|
safety_operating_procedures: "ca4e4a7597f8485d8be323bd6876c40b",
|
||||||
|
};
|
||||||
if (props.type === "regulations") id = "84254cb5b2ae40eb9f451509b2d370ae";
|
if (props.type === "regulations") id = "84254cb5b2ae40eb9f451509b2d370ae";
|
||||||
if (props.type === "type") id = "5a7c94b2b9514285b433759edd848b4a";
|
if (props.type === "type") id = idByPathName[props.pathName];
|
||||||
if (props.type === "industry") id = "f2598ba72e864eadabf0ca4b664d26b9";
|
if (props.type === "industry") id = "f2598ba72e864eadabf0ca4b664d26b9";
|
||||||
if (props.type === "label") {
|
if (props.type === "label") {
|
||||||
const resData = await getThreeInstitutionalLibrariesLabel();
|
const resData = await getThreeInstitutionalLibrariesLabel();
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
import { post, upload } from "@/request/axios.js";
|
|
||||||
|
|
||||||
export const getRelatedPartiesManagementList = (params) =>
|
|
||||||
post("/units/list", params); // 相关方单位管理列表
|
|
||||||
export const getRelatedPartiesManagementView = (params) =>
|
|
||||||
post("/units/goEdit", params); // 相关方单位管理查看
|
|
||||||
export const setRelatedPartiesManagementDelete = (params) =>
|
|
||||||
post("/units/delete", params); // 相关方单位管理删除
|
|
||||||
export const setRelatedPartiesManagementDeleteMultiple = (params) =>
|
|
||||||
post("/units/deleteAll", params); // 相关方单位管理批量删除
|
|
||||||
export const setRelatedPartiesManagementAdd = (params) =>
|
|
||||||
upload("/units/add", params); // 相关方单位管理新增
|
|
||||||
export const setRelatedPartiesManagementEdit = (params) =>
|
|
||||||
upload("/units/edit", params); // 相关方单位管理编辑
|
|
||||||
export const getVerifyDeduplicationUser = (params) =>
|
|
||||||
post("/units/hasName", params); // 相关方单位名称验证
|
|
||||||
export const getVerifyDeduplicationCode = (params) =>
|
|
||||||
post("/units/hasCode", params); // 统一社会信用代码验证
|
|
||||||
export const getOutsourcingProjectManagementList = (params) =>
|
|
||||||
post("/outsourced/list", params); // 外包工程管理列表
|
|
||||||
export const setOutsourcingProjectManagementDelete = (params) =>
|
|
||||||
post("/outsourced/delete", params); // 外包工程管理删除
|
|
||||||
export const setOutsourcingProjectManagementDeleteMultiple = (params) =>
|
|
||||||
post("/outsourced/deleteAll", params); // 外包工程管理批量删除
|
|
|
@ -1,6 +1,16 @@
|
||||||
import { post } from "@/request/axios.js";
|
import { post, upload } from "@/request/axios.js";
|
||||||
|
|
||||||
export const getThreeInstitutionalLibrariesList = (params) =>
|
|
||||||
post("/textLibrary/list", params); // 三项制度库列表
|
|
||||||
export const getThreeInstitutionalLibrariesLabel = (params) =>
|
export const getThreeInstitutionalLibrariesLabel = (params) =>
|
||||||
post("/labelFactory/tree", params); // 三项制度库标签
|
post("/labelFactory/tree", params); // 三项制度库标签
|
||||||
|
export const getThreeInstitutionalLibrariesList = (params) =>
|
||||||
|
post("/textLibrary/list", params); // 三项制度库列表
|
||||||
|
export const getThreeInstitutionalLibrariesView = (params) =>
|
||||||
|
post("/textLibrary/goEdit", params); // 三项制度库查看
|
||||||
|
export const getThreeInstitutionalLibrariesViewText = (params) =>
|
||||||
|
post("/textLibrary/getTextInfo", params); // 三项制度库查看富文本
|
||||||
|
export const setThreeInstitutionalLibrariesDelete = (params) =>
|
||||||
|
post("/textLibrary/delete", params); // 三项制度库删除
|
||||||
|
export const setThreeInstitutionalLibrariesSave = (params) =>
|
||||||
|
upload("/textLibrary/init", params); // 三项制度库保存
|
||||||
|
export const setThreeInstitutionalLibrariesJoinLocal = (params) =>
|
||||||
|
post("/textLibrary/copyToOperate", params); // 三项制度库加入本地
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
<span>姓名:{{ data.info.NAME }}</span>
|
<span>姓名:{{ data.info.NAME }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="sub_flex">
|
<div class="sub_flex">
|
||||||
<span>考试时间:{{ data.info.OPERATTIME }}</span>
|
<span>考试时间:{{ data.info.EXAMTIMEBEGIN }}</span>
|
||||||
<span>分数:{{ data.info.userSecond?.[0] }}</span>
|
<span>分数:{{ data.info.userSecond?.[0] }}</span>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="data.selectList.length > 0">
|
<template v-if="data.selectList.length > 0">
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检查时间:" prop="CHECKTIME">
|
<el-form-item label="检查时间" prop="CHECKTIME">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.CHECKTIME"
|
v-model="form.CHECKTIME"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
@ -26,17 +26,17 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检查机构:" prop="CHECKAGENT">
|
<el-form-item label="检查机构" prop="CHECKAGENT">
|
||||||
<el-input v-model="form.CHECKAGENT" />
|
<el-input v-model="form.CHECKAGENT" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检查情况:" prop="CHECKOUT">
|
<el-form-item label="检查情况" prop="CHECKOUT">
|
||||||
<el-input v-model="form.CHECKOUT" />
|
<el-input v-model="form.CHECKOUT" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="在岗情况:" prop="ONSITUATION">
|
<el-form-item label="在岗情况" prop="ONSITUATION">
|
||||||
<el-select v-model="form.ONSITUATION">
|
<el-select v-model="form.ONSITUATION">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dutySituationList"
|
v-for="item in dutySituationList"
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注:" prop="REMARKS">
|
<el-form-item label="备注" prop="REMARKS">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.REMARKS"
|
v-model="form.REMARKS"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
<el-divider content-position="left">职业健康检查</el-divider>
|
<el-divider content-position="left">职业健康检查</el-divider>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="上岗时间:" prop="STARTINGTIME">
|
<el-form-item label="上岗时间" prop="STARTINGTIME">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.STARTINGTIME"
|
v-model="form.STARTINGTIME"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="离岗时间:" prop="OUTTIME">
|
<el-form-item label="离岗时间" prop="OUTTIME">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.OUTTIME"
|
v-model="form.OUTTIME"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
@ -80,22 +80,22 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="岗位检查情况:" prop="POSTINSPECTION">
|
<el-form-item label="岗位检查情况" prop="POSTINSPECTION">
|
||||||
<el-input v-model="form.POSTINSPECTION" />
|
<el-input v-model="form.POSTINSPECTION" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="在岗检查情况:" prop="ONINSPECTION">
|
<el-form-item label="在岗检查情况" prop="ONINSPECTION">
|
||||||
<el-input v-model="form.ONINSPECTION" />
|
<el-input v-model="form.ONINSPECTION" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="离岗检查情况:" prop="OUTINSPECTION">
|
<el-form-item label="离岗检查情况" prop="OUTINSPECTION">
|
||||||
<el-input v-model="form.OUTINSPECTION" />
|
<el-input v-model="form.OUTINSPECTION" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注:" prop="REMARK">
|
<el-form-item label="备注" prop="REMARK">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.REMARKS2"
|
v-model="form.REMARKS2"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
<el-divider content-position="left">职业病诊疗情况</el-divider>
|
<el-divider content-position="left">职业病诊疗情况</el-divider>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="确认日期:" prop="CONFIRMATIONTIME">
|
<el-form-item label="确认日期" prop="CONFIRMATIONTIME">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.CONFIRMATIONTIME"
|
v-model="form.CONFIRMATIONTIME"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
@ -117,17 +117,17 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="诊断疾病名称:" prop="DISEASENAME">
|
<el-form-item label="诊断疾病名称" prop="DISEASENAME">
|
||||||
<el-input v-model="form.DISEASENAME" />
|
<el-input v-model="form.DISEASENAME" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="治疗情况:" prop="TREATMENT">
|
<el-form-item label="治疗情况" prop="TREATMENT">
|
||||||
<el-input v-model="form.TREATMENT" />
|
<el-input v-model="form.TREATMENT" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注:" prop="REMARK">
|
<el-form-item label="备注" prop="REMARK">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.REMARKS3"
|
v-model="form.REMARKS3"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
|
@ -139,7 +139,7 @@
|
||||||
<el-divider content-position="left">职业禁忌证</el-divider>
|
<el-divider content-position="left">职业禁忌证</el-divider>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="职业禁忌证:" prop="CONTRAINDICATION">
|
<el-form-item label="职业禁忌证" prop="CONTRAINDICATION">
|
||||||
<el-select v-model="form.CONTRAINDICATION">
|
<el-select v-model="form.CONTRAINDICATION">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in contraindicationList"
|
v-for="item in contraindicationList"
|
||||||
|
@ -151,12 +151,12 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="作业性质:" prop="NATURE">
|
<el-form-item label="作业性质" prop="NATURE">
|
||||||
<el-input v-model="form.NATURE" />
|
<el-input v-model="form.NATURE" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检查时间:" prop="CHECKTIME2">
|
<el-form-item label="检查时间" prop="CHECKTIME2">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.CHECKTIME2"
|
v-model="form.CHECKTIME2"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
|
@ -166,7 +166,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检查机构:" prop="CHECKAGENT2">
|
<el-form-item label="检查机构" prop="CHECKAGENT2">
|
||||||
<el-input v-model="form.CHECKAGENT2" />
|
<el-input v-model="form.CHECKAGENT2" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
|
@ -113,7 +113,6 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { layoutFnGetPersonnelManagementJobType } from "@/assets/js/data_dictionary.js";
|
import { layoutFnGetPersonnelManagementJobType } from "@/assets/js/data_dictionary.js";
|
||||||
import { getRelatedPartiesManagementList } from "@/request/stakeholder_management.js";
|
|
||||||
import useListData from "@/assets/js/useListData.js";
|
import useListData from "@/assets/js/useListData.js";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import {
|
import {
|
||||||
|
@ -127,6 +126,7 @@ import { useUserStore } from "@/pinia/user.js";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
import { getUnitsListAll } from "@/request/keyprojects.js";
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
@ -144,11 +144,7 @@ const sexList = [
|
||||||
];
|
];
|
||||||
const personnelManagementJobTypeList =
|
const personnelManagementJobTypeList =
|
||||||
await layoutFnGetPersonnelManagementJobType();
|
await layoutFnGetPersonnelManagementJobType();
|
||||||
const { list: unitsNameList } = useListData(getRelatedPartiesManagementList, {
|
const { list: unitsNameList } = useListData(getUnitsListAll);
|
||||||
otherParams: {
|
|
||||||
showCount: 99999,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
const fnHasCertificate = async (rule, value, callback) => {
|
const fnHasCertificate = async (rule, value, callback) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
const resData = await getVerifyDeduplicationCertificateNum({
|
const resData = await getVerifyDeduplicationCertificateNum({
|
||||||
|
|
|
@ -1,205 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<el-card>
|
|
||||||
<el-form
|
|
||||||
:model="searchForm"
|
|
||||||
label-width="80px"
|
|
||||||
@submit.prevent="fnResetPaginationTransfer"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="关键字" prop="KEYWORDS">
|
|
||||||
<el-input v-model="searchForm.KEYWORDS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item
|
|
||||||
label="合同起止时间"
|
|
||||||
prop="CONTRACTTIME"
|
|
||||||
label-width="120"
|
|
||||||
>
|
|
||||||
<el-date-picker
|
|
||||||
v-model="searchForm.CONTRACTTIME"
|
|
||||||
type="daterange"
|
|
||||||
range-separator="至"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label-width="10px">
|
|
||||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
|
||||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
|
||||||
重置
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-card>
|
|
||||||
<layout-card>
|
|
||||||
<layout-table
|
|
||||||
ref="tableRef"
|
|
||||||
row-key="OUTSOURCED_ID"
|
|
||||||
:data="list"
|
|
||||||
v-model:pagination="pagination"
|
|
||||||
@get-data="fnGetDataTransfer"
|
|
||||||
>
|
|
||||||
<el-table-column reserve-selection type="selection" width="55" />
|
|
||||||
<el-table-column label="序号" width="60">
|
|
||||||
<template #default="{ $index }">
|
|
||||||
{{ serialNumber(pagination, $index) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="OUTSOURCED_NAME"
|
|
||||||
label="外包工程名称"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column label="合同起止时间" width="180">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<template v-if="row.CONTRACT_STIME && row.CONTRACT_ETIME">
|
|
||||||
{{ row.CONTRACT_STIME }} - {{ row.CONTRACT_ETIME }}
|
|
||||||
</template>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="UNITS_NAME"
|
|
||||||
label="相关方单位名称"
|
|
||||||
width="250"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="UNITS_PIC"
|
|
||||||
label="相关方单位本项目负责人"
|
|
||||||
width="160"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column prop="APPLICANT" label="申请人" width="150" />
|
|
||||||
<el-table-column prop="STATE" label="状态" width="100" />
|
|
||||||
<el-table-column label="操作" width="150">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="
|
|
||||||
router.push({
|
|
||||||
path: '/stakeholder_management/related_parties_management/edit',
|
|
||||||
query: { OUTSOURCED_ID: row.OUTSOURCED_ID },
|
|
||||||
})
|
|
||||||
"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.edit"
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="
|
|
||||||
router.push({
|
|
||||||
path: '/stakeholder_management/related_parties_management/edit',
|
|
||||||
query: { OUTSOURCED_ID: row.OUTSOURCED_ID },
|
|
||||||
})
|
|
||||||
"
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.del"
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="fnDelete(row.OUTSOURCED_ID)"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<template #button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.add"
|
|
||||||
type="primary"
|
|
||||||
@click="
|
|
||||||
router.push({
|
|
||||||
path: '/stakeholder_management/related_parties_management/add',
|
|
||||||
})
|
|
||||||
"
|
|
||||||
>
|
|
||||||
新增
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.del"
|
|
||||||
type="danger"
|
|
||||||
@click="fnDeleteAll"
|
|
||||||
>
|
|
||||||
批量删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</layout-table>
|
|
||||||
</layout-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { serialNumber } from "@/assets/js/utils";
|
|
||||||
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
|
||||||
import { debounce } from "throttle-debounce";
|
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
|
||||||
import useListData from "@/assets/js/useListData.js";
|
|
||||||
import { useRouter } from "vue-router";
|
|
||||||
import {
|
|
||||||
getOutsourcingProjectManagementList,
|
|
||||||
setOutsourcingProjectManagementDelete,
|
|
||||||
setOutsourcingProjectManagementDeleteMultiple,
|
|
||||||
} from "@/request/stakeholder_management.js";
|
|
||||||
|
|
||||||
const router = useRouter();
|
|
||||||
const { list, pagination, searchForm, fnResetPagination, fnGetData, tableRef } =
|
|
||||||
useListData(getOutsourcingProjectManagementList);
|
|
||||||
const fnGetDataTransfer = () => {
|
|
||||||
fnGetData({
|
|
||||||
CONTRACT_STIME: searchForm.value.CONTRACTTIME?.[0],
|
|
||||||
CONTRACT_ETIME: searchForm.value.CONTRACTTIME?.[1],
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const fnResetPaginationTransfer = () => {
|
|
||||||
fnResetPagination({
|
|
||||||
CONTRACT_STIME: searchForm.value.CONTRACTTIME?.[0],
|
|
||||||
CONTRACT_ETIME: searchForm.value.CONTRACTTIME?.[1],
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const buttonJurisdiction = await useButtonJurisdiction("outsourced");
|
|
||||||
const fnDelete = debounce(
|
|
||||||
1000,
|
|
||||||
async (OUTSOURCED_ID) => {
|
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
|
||||||
await setOutsourcingProjectManagementDelete({ OUTSOURCED_ID });
|
|
||||||
ElMessage.success("删除成功");
|
|
||||||
fnResetPaginationTransfer();
|
|
||||||
},
|
|
||||||
{ atBegin: true }
|
|
||||||
);
|
|
||||||
const fnDeleteAll = debounce(
|
|
||||||
1000,
|
|
||||||
async () => {
|
|
||||||
const selectionData = tableRef.value.getSelectionRows();
|
|
||||||
if (selectionData.length === 0) {
|
|
||||||
ElMessage.warning("请选择要删除的数据");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const DATA_IDS = selectionData.map((item) => item.OUTSOURCED_ID).join(",");
|
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
|
||||||
await setOutsourcingProjectManagementDeleteMultiple({ DATA_IDS });
|
|
||||||
ElMessage.success("删除成功");
|
|
||||||
fnResetPaginationTransfer();
|
|
||||||
},
|
|
||||||
{ atBegin: true }
|
|
||||||
);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
|
@ -1,260 +0,0 @@
|
||||||
<template>
|
|
||||||
<layout-card>
|
|
||||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="170px">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="相关方单位名称" prop="UNITS_NAME">
|
|
||||||
<el-input v-model="form.UNITS_NAME" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="统一社会信用代码" prop="CODE">
|
|
||||||
<el-input v-model="form.CODE" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="属地" prop="POSSESSION">
|
|
||||||
<layout-territory
|
|
||||||
ref="territoryCascaderRef"
|
|
||||||
v-model="form.POSSESSION"
|
|
||||||
:level="4"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="企事业单位经营地址" prop="ADDRESS">
|
|
||||||
<el-input v-model="form.ADDRESS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="主要负责人" prop="CONTACTS">
|
|
||||||
<el-input v-model="form.CONTACTS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="主要负责人电话" prop="CONTACTS_PHONE">
|
|
||||||
<el-input v-model="form.CONTACTS_PHONE" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="法人手机号" prop="LR_MOBILE">
|
|
||||||
<el-input v-model="form.LR_MOBILE" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="职工人数(人)" prop="EMPLOYEES">
|
|
||||||
<el-input-number
|
|
||||||
:min="0"
|
|
||||||
v-model="form.EMPLOYEES"
|
|
||||||
controls-position="right"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="成立时间">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="form.CREATE_DATE"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
type="date"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="注册资金(万元)">
|
|
||||||
<el-input-number
|
|
||||||
:min="0"
|
|
||||||
v-model="form.REGCAPITAL"
|
|
||||||
controls-position="right"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="资产总额(万元)">
|
|
||||||
<el-input-number
|
|
||||||
:min="0"
|
|
||||||
v-model="form.TOTALASSETS"
|
|
||||||
controls-position="right"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="类型" prop="UNITS_TYPE">
|
|
||||||
<el-select v-model="form.UNITS_TYPE">
|
|
||||||
<el-option
|
|
||||||
v-for="item in typeList"
|
|
||||||
:key="item.ID"
|
|
||||||
:label="item.NAME"
|
|
||||||
:value="item.NAME"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="营业执照" prop="file">
|
|
||||||
<layout-upload
|
|
||||||
v-model:file-list="form.file"
|
|
||||||
accept=".jpg,.jpeg,.png"
|
|
||||||
list-type="picture-card"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<div class="mt-10 tc">
|
|
||||||
<el-button type="primary" @click="fnSubmit">提交</el-button>
|
|
||||||
</div>
|
|
||||||
</layout-card>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import LayoutUpload from "@/components/upload/index.vue";
|
|
||||||
import { ref } from "vue";
|
|
||||||
import LayoutTerritory from "@/components/territory/index.vue";
|
|
||||||
import {
|
|
||||||
getRelatedPartiesManagementView,
|
|
||||||
getVerifyDeduplicationCode,
|
|
||||||
getVerifyDeduplicationUser,
|
|
||||||
setRelatedPartiesManagementAdd,
|
|
||||||
setRelatedPartiesManagementEdit,
|
|
||||||
} from "@/request/stakeholder_management.js";
|
|
||||||
import { useRoute, useRouter } from "vue-router";
|
|
||||||
import { debounce } from "throttle-debounce";
|
|
||||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
|
||||||
import { ElMessage } from "element-plus";
|
|
||||||
import { addingPrefixToFile } from "@/assets/js/utils.js";
|
|
||||||
|
|
||||||
const route = useRoute();
|
|
||||||
const router = useRouter();
|
|
||||||
const { UNITS_ID } = route.query;
|
|
||||||
const typeList = [
|
|
||||||
{ ID: "0", NAME: "常驻" },
|
|
||||||
{ ID: "1", NAME: "临时" },
|
|
||||||
];
|
|
||||||
const fnHasUser = async (rule, value, callback) => {
|
|
||||||
if (value) {
|
|
||||||
try {
|
|
||||||
await getVerifyDeduplicationUser({
|
|
||||||
UNITS_NAME: value,
|
|
||||||
UNITS_ID,
|
|
||||||
});
|
|
||||||
callback();
|
|
||||||
} catch (err) {
|
|
||||||
callback(new Error(err.msg));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const fnHasCode = async (rule, value, callback) => {
|
|
||||||
if (value) {
|
|
||||||
try {
|
|
||||||
await getVerifyDeduplicationCode({
|
|
||||||
CODE: value,
|
|
||||||
UNITS_ID,
|
|
||||||
});
|
|
||||||
callback();
|
|
||||||
} catch (err) {
|
|
||||||
callback(new Error(err.msg));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const rules = {
|
|
||||||
UNITS_NAME: [
|
|
||||||
{ required: true, message: "相关方单位名称不能为空", trigger: "blur" },
|
|
||||||
{ validator: fnHasUser, trigger: "blur" },
|
|
||||||
],
|
|
||||||
CODE: [
|
|
||||||
{ required: true, message: "统一社会信用代码不能为空", trigger: "blur" },
|
|
||||||
{
|
|
||||||
pattern: /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/,
|
|
||||||
message: "请输入正确的统一社会信用代码",
|
|
||||||
},
|
|
||||||
{ validator: fnHasCode, trigger: "blur" },
|
|
||||||
],
|
|
||||||
POSSESSION: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
|
||||||
ADDRESS: [
|
|
||||||
{ required: true, message: "企事业单位经营地址不能为空", trigger: "blur" },
|
|
||||||
],
|
|
||||||
CONTACTS: [
|
|
||||||
{ required: true, message: "主要负责人不能为空", trigger: "blur" },
|
|
||||||
],
|
|
||||||
CONTACTS_PHONE: [
|
|
||||||
{ required: true, message: "主要负责人电话不能为空", trigger: "blur" },
|
|
||||||
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
|
|
||||||
{
|
|
||||||
pattern:
|
|
||||||
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
|
|
||||||
message: "请输入正确的手机号码",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
LR_MOBILE: [
|
|
||||||
{ min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
|
|
||||||
{
|
|
||||||
pattern:
|
|
||||||
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
|
|
||||||
message: "请输入正确的手机号码",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
UNITS_TYPE: [{ required: true, message: "类型不能为空", trigger: "change" }],
|
|
||||||
file: [{ required: true, message: "营业执照不能为空", trigger: "change" }],
|
|
||||||
};
|
|
||||||
const form = ref({
|
|
||||||
UNITS_NAME: "",
|
|
||||||
CODE: "",
|
|
||||||
POSSESSION: [],
|
|
||||||
ADDRESS: "",
|
|
||||||
CONTACTS: "",
|
|
||||||
CONTACTS_PHONE: "",
|
|
||||||
LR_MOBILE: "",
|
|
||||||
EMPLOYEES: "",
|
|
||||||
CREATE_DATE: "",
|
|
||||||
REGCAPITAL: "",
|
|
||||||
TOTALASSETS: "",
|
|
||||||
UNITS_TYPE: "",
|
|
||||||
file: [],
|
|
||||||
});
|
|
||||||
const formRef = ref(null);
|
|
||||||
const territoryCascaderRef = ref(null);
|
|
||||||
const fnGetData = async () => {
|
|
||||||
if (!UNITS_ID) return;
|
|
||||||
const resData = await getRelatedPartiesManagementView({ UNITS_ID });
|
|
||||||
console.log(resData.pd);
|
|
||||||
form.value = resData.pd;
|
|
||||||
form.value.file = addingPrefixToFile([{ FILEPATH: resData.pd.FILEPATH }]);
|
|
||||||
};
|
|
||||||
fnGetData();
|
|
||||||
const fnSubmit = debounce(
|
|
||||||
1000,
|
|
||||||
async () => {
|
|
||||||
useFormValidate(formRef);
|
|
||||||
const formData = new FormData();
|
|
||||||
Object.keys(form.value).forEach((key) => {
|
|
||||||
formData.append(key, form.value[key]);
|
|
||||||
});
|
|
||||||
formData.delete("file");
|
|
||||||
for (let i = 0; i < form.value.file.length; i++) {
|
|
||||||
form.value.file[i].raw && formData.append("file", form.value.file[i].raw);
|
|
||||||
}
|
|
||||||
formData.append("PROVINCE", form.value.POSSESSION[0]);
|
|
||||||
formData.append("CITY", form.value.POSSESSION[1]);
|
|
||||||
formData.append("COUNTY", form.value.POSSESSION[2]);
|
|
||||||
formData.append("VILLAGE", form.value.POSSESSION[3]);
|
|
||||||
formData.append("STREET", form.value.POSSESSION[4]);
|
|
||||||
formData.append(
|
|
||||||
"COMPANY_AREA",
|
|
||||||
territoryCascaderRef.value.getCheckedNodes()
|
|
||||||
);
|
|
||||||
!UNITS_ID
|
|
||||||
? await setRelatedPartiesManagementAdd(formData)
|
|
||||||
: await setRelatedPartiesManagementEdit(formData);
|
|
||||||
ElMessage.success("提交成功");
|
|
||||||
router.back();
|
|
||||||
},
|
|
||||||
{ atBegin: true }
|
|
||||||
);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss"></style>
|
|
|
@ -1,166 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<el-card>
|
|
||||||
<el-form
|
|
||||||
:model="searchForm"
|
|
||||||
label-width="80px"
|
|
||||||
@submit.prevent="fnResetPagination"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="关键字" prop="KEYWORDS">
|
|
||||||
<el-input v-model="searchForm.KEYWORDS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="类型" prop="UNITS_TYPE">
|
|
||||||
<el-select v-model="searchForm.UNITS_TYPE">
|
|
||||||
<el-option
|
|
||||||
v-for="item in typeList"
|
|
||||||
:key="item.ID"
|
|
||||||
:label="item.NAME"
|
|
||||||
:value="item.NAME"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label-width="10px">
|
|
||||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
|
||||||
<el-button native-type="reset" @click="fnResetPagination">
|
|
||||||
重置
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-card>
|
|
||||||
<layout-card>
|
|
||||||
<layout-table
|
|
||||||
ref="tableRef"
|
|
||||||
row-key="UNITS_ID"
|
|
||||||
:data="list"
|
|
||||||
v-model:pagination="pagination"
|
|
||||||
@get-data="fnGetData"
|
|
||||||
>
|
|
||||||
<el-table-column reserve-selection type="selection" width="55" />
|
|
||||||
<el-table-column label="序号" width="60">
|
|
||||||
<template #default="{ $index }">
|
|
||||||
{{ serialNumber(pagination, $index) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="UNITS_NAME"
|
|
||||||
label="相关方单位名称"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column prop="CODE" label="统一社会信用代码" width="160" />
|
|
||||||
<el-table-column
|
|
||||||
prop="CONTACTS"
|
|
||||||
label="主要负责人"
|
|
||||||
width="150"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column prop="UNITS_TYPE" label="类型" width="100" />
|
|
||||||
<el-table-column label="操作" width="150">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.edit"
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="
|
|
||||||
router.push({
|
|
||||||
path: '/stakeholder_management/related_parties_management/edit',
|
|
||||||
query: { UNITS_ID: row.UNITS_ID },
|
|
||||||
})
|
|
||||||
"
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.del"
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="fnDelete(row.UNITS_ID)"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<template #button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.add"
|
|
||||||
type="primary"
|
|
||||||
@click="
|
|
||||||
router.push({
|
|
||||||
path: '/stakeholder_management/related_parties_management/add',
|
|
||||||
})
|
|
||||||
"
|
|
||||||
>
|
|
||||||
新增
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="buttonJurisdiction.del"
|
|
||||||
type="danger"
|
|
||||||
@click="fnDeleteAll"
|
|
||||||
>
|
|
||||||
批量删除
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</layout-table>
|
|
||||||
</layout-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { serialNumber } from "@/assets/js/utils";
|
|
||||||
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
|
||||||
import { debounce } from "throttle-debounce";
|
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
|
||||||
import useListData from "@/assets/js/useListData.js";
|
|
||||||
import { useRouter } from "vue-router";
|
|
||||||
import {
|
|
||||||
getRelatedPartiesManagementList,
|
|
||||||
setRelatedPartiesManagementDelete,
|
|
||||||
setRelatedPartiesManagementDeleteMultiple,
|
|
||||||
} from "@/request/stakeholder_management.js";
|
|
||||||
|
|
||||||
const router = useRouter();
|
|
||||||
const typeList = [
|
|
||||||
{ ID: "0", NAME: "常驻" },
|
|
||||||
{ ID: "1", NAME: "临时" },
|
|
||||||
];
|
|
||||||
const { list, pagination, searchForm, fnResetPagination, fnGetData, tableRef } =
|
|
||||||
useListData(getRelatedPartiesManagementList);
|
|
||||||
const buttonJurisdiction = await useButtonJurisdiction("units");
|
|
||||||
const fnDelete = debounce(
|
|
||||||
1000,
|
|
||||||
async (UNITS_ID) => {
|
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
|
||||||
await setRelatedPartiesManagementDelete({ UNITS_ID });
|
|
||||||
ElMessage.success("删除成功");
|
|
||||||
fnResetPagination();
|
|
||||||
},
|
|
||||||
{ atBegin: true }
|
|
||||||
);
|
|
||||||
const fnDeleteAll = debounce(
|
|
||||||
1000,
|
|
||||||
async () => {
|
|
||||||
const selectionData = tableRef.value.getSelectionRows();
|
|
||||||
if (selectionData.length === 0) {
|
|
||||||
ElMessage.warning("请选择要删除的数据");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const DATA_IDS = selectionData.map((item) => item.UNITS_ID).join(",");
|
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
|
||||||
await setRelatedPartiesManagementDeleteMultiple({ DATA_IDS });
|
|
||||||
ElMessage.success("删除成功");
|
|
||||||
fnResetPagination();
|
|
||||||
},
|
|
||||||
{ atBegin: true }
|
|
||||||
);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<index-view path-name="safety_operating_procedures" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import IndexView from "../safety_production_responsibility_system/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<index-view path-name="safety_production_management_system" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import IndexView from "../safety_production_responsibility_system/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,158 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-model="visible"
|
||||||
|
:title="type === 'add' ? '新增' : '修改'"
|
||||||
|
:on-close="fnClose"
|
||||||
|
>
|
||||||
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="170">
|
||||||
|
<el-form-item :label="labelName" prop="REMARKS">
|
||||||
|
<el-input v-model="form.REMARKS" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="类型" prop="TYPES">
|
||||||
|
<layout-three-institutional-libraries
|
||||||
|
ref="typeRef"
|
||||||
|
v-model="form.TYPES"
|
||||||
|
type="type"
|
||||||
|
:path-name="pathName"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="文件" prop="file">
|
||||||
|
<layout-upload v-model:file-list="form.file" accept=".pdf" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="文件内容" prop="TEXT_INFO">
|
||||||
|
<div
|
||||||
|
class="tr mb-10"
|
||||||
|
style="flex: 1"
|
||||||
|
v-if="form.TEXT_INFO && type === 'edit'"
|
||||||
|
>
|
||||||
|
<el-button type="primary" @click="fnExport">导出WORD</el-button>
|
||||||
|
</div>
|
||||||
|
<layout-editor v-model="form.TEXT_INFO" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="标签" prop="labels">
|
||||||
|
<layout-three-institutional-libraries
|
||||||
|
ref="labelRef"
|
||||||
|
v-model="form.labels"
|
||||||
|
type="label"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="fnClose">取消</el-button>
|
||||||
|
<el-button type="primary" @click="fnSubmit">确定</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useVModels } from "@vueuse/core";
|
||||||
|
import { ref } from "vue";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import LayoutThreeInstitutionalLibraries from "@/components/three_institutional_libraries/index.vue";
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
import LayoutEditor from "@/components/editor/index.vue";
|
||||||
|
import { setThreeInstitutionalLibrariesSave } from "@/request/three_institutional_libraries.js";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
form: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
labelName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
association: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
pathName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:visible", "update:form", "get-data"]);
|
||||||
|
const { visible, form } = useVModels(props, emits);
|
||||||
|
const rules = {
|
||||||
|
REMARKS: [
|
||||||
|
{ required: true, message: `请输入${props.labelName}`, trigger: "blur" },
|
||||||
|
],
|
||||||
|
TYPES: [{ required: true, message: "请选择类型", trigger: "change" }],
|
||||||
|
file: [{ required: true, message: "请上传文件", trigger: "change" }],
|
||||||
|
};
|
||||||
|
const formRef = ref(null);
|
||||||
|
const typeRef = ref(null);
|
||||||
|
const labelRef = ref(null);
|
||||||
|
const fnClose = () => {
|
||||||
|
formRef.value.resetFields();
|
||||||
|
visible.value = false;
|
||||||
|
};
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
async () => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
const formData = new FormData();
|
||||||
|
Object.keys(form.value).forEach((key) => {
|
||||||
|
formData.append(key, form.value[key]);
|
||||||
|
});
|
||||||
|
formData.delete("file");
|
||||||
|
formData.delete("TYPES");
|
||||||
|
formData.delete("CATEGORY_LIST");
|
||||||
|
formData.delete("labels");
|
||||||
|
form.value.file?.[0]?.raw &&
|
||||||
|
formData.append("FILE", form.value.file[0].raw);
|
||||||
|
formData.append(
|
||||||
|
"labels",
|
||||||
|
JSON.stringify(await labelRef.value.getCheckedNodes())
|
||||||
|
);
|
||||||
|
const SOURCE_TYPES = await typeRef.value.getCheckedNodes();
|
||||||
|
const TYPES = [];
|
||||||
|
for (let i = 0; i < SOURCE_TYPES.length; i++) {
|
||||||
|
TYPES.push({
|
||||||
|
CATEGORY: "TYPES",
|
||||||
|
CATEGORY_ID: SOURCE_TYPES[i].DICTIONARIES_ID,
|
||||||
|
CATEGORY_NAME: SOURCE_TYPES[i].NAME,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
formData.append("TYPES", JSON.stringify(TYPES));
|
||||||
|
const CATEGORY_LIST = [
|
||||||
|
{
|
||||||
|
CATEGORY: "CATEGORY_LIST",
|
||||||
|
CATEGORY_ID: "7158f688d0f34054a28a9275139298df",
|
||||||
|
CATEGORY_NAME: "行业专属类",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
formData.append("CATEGORY_LIST", JSON.stringify(CATEGORY_LIST));
|
||||||
|
formData.append("ASSOCIATION", props.association);
|
||||||
|
await setThreeInstitutionalLibrariesSave(formData);
|
||||||
|
ElMessage.success("操作成功");
|
||||||
|
fnClose();
|
||||||
|
emits("get-data");
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
const fnExport = () => {
|
||||||
|
window.location.href =
|
||||||
|
import.meta.env[import.meta.env.DEV ? "VITE_PROXY" : "VITE_BASE_URL"] +
|
||||||
|
"/textLibrary/exportWord?BUS_TEXT_LIBRARY_ID=" +
|
||||||
|
form.value.BUS_TEXT_LIBRARY_ID;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -20,6 +20,7 @@
|
||||||
ref="regulationsRef"
|
ref="regulationsRef"
|
||||||
v-model="searchForm.CATEGORY_LIST"
|
v-model="searchForm.CATEGORY_LIST"
|
||||||
type="regulations"
|
type="regulations"
|
||||||
|
collapse-tags
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -29,6 +30,8 @@
|
||||||
ref="typeRef"
|
ref="typeRef"
|
||||||
v-model="searchForm.TYPES"
|
v-model="searchForm.TYPES"
|
||||||
type="type"
|
type="type"
|
||||||
|
collapse-tags
|
||||||
|
:path-name="pathName"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -42,15 +45,17 @@
|
||||||
ref="industryRef"
|
ref="industryRef"
|
||||||
v-model="searchForm.SPECIFICATION_TYPES"
|
v-model="searchForm.SPECIFICATION_TYPES"
|
||||||
type="industry"
|
type="industry"
|
||||||
|
collapse-tags
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="标签" prop="LABELS">
|
<el-form-item label="标签" prop="labels">
|
||||||
<layout-three-institutional-libraries
|
<layout-three-institutional-libraries
|
||||||
ref="labelRef"
|
ref="labelRef"
|
||||||
v-model="searchForm.LABELS"
|
v-model="searchForm.labels"
|
||||||
type="label"
|
type="label"
|
||||||
|
collapse-tags
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -94,7 +99,7 @@
|
||||||
{{ serialNumber(pagination, $index) }}
|
{{ serialNumber(pagination, $index) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="REMARKS" label="安全生产管理制度名称" />
|
<el-table-column prop="REMARKS" :label="labelName" />
|
||||||
<el-table-column label="类型">
|
<el-table-column label="类型">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
{{
|
{{
|
||||||
|
@ -127,40 +132,177 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="UPLOAD_TIME" label="上传时间" width="150px" />
|
<el-table-column prop="UPLOAD_TIME" label="上传时间" width="150px" />
|
||||||
|
<el-table-column label="操作" width="200">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<el-button
|
||||||
|
v-if="tabName === 'platform_resource_library'"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnJoinLocal(row.BUS_TEXT_LIBRARY_ID)"
|
||||||
|
>
|
||||||
|
加入本地
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnView(row.BUS_TEXT_LIBRARY_ID)"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<template v-if="tabName === 'self_administered'">
|
||||||
|
<el-button
|
||||||
|
v-if="buttonJurisdiction.edit"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnAddOrEdit(row.BUS_TEXT_LIBRARY_ID, 'edit')"
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="useDownloadFile(row.PATH)"
|
||||||
|
>
|
||||||
|
导出
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="buttonJurisdiction.del"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnDelete(row.BUS_TEXT_LIBRARY_ID)"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<template #button>
|
||||||
|
<el-button
|
||||||
|
v-if="buttonJurisdiction.add && tabName === 'self_administered'"
|
||||||
|
type="primary"
|
||||||
|
@click="fnAddOrEdit('', 'add')"
|
||||||
|
>
|
||||||
|
新增
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
</layout-table>
|
</layout-table>
|
||||||
|
<add
|
||||||
|
v-model:visible="data.addOrEditDialog.visible"
|
||||||
|
v-model:form="data.addOrEditDialog.form"
|
||||||
|
:type="data.addOrEditDialog.type"
|
||||||
|
:label-name="labelName"
|
||||||
|
:association="ASSOCIATION[pathName]"
|
||||||
|
:path-name="pathName"
|
||||||
|
@get-data="fnResetPaginationTransfer"
|
||||||
|
/>
|
||||||
|
<view-info
|
||||||
|
v-model:visible="data.viewDialog.visible"
|
||||||
|
:info="data.viewDialog.info"
|
||||||
|
:label-name="labelName"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { serialNumber } from "@/assets/js/utils.js";
|
import { addingPrefixToFile, serialNumber } from "@/assets/js/utils.js";
|
||||||
import useListData from "@/assets/js/useListData.js";
|
import useListData from "@/assets/js/useListData.js";
|
||||||
import { getThreeInstitutionalLibrariesList } from "@/request/three_institutional_libraries.js";
|
import {
|
||||||
|
getThreeInstitutionalLibrariesList,
|
||||||
|
getThreeInstitutionalLibrariesView,
|
||||||
|
getThreeInstitutionalLibrariesViewText,
|
||||||
|
setThreeInstitutionalLibrariesDelete,
|
||||||
|
setThreeInstitutionalLibrariesJoinLocal,
|
||||||
|
} from "@/request/three_institutional_libraries.js";
|
||||||
import LayoutThreeInstitutionalLibraries from "@/components/three_institutional_libraries/index.vue";
|
import LayoutThreeInstitutionalLibraries from "@/components/three_institutional_libraries/index.vue";
|
||||||
import { ref } from "vue";
|
import { nextTick, reactive, ref } from "vue";
|
||||||
import { getEnterpriseList } from "@/request/enterprise_management.js";
|
import { getEnterpriseList } from "@/request/enterprise_management.js";
|
||||||
import { throttle } from "throttle-debounce";
|
import { debounce, throttle } from "throttle-debounce";
|
||||||
|
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
||||||
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
|
import useDownloadFile from "@/assets/js/useDownloadFile.js";
|
||||||
|
import Add from "./add.vue";
|
||||||
|
import ViewInfo from "./view.vue";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
tabName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
pathName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
labelName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
const regulationsRef = ref(null);
|
const regulationsRef = ref(null);
|
||||||
const typeRef = ref(null);
|
const typeRef = ref(null);
|
||||||
const industryRef = ref(null);
|
const industryRef = ref(null);
|
||||||
const labelRef = ref(null);
|
const labelRef = ref(null);
|
||||||
|
const data = reactive({
|
||||||
|
addOrEditDialog: {
|
||||||
|
visible: false,
|
||||||
|
type: "",
|
||||||
|
form: {
|
||||||
|
REMARKS: "",
|
||||||
|
TYPES: [],
|
||||||
|
file: [],
|
||||||
|
TEXT_INFO: "",
|
||||||
|
labels: [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
viewDialog: {
|
||||||
|
visible: false,
|
||||||
|
info: {},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const ASSOCIATION = {
|
||||||
|
safety_production_responsibility_system: "2",
|
||||||
|
safety_production_management_system: "1",
|
||||||
|
safety_operating_procedures: "0",
|
||||||
|
};
|
||||||
|
const fnGetOtherParams = () => {
|
||||||
|
const otherParams = { ASSOCIATION: ASSOCIATION[props.pathName] };
|
||||||
|
if (props.tabName === "self_administered") {
|
||||||
|
otherParams.ENTERPRISE_SIDE = "0";
|
||||||
|
} else if (props.tabName === "platform_resource_library") {
|
||||||
|
otherParams.CORPINFO_ID = "0";
|
||||||
|
}
|
||||||
|
return otherParams;
|
||||||
|
};
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
useListData(getThreeInstitutionalLibrariesList, {
|
useListData(getThreeInstitutionalLibrariesList, {
|
||||||
otherParams: { ASSOCIATION: "2", ENTERPRISE_SIDE: "0" },
|
otherParams: fnGetOtherParams(),
|
||||||
});
|
});
|
||||||
const fnGetCheckedNodes = () => {
|
const buttonJurisdiction = await useButtonJurisdiction("textlibrary");
|
||||||
|
const fnGetCheckedNodes = async () => {
|
||||||
|
await nextTick();
|
||||||
|
const CATEGORY_LIST = await regulationsRef.value.getCheckedNodes();
|
||||||
|
const TYPES = await typeRef.value.getCheckedNodes();
|
||||||
|
const SPECIFICATION_TYPES = await industryRef.value.getCheckedNodes();
|
||||||
|
const labels = await labelRef.value.getCheckedNodes();
|
||||||
return {
|
return {
|
||||||
CATEGORY_LIST: JSON.stringify(regulationsRef.value.getCheckedNodes()),
|
CATEGORY_LIST: JSON.stringify(CATEGORY_LIST),
|
||||||
TYPES: JSON.stringify(typeRef.value.getCheckedNodes()),
|
TYPES: JSON.stringify(TYPES),
|
||||||
SPECIFICATION_TYPES: JSON.stringify(industryRef.value.getCheckedNodes()),
|
SPECIFICATION_TYPES: JSON.stringify(SPECIFICATION_TYPES),
|
||||||
LABELS: JSON.stringify(labelRef.value.getCheckedNodes()),
|
labels: JSON.stringify(labels),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
const fnGetDataTransfer = () => {
|
const fnGetDataTransfer = async () => {
|
||||||
fnGetData({ ...fnGetCheckedNodes() });
|
fnGetData({ ...(await fnGetCheckedNodes()) });
|
||||||
};
|
};
|
||||||
const fnResetPaginationTransfer = () => {
|
const fnResetPaginationTransfer = async () => {
|
||||||
fnResetPagination({ ...fnGetCheckedNodes() });
|
fnResetPagination({ ...(await fnGetCheckedNodes()) });
|
||||||
};
|
};
|
||||||
const selectLoading = ref(false);
|
const selectLoading = ref(false);
|
||||||
const enterpriseList = ref([]);
|
const enterpriseList = ref([]);
|
||||||
|
@ -172,6 +314,69 @@ const fnRemoteMethod = throttle(500, async (query) => {
|
||||||
selectLoading.value = false;
|
selectLoading.value = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
const fnDelete = debounce(
|
||||||
|
1000,
|
||||||
|
async (BUS_TEXT_LIBRARY_ID) => {
|
||||||
|
await ElMessageBox.confirm("确定要删除吗?", {
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
await setThreeInstitutionalLibrariesDelete({ BUS_TEXT_LIBRARY_ID });
|
||||||
|
ElMessage.success("删除成功");
|
||||||
|
fnResetPaginationTransfer();
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
const fnView = async (BUS_TEXT_LIBRARY_ID) => {
|
||||||
|
const resData = await getThreeInstitutionalLibrariesView({
|
||||||
|
BUS_TEXT_LIBRARY_ID,
|
||||||
|
});
|
||||||
|
const { info } = await getThreeInstitutionalLibrariesViewText({
|
||||||
|
BUS_TEXT_LIBRARY_ID,
|
||||||
|
});
|
||||||
|
data.viewDialog.info = resData.data;
|
||||||
|
data.viewDialog.info.TEXT_INFO = info.TEXT_INFO;
|
||||||
|
data.viewDialog.visible = true;
|
||||||
|
};
|
||||||
|
const fnAddOrEdit = async (BUS_TEXT_LIBRARY_ID, type) => {
|
||||||
|
data.addOrEditDialog.visible = true;
|
||||||
|
await nextTick();
|
||||||
|
data.addOrEditDialog.type = type;
|
||||||
|
if (type === "edit") {
|
||||||
|
const resData = await getThreeInstitutionalLibrariesView({
|
||||||
|
BUS_TEXT_LIBRARY_ID,
|
||||||
|
});
|
||||||
|
const { info } = await getThreeInstitutionalLibrariesViewText({
|
||||||
|
BUS_TEXT_LIBRARY_ID,
|
||||||
|
});
|
||||||
|
data.addOrEditDialog.form = resData.data;
|
||||||
|
data.addOrEditDialog.form.TEXT_INFO = info.TEXT_INFO;
|
||||||
|
data.addOrEditDialog.form.file = addingPrefixToFile([
|
||||||
|
{ FILEPATH: resData.data.PATH },
|
||||||
|
]);
|
||||||
|
const TYPES = [];
|
||||||
|
for (let i = 0; i < resData.data.TYPES.length; i++) {
|
||||||
|
TYPES.push(resData.data.TYPES[i].CATEGORY_ID);
|
||||||
|
}
|
||||||
|
data.addOrEditDialog.form.TYPES = TYPES;
|
||||||
|
const labels = [];
|
||||||
|
for (let i = 0; i < resData.data.labels.length; i++) {
|
||||||
|
labels.push(resData.data.labels[i].BUS_LABEL_FACTORY_ID);
|
||||||
|
}
|
||||||
|
data.addOrEditDialog.form.labels = labels;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const fnJoinLocal = debounce(
|
||||||
|
1000,
|
||||||
|
async (BUS_TEXT_LIBRARY_ID) => {
|
||||||
|
await ElMessageBox.confirm("确定要将此条数据添加到本地?", {
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
await setThreeInstitutionalLibrariesJoinLocal({ BUS_TEXT_LIBRARY_ID });
|
||||||
|
ElMessage.success("添加成功");
|
||||||
|
fnResetPaginationTransfer();
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog v-model="visible" title="查看">
|
||||||
|
<el-descriptions :column="1" border>
|
||||||
|
<el-descriptions-item :label="labelName">
|
||||||
|
{{ info.REMARKS }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="规程属性">
|
||||||
|
{{
|
||||||
|
info.CATEGORY_LIST.map((item) => item.CATEGORY_NAME)
|
||||||
|
.filter(Boolean)
|
||||||
|
.join("、")
|
||||||
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="类型">
|
||||||
|
{{
|
||||||
|
info.TYPES.map((item) => item.CATEGORY_NAME)
|
||||||
|
.filter(Boolean)
|
||||||
|
.join("、")
|
||||||
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="国民经济行业类型">
|
||||||
|
{{
|
||||||
|
info.SPECIFICATION_TYPES.map((item) => item.CATEGORY_NAME)
|
||||||
|
.filter(Boolean)
|
||||||
|
.join("、")
|
||||||
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="上传时间">
|
||||||
|
{{ info.UPLOAD_TIME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="上传人">
|
||||||
|
{{ info.UPLOAD_USER_NAME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="标签">
|
||||||
|
{{
|
||||||
|
info.labels
|
||||||
|
.map((item) => item.NAME)
|
||||||
|
.filter(Boolean)
|
||||||
|
.join("、")
|
||||||
|
}}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="文件">
|
||||||
|
{{ getFileName(info.PATH) }}
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
class="ml-10"
|
||||||
|
@click="useDownloadFile(info.PATH)"
|
||||||
|
>
|
||||||
|
下载
|
||||||
|
</el-button>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="文件内容">
|
||||||
|
<div v-html="info.TEXT_INFO" />
|
||||||
|
<el-button v-if="info.TEXT_INFO" type="primary" @click="fnExport">
|
||||||
|
导出WORD
|
||||||
|
</el-button>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="visible = false">关闭</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useVModel } from "@vueuse/core";
|
||||||
|
import { getFileName } from "@/assets/js/utils.js";
|
||||||
|
import useDownloadFile from "@/assets/js/useDownloadFile.js";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
info: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
labelName: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:visible"]);
|
||||||
|
const visible = useVModel(props, "visible", emits);
|
||||||
|
const fnExport = () => {
|
||||||
|
window.location.href =
|
||||||
|
import.meta.env[import.meta.env.DEV ? "VITE_PROXY" : "VITE_BASE_URL"] +
|
||||||
|
"/textLibrary/exportWord?BUS_TEXT_LIBRARY_ID=" +
|
||||||
|
props.info.BUS_TEXT_LIBRARY_ID;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -1,14 +1,24 @@
|
||||||
<template>
|
<template>
|
||||||
<layout-card>
|
<layout-card>
|
||||||
<el-tabs v-model="name" @tab-change="fnTabChange">
|
<el-tabs v-model="name" @tab-change="fnTabChange">
|
||||||
<el-tab-pane label="安全生产责任制" name="responsibility_system" lazy>
|
<el-tab-pane :label="labelName[pathName]" name="self_administered" lazy>
|
||||||
<list-view />
|
<list-view
|
||||||
|
tab-name="self_administered"
|
||||||
|
:path-name="pathName"
|
||||||
|
:label-name="labelName[pathName] + '名称'"
|
||||||
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
label="安全生产责任制平台资源库"
|
:label="labelName[pathName] + '平台资源库'"
|
||||||
name="platform_resource_library"
|
name="platform_resource_library"
|
||||||
lazy
|
lazy
|
||||||
></el-tab-pane>
|
>
|
||||||
|
<list-view
|
||||||
|
tab-name="platform_resource_library"
|
||||||
|
:path-name="pathName"
|
||||||
|
:label-name="labelName[pathName] + '名称'"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</layout-card>
|
</layout-card>
|
||||||
</template>
|
</template>
|
||||||
|
@ -18,17 +28,28 @@ import { ref } from "vue";
|
||||||
import { onBeforeRouteUpdate, useRoute, useRouter } from "vue-router";
|
import { onBeforeRouteUpdate, useRoute, useRouter } from "vue-router";
|
||||||
import ListView from "./components/list.vue";
|
import ListView from "./components/list.vue";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
pathName: {
|
||||||
|
type: String,
|
||||||
|
default: "safety_production_responsibility_system",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const labelName = {
|
||||||
|
safety_production_responsibility_system: "安全生产责任制",
|
||||||
|
safety_production_management_system: "安全生产管理制度",
|
||||||
|
safety_operating_procedures: "安全操作规程",
|
||||||
|
};
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const defaultName = "responsibility_system";
|
const defaultName = "self_administered";
|
||||||
const name = ref(route.query.name || defaultName);
|
const name = ref(route.query.name || defaultName);
|
||||||
onBeforeRouteUpdate((to, from, next) => {
|
onBeforeRouteUpdate(async (to, from, next) => {
|
||||||
name.value = to.query.name || defaultName;
|
name.value = to.query.name || defaultName;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
const fnTabChange = (name) => {
|
const fnTabChange = (name) => {
|
||||||
router.push({
|
router.replace({
|
||||||
path: "/three_institutional_libraries/safety_production_responsibility_system",
|
path: `/three_institutional_libraries/${props.pathName}`,
|
||||||
query: {
|
query: {
|
||||||
name,
|
name,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue