Explorar o código

附件添加按钮

duy hai 1 ano
pai
achega
19a52b1c58
Modificáronse 4 ficheiros con 177 adicións e 270 borrados
  1. 10 10
      package.json
  2. 62 42
      src/views/data-fill/components/HcUpload.vue
  3. 39 21
      src/views/data-fill/wbs.vue
  4. 66 197
      yarn.lock

+ 10 - 10
package.json

@@ -15,31 +15,31 @@
     "dependencies": {
         "axios": "^1.5.0",
         "crypto-js": "^4.1.1",
-        "dayjs": "^1.11.9",
+        "dayjs": "^1.11.10",
         "echarts": "^5.4.3",
-        "element-plus": "2.3.12",
+        "element-plus": "2.3.14",
         "js-base64": "^3.7.5",
-        "js-fast-way": "0.2.5",
+        "js-fast-way": "0.2.9",
         "js-md5": "^0.7.3",
-        "js-web-screen-shot": "^1.9.8",
+        "js-web-screen-shot": "^1.9.9",
         "nprogress": "^0.2.0",
         "pinia": "^2.1.6",
         "split.js": "^1.6.5",
         "vue": "3.3.4",
-        "vue-router": "^4.2.4",
+        "vue-router": "^4.2.5",
         "vuedraggable": "^4.1.0"
     },
     "devDependencies": {
         "@vitejs/plugin-vue": "^4.3.4",
         "@vue/compiler-sfc": "^3.3.4",
         "archiver": "^6.0.1",
-        "autoprefixer": "^10.4.15",
+        "autoprefixer": "^10.4.16",
         "cssnano": "^6.0.1",
-        "eslint": "^8.48.0",
+        "eslint": "^8.50.0",
         "eslint-plugin-vue": "^9.17.0",
-        "hc-vue3-ui": "^1.8.8",
-        "postcss": "^8.4.29",
-        "sass": "^1.66.1",
+        "hc-vue3-ui": "^2.0.9",
+        "postcss": "^8.4.30",
+        "sass": "^1.68.0",
         "tailwindcss": "3.3.3",
         "vite": "^4.4.9",
         "z-element-plus": "^1.1.4"

+ 62 - 42
src/views/data-fill/components/HcUpload.vue

@@ -1,61 +1,84 @@
 <template>
-    <el-upload :accept="accept" :action="action" :before-remove="delUploadData" :before-upload="beforeUpload"
-               :data="uploadData"
-               :disabled="isCanupload" :file-list="fileListData" :headers="getTokenHeader()" :on-error="uploadError"
-               :on-exceed="uploadExceed" :on-preview="uploadPreview" :on-progress="uploadprogress"
-               :on-remove="uploadRemove" :on-success="uploadSuccess" class="hc-upload-border"
-               drag multiple>
+    <el-upload
+        :accept="accept" :action="action" :before-remove="delUploadData" :before-upload="beforeUpload"
+        :data="uploadData"
+        :disabled="isCanuploadVal" :file-list="fileListData" :headers="getTokenHeader()" :on-error="uploadError"
+        :on-exceed="uploadExceed" :on-preview="uploadPreview" :on-progress="uploadprogress"
+        :on-remove="uploadRemove" :on-success="uploadSuccess" class="hc-upload-border"
+        drag multiple
+    >
         <div v-loading="uploadDisabled" :element-loading-text="loadingText" class="hc-upload-loading">
-            <HcIcon name="backup" ui="text-5xl mt-4"/>
+            <HcIcon name="backup" ui="text-5xl mt-4" />
             <div class="el-upload__text">拖动文件到这里 或 <em>点击这里选择文件</em> 并上传</div>
         </div>
         <template #tip>
-            <div class="el-upload__tip" style="font-size: 14px;">允许格式:jpg/png/pdf/excel/word, 文件大小 小于 60MB
+            <div class="el-upload__tip" style="font-size: 14px;">
+                {{ acceptTip }}
             </div>
         </template>
     </el-upload>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {getTokenHeader} from '~src/api/request/header';
-import wbsApi from "~api/data-fill/wbs"
-import {isFileSize} from "js-fast-way"
+import { onMounted, ref, watch } from 'vue'
+import { getTokenHeader } from '~src/api/request/header'
+import wbsApi from '~api/data-fill/wbs'
+import { isFileSize } from 'js-fast-way'
 
 const props = defineProps({
     fileList: {
         type: Array,
-        default: () => ([])
+        default: () => ([]),
     },
     datas: {
         type: Object,
-        default: () => ({})
+        default: () => ({}),
     },
     isCanupload:{
         type:Boolean,
         default:false,
-    }
-       
+    },
+    action:{
+        type:String,
+        default:'/api/blade-manager/exceltab/add-buss-file',
+    },   
+    accept:{
+        type:String,
+        default:'image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword',
+    },
+    acceptTip:{
+        type:String,
+        default:'允许格式:jpg/png/pdf/excel/word, 文件大小 小于 60MB',
+    },
     
 })
 
+//事件
+const emit = defineEmits(['change'])
 //变量
 const uploadData = ref(props.datas)
-const fileListData = ref(props.fileList);
-const action = '/api/blade-manager/exceltab/add-buss-file';
-const accept = 'image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword';
+const fileListData = ref(props.fileList)
+const action = ref(props.action)
+const accept = ref(props.accept)
+const acceptTip = ref(props.acceptTip)
 const uploadDisabled = ref(false)
-const isCanuploadVal=ref(props.isCanupload)
+const isCanuploadVal = ref(props.isCanupload)
 
 //监听
 watch(() => [
     props.fileList,
     props.datas,
-    props.isCanupload
-], ([fileList, datas,isCanupload]) => {
+    props.isCanupload,
+    props.action,
+    props.accept,
+    props.acceptTip,
+], ([fileList, datas, isCanupload, Action, Accept, Tip]) => {
     uploadData.value = datas
     fileListData.value = fileList
-    isCanuploadVal.value=isCanupload
+    isCanuploadVal.value = isCanupload
+    action.value = Action
+    accept.value = Accept
+    acceptTip.value = Tip
 })
 
 //渲染完成
@@ -65,24 +88,21 @@ onMounted(() => {
     errorFileNum.value = 0
 })
 
-//事件
-const emit = defineEmits(['change'])
-
 //上传前
 const beforeFileNum = ref(0)
 const beforeUpload = async (file) => {
     if (isFileSize(file?.size, 60)) {
-        beforeFileNum.value++;
-        return true;
+        beforeFileNum.value++
+        return true
     } else {
-        window?.$message?.warning('文件大小, 不能过60M!');
-        return false;
+        window?.$message?.warning('文件大小, 不能过60M!')
+        return false
     }
 }
 
 //超出限制时
 const uploadExceed = () => {
-    window?.$message?.warning('请上传 jpg/png/pdf/excel/word 的文件,文件大小 不超过60M');
+    window?.$message?.warning('请上传 jpg/png/pdf/excel/word 的文件,文件大小 不超过60M')
 }
 
 //上传中
@@ -95,38 +115,38 @@ const uploadprogress = () => {
 //上传完成
 const finishFileNum = ref(0)
 const uploadSuccess = () => {
-    finishFileNum.value++;
+    finishFileNum.value++
     if (beforeFileNum.value === finishFileNum.value) {
         uploadDisabled.value = false
-        emit('change', {type: 'success'})
+        emit('change', { type: 'success' })
     }
 }
 
 //上传失败
 const errorFileNum = ref(0)
 const uploadError = () => {
-    errorFileNum.value++;
-    window?.$message?.error('上传失败');
-    const num = finishFileNum.value + errorFileNum.value;
+    errorFileNum.value++
+    window?.$message?.error('上传失败')
+    const num = finishFileNum.value + errorFileNum.value
     if (beforeFileNum.value === num) {
         uploadDisabled.value = false
-        emit('change', {type: 'success'})
+        emit('change', { type: 'success' })
     }
 }
 
 //预览
-const uploadPreview = ({url}) => {
+const uploadPreview = ({ url }) => {
     if (url) {
         window.open(url, '_blank')
     }
 }
 
 //删除文件
-const delUploadData = async ({id}) => {
+const delUploadData = async ({ id }) => {
     loadingText.value = '删除中...'
     uploadDisabled.value = true
-    const {error, code} = await wbsApi.removeBussFile({
-        ids: id
+    const { error, code } = await wbsApi.removeBussFile({
+        ids: id,
     })
     uploadDisabled.value = false
     if (!error && code === 200) {
@@ -139,7 +159,7 @@ const delUploadData = async ({id}) => {
 
 const uploadRemove = () => {
     if (fileListData.value.length <= 0) {
-        emit('change', {type: 'del'})
+        emit('change', { type: 'del' })
     }
 }
 </script>

+ 39 - 21
src/views/data-fill/wbs.vue

@@ -187,7 +187,7 @@
                             <HcIcon name="file" />
                             <span>附件</span>
                         </el-button>
-                        <el-button hc-btn :loading="addFilelistLoaing" @click="addFilelist">
+                        <el-button hc-btn :disabled="isCanadd" @click="addFilelist">
                             <HcIcon name="add" />
                             <span>附件添加</span>
                         </el-button>
@@ -663,6 +663,12 @@
                 <HcNoData />
             </div>
         </HcDialog>
+
+        <!-- 附件添加 -->
+        <!-- 上传文件 -->
+        <HcDialog :footer="false" :show="uploadModal" title="上传文件" widths="38rem" @close="uploadModalClose">
+            <HcUpload :datas="uploadData" :file-list="fileListData" :is-canupload="false" action="/api/blade-manager/exceltab/add-buss-node" accept="application/pdf" accept-tip="允许格式:pdf" @change="uploadChange" />
+        </HcDialog>
     </div>
 </template>
 
@@ -682,6 +688,7 @@ import wbsApi from '~api/data-fill/wbs'
 import queryApi from '~api/data-fill/query'
 import Draggable from 'vuedraggable'
 import { delMessageV2 } from '~com/message/index.js'
+import HcUpload from './components/HcUpload.vue'
 
 //初始变量
 const router = useRouter()
@@ -1034,6 +1041,12 @@ const wbsElTreeClick = ({ node, data, keys }) => {
     nodeItemInfo.value = node
     nodeDataInfo.value = data
     primaryKeyId.value = data?.primaryKeyId || ''
+    const { notExsitChild } = data
+    if (notExsitChild) {
+        isCanadd.value = false
+    } else {
+        isCanadd.value = true
+    }
     setStoreValue('wbsTreeExpandKeys', keys)
     TreeAutoExpandKeys.value = keys || []
     getTableDataAll()
@@ -2006,28 +2019,33 @@ const syncdata = async ()=>{
     }
 }
 //附件添加
-const addFilelistLoaing = ref(false)
+const isCanadd = ref(true)
+ const uploadModal = ref(false)
+ const fileListData = ref([])
+const uploadData = ref({})
+const uploadModalClose = ()=>{
+    uploadModal.value = false
+ }
+//获取附件添加列表
+const getBussFileList = async (pkeyId) => {
+    const { error, code, data } = await wbsApi.getBussFileList({
+        pkeyid: pkeyId,
+    })
+    if (!error && code === 200) {
+        fileListData.value = getArrValue(data)
+    } else {
+        fileListData.value = []
+    }
+}
 const addFilelist = ()=>{
+    getBussFileList(primaryKeyId.value)
+     uploadModal.value = true
        //上传的配置
-       uploadFileOptions.value = {
-            url: '/api/blade-manager/exceltab/add-bussfile-node',
-            accept: 'application/pdf',
-            accept_tip: 'pdf',
-            headers: getTokenHeader(),
-            multiple: true,
-        }
-        uploadFileEchoParams.value = {
-            type: 'add-fileList',
-           
-        }
-        uploadFileParams.value = {
-            projectId:projectId.value,
-            contractId:contractId.value,
-            classify: authBtnTabKey.value,
-            nodeId:  primaryKeyId.value,
-        }
-        HcUploadFileRef?.value?.cancelUpload()
-        HcUploadFileRef.value?.selectFile()
+       uploadData.value = {
+                classify:authBtnTabKey.value,
+                nodeId: primaryKeyId.value,
+            }
+
 }
 </script>
 

+ 66 - 197
yarn.lock

@@ -164,10 +164,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.48.0":
-  version "8.48.0"
-  resolved "http://47.110.251.215:9000/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb"
-  integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==
+"@eslint/js@8.50.0":
+  version "8.50.0"
+  resolved "http://47.110.251.215:9000/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484"
+  integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==
 
 "@floating-ui/core@^1.2.6":
   version "1.2.6"
@@ -181,10 +181,10 @@
   dependencies:
     "@floating-ui/core" "^1.2.6"
 
-"@humanwhocodes/config-array@^0.11.10":
-  version "0.11.10"
-  resolved "http://47.110.251.215:9000/@humanwhocodes/config-array/-/config-array-0.11.10.tgz"
-  integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
+"@humanwhocodes/config-array@^0.11.11":
+  version "0.11.11"
+  resolved "http://47.110.251.215:9000/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844"
+  integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==
   dependencies:
     "@humanwhocodes/object-schema" "^1.2.1"
     debug "^4.1.1"
@@ -290,16 +290,6 @@
   resolved "http://47.110.251.215:9000/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz#a289dff38e01949fe7be581d5542cabaeb961dec"
   integrity sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==
 
-"@vue/compiler-core@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/compiler-core/-/compiler-core-3.3.2.tgz"
-  integrity sha512-CKZWo1dzsQYTNTft7whzjL0HsrEpMfiK7pjZ2WFE3bC1NA7caUjWioHSK+49y/LK7Bsm4poJZzAMnvZMQ7OTeg==
-  dependencies:
-    "@babel/parser" "^7.21.3"
-    "@vue/shared" "3.3.2"
-    estree-walker "^2.0.2"
-    source-map-js "^1.0.2"
-
 "@vue/compiler-core@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/compiler-core/-/compiler-core-3.3.4.tgz"
@@ -310,14 +300,6 @@
     estree-walker "^2.0.2"
     source-map-js "^1.0.2"
 
-"@vue/compiler-dom@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/compiler-dom/-/compiler-dom-3.3.2.tgz"
-  integrity sha512-6gS3auANuKXLw0XH6QxkWqyPYPunziS2xb6VRenM3JY7gVfZcJvkCBHkb5RuNY1FCbBO3lkIi0CdXUCW1c7SXw==
-  dependencies:
-    "@vue/compiler-core" "3.3.2"
-    "@vue/shared" "3.3.2"
-
 "@vue/compiler-dom@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz"
@@ -326,22 +308,6 @@
     "@vue/compiler-core" "3.3.4"
     "@vue/shared" "3.3.4"
 
-"@vue/compiler-sfc@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/compiler-sfc/-/compiler-sfc-3.3.2.tgz"
-  integrity sha512-jG4jQy28H4BqzEKsQqqW65BZgmo3vzdLHTBjF+35RwtDdlFE+Fk1VWJYUnDMMqkFBo6Ye1ltSKVOMPgkzYj7SQ==
-  dependencies:
-    "@babel/parser" "^7.20.15"
-    "@vue/compiler-core" "3.3.2"
-    "@vue/compiler-dom" "3.3.2"
-    "@vue/compiler-ssr" "3.3.2"
-    "@vue/reactivity-transform" "3.3.2"
-    "@vue/shared" "3.3.2"
-    estree-walker "^2.0.2"
-    magic-string "^0.30.0"
-    postcss "^8.1.10"
-    source-map-js "^1.0.2"
-
 "@vue/compiler-sfc@3.3.4", "@vue/compiler-sfc@^3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
@@ -358,14 +324,6 @@
     postcss "^8.1.10"
     source-map-js "^1.0.2"
 
-"@vue/compiler-ssr@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/compiler-ssr/-/compiler-ssr-3.3.2.tgz"
-  integrity sha512-K8OfY5FQtZaSOJHHe8xhEfIfLrefL/Y9frv4k4NsyQL3+0lRKxr9QuJhfdBDjkl7Fhz8CzKh63mULvmOfx3l2w==
-  dependencies:
-    "@vue/compiler-dom" "3.3.2"
-    "@vue/shared" "3.3.2"
-
 "@vue/compiler-ssr@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz"
@@ -379,17 +337,6 @@
   resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
   integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
 
-"@vue/reactivity-transform@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/reactivity-transform/-/reactivity-transform-3.3.2.tgz"
-  integrity sha512-iu2WaQvlJHdnONrsyv4ibIEnSsuKF+aHFngGj/y1lwpHQtalpVhKg9wsKMoiKXS9zPNjG9mNKzJS9vudvjzvyg==
-  dependencies:
-    "@babel/parser" "^7.20.15"
-    "@vue/compiler-core" "3.3.2"
-    "@vue/shared" "3.3.2"
-    estree-walker "^2.0.2"
-    magic-string "^0.30.0"
-
 "@vue/reactivity-transform@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz"
@@ -401,13 +348,6 @@
     estree-walker "^2.0.2"
     magic-string "^0.30.0"
 
-"@vue/reactivity@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/reactivity/-/reactivity-3.3.2.tgz"
-  integrity sha512-yX8C4uTgg2Tdj+512EEMnMKbLveoITl7YdQX35AYgx8vBvQGszKiiCN46g4RY6/deeo/5DLbeUUGxCq1qWMf5g==
-  dependencies:
-    "@vue/shared" "3.3.2"
-
 "@vue/reactivity@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
@@ -415,14 +355,6 @@
   dependencies:
     "@vue/shared" "3.3.4"
 
-"@vue/runtime-core@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/runtime-core/-/runtime-core-3.3.2.tgz"
-  integrity sha512-qSl95qj0BvKfcsO+hICqFEoLhJn6++HtsPxmTkkadFbuhe3uQfJ8HmQwvEr7xbxBd2rcJB6XOJg7nWAn/ymC5A==
-  dependencies:
-    "@vue/reactivity" "3.3.2"
-    "@vue/shared" "3.3.2"
-
 "@vue/runtime-core@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
@@ -431,15 +363,6 @@
     "@vue/reactivity" "3.3.4"
     "@vue/shared" "3.3.4"
 
-"@vue/runtime-dom@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/runtime-dom/-/runtime-dom-3.3.2.tgz"
-  integrity sha512-+drStsJT+0mtgHdarT7cXZReCcTFfm6ptxMrz0kAW5hms6UNBd8Q1pi4JKlncAhu+Ld/TevsSp7pqAZxBBoGng==
-  dependencies:
-    "@vue/runtime-core" "3.3.2"
-    "@vue/shared" "3.3.2"
-    csstype "^3.1.1"
-
 "@vue/runtime-dom@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
@@ -449,14 +372,6 @@
     "@vue/shared" "3.3.4"
     csstype "^3.1.1"
 
-"@vue/server-renderer@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/server-renderer/-/server-renderer-3.3.2.tgz"
-  integrity sha512-QCwh6OGwJg6GDLE0fbQhRTR6tnU+XDJ1iCsTYHXBiezCXAhqMygFRij7BiLF4ytvvHcg5kX9joX5R5vP85++wg==
-  dependencies:
-    "@vue/compiler-ssr" "3.3.2"
-    "@vue/shared" "3.3.2"
-
 "@vue/server-renderer@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
@@ -465,11 +380,6 @@
     "@vue/compiler-ssr" "3.3.4"
     "@vue/shared" "3.3.4"
 
-"@vue/shared@3.3.2":
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/@vue/shared/-/shared-3.3.2.tgz"
-  integrity sha512-0rFu3h8JbclbnvvKrs7Fe5FNGV9/5X2rPD7KmOzhLSUAiQH5//Hq437Gv0fR5Mev3u/nbtvmLl8XgwCU20/ZfQ==
-
 "@vue/shared@3.3.4":
   version "3.3.4"
   resolved "http://47.110.251.215:9000/@vue/shared/-/shared-3.3.4.tgz"
@@ -592,27 +502,18 @@ asynckit@^0.4.0:
   resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
   integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
 
-autoprefixer@^10.4.15:
-  version "10.4.15"
-  resolved "http://47.110.251.215:9000/autoprefixer/-/autoprefixer-10.4.15.tgz#a1230f4aeb3636b89120b34a1f513e2f6834d530"
-  integrity sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==
+autoprefixer@^10.4.16:
+  version "10.4.16"
+  resolved "http://47.110.251.215:9000/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8"
+  integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==
   dependencies:
     browserslist "^4.21.10"
-    caniuse-lite "^1.0.30001520"
-    fraction.js "^4.2.0"
+    caniuse-lite "^1.0.30001538"
+    fraction.js "^4.3.6"
     normalize-range "^0.1.2"
     picocolors "^1.0.0"
     postcss-value-parser "^4.2.0"
 
-axios@^1.4.0:
-  version "1.4.0"
-  resolved "http://47.110.251.215:9000/axios/-/axios-1.4.0.tgz"
-  integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==
-  dependencies:
-    follow-redirects "^1.15.0"
-    form-data "^4.0.0"
-    proxy-from-env "^1.1.0"
-
 axios@^1.5.0:
   version "1.5.0"
   resolved "http://47.110.251.215:9000/axios/-/axios-1.5.0.tgz#f02e4af823e2e46a9768cfc74691fdd0517ea267"
@@ -709,10 +610,10 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001517:
   resolved "http://47.110.251.215:9000/caniuse-lite/-/caniuse-lite-1.0.30001525.tgz"
   integrity sha512-/3z+wB4icFt3r0USMwxujAqRvaD/B7rvGTsKhbhSQErVrJvkZCLhgNLJxU8MevahQVH6hCU9FsHdNUFbiwmE7Q==
 
-caniuse-lite@^1.0.30001520:
-  version "1.0.30001528"
-  resolved "http://47.110.251.215:9000/caniuse-lite/-/caniuse-lite-1.0.30001528.tgz#479972fc705b996f1114336c0032418a215fd0aa"
-  integrity sha512-0Db4yyjR9QMNlsxh+kKWzQtkyflkG/snYheSzkjmvdEtEXB1+jt7A2HmSEiO6XIJPIbo92lHNGNySvE5pZcs5Q==
+caniuse-lite@^1.0.30001538:
+  version "1.0.30001539"
+  resolved "http://47.110.251.215:9000/caniuse-lite/-/caniuse-lite-1.0.30001539.tgz#325a387ab1ed236df2c12dc6cd43a4fff9903a44"
+  integrity sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA==
 
 chalk@^4.0.0:
   version "4.1.2"
@@ -927,16 +828,16 @@ csstype@^3.1.1:
   resolved "http://47.110.251.215:9000/csstype/-/csstype-3.1.2.tgz"
   integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
 
+dayjs@^1.11.10:
+  version "1.11.10"
+  resolved "http://47.110.251.215:9000/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
+  integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
+
 dayjs@^1.11.3:
   version "1.11.7"
   resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz"
   integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
 
-dayjs@^1.11.9:
-  version "1.11.9"
-  resolved "http://47.110.251.215:9000/dayjs/-/dayjs-1.11.9.tgz"
-  integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
-
 debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
   version "4.3.4"
   resolved "http://47.110.251.215:9000/debug/-/debug-4.3.4.tgz"
@@ -1014,31 +915,10 @@ electron-to-chromium@^1.4.477:
   resolved "http://47.110.251.215:9000/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz"
   integrity sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg==
 
-element-plus@2.3.12:
-  version "2.3.12"
-  resolved "http://47.110.251.215:9000/element-plus/-/element-plus-2.3.12.tgz#d3c91d0c701b2b3e67d06a351cb0c42dcc46460e"
-  integrity sha512-fAWpbKCyt+l1dsqSNPOs/F/dBN4Wp5CGAyxbiS5zqDwI4q3QPM+LxLU2h3GUHMIBtMGCvmsG98j5HPMkTKkvcA==
-  dependencies:
-    "@ctrl/tinycolor" "^3.4.1"
-    "@element-plus/icons-vue" "^2.0.6"
-    "@floating-ui/dom" "^1.0.1"
-    "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7"
-    "@types/lodash" "^4.14.182"
-    "@types/lodash-es" "^4.17.6"
-    "@vueuse/core" "^9.1.0"
-    async-validator "^4.2.5"
-    dayjs "^1.11.3"
-    escape-html "^1.0.3"
-    lodash "^4.17.21"
-    lodash-es "^4.17.21"
-    lodash-unified "^1.0.2"
-    memoize-one "^6.0.0"
-    normalize-wheel-es "^1.2.0"
-
-element-plus@2.3.9:
-  version "2.3.9"
-  resolved "http://47.110.251.215:9000/element-plus/-/element-plus-2.3.9.tgz"
-  integrity sha512-TIOLnPl4cnoCPXqK3QYh+jpkthUBQnAM21O7o3Lhbse8v9pfrRXRTaBJtoEKnYNa8GZ4lZptUfH0PeZgDCNLUg==
+element-plus@2.3.14:
+  version "2.3.14"
+  resolved "http://47.110.251.215:9000/element-plus/-/element-plus-2.3.14.tgz#302a23916b0c3375fcf4b927d7b94483dac13e1b"
+  integrity sha512-9yvxUaU4jXf2ZNPdmIxoj/f8BG8CDcGM6oHa9JIqxLjQlfY4bpzR1E5CjNimnOX3rxO93w1TQ0jTVt0RSxh9kA==
   dependencies:
     "@ctrl/tinycolor" "^3.4.1"
     "@element-plus/icons-vue" "^2.0.6"
@@ -1143,16 +1023,16 @@ eslint-visitor-keys@^3.4.3:
   resolved "http://47.110.251.215:9000/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
-eslint@^8.48.0:
-  version "8.48.0"
-  resolved "http://47.110.251.215:9000/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155"
-  integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==
+eslint@^8.50.0:
+  version "8.50.0"
+  resolved "http://47.110.251.215:9000/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2"
+  integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.2"
-    "@eslint/js" "8.48.0"
-    "@humanwhocodes/config-array" "^0.11.10"
+    "@eslint/js" "8.50.0"
+    "@humanwhocodes/config-array" "^0.11.11"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
     ajv "^6.12.4"
@@ -1320,10 +1200,10 @@ form-data@^4.0.0:
     combined-stream "^1.0.8"
     mime-types "^2.1.12"
 
-fraction.js@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz"
-  integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+fraction.js@^4.3.6:
+  version "4.3.6"
+  resolved "http://47.110.251.215:9000/fraction.js/-/fraction.js-4.3.6.tgz#e9e3acec6c9a28cf7bc36cbe35eea4ceb2c5c92d"
+  integrity sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==
 
 fs.realpath@^1.0.0:
   version "1.0.0"
@@ -1418,20 +1298,20 @@ has@^1.0.3:
   dependencies:
     function-bind "^1.1.1"
 
-hc-vue3-ui@^1.8.8:
-  version "1.8.8"
-  resolved "http://47.110.251.215:9000/hc-vue3-ui/-/hc-vue3-ui-1.8.8.tgz#22de48483dde5c18c88b925a36b1d9f0ce2d8613"
-  integrity sha512-/fkmfeXKJ5vhb3oOepuuHrgql/yC0MeIP7sNUW1iDRhfuxDdjdjFSHnMjv2dDURronn7Toq9jIah1EQ3IPK3RA==
+hc-vue3-ui@^2.0.9:
+  version "2.0.9"
+  resolved "http://47.110.251.215:9000/hc-vue3-ui/-/hc-vue3-ui-2.0.9.tgz#033e5741c5207fcbf4ec6647cbb43eb9fd5de3ee"
+  integrity sha512-zefjcoUk/eWVMoWtjpCRKJXeK/DiHZjan7hT86EiZUDHzINk7IOGcGcpEIrZoFLzqIwlmAbwNU6OTVEW17Cwyw==
   dependencies:
-    axios "^1.4.0"
-    dayjs "^1.11.9"
-    element-plus "2.3.9"
-    js-fast-way "^0.2.5"
+    axios "^1.5.0"
+    dayjs "^1.11.10"
+    element-plus "2.3.14"
+    js-fast-way "^0.2.9"
     js-md5 "^0.7.3"
     lottie-web "^5.12.2"
     simple-uploader.js "^0.6.0"
     sortablejs "^1.15.0"
-    vue "3.3.2"
+    vue "3.3.4"
     vuedraggable "^2.24.3"
 
 html2canvas@1.4.1:
@@ -1534,20 +1414,20 @@ js-base64@^3.7.5:
   resolved "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz"
   integrity sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==
 
-js-fast-way@0.2.5, js-fast-way@^0.2.5:
-  version "0.2.5"
-  resolved "http://47.110.251.215:9000/js-fast-way/-/js-fast-way-0.2.5.tgz"
-  integrity sha512-INJw+vq1F32yvoA1nyIDybLCSyhf5ErxlrRNF2nDJ8wgNtZncWpXDzYeNZL75awmAMfM66XpGYttqJo7crjPsA==
+js-fast-way@0.2.9, js-fast-way@^0.2.9:
+  version "0.2.9"
+  resolved "http://47.110.251.215:9000/js-fast-way/-/js-fast-way-0.2.9.tgz#fd193f1a63644315331274474232d18d2c494c35"
+  integrity sha512-ORSz9K/vLBu0Xo9dXgAS9nbqi35BsooPZYj1EpkjOWEVQ8hz3dUFGwTG2r7huZyxxnWd2fXoZwSe0X77aPwhlg==
 
 js-md5@^0.7.3:
   version "0.7.3"
   resolved "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz"
   integrity sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==
 
-js-web-screen-shot@^1.9.8:
-  version "1.9.8"
-  resolved "http://47.110.251.215:9000/js-web-screen-shot/-/js-web-screen-shot-1.9.8.tgz"
-  integrity sha512-2mV1T6NGYeCRVU1D1SOoPdrS7godPYClWqR1knRaDdhqZJir4V4qSshM6UV1jkUnIjA8X4uum4u0GP6Ou9h1dg==
+js-web-screen-shot@^1.9.9:
+  version "1.9.9"
+  resolved "http://47.110.251.215:9000/js-web-screen-shot/-/js-web-screen-shot-1.9.9.tgz#b5733852cdccbf6d5e600c5484dfdab43ec4b032"
+  integrity sha512-ak02cL4SgTFMxObLw5CO2TIXhXZPkninOdZEVd4txiljArtbr81zWMBLQx/UFUTD/N9Rd/IOgqj+p496OtcoOQ==
   dependencies:
     html2canvas "1.4.1"
 
@@ -2132,10 +2012,10 @@ postcss@^8.4.27:
     picocolors "^1.0.0"
     source-map-js "^1.0.2"
 
-postcss@^8.4.29:
-  version "8.4.29"
-  resolved "http://47.110.251.215:9000/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd"
-  integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
+postcss@^8.4.30:
+  version "8.4.30"
+  resolved "http://47.110.251.215:9000/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7"
+  integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==
   dependencies:
     nanoid "^3.3.6"
     picocolors "^1.0.0"
@@ -2264,10 +2144,10 @@ safe-buffer@~5.2.0:
   resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
-sass@^1.66.1:
-  version "1.66.1"
-  resolved "http://47.110.251.215:9000/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1"
-  integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==
+sass@^1.68.0:
+  version "1.68.0"
+  resolved "http://47.110.251.215:9000/sass/-/sass-1.68.0.tgz#0034b0cc9a50248b7d1702ac166fd25990023669"
+  integrity sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==
   dependencies:
     chokidar ">=3.0.0 <4.0.0"
     immutable "^4.0.0"
@@ -2554,24 +2434,13 @@ vue-eslint-parser@^9.3.1:
     lodash "^4.17.21"
     semver "^7.3.6"
 
-vue-router@^4.2.4:
-  version "4.2.4"
-  resolved "http://47.110.251.215:9000/vue-router/-/vue-router-4.2.4.tgz"
-  integrity sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==
+vue-router@^4.2.5:
+  version "4.2.5"
+  resolved "http://47.110.251.215:9000/vue-router/-/vue-router-4.2.5.tgz#b9e3e08f1bd9ea363fdd173032620bc50cf0e98a"
+  integrity sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==
   dependencies:
     "@vue/devtools-api" "^6.5.0"
 
-vue@3.3.2:
-  version "3.3.2"
-  resolved "http://47.110.251.215:9000/vue/-/vue-3.3.2.tgz"
-  integrity sha512-98hJcAhyDwZoOo2flAQBSPVYG/o0HA9ivIy2ktHshjE+6/q8IMQ+kvDKQzOZTFPxvnNMcGM+zS2A00xeZMA7tA==
-  dependencies:
-    "@vue/compiler-dom" "3.3.2"
-    "@vue/compiler-sfc" "3.3.2"
-    "@vue/runtime-dom" "3.3.2"
-    "@vue/server-renderer" "3.3.2"
-    "@vue/shared" "3.3.2"
-
 vue@3.3.4:
   version "3.3.4"
   resolved "http://47.110.251.215:9000/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"