ZaiZai hace 10 meses
padre
commit
1d495767d5
Se han modificado 4 ficheros con 200 adiciones y 247 borrados
  1. 3 3
      package.json
  2. 1 1
      public/version.json
  3. 130 177
      src/views/tentative/material/sampling.vue
  4. 66 66
      yarn.lock

+ 3 - 3
package.json

@@ -18,7 +18,7 @@
         "dayjs": "^1.11.10",
         "echarts": "^5.5.0",
         "element-plus": "^2.7.1",
-        "hc-vue3-ui": "^3.8.6",
+        "hc-vue3-ui": "^3.8.8",
         "js-base64": "^3.7.7",
         "js-fast-way": "0.4.9",
         "js-md5": "^0.8.3",
@@ -26,14 +26,14 @@
         "nprogress": "^0.2.0",
         "pinia": "^2.1.7",
         "split.js": "^1.6.5",
-        "vue": "3.4.24",
+        "vue": "3.4.25",
         "vue-router": "^4.3.2",
         "vuedraggable": "^4.1.0"
     },
     "devDependencies": {
         "@unocss/eslint-config": "0.58.9",
         "@vitejs/plugin-vue": "^4.5.2",
-        "@vue/compiler-sfc": "^3.4.21",
+        "@vue/compiler-sfc": "^3.4.25",
         "archiver": "^7.0.1",
         "autoprefixer": "^10.4.19",
         "eslint": "^8.57.0",

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20240423172510"
+  "value": "20240424103726"
 }

+ 130 - 177
src/views/tentative/material/sampling.vue

@@ -1,127 +1,91 @@
 <template>
-    <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-box bg-white">
-            <div class="hc-project-box">
-                <div class="hc-project-icon-box">
-                    <HcIcon name="stack" />
+    <hc-body split :project-nmae="projectInfo?.projectName">
+        <template #tree>
+            <TestTree
+                :auto-expand-keys="treeAutoExpandKeys" :project-id="projectId" :tenant-id="userInfo?.tenant_id"
+                :wbs-temp-id="projectInfo?.referenceWbsTemplateIdTrial" :wbs-type="2" @node-tap="wbsElTreeClick"
+            />
+        </template>
+        <hc-new-card w-to="1650">
+            <template #headerToSearch>
+                <div class="w-64">
+                    <hc-date-picker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
                 </div>
-                <div class="ml-2 project-name-box">
-                    <span class="project-alias">{{ projectInfo.projectName }}</span>
+                <div class="ml-2 w-72">
+                    <el-input v-model="searchForm.queryValue" clearable placeholder="请输入名称、规格、材料编号查询" @keyup="keyUpEvent" />
                 </div>
-            </div>
-            <div class="hc-tree-box">
-                <el-scrollbar>
-                    <TestTree
-                        :auto-expand-keys="treeAutoExpandKeys"
-                        :project-id="projectId"
-                        :tenant-id="userInfo?.tenant_id"
-                        :wbs-temp-id="projectInfo?.referenceWbsTemplateIdTrial"
-                        :wbs-type="2"
-                        @node-tap="wbsElTreeClick"
-                    />
-                </el-scrollbar>
-            </div>
-            <!-- 左右拖动 -->
-            <div class="horizontal-drag-line" @mousedown="onmousedown" />
-        </div>
-        <div class="hc-page-content-box">
-            <HcNewCard :scrollbar="false" action-size="lg">
-                <template #header>
-                    <HcTooltip keys="tentative_material_sampling_add">
-                        <el-button :disabled="!primaryKeyId" hc-btn type="primary" @click="addFormModalClick">
-                            <HcIcon name="add-circle" />
-                            <span>新增</span>
-                        </el-button>
-                    </HcTooltip>
-                    <HcTooltip keys="tentative_material_sampling_edit">
-                        <el-button
-                            :disabled="tableCheckedKeys.length <= 0" hc-btn type="primary"
-                            color="#12C060" style="color: white;"
-                            @click="editFormModalClick"
-                        >
-                            <HcIcon name="edit" />
-                            <span>编辑</span>
-                        </el-button>
-                    </HcTooltip>
-                    <HcTooltip keys="tentative_material_sampling_copy">
-                        <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn color="#A16222" @click="copyTableModalClick">
-                            <HcIcon name="file-copy-2" />
-                            <span>复制</span>
-                        </el-button>
-                    </HcTooltip>
-                    <HcTooltip keys="tentative_material_sampling_del">
-                        <el-button v-del-com:[delModalClick] :disabled="tableCheckedKeys.length <= 0" hc-btn color="#e03997">
-                            <HcIcon name="delete-bin-2" />
-                            <span>删除</span>
-                        </el-button>
-                    </HcTooltip>
-                    <HcTooltip keys="tentative_material_sampling_printer">
-                        <el-button
-                            :disabled="tableCheckedKeys.length <= 0" :loading="printerLoading" hc-btn color="#567722"
-                            @click="printerClick"
-                        >
-                            <HcIcon name="printer" />
-                            <span>打印</span>
-                        </el-button>
-                    </HcTooltip>
-                    <HcTooltip keys="tentative_material_sampling_import">
-                        <el-button :disabled="!primaryKeyId" hc-btn color="#567722" @click="importModalClick">
-                            <HcIcon name="folder-upload" />
-                            <span>导入</span>
-                        </el-button>
-                    </HcTooltip>
-                </template>
-                <template #search>
-                    <div class="w-64">
-                        <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
-                    </div>
-                    <div class="w-72 ml-2">
-                        <el-input
-                            v-model="searchForm.queryValue" clearable
-                            placeholder="请输入名称、规格、材料编号进行查询" @keyup="keyUpEvent"
-                        />
-                    </div>
-                    <div class="ml-2">
-                        <el-button type="primary" @click="searchClick">
-                            <HcIcon name="search-2" />
-                            <span>搜索</span>
-                        </el-button>
-                    </div>
-                </template>
-                <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
-                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
-                    @selection-change="tableSelection"
-                >
-                    <template #materialCount="{ row }">{{ row.materialCount === -1 ? "" : row.materialCount }}</template>
-                    <template #representativeCount="{ row }">
-                        {{ row.representativeCount === -1 ? "" : row.representativeCount }}
-                    </template>
-                </HcTable>
-                <template #action>
-                    <HcPages :pages="searchForm" @change="pageChange" />
+                <div class="ml-2">
+                    <el-button type="primary" @click="searchClick">
+                        <hc-icon name="search-2" />
+                        <span>搜索</span>
+                    </el-button>
+                </div>
+            </template>
+            <template #extraToHeader>
+                <hc-tooltip keys="tentative_material_sampling_add">
+                    <el-button :disabled="!primaryKeyId" hc-btn type="primary" @click="addFormModalClick">
+                        <hc-icon name="add-circle" />
+                        <span>新增</span>
+                    </el-button>
+                </hc-tooltip>
+                <hc-tooltip keys="tentative_material_sampling_edit">
+                    <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn type="primary" color="#12C060" style="color: white;" @click="editFormModalClick">
+                        <hc-icon name="edit" />
+                        <span>编辑</span>
+                    </el-button>
+                </hc-tooltip>
+                <hc-tooltip keys="tentative_material_sampling_copy">
+                    <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn color="#A16222" @click="copyTableModalClick">
+                        <hc-icon name="file-copy-2" />
+                        <span>复制</span>
+                    </el-button>
+                </hc-tooltip>
+                <hc-tooltip keys="tentative_material_sampling_del">
+                    <el-button v-del-com:[delModalClick] :disabled="tableCheckedKeys.length <= 0" hc-btn color="#e03997">
+                        <hc-icon name="delete-bin-2" />
+                        <span>删除</span>
+                    </el-button>
+                </hc-tooltip>
+                <hc-tooltip keys="tentative_material_sampling_printer">
+                    <el-button :disabled="tableCheckedKeys.length <= 0" :loading="printerLoading" hc-btn color="#567722" @click="printerClick">
+                        <hc-icon name="printer" />
+                        <span>打印</span>
+                    </el-button>
+                </hc-tooltip>
+                <hc-tooltip keys="tentative_material_sampling_import">
+                    <el-button :disabled="!primaryKeyId" hc-btn color="#567722" @click="importModalClick">
+                        <hc-icon name="folder-upload" />
+                        <span>导入</span>
+                    </el-button>
+                </hc-tooltip>
+                <el-button hc-btn color="#E75643" @click="delegationClick">
+                    <hc-icon name="slack" />
+                    <span>委托</span>
+                </el-button>
+            </template>
+            <hc-table
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
+                :index-style="{ width: 60 }" :check-style="{ width: 29 }" @selection-change="tableSelection"
+            >
+                <template #materialCount="{ row }">{{ row.materialCount === -1 ? "" : row.materialCount }}</template>
+                <template #representativeCount="{ row }">
+                    {{ row.representativeCount === -1 ? "" : row.representativeCount }}
                 </template>
-            </HcNewCard>
-        </div>
+            </hc-table>
+            <template #action>
+                <hc-pages :pages="searchForm" @change="pageChange" />
+            </template>
+        </hc-new-card>
 
         <!-- 新增/编辑 -->
-        <hc-new-dialog
-            v-model="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}样品信息`" is-row-footer
-            widths="50rem" @close="addEditFormModalClose"
-        >
-            <el-form
-                ref="addEditFormRef" :model="addEditFormModel" :rules="addEditFormRules" label-width="auto"
-                size="large"
-            >
+        <hc-new-dialog v-model="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}样品信息`" is-row-footer widths="50rem" @close="addEditFormModalClose">
+            <el-form ref="addEditFormRef" :model="addEditFormModel" :rules="addEditFormRules" label-width="auto" size="large">
                 <div class="hc-form-item">
                     <el-form-item label="样品名称" prop="materialName">
                         <el-input v-model="addEditFormModel.materialName" />
                     </el-form-item>
                     <el-form-item label="进场日期">
-                        <el-date-picker
-                            v-model="addEditFormModel.mobilizationDate" :clearable="false" class="block"
-                            type="date" value-format="YYYY-MM-DD"
-                        />
+                        <el-date-picker v-model="addEditFormModel.mobilizationDate" :clearable="false" class="block" type="date" value-format="YYYY-MM-DD" />
                     </el-form-item>
                 </div>
                 <div class="hc-form-item">
@@ -129,10 +93,7 @@
                         <el-input v-model="addEditFormModel.specificationNumber" />
                     </el-form-item>
                     <el-form-item label="取样日期">
-                        <el-date-picker
-                            v-model="addEditFormModel.samplingDate" :clearable="false" class="block"
-                            type="date" value-format="YYYY-MM-DD"
-                        />
+                        <el-date-picker v-model="addEditFormModel.samplingDate" :clearable="false" class="block" type="date" value-format="YYYY-MM-DD" />
                     </el-form-item>
                 </div>
                 <div class="hc-form-item">
@@ -149,8 +110,8 @@
                     </el-form-item>
                     <el-form-item label="是否外委">
                         <el-radio-group v-model="addEditFormModel.isOutsourcing" size="large">
-                            <el-radio :label="1">是</el-radio>
-                            <el-radio :label="0">否</el-radio>
+                            <el-radio :value="1">是</el-radio>
+                            <el-radio :value="0">否</el-radio>
                         </el-radio-group>
                     </el-form-item>
                 </div>
@@ -173,7 +134,7 @@
                 <div class="hc-form-item">
                     <el-form-item label="取样人">
                         <el-select v-model="addEditFormModel.userId" block @change="changeusername">
-                            <el-option v-for="item in userListData" :label="item.userName" :value="item.userId" />
+                            <el-option v-for="item in userListData" :key="item.userId" :label="item.userName" :value="item.userId" />
                         </el-select>
                     </el-form-item>
                     <el-form-item label="拟用部位">
@@ -183,22 +144,25 @@
                 <el-form-item label="样品描述">
                     <el-input v-model="addEditFormModel.sampleDescription" />
                 </el-form-item>
+                <el-form-item label="RFID编号">
+                    <el-input v-model="addEditFormModel.rfid" />
+                </el-form-item>
             </el-form>
             <template #leftRowFooter>
-                <HcTooltip keys="tentative_material_sampling_links">
+                <hc-tooltip keys="tentative_material_sampling_links">
                     <el-button hc-btn type="primary" @click="linksApproachModalClick(addEditFormModel.mobilizationId)">
-                        <HcIcon name="links" />
+                        <hc-icon name="links" />
                         <span>关联进场材料</span>
                     </el-button>
-                </HcTooltip>
+                </hc-tooltip>
             </template>
             <template #rightRowFooter>
                 <el-button size="large" @click="addEditFormModalClose">
-                    <HcIcon name="close" />
+                    <hc-icon name="close" />
                     <span>取消</span>
                 </el-button>
                 <el-button :loading="addEditFormLoading" hc-btn type="primary" @click="addEditFormClick">
-                    <HcIcon name="check" />
+                    <hc-icon name="check" />
                     <span>确认</span>
                 </el-button>
             </template>
@@ -206,80 +170,71 @@
 
         <!-- 关联进场材料 -->
         <hc-new-dialog v-model="linksApproachModal" is-row-footer is-table title="关联进场材料信息" widths="60%" @close="linksApproachModalClose">
-            <HcTable
-                :column="linksApproachTableColumn" :datas="linksApproachTableData"
-                :is-index="false" :loading="linksApproachTableLoading" is-new
-            >
+            <hc-table :column="linksApproachTableColumn" :datas="linksApproachTableData" :is-index="false" :loading="linksApproachTableLoading">
                 <template #materialType="{ row }">{{ getRowTableMaterialType(row.materialType) }}</template>
                 <template #action="{ row }">
-                    <HcTooltip keys="tentative_material_approach_annex">
-                        <el-button
-                            v-if="mobilizationId === row.id" plain size="small" type="primary"
-                            @click="cancelApproachRow(row)"
-                        >
-                            取消关联
-                        </el-button>
-                        <el-button v-else plain size="small" type="primary" @click="linksApproachRow(row)">
-                            关联
-                        </el-button>
-                    </HcTooltip>
+                    <hc-tooltip keys="tentative_material_approach_annex">
+                        <el-button v-if="mobilizationId === row.id" plain size="small" type="primary" @click="cancelApproachRow(row)">取消关联</el-button>
+                        <el-button v-else plain size="small" type="primary" @click="linksApproachRow(row)">关联</el-button>
+                    </hc-tooltip>
                 </template>
-            </HcTable>
+            </hc-table>
             <template #leftRowFooter>
-                <HcPages :pages="ApproachSearchForm" @change="linksApproachPageChange" />
+                <hc-pages :pages="ApproachSearchForm" @change="linksApproachPageChange" />
             </template>
             <template #rightRowFooter>
                 <el-button size="large" @click="linksApproachModalClose">
-                    <HcIcon name="close" />
+                    <hc-icon name="close" />
                     <span>取消</span>
                 </el-button>
                 <el-button hc-btn type="primary" @click="linksApproachModalSave">
-                    <HcIcon name="check" />
+                    <hc-icon name="check" />
                     <span>确定</span>
                 </el-button>
             </template>
         </hc-new-dialog>
 
         <!-- 复制样品登记信息 -->
-        <hc-new-dialog
-            v-model="copyTableModal" :loading="copyTableLoading" is-table title="复制样品登记信息" widths="60rem"
-            @close="copyTableModalClose" @save="copyTableClick"
-        >
-            <HcTable :column="copyTableColumn" :datas="copyTableData" is-new :index-style="{ width: 60 }">
+        <hc-new-dialog v-model="copyTableModal" :loading="copyTableLoading" is-table title="复制样品登记信息" widths="60rem" @close="copyTableModalClose" @save="copyTableClick">
+            <hc-table :column="copyTableColumn" :datas="copyTableData" is-new :index-style="{ width: 60 }">
                 <template #specificationNumber="{ row }">
                     <el-input v-model="row.specificationNumber" placeholder="请输入样品编号" />
                 </template>
                 <template #action="{ index }">
                     <el-button plain size="small" type="danger" @click="specificationNumberDel(index)">删除</el-button>
                 </template>
-            </HcTable>
+            </hc-table>
         </hc-new-dialog>
 
         <!-- 导入 -->
         <hc-new-dialog v-model="importModal" is-row-footer title="导入" widths="38rem" @close="importModalClose">
-            <HcDragUpload
-                ref="uploadRef" api="/api/blade-business/material/" :datas="uploadData"
-                action="sample/import"
-                @finished="uploadFinished" @progress="uploadprogress"
-            />
+            <HcDragUpload ref="uploadRef" api="/api/blade-business/material/" :datas="uploadData" action="sample/import" @finished="uploadFinished" @progress="uploadprogress" />
             <template #leftRowFooter>
                 <el-button size="large" @click="downloadImportClick">
-                    <HcIcon name="download-2" />
+                    <hc-icon name="download-2" />
                     <span>下载模板</span>
                 </el-button>
             </template>
             <template #rightRowFooter>
                 <el-button size="large" @click="importModalClose">
-                    <HcIcon name="close" />
+                    <hc-icon name="close" />
                     <span>取消导入</span>
                 </el-button>
                 <el-button :loading="importModalLoading" hc-btn type="primary" @click="importModalYesClick">
-                    <HcIcon name="folder-upload" />
+                    <hc-icon name="folder-upload" />
                     <span>确认导入</span>
                 </el-button>
             </template>
         </hc-new-dialog>
-    </div>
+
+        <!-- 创建委托 -->
+        <hc-new-dialog v-model="delegateModal" is-footer-center is-table title="创建委托" widths="60rem" @close="delegateModalClose">
+            11231233
+            <template #footer>
+                <el-button hc-btn type="primary" @click="creatingDelegate">创建</el-button>
+            </template>
+        </hc-new-dialog>
+    </hc-body>
 </template>
 
 <script setup>
@@ -303,10 +258,8 @@ const projectInfo = ref(useAppState.getProjectInfo)
 const isCollapse = ref(useAppState.getCollapse)
 
 //监听
-watch(() => [
-    useAppState.getCollapse,
-], ([Collapse]) => {
-    isCollapse.value = Collapse
+watch(() => useAppState.getCollapse, (collapse) => {
+    isCollapse.value = collapse
 })
 
 //自动展开缓存
@@ -799,20 +752,20 @@ const downloadImportClick = () => {
     window.open('https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20221109/1f1cc15e4e4918d8c793fa6ec0a2ae2a.xlsx', '_blank')
 }
 
-//左右拖动,改变树形结构宽度
-const leftWidth = ref(382)
-const onmousedown = () => {
-    const leftNum = isCollapse.value ? 142 : 272
-    document.onmousemove = (ve) => {
-        let diffVal = ve.clientX - leftNum
-        if (diffVal >= 310 && diffVal <= 900) {
-            leftWidth.value = diffVal
-        }
-    }
-    document.onmouseup = () => {
-        document.onmousemove = null
-        document.onmouseup = null
-    }
+//委托
+const delegateModal = ref(false)
+const delegationClick = () => {
+    delegateModal.value = true
+}
+
+//创建委托
+const creatingDelegate = async () => {
+    delegateModalClose()
+}
+
+//关闭委托
+const delegateModalClose = () => {
+    delegateModal.value = false
 }
 </script>
 

+ 66 - 66
yarn.lock

@@ -953,13 +953,13 @@
     estree-walker "^2.0.2"
     source-map-js "^1.0.2"
 
-"@vue/compiler-core@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/compiler-core/-/compiler-core-3.4.24.tgz#6b4a5ffddcd874a692f2acfa68981201bcd7096b"
-  integrity sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==
+"@vue/compiler-core@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/compiler-core/-/compiler-core-3.4.25.tgz#691f59ee5014f6f2a2488fd4465f892e1e82f729"
+  integrity sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==
   dependencies:
     "@babel/parser" "^7.24.4"
-    "@vue/shared" "3.4.24"
+    "@vue/shared" "3.4.25"
     entities "^4.5.0"
     estree-walker "^2.0.2"
     source-map-js "^1.2.0"
@@ -972,15 +972,15 @@
     "@vue/compiler-core" "3.4.21"
     "@vue/shared" "3.4.21"
 
-"@vue/compiler-dom@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/compiler-dom/-/compiler-dom-3.4.24.tgz#b7335a49f095b6d35e48b6f7be8da513c1fa52b8"
-  integrity sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==
+"@vue/compiler-dom@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/compiler-dom/-/compiler-dom-3.4.25.tgz#b367e0c84e11d9e9f70beabdd6f6b2277fde375f"
+  integrity sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==
   dependencies:
-    "@vue/compiler-core" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/compiler-core" "3.4.25"
+    "@vue/shared" "3.4.25"
 
-"@vue/compiler-sfc@3.4.21", "@vue/compiler-sfc@^3.4.21":
+"@vue/compiler-sfc@3.4.21":
   version "3.4.21"
   resolved "http://39.108.216.210:9000/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz#4af920dc31ab99e1ff5d152b5fe0ad12181145b2"
   integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==
@@ -995,16 +995,16 @@
     postcss "^8.4.35"
     source-map-js "^1.0.2"
 
-"@vue/compiler-sfc@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/compiler-sfc/-/compiler-sfc-3.4.24.tgz#2872e353147ce2a145169a33ddd4d68dc95c3a18"
-  integrity sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==
+"@vue/compiler-sfc@3.4.25", "@vue/compiler-sfc@^3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/compiler-sfc/-/compiler-sfc-3.4.25.tgz#ceab148f81571c8b251e8a8b75a9972addf1db8b"
+  integrity sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==
   dependencies:
     "@babel/parser" "^7.24.4"
-    "@vue/compiler-core" "3.4.24"
-    "@vue/compiler-dom" "3.4.24"
-    "@vue/compiler-ssr" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/compiler-core" "3.4.25"
+    "@vue/compiler-dom" "3.4.25"
+    "@vue/compiler-ssr" "3.4.25"
+    "@vue/shared" "3.4.25"
     estree-walker "^2.0.2"
     magic-string "^0.30.10"
     postcss "^8.4.38"
@@ -1018,13 +1018,13 @@
     "@vue/compiler-dom" "3.4.21"
     "@vue/shared" "3.4.21"
 
-"@vue/compiler-ssr@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/compiler-ssr/-/compiler-ssr-3.4.24.tgz#0d11fe54dabd17cbd6393a16bf7f785da1cfab46"
-  integrity sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==
+"@vue/compiler-ssr@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/compiler-ssr/-/compiler-ssr-3.4.25.tgz#7fdd540bfdf2d4a3d6cb107b7ba4c77228d36331"
+  integrity sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==
   dependencies:
-    "@vue/compiler-dom" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/compiler-dom" "3.4.25"
+    "@vue/shared" "3.4.25"
 
 "@vue/devtools-api@^6.5.0":
   version "6.5.1"
@@ -1043,12 +1043,12 @@
   dependencies:
     "@vue/shared" "3.4.21"
 
-"@vue/reactivity@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/reactivity/-/reactivity-3.4.24.tgz#150584316ca2acc4ed19a24f9f29863c3a17a7b2"
-  integrity sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g==
+"@vue/reactivity@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/reactivity/-/reactivity-3.4.25.tgz#74983b146e06ce3341d15382669350125375d36f"
+  integrity sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==
   dependencies:
-    "@vue/shared" "3.4.24"
+    "@vue/shared" "3.4.25"
 
 "@vue/runtime-core@3.4.21":
   version "3.4.21"
@@ -1058,13 +1058,13 @@
     "@vue/reactivity" "3.4.21"
     "@vue/shared" "3.4.21"
 
-"@vue/runtime-core@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/runtime-core/-/runtime-core-3.4.24.tgz#066c544dc59a07a96c12874a57b750c239124874"
-  integrity sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g==
+"@vue/runtime-core@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/runtime-core/-/runtime-core-3.4.25.tgz#c5545d469ae0827dc471a1376f97c6ace41081ec"
+  integrity sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==
   dependencies:
-    "@vue/reactivity" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/reactivity" "3.4.25"
+    "@vue/shared" "3.4.25"
 
 "@vue/runtime-dom@3.4.21":
   version "3.4.21"
@@ -1075,13 +1075,13 @@
     "@vue/shared" "3.4.21"
     csstype "^3.1.3"
 
-"@vue/runtime-dom@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/runtime-dom/-/runtime-dom-3.4.24.tgz#4f8e7acbe1e8ffa7c55af1366e4438729ebe9b20"
-  integrity sha512-uXKzuh/Emfad2Y7Qm0ABsLZZV6H3mAJ5ZVqmAOlrNQRf+T5mxpPGZBfec1hkP41t6h6FwF6RSGCs/gd8WbuySQ==
+"@vue/runtime-dom@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/runtime-dom/-/runtime-dom-3.4.25.tgz#9bc195e4860edcd0db4303cbba5a160922b963fd"
+  integrity sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==
   dependencies:
-    "@vue/runtime-core" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/runtime-core" "3.4.25"
+    "@vue/shared" "3.4.25"
     csstype "^3.1.3"
 
 "@vue/server-renderer@3.4.21":
@@ -1092,23 +1092,23 @@
     "@vue/compiler-ssr" "3.4.21"
     "@vue/shared" "3.4.21"
 
-"@vue/server-renderer@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/server-renderer/-/server-renderer-3.4.24.tgz#80dd546f8d6a9f5c4f8b68083fe9cc2d62299332"
-  integrity sha512-H+DLK4sQF6sRgzKyofmlEVBIV/9KrQU6HIV7nt6yIwSGGKvSwlV8pqJlebUKLpbXaNHugdSfAbP6YmXF69lxow==
+"@vue/server-renderer@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/server-renderer/-/server-renderer-3.4.25.tgz#6cfc96ee631104951d5d6c09a8f1e7cef3ef3972"
+  integrity sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==
   dependencies:
-    "@vue/compiler-ssr" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/compiler-ssr" "3.4.25"
+    "@vue/shared" "3.4.25"
 
 "@vue/shared@3.4.21":
   version "3.4.21"
   resolved "http://39.108.216.210:9000/@vue/shared/-/shared-3.4.21.tgz#de526a9059d0a599f0b429af7037cd0c3ed7d5a1"
   integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
 
-"@vue/shared@3.4.24":
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/@vue/shared/-/shared-3.4.24.tgz#278ac71f492b392b9b17fe8fc7d324db1a8842db"
-  integrity sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==
+"@vue/shared@3.4.25":
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/@vue/shared/-/shared-3.4.25.tgz#243ba8543e7401751e0ca319f75a80f153edd273"
+  integrity sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==
 
 "@vueuse/core@^9.1.0":
   version "9.13.0"
@@ -2025,10 +2025,10 @@ has-flag@^4.0.0:
   resolved "http://39.108.216.210:9000/has-flag/-/has-flag-4.0.0.tgz"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-hc-vue3-ui@^3.8.6:
-  version "3.8.6"
-  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-3.8.6.tgz#aeb75c3740e2b5f8c5caf173bf52051b23baa0e6"
-  integrity sha512-9PpzbjFjQkLKa3t+A5j44TE6Mu/Afb/Y7C+ti9ozS4K0FAOeGNBebo+NB8VSb94KP2qQA7vbTHfOh6MI4eDQzg==
+hc-vue3-ui@^3.8.8:
+  version "3.8.8"
+  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-3.8.8.tgz#8e4555a8ef6a69bddb01adb19d83007b94f59693"
+  integrity sha512-3NZ77xC8LY2Ze2lsqI1ZZI+7VKSLsKpBs/5Yd2sdTNpUP0LRL0yPp5BGt80TJsnK0d31yyHQ6+TmFG1sCrXEwA==
   dependencies:
     axios "^1.6.8"
     dayjs "^1.11.10"
@@ -3109,16 +3109,16 @@ vue@3.4.21:
     "@vue/server-renderer" "3.4.21"
     "@vue/shared" "3.4.21"
 
-vue@3.4.24:
-  version "3.4.24"
-  resolved "http://39.108.216.210:9000/vue/-/vue-3.4.24.tgz#f269549939a6c092480f018aa0bd886ba64f4c6f"
-  integrity sha512-NPdx7dLGyHmKHGRRU5bMRYVE+rechR+KDU5R2tSTNG36PuMwbfAJ+amEvOAw7BPfZp5sQulNELSLm5YUkau+Sg==
+vue@3.4.25:
+  version "3.4.25"
+  resolved "http://39.108.216.210:9000/vue/-/vue-3.4.25.tgz#e59d4ed36389647b52ff2fd7aa84bb6691f4205b"
+  integrity sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==
   dependencies:
-    "@vue/compiler-dom" "3.4.24"
-    "@vue/compiler-sfc" "3.4.24"
-    "@vue/runtime-dom" "3.4.24"
-    "@vue/server-renderer" "3.4.24"
-    "@vue/shared" "3.4.24"
+    "@vue/compiler-dom" "3.4.25"
+    "@vue/compiler-sfc" "3.4.25"
+    "@vue/runtime-dom" "3.4.25"
+    "@vue/server-renderer" "3.4.25"
+    "@vue/shared" "3.4.25"
 
 vuedraggable@^4.1.0:
   version "4.1.0"