Переглянути джерело

Merge branch 'master' of http://121.41.40.202:3000/web/for_client

duy 1 рік тому
батько
коміт
c1843a97e7
73 змінених файлів з 1355 додано та 2172 видалено
  1. 7 7
      package.json
  2. 1 1
      public/version.json
  3. 2 2
      src/App.vue
  4. 0 152
      src/global/components/hc-new-card/hc-new-card.vue
  5. 18 32
      src/global/components/hc-report-modal/index.vue
  6. 2 5
      src/global/components/hc-sms-auth/index.vue
  7. 0 121
      src/global/components/hc-tab-card/hc-tab-card.vue
  8. 4 12
      src/global/components/hc-tasks-user/index.vue
  9. 0 4
      src/global/components/index.js
  10. 0 45
      src/styles/app/element.scss
  11. 4 3
      src/styles/data-fill/division.scss
  12. 2 2
      src/test/index.vue
  13. 37 70
      src/views/data-fill/collapse-form/index.vue
  14. 1 1
      src/views/data-fill/collapse-form/special-diaolg.vue
  15. 3 10
      src/views/data-fill/collapse-form/test-data.vue
  16. 4 4
      src/views/data-fill/collapse-form/test-diaolg.vue
  17. 7 5
      src/views/data-fill/collapse-form/test-file.vue
  18. 60 143
      src/views/data-fill/division.vue
  19. 3 5
      src/views/data-fill/query.vue
  20. 50 138
      src/views/data-fill/wbs.vue
  21. 50 139
      src/views/gauge/bezier.vue
  22. 15 39
      src/views/gauge/station.vue
  23. 18 30
      src/views/gauge/testdata.vue
  24. 4 4
      src/views/home/config.vue
  25. 8 17
      src/views/ledger/components/construction.vue
  26. 15 30
      src/views/ledger/components/internal.vue
  27. 7 13
      src/views/ledger/components/table-form.vue
  28. 8 7
      src/views/ledger/components/table-list.vue
  29. 9 8
      src/views/ledger/components/weather.vue
  30. 24 22
      src/views/ledger/query.vue
  31. 43 38
      src/views/ledger/write.vue
  32. 38 68
      src/views/other-file/image-data.vue
  33. 5 6
      src/views/other-file/image-form.vue
  34. 10 13
      src/views/other-file/image-view.vue
  35. 12 15
      src/views/other-file/project-scanning.vue
  36. 25 40
      src/views/other/components/ListItem.vue
  37. 8 8
      src/views/other/first-item.vue
  38. 8 8
      src/views/other/first-itemcopy.vue
  39. 131 150
      src/views/other/order-service.vue
  40. 50 50
      src/views/schedule/hc-data.vue
  41. 96 58
      src/views/schedule/hc-table.vue
  42. 2 3
      src/views/schedule/write.vue
  43. 12 17
      src/views/tasks/components/TableCard.vue
  44. 5 8
      src/views/tasks/flow.vue
  45. 6 13
      src/views/tasks/hc-data.vue
  46. 9 8
      src/views/tasks/message-data.vue
  47. 11 22
      src/views/tasks/sign-admin.vue
  48. 10 17
      src/views/tentative/collect/monthly.vue
  49. 7 7
      src/views/tentative/collect/test.vue
  50. 2 2
      src/views/tentative/detect/collapse-form/src/index.vue
  51. 44 44
      src/views/tentative/detect/components/FormItemUpload.vue
  52. 2 5
      src/views/tentative/detect/components/HcTreeData.vue
  53. 16 23
      src/views/tentative/detect/components/ListItem.vue
  54. 13 19
      src/views/tentative/detect/outside.vue
  55. 10 19
      src/views/tentative/detect/test-form-bak.vue
  56. 15 27
      src/views/tentative/detect/test-form.vue
  57. 8 14
      src/views/tentative/detect/test.vue
  58. 14 17
      src/views/tentative/detect/third.vue
  59. 17 15
      src/views/tentative/device/approach.vue
  60. 14 12
      src/views/tentative/device/employ.vue
  61. 15 13
      src/views/tentative/device/overhaul.vue
  62. 36 33
      src/views/tentative/laboratory/components/FormItemUpload.vue
  63. 7 7
      src/views/tentative/laboratory/print.vue
  64. 11 13
      src/views/tentative/laboratory/user.vue
  65. 21 26
      src/views/tentative/material/approach.vue
  66. 40 40
      src/views/tentative/material/components/FormItemUpload.vue
  67. 19 22
      src/views/tentative/material/sampling.vue
  68. 8 7
      src/views/tentative/parameter/compactness.vue
  69. 15 17
      src/views/tentative/parameter/container.vue
  70. 8 7
      src/views/tentative/parameter/density.vue
  71. 11 10
      src/views/tentative/parameter/sieve.vue
  72. 14 13
      src/views/user/index.vue
  73. 144 147
      yarn.lock

+ 7 - 7
package.json

@@ -14,7 +14,7 @@
     },
     "dependencies": {
         "axios": "^1.5.1",
-        "crypto-js": "^4.1.1",
+        "crypto-js": "^4.2.0",
         "dayjs": "^1.11.10",
         "echarts": "^5.4.3",
         "element-plus": "2.4.1",
@@ -25,22 +25,22 @@
         "nprogress": "^0.2.0",
         "pinia": "^2.1.7",
         "split.js": "^1.6.5",
-        "vue": "3.3.4",
+        "vue": "3.3.7",
         "vue-router": "^4.2.5",
         "vuedraggable": "^4.1.0"
     },
     "devDependencies": {
         "@vitejs/plugin-vue": "^4.4.0",
-        "@vue/compiler-sfc": "^3.3.4",
+        "@vue/compiler-sfc": "^3.3.7",
         "archiver": "^6.0.1",
         "autoprefixer": "^10.4.16",
         "cssnano": "^6.0.1",
-        "eslint": "^8.51.0",
-        "eslint-plugin-vue": "^9.17.0",
-        "hc-vue3-ui": "^2.1.6",
+        "eslint": "^8.52.0",
+        "eslint-plugin-vue": "^9.18.0",
+        "hc-vue3-ui": "^2.3.4",
         "postcss": "^8.4.31",
         "sass": "^1.69.4",
-        "tailwindcss": "3.3.3",
+        "tailwindcss": "3.3.4",
         "vite": "^4.5.0",
         "z-element-plus": "^1.1.4"
     }

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20231020153704"
+  "value": "20231025172246"
 }

+ 2 - 2
src/App.vue

@@ -1,7 +1,7 @@
 <template>
-    <HcAppConfig>
+    <hc-app-config>
         <router-view />
-    </HcAppConfig>
+    </hc-app-config>
 </template>
 
 <script setup>

+ 0 - 152
src/global/components/hc-new-card/hc-new-card.vue

@@ -1,152 +0,0 @@
-<template>
-    <HcCard class="hc-new-card-box" :class="padding ? 'is-padding' : ''">
-        <template v-if="isSlotHeader || titles || isSlotExtra || extraText">
-            <div class="hc-card-header-box">
-                <div class="hc-card-header">
-                    <div v-if="!isSlotHeader && titles" class="title">{{ titles }}</div>
-                    <slot v-if="isSlotHeader" name="header" />
-                </div>
-                <div v-if="isSlotExtra || extraText" class="hc-card-header-extra">
-                    <div v-if="!isSlotExtra && extraText" class="extra">{{ extraText }}</div>
-                    <slot v-if="isSlotExtra" name="extra" />
-                </div>
-            </div>
-        </template>
-        <div v-if="isSlotSearchBar" class="hc-card-search-bar">
-            <slot name="search" />
-        </div>
-        <div class="hc-card-main">
-            <div class="hc-card-main-body">
-                <template v-if="scrollbar">
-                    <el-scrollbar>
-                        <slot />
-                    </el-scrollbar>
-                </template>
-                <template v-else>
-                    <slot />
-                </template>
-            </div>
-        </div>
-        <div v-if="isSlotAction" class="hc-card-action">
-            <slot name="action" />
-        </div>
-    </HcCard>
-</template>
-
-<script setup>
-import { ref, useSlots, watch } from 'vue'
-const props = defineProps({
-    ui: {
-        type: String,
-        default: '',
-    },
-    title: {
-        type: [String, Number],
-        default: '',
-    },
-    extraText: {
-        type: [String, Number],
-        default: '',
-    },
-    scrollbar: {
-        type: Boolean,
-        default: false,
-    },
-    actionSize: {
-        type: [String, Number],
-        default: 'lg',
-    },
-    idRef: {
-        type: [String, Number],
-        default: '',
-    },
-    bodyUi: {
-        type: String,
-        default: '',
-    },
-    actionUi: {
-        type: String,
-        default: '',
-    },
-    padding: {
-        type: Boolean,
-        default: true,
-    },
-})
-
-const titles = ref(props.title)
-
-//监听
-watch(() => props.title, (val) => {
-    titles.value = val ?? ''
-})
-
-//判断<slot>是否有传值
-const slots = useSlots()
-const isSlotHeader = ref(!!slots.header)
-const isSlotExtra = ref(!!slots.extra)
-const isSlotAction = ref(!!slots.action)
-const isSlotSearchBar = ref(!!slots.search)
-</script>
-
-<style lang="scss">
-.el-card.hc-new-card-box {
-    background: white;
-    --el-card-padding: 10px;
-    .hc-card-main-box {
-        display: flex;
-        flex-direction: column;
-    }
-    .hc-card-header-box {
-        position: relative;
-        display: flex;
-        align-items: center;
-        flex-shrink: 0;
-        height: auto;
-        border-bottom: 1px solid #E9E9E9;
-        margin-bottom: 10px;
-        .hc-card-header {
-            position: relative;
-            flex: 1;
-            display: flex;
-            align-items: center;
-            .title {
-
-            }
-        }
-        .hc-card-header-extra {
-            position: relative;
-            display: flex;
-            align-items: center;
-            margin-left: 24px;
-            .extra {
-
-            }
-        }
-    }
-    .hc-card-search-bar {
-        position: relative;
-        display: flex;
-        align-items: center;
-        flex-shrink: 0;
-        margin-bottom: 10px;
-    }
-    .hc-card-main {
-        position: relative;
-        flex: 1;
-        flex-basis: auto;
-        .hc-card-main-body {
-            position: absolute;
-            inset: 0;
-        }
-    }
-    .hc-card-action {
-        position: relative;
-        flex-shrink: 0;
-        padding-top: 8px;
-    }
-    &.is-padding .hc-card-header-box {
-        padding-bottom: 8px;
-    }
-}
-</style>

+ 18 - 32
src/global/components/hc-report-modal/index.vue

@@ -1,8 +1,5 @@
 <template>
-    <el-dialog
-        v-model="isShow" :title="title" class="hc-modal-border" destroy-on-close draggable width="47rem"
-        append-to-body @closed="cancelReportClick"
-    >
+    <hc-new-dialog :show="isShow" :title="title" widths="47rem" @close="cancelReportClick">
         <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="auto" size="large">
             <el-form-item label="任务名称" prop="taskName">
                 <el-input v-model="formModel.taskName" disabled />
@@ -10,25 +7,16 @@
             <el-form-item v-if="isDatas && reportDatas.length > 0" label="审批内容">
                 <div class="task-tag-data-box">
                     <template v-for="(item, index) in reportDatas" :key="item.id">
-                        <el-tag closable size="default" type="info" @close="taskTagClose(index)">
-                            {{ item.name }}
-                        </el-tag>
+                        <el-tag closable size="default" type="info" @close="taskTagClose(index)">{{ item.name }}</el-tag>
                     </template>
                 </div>
             </el-form-item>
             <el-form-item label="任务描述" prop="taskContent">
-                <el-input
-                    v-model="formModel.taskContent" :autosize="{ minRows: 3, maxRows: 5 }"
-                    placeholder="请输入任务描述"
-                    type="textarea"
-                />
+                <el-input v-model="formModel.taskContent" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入任务描述" type="textarea" />
             </el-form-item>
             <el-form-item label="任务流程" prop="fixedFlowId">
                 <el-select v-model="formModel.fixedFlowId" block @change="handleProcessValue">
-                    <el-option
-                        v-for="item in processData" :key="item.id" 
-                        :disabled="item.disabled" :value="item.id" :label="item.fixedFlowName"
-                    >
+                    <el-option v-for="item in processData" :key="item.id" :disabled="item.disabled" :value="item.id" :label="item.fixedFlowName">
                         <el-tooltip
                             v-if="item.tips && item.disabled"
                             class="box-item"
@@ -44,13 +32,12 @@
             <el-form-item v-if="diyProcessUser" label="任务人" prop="userTasks">
                 <HcTasksUser
                     :contract-id="contractId" :project-id="projectId" :type="type" :type-data="typeData"
-                    ui="w-full" :classify-type="classifyType" :table-owner="tableOwner" :node-id="formModel.ids ? formModel.ids : nodeId " :info-ids="infoIds" @change="diyProcessUserChange"
+                    ui="w-full" :classify-type="classifyType" :table-owner="tableOwner" :node-id="formModel.ids ? formModel.ids : nodeId "
+                    :info-ids="infoIds" @change="diyProcessUserChange"
                 />
             </el-form-item>
             <el-form-item v-else label="任务人">
-                <div class="form-item-div">
-                    {{ linkUserJoinString }}
-                </div>
+                <div class="form-item-div">{{ linkUserJoinString }}</div>
             </el-form-item>
             <el-form-item label="上报批次">
                 <HcCounter v-model="formModel.batch" />
@@ -60,21 +47,17 @@
             </el-form-item>
         </el-form>
         <template #footer>
-            <div class="dialog-footer">
-                <el-button size="large" @click="cancelReportClick">
-                    取消
-                </el-button>
-                <el-button :loading="formReportLoading" hc-btn type="primary" @click="formReportClick">
-                    提交
-                </el-button>
+            <div class="dialog-footer text-center">
+                <el-button size="large" @click="cancelReportClick">取消</el-button>
+                <el-button :loading="formReportLoading" hc-btn type="primary" @click="formReportClick">提交</el-button>
             </div>
         </template>
-    </el-dialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>
 import { onMounted, ref, watch } from 'vue'
-import tasksFlowApi from '~api/tasks/flow'
+//import tasksFlowApi from '~api/tasks/flow'
 import { ApprovalApi, queryFixedFlow, queryFixedFlow1 } from '~api/other'
 import { arrIndex, arrToId, formValidate, getArrValue } from 'js-fast-way'
 
@@ -143,7 +126,10 @@ const props = defineProps({
         type: [String, Number],
         default: '',
     },
- 
+    reportArr: {
+        type: Array,
+        default: () => ([]),
+    },
 })
 
 const emit = defineEmits(['hide', 'finish', 'tagClose'])
@@ -268,7 +254,7 @@ const getProcessData = async (type, datas) => {
     } else if (type === 'wbs' || type === 'query') {
         flowJson['privatePKeyId'] = datas
     }
- 
+
     infoIds.value = arrToId(reportDatas.value)
     const { error, code, data } = await queryFixedFlow1({
         projectId: projectId.value,
@@ -278,7 +264,7 @@ const getProcessData = async (type, datas) => {
         tableOwner:tableOwner.value,
         infoIds:infoIds.value,
         ...flowJson,
-       
+
     })
     if (!error && code === 200) {
         const arr = getArrValue(data['records'])

+ 2 - 5
src/global/components/hc-sms-auth/index.vue

@@ -1,8 +1,5 @@
 <template>
-    <el-dialog
-        v-model="showModal" class="hc-modal-border" destroy-on-close draggable title="短信认证" width="26rem"
-        @closed="cancelClick"
-    >
+    <hc-new-dialog v-model="showModal" title="短信认证" widths="26rem" @close="cancelClick">
         <el-form ref="reportFormRef" :model="reportModel" :rules="reportRules" label-width="auto" size="large">
             <el-form-item label="手机号码">
                 <el-input v-model="phoneVal" disabled placeholder="手机号码" />
@@ -26,7 +23,7 @@
                 </el-button>
             </div>
         </template>
-    </el-dialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 0 - 121
src/global/components/hc-tab-card/hc-tab-card.vue

@@ -1,121 +0,0 @@
-<template>
-    <HcNewCard :padding="false" :scrollbar="scrollbar" class="hc-tab-card-box">
-        <template #header>
-            <div class="tab-card-header-tabs">
-                <template v-for="item in tabsData" :key="item.key">
-                    <div class="item" :class="item.key === tabsKey ? 'cur' : ''" @click="tabsClick(item)">{{ item.name }}</div>
-                </template>
-            </div>
-        </template>
-        <template v-if="isSlotExtra" #extra>
-            <slot name="extra" />
-        </template>
-        <template v-if="isSlotSearch" #search>
-            <slot name="search" />
-        </template>
-        <slot />
-        <template v-if="isSlotAction" #action>
-            <slot name="action" />
-        </template>
-    </HcNewCard>
-</template>
-
-<script setup>
-import { ref, useSlots, watch } from 'vue'
-
-const props = defineProps({
-    tabs: {
-        type: Array,
-        default: () => ([]),
-    },
-    tabKey: {
-        type: [String, Number],
-        default: '1',
-    },
-    scrollbar: {
-        type: Boolean,
-        default: false,
-    },
-    disabled: {
-        type: Boolean,
-        default: false,
-    },
-})
-
-const emit = defineEmits(['change'])
-
-//判断<slot>是否有传值
-const slots = useSlots()
-const isSlotExtra = ref(!!slots.extra)
-const isSlotAction = ref(!!slots.action)
-const isSlotSearch = ref(!!slots.search)
-
-//监听表头
-const tabsData = ref(props.tabs)
-watch(() => props.tabs, (val) => {
-    tabsData.value = val
-}, { deep: true })
-
-//选项卡禁用
-const isDisabled = ref(props.disabled)
-watch(() => props.disabled, (val) => {
-    isDisabled.value = val
-}, { deep: true })
-
-//选项卡
-const tabsKey = ref(props.tabKey)
-watch(() => props.tabKey, (val) => {
-    tabsKey.value = val
-}, { deep: true })
-const tabsClick = (item) => {
-    if (isDisabled.value) return
-    tabsKey.value = item.key
-    if (item.key !== props.tabKey) {
-        emit('change', item)
-    }
-}
-</script>
-
-<style lang="scss">
-.el-card.hc-tab-card-box {
-    .hc-card-header-box {
-        border-color: #d4d4d4;
-        margin-top: -5px;
-    }
-    .tab-card-header-tabs {
-        position: relative;
-        display: flex;
-        align-items: center;
-        flex: 1;
-        .item {
-            position: relative;
-            height: 38px;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            padding: 0 8px;
-            color: #747474;
-            cursor: pointer;
-            border: 1px solid white;
-            border-bottom: 0;
-            transition: .2s;
-        }
-        .item.cur {
-            cursor: default;
-            color: var(--el-color-primary);
-            background: white;
-            border-color: #d4d4d4;
-            &::after {
-                position: absolute;
-                content: '';
-                left: 0;
-                right: 0;
-                bottom: -1px;
-                height: 1px;
-                background: white;
-                z-index: 1;
-            }
-        }
-    }
-}
-</style>

+ 4 - 12
src/global/components/hc-tasks-user/index.vue

@@ -13,12 +13,7 @@
         </div>
 
         <!-- 选择任务人 -->
-        <el-dialog
-            v-model="showModal" class="hc-modal-border hc-modal-nop" destroy-on-close draggable
-            title="选择任务人"
-            width="62rem"
-            append-to-body
-        >
+        <hc-new-dialog v-model="showModal" title="选择任务人" widths="62rem">
             <div class="hc-tasks-user-modal-content-box">
                 <div class="tree-box">
                     <el-scrollbar>
@@ -88,13 +83,10 @@
                     </el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
 
         <!-- 调整顺序 -->
-        <el-dialog
-            v-model="sequenceModal" class="hc-modal-border" destroy-on-close draggable title="调整顺序" append-to-body
-            width="38rem"
-        >
+        <hc-new-dialog v-model="sequenceModal" title="调整顺序" widths="38rem">
             <el-alert :closable="false" title="可拖动排序,也可在后面点击图标,切换排序" type="warning" />
             <div class="sort-node-body-box list-group header">
                 <div class="list-group-item">
@@ -142,7 +134,7 @@
                     </el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 0 - 4
src/global/components/index.js

@@ -5,8 +5,6 @@ import HcTasksUser from './hc-tasks-user/index.vue'
 import HcTableForm from './table-form/index.vue'
 import HcUploads from './hc-uploads/index.vue'
 import HcSmsAuth from './hc-sms-auth/index.vue'
-import HcNewCard from './hc-new-card/hc-new-card.vue'
-import HcTabCard from './hc-tab-card/hc-tab-card.vue'
 
 //注册全局组件
 export const setupComponents = (App) => {
@@ -17,6 +15,4 @@ export const setupComponents = (App) => {
     App.component('HcTableForm', HcTableForm)
     App.component('HcUploads', HcUploads)
     App.component('HcSmsAuth', HcSmsAuth)
-    App.component('HcNewCard', HcNewCard)
-    App.component('HcTabCard', HcTabCard)
 }

+ 0 - 45
src/styles/app/element.scss

@@ -16,14 +16,6 @@
     }
 }
 
-.el-dialog__footer .el-button {
-    border-radius: 0;
-    padding: 0 10px;
-    font-weight: initial;
-    height: 28px;
-    font-size: 14px;
-}
-
 //新改变版按钮
 .el-button[hc-btn] {
     border-radius: 0;
@@ -48,40 +40,3 @@
     margin-left: 4px;
     margin-right: 0;
 }
-
-
-//表格样式重写
-.el-table[hc] {
-    --el-table-bg-color: initial;
-    --el-table-header-bg-color: #d5deff;
-    --el-table-header-text-color: #000000;
-    --el-table-tr-bg-color: #fafafa;
-    --el-fill-color-lighter: #fafafa;
-    --el-table-text-color: green;
-    --el-table-row-hover-bg-color: #e9edfa;
-    --el-table-current-row-bg-color: #ffe48d;
-    --el-table-border: 1px dotted var(--el-table-border-color);
-    .el-table__cell {
-        padding: 0;
-    }
-    .cell {
-        padding: 4px;
-        line-height: initial;
-        .el-link + .el-link {
-            margin-left: 10px;
-        }
-    }
-    .el-table__body-wrapper .el-table-column--selection>.cell,
-    .el-table__header-wrapper .el-table-column--selection>.cell {
-        height: auto;
-    }
-    .el-table-fixed-column--left, .el-table-fixed-column--right {
-        background: #d5deff;
-        &.el-table__cell {
-            background: #d5deff !important;
-        }
-    }
-}
-.el-table[hc].el-table--border {
-    --el-table-border-color: #8287a5;
-}

+ 4 - 3
src/styles/data-fill/division.scss

@@ -2,19 +2,20 @@
     .basic-info {
         position: relative;
         margin-bottom: 24px;
+        height: 136px;
     }
     .project-info {
         position: relative;
         margin-bottom: 24px;
-        height: calc(100% - 342px);
+        height: calc(100% - 238px);
     }
     .footer-box {
         position: relative;
-        height: 80px;
+        height: 54px;
         display: flex;
         align-items: center;
         justify-content: center;
-        padding: 20px 24px;
+        padding: 0;
         overflow: hidden;
         background: #f1f5f8;
         border-radius: 10px;

+ 2 - 2
src/test/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcCard>
+    <HcNewCard>
         <template #header>
             <el-button size="large" type="primary">
                 <HcIcon name="search-2" />
@@ -13,7 +13,7 @@
         <template #action>
             action
         </template>
-    </HcCard>
+    </HcNewCard>
 </template>
 
 <script setup>

+ 37 - 70
src/views/data-fill/collapse-form/index.vue

@@ -109,12 +109,12 @@
     <HcContextMenu ref="contextMenuRef" :datas="tableFormMenu" @item-click="handleMenuSelect" />
 
     <!-- 上传文件 -->
-    <HcDialog :footer="false" :show="uploadModal" title="上传文件" widths="38rem" @close="uploadModalClose">
+    <hc-new-dialog v-model="uploadModal" :footer="false" title="上传文件" widths="38rem" @close="uploadModalClose">
         <HcUpload :datas="uploadData" :file-list="fileListData" :is-canupload="isStatus == 3" @change="uploadChange" />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 操作提示 -->
-    <HcDialog :footer="false" :show="actionTipModal" title="操作提示" widths="38rem" @close="actionTipModalClose">
+    <hc-new-dialog v-model="actionTipModal" :footer="false" title="操作提示" widths="38rem" @close="actionTipModalClose">
         <div class="data-fill-table-tip-box">
             <div class="text-gray-400 tip-item">
                 1、灰色框代表可通过系统识别计算,公式自动引用,可通过公式计算少量数据,(表头数据及简单),也可只填写白色框数据
@@ -134,24 +134,16 @@
                 4、完善资料填写后记得一定要保存哦
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 插入设计值/频率 -->
-    <HcDialog
-        :loading="designModalLoading" :show="designModal" is-to-body save-text="确认插入"
-        title="插入设计值/频率" widths="600px"
-        @close="closeDesignModal" @save="designModalSave"
-    >
+    <hc-new-dialog v-model="designModal" :loading="designModalLoading" save-text="确认插入" title="插入设计值/频率" widths="600px" @close="closeDesignModal" @save="designModalSave">
         <el-alert :closable="false" title="填写完设计值和频率,系统自动计算实测值" type="warning" />
         <el-form ref="formDesignRef" :model="formDesignModel" label-width="auto" size="large">
             <div class="form-item-div text-center mb-3">
                 <el-radio-group v-model="formDesignModel.type" size="large">
-                    <el-radio :label="1">
-                        公路工程
-                    </el-radio>
-                    <el-radio :label="2" class="ml-4">
-                        水利水电
-                    </el-radio>
+                    <el-radio :label="1">公路工程</el-radio>
+                    <el-radio :label="2" class="ml-4">水利水电</el-radio>
                 </el-radio-group>
             </div>
             <el-form-item label="设计值">
@@ -186,28 +178,21 @@
             </el-form-item>
             <el-form-item label="方向">
                 <el-radio-group v-model="formDesignModel.direction" size="large">
-                    <el-radio :label="1">
-                        横向
-                    </el-radio>
-                    <el-radio :label="2" class="ml-4">
-                        纵向
-                    </el-radio>
+                    <el-radio :label="1">横向</el-radio>
+                    <el-radio :label="2" class="ml-4">纵向</el-radio>
                 </el-radio-group>
             </el-form-item>
         </el-form>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 插入特殊字符 -->
-    <HcDialog
-        :loading="specialModalLoading" :show="specialModal" is-to-body save-text="确认插入" title="插入特殊字符"
-        widths="600px" @close="specialModalClose" @save="specialNodeClick"
-    >
+    <hc-new-dialog v-model="specialModal" :loading="specialModalLoading" save-text="确认插入" title="插入特殊字符" widths="600px" @close="specialModalClose" @save="specialNodeClick">
         <HcSpecialDiaolg v-if="specialModal" ref="specialRef" @change="specialDiaolgChange" />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 关联试验数据 -->
-    <HcDialog
-        :footer="false" :loading="testModalLoading" :show="testModal" is-table is-to-body title="关联试验数据"
+    <hc-new-dialog
+        v-model="testModal" :footer="false" :loading="testModalLoading" is-table title="关联试验数据"
         widths="84%" @close="testModalClose"
     >
         <HcTestDiaolg
@@ -215,54 +200,47 @@
             :wbs-id="wbsTemp_id"
             :wbs-type="wbs_type" @change="testTableRowName"
         />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 选择要插入的数据 -->
-    <HcDialog
-        :loading="insertDataLoading" :show="insertDataShow" is-table is-to-body save-text="保存"
-        title="选择需要插入的数据" widths="84%" @close="cancelinsertData"
-        @save="submitinsertData"
+    <hc-new-dialog
+        v-model="insertDataShow" :loading="insertDataLoading" is-table save-text="保存"
+        title="选择需要插入的数据" widths="84%" @close="cancelinsertData" @save="submitinsertData"
     >
         <HcTestData
             v-if="insertDataShow" ref="insertDataRef" :contract-id="contract_id" :project-id="projectId"
             :table-id="itinsertTableId"
             :tree-id="itinsertTreeId"
         />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 关联试验文件 -->
-    <HcDialog
-        :loading="fileModalLoading" :show="fileModal" is-table is-to-body save-text="保存" title="关联试验文件"
-        widths="84%" @close="fileModalClose"
-        @save="savefileModal"
-    >
+    <hc-new-dialog v-model="fileModal" :loading="fileModalLoading" is-table save-text="保存" title="关联试验文件" widths="84%" @close="fileModalClose" @save="savefileModal">
         <HcTestFile
             v-if="fileModal" ref="testFileRefs" :contract-id="contract_id" :project-id="projectId"
             :tenant-id="tenant_id"
             :tree-id="treeId" :wbs-id="wbsTemp_id"
             :wbs-type="wbs_type"
         />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 公式参数配置 -->
-    <HcDialog
-        :loading="formulaModalLoading" :show="formulaModal" is-to-body save-text="保存" title="公式参数配置"
-        widths="340px" @close="formulaModalClose"
-        @save="formulaSaveClick"
+    <hc-new-dialog
+        v-model="formulaModal" :loading="formulaModalLoading" save-text="保存" title="公式参数配置"
+        widths="340px" @close="formulaModalClose" @save="formulaSaveClick"
     >
         <HcFormula
             v-if="formulaModal" ref="formulaRefs" :key-name="tableFormItemNode.KeyName" :contract-id="contract_id"
             :formparent-id="formparentId"
             :pkey-id="tableFormItemNode.pkeyId" :project-id="projectId"
         />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 查看表单 -->
     <template v-for="(item, index) in DragModalTableForm" :key="index">
         <HcDragModal
             :close-icon-arr="closeIconArr" :eid="item.pkeyId" :height="DragModalHeight" :is-show="item.isShow"
-            :loading="item.loading" :loading-text="item.loadingText" :title="item.title"
-            is-sort-top
+            :loading="item.loading" :loading-text="item.loadingText" :title="item.title" is-sort-top
             @close="TableFormClose(item, index)" @closeIconTap="closeIconTap($event, item, index)"
         >
             <HcDragNode :more-menu="dragNodeMoreMenu" @menuTap="dragNodeMoreMenuTap($event, item)">
@@ -285,10 +263,9 @@
         </HcDragModal>
     </template>
     <!-- 复制本表 -->
-    <HcDialog
-        :loading="copyClickModalLoading" :show="showcopyModal" is-to-body save-text="确认复制" title="复制本表"
-        widths="84%" @close="copyModalClose"
-        @save="copySaveClick"
+    <hc-new-dialog
+        v-model="showcopyModal" :loading="copyClickModalLoading" save-text="确认复制" title="复制本表"
+        widths="84%" @close="copyModalClose" @save="copySaveClick"
     >
         <HcCopy
             v-if="showcopyModal" ref="copyRefs" :contract-id="contract_id" :project-id="projectId"
@@ -301,34 +278,24 @@
         <template #footer>
             <div class="lr-dialog-footer">
                 <div class="left flex items-center">
-                    <div class="mr-4">
-                        复制方式:
-                    </div>
+                    <div class="mr-4">复制方式:</div>
                     <el-radio-group v-model="CopyModalType">
-                        <el-radio label="1">
-                            跨节点复制
-                        </el-radio>
-                        <el-radio class="ml-4" label="2">
-                            本节点复制
-                        </el-radio>
+                        <el-radio label="1">跨节点复制</el-radio>
+                        <el-radio class="ml-4" label="2">本节点复制</el-radio>
                     </el-radio-group>
                 </div>
                 <div class="right">
-                    <el-button size="large" @click="showcopyModal = false">
-                        取消
-                    </el-button>
-                    <el-button :loading="copyClickModalLoading" hc-btn type="primary" @click="copySaveClick">
-                        确认复制
-                    </el-button>
+                    <el-button size="large" @click="showcopyModal = false">取消</el-button>
+                    <el-button :loading="copyClickModalLoading" hc-btn type="primary" @click="copySaveClick">确认复制</el-button>
                 </div>
             </div>
         </template>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 含水率 -->
-    <HcDialog is-to-body :show="waterModal" title="含水率" @close="waterModalClose" @save="waterSaveClick">
+    <hc-new-dialog v-model="waterModal" title="含水率" @close="waterModalClose" @save="waterSaveClick">
         <HcWater v-if="waterModal" ref="waterRefs" :key-name="tableFormItemNode.KeyName" :contract-id="contract_id" :design-strength="designStrength" :p-key-id="tableFormItemNode.pkeyId" />
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 1 - 1
src/views/data-fill/collapse-form/special-diaolg.vue

@@ -11,7 +11,7 @@
         </el-form-item>
     </el-form>
     <el-row :gutter="20" style="margin: -10px;">
-        <el-col v-for="item in specialCharacters" :span="3" style="padding: 10px;">
+        <el-col v-for="(item, index) in specialCharacters" :key="index" :span="3" style="padding: 10px;">
             <div class="special-box" @click="specialClick">
                 <span :title="`字符代码(C):${item !== 'K̅' ? item.slice(2, 7) : 'K̅'}`" class="font-EUDC" v-html="item" />
             </div>

+ 3 - 10
src/views/data-fill/collapse-form/test-data.vue

@@ -1,19 +1,12 @@
 <template>
     <div>
         <div class="flex-1" style="padding-left:20px">
-            <HcNewSwitch
-                :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default"
-                @change="tabTypeChange"
-            />
+            <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default" @change="tabTypeChange" />
             <el-select
                 v-model="testReportId" :loading="insertDataSelectoading" :placeholder="placeholderType"
-                class="ml-2 w-80"
-                clearable @change="testReportIdchange"
+                class="ml-2 w-80" clearable @change="testReportIdchange"
             >
-                <el-option
-                    v-for="item in testReportData" :key="item.pKeyId" :label="item.nodeName"
-                    :value="item.pKeyId"
-                />
+                <el-option v-for="item in testReportData" :key="item.pKeyId" :label="item.nodeName" :value="item.pKeyId" />
             </el-select>
         </div>
         <div class="dialog-table-box">

+ 4 - 4
src/views/data-fill/collapse-form/test-diaolg.vue

@@ -16,7 +16,7 @@
         <div class="dialog-table-box">
             <div class="dialog-search">
                 <div class="w-64 ml-2">
-                    <HcDatePicker :dates="testBetweenTime" clearable @change="testBetweenTimeUpdate" />
+                    <hc-date-picker :dates="testBetweenTime" clearable @change="testBetweenTimeUpdate" />
                 </div>
                 <div class="ml-2">
                     <el-button type="primary" @click="testSearchClick">
@@ -26,14 +26,14 @@
                 </div>
             </div>
             <div class="dialog-table">
-                <HcTable :column="testDialogTableColumn" :datas="testDialogTableData" :loading="testDialogTableLoading" border>
+                <hc-table :column="testDialogTableColumn" :datas="testDialogTableData" :loading="testDialogTableLoading" is-new :index-style="{ width: 60 }">
                     <template #reportNo="{ row }">
                         <span class="text-link" @click="testTableRowName(row)">{{ row?.reportNo }}</span>
                     </template>
-                </HcTable>
+                </hc-table>
             </div>
             <div class="dialog-pages">
-                <HcPages :pages="testSearchFormPage" @change="testSearchFormPageChange" />
+                <hc-pages :pages="testSearchFormPage" @change="testSearchFormPageChange" />
             </div>
         </div>
     </div>

+ 7 - 5
src/views/data-fill/collapse-form/test-file.vue

@@ -21,8 +21,7 @@
                 />
                 <!-- 第三方树 -->
                 <ElTree
-                    v-else
-                    ref="ElTreeRef2" :data="thirdtreeDatas" :indent="0" :props="thirdElTreeProps"
+                    v-else ref="ElTreeRef2" :data="thirdtreeDatas" :indent="0" :props="thirdElTreeProps"
                     accordion class="hc-tree-node" highlight-current
                     node-key="id" @node-click="thirdtreeDatasElTreeClick"
                 />
@@ -43,7 +42,8 @@
             <div class="dialog-table">
                 <HcTable
                     v-if="fileModalradio == 1" ref="dialogTableRef1" :column="filedialogTableColumn"
-                    :datas="filedialogTableData" :loading="filedialogTableLoading" is-check border
+                    :datas="filedialogTableData" :loading="filedialogTableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
                     @selection-change="filedialogTableSelection1"
                 >
                     <template #reportNo="{ row }">
@@ -52,7 +52,8 @@
                 </HcTable>
                 <HcTable
                     v-if="fileModalradio == 2" ref="dialogTableRef2" :column="filedialogTableColumn1"
-                    :datas="filedialogTableData" :loading="filedialogTableLoading" is-check border
+                    :datas="filedialogTableData" :loading="filedialogTableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
                     @selection-change="filedialogTableSelection"
                 >
                     <template #reportNo="{ row }">
@@ -64,7 +65,8 @@
                 </HcTable>
                 <HcTable
                     v-if="fileModalradio == 3" ref="dialogTableRef" :column="filedialogTableColumn1"
-                    :datas="filedialogTableData" :loading="filedialogTableLoading" is-check border
+                    :datas="filedialogTableData" :loading="filedialogTableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
                     @selection-change="filedialogTableSelection"
                 >
                     <template #reportNo="{ row }">

+ 60 - 143
src/views/data-fill/division.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
@@ -23,14 +23,14 @@
         </div>
         <div class="hc-page-content-box hc-division-page">
             <div class="basic-info">
-                <HcCard title="当前节点基础信息">
+                <HcNewCard title="当前节点基础信息">
                     <template #extra>
                         <el-checkbox
                             v-model="treeItemInfo.isConcealedWorksNode" :false-label="0"
                             :true-label="1" label="标记为隐蔽工程节点" size="large" @change="concealedChange"
                         />
                     </template>
-                    <HcTable :column="tableBasicColumn" :datas="tableBasicData" :is-index="false" border>
+                    <HcTable :column="tableBasicColumn" :datas="tableBasicData" :is-index="false" is-new>
                         <template #type="{ row }">
                             {{ getRowType(row.type) }}
                         </template>
@@ -38,17 +38,17 @@
                             {{ getRowMajorType(row.majorDataType) }}
                         </template>
                     </HcTable>
-                </HcCard>
+                </HcNewCard>
             </div>
             <div class="project-info">
-                <HcCard title="当前节点工程用表信息">
+                <hc-new-card title="当前节点工程用表信息">
                     <template #extra>
                         <el-button hc-btn type="primary" @click="addingFormClick">
                             <HcIcon name="add" />
                             <span>引用元素表</span>
                         </el-button>
                     </template>
-                    <HcTable :column="tableProjectColumn" :datas="tableProjectData" :is-index="false" border>
+                    <HcTable :column="tableProjectColumn" :datas="tableProjectData" :is-index="false" is-new>
                         <template #tableType="{ row }">
                             {{ getRowTableType(row.tableType) }}
                         </template>
@@ -64,9 +64,9 @@
                             </HcTooltip>
                         </template>
                     </HcTable>
-                </HcCard>
+                </hc-new-card>
             </div>
-            <div class="footer-box">
+            <div class="footer-box bg-white">
                 <el-button hc-btn color="#A16222" @click="downloadXlsx">
                     <HcIcon name="download-2" />
                     <span>下载导入划分模板</span>
@@ -83,14 +83,8 @@
         </div>
 
         <!-- 编辑节点 -->
-        <HcDialog
-            :loading="editNodeLoading" :show="editNodeModal" title="编辑节点"
-            widths="600px" @close="editNodeModal = false" @save="editNodeClick"
-        >
-            <el-form
-                ref="formEditNodeRef" :model="formEditNodeModel" :rules="formEditNodeRules" label-width="auto"
-                size="large"
-            >
+        <hc-new-dialog v-model="editNodeModal" :loading="editNodeLoading" title="编辑节点" widths="600px" @save="editNodeClick">
+            <el-form ref="formEditNodeRef" :model="formEditNodeModel" :rules="formEditNodeRules" label-width="auto" size="large">
                 <el-form-item label="节点名称" prop="title">
                     <el-input v-model="formEditNodeModel.title" placeholder="请输入节点名称" />
                 </el-form-item>
@@ -106,28 +100,20 @@
                     <el-input v-model="formEditNodeModel.partitionCode" placeholder="请输入划分编号" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 复制节点 -->
-        <HcDialog
-            :loading="copyNodeLoading" :show="copyNodeModal" :widths="copyNodeTabKey === '1' ? '600px' : '1200px'"
-            loading-text="复制节点中,请耐心等待..."
-            title="复制节点" @close="copyNodeModal = false"
+        <hc-new-dialog
+            v-model="copyNodeModal" :loading="copyNodeLoading" :widths="copyNodeTabKey === '1' ? '600px' : '1200px'"
+            loading-text="复制节点中,请耐心等待..." title="复制节点"
         >
             <div class="header-new-switch">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel" label-position="left"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" label-position="left" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item label="是否复制数据" prop="isCopyData" style="margin-bottom: 0;">
                         <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
                         <el-radio-group v-model="isCopyData">
-                            <el-radio :label="1">
-                                是
-                            </el-radio>
-                            <el-radio :label="0">
-                                否
-                            </el-radio>
+                            <el-radio :label="1">是</el-radio>
+                            <el-radio :label="0">否</el-radio>
                         </el-radio-group>
                     </el-form-item>
                     <el-form-item v-if="isCopyData === 1" label="所属方" prop="classify" style="margin-bottom: 0;">
@@ -142,26 +128,17 @@
                              @change="classifyTypeTabClick"/ -->
             </div>
             <div v-if="copyNodeTabKey === '1'" class="copy-node-form-box">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item v-if="copyNodeTabKey === '1'" label="节点名称" prop="title" style="margin-bottom: 0;">
                         <el-input v-model="formCopyNodeModel.title" placeholder="请输入节点名称" />
                     </el-form-item>
-                    <el-form-item
-                        v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode"
-                        style="margin-top: 10px;"
-                    >
+                    <el-form-item v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode" style="margin-top: 10px;">
                         <el-input v-model="formCopyNodeModel.partitionCode" placeholder="请输入划分编号" />
                     </el-form-item>
                 </el-form>
             </div>
             <div v-if="copyNodeTabKey === '3'" class="copy-node-form-box">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item label="所属方" prop="classify" style="margin-bottom: 0;">
                         <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
                         <el-checkbox-group v-model="classifyList">
@@ -174,10 +151,7 @@
             <div v-if="copyNodeTabKey !== '1'" class="copy-node-many-box">
                 <div class="copy-node-many-tree">
                     <el-scrollbar>
-                        <HcLazyTree
-                            :auto-expand-keys="TreeAutoExpandKeys" is-type
-                            @load="treeLoadNode" @nodeTap="copyNodeElTreeClick"
-                        />
+                        <HcLazyTree :auto-expand-keys="TreeAutoExpandKeys" is-type @load="treeLoadNode" @nodeTap="copyNodeElTreeClick" />
                     </el-scrollbar>
                 </div>
                 <div class="copy-node-many-table">
@@ -186,10 +160,7 @@
                             <el-table-column label="复制到的位置" prop="title" />
                             <el-table-column v-if="copyNodeTabKey === '2'" label="节点名称" prop="nodeName">
                                 <template #default="{ row }">
-                                    <el-form
-                                        ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules"
-                                        label-width="0" size="large"
-                                    >
+                                    <el-form ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules" label-width="0" size="large">
                                         <el-form-item prop="nodeName" style="margin-bottom: 0;">
                                             <el-input v-model="row.nodeName" placeholder="请输入节点名称" />
                                         </el-form-item>
@@ -198,10 +169,7 @@
                             </el-table-column>
                             <el-table-column v-if="copyNodeTabKey === '2'" label="划分编号" prop="partitionCode">
                                 <template #default="{ row }">
-                                    <el-form
-                                        ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules"
-                                        label-width="0" size="large"
-                                    >
+                                    <el-form ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules" label-width="0" size="large">
                                         <el-form-item prop="partitionCode" style="margin-bottom: 0;">
                                             <el-input v-model="row.partitionCode" placeholder="请输入划分编号" />
                                         </el-form-item>
@@ -210,9 +178,7 @@
                             </el-table-column>
                             <el-table-column align="center" label="操作" prop="action" width="120">
                                 <template #default="{ _, $index }">
-                                    <el-button plain type="danger" @click="copyNodeTableDel($index)">
-                                        删除
-                                    </el-button>
+                                    <el-button plain type="danger" @click="copyNodeTableDel($index)">删除</el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
@@ -222,7 +188,7 @@
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left">
-                        <template v-for="item in copyNodeTab">
+                        <template v-for="(item, index) in copyNodeTab" :key="index">
                             <el-button
                                 v-if="item?.key === copyNodeTabKey" plain size="large" type="primary"
                                 @click="copyNodeTabChange(item?.key)"
@@ -235,93 +201,56 @@
                         </template>
                     </div>
                     <div class="right">
-                        <el-button :disabled="copyNodeLoading" size="large" @click="copyNodeModal = false">
-                            取消
-                        </el-button>
-                        <el-button :loading="copyNodeLoading" hc-btn type="primary" @click="copyNodeClick">
-                            提交
-                        </el-button>
+                        <el-button :disabled="copyNodeLoading" size="large" @click="copyNodeModal = false">取消</el-button>
+                        <el-button :loading="copyNodeLoading" hc-btn type="primary" @click="copyNodeClick">提交</el-button>
                     </div>
                 </div>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 新增子节点 -->
-        <HcDialog
-            :loading="addNodeLoading" :show="addNodeModal" loading-text="新增节点中,请耐心等待..."
-            title="新增子节点" widths="720px" @close="addNodeModal = false"
-        >
-            <el-alert
-                :closable="false" title="双击节点,可编辑节点名称,编辑完成后,请按回车或输入框消失后,再点提交"
-                type="warning"
-            />
+        <hc-new-dialog v-model="addNodeModal" :loading="addNodeLoading" loading-text="新增节点中,请耐心等待..." title="新增子节点" widths="720px">
+            <el-alert :closable="false" title="双击节点,可编辑节点名称,编辑完成后,请按回车或输入框消失后,再点提交" type="warning" />
             <HcTreeNode
                 v-if="addTreeNodeType === '1'" :node-id="addTreeNodeId" :old-id="addTreeNodeOldId" :contract-id="contractId"
                 :project-id="projectId" @check-change="addTreeNodeCheckChange"
             />
             <HcTreeNode
                 v-if="addTreeNodeType === '2'" :node-id="addTreeNodeId" :old-id="addTreeNodeOldId" :contract-id="contractId"
-                :project-id="projectId"
-                strictly @check-change="addTreeNodeCheckChange"
+                :project-id="projectId" strictly @check-change="addTreeNodeCheckChange"
             />
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left flex items-center">
-                        <div class="mr-4">
-                            选中方式:
-                        </div>
+                        <div class="mr-4">选中方式:</div>
                         <el-radio-group v-model="addTreeNodeType">
-                            <el-radio label="1">
-                                当前及子节点
-                            </el-radio>
-                            <el-radio class="ml-4" label="2">
-                                仅当前节点
-                            </el-radio>
+                            <el-radio label="1">当前及子节点</el-radio>
+                            <el-radio class="ml-4" label="2">仅当前节点</el-radio>
                         </el-radio-group>
                     </div>
                     <div class="right">
-                        <el-button size="large" @click="addNodeModal = false">
-                            取消
-                        </el-button>
-                        <el-button :loading="addNodeLoading" hc-btn type="primary" @click="addNodeClick">
-                            提交
-                        </el-button>
+                        <el-button size="large" @click="addNodeModal = false">取消</el-button>
+                        <el-button :loading="addNodeLoading" hc-btn type="primary" @click="addNodeClick">提交</el-button>
                     </div>
                 </div>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 调整排序 -->
-        <HcDialog
-            :loading="sortNodeLoading" :show="sortNodeModal" title="调整排序" widths="700px"
-            @close="sortNodeModal = false" @save="sortNodeClick"
-        >
+        <hc-new-dialog v-model="sortNodeModal" :loading="sortNodeLoading" title="调整排序" widths="700px" @save="sortNodeClick">
             <el-alert :closable="false" title="可拖动排序,也可在后面点击图标,切换排序" type="warning" />
             <div class="sort-node-body-box list-group header">
                 <div class="list-group-item">
-                    <div class="index-box">
-                        序号
-                    </div>
-                    <div class="title-box">
-                        节点名称
-                    </div>
-                    <div class="icon-box">
-                        排序
-                    </div>
+                    <div class="index-box">序号</div>
+                    <div class="title-box">节点名称</div>
+                    <div class="icon-box">排序</div>
                 </div>
             </div>
-            <Draggable
-                :list="sortNodeData" class="sort-node-body-box list-group" ghost-class="ghost" item-key="id"
-                @end="sortNodeDrag = false" @start="sortNodeDrag = true"
-            >
+            <Draggable :list="sortNodeData" class="sort-node-body-box list-group" ghost-class="ghost" item-key="id" @end="sortNodeDrag = false" @start="sortNodeDrag = true">
                 <template #item="{ element, index }">
                     <div class="list-group-item">
-                        <div class="index-box">
-                            {{ index + 1 }}
-                        </div>
-                        <div class="title-box">
-                            {{ element.title }}
-                        </div>
+                        <div class="index-box">{{ index + 1 }}</div>
+                        <div class="title-box">{{ element.title }}</div>
                         <div class="icon-box">
                             <span class="icon" @click="downSortClick(index)">
                                 <HcIcon name="arrow-down" ui="text-lg" />
@@ -333,13 +262,10 @@
                     </div>
                 </template>
             </Draggable>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入划分模板 -->
-        <HcDialog
-            :show="importTempModal" title="导入划分模板" ui="hc-modal-table" widths="84%"
-            @close="importTempModal = false"
-        >
+        <hc-new-dialog v-model="importTempModal" title="导入划分模板" ui="hc-modal-table" widths="84%">
             <div class="hc-import-temp-box">
                 <!-- div class="hc-choose-type-box">
                     <div class="text-title text-orange">请选择需要导入的工程类别:</div>
@@ -351,9 +277,7 @@
                 </div -->
                 <div v-loading="uploadLoading" class="hc-import-node-tree-box" element-loading-text="Loading...">
                     <div class="import-node-tree-box">
-                        <div class="hc-tree-title-box">
-                            导入并识别成功
-                        </div>
+                        <div class="hc-tree-title-box">导入并识别成功</div>
                         <div class="hc-tree-bar-box">
                             <el-scrollbar>
                                 <HcTreeData :datas="matchedData" />
@@ -361,9 +285,7 @@
                         </div>
                     </div>
                     <div class="import-node-tree-box">
-                        <div class="hc-tree-title-box">
-                            未被系统识别:手动关联
-                        </div>
+                        <div class="hc-tree-title-box">未被系统识别:手动关联</div>
                         <div class="hc-tree-bar-box">
                             <el-scrollbar>
                                 <HcTreeData1 :datas="unmatchedData" @relationTap="unmatchedTreeTap" />
@@ -393,32 +315,28 @@
                             <HcIcon name="close" />
                             <span>取消</span>
                         </el-button>
-                        <el-button
-                            :disabled="uploadLoading" :loading="uploadLoading" hc-btn type="primary"
-                            @click="importTempFolder"
-                        >
+                        <el-button :disabled="uploadLoading" :loading="uploadLoading" hc-btn type="primary" @click="importTempFolder">
                             <HcIcon name="folder-upload" />
                             <span>导入模板</span>
                         </el-button>
                     </div>
                 </div>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 替换并关联节点 -->
-        <HcDialog
-            :loading="relationLoading" :show="relationModal" save-text="确认关联" title="替换并关联节点"
-            ui="hc-modal-table"
-            widths="47rem" @close="relationModal = false" @save="relationSaveClick"
+        <hc-new-dialog
+            v-model="relationModal" :loading="relationLoading" save-text="确认关联" title="替换并关联节点"
+            ui="hc-modal-table" widths="47rem" @save="relationSaveClick"
         >
             <el-scrollbar>
                 <DivisionTree :datas="unmatchedTreeData" @nodeTap="divisionTreeClick" />
             </el-scrollbar>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 添加独立表单 -->
-        <HcDialog
-            :loading="addingFormLoading" :padding="false" :show="addingFormModal" is-table title="引用元素表"
+        <hc-new-dialog
+            v-model="addingFormModal" :loading="addingFormLoading" :padding="false" is-table title="引用元素表"
             widths="84%" @close="addingFormClose" @save="addingFormSave"
         >
             <div class="adding-form-dialog-box">
@@ -448,10 +366,9 @@
                     </div>
                     <div class="dialog-table">
                         <HcTable
-                            ref="dialogTableRef" :column="dialogTableColumn" :datas="dialogTableData"
-                            :loading="dialogTableLoading" is-check border
-                            @select="dialogTableSelect"
-                            @select-all="dialogTableSelectAll"
+                            ref="dialogTableRef" :column="dialogTableColumn" :datas="dialogTableData" :loading="dialogTableLoading"
+                            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                            @select="dialogTableSelect" @select-all="dialogTableSelectAll"
                         />
                     </div>
                     <div class="dialog-pages">
@@ -459,7 +376,7 @@
                     </div>
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 3 - 5
src/views/data-fill/query.vue

@@ -159,15 +159,13 @@
                 </template>
                 <template #extra>
                     <template v-if="contractInfo?.contractType === 2 || contractInfo?.contractType === 3">
-                        <HcNewSwitch
-                            :datas="contractTypeTab" :keys="contractTypeTabKey"
-                            @change="contractTypeTabChange"
-                        />
+                        <HcNewSwitch :datas="contractTypeTab" :keys="contractTypeTabKey" size="default" @change="contractTypeTabChange" />
                     </template>
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    border :check-style="{ width: 29 }" :index-style="{ width: 60 }" is-check @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #name="{ row }">
                         <span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>

+ 50 - 138
src/views/data-fill/wbs.vue

@@ -140,7 +140,7 @@
                 </HcTabCard>
             </div>
         </div>
-        <HcCard v-if="wbsTypeTabKey === 'map'" id-ref="wbs-node-tree-card-target">
+        <HcNewCard v-if="wbsTypeTabKey === 'map'" id-ref="wbs-node-tree-card-target">
             <template #header>
                 <HcTooltip keys="wbs_views_division_btn">
                     <el-button class="mr-10" hc-btn type="primary" @click="divisionClick">
@@ -148,13 +148,10 @@
                         <span>划分变更</span>
                     </el-button>
                 </HcTooltip>
-                <HcNewSwitch
-                    v-if="isDrawer" :datas="authBtnTabdata" :keys="authBtnTabKey" :round="false"
-                    size="default" @change="authBtnTabClick"
-                />
+                <HcNewSwitch v-if="isDrawer" :datas="authBtnTabdata" :keys="authBtnTabKey" :round="false" size="default" @change="authBtnTabClick" />
             </template>
             <template #extra>
-                <HcNewSwitch :datas="wbsTypeTab" :keys="wbsTypeTabKey" @change="wbsTypeTabChange" />
+                <HcNewSwitch :datas="wbsTypeTab" :keys="wbsTypeTabKey" size="default" @change="wbsTypeTabChange" />
             </template>
             <NodeTree
                 ref="NodeTreeRef"
@@ -261,7 +258,7 @@
                     </el-button>
                 </template>
             </HcDrawer>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 上传文件 -->
         <HcUploadFile
@@ -286,14 +283,8 @@
         </HcDragModal>
 
         <!-- 编辑节点 -->
-        <HcDialog
-            :loading="editNodeLoading" :show="editNodeModal" title="编辑节点" widths="600px"
-            @close="editNodeModal = false" @save="editNodeClick"
-        >
-            <el-form
-                ref="formEditNodeRef" :model="formEditNodeModel" :rules="formEditNodeRules" label-width="auto"
-                size="large"
-            >
+        <hc-new-dialog v-model="editNodeModal" :loading="editNodeLoading" title="编辑节点" widths="600px" @save="editNodeClick">
+            <el-form ref="formEditNodeRef" :model="formEditNodeModel" :rules="formEditNodeRules" label-width="auto" size="large">
                 <el-form-item label="节点名称" prop="title">
                     <el-input v-model="formEditNodeModel.title" placeholder="请输入节点名称" />
                 </el-form-item>
@@ -302,44 +293,33 @@
                 </el-form-item>
                 <el-form-item label="节点类型">
                     <el-select v-model="formEditNodeModel.nodeType" block disabled>
-                        <el-option v-for="item in nodeTypeData" :label="item.label" :value="item.value" />
+                        <el-option v-for="item in nodeTypeData" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </el-form-item>
                 <el-form-item label="划分编号">
                     <el-input v-model="formEditNodeModel.partitionCode" placeholder="请输入划分编号" />
                 </el-form-item>
                 <el-form-item class="hc-position-input-icon" label="模板位置">
-                    <el-input
-                        v-model="formEditNodeModel.position" :autosize="{ minRows: 3, maxRows: 6 }"
-                        type="textarea"
-                    />
+                    <el-input v-model="formEditNodeModel.position" :autosize="{ minRows: 3, maxRows: 6 }" type="textarea" />
                     <el-tooltip content="一键复制模板位置">
                         <HcIcon name="file-copy-2" @click="copyPositionText(formEditNodeModel.position)" />
                     </el-tooltip>
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 复制节点 -->
-        <HcDialog
-            :loading="copyNodeLoading" :show="copyNodeModal" :widths="copyNodeTabKey === '1' ? '600px' : '1200px'"
-            loading-text="复制节点中,请耐心等待..."
-            title="复制节点" @close="copyNodeModal = false"
+        <hc-new-dialog
+            v-model="copyNodeModal" :loading="copyNodeLoading" :widths="copyNodeTabKey === '1' ? '600px' : '1200px'"
+            loading-text="复制节点中,请耐心等待..." title="复制节点"
         >
             <div class="header-new-switch">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel" label-position="left"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" label-position="left" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item label="是否复制数据" prop="isCopyData" style="margin-bottom: 0;">
                         <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
                         <el-radio-group v-model="isCopyData">
-                            <el-radio :label="1">
-                                是
-                            </el-radio>
-                            <el-radio :label="0">
-                                否
-                            </el-radio>
+                            <el-radio :label="1">是</el-radio>
+                            <el-radio :label="0">否</el-radio>
                         </el-radio-group>
                     </el-form-item>
                     <el-form-item v-if="isCopyData === 1" label="所属方" prop="classify" style="margin-bottom: 0;">
@@ -354,26 +334,17 @@
                              @change="classifyTypeTabClick"/ -->
             </div>
             <div v-if="copyNodeTabKey === '1'" class="copy-node-form-box">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item v-if="copyNodeTabKey === '1'" label="节点名称" prop="title" style="margin-bottom: 0;">
                         <el-input v-model="formCopyNodeModel.title" placeholder="请输入节点名称" />
                     </el-form-item>
-                    <el-form-item
-                        v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode"
-                        style="margin-top: 10px;"
-                    >
+                    <el-form-item v-if="copyNodeTabKey === '1'" label="划分编号" prop="partitionCode" style="margin-top: 10px;">
                         <el-input v-model="formCopyNodeModel.partitionCode" placeholder="请输入划分编号" />
                     </el-form-item>
                 </el-form>
             </div>
             <div v-if="copyNodeTabKey === '3'" class="copy-node-form-box">
-                <el-form
-                    ref="formCopyNodeModelRef" :model="formCopyNodeModel"
-                    :rules="formCopyNodeModelRules" label-width="auto" size="large"
-                >
+                <el-form ref="formCopyNodeModelRef" :model="formCopyNodeModel" :rules="formCopyNodeModelRules" label-width="auto" size="large">
                     <el-form-item label="所属方" prop="classify" style="margin-bottom: 0;">
                         <!-- <el-input v-model="formCopyNodeModel.classify" placeholder="请输入节点名称"/> -->
                         <el-checkbox-group v-model="classifyList">
@@ -395,10 +366,7 @@
                             <el-table-column label="复制到的位置" prop="title" />
                             <el-table-column v-if="copyNodeTabKey === '2'" label="节点名称" prop="nodeName">
                                 <template #default="{ row }">
-                                    <el-form
-                                        ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules"
-                                        label-width="0" size="large"
-                                    >
+                                    <el-form ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules" label-width="0" size="large">
                                         <el-form-item prop="nodeName" style="margin-bottom: 0;">
                                             <el-input v-model="row.nodeName" placeholder="请输入节点名称" />
                                         </el-form-item>
@@ -407,10 +375,7 @@
                             </el-table-column>
                             <el-table-column v-if="copyNodeTabKey === '2'" label="划分编号" prop="partitionCode">
                                 <template #default="{ row }">
-                                    <el-form
-                                        ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules"
-                                        label-width="0" size="large"
-                                    >
+                                    <el-form ref="copyNodeTableRef" :model="row" :rules="copyNodeTableRules" label-width="0" size="large">
                                         <el-form-item prop="partitionCode" style="margin-bottom: 0;">
                                             <el-input v-model="row.partitionCode" placeholder="请输入划分编号" />
                                         </el-form-item>
@@ -419,9 +384,7 @@
                             </el-table-column>
                             <el-table-column align="center" label="操作" prop="action" width="120">
                                 <template #default="{ _, $index }">
-                                    <el-button plain type="danger" @click="copyNodeTableDel($index)">
-                                        删除
-                                    </el-button>
+                                    <el-button plain type="danger" @click="copyNodeTableDel($index)">删除</el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
@@ -431,40 +394,22 @@
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left">
-                        <template v-for="item in copyNodeTab">
-                            <el-button
-                                v-if="item?.key === copyNodeTabKey" plain size="large" type="primary"
-                                @click="copyNodeTabChange(item?.key)"
-                            >
-                                {{ item.name }}
-                            </el-button>
-                            <el-button v-else bg size="large" text @click="copyNodeTabChange(item?.key)">
-                                {{ item.name }}
-                            </el-button>
+                        <template v-for="(item, index) in copyNodeTab" :key="index">
+                            <el-button v-if="item?.key === copyNodeTabKey" plain size="large" type="primary" @click="copyNodeTabChange(item?.key)">{{ item.name }}</el-button>
+                            <el-button v-else bg size="large" text @click="copyNodeTabChange(item?.key)">{{ item.name }}</el-button>
                         </template>
                     </div>
                     <div class="right">
-                        <el-button :disabled="copyNodeLoading" size="large" @click="copyNodeModal = false">
-                            取消
-                        </el-button>
-                        <el-button :loading="copyNodeLoading" hc-btn type="primary" @click="copyNodeClick">
-                            提交
-                        </el-button>
+                        <el-button :disabled="copyNodeLoading" size="large" @click="copyNodeModal = false">取消</el-button>
+                        <el-button :loading="copyNodeLoading" hc-btn type="primary" @click="copyNodeClick">提交</el-button>
                     </div>
                 </div>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 新增子节点 -->
-        <HcDialog
-            :loading="addNodeLoading" :show="addNodeModal" loading-text="新增节点中,请耐心等待..."
-            title="新增子节点"
-            widths="720px" @close="addNodeModal = false"
-        >
-            <el-alert
-                :closable="false" title="双击节点,可编辑节点名称,编辑完成后,请按回车或输入框消失后,再点提交"
-                type="warning"
-            />
+        <hc-new-dialog v-model="addNodeModal" :loading="addNodeLoading" loading-text="新增节点中,请耐心等待..." title="新增子节点" widths="720px">
+            <el-alert :closable="false" title="双击节点,可编辑节点名称,编辑完成后,请按回车或输入框消失后,再点提交" type="warning" />
             <HcTreeNode
                 v-if="addTreeNodeType === '1'"
                 :node-id="addTreeNodeId"
@@ -486,61 +431,35 @@
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left flex items-center">
-                        <div class="mr-4">
-                            选中方式:
-                        </div>
+                        <div class="mr-4">选中方式:</div>
                         <el-radio-group v-model="addTreeNodeType">
-                            <el-radio label="1">
-                                当前及子节点
-                            </el-radio>
-                            <el-radio class="ml-4" label="2">
-                                仅当前节点
-                            </el-radio>
+                            <el-radio label="1">当前及子节点</el-radio>
+                            <el-radio class="ml-4" label="2">仅当前节点</el-radio>
                         </el-radio-group>
                     </div>
                     <div class="right">
-                        <el-button size="large" @click="addNodeModal = false">
-                            取消
-                        </el-button>
-                        <el-button :loading="addNodeLoading" hc-btn type="primary" @click="addNodeClick">
-                            提交
-                        </el-button>
+                        <el-button size="large" @click="addNodeModal = false">取消</el-button>
+                        <el-button :loading="addNodeLoading" hc-btn type="primary" @click="addNodeClick">提交</el-button>
                     </div>
                 </div>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 调整排序 -->
-        <HcDialog
-            :loading="sortNodeLoading" :show="sortNodeModal" title="调整排序" widths="700px"
-            @close="sortNodeModal = false" @save="sortNodeClick"
-        >
+        <hc-new-dialog v-model="sortNodeModal" :loading="sortNodeLoading" title="调整排序" widths="700px" @save="sortNodeClick">
             <el-alert :closable="false" title="可拖动排序,也可在后面点击图标,切换排序" type="warning" />
             <div class="sort-node-body-box list-group header">
                 <div class="list-group-item">
-                    <div class="index-box">
-                        序号
-                    </div>
-                    <div class="title-box">
-                        节点名称
-                    </div>
-                    <div class="icon-box">
-                        排序
-                    </div>
+                    <div class="index-box">序号</div>
+                    <div class="title-box">节点名称</div>
+                    <div class="icon-box">排序</div>
                 </div>
             </div>
-            <Draggable
-                :list="sortNodeData" class="sort-node-body-box list-group" ghost-class="ghost" item-key="id"
-                @end="sortNodeDrag = false" @start="sortNodeDrag = true"
-            >
+            <Draggable :list="sortNodeData" class="sort-node-body-box list-group" ghost-class="ghost" item-key="id" @end="sortNodeDrag = false" @start="sortNodeDrag = true">
                 <template #item="{ element, index }">
                     <div class="list-group-item">
-                        <div class="index-box">
-                            {{ index + 1 }}
-                        </div>
-                        <div class="title-box">
-                            {{ element.title }}
-                        </div>
+                        <div class="index-box">{{ index + 1 }}</div>
+                        <div class="title-box">{{ element.title }}</div>
                         <div class="icon-box">
                             <span class="icon" @click="downSortClick(index)">
                                 <HcIcon name="arrow-down" ui="text-lg" />
@@ -552,7 +471,7 @@
                     </div>
                 </template>
             </Draggable>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 批量上报审批 -->
         <HcReportModal
@@ -570,29 +489,22 @@
         />
 
         <!-- 查看附件 -->
-        <HcDialog
-            :footer="false" :show="attachmentModal" is-table title="附件列表" widths="780px"
-            @close="attachmentModal = false"
-        >
+        <hc-new-dialog v-model="attachmentModal" :footer="false" is-table title="附件列表" widths="780px">
             <div v-if="attachmentList.length > 0" v-loading="attachmentListLoaing">
                 <div v-for="item in attachmentList " :key="item.id" class="hc-attachment-card">
-                    <div class="hc-attachment-header">
-                        {{ item?.nodeName }}
-                    </div>
+                    <div class="hc-attachment-header">{{ item?.nodeName }}</div>
                     <div class="hc-attachment-content">
                         <div v-for="item1 in item.fileList " :key="item1.id" class="hc-attachment-item">
                             <div class="hc-attachment-file-name">
                                 <HcIcon name="attachment" />
-                                <div class="name">
-                                    {{ item1?.name }}
-                                </div>
+                                <div class="name">{{ item1?.name }}</div>
                             </div>
                             <div class="hc-attachment-btn-box">
                                 <el-button plain size="small" type="primary" @click="previewFile(item1)">
                                     <HcIcon name="eye" />
                                     <span>预览</span>
                                 </el-button>
-                                <el-button v-if=" NodeStatus != 3" plain size="small" style="margin-left: 16px" type="danger" :loading="item1?.loading" @click="delFile(item1)">
+                                <el-button v-if="NodeStatus != 3" plain size="small" style="margin-left: 16px" type="danger" :loading="item1?.loading" @click="delFile(item1)">
                                     <HcIcon name="close" />
                                     <span>删除</span>
                                 </el-button>
@@ -604,13 +516,13 @@
             <div v-else style="height: 100%;width: 100%;">
                 <HcNoData />
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 附件添加 -->
         <!-- 上传文件 -->
-        <HcDialog :footer="false" :show="uploadModal" title="上传文件" widths="38rem" @close="uploadModalClose">
+        <hc-new-dialog v-model="uploadModal" :footer="false" title="上传文件" widths="38rem" @close="uploadModalClose">
             <HcUpload :datas="uploadData" :file-list="fileListData" :is-canupload="false" action="/api/blade-manager/exceltab/add-bussfile-node" accept="application/pdf" accept-tip="允许格式:pdf" @change="uploadChange" />
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 50 - 139
src/views/gauge/bezier.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard :scrollbar="false" action-size="lg">
             <template #header>
                 <HcTooltip keys="gauge-bezier-add">
                     <el-button :disabled="searchForm.partId.length < 1" hc-btn type="primary" @click="addLineEleModal">
@@ -35,11 +35,8 @@
             </template>
             <template #extra>
                 <div class="w-60">
-                    <el-select
-                        v-model="searchForm.partId" block clearable placeholder="片段查询" size="large"
-                        @change="searchClick"
-                    >
-                        <el-option v-for="item in partData" :label="item.name" :value="item.id" />
+                    <el-select v-model="searchForm.partId" block clearable placeholder="片段查询" @change="searchClick">
+                        <el-option v-for="item in partData" :key="item.id" :label="item.name" :value="item.id" />
                     </el-select>
                 </div>
                 <HcTooltip keys="gauge-bezier-add-part">
@@ -54,35 +51,27 @@
                 </HcTooltip>
             </template>
 
-            <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading" border>
-                <template #name="{ row }">
-                    {{ row.valueStr }}~{{ row.valueEndStr }}
-                </template>
-                <template #type="{ row }">
-                    {{ getTypeName(row?.type) }}
-                </template>
+            <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
+                <template #name="{ row }">{{ row.valueStr }}~{{ row.valueEndStr }}</template>
+                <template #type="{ row }">{{ getTypeName(row?.type) }}</template>
                 <!-- <template #angle="{row}">
                     {{row['du']}}°{{row['fen']}}′{{row['miao']}}″
                 </template> -->
                 <template #action="{ row }">
                     <HcTooltip keys="gauge-station-edit">
-                        <el-button size="small" text type="primary" @click="handleTableEdit(row)">
-                            编辑
-                        </el-button>
+                        <el-button size="small" text type="primary" @click="handleTableEdit(row)">编辑</el-button>
                     </HcTooltip>
                     <HcTooltip keys="gauge-station-del">
-                        <el-button size="small" text type="danger" @click="handleTableDelete(row)">
-                            删除
-                        </el-button>
+                        <el-button size="small" text type="danger" @click="handleTableDelete(row)">删除</el-button>
                     </HcTooltip>
                 </template>
             </HcTable>
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
         <!-- 管理片段弹框 -->
-        <el-dialog v-model="showAdminPartModal" class="hc-modal-border" title="管理片段" width="47rem">
+        <hc-new-dialog v-model="showAdminPartModal" title="管理片段" widths="47rem">
             <div class="admin-part-data-table">
                 <el-scrollbar>
                     <div class="hc-table-ref-box">
@@ -90,45 +79,23 @@
                             <el-table-column label="片段名称" prop="name">
                                 <template #default="scope">
                                     <el-input v-if="scope.row.isEdit" v-model="scope.row.name" placeholder="片段名称" />
-                                    <div v-else>
-                                        {{ scope.row.name }}
-                                    </div>
+                                    <div v-else>{{ scope.row.name }}</div>
                                 </template>
                             </el-table-column>
                             <el-table-column label="桩号前缀" prop="prefix">
                                 <template #default="scope">
-                                    <el-input
-                                        v-if="scope.row.isEdit" v-model="scope.row.prefix"
-                                        placeholder="桩号前缀"
-                                    />
-                                    <div v-else>
-                                        {{ scope.row.prefix }}
-                                    </div>
+                                    <el-input v-if="scope.row.isEdit" v-model="scope.row.prefix" placeholder="桩号前缀" />
+                                    <div v-else>{{ scope.row.prefix }}</div>
                                 </template>
                             </el-table-column>
                             <el-table-column align="center" label="操作" width="130">
                                 <template #default="scope">
-                                    <el-button
-                                        v-if="scope.row.isEdit" size="small" text type="primary"
-                                        @click="handleAdminPartSave(scope.row)"
-                                    >
-                                        保存
-                                    </el-button>
+                                    <el-button v-if="scope.row.isEdit" size="small" text type="primary" @click="handleAdminPartSave(scope.row)">保存</el-button>
                                     <HcTooltip v-else keys="gauge-station-edit">
-                                        <el-button
-                                            size="small" text type="primary"
-                                            @click="handleAdminPartEdit(scope.row)"
-                                        >
-                                            编辑
-                                        </el-button>
+                                        <el-button size="small" text type="primary" @click="handleAdminPartEdit(scope.row)">编辑</el-button>
                                     </HcTooltip>
                                     <HcTooltip keys="gauge-station-del">
-                                        <el-button
-                                            size="small" text type="danger"
-                                            @click="handleAdminPartDelete(scope.row, scope.$index)"
-                                        >
-                                            删除
-                                        </el-button>
+                                        <el-button size="small" text type="danger" @click="handleAdminPartDelete(scope.row, scope.$index)">删除</el-button>
                                     </HcTooltip>
                                 </template>
                             </el-table-column>
@@ -138,17 +105,13 @@
             </div>
             <template #footer>
                 <div class="dialog-footer">
-                    <el-button size="large" @click="showAdminPartModal = false">
-                        取消
-                    </el-button>
-                    <el-button hc-btn type="primary" @click="AddAdminPart">
-                        新增
-                    </el-button>
+                    <el-button size="large" @click="showAdminPartModal = false">取消</el-button>
+                    <el-button hc-btn type="primary" @click="AddAdminPart">新增</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 新增片段弹框 -->
-        <el-dialog v-model="showAddPartModal" class="hc-modal-border" draggable title="新增片段" width="38rem">
+        <hc-new-dialog v-model="showAddPartModal" title="新增片段" widths="38rem">
             <el-form ref="partFormRef" :model="partForm" :rules="partRules" label-width="auto" size="large">
                 <el-form-item label="名称" prop="name">
                     <el-input v-model="partForm.name" placeholder="请输入名称" />
@@ -159,27 +122,17 @@
             </el-form>
             <template #footer>
                 <div class="dialog-footer">
-                    <el-button size="large" @click="showAddPartModal = false">
-                        取消
-                    </el-button>
-                    <el-button :loading="savePartLoading" hc-btn type="primary" @click="savePartInfo">
-                        保存
-                    </el-button>
+                    <el-button size="large" @click="showAddPartModal = false">取消</el-button>
+                    <el-button :loading="savePartLoading" hc-btn type="primary" @click="savePartInfo">保存</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 添加/编辑线元弹框 -->
-        <el-dialog
-            v-model="showLineEleModal"
-            :title="(formLineEleValue.id === -1 || !formLineEleValue.id) ? '添加线元' : '编辑线元'" class="hc-modal-border"
-            draggable width="40rem"
-        >
+        <hc-new-dialog v-model="showLineEleModal" :title="(formLineEleValue.id === -1 || !formLineEleValue.id) ? '添加线元' : '编辑线元'" widths="40rem">
             <el-form :model="formLineEleValue" label-width="auto" size="large">
                 <el-form-item label="类型">
                     <el-radio-group v-model="formLineEleValue.type">
-                        <el-radio v-for="item in lineElementType" :label="item.value">
-                            {{ item.label }}
-                        </el-radio>
+                        <el-radio v-for="(item, index) in lineElementType" :key="index" :label="item.value">{{ item.label }}</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item label="开始里程">
@@ -199,12 +152,8 @@
                 </el-form-item>
                 <el-form-item v-if="formLineEleValue.type !== 0" label="转向">
                     <el-radio-group v-model="formLineEleValue.swing">
-                        <el-radio label="左转">
-                            左转
-                        </el-radio>
-                        <el-radio label="右转">
-                            右转
-                        </el-radio>
+                        <el-radio label="左转">左转</el-radio>
+                        <el-radio label="右转">右转</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item label="线长度">
@@ -213,23 +162,17 @@
                 <div class="flex">
                     <el-form-item class="flex-1" label="方位角">
                         <el-input v-model="formLineEleValue.du" placeholder="输入度">
-                            <template #suffix>
-                                度
-                            </template>
+                            <template #suffix>度</template>
                         </el-input>
                     </el-form-item>
                     <el-form-item class="flex-1 ml-4" no-label>
                         <el-input v-model="formLineEleValue.fen" placeholder="输入分">
-                            <template #suffix>
-                                分
-                            </template>
+                            <template #suffix>分</template>
                         </el-input>
                     </el-form-item>
                     <el-form-item class="flex-1 ml-4" no-label>
                         <el-input v-model="formLineEleValue.miao" placeholder="输入秒">
-                            <template #suffix>
-                                秒
-                            </template>
+                            <template #suffix>秒</template>
                         </el-input>
                     </el-form-item>
                 </div>
@@ -245,23 +188,14 @@
             </el-form>
             <template #footer>
                 <div class="dialog-footer">
-                    <el-button size="large" @click="showLineEleModal = false">
-                        取消
-                    </el-button>
-                    <el-button
-                        v-if="formLineEleValue.id === -1 || !formLineEleValue.id" size="large"
-                        @click="refreshable"
-                    >
-                        刷新
-                    </el-button>
-                    <el-button :loading="saveLoading" hc-btn type="primary" @click="saveLineEleClick">
-                        保存
-                    </el-button>
+                    <el-button size="large" @click="showLineEleModal = false">取消</el-button>
+                    <el-button v-if="formLineEleValue.id === -1 || !formLineEleValue.id" size="large" @click="refreshable">刷新</el-button>
+                    <el-button :loading="saveLoading" hc-btn type="primary" @click="saveLineEleClick">保存</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 里程转换坐标 -->
-        <el-dialog v-model="showToModal" class="hc-modal-border" draggable title="里程转换坐标" width="38rem">
+        <hc-new-dialog v-model="showToModal" title="里程转换坐标" widths="38rem">
             <el-form :model="formToValue" label-width="auto" size="large">
                 <el-form-item label="里程">
                     <el-input v-model="formToValue.value" placeholder="请输入名称" />
@@ -273,29 +207,21 @@
                     <el-input v-model="formToValue.jj" placeholder="请输入夹角" />
                 </el-form-item>
                 <el-form-item label="X">
-                    <div class="form-item-div">
-                        {{ formToValue.x }}
-                    </div>
+                    <div class="form-item-div">{{ formToValue.x }}</div>
                 </el-form-item>
                 <el-form-item label="Y">
-                    <div class="form-item-div">
-                        {{ formToValue.y }}
-                    </div>
+                    <div class="form-item-div">{{ formToValue.y }}</div>
                 </el-form-item>
             </el-form>
             <template #footer>
                 <div class="dialog-footer">
-                    <el-button size="large" @click="showToModal = false">
-                        取消
-                    </el-button>
-                    <el-button hc-btn type="primary" @click="queryPsChange">
-                        转换
-                    </el-button>
+                    <el-button size="large" @click="showToModal = false">取消</el-button>
+                    <el-button hc-btn type="primary" @click="queryPsChange">转换</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 逐桩坐标弹框 -->
-        <el-dialog v-model="showPileModal" class="hc-modal-border" draggable title="逐桩坐标" width="62rem">
+        <hc-new-dialog v-model="showPileModal" title="逐桩坐标" widths="62rem">
             <el-form :model="formPileValue" inline label-position="top" label-width="auto" size="large">
                 <el-form-item label="开始桩号">
                     <el-input v-model="formPileValue.x" placeholder="开始桩号" />
@@ -310,9 +236,7 @@
                     <el-input v-model="formPileValue.b" placeholder="偏距" />
                 </el-form-item>
                 <el-form-item label=" ">
-                    <el-button :loading="generateLoading" attr-type="button" type="primary" @click="generateClick">
-                        生成
-                    </el-button>
+                    <el-button :loading="generateLoading" attr-type="button" type="primary" @click="generateClick">生成</el-button>
                 </el-form-item>
             </el-form>
             <div class="admin-part-data-table">
@@ -320,9 +244,7 @@
                     <div class="hc-table-ref-box">
                         <el-table :data="pileTable" hc border>
                             <el-table-column label="序号" prop="num" width="80">
-                                <template #default="scope">
-                                    {{ scope.$index + 1 }}
-                                </template>
+                                <template #default="scope">{{ scope.$index + 1 }}</template>
                             </el-table-column>
                             <el-table-column label="里程" prop="valueStr" />
                             <el-table-column label="偏距" prop="b" />
@@ -332,9 +254,9 @@
                     </div>
                 </el-scrollbar>
             </div>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 导入弹框 -->
-        <el-dialog v-model="showImportModal" class="hc-modal-border" title="导入线元" width="32rem">
+        <hc-new-dialog v-model="showImportModal" title="导入线元" widths="32rem">
             <div class="text-center">
                 <el-upload
                     ref="uploadRef" v-model:file-list="fileList" :accept="accept" :action="action"
@@ -343,33 +265,22 @@
                     :on-progress="handleUploadProgress" :on-success="handleUploadFinish"
                 >
                     <template #trigger>
-                        <el-button :loading="importLoading" type="primary">
-                            选择文件
-                        </el-button>
+                        <el-button :loading="importLoading" type="primary">选择文件</el-button>
                     </template>
                 </el-upload>
             </div>
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left">
-                        <el-button size="large" @click="tmportTmpClick">
-                            下载导入模板
-                        </el-button>
+                        <el-button size="large" @click="tmportTmpClick">下载导入模板</el-button>
                     </div>
                     <div class="right">
-                        <el-button size="large" @click="showImportModal = false">
-                            取消
-                        </el-button>
-                        <el-button
-                            :disabled="fileList.length <= 0" :loading="importLoading" hc-btn type="primary"
-                            @click="handleImportClick"
-                        >
-                            确认导入
-                        </el-button>
+                        <el-button size="large" @click="showImportModal = false">取消</el-button>
+                        <el-button :disabled="fileList.length <= 0" :loading="importLoading" hc-btn type="primary" @click="handleImportClick">确认导入</el-button>
                     </div>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 15 - 39
src/views/gauge/station.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard>
             <template #header>
                 <HcTooltip keys="gauge-station-add">
                     <el-button hc-btn type="primary" @click="AddRowClick">
@@ -21,23 +21,19 @@
                     </el-button>
                 </HcTooltip>
                 <div class="w-60 ml-6">
-                    <el-input
-                        v-model="searchForm.name" clearable placeholder="请输入测站点或关键字进行搜索"
-                        size="large" @keyup="keyUpEvent"
-                    />
+                    <el-input v-model="searchForm.name" clearable placeholder="请输入测站点或关键字进行搜索" @keyup="keyUpEvent" />
                 </div>
                 <div class="ml-2">
-                    <el-button size="large" type="primary" @click="searchClick">
+                    <el-button type="primary" @click="searchClick">
                         <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
                 </div>
             </template>
             <template #extra>
-                <HcNewSwitch :datas="tabsTypeData" :keys="tabsTypeKey" @change="tabsTypeChange" />
+                <HcNewSwitch :datas="tabsTypeData" size="default" :keys="tabsTypeKey" @change="tabsTypeChange" />
             </template>
-
-            <HcTable v-if="tabsTypeKey === '0'" :column="levelTableColumn" :datas="levelTable" :loading="tableLoading" border>
+            <HcTable v-if="tabsTypeKey === '0'" :column="levelTableColumn" :datas="levelTable" :loading="tableLoading" is-new :index-style="{ width: 60 }">
                 <template #action="{ row }">
                     <HcTooltip keys="gauge-station-edit">
                         <el-button size="small" text type="primary" @click="handleLevelEdit(row)">编辑</el-button>
@@ -47,11 +43,7 @@
                     </HcTooltip>
                 </template>
             </HcTable>
-
-            <HcTable
-                v-if="tabsTypeKey === '1'" :column="traverseTableColumn" :datas="traverseTable"
-                :loading="tableLoading" border
-            >
+            <HcTable v-if="tabsTypeKey === '1'" :column="traverseTableColumn" :datas="traverseTable" :loading="tableLoading" is-new :index-style="{ width: 60 }">
                 <template #action="{ row }">
                     <HcTooltip keys="gauge-station-edit">
                         <el-button size="small" text type="primary" @click="handleTraverseEdit(row)">编辑</el-button>
@@ -61,18 +53,13 @@
                     </HcTooltip>
                 </template>
             </HcTable>
-
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
+
         <!-- 新增/编辑 弹框 -->
-        <el-dialog
-            v-model="showRowModal"
-            :title="`${formRowValue?.id ? '编辑' : '新增'}${tabsTypeKey === '1' ? '导线点' : '水准点'}`"
-            class="hc-modal-border"
-            width="47rem"
-        >
+        <hc-new-dialog v-model="showRowModal" :title="`${formRowValue?.id ? '编辑' : '新增'}${tabsTypeKey === '1' ? '导线点' : '水准点'}`" widths="47rem">
             <el-form ref="formRowRef" :model="formRowValue" :rules="rulesRow" label-width="auto" size="large">
                 <el-form-item label="点名称" prop="name">
                     <el-input v-model="formRowValue.name" placeholder="请输入点名称" />
@@ -88,18 +75,11 @@
                 </el-form-item>
                 <el-form-item label="等级">
                     <el-select v-model="formRowValue.level" block>
-                        <el-option
-                            v-for="item in personData" :label="item.label" :value="item.value"
-                            placeholder="请选择等级"
-                        />
+                        <el-option v-for="(item, index) in personData" :key="index" :label="item.label" :value="item.value" placeholder="请选择等级" />
                     </el-select>
                 </el-form-item>
                 <el-form-item label="备注">
-                    <el-input
-                        v-model="formRowValue.remark" :autosize="{ minRows: 3, maxRows: 5 }"
-                        placeholder="请输入文字说明"
-                        type="textarea"
-                    />
+                    <el-input v-model="formRowValue.remark" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea" />
                 </el-form-item>
             </el-form>
             <template #footer>
@@ -108,13 +88,9 @@
                     <el-button :loading="saveFormLoading" hc-btn type="primary" @click="saveFormClick">提交</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
         <!-- 导入 弹框 -->
-        <el-dialog
-            v-model="showImportModal" :title="`导入${tabsTypeKey === '1' ? '导线点' : '水准点'}`"
-            class="hc-modal-border"
-            width="47rem"
-        >
+        <hc-new-dialog v-model="showImportModal" :title="`导入${tabsTypeKey === '1' ? '导线点' : '水准点'}`" widths="47rem">
             <div class="hc-import-modal-box">
                 <div class="tip-box">
                     <span>请先下载导入模板(</span>
@@ -163,14 +139,14 @@
                     </el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 
 <script setup>
 import { onMounted, ref } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
-import { useAppStore } from '~src/store/index'
+import { useAppStore } from '~src/store'
 import stationApi from '~api/gauge/station'
 import { getTokenHeader } from '~src/api/request/header'
 import { genFileId } from 'element-plus'

+ 18 - 30
src/views/gauge/testdata.vue

@@ -1,7 +1,7 @@
 <!--  -->
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard>
             <template #header>
                 <HcTooltip keys="gauge-testdata-add">
                     <el-button hc-btn type="primary" @click="AddRowClick">
@@ -9,7 +9,6 @@
                         <span>新增</span>
                     </el-button>
                 </HcTooltip>
-
                 <HcTooltip keys="gauge-testdata-import">
                     <el-button hc-btn @click="importModalClick">
                         <HcIcon name="upload-cloud" />
@@ -17,22 +16,19 @@
                     </el-button>
                 </HcTooltip>
                 <div class="w-60 ml-6">
-                    <el-input
-                        v-model="searchForm.searchValue" clearable :placeholder="placeTitle"
-                        size="large" @keyup="keyUpEvent"
-                    />
+                    <el-input v-model="searchForm.searchValue" clearable :placeholder="placeTitle" @keyup="keyUpEvent" />
                 </div>
                 <div class="ml-2">
-                    <el-button size="large" type="primary" @click="searchClick">
+                    <el-button type="primary" @click="searchClick">
                         <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
                 </div>
             </template>
             <template #extra>
-                <HcNewSwitch :datas="tabsTypeData" :keys="tabsTypeKey" @change="tabsTypeChange" />
+                <HcNewSwitch :datas="tabsTypeData" :keys="tabsTypeKey" size="default" @change="tabsTypeChange" />
             </template>
-            <HcTable v-if="tabsTypeKey === '0'" :column="tableColumn" :datas="tableData" :laoding="tableLoading" border>
+            <HcTable v-if="tabsTypeKey === '0'" :column="tableColumn" :datas="tableData" :laoding="tableLoading" is-new :index-style="{ width: 60 }">
                 <template #action="{ row }">
                     <HcTooltip keys="gauge-station-edit">
                         <el-button size="small" text type="primary" @click="handleLevelEdit(row)">编辑</el-button>
@@ -42,7 +38,7 @@
                     </HcTooltip>
                 </template>
             </HcTable>
-            <HcTable v-if="tabsTypeKey === '1'" :column="matchTableColumn" :datas="matchData" :laoding="matchtableLoading" border>
+            <HcTable v-if="tabsTypeKey === '1'" :column="matchTableColumn" :datas="matchData" :laoding="matchtableLoading" is-new :index-style="{ width: 60 }">
                 <template #action="{ row }">
                     <HcTooltip keys="gauge-testdata-edit">
                         <el-button size="small" text type="primary" @click="handmatchEdit(row)">编辑</el-button>
@@ -57,9 +53,8 @@
             </template>
 
             <!-- 新增/编辑 弹框 -->
-            <HcDialog
-                is-to-body
-                :show="testModal"
+            <hc-new-dialog
+                v-model="testModal"
                 :title="`${formRowValue?.id || matchformRowValue?.id ? '编辑' : '新增'}${tabsTypeKey === '0' ? '原材' : '配合比'}`"
                 widths="47rem"
                 :is-table="tabsTypeKey === '1'"
@@ -76,19 +71,13 @@
                         <el-input v-model="formRowValue.manufacturers" placeholder="请输入生产厂商" />
                     </el-form-item>
                     <el-form-item label="存放地点或料厂号" prop="storageSite">
-                        <el-input
-                            v-model="formRowValue.storageSite" placeholder="请输入存放地点或料厂号"
-                        />
+                        <el-input v-model="formRowValue.storageSite" placeholder="请输入存放地点或料厂号" />
                     </el-form-item>
                     <el-form-item label="试验批准文号" prop="batchNumber">
-                        <el-input
-                            v-model="formRowValue.batchNumber" placeholder="请输入试验批准文号"
-                        />
+                        <el-input v-model="formRowValue.batchNumber" placeholder="请输入试验批准文号" />
                     </el-form-item>
                     <el-form-item label="准备数量" prop="total">
-                        <el-input
-                            v-model="formRowValue.total" placeholder="请输入准备数量"
-                        />
+                        <el-input v-model="formRowValue.total" placeholder="请输入准备数量" />
                     </el-form-item>
                 </el-form>
                 <el-form v-if="tabsTypeKey === '1'" ref="matchformRowRef" :model="matchformRowValue" :rules="matchrulesRow" label-width="auto" size="large">
@@ -170,11 +159,10 @@
                         <el-button v-if="tabsTypeKey === '1'" :loading="saveFormLoading" hc-btn type="primary" @click="matchsaveFormClick">提交</el-button>
                     </div>
                 </template>
-            </HcDialog>
+            </hc-new-dialog>
 
             <!-- 导入 弹框 -->
-
-            <HcDialog is-to-body :show="importModal" :title="tabsTypeKey === '0' ? '导入原材' : '导入配合比'" @close="importModalClose">
+            <hc-new-dialog v-model="importModal" :title="tabsTypeKey === '0' ? '导入原材' : '导入配合比'" @close="importModalClose">
                 <div class="hc-import-modal-box">
                     <div class="tip-box">
                         <span>请先下载导入模板(</span>
@@ -216,17 +204,17 @@
                         </el-button>
                     </div>
                 </template>
-            </HcDialog>
-        </HcCard>
+            </hc-new-dialog>
+        </HcNewCard>
     </div>
 </template>
 
 <script setup>
-import { onMounted, ref, watch } from 'vue'
+import { onMounted, ref } from 'vue'
 import testApi from '~api/gauge/testdata'
-import { deepClone, downloadBlob, formValidate, getArrValue } from 'js-fast-way'
+import { deepClone, formValidate, getArrValue } from 'js-fast-way'
 import { delMessageV2 } from '~com/message/index.js'
-import { useAppStore } from '~src/store/index'
+import { useAppStore } from '~src/store'
 import { genFileId } from 'element-plus'
 import { getTokenHeader } from '~src/api/request/header'
 const useAppState = useAppStore()

+ 4 - 4
src/views/home/config.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcCard action-size="lg" scrollbar>
+    <HcNewCard action-size="lg" scrollbar>
         <div class="text-lg font-medium mb-4">
             主题模式<span class="text-sm text-slate-400 font-light ml-4">深色模式还未适配,暂不推荐使用深色模式</span>
         </div>
@@ -96,13 +96,13 @@
                 </el-popover>
             </div>
         </div>
-   
+
         <div class="text-lg font-medium mb-4">首页模式</div>
         <el-radio-group v-model="IndexModel" class="ml-4" @change="changeIndexModel">
             <el-radio label="1" size="large">精简模式</el-radio>
             <el-radio label="2" size="large">数据模式</el-radio>
         </el-radio-group>
-  
+
         <template #action>
             <el-popover :width="180" placement="top" trigger="hover">
                 <template #reference>
@@ -123,7 +123,7 @@
                 <div>如果没有保存配置,下次登录后,将恢复到上次保存的配置</div>
             </el-popover>
         </template>
-    </HcCard>
+    </HcNewCard>
 </template>
 
 <script setup>

+ 8 - 17
src/views/ledger/components/construction.vue

@@ -1,6 +1,6 @@
 <template>
-    <HcCard>
-        <HcTable :column="tableConstructionColumn" :datas="tableConstructionData" :loading="tableConstructionLoading" border>
+    <HcNewCard>
+        <HcTable :column="tableConstructionColumn" :datas="tableConstructionData" :loading="tableConstructionLoading" is-new :index-style="{ width: 60 }">
             <template #action="{ row }">
                 <HcTooltip keys="write_construction_edit">
                     <el-button plain size="small" type="primary" @click="tableConstructionEdit(row)">
@@ -13,27 +13,18 @@
         <template #action>
             <HcPages :pages="searchConstructionForm" @change="pageConstructionChange" />
         </template>
-    </HcCard>
+    </HcNewCard>
 
     <!-- 编辑施工台账 -->
-    <el-dialog v-model="showConstructionEditModal" class="hc-modal-border" title="编辑施工台账" width="38rem">
-        <el-form
-            ref="constructionFormRef" :model="constructionFormModel" :rules="constructionFormRules"
-            label-position="top" label-width="auto" size="large"
-        >
+    <hc-new-dialog v-model="showConstructionEditModal" title="编辑施工台账" widths="38rem">
+        <el-form ref="constructionFormRef" :model="constructionFormModel" :rules="constructionFormRules" label-position="top" label-width="auto" size="large">
             <div class="flex">
                 <el-form-item class="flex-1" label="施工起始日期" prop="siteStartTime">
-                    <el-date-picker
-                        v-model="constructionFormModel.siteStartTime" class="block" format="YYYY-MM-DD"
-                        placeholder="施工起始日期" type="date" value-format="YYYY-MM-DD"
-                    />
+                    <el-date-picker v-model="constructionFormModel.siteStartTime" class="block" format="YYYY-MM-DD" placeholder="施工起始日期" type="date" value-format="YYYY-MM-DD" />
                 </el-form-item>
                 <el-form-item class="mx-4" label=" ">至</el-form-item>
                 <el-form-item class="flex-1" label="施工停止日期" prop="siteEndTime">
-                    <el-date-picker
-                        v-model="constructionFormModel.siteEndTime" class="block" format="YYYY-MM-DD"
-                        placeholder="施工停止日期" type="date" value-format="YYYY-MM-DD"
-                    />
+                    <el-date-picker v-model="constructionFormModel.siteEndTime" class="block" format="YYYY-MM-DD" placeholder="施工停止日期" type="date" value-format="YYYY-MM-DD" />
                 </el-form-item>
             </div>
             <div class="flex">
@@ -74,7 +65,7 @@
                 </el-button>
             </div>
         </template>
-    </el-dialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 15 - 30
src/views/ledger/components/internal.vue

@@ -1,43 +1,31 @@
 <template>
-    <HcCard>
+    <HcNewCard>
         <template #header>
             <div class="w-32">
-                <el-select v-model="searchInternalForm.taskStatus" clearable placeholder="审批状态" size="large">
-                    <el-option
-                        v-for="item in InternalApproval" :key="item.value" :label="item.label"
-                        :value="item.value"
-                    />
+                <el-select v-model="searchInternalForm.taskStatus" clearable placeholder="审批状态">
+                    <el-option v-for="item in InternalApproval" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </div>
             <div class="w-32 ml-2">
-                <el-select v-model="searchInternalForm.isEvaluate" clearable placeholder="是否评定" size="large">
-                    <el-option
-                        v-for="item in InternalAssess" :key="item.value" :label="item.label"
-                        :value="item.value"
-                    />
+                <el-select v-model="searchInternalForm.isEvaluate" clearable placeholder="是否评定">
+                    <el-option v-for="item in InternalAssess" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </div>
             <div class="w-32 ml-2">
-                <el-select v-model="searchInternalForm.reportNumber" clearable placeholder="上报批次" size="large">
+                <el-select v-model="searchInternalForm.reportNumber" clearable placeholder="上报批次">
                     <el-option v-for="item in InternalReportBatch" :key="item" :label="item" :value="item" />
                 </el-select>
             </div>
             <div class="w-32 ml-2">
-                <el-select v-model="searchInternalForm.isExperiment" clearable placeholder="关联试验" size="large">
-                    <el-option
-                        v-for="item in InternalAssociation" :key="item.value" :label="item.label"
-                        :value="item.value"
-                    />
+                <el-select v-model="searchInternalForm.isExperiment" clearable placeholder="关联试验">
+                    <el-option v-for="item in InternalAssociation" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </div>
             <div class="w-60 ml-2">
-                <el-input
-                    v-model="searchInternalForm.queryStr" clearable placeholder="请输入名称关键词检索"
-                    size="large" @keyup="searchInternalKeyUp"
-                />
+                <el-input v-model="searchInternalForm.queryStr" clearable placeholder="请输入名称关键词检索" @keyup="searchInternalKeyUp" />
             </div>
             <div class="ml-2">
-                <el-button size="large" type="primary" @click="searchInternalClick">
+                <el-button type="primary" @click="searchInternalClick">
                     <HcIcon name="search-2" />
                     <span>搜索</span>
                 </el-button>
@@ -45,10 +33,7 @@
         </template>
         <template #extra>
             <HcTooltip keys="write_industry_download">
-                <el-button
-                    :disabled="tableInternalKeys.length <= 0" :loading="downloadLoading" hc-btn type="primary"
-                    @click="batchDownload"
-                >
+                <el-button :disabled="tableInternalKeys.length <= 0" :loading="downloadLoading" hc-btn type="primary" @click="batchDownload">
                     <HcIcon name="download" />
                     <span>下载</span>
                 </el-button>
@@ -61,8 +46,9 @@
             </HcTooltip>
         </template>
         <HcTable
-            ref="tableInternalRef" :column="tableInternalColumn" :datas="tableInternalData" border
-            :loading="tableInternalLoading" is-check @selection-change="tableInternalSelection"
+            ref="tableInternalRef" :column="tableInternalColumn" :datas="tableInternalData" :loading="tableInternalLoading"
+            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+            @selection-change="tableInternalSelection"
         >
             <template #taskStatus="{ row }">
                 <el-tag v-if="row.taskStatus === '已审批'" class="mx-1" effect="dark" type="success">已审批</el-tag>
@@ -73,7 +59,6 @@
                 <el-tag v-if="row.isEvaluate" class="mx-1" effect="dark" type="success">是</el-tag>
                 <el-tag v-else class="mx-1" effect="dark" type="info">否</el-tag>
             </template>
-
             <template #reportNumber="{ row }">
                 {{ row.reportNumber === '-1' || row.reportNumber === '0' ? '' : row.reportNumber }}
             </template>
@@ -85,7 +70,7 @@
         <template #action>
             <HcPages :pages="searchInternalForm" @change="pageInternalChange" />
         </template>
-    </HcCard>
+    </HcNewCard>
 </template>
 
 <script setup>

+ 7 - 13
src/views/ledger/components/table-form.vue

@@ -120,10 +120,7 @@
         </div>
 
         <!-- 关联工序 -->
-        <HcDialog
-            :show="processNodeModal" title="选择关联工序" widths="62rem" is-table
-            @close="processNodeModal = false" @save="processNodeClick"
-        >
+        <hc-new-dialog v-model="processNodeModal" title="选择关联工序" widths="62rem" is-table @save="processNodeClick">
             <div class="node-many-tree">
                 <!-- <el-tree
                     ref="processElTree" :default-checked-keys="defaultChecked"
@@ -142,14 +139,10 @@
                     @load="ElTreeLoadNode"
                 />
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 复制任意时间 -->
-        <HcDialog
-            :loading="copyTimeLoading" :padding="false" :show="copyTimeModal" is-table save-text="复制"
-            title="复制任意时间"
-            widths="62rem" @close="copyTimeModal = false" @save="copyTimeSaveClick"
-        >
+        <hc-new-dialog v-model="copyTimeModal" :loading="copyTimeLoading" :padding="false" is-table save-text="复制" title="复制任意时间" widths="62rem" @save="copyTimeSaveClick">
             <div class="hc-user-time-box">
                 <div class="tree-box">
                     <el-scrollbar>
@@ -163,12 +156,13 @@
                 </div>
                 <div class="user-box">
                     <HcTable
-                        ref="copyTimeTableRef" :column="copyTimeTableColumn" :datas="copyTimeTableData" border
-                        :loading="copyTimeTableLoading" is-check @selection-change="copyTimeTableSelection"
+                        ref="copyTimeTableRef" :column="copyTimeTableColumn" :datas="copyTimeTableData" :loading="copyTimeTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="copyTimeTableSelection"
                     />
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 批量上报审批 -->
         <HcReportModal

+ 8 - 7
src/views/ledger/components/table-list.vue

@@ -1,17 +1,17 @@
 <template>
     <div class="hc-table-list-content">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <div class="w-64">
-                    <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate" />
+                    <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
                 </div>
                 <div class="w-40 ml-3">
-                    <el-select v-model="searchForm.createUser" block clearable placeholder="请选择记录人" size="large">
+                    <el-select v-model="searchForm.createUser" block clearable placeholder="请选择记录人">
                         <el-option v-for="item in recordData" :label="item.userName" :value="item.userId" />
                     </el-select>
                 </div>
                 <div class="ml-2">
-                    <el-button size="large" type="primary" @click="searchClick">
+                    <el-button type="primary" @click="searchClick">
                         <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
@@ -56,8 +56,9 @@
                 </HcTooltip>
             </template>
             <HcTable
-                ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" is-check
-                border @selection-change="tableSelectionChange"
+                ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelectionChange"
             >
                 <template #action="{ row }">
                     <HcTooltip keys="ledger_query_table_query">
@@ -76,7 +77,7 @@
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 批量上报审批 -->
         <HcReportModal

+ 9 - 8
src/views/ledger/components/weather.vue

@@ -1,11 +1,11 @@
 <template>
-    <HcCard>
+    <HcNewCard>
         <template #header>
             <div class="w-64">
-                <HcDatePicker :dates="weatherTime" clearable size="large" @change="weatherTimeUpdate" />
+                <HcDatePicker :dates="weatherTime" clearable @change="weatherTimeUpdate" />
             </div>
             <div class="ml-2">
-                <el-button size="large" type="primary" @click="searchWeatherClick">搜索</el-button>
+                <el-button type="primary" @click="searchWeatherClick">搜索</el-button>
             </div>
         </template>
         <template #extra>
@@ -17,8 +17,9 @@
             </HcTooltip>
         </template>
         <HcTable
-            :column="tableWeatherColumn" :datas="tableWeatherData" :loading="tableWeatherLoading" is-check
-            border @selection-change="tableWeatherSelection"
+            :column="tableWeatherColumn" :datas="tableWeatherData" :loading="tableWeatherLoading"
+            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+            @selection-change="tableWeatherSelection"
         >
             <template #tempLow="{ row }">{{ row.tempLow }} ~ {{ row.tempHigh }}</template>
             <template #action="{ row }">
@@ -33,10 +34,10 @@
         <template #action>
             <HcPages :pages="searchWeatherForm" @change="pageWeatherChange" />
         </template>
-    </HcCard>
+    </HcNewCard>
 
     <!-- 编辑天气台账 -->
-    <el-dialog v-model="showWeatherEditModal" class="hc-modal-border" title="编辑天气台账" width="38rem">
+    <hc-new-dialog v-model="showWeatherEditModal" title="编辑天气台账" widths="38rem">
         <el-form
             ref="weatherFormRef" :model="weatherFormModel" :rules="weatherFormRules" label-width="auto"
             size="large"
@@ -69,7 +70,7 @@
                 </el-button>
             </div>
         </template>
-    </el-dialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 24 - 22
src/views/ledger/query.vue

@@ -1,45 +1,47 @@
 <template>
     <div v-loading="boxLoading" class="hc-layout-box">
-        <HcCard v-if="menuDatas.length <= 0" ui="flex-1">
-            <HcStatus/>
-        </HcCard>
+        <HcNewCard v-if="menuDatas.length <= 0" ui="flex-1">
+            <HcStatus />
+        </HcNewCard>
         <template v-if="menuDatas.length > 0">
             <div class="hc-layout-left">
                 <el-scrollbar>
                     <el-menu :default-active="menuKey" class="hc-ledger-query-menu" unique-opened>
                         <el-sub-menu v-for="item in menuDatas" :key="item?.primaryKeyId" :index="item?.primaryKeyId">
                             <template #title>{{ item?.title }}</template>
-                            <el-menu-item :index="`${item?.primaryKeyId}-form`" @click="handleMenuValue('form',item)">
+                            <el-menu-item :index="`${item?.primaryKeyId}-form`" @click="handleMenuValue('form', item)">
                                 日志填报
                             </el-menu-item>
-                            <el-menu-item :index="`${item?.primaryKeyId}-table`" @click="handleMenuValue('table',item)">
+                            <el-menu-item :index="`${item?.primaryKeyId}-table`" @click="handleMenuValue('table', item)">
                                 日志列表查看
                             </el-menu-item>
                         </el-sub-menu>
                     </el-menu>
                 </el-scrollbar>
             </div>
-            <HcTableForm v-if="menuType === 'form'" :contractId="contractId" :items="menuItem"
-                         :projectId="projectId" :userName="userInfo['real_name']"/>
-            <HcTableList v-if="menuType === 'table'" :contractId="contractId" :items="menuItem" :projectId="projectId"/>
+            <HcTableForm
+                v-if="menuType === 'form'" :contract-id="contractId" :items="menuItem"
+                :project-id="projectId" :user-name="userInfo.real_name"
+            />
+            <HcTableList v-if="menuType === 'table'" :contract-id="contractId" :items="menuItem" :project-id="projectId" />
         </template>
     </div>
 </template>
 
 <script setup>
-import {ref, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import queryApi from '~api/ledger/query';
-import HcTableForm from "./components/table-form.vue"
-import HcTableList from "./components/table-list.vue"
-import {getArrValue} from "js-fast-way"
+import { onMounted, ref } from 'vue'
+import { useAppStore } from '~src/store'
+import queryApi from '~api/ledger/query'
+import HcTableForm from './components/table-form.vue'
+import HcTableList from './components/table-list.vue'
+import { getArrValue } from 'js-fast-way'
 //初始变量
 const useAppState = useAppStore()
 
 //全局变量
-const projectId = ref(useAppState.getProjectId);
-const contractId = ref(useAppState.getContractId);
-const userInfo = ref(useAppState.getUserInfo);
+const projectId = ref(useAppState.getProjectId)
+const contractId = ref(useAppState.getContractId)
+const userInfo = ref(useAppState.getUserInfo)
 
 //渲染完成
 onMounted(() => {
@@ -48,16 +50,16 @@ onMounted(() => {
 
 //日志类型变量
 const boxLoading = ref(false)
-const menuDatas = ref([]);
-const menuKey = ref('');
-const menuItem = ref({});
+const menuDatas = ref([])
+const menuKey = ref('')
+const menuItem = ref({})
 const menuType = ref('form')
 
 //获取当前合同段下的日志类型
 const queryLogList = async () => {
     boxLoading.value = true
-    const {error, code, data} = await queryApi.queryLogList({
-        contractId: contractId.value
+    const { error, code, data } = await queryApi.queryLogList({
+        contractId: contractId.value,
     })
     //判断状态
     boxLoading.value = false

+ 43 - 38
src/views/ledger/write.vue

@@ -1,36 +1,42 @@
 <template>
     <div class="hc-layout-box">
-        <div v-if="sbTableKey !== 'weather'" :style="'width:' + leftWidth + 'px;'" class="hc-layout-left-box">
+        <div v-if="sbTableKey !== 'weather'" :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"/>
+                    <HcIcon name="stack" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo['projectAlias'] }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo['name'] }}</div>
+                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
+                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
                 </div>
             </div>
             <div class="hc-tree-box">
                 <el-scrollbar>
-                    <WbsTree :autoExpandKeys="treeAutoExpandKeys" :contractId="contractId" :projectId="projectId"
-                             @nodeTap="nodeWbsElTreeClick"/>
+                    <WbsTree
+                        :auto-expand-keys="treeAutoExpandKeys" :contract-id="contractId" :project-id="projectId"
+                        @nodeTap="nodeWbsElTreeClick"
+                    />
                 </el-scrollbar>
             </div>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-layout-content-box ledger-write-box">
             <HcTabsSimple :cur="sbTableKey" :datas="sbTableData" @tabClick="sbTableClick">
                 <template #tab-internal>
-                    <HcInternal v-if="sbTableKey === 'internal'" :contractId="contractId" :projectId="projectId"
-                                :treeData="nodeDataInfo"/>
+                    <HcInternal
+                        v-if="sbTableKey === 'internal'" :contract-id="contractId" :project-id="projectId"
+                        :tree-data="nodeDataInfo"
+                    />
                 </template>
                 <template #tab-construction>
-                    <HcConstruction v-if="sbTableKey === 'construction'" :contractId="contractId" :projectId="projectId"
-                                    :treeData="nodeDataInfo"/>
+                    <HcConstruction
+                        v-if="sbTableKey === 'construction'" :contract-id="contractId" :project-id="projectId"
+                        :tree-data="nodeDataInfo"
+                    />
                 </template>
                 <template #tab-weather>
-                    <HcWeather v-if="sbTableKey === 'weather'" :contractId="contractId" :projectId="projectId"/>
+                    <HcWeather v-if="sbTableKey === 'weather'" :contract-id="contractId" :project-id="projectId" />
                 </template>
             </HcTabsSimple>
         </div>
@@ -38,31 +44,31 @@
 </template>
 
 <script setup>
-import {onMounted, ref, watch} from 'vue'
-import {useAppStore} from "~src/store";
-import {useRouter, useRoute} from 'vue-router'
-import WbsTree from "./components/WbsTree.vue"
-import HcInternal from "./components/internal.vue"
-import HcWeather from "./components/weather.vue"
-import HcConstruction from "./components/construction.vue"
-import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import { useRoute, useRouter } from 'vue-router'
+import WbsTree from './components/WbsTree.vue'
+import HcInternal from './components/internal.vue'
+import HcWeather from './components/weather.vue'
+import HcConstruction from './components/construction.vue'
+import { getStoreValue, setStoreValue } from '~src/utils/storage'
 
 //变量
 const router = useRouter()
 const useRoutes = useRoute()
 const useAppState = useAppStore()
-const projectId = ref(useAppState.getProjectId);
-const contractId = ref(useAppState.getContractId);
-const projectInfo = ref(useAppState.getProjectInfo);
+const projectId = ref(useAppState.getProjectId)
+const contractId = ref(useAppState.getContractId)
+const projectInfo = ref(useAppState.getProjectInfo)
 const isCollapse = ref(useAppState.getCollapse)
 
 //路由参数
-const routerQuery = useRoutes?.query;
-const dataType = routerQuery?.type || 'weather';
+const routerQuery = useRoutes?.query
+const dataType = routerQuery?.type || 'weather'
 
 //监听
 watch(() => [
-    useAppState.getCollapse
+    useAppState.getCollapse,
 ], ([Collapse]) => {
     isCollapse.value = Collapse
 })
@@ -73,16 +79,16 @@ const treeAutoExpandKeys = ref([])
 //类型处理
 const sbTableKey = ref(dataType)
 const sbTableData = ref([
-    {icon: 'bar-chart-box', label: '内业台账', key: 'internal'},
-    {icon: 'tools', label: '施工台账', key: 'construction'},
-    {icon: 'sun-cloudy', label: '天气台账', key: 'weather'},
+    { icon: 'bar-chart-box', label: '内业台账', key: 'internal' },
+    { icon: 'tools', label: '施工台账', key: 'construction' },
+    { icon: 'sun-cloudy', label: '天气台账', key: 'weather' },
 ])
 
 const sbTableClick = (key) => {
     sbTableKey.value = key
     router.push({
         path: useRoutes.path,
-        query: {type: key}
+        query: { type: key },
     })
     getTypeData(key)
 }
@@ -101,25 +107,25 @@ const getTypeData = (key) => {
 
 //树被点击
 const nodeDataInfo = ref({})
-const nodeWbsElTreeClick = ({data, keys}) => {
+const nodeWbsElTreeClick = ({ data, keys }) => {
     nodeDataInfo.value = data
     setStoreValue('ledgerWriteTreeKeys', keys)
     treeAutoExpandKeys.value = keys || []
 }
 
 //左右拖动,改变树形结构宽度
-const leftWidth = ref(382);
+const leftWidth = ref(382)
 const onmousedown = () => {
     const leftNum = isCollapse.value ? 142 : 272
     document.onmousemove = (ve) => {
-        const diffVal = ve.clientX - leftNum;
+        const diffVal = ve.clientX - leftNum
         if (diffVal >= 310 && diffVal <= 900) {
-            leftWidth.value = diffVal;
+            leftWidth.value = diffVal
         }
     }
     document.onmouseup = () => {
-        document.onmousemove = null;
-        document.onmouseup = null;
+        document.onmousemove = null
+        document.onmouseup = null
     }
 }
 </script>
@@ -130,7 +136,6 @@ const onmousedown = () => {
 .hc-layout-box .hc-layout-left-box .hc-tree-box {
     height: calc(100% - 81px);
 }
-
 </style>
 
 <style lang="scss">

+ 38 - 68
src/views/other-file/image-data.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard :scrollbar="false" action-size="lg">
             <template #header>
                 <HcTooltip keys="image-data-sort">
                     <el-button hc-btn type="primary" @click="showSortModalClick">
@@ -9,88 +9,45 @@
                     </el-button>
                 </HcTooltip>
             </template>
-            <el-scrollbar>
-                <div class="hc-table-ref-box">
-                    <el-table :data="tableListData" :loading="tableLoading" hc row-key="id" border>
-                        <el-table-column label="序号" prop="index" width="80">
-                            <template #default="scope">
-                                {{ scope.$index + 1 }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="分类名称" prop="classfName" />
-                        <el-table-column label="数量" prop="count" />
-                        <el-table-column label="所属阶段" prop="projectStage" />
-                        <el-table-column label="文件类型" prop="fileType">
-                            <template #default="scope">
-                                {{ scope.row.fileType == 1 ? '视频文件' : '图片文件' }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column align="center" label="操作" width="130">
-                            <template #default="scope">
-                                <el-button size="small" text type="primary" @click="viewClick(scope.row)">
-                                    查看
-                                </el-button>
-                                <HcTooltip keys="image-data-upload">
-                                    <el-button size="small" text type="primary" @click="uploadClick(scope.row)">
-                                        上传
-                                    </el-button>
-                                </HcTooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </el-scrollbar>
-        </HcCard>
+            <HcTable :column="tableListColumn" :datas="tableListData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
+                <template #fileType="{ row }">
+                    {{ row.fileType == 1 ? '视频文件' : '图片文件' }}
+                </template>
+                <template #action="{ row }">
+                    <el-link type="primary" @click="viewClick(row)">查看</el-link>
+                    <HcTooltip keys="image-data-upload">
+                        <el-link type="success" @click="uploadClick(row)">上传</el-link>
+                    </HcTooltip>
+                </template>
+            </HcTable>
+        </HcNewCard>
         <!-- 分类管理 弹框 -->
-        <el-dialog v-model="showSortModal" class="hc-modal-border" title="分类管理" width="62rem">
+        <hc-new-dialog v-model="showSortModal" is-table title="分类管理" widths="62rem">
             <el-alert :closable="false" title="隐藏分类之后,在主页面不会显示该分类入口" type="warning" />
             <div class="modal-dialog">
-                <el-scrollbar>
-                    <div class="hc-table-ref-box">
-                        <el-table :data="classTableData" :loading="classTableLoading" hc row-key="id" border>
-                            <el-table-column label="序号" prop="index" width="80">
-                                <template #default="scope">
-                                    {{ scope.$index + 1 }}
-                                </template>
-                            </el-table-column>
-                            <el-table-column label="分类名称" prop="classfName" />
-                            <el-table-column label="所属阶段" prop="projectStage" />
-                            <el-table-column label="资料类型" prop="fileType">
-                                <template #default="scope">
-                                    {{ scope.row.fileType == 1 ? '视频文件' : '图片文件' }}
-                                </template>
-                            </el-table-column>
-                            <el-table-column align="center" label="操作" width="130">
-                                <template #default="scope">
-                                    <el-button
-                                        v-if="scope.row.isShow" size="small" type="info"
-                                        @click="saveConfig(scope.row)"
-                                    >
-                                        隐藏分类
-                                    </el-button>
-                                    <el-button v-else size="small" type="primary" @click="saveConfig(scope.row)">
-                                        显示分类
-                                    </el-button>
-                                </template>
-                            </el-table-column>
-                        </el-table>
-                    </div>
-                </el-scrollbar>
+                <HcTable :column="classTableColumn" :datas="classTableData" :loading="classTableLoading" is-new :index-style="{ width: 60 }">
+                    <template #fileType="{ row }">
+                        {{ row.fileType == 1 ? '视频文件' : '图片文件' }}
+                    </template>
+                    <template #action="{ row }">
+                        <el-link v-if="row.isShow" type="info" @click="saveConfig(row)">隐藏分类</el-link>
+                        <el-link v-else type="primary" @click="saveConfig(row)">显示分类</el-link>
+                    </template>
+                </HcTable>
             </div>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 
 <script setup>
 import { onMounted, ref } from 'vue'
 import { useAppStore } from '~src/store'
-import { useRoute, useRouter } from 'vue-router'
+import { useRouter } from 'vue-router'
 import imageApi from '~api/other-file/imageData'
 import { delStoreValue } from '~src/utils/storage'
 import { getArrValue } from 'js-fast-way'
 //变量
 const router = useRouter()
-const useRoutes = useRoute()
 const useAppState = useAppStore()
 const projectId = ref(useAppState.getProjectId)
 const contractId = ref(useAppState.getContractId)
@@ -105,6 +62,13 @@ onMounted(() => {
 
 //获取数据
 const tableLoading = ref(false)
+const tableListColumn = ref([
+    { key: 'classfName', name: '分类名称' },
+    { key: 'count', name: '数量' },
+    { key: 'projectStage', name: '所属阶段' },
+    { key: 'fileType', name: '文件类型' },
+    { key: 'action', name: '操作', width: 100 },
+])
 const tableListData = ref([])
 const getClassIfyList = async () => {
     tableLoading.value = true
@@ -155,6 +119,12 @@ const showSortModalClick = () => {
 }
 //获取分类管理数据
 const classTableLoading = ref(false)
+const classTableColumn = ref([
+    { key: 'classfName', name: '分类名称' },
+    { key: 'projectStage', name: '所属阶段' },
+    { key: 'fileType', name: '资料类型' },
+    { key: 'action', name: '操作', width: 100 },
+])
 const classTableData = ref([])
 const getClassifyShowConfigList = async () => {
     classTableLoading.value = true

+ 5 - 6
src/views/other-file/image-form.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-layout-box">
-        <div v-if="dataType === 1" :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
+        <div v-if="dataType === 1" :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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div v-if="isshowTree" class="hc-tree-box">
@@ -22,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div v-loading="queryByLoading" class="hc-layout-content-box" element-loading-text="获取数据中...">
-            <HcCard
+            <HcNewCard
                 :scrollbar="false"
                 :title="`${treeItemInfo?.title ?? ''} 上传${fileType === 1 ? '视频' : fileType === 2 ? '图片' : ''}`"
                 action-size="lg"
@@ -120,7 +119,7 @@
                         </el-scrollbar>
                     </el-col>
                     <el-col :span="14">
-                        <HcTable v-if="dataType === 2" :column="tableColumn" :datas="tableData" border />
+                        <HcTable v-if="dataType === 2" :column="tableColumn" :datas="tableData" is-new :index-style="{ width: 60 }" />
                     </el-col>
                 </el-row>
                 <template #action>
@@ -143,7 +142,7 @@
                         <span>返回</span>
                     </el-button>
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
     </div>
 </template>

+ 10 - 13
src/views/other-file/image-view.vue

@@ -1,14 +1,13 @@
 <template>
     <div class="hc-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
+        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-box bg-white">
             <template v-if="dataType === 1">
                 <div class="hc-project-box">
                     <div class="hc-project-icon-box">
                         <HcIcon name="stack" />
                     </div>
                     <div class="ml-2 project-name-box">
-                        <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                        <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                        <span class="project-alias">{{ projectInfo.name }}</span>
                     </div>
                 </div>
                 <div v-if="dataType === 1" class="hc-tree-box">
@@ -32,7 +31,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-layout-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="image-data-add">
                         <el-button :disabled="!queryKey && dataType === 1" hc-btn type="primary" @click="addFormFile">
@@ -61,18 +60,16 @@
                 </template>
                 <template #extra>
                     <div class="w-60">
-                        <el-input
-                            v-model="searchForm.queryStr" clearable placeholder="根据题名名称或拍摄者搜索"
-                            size="large" @keyup="keyUpEvent"
-                        />
+                        <el-input v-model="searchForm.queryStr" clearable placeholder="根据题名名称或拍摄者搜索" @keyup="keyUpEvent" />
                     </div>
                     <div class="ml-2">
-                        <el-button size="large" type="primary" @click="searchClick">搜索</el-button>
+                        <el-button type="primary" @click="searchClick">搜索</el-button>
                     </div>
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check border @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #info="{ row }">
                         <div class="hc-table-col-item">
@@ -119,17 +116,17 @@
                         </div>
                     </div>
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
         <!-- 视频预览 弹框 -->
-        <el-dialog v-model="previewVideoModal" class="hc-modal-border" destroy-on-close title="预览" width="47rem">
+        <hc-new-dialog v-model="previewVideoModal" title="预览" widths="47rem">
             <video
                 v-if="previewVideoUrl" :src="previewVideoUrl" autoplay="autoplay" class="preview-video"
                 controls="controls"
             >
                 您的浏览器不支持 video
             </video>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 12 - 15
src/views/other-file/project-scanning.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -19,7 +18,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-layout-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="project-scanning-upload">
                         <el-button :disabled="!nodeIds" hc-btn type="primary" @click="uploadModalClick">
@@ -102,7 +101,8 @@
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check border @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #fileName="{ row }">
                         <span class="text-link" @click="tablePreview(row)">{{ row?.fileName }}</span>
@@ -120,14 +120,14 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增编辑文件 -->
-        <el-dialog v-model="showUploadModal" class="hc-modal-border hc-modal-table" title="上传工程文件" width="80vw">
+        <hc-new-dialog v-model="showUploadModal" is-table title="上传工程文件" widths="80vw">
             <HcTable
                 :column="tableUploadColumn" :datas="tableUploadData" :loading="uploadSaveLoading"
-                ui="hc-form-table" border
+                ui="hc-form-table" is-new :index-style="{ width: 60 }"
             >
                 <template #fileNumber="{ row }">
                     <el-input
@@ -230,7 +230,7 @@
                     </div>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
 
         <!-- 批量上报审批 -->
         <HcReportModal
@@ -249,13 +249,10 @@
         />
 
         <!-- 批量认证 -->
-        <el-dialog
-            v-model="showCertificationModal" class="hc-modal-border hc-modal-table" title="批量认证"
-            width="80vw"
-        >
+        <hc-new-dialog v-model="showCertificationModal" is-table title="批量认证" widths="80vw">
             <div class="hc-card-body-flex">
                 <div class="flex-table">
-                    <HcTable :column="CertColumns" :datas="CertData" ui="hc-form-table" border @row-click="CertRowClick">
+                    <HcTable :column="CertColumns" :datas="CertData" ui="hc-form-table" is-new :index-style="{ width: 60 }" @row-click="CertRowClick">
                         <template #action="{ row, index }">
                             <el-button plain size="small" type="primary" @click.stop="CertRowClick2(row)">
                                 预览
@@ -285,7 +282,7 @@
                     </el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 25 - 40
src/views/other/components/ListItem.vue

@@ -120,15 +120,12 @@
     <HcContextMenu ref="contextMenuRef" :datas="tableFormMenu" @item-click="handleMenuSelect" />
 
     <!-- 上传文件 -->
-    <HcDialog :footer="false" :show="uploadModal" title="上传文件" widths="38rem" @close="uploadModal = false">
+    <hc-new-dialog v-model="uploadModal" :footer="false" title="上传文件" widths="38rem">
         <HcUpload :datas="uploadData" :file-list="fileListData" @change="uploadChange" />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 插入设计值/频率 -->
-    <HcDialog
-        :show="IDVFModal" save-text="确认插入" title="插入设计值/频率" widths="600px" @close="closeIDVFModal"
-        @save="IDVFModalSaveClick"
-    >
+    <hc-new-dialog v-model="IDVFModal" save-text="确认插入" title="插入设计值/频率" widths="600px" @close="closeIDVFModal" @save="IDVFModalSaveClick">
         <el-alert :closable="false" title="填写完设计值和频率,系统自动计算实测值" type="warning" />
         <el-form ref="formIDVFRef" :model="formIDVFModel" label-width="auto" size="large">
             <div class="form-item-div text-center mb-3">
@@ -168,13 +165,10 @@
                 />
             </el-form-item>
         </el-form>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 插入特殊字符 -->
-    <HcDialog
-        :show="specialModal" save-text="确认插入" title="插入特殊字符" widths="600px" @close="specialModal = false"
-        @save="specialNodeClick"
-    >
+    <hc-new-dialog v-model="specialModal" save-text="确认插入" title="插入特殊字符" widths="600px" @save="specialNodeClick">
         <el-form
             ref="specialFormRef" :model="specialFormModel" :rules="specialFormRules" class="mb-6" label-width="0px"
             size="large"
@@ -193,10 +187,10 @@
                 </div>
             </el-col>
         </el-row>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 关联试验数据 -->
-    <HcDialog :footer="false" :show="CTDModal" title="关联试验数据" widths="84%" @close="CTDModal = false">
+    <hc-new-dialog v-model="CTDModal" :footer="false" title="关联试验数据" widths="84%">
         <div class="adding-form-dialog-box">
             <div class="dialog-tree-box">
                 <el-scrollbar>
@@ -231,7 +225,7 @@
                 <div class="dialog-table">
                     <HcTable
                         :column="CTDdialogTableColumn" :datas="CTDdialogTableData1"
-                        :loading="CTDdialogTableLoading" border
+                        :loading="CTDdialogTableLoading" is-new :index-style="{ width: 60 }"
                     >
                         <template #recordNo="{ row }">
                             <span class="text-link" @click="CTDtableRowName(row)">{{ row?.recordNo }}</span>
@@ -243,18 +237,12 @@
                 </div>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
     <!-- 选择要插入的数据 -->
-    <HcDialog
-        :show="insertDataShow" save-text="保存" title="选择需要插入的数据" widths="84%" @close="cancelinsertData"
-        @save="submitinsertData"
-    >
+    <hc-new-dialog v-model="insertDataShow" save-text="保存" title="选择需要插入的数据" widths="84%" @close="cancelinsertData" @save="submitinsertData">
         <div>
             <div class="flex-1" style="padding-left:20px">
-                <HcNewSwitch
-                    :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default"
-                    @change="tabTypeChange"
-                />
+                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default" @change="tabTypeChange" />
                 <el-select
                     v-model="testReportId" :loading="insertDataSelectoading" :placeholder="placeholderType"
                     class="ml-2 w-80"
@@ -294,12 +282,9 @@
                 </div>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
     <!-- 复制本表 -->
-    <HcDialog
-        :show="CopyModal" save-text="确认复制" title="复制本表" widths="1200px" @close="CopyModal = false"
-        @save="CopyModal = false"
-    >
+    <hc-new-dialog v-model="CopyModal" save-text="确认复制" title="复制本表" widths="1200px">
         <el-alert
             :closable="false" title="复跨节点复制: 把当前表格已形成的数据复制到其他工程部位的相同表格里面"
             type="warning"
@@ -335,12 +320,9 @@
                 </el-scrollbar>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
     <!-- 关联试验文件 -->
-    <HcDialog
-        :show="fileModal" save-text="保存" title="关联试验文件" widths="84%" @close="fileModal = false"
-        @save="savefileModal"
-    >
+    <hc-new-dialog v-model="fileModal" save-text="保存" title="关联试验文件" widths="84%" @save="savefileModal">
         <div class="radio-box">
             <el-radio-group v-model="fileModalradio" @change="radioChange">
                 <el-radio :label="1">试验检测</el-radio>
@@ -388,8 +370,9 @@
                 <div class="dialog-table">
                     <HcTable
                         v-if="fileModalradio == 1" ref="dialogTableRef1" :column="filedialogTableColumn"
-                        :datas="filedialogTableData" :loading="filedialogTableLoading" is-check
-                        border @selection-change="filedialogTableSelection1"
+                        :datas="filedialogTableData" :loading="filedialogTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="filedialogTableSelection1"
                     >
                         <template #recordNo="{ row }">
                             <span :class="[row?.isSelectedStatus == 1 ? 'text-green' : '']">{{ row?.recordNo }}</span>
@@ -397,8 +380,9 @@
                     </HcTable>
                     <HcTable
                         v-if="fileModalradio == 2" ref="dialogTableRef2" :column="filedialogTableColumn1"
-                        :datas="filedialogTableData" :loading="filedialogTableLoading" is-check
-                        border @selection-change="filedialogTableSelection"
+                        :datas="filedialogTableData" :loading="filedialogTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="filedialogTableSelection"
                     >
                         <template #reportNo="{ row }">
                             <span :class="[row?.isSelectedStatus === 1 ? 'text-green' : '']">{{ row?.reportNo }}</span>
@@ -406,8 +390,9 @@
                     </HcTable>
                     <HcTable
                         v-if="fileModalradio == 3" ref="dialogTableRef" :column="filedialogTableColumn1"
-                        :datas="filedialogTableData" :loading="filedialogTableLoading" is-check
-                        border @selection-change="filedialogTableSelection"
+                        :datas="filedialogTableData" :loading="filedialogTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="filedialogTableSelection"
                     >
                         <template #reportNo="{ row }">
                             <span :class="[row?.isSelectedStatus === 1 ? 'text-green' : '']">{{ row?.reportNo }}</span>
@@ -419,7 +404,7 @@
                 </div>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 8 - 8
src/views/other/first-item.vue

@@ -1,13 +1,12 @@
 <template>
     <div id="first-item-node-layout-target" class="hc-layout-box">
-        <div v-show="!isFirstReportDrawer" :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
+        <div v-show="!isFirstReportDrawer" :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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -22,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div v-show="!isFirstReportDrawer" class="hc-layout-content-box first-item">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip v-if="tabTypeKey === 'mark'" keys="other-first-item-report">
                         <el-button
@@ -59,7 +58,7 @@
                     </HcTooltip>
                 </template>
                 <template #extra>
-                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
                 </template>
                 <template #search>
                     <div class="w-32">
@@ -93,7 +92,8 @@
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check border @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #name="{ row }">
                         <span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>
@@ -132,7 +132,7 @@
                         </div>
                     </div>
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 上报首件 -->
@@ -158,7 +158,7 @@
                     <el-divider border-style="dashed" />
                     <div class="title">文件附件</div>
                     <div class="hc-table-node-file-box">
-                        <HcTable :column="tableFileColumn" :datas="tableFileData" :is-index="false" border>
+                        <HcTable :column="tableFileColumn" :datas="tableFileData" :is-index="false" is-new>
                             <template #action="{ row, index }">
                                 <el-button plain size="small" type="danger" @click="tableDelButton(index)">
                                     删除

+ 8 - 8
src/views/other/first-itemcopy.vue

@@ -1,13 +1,12 @@
 <template>
     <div id="first-item-node-layout-target" class="hc-layout-box">
-        <div v-show="!isFirstReportDrawer" :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
+        <div v-show="!isFirstReportDrawer" :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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -22,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div v-show="!isFirstReportDrawer" class="hc-layout-content-box first-item">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip v-if="tabTypeKey === 'mark'" keys="other-first-item-report">
                         <el-button
@@ -59,7 +58,7 @@
                     </HcTooltip>
                 </template>
                 <template #extra>
-                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
                 </template>
                 <template #search>
                     <div class="w-32">
@@ -93,7 +92,8 @@
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check border @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #name="{ row }">
                         <span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>
@@ -132,7 +132,7 @@
                         </div>
                     </div>
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 上报首件 -->
@@ -172,7 +172,7 @@
                     <el-divider border-style="dashed" />
                     <div class="title">文件附件</div>
                     <div class="hc-table-node-file-box">
-                        <HcTable :column="tableFileColumn" :datas="tableFileData" :is-index="false" border>
+                        <HcTable :column="tableFileColumn" :datas="tableFileData" :is-index="false" is-new>
                             <template #action="{ row, index }">
                                 <el-button plain size="small" type="danger" @click="tableDelButton(index)">
                                     删除

+ 131 - 150
src/views/other/order-service.vue

@@ -3,74 +3,65 @@
         <div class="order-service-content">
             <el-scrollbar ref="scrollbarRef">
                 <div v-loading="dataLoading" class="content-box" element-loading-text="获取数据中...">
-                    <div v-for="(item,index) in orderDataList" :key="item.id" class="comment-card-box">
+                    <div v-for="(item, index) in orderDataList" :key="index" class="comment-card-box">
                         <div class="user-avatar-box">
-                            <el-avatar :size="50" :src="item.avatar || avatarPng"/>
+                            <el-avatar :size="50" :src="item.avatar || avatarPng" />
                         </div>
                         <div class="card-content-box">
                             <div class="user-info-box">
-                                <div class="text-lg">{{ item['createUserName'] || '用户名异常' }}</div>
-                                <div class="text-gray">{{ item['createTime'] }}</div>
+                                <div class="text-lg">{{ item.createUserName || '用户名异常' }}</div>
+                                <div class="text-gray">{{ item.createTime }}</div>
                             </div>
-                            <div class="desc_para" v-html="item['opinionContent']"></div>
-                            <div v-if="item['returnFiles']?.length > 0" class="image_desc">
-                                <div v-for="(items,indexs) in item['returnFiles']" class="hc-image-box">
-                                    <HcImg :index="indexs" :src="items" :srcs="item['returnFiles']" class="hc-image"/>
+                            <div class="desc_para" v-html="item.opinionContent" />
+                            <div v-if="item.returnFiles?.length > 0" class="image_desc">
+                                <div v-for="(items, indexs) in item.returnFiles" :key="indexs" class="hc-image-box">
+                                    <HcImg :index="indexs" :src="items" :srcs="item.returnFiles" class="hc-image" />
                                 </div>
                             </div>
                             <div class="foot-tools-box">
-                                <div :class="item['commentsNumber'] >= 1 ? 'active' : ''" class="icon-box"
-                                     @click="commentExpanded(item)">
-                                    <HcIcon :fill="item['commentsNumber'] >= 1" class="icon" name="question-answer"/>
-                                    <span v-if="item['commentsNumber'] >= 1"
-                                          class="badge">{{ item['commentsNumber'] }}</span>
+                                <div :class="item.commentsNumber >= 1 ? 'active' : ''" class="icon-box" @click="commentExpanded(item)">
+                                    <HcIcon :fill="item.commentsNumber >= 1" class="icon" name="question-answer" />
+                                    <span v-if="item.commentsNumber >= 1" class="badge">{{ item.commentsNumber }}</span>
                                 </div>
-                                <div :class="item['currentUserGood'] ? 'active' : ''" :data-index="item['expandedName']"
-                                     class="icon-box" @click="likeClick(item)">
-                                    <i :class="item['currentUserGood'] ? 'hcicon-praise_fill ': 'hcicon-praise'"
-                                       class="hc-icon-i icon"></i>
-                                    <span v-if="item['goodNumber'] >= 1" class="badge">{{ item['goodNumber'] }}</span>
+                                <div :class="item.currentUserGood ? 'active' : ''" :data-index="item.expandedName" class="icon-box" @click="likeClick(item)">
+                                    <i :class="item.currentUserGood ? 'hcicon-praise_fill ' : 'hcicon-praise'" class="hc-icon-i icon" />
+                                    <span v-if="item.goodNumber >= 1" class="badge">{{ item.goodNumber }}</span>
                                 </div>
                             </div>
-                            <el-collapse v-model="item['expandedName']" accordion class="hc-collapse-box">
-                                <el-collapse-item :name="`commentList-${item['id']}`" title="">
+                            <el-collapse v-model="item.expandedName" accordion class="hc-collapse-box">
+                                <el-collapse-item :name="`commentList-${item.id}`" title="">
                                     <div class="collapse-comment-box">
                                         <div class="comment-reply-content-box">
-                                            <el-input v-model="item['replyContent']" autosize placeholder="我也说一句"
-                                                      type="textarea"/>
-                                            <el-button hc-btn type="primary" @click="saveCommentClick(item)">评论
-                                            </el-button>
+                                            <el-input v-model="item.replyContent" autosize placeholder="我也说一句" type="textarea" />
+                                            <el-button hc-btn type="primary" @click="saveCommentClick(item)">评论</el-button>
                                         </div>
-                                        <div v-for="items in item['expandedCommentList']" :key="items.id"
-                                             class="user-comment-info-box">
-                                            <el-avatar :size="50" :src="items.avatar || avatarPng"/>
+                                        <div v-for="items in item.expandedCommentList" :key="items.id" class="user-comment-info-box">
+                                            <el-avatar :size="50" :src="items.avatar || avatarPng" />
                                             <div class="user-comment-box">
                                                 <div class="user-info-box">
-                                                    <span
-                                                        class="user-name">{{ items['userName'] || '用户名异常' }}</span>
-                                                    <span class="create-time">{{ items['createTime'] }}</span>
+                                                    <span class="user-name">{{ items.userName || '用户名异常' }}</span>
+                                                    <span class="create-time">{{ items.createTime }}</span>
                                                 </div>
-                                                <div class="user-comment-content-box"
-                                                     v-html="items['replyContent']"></div>
+                                                <div class="user-comment-content-box" v-html="items.replyContent" />
                                             </div>
                                         </div>
                                     </div>
                                 </el-collapse-item>
                             </el-collapse>
                         </div>
-                        <div v-if="parseInt(item['isSolve']) === 1" class="code-status-box">
-                            <img :src="Web515Png" alt="" class="widget"/>
+                        <div v-if="parseInt(item.isSolve) === 1" class="code-status-box">
+                            <img :src="Web515Png" alt="" class="widget">
                         </div>
                     </div>
                 </div>
             </el-scrollbar>
             <div class="page-top-btn" @click="scrollToTop">
-                <HcIcon class="icon" name="arrow-up"/>
+                <HcIcon class="icon" name="arrow-up" />
             </div>
         </div>
-        <!--我的工单服务-->
-        <div :style="'width:' + leftWidth + 'px;'" class="order-service-data">
-            <HcCard :scrollbar="false">
+        <!-- 我的工单服务 -->
+        <div :style="`width:${leftWidth}px;`" class="order-service-data">
+            <HcNewCard :scrollbar="false">
                 <template #header>
                     <el-badge :value="2" class="item-badge">
                         <div class="font-bold text-lg">我的工单服务进度</div>
@@ -79,39 +70,34 @@
                 <template #extra>
                     <el-tooltip content="发起新工单服务" effect="dark" placement="top">
                         <el-button class="hc-add-icon" hc-btn type="primary" @click="newOrderServiceClick">
-                            <HcIcon name="add" style="margin-right: 0"/>
+                            <HcIcon name="add" style="margin-right: 0" />
                         </el-button>
                     </el-tooltip>
                 </template>
                 <div class="mb-5">
-                    <el-select v-model="nameSelectKey" block placeholder="工单名称" size="large"
-                               @change="nameSelectUpdate">
-                        <el-option v-for="item in nameSelectData" :key="item.id" :label="item?.title"
-                                   :value="item?.id"/>
+                    <el-select v-model="nameSelectKey" block placeholder="工单名称" size="large" @change="nameSelectUpdate">
+                        <el-option v-for="item in nameSelectData" :key="item.id" :label="item?.title" :value="item?.id" />
                     </el-select>
                 </div>
-                <div :class="isCurrentBol?'time-height':''" class="time-line-box">
+                <div :class="isCurrentBol ? 'time-height' : ''" class="time-line-box">
                     <el-scrollbar>
                         <el-timeline class="hc-time-line">
-                            <template v-for="(item,index) in orderFlowList" :key="index">
-                                <el-timeline-item :class="item['currentBol']?'success':item['current']?'primary':''"
-                                                  size="large">
+                            <template v-for="(item, index) in orderFlowList" :key="index">
+                                <el-timeline-item :class="item.currentBol ? 'success' : item.current ? 'primary' : ''" size="large">
                                     <div class="timeline-item-icon">
-                                        <HcIcon v-if="item['currentBol']" class="check-icon" name="check"/>
+                                        <HcIcon v-if="item.currentBol" class="check-icon" name="check" />
                                         <span v-else>{{ index + 1 }}</span>
                                     </div>
-                                    <div class="reply-name">{{ item['replyName'] }}</div>
-                                    <div class="reply-content" v-html="item['replyContent']"></div>
+                                    <div class="reply-name">{{ item.replyName }}</div>
+                                    <div class="reply-content" v-html="item.replyContent" />
                                 </el-timeline-item>
                             </template>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
-                <div :class="isCurrentBol?'show':''" class="evaluation-box">
+                <div :class="isCurrentBol ? 'show' : ''" class="evaluation-box">
                     <div class="text-lg font-bold">评价</div>
-                    <div class="tip-box">
-                        请对工单处理评价,若是未解决问题,可进行投诉,平台核实情况,将对相关客服人员绩效考核,并且重新为您自动发起工单解决问题
-                    </div>
+                    <div class="tip-box">请对工单处理评价,若是未解决问题,可进行投诉,平台核实情况,将对相关客服人员绩效考核,并且重新为您自动发起工单解决问题</div>
                     <div class="radio-group-box">
                         <el-radio-group v-model="evaluationKey" class="radio-group">
                             <div v-for="item in evaluationData" :key="item.value" class="radio-item">
@@ -121,49 +107,45 @@
                     </div>
                     <div class="btn-box">
                         <el-button hc-btn type="primary" @click="disposeUserFeedback">
-                            <HcIcon name="check_circle"/>
+                            <HcIcon name="check_circle" />
                             <span>提交</span>
                         </el-button>
                     </div>
                 </div>
-            </HcCard>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            </HcNewCard>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
-        <!--提交工单-->
-        <el-dialog v-model="showModal" :before-close="handleModalClose" class="hc-modal-border" title="发起新工单服务"
-                   width="720px">
+        <!-- 提交工单 -->
+        <el-dialog v-model="showModal" :before-close="handleModalClose" class="hc-modal-border" title="发起新工单服务" width="720px">
             <div class="title">请选择您需要反馈的问题类型</div>
             <div class="hc-type-tabs my-5">
                 <el-radio-group v-model="typeTabKey" size="large" @change="typeTabChange">
-                    <el-radio-button v-for="item in typeTab" :label="item?.dictValue">{{ item?.dictValue }}
-                    </el-radio-button>
+                    <el-radio-button v-for="(item, index) in typeTab" :key="index" :label="item?.dictValue">{{ item?.dictValue }}</el-radio-button>
                 </el-radio-group>
             </div>
             <div class="modal-checkbox-box">
                 <el-checkbox-group v-model="typeCheckBox[typeTabIndex]">
                     <div v-for="item in typeTab[typeTabIndex]?.children" :key="item.id" class="checkbox-item">
-                        <el-checkbox :label="item['dictValue']">{{ item['dictValue'] }}</el-checkbox>
+                        <el-checkbox :label="item.dictValue">{{ item.dictValue }}</el-checkbox>
                     </div>
                 </el-checkbox-group>
             </div>
             <div class="mt-5">
-                <el-input v-model="opinionContent" :rows="3" placeholder="请输入你宝贵的建议,我们将会跟踪解决"
-                          type="textarea"/>
+                <el-input v-model="opinionContent" :rows="3" placeholder="请输入你宝贵的建议,我们将会跟踪解决" type="textarea" />
             </div>
             <div v-loading="spinShow" class="mt-3 upload-img">
                 <div class="w-full">
-                    <HcUploads :accept="uploadAccept" :fileList="uploadFileList" :limit="3" :size="30" :viewer="false"
-                               action="put-file"
-                               @change="uploadChange" @del="removeUpload" @preview="handlePreview"
-                               @progress="uploadsProgress"/>
+                    <HcUploads
+                        :accept="uploadAccept" :file-list="uploadFileList" :limit="3" :size="30" :viewer="false" action="put-file"
+                        @change="uploadChange" @del="removeUpload" @preview="handlePreview"
+                        @progress="uploadsProgress"
+                    />
                 </div>
-                <el-image-viewer v-if="showViewer" :initial-index="initialIndex" :url-list="previewFileList"
-                                 @close="previewModalClose"/>
+                <el-image-viewer v-if="showViewer" :initial-index="initialIndex" :url-list="previewFileList" @close="previewModalClose" />
             </div>
             <div class="mt-3">
-                <el-alert :closable="false" title="请上传JPG、PNG格式的图片文件,最多上传 3 张图片,文件大小不超过30M"
-                          type="error"/>
+                <el-alert :closable="false" title="请上传JPG、PNG格式的图片文件,最多上传 3 张图片,文件大小不超过30M" type="error" />
             </div>
             <template #footer>
                 <div class="dialog-footer">
@@ -173,11 +155,10 @@
             </template>
         </el-dialog>
 
-        <!--提示框-->
-        <el-dialog v-model="showTipModal" :before-close="handleTipModalClose" class="hc-modal-border" title="感谢"
-                   width="600px">
+        <!-- 提示框 -->
+        <el-dialog v-model="showTipModal" :before-close="handleTipModalClose" class="hc-modal-border" title="感谢" width="600px">
             <div class="tip-modal-icon-box">
-                <HcIcon fill name="emotion"/>
+                <HcIcon fill name="emotion" />
             </div>
             <div class="tip-modal-text-box">感谢您的仗义直言,大恩不言谢,有事联系我们,我们随时都在</div>
             <template #footer>
@@ -191,25 +172,25 @@
 </template>
 
 <script setup>
-import {nextTick, onMounted, ref, watch} from "vue";
-import {useAppStore} from "~src/store";
-import orderServe from '~api/other/orderServe';
-import avatarPng from '~src/assets/images/avatar.png';
-import Web515Png from '~src/assets/images/Web515.png';
-import {userConfigSave} from "~api/other";
-import {base64ToFile, getObjVal, getArrValue, getObjValue} from "js-fast-way"
-import ossApi from "~api/oss";
+import { nextTick, onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import orderServe from '~api/other/orderServe'
+import avatarPng from '~src/assets/images/avatar.png'
+import Web515Png from '~src/assets/images/Web515.png'
+import { userConfigSave } from '~api/other'
+import { base64ToFile, getArrValue, getObjVal, getObjValue } from 'js-fast-way'
+import ossApi from '~api/oss'
 
 //初始变量
 const useAppState = useAppStore()
-const projectId = ref(useAppState.getProjectId);
-const contractId = ref(useAppState.getContractId);
+const projectId = ref(useAppState.getProjectId)
+const contractId = ref(useAppState.getContractId)
 const isScreenShort = ref(useAppState.getScreenShort)
 //是否弹出工单感谢, 0不弹出,1弹出
 const opinionView = ref(useAppState.getOrderServiceTipModal)
 
 //搜索和分页数据
-const searchForm = ref({current: 1, size: 20})
+const searchForm = ref({ current: 1, size: 20 })
 const orderDataList = ref([])
 
 // 工单名称
@@ -218,11 +199,11 @@ const nameSelectData = ref([])
 
 //监听
 watch(() => [
-    useAppState.getScreenShort
+    useAppState.getScreenShort,
 ], ([ScreenShort]) => {
     isScreenShort.value = ScreenShort
     if (ScreenShort) {
-        let base64 = window.sessionStorage.getItem('screenShort-base64') || '';
+        let base64 = window.sessionStorage.getItem('screenShort-base64') || ''
         if (base64) uploadImgFile(base64)
     }
 })
@@ -230,7 +211,7 @@ watch(() => [
 nextTick(() => {
     //截图数据
     if (isScreenShort.value) {
-        let base64 = window.sessionStorage.getItem('screenShort-base64') || '';
+        let base64 = window.sessionStorage.getItem('screenShort-base64') || ''
         if (base64) uploadImgFile(base64)
     }
 })
@@ -245,7 +226,7 @@ onMounted(() => {
 const dataLoading = ref(false)
 const queryUserOpinionPage = async () => {
     dataLoading.value = true
-    const {error, code, data} = await orderServe.queryUserOpinionPage(searchForm.value)
+    const { error, code, data } = await orderServe.queryUserOpinionPage(searchForm.value)
     dataLoading.value = false
     if (!error && code === 200) {
         orderDataList.value = getArrValue(data['records'])
@@ -256,8 +237,8 @@ const queryUserOpinionPage = async () => {
 
 //获取工单服务下拉列表
 const queryCurrentUserOpinionList = async () => {
-    const {error, code, data} = await orderServe.queryCurrentUserOpinionList({
-        projectId: projectId.value
+    const { error, code, data } = await orderServe.queryCurrentUserOpinionList({
+        projectId: projectId.value,
     })
     if (!error && code === 200) {
         const res = getArrValue(data)
@@ -278,14 +259,14 @@ const queryCurrentUserOpinionList = async () => {
 const isCurrentBol = ref(false)
 const orderFlowList = ref([])
 const queryUserFlowOpinion = async () => {
-    let id = nameSelectKey.value || null;
-    const {error, code, data} = await orderServe.queryUserFlowOpinion({userOpinionId: id})
+    let id = nameSelectKey.value || null
+    const { error, code, data } = await orderServe.queryUserFlowOpinion({ userOpinionId: id })
     if (!error && code === 200) {
         const res = getArrValue(data)
         orderFlowList.value = res
         if (res.length > 0) {
-            const {currentBol, evaluation} = res[res.length - 1];
-            isCurrentBol.value = !!(currentBol && parseInt(evaluation) === -1);
+            const { currentBol, evaluation } = res[res.length - 1]
+            isCurrentBol.value = !!(currentBol && parseInt(evaluation) === -1)
         }
     } else {
         orderFlowList.value = []
@@ -312,8 +293,8 @@ const commentExpanded = (item) => {
 
 //获取评论列表
 const queryCommentsList = async (item) => {
-    const {error, code, data} = await orderServe.queryCommentsList({
-        userOpinionId: item.id
+    const { error, code, data } = await orderServe.queryCommentsList({
+        userOpinionId: item.id,
     })
     if (!error && code === 200) {
         item['expandedCommentList'] = getArrValue(data)
@@ -325,16 +306,16 @@ const queryCommentsList = async (item) => {
 //提交评论
 const saveCommentClick = async (item) => {
     if (!item['replyContent']) {
-        window.$message?.warning('请先填写评论内容');
+        window.$message?.warning('请先填写评论内容')
     } else {
-        const {error, code} = await orderServe.saveUserComments({
+        const { error, code } = await orderServe.saveUserComments({
             userOpinionId: item.id,
             replyContent: item['replyContent'],
             projectId: projectId.value,
             contractId: contractId.value,
         })
         if (!error && code === 200) {
-            window.$message?.success('评论成功');
+            window.$message?.success('评论成功')
             item['replyContent'] = ''
             queryCommentsList(item)
         }
@@ -344,17 +325,17 @@ const saveCommentClick = async (item) => {
 //点赞
 const likeClick = async (item) => {
     if (item['currentUserGood']) {
-        const {error, code} = await orderServe.cancelGood({
-            userOpinionId: item.id
+        const { error, code } = await orderServe.cancelGood({
+            userOpinionId: item.id,
         })
         if (!error && code === 200) {
             item['currentUserGood'] = false
             item['goodNumber']--
         }
     } else {
-        const {error, code} = await orderServe.addGoodNumber({
+        const { error, code } = await orderServe.addGoodNumber({
             userOpinionId: item.id,
-            good: 1
+            good: 1,
         })
         if (!error && code === 200) {
             item['currentUserGood'] = true
@@ -368,14 +349,14 @@ const showModal = ref(false)
 
 //类型tab数据
 const typeTabKey = ref(null)
-const typeTab = ref([]);
+const typeTab = ref([])
 
-const typeTabIndex = ref(-1);
-const typeCheckBox = ref([]);
+const typeTabIndex = ref(-1)
+const typeCheckBox = ref([])
 
 const typeTabChange = (val) => {
-    typeTabKey.value = val;
-    typeTabIndex.value = typeTab.value.findIndex(item => item.dictValue === val);
+    typeTabKey.value = val
+    typeTabIndex.value = typeTab.value.findIndex(item => item.dictValue === val)
 }
 
 //发起新工单服务
@@ -391,7 +372,7 @@ const handleModalClose = () => {
 
 //获取字典信息
 const queryDictBizList = async () => {
-    const {error, code, data} = await orderServe.queryDictBizList()
+    const { error, code, data } = await orderServe.queryDictBizList()
     if (!error && code === 200) {
         const res = getArrValue(data)
         typeTab.value = res
@@ -408,11 +389,11 @@ const queryDictBizList = async () => {
 const opinionContent = ref('')
 
 //上传
-const uploadAccept = "image/png,image/jpg,image/jpeg"
+const uploadAccept = 'image/png,image/jpg,image/jpeg'
 const uploadFileList = ref([])
 
 //上传的文件结果
-const uploadChange = ({fileList}) => {
+const uploadChange = ({ fileList }) => {
     uploadFileList.value = fileList
 }
 
@@ -426,7 +407,7 @@ const uploadsProgress = (val) => {
 const showViewer = ref(false)
 const initialIndex = ref(-1)
 const previewFileList = ref([])
-const handlePreview = ({index, fileArr}) => {
+const handlePreview = ({ index, fileArr }) => {
     previewFileList.value = fileArr
     initialIndex.value = index
     showViewer.value = true
@@ -439,10 +420,10 @@ const previewModalClose = () => {
 }
 
 //删除上传的文件
-const removeUpload = async ({link}) => {
-    const arrUrl = link.split(".com//");
+const removeUpload = async ({ link }) => {
+    const arrUrl = link.split('.com//')
     if (arrUrl.length > 0) {
-        await ossApi.removeFile({fileName: arrUrl[1]}, false)
+        await ossApi.removeFile({ fileName: arrUrl[1] }, false)
     }
 }
 
@@ -450,13 +431,13 @@ const removeUpload = async ({link}) => {
 //上传截图文件
 const spinShow = ref(false)
 const uploadImgFile = async (base64) => {
-    let fileOfBlob = base64ToFile(base64);
-    let formData = new FormData();
-    formData.append("file", fileOfBlob);
+    let fileOfBlob = base64ToFile(base64)
+    let formData = new FormData()
+    formData.append('file', fileOfBlob)
     //上传文件
     spinShow.value = true
     newOrderServiceClick()
-    const {error, code, data} = await ossApi.putFile(formData, false)
+    const { error, code, data } = await ossApi.putFile(formData, false)
     spinShow.value = false
     if (!error && code === 200) {
         let res = getObjValue(data)
@@ -464,42 +445,42 @@ const uploadImgFile = async (base64) => {
             uploadFileList.value.push({
                 url: res?.link,
                 name: res?.name,
-                response: {data: res}
+                response: { data: res },
             })
         }
-        window.sessionStorage.removeItem('screenShort-base64');
-        window.$message?.success('文件上传成功');
+        window.sessionStorage.removeItem('screenShort-base64')
+        window.$message?.success('文件上传成功')
         spinShow.value = false
     } else {
-        window.sessionStorage.removeItem('screenShort-base64');
-        window.$message?.warning('文件上传失败');
+        window.sessionStorage.removeItem('screenShort-base64')
+        window.$message?.warning('文件上传失败')
     }
 }
 
 //提交工单反馈
 const saveClick = async () => {
     //拼接问题类型
-    let problemType = typeTabKey.value, index = typeTabIndex.value, problemVal = '';
-    const checkBoxVal = typeCheckBox.value[index] || [];
+    let problemType = typeTabKey.value, index = typeTabIndex.value, problemVal = ''
+    const checkBoxVal = typeCheckBox.value[index] || []
     checkBoxVal.forEach(item => {
         problemVal += `-${item}`
     })
     let filesUrl = getUploadFileUrl()
     //判断数据
     if (!problemVal) {
-        window.$message?.warning('请先选择问题类型');
+        window.$message?.warning('请先选择问题类型')
     } else {
         //请求接口
-        const {error, code} = await orderServe.saveUserOpinion({
+        const { error, code } = await orderServe.saveUserOpinion({
             projectId: projectId.value,
             contractId: contractId.value,
             problemType: problemType + problemVal,
             opinionContent: opinionContent.value,
-            returnFiles: filesUrl
+            returnFiles: filesUrl,
         })
         if (!error && code === 200) {
-            window.$message?.success('提交成功');
-            showModal.value = false;
+            window.$message?.success('提交成功')
+            showModal.value = false
             //重置表单
             typeCheckBox.value[index] = []
             opinionContent.value = ''
@@ -508,14 +489,14 @@ const saveClick = async () => {
             //更新数据
             queryUserOpinionPage()
             queryCurrentUserOpinionList()
-            window?.location?.reload()  //刷新页面
+            window?.location?.reload() //刷新页面
         }
     }
 }
 
 //获取文件URL
 const getUploadFileUrl = () => {
-    let fileArr = [], fileList = uploadFileList.value ?? [];
+    let fileArr = [], fileList = uploadFileList.value ?? []
     fileList.forEach(item => {
         if (getObjVal(item?.response)) {
             fileArr.push(item?.response?.data?.link)
@@ -530,19 +511,19 @@ const getUploadFileUrl = () => {
 const showTipModal = ref(false)
 const evaluationKey = ref('1')
 const evaluationData = [
-    {value: "1", label: "满意"},
-    {value: "2", label: "不满意并再次提交解决"},
-    {value: "3", label: "不满意且投诉"}
+    { value: '1', label: '满意' },
+    { value: '2', label: '不满意并再次提交解决' },
+    { value: '3', label: '不满意且投诉' },
 ]
 const disposeUserFeedback = async () => {
     let oldEndFlow = orderFlowList.value[3]?.id || ''
-    const {error, code} = await orderServe.disposeUserFeedback({
+    const { error, code } = await orderServe.disposeUserFeedback({
         oldEndFlow: oldEndFlow,
         type: evaluationKey.value || '',
-        userOpinionId: nameSelectKey.value || ''
+        userOpinionId: nameSelectKey.value || '',
     })
     if (!error && code === 200) {
-        window.$message?.success('提交成功');
+        window.$message?.success('提交成功')
         showTipModal.value = parseInt(opinionView.value) === 1
         queryCurrentUserOpinionList()
     }
@@ -550,7 +531,7 @@ const disposeUserFeedback = async () => {
 
 //提示框
 const tipModalClick = async () => {
-    await userConfigSave({opinionView: 0})
+    await userConfigSave({ opinionView: 0 })
     showTipModal.value = false
     useAppState.setOrderServiceTipModal(0)
     opinionView.value = 0
@@ -567,18 +548,18 @@ const scrollToTop = () => {
 }
 
 //左右拖动,改变树形结构宽度
-const leftWidth = ref(500);
+const leftWidth = ref(500)
 const onmousedown = () => {
     const clientWidth = document.body.clientWidth
     document.onmousemove = (ve) => {
-        let diffVal = clientWidth - (ve.clientX + 24);
+        let diffVal = clientWidth - (ve.clientX + 24)
         if (diffVal >= 300 && diffVal <= 1000) {
-            leftWidth.value = diffVal;
+            leftWidth.value = diffVal
         }
     }
     document.onmouseup = () => {
-        document.onmousemove = null;
-        document.onmouseup = null;
+        document.onmousemove = null
+        document.onmouseup = null
     }
 }
 </script>

+ 50 - 50
src/views/schedule/hc-data.vue

@@ -1,16 +1,16 @@
 <template>
     <div class="hc-layout-box">
         <HcPageHeader v-if="contractInfo?.contractType === 2 || contractInfo?.contractType === 3">
-            <HcNewSwitch :datas="contractTypeTab" :keys="contractTypeTabKey" @change="contractTypeTabChange"/>
+            <HcNewSwitch :datas="contractTypeTab" :keys="contractTypeTabKey" size="default" @change="contractTypeTabChange" />
         </HcPageHeader>
         <div class="hc-round-chart">
             <el-row :gutter="30">
                 <el-col v-for="item in processMaterialList" :span="6">
                     <div class="hc-round-chart-card-box">
                         <div class="hc-card-content-box">
-                            <div class="card-title">{{ item['title'] }}</div>
+                            <div class="card-title">{{ item.title }}</div>
                             <div class="card-ratio-box">
-                                <div class="ratio-num">{{ item['ratio'] }}</div>
+                                <div class="ratio-num">{{ item.ratio }}</div>
                                 <div class="ratio-text">
                                     <div class="unit">%</div>
                                     <div class="text">完成率</div>
@@ -19,18 +19,18 @@
                             <div class="card-amount-box">
                                 <div class="amount-item">
                                     <div class="text">应填(份)</div>
-                                    <div class="num">{{ item['amount'] }}</div>
+                                    <div class="num">{{ item.amount }}</div>
                                 </div>
-                                <div class="amount-divider"/>
+                                <div class="amount-divider" />
                                 <div class="amount-item">
                                     <div class="text">已填(份)</div>
-                                    <div class="num">{{ item['successAmount'] }}</div>
+                                    <div class="num">{{ item.successAmount }}</div>
                                 </div>
                             </div>
                         </div>
                         <div class="hc-card-chart-box">
-                            <RoundChart :ratio="item.ratio"/>
-                            <div class="text-num">{{ item['ratio'] }}%</div>
+                            <RoundChart :ratio="item.ratio" />
+                            <div class="text-num">{{ item.ratio }}%</div>
                         </div>
                     </div>
                 </el-col>
@@ -45,7 +45,7 @@
                             <span class="hc-chart-text">(已审批{{ materialList }}份)</span>
                         </div>
                         <div class="hc-report-chart-box">
-                            <ReportChart :datas="processMaterialStatusList"/>
+                            <ReportChart :datas="processMaterialStatusList" />
                         </div>
                     </div>
                 </el-col>
@@ -55,7 +55,7 @@
                             <span class="title">声像媒体资料统计</span>
                             <el-button round size="large" @click="toTableClick">
                                 <span>WBS节点进度</span>
-                                <HcIcon name="arrow-right-s" style="margin-right: 0;" ui="ml-2"/>
+                                <HcIcon name="arrow-right-s" style="margin-right: 0;" ui="ml-2" />
                             </el-button>
                         </div>
                         <div class="hc-media-chart-box">
@@ -73,7 +73,7 @@
                                     <span class="num c2">{{ imageClassInfo.video }}</span>
                                 </div>
                             </div>
-                            <MediaChart :datas="contractImageClassificationList"/>
+                            <MediaChart :datas="contractImageClassificationList" />
                         </div>
                     </div>
                 </el-col>
@@ -83,21 +83,21 @@
 </template>
 
 <script setup>
-import {ref, onMounted} from 'vue'
-import {useRouter} from 'vue-router'
-import {useAppStore} from "~src/store";
-import RoundChart from "./components/echarts/RoundChart.vue"
-import ReportChart from "./components/echarts/ReportChart.vue"
-import MediaChart from "./components/echarts/MediaChart.vue"
-import {getArrValue} from "js-fast-way"
-import DataApi from "~api/schedule/data"
+import { onMounted, ref } from 'vue'
+import { useRouter } from 'vue-router'
+import { useAppStore } from '~src/store'
+import RoundChart from './components/echarts/RoundChart.vue'
+import ReportChart from './components/echarts/ReportChart.vue'
+import MediaChart from './components/echarts/MediaChart.vue'
+import { getArrValue } from 'js-fast-way'
+import DataApi from '~api/schedule/data'
 
 //变量
 const router = useRouter()
 const useAppState = useAppStore()
-const projectId = ref(useAppState.getProjectId);
-const contractId = ref(useAppState.getContractId);
-const contractInfo = ref(useAppState.getContractInfo);
+const projectId = ref(useAppState.getProjectId)
+const contractId = ref(useAppState.getContractId)
+const contractInfo = ref(useAppState.getContractInfo)
 const isCollapse = ref(useAppState.getCollapse)
 
 //渲染完成
@@ -111,11 +111,11 @@ onMounted(() => {
 //结构类型tab数据和相关处理
 const contractTypeTabKey = ref(2)
 const contractTypeTab = ref([
-    {key: '1', name: '施工数据'},
-    {key: '2', name: '监理数据'}
-]);
+    { key: '1', name: '施工数据' },
+    { key: '2', name: '监理数据' },
+])
 const contractTypeTabChange = (item) => {
-    contractTypeTabKey.value = item?.key;
+    contractTypeTabKey.value = item?.key
     queryMaterialProgress()
     queryMaterialProgressStatus()
     queryImageClassification()
@@ -123,7 +123,7 @@ const contractTypeTabChange = (item) => {
 
 //获取合同段类型
 const getContractTypeKey = () => {
-    const {contractType} = contractInfo.value;
+    const { contractType } = contractInfo.value
     if (contractType === 2 || contractType === 3) {
         return contractTypeTabKey.value ?? '1'
     } else {
@@ -136,18 +136,18 @@ const isProcessLoading = ref(false)
 const processMaterialList = ref([])
 const queryMaterialProgress = async () => {
     isProcessLoading.value = true
-    const classifyType = getContractTypeKey();
-    const {error, code, data} = await DataApi.queryMaterialProgress({
+    const classifyType = getContractTypeKey()
+    const { error, code, data } = await DataApi.queryMaterialProgress({
         projectId: projectId.value,
         contractId: contractId.value,
-        classifyType: classifyType
-    });
+        classifyType: classifyType,
+    })
     //处理数据
     isProcessLoading.value = false
     if (!error && code === 200) {
-        processMaterialList.value = getArrValue(data?.processMaterialList);
+        processMaterialList.value = getArrValue(data?.processMaterialList)
     } else {
-        processMaterialList.value = [];
+        processMaterialList.value = []
     }
 }
 
@@ -158,17 +158,17 @@ const isMaterialLoading = ref(false)
 const processMaterialStatusList = ref([])
 const queryMaterialProgressStatus = async () => {
     isMaterialLoading.value = true
-    const classifyType = getContractTypeKey();
-    const {error, code, data} = await DataApi.queryMaterialProgressStatus({
+    const classifyType = getContractTypeKey()
+    const { error, code, data } = await DataApi.queryMaterialProgressStatus({
         projectId: projectId.value,
         contractId: contractId.value,
-        classifyType: classifyType
-    });
+        classifyType: classifyType,
+    })
     //处理数据
     isMaterialLoading.value = false
     if (!error && code === 200) {
-        let num = 0;
-        const listData = getArrValue(data?.processMaterialStatusList);
+        let num = 0
+        const listData = getArrValue(data?.processMaterialStatusList)
         for (let i = 0; i < listData.length; i++) {
             const Amount = listData[i]?.approvalAmount || 0
             num += Amount
@@ -177,29 +177,29 @@ const queryMaterialProgressStatus = async () => {
         processMaterialStatusList.value = listData
     } else {
         materialList.value = 0
-        processMaterialStatusList.value = [];
+        processMaterialStatusList.value = []
     }
 }
 
 //声像媒体资料统计
 const isImageClassLoading = ref(false)
 const contractImageClassificationList = ref([])
-const imageClassInfo = ref({amount: 0, image: 0, video: 0})
+const imageClassInfo = ref({ amount: 0, image: 0, video: 0 })
 const queryImageClassification = async () => {
     isImageClassLoading.value = true
-    const classifyType = getContractTypeKey();
-    const {error, code, data} = await DataApi.queryImageClassification({
+    const classifyType = getContractTypeKey()
+    const { error, code, data } = await DataApi.queryImageClassification({
         projectId: projectId.value,
         contractId: contractId.value,
-        classifyType: classifyType
-    });
+        classifyType: classifyType,
+    })
     //处理数据
     isImageClassLoading.value = false
     if (!error && code === 200) {
-        const imageClassList = getArrValue(data?.contractImageClassificationList);
-        contractImageClassificationList.value = imageClassList;
+        const imageClassList = getArrValue(data?.contractImageClassificationList)
+        contractImageClassificationList.value = imageClassList
         //数据显示
-        let AxisData = {amount: 0, image: 0, video: 0};
+        let AxisData = { amount: 0, image: 0, video: 0 }
         for (let i = 0; i < imageClassList.length; i++) {
             AxisData.amount = imageClassList[i].amount
             AxisData.image = imageClassList[i].imageAmount
@@ -207,13 +207,13 @@ const queryImageClassification = async () => {
         }
         imageClassInfo.value = AxisData
     } else {
-        contractImageClassificationList.value = [];
+        contractImageClassificationList.value = []
     }
 }
 
 //查看WBS节点进度
 const toTableClick = () => {
-    router.push({path: '/schedule/table'})
+    router.push({ path: '/schedule/table' })
 }
 </script>
 

+ 96 - 58
src/views/schedule/hc-table.vue

@@ -1,78 +1,116 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <el-button hc-btn type="primary" @click="toBackClick">
-                    <HcIcon name="arrow-go-back"/>
+                    <HcIcon name="arrow-go-back" />
                     <span>返回上一级</span>
                 </el-button>
             </template>
-            <el-table v-loading="isLoading" :data="tableData" :load="loadData" border height="100%" lazy
-                      row-key="primaryKeyId">
-                <el-table-column label="节点名称" prop="title"></el-table-column>
+            <el-table
+                v-loading="isLoading" :data="tableData" :load="loadData" border height="100%" lazy
+                row-key="primaryKeyId"
+            >
+                <el-table-column label="节点名称" prop="title" />
                 <el-table-column align="center" label="施工台账">
-                    <el-table-column align="center" label="未开始" prop="standingBookNotAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="已完成" prop="standingBookEndAmount"
-                                     width="80"></el-table-column>
+                    <el-table-column
+                        align="center" label="未开始" prop="standingBookNotAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="已完成" prop="standingBookEndAmount"
+                        width="80"
+                    />
                 </el-table-column>
                 <el-table-column align="center" label="开工报告">
-                    <el-table-column align="center" label="未开始" prop="workStartNotSubmitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="未上报" prop="workStartNotTaskAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="待审批" prop="workStartAwaitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="已审批" prop="workStartApprovalAmount"
-                                     width="80"></el-table-column>
+                    <el-table-column
+                        align="center" label="未开始" prop="workStartNotSubmitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="未上报" prop="workStartNotTaskAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="待审批" prop="workStartAwaitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="已审批" prop="workStartApprovalAmount"
+                        width="80"
+                    />
                 </el-table-column>
                 <el-table-column align="center" label="工序资料">
-                    <el-table-column align="center" label="未开始" prop="processNotSubmitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="未上报" prop="processNotTaskAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="待审批" prop="processAwaitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="已审批" prop="processApprovalAmount"
-                                     width="80"></el-table-column>
+                    <el-table-column
+                        align="center" label="未开始" prop="processNotSubmitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="未上报" prop="processNotTaskAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="待审批" prop="processAwaitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="已审批" prop="processApprovalAmount"
+                        width="80"
+                    />
                 </el-table-column>
                 <el-table-column align="center" label="质量评定">
-                    <el-table-column align="center" label="未开始" prop="evaluationNotSubmitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="未上报" prop="evaluationNotTaskAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="待审批" prop="evaluationAwaitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="已审批" prop="evaluationApprovalAmount"
-                                     width="80"></el-table-column>
+                    <el-table-column
+                        align="center" label="未开始" prop="evaluationNotSubmitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="未上报" prop="evaluationNotTaskAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="待审批" prop="evaluationAwaitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="已审批" prop="evaluationApprovalAmount"
+                        width="80"
+                    />
                 </el-table-column>
                 <el-table-column align="center" label="中间交工">
-                    <el-table-column align="center" label="未开始" prop="completionNotSubmitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="未上报" prop="completionNotTaskAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="待审批" prop="completionAwaitAmount"
-                                     width="80"></el-table-column>
-                    <el-table-column align="center" label="已审批" prop="completionApprovalAmount"
-                                     width="80"></el-table-column>
+                    <el-table-column
+                        align="center" label="未开始" prop="completionNotSubmitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="未上报" prop="completionNotTaskAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="待审批" prop="completionAwaitAmount"
+                        width="80"
+                    />
+                    <el-table-column
+                        align="center" label="已审批" prop="completionApprovalAmount"
+                        width="80"
+                    />
                 </el-table-column>
             </el-table>
-        </HcCard>
+        </HcNewCard>
     </div>
 </template>
 
 <script setup>
-import {ref, onMounted} from "vue";
-import {useRouter} from 'vue-router'
-import {useAppStore} from "~src/store";
-import DataApi from "~api/schedule/data"
-import {getArrValue} from "js-fast-way"
+import { onMounted, ref } from 'vue'
+import { useRouter } from 'vue-router'
+import { useAppStore } from '~src/store'
+import DataApi from '~api/schedule/data'
+import { getArrValue } from 'js-fast-way'
 
 //变量
 const router = useRouter()
 const useAppState = useAppStore()
-const projectId = ref(useAppState.getProjectId);
-const contractId = ref(useAppState.getContractId);
+const projectId = ref(useAppState.getProjectId)
+const contractId = ref(useAppState.getContractId)
 
 //渲染完成
 onMounted(() => {
@@ -86,26 +124,26 @@ const isLoading = ref(false)
 const tableData = ref([])
 const getTableData = async () => {
     isLoading.value = true
-    const {error, code, data} = await DataApi.queryContractTreeMaterialProgress({
+    const { error, code, data } = await DataApi.queryContractTreeMaterialProgress({
         projectId: projectId.value,
         contractId: contractId.value,
-        parentId: ''
-    });
+        parentId: '',
+    })
     isLoading.value = false
     if (!error && code === 200) {
-        tableData.value = getArrValue(data['treeMaterialProgressList']);
+        tableData.value = getArrValue(data['treeMaterialProgressList'])
     } else {
-        tableData.value = [];
+        tableData.value = []
     }
 }
 
 //懒加载数据
 const loadData = async (row, treeNode, resolve) => {
-    const {error, code, data} = await DataApi.queryContractTreeMaterialProgress({
+    const { error, code, data } = await DataApi.queryContractTreeMaterialProgress({
         projectId: projectId.value,
         contractId: row.contractId || contractId.value,
-        parentId: row.id
-    });
+        parentId: row.id,
+    })
     if (!error && code === 200) {
         resolve(getArrValue(data['treeMaterialProgressList']))
     } else {
@@ -116,7 +154,7 @@ const loadData = async (row, treeNode, resolve) => {
 //返回上级
 const toBackClick = () => {
     router.push({
-        path: '/schedule/data'
+        path: '/schedule/data',
     })
 }
 </script>

+ 2 - 3
src/views/schedule/write.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">

+ 12 - 17
src/views/tasks/components/TableCard.vue

@@ -1,40 +1,34 @@
 <template>
-    <HcCard>
+    <HcNewCard>
         <template #header>
             <div class="w-32">
-                <el-select v-model="searchForm.typeValue" block clearable placeholder="任务类型" size="large">
+                <el-select v-model="searchForm.typeValue" block clearable placeholder="任务类型">
                     <el-option v-for="item in tasksType" :label="item.dictValue" :value="item.dictKey" />
                 </el-select>
             </div>
             <div class="w-32 ml-3">
-                <el-select v-model="searchForm.statusValue" block clearable placeholder="任务状态" size="large">
+                <el-select v-model="searchForm.statusValue" block clearable placeholder="任务状态">
                     <el-option v-for="item in tasksStatus" :label="item.dictValue" :value="item.dictKey" />
                 </el-select>
             </div>
             <div class="w-32 ml-3">
-                <el-select
-                    v-model="searchForm.contractIdValue" block clearable placeholder="合同段" size="large"
-                    @change="ContractIdChange"
-                >
+                <el-select v-model="searchForm.contractIdValue" block clearable placeholder="合同段" @change="ContractIdChange">
                     <el-option v-for="item in contractList" :label="item.contractName" :value="item.id" />
                 </el-select>
             </div>
             <div class="w-32 ml-3">
-                <el-select v-model="searchForm.batch" block clearable placeholder="上报批次" size="large">
+                <el-select v-model="searchForm.batch" block clearable placeholder="上报批次">
                     <el-option v-for="item in reportBatch" :label="item.batch" :value="item.batch" />
                 </el-select>
             </div>
             <div class="w-64 ml-3">
-                <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate" />
+                <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
             </div>
             <div class="w-56 ml-3">
-                <el-input
-                    v-model="searchForm.queryValue" block clearable placeholder="请输入名称关键词检索"
-                    size="large" @keyup="keyUpEvent"
-                />
+                <el-input v-model="searchForm.queryValue" block clearable placeholder="请输入名称关键词检索" @keyup="keyUpEvent" />
             </div>
             <div class="ml-2">
-                <el-button size="large" type="primary" @click="searchClick">
+                <el-button type="primary" @click="searchClick">
                     <HcIcon name="search-2" />
                     <span>搜索</span>
                 </el-button>
@@ -58,8 +52,9 @@
             </HcTooltip>
         </template>
         <HcTable
-            ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" is-check
-            border @selection-change="tableSelectionChange"
+            ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
+            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+            @selection-change="tableSelectionChange"
         >
             <template #taskName="{ row }">
                 <span class="text-link" @click="rowTaskName(row)">{{ row?.taskName }}</span>
@@ -97,7 +92,7 @@
                 </div>
             </div>
         </template>
-    </HcCard>
+    </HcNewCard>
 </template>
 
 <script setup>

+ 5 - 8
src/views/tasks/flow.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard :scrollbar="false" action-size="lg">
             <template #header>
                 <HcTooltip keys="tasks_flow_add">
                     <el-button hc-btn type="primary" @click="addFlowData">
@@ -15,7 +15,7 @@
                     title="同一合同段内,只需要设置重复岗位的流程即可,其他任务岗位,系统将自动推送,无需创建更多任务流" type="error"
                 />
             </template>
-            <HcTable :column="tableListColumn" :datas="tableListData" :loading="tableLoading" border>
+            <HcTable :column="tableListColumn" :datas="tableListData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
                 <template #action="{ row }">
                     <HcTooltip keys="tasks_flow_edit">
                         <el-button plain size="small" type="primary" @click="handleTableEdit(row)">编辑</el-button>
@@ -28,12 +28,9 @@
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
         <!-- 新增/编辑流程 弹框 -->
-        <el-dialog
-            v-model="showEditModal" :title="`${flowFormData.id ? '编辑' : '新增'}流程`" class="hc-modal-border"
-            width="47rem"
-        >
+        <hc-new-dialog v-model="showEditModal" :title="`${flowFormData.id ? '编辑' : '新增'}流程`" widths="47rem">
             <el-form ref="formFlowRef" :model="flowFormData" :rules="formFlowRules" label-width="auto" size="large">
                 <el-form-item label="流程名称" prop="fixedFlowName">
                     <el-input v-model="flowFormData.fixedFlowName" placeholder="请输入流程名称" />
@@ -51,7 +48,7 @@
                     <el-button :loading="sevaLoading" hc-btn type="primary" @click="saveFormClick">保存</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 6 - 13
src/views/tasks/hc-data.vue

@@ -31,10 +31,7 @@
         </HcTabsSimple>
 
         <!-- 任务审核 -->
-        <el-dialog
-            v-model="showTaskReviewModal" class="hc-modal-border hc-modal-table" destroy-on-close draggable
-            width="80vw"
-        >
+        <hc-new-dialog v-model="showTaskReviewModal" is-table width="80vw">
             <template #header="{ titleId, titleClass }">
                 <div class="hc-card-header flex items-center">
                     <div :id="titleId" :class="titleClass">任务审核 【已开启电签】</div>
@@ -55,10 +52,10 @@
                 </div>
                 <div :class="sbTableKey === 'key1' ? '' : 'vh'" class="flex-table">
                     <div v-if="taskReviewType === '1'" class="data-table taskReviewData">
-                        <HcTable :column="taskReviewColumns" :datas="taskReviewData" border @row-click="rowTaskReviewClick" />
+                        <HcTable :column="taskReviewColumns" :datas="taskReviewData" is-new :index-style="{ width: 60 }" @row-click="rowTaskReviewClick" />
                     </div>
                     <div v-if="taskReviewType === '2'" class="data-table checkedRowsRef">
-                        <HcTable :column="checkedRowsColumns" :datas="checkedRowsRef" border @row-click="rowTaskReviewClick" />
+                        <HcTable :column="checkedRowsColumns" :datas="checkedRowsRef" is-new :index-style="{ width: 60 }" @row-click="rowTaskReviewClick" />
                     </div>
                     <div v-if="sbTableKey === 'key1'" class="radio-group-box">
                         <span class="label">审批操作:</span>
@@ -84,14 +81,10 @@
                     </el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
 
         <!-- 设置重签规则 -->
-        <el-dialog
-            v-model="showSetSignRulesModal" class="hc-modal-border" destroy-on-close draggable
-            title="设置重签规则"
-            width="38rem"
-        >
+        <hc-new-dialog v-model="showSetSignRulesModal" title="设置重签规则" widths="38rem">
             <div class="text-orange mb-10">
                 <span
                     class="mr-4"
@@ -114,7 +107,7 @@
                     <el-button hc-btn type="primary">保存</el-button>
                 </div>
             </template>
-        </el-dialog>
+        </hc-new-dialog>
 
         <!-- 短信认证 -->
         <HcSmsAuth :loading="SMSAuthLoading" :show="SMSAuthShow" @cancel="SMSAuthCancel" @confirm="SMSAuthConfirm" />

+ 9 - 8
src/views/tasks/message-data.vue

@@ -6,18 +6,18 @@
             </el-scrollbar>
         </div>
         <div class="hc-layout-content-box">
-            <HcCard action-size="lg">
+            <HcNewCard action-size="lg">
                 <template #header>
                     <div class="w-32 ml-2">
-                        <el-select v-model="searchForm.smsType" clearable placeholder="消息类型" size="large">
+                        <el-select v-model="searchForm.smsType" clearable placeholder="消息类型">
                             <el-option v-for="item in smsTypeData" :label="item.label" :value="item.value" />
                         </el-select>
                     </div>
                     <div class="w-64 ml-2">
-                        <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate" />
+                        <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
                     </div>
                     <div class="ml-2">
-                        <el-button size="large" type="primary" @click="searchClick">
+                        <el-button type="primary" @click="searchClick">
                             <HcIcon name="search-2" />
                             <span>搜索</span>
                         </el-button>
@@ -38,7 +38,8 @@
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check border @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 >
                     <template #content="{ row }">
                         <div class="text-link text-cut" @click="tableContent(row)">{{ row.content }}</div>
@@ -47,12 +48,12 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
         <!-- 日志内容 -->
-        <el-dialog v-model="operationContentModal" class="hc-modal-border" title="消息内容" width="38rem">
+        <hc-new-dialog v-model="operationContentModal" title="消息内容" widths="38rem">
             {{ operationContent }}
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 11 - 22
src/views/tasks/sign-admin.vue

@@ -1,42 +1,30 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" action-size="lg">
+        <HcNewCard :scrollbar="false" action-size="lg">
             <template #header>
                 <div class="w-64">
-                    <el-input
-                        v-model="searchForm.evisaUserName" block clearable placeholder="请输入用户名称检索"
-                        size="large" @keyup="keyUpEvent"
-                    />
+                    <el-input v-model="searchForm.evisaUserName" block clearable placeholder="请输入用户名称检索" @keyup="keyUpEvent" />
                 </div>
                 <div class="w-32 ml-3">
-                    <el-select
-                        v-model="searchForm.contractId" block clearable placeholder="合同段" size="large"
-                        @change="ContractIdChange"
-                    >
+                    <el-select v-model="searchForm.contractId" block clearable placeholder="合同段" @change="ContractIdChange">
                         <el-option v-for="item in contractList" :key="item.id" :label="item.name" :value="item.id" />
                     </el-select>
                 </div>
                 <div class="w-32 ml-3">
-                    <el-select
-                        v-model="searchForm.visaStatus" block placeholder="电签状态" size="large"
-                        @change="visaStatusChange"
-                    >
+                    <el-select v-model="searchForm.visaStatus" block placeholder="电签状态" @change="visaStatusChange">
                         <el-option label="电签失败" :value="1" />
                         <el-option label="电签成功" :value="2" />
                     </el-select>
                 </div>
 
                 <div class="w-64 ml-3">
-                    <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate" />
+                    <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
                 </div>
                 <div class="w-56 ml-3">
-                    <el-input
-                        v-model="searchForm.queryValue" block clearable placeholder="请输入名称关键词检索"
-                        size="large" @keyup="keyUpEvent"
-                    />
+                    <el-input v-model="searchForm.queryValue" block clearable placeholder="请输入名称关键词检索" @keyup="keyUpEvent" />
                 </div>
                 <div class="ml-2">
-                    <el-button size="large" type="primary" @click="searchClick">
+                    <el-button type="primary" @click="searchClick">
                         <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
@@ -51,8 +39,9 @@
                 </HcTooltip>
             </template>
             <HcTable
-                ref="tableListRef" :column="tableListColumn" :datas="tableData" :loading="tableLoading" is-check
-                border @selection-change="tableSelectionChange"
+                ref="tableListRef" :column="tableListColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
             >
                 <template #taskName="{ row }">
                     <span class="text-link" @click="rowTaskName(row)">{{ row?.taskName }}</span>
@@ -80,7 +69,7 @@
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
     </div>
 </template>
 

+ 10 - 17
src/views/tentative/collect/monthly.vue

@@ -1,21 +1,17 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-search-box">
                 <div class="hc-search-tree-val">
-                    <el-input
-                        v-model="searchTreeVal" block clearable placeholder="请输入名称关键词检索" size="large"
-                        @keyup="searchTreeKeyUp"
-                    >
+                    <el-input v-model="searchTreeVal" block clearable placeholder="请输入名称关键词检索" @keyup="searchTreeKeyUp">
                         <template #suffix>
                             <HcIcon name="search-2" ui="text-xl" />
                         </template>
@@ -41,10 +37,10 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <template #header>
                     <div class="w-40">
-                        <el-select v-model="searchForm.type" clearable placeholder="请选择材料类别" size="large">
+                        <el-select v-model="searchForm.type" clearable placeholder="请选择材料类别">
                             <el-option
                                 v-for="item in typeData" :key="item.value" :label="item.label"
                                 :value="item.value"
@@ -52,10 +48,10 @@
                         </el-select>
                     </div>
                     <div class="w-64 ml-2">
-                        <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate" />
+                        <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate" />
                     </div>
                     <div class="ml-2">
-                        <el-button size="large" type="primary" @click="searchClick">
+                        <el-button type="primary" @click="searchClick">
                             <HcIcon name="search-2" />
                             <span>搜索</span>
                         </el-button>
@@ -113,16 +109,13 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 编辑备注 -->
-        <HcDialog
-            :loading="editorsNoteLoading" :show="editorsNoteModal" title="编辑备注信息" widths="45rem"
-            @close="editorsNoteModalClose" @save="editorsNoteModalSave"
-        >
+        <hc-new-dialog v-model="editorsNoteModal" :loading="editorsNoteLoading" title="编辑备注信息" widths="45rem" @close="editorsNoteModalClose" @save="editorsNoteModalSave">
             <el-input v-model="editorsNoteVal" :autosize="{ minRows: 5 }" placeholder="编辑备注信息" type="textarea" />
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 7 - 7
src/views/tentative/collect/test.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -19,7 +18,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="tentative_collect_test_del">
                         <el-button hc-btn color="#e03997" @click="delModalClick">
@@ -76,13 +75,14 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
     </div>
 </template>

+ 2 - 2
src/views/tentative/detect/collapse-form/src/index.vue

@@ -133,7 +133,7 @@
     </template>
 
     <!-- 操作提示 -->
-    <HcDialog :footer="false" :show="actionTipModal" title="操作提示" widths="38rem" @close="actionTipModalClose">
+    <hc-new-dialog v-model="actionTipModal" :footer="false" title="操作提示" widths="38rem" @close="actionTipModalClose">
         <div class="data-fill-table-tip-box">
             <div class="text-gray-400 tip-item">1、灰色框代表可通过系统识别计算,公式自动引用,可通过公式计算少量数据,(表头数据及简单),也可只填写白色框数据</div>
             <div class="text-gray-400 tip-item">
@@ -144,7 +144,7 @@
             </div>
             <div class="text-orange-500 tip-item">3、完善资料填写后记得一定要保存哦</div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 44 - 44
src/views/tentative/detect/components/FormItemUpload.vue

@@ -5,22 +5,23 @@
         <div v-if="uploadValue" class="text-hover" @click.stop="previewClick">预览文件</div>
     </div>
 
-    <!--上传-->
-    <HcDialog :loading="uploadDisabled" :show="importModal" saveText="确认上传" title="上传文件" widths="38rem"
-              @close="importModalClose" @save="importModalYesClick">
-        <el-upload ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
-                   :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled"
-                   :headers="getTokenHeader()" :limit="1"
-                   :on-change="uploadChange"
-                   :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress" 
-                   :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag>
+    <!-- 上传 -->
+    <hc-new-dialog v-model="importModal" :loading="uploadDisabled" save-text="确认上传" title="上传文件" widths="38rem" @close="importModalClose" @save="importModalYesClick">
+        <el-upload
+            ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
+            :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled"
+            :headers="getTokenHeader()" :limit="1"
+            :on-change="uploadChange"
+            :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress"
+            :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag
+        >
             <div v-loading="uploadDisabled" class="hc-upload-loading upload-file-info" element-loading-text="上传中...">
                 <template v-if="uploadFileInfo?.name">
-                    <HcIcon class="upload-file-icon" name="file-text"/>
+                    <HcIcon class="upload-file-icon" name="file-text" />
                     <div class="upload-file-name">{{ uploadFileInfo?.name }}</div>
                 </template>
                 <template v-else>
-                    <HcIcon class="upload-icon" name="upload-cloud"/>
+                    <HcIcon class="upload-icon" name="upload-cloud" />
                     <div class="el-upload__text">拖动文件到这里 或 <em>点击这里选择文件</em> 并上传</div>
                 </template>
             </div>
@@ -28,63 +29,65 @@
                 <div class="el-upload__tip">允许格式:{{ formatTip }}, 文件大小 小于 {{ size }}MB</div>
             </template>
         </el-upload>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {getTokenHeader} from '~src/api/request/header';
-import {isFileSize} from "js-fast-way"
-import {genFileId} from "element-plus";
+import { onMounted, ref, watch } from 'vue'
+import { getTokenHeader } from '~src/api/request/header'
+import { isFileSize } from 'js-fast-way'
+import { genFileId } from 'element-plus'
 
 const props = defineProps({
     modelValue: {
         type: String,
-        default: ''
+        default: '',
     },
     datas: {
         type: Object,
-        default: () => ({})
+        default: () => ({}),
     },
     action: {
         type: String,
-        default: "upload-file"
+        default: 'upload-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"
+        default: 'image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword',
     },
     size: {
         type: Number,
-        default: 20
+        default: 20,
     },
     formatTip: {
         type: String,
-        default: "png/jpg/jpeg/excel/pdf/doc/docx"
+        default: 'png/jpg/jpeg/excel/pdf/doc/docx',
     },
     fileName:{
         type: String,
-        default: ''
-    }
+        default: '',
+    },
 
 })
 
+//事件
+const emit = defineEmits(['progress', 'change', 'update:modelValue'])
 //变量
 const uploadRef = ref(null)
 const uploadData = ref(props.datas)
 const uploadFileInfo = ref({})
 const uploadDisabled = ref(false)
 const uploadValue = ref(props.modelValue)
-const fileNameVal=ref(props.fileName)
-const api = '/api/blade-resource/oss/endpoint/';
+const fileNameVal = ref(props.fileName)
+const api = '/api/blade-resource/oss/endpoint/'
 
 //监听
 watch(() => [
     props.datas,
     props.modelValue,
-    props.fileName
-  
-], ([datas, val,name]) => {
+    props.fileName,
+
+], ([datas, val, name]) => {
     uploadData.value = datas
     uploadValue.value = val
     // getFileName(val)
@@ -93,12 +96,9 @@ watch(() => [
 
 onMounted(() => {
     // getFileName(props.modelValue)
-  
-    fileNameValue.value=fileNameVal.value
-})
 
-//事件
-const emit = defineEmits(['progress', 'change', 'update:modelValue'])
+    fileNameValue.value = fileNameVal.value
+})
 
 //上传弹窗
 const importModal = ref(false)
@@ -132,10 +132,10 @@ const getFileName = (url) => {
 //上传前
 const beforeUpload = async (file) => {
     if (isFileSize(file?.size, props.size)) {
-        return true;
+        return true
     } else {
-        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!');
-        return false;
+        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!')
+        return false
     }
 }
 
@@ -154,23 +154,23 @@ const uploadprogress = () => {
 }
 
 //上传完成
-const uploadSuccess = ({code, data}) => {
+const uploadSuccess = ({ code, data }) => {
     uploadDisabled.value = false
     emit('progress', false)
     // const pdfUrl = data?.pdfUrl ?? ''
     const pdfUrl = data
     if (code === 200 && pdfUrl) {
         uploadValue.value = pdfUrl
-        window?.$message?.success('上传成功');
+        window?.$message?.success('上传成功')
         importModal.value = false
         // getFileName(pdfUrl)
-        fileNameValue.value=data?.originalName
+        fileNameValue.value = data?.originalName
         //事件
-        emit('update:modelValue',  data?.pdfUrl)
+        emit('update:modelValue', data?.pdfUrl)
         emit('change', data?.pdfUrl)
-       
+
     } else {
-        window?.$message?.error('上传失败');
+        window?.$message?.error('上传失败')
     }
 }
 
@@ -178,7 +178,7 @@ const uploadSuccess = ({code, data}) => {
 const uploadError = () => {
     uploadDisabled.value = false
     emit('progress', false)
-    window?.$message?.error('上传失败');
+    window?.$message?.error('上传失败')
 }
 
 //文件改变时

+ 2 - 5
src/views/tentative/detect/components/HcTreeData.vue

@@ -31,10 +31,7 @@
     </HcContextMenu>
 
     <!-- 新增/编辑 节点 -->
-    <HcDialog
-        :loading="nodeFormLoading" :show="nodeFormModal" :title="`${nodeFormModel.id ? '编辑' : '新增'}节点`"
-        widths="30rem" @close="nodeFormModalClose" @save="nodeFormModalSave"
-    >
+    <hc-new-dialog v-model="nodeFormModal" :loading="nodeFormLoading" :title="`${nodeFormModel.id ? '编辑' : '新增'}节点`" widths="30rem" @close="nodeFormModalClose" @save="nodeFormModalSave">
         <el-form
             ref="nodeFormRef" :model="nodeFormModel" :rules="nodeFormRules" label-position="top" label-width="auto"
             size="large"
@@ -43,7 +40,7 @@
                 <el-input v-model="nodeFormModel.nodeName" placeholder="请输入节点名称" />
             </el-form-item>
         </el-form>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 16 - 23
src/views/tentative/detect/components/ListItem.vue

@@ -111,18 +111,15 @@
     <HcContextMenu ref="contextMenuRef" :datas="tableFormMenu" @item-click="handleMenuSelect" />
 
     <!-- 上传文件 -->
-    <HcDialog :footer="false" :show="uploadModal" title="上传文件" widths="38rem" @close="uploadModal = false">
+    <hc-new-dialog v-model="uploadModal" :footer="false" title="上传文件" widths="38rem">
         <HcUpload
             :base-data="baseData" :contract-id="contractId" :datas="uploadData" :file-list="fileListData"
             :table-type-value="tableTypeValue" @change="uploadChange"
         />
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 插入特殊字符 -->
-    <HcDialog
-        :show="specialModal" save-text="确认插入" title="插入特殊字符" widths="600px" @close="specialModal = false"
-        @save="specialNodeClick"
-    >
+    <hc-new-dialog v-model="specialModal" save-text="确认插入" title="插入特殊字符" widths="600px" @save="specialNodeClick">
         <el-form
             ref="specialFormRef" :model="specialFormModel" :rules="specialFormRules" class="mb-6" label-width="0px"
             size="large"
@@ -141,13 +138,10 @@
                 </div>
             </el-col>
         </el-row>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 引用容器参数 -->
-    <HcDialog
-        :show="vesselModal" is-table save-text="确认引用" title="引用容器参数" widths="84%"
-        @close="vesselModalClose" @save="vesselModalSave"
-    >
+    <hc-new-dialog v-model="vesselModal" is-table save-text="确认引用" title="引用容器参数" widths="84%" @close="vesselModalClose" @save="vesselModalSave">
         <div class="adding-form-dialog-box">
             <div class="dialog-tree-box">
                 <el-scrollbar>
@@ -157,8 +151,9 @@
             <div class="dialog-table-box">
                 <div class="dialog-table">
                     <HcTable
-                        ref="vesselTableRef" :column="vesselTableColumn" :datas="vesselTableData" border
-                        :loading="vesselTableLoading" is-check @selection-change="vesselTableSelection"
+                        ref="vesselTableRef" :column="vesselTableColumn" :datas="vesselTableData" :loading="vesselTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="vesselTableSelection"
                     />
                 </div>
                 <div class="dialog-pages">
@@ -166,13 +161,10 @@
                 </div>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 引用设备仪器 -->
-    <HcDialog
-        :show="deviceModal" is-table save-text="确认引用" title="引用设备仪器" widths="84%"
-        @close="deviceModalClose" @save="deviceModalSave"
-    >
+    <hc-new-dialog v-model="deviceModal" is-table save-text="确认引用" title="引用设备仪器" widths="84%" @close="deviceModalClose" @save="deviceModalSave">
         <!-- <HcTable ref="deviceTableRef" :column="deviceTableColumn" :datas="deviceTableData" :loading="deviceTableLoading" isCheck @selection-change="deviceTableSelection"/> -->
         <div class="adding-form-dialog-box">
             <div class="dialog-tree-box">
@@ -186,8 +178,9 @@
             <div class="dialog-table-box">
                 <div class="dialog-table">
                     <HcTable
-                        ref="deviceTableRef" :column="deviceTableColumn" :datas="deviceTableData" border
-                        :loading="deviceTableLoading" is-check @selection-change="deviceTableSelection"
+                        ref="deviceTableRef" :column="deviceTableColumn" :datas="deviceTableData" :loading="deviceTableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="deviceTableSelection"
                     />
                 </div>
                 <div class="dialog-pages">
@@ -195,7 +188,7 @@
                 </div>
             </div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 
     <!-- 查看表单 -->
     <template v-for="(item, index) in DragModalTableForm">
@@ -220,7 +213,7 @@
     </template>
 
     <!-- 操作提示 -->
-    <HcDialog :footer="false" :show="actionTipModal" title="操作提示" widths="38rem" @close="actionTipModalClose">
+    <hc-new-dialog v-model="actionTipModal" :footer="false" title="操作提示" widths="38rem" @close="actionTipModalClose">
         <div class="data-fill-table-tip-box">
             <div class="text-gray-400 tip-item">
                 1、灰色框代表可通过系统识别计算,公式自动引用,可通过公式计算少量数据,(表头数据及简单),也可只填写白色框数据
@@ -230,7 +223,7 @@
             </div>
             <div class="text-orange-500 tip-item">3、完善资料填写后记得一定要保存哦</div>
         </div>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>

+ 13 - 19
src/views/tentative/detect/outside.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -22,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="tentative_detect_third_add">
                         <el-button :disabled="!thirdTreeKeys" hc-btn type="primary" @click="addFormModalClick">
@@ -84,8 +83,9 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 >
                     <template #status="{ row }">
                         <span>{{ row.status === 1 ? '合格' : row.status === 0 ? '不合格' : '' }}</span>
@@ -94,16 +94,13 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :is-close="false" :show="addEditFormModal" :title="`${formModalTitle} 第三方试验信息`" is-row-footer
-            widths="70rem" @close="addEditFormModalClose"
-        >
+        <hc-new-dialog :is-close="false" :show="addEditFormModal" :title="`${formModalTitle} 第三方试验信息`" is-row-footer widths="70rem" @close="addEditFormModalClose">
             <template #extra>
-                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
             </template>
             <el-form
                 v-if="tabTypeKey === 'tab1'" ref="addEditFormRef" :model="addEditFormModel"
@@ -288,13 +285,10 @@
                     <span>确认</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 选择样品信息 -->
-        <HcDialog
-            :show="linksSampleModal" is-row-footer is-table title="选择样品信息" widths="70%"
-            @close="linksSampleModalClose"
-        >
+        <hc-new-dialog v-model="linksSampleModal" is-row-footer is-table title="选择样品信息" widths="70%" @close="linksSampleModalClose">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -309,7 +303,7 @@
                 </div>
                 <div class="hc-links-sample-table-box">
                     <HcTable
-                        :column="linksSampleTableColumn" :datas="linksSampleTableData" border
+                        :column="linksSampleTableColumn" :datas="linksSampleTableData" is-new
                         :is-index="false" :loading="linksSampleTableLoading"
                     >
                         <template #action="{ row }">
@@ -332,7 +326,7 @@
             <template #rightRowFooter>
                 <HcPages :pages="searchSampleForm" @change="pageSampleChange" />
             </template>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 10 - 19
src/views/tentative/detect/test-form-bak.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-page-box">
-        <HcCard action-ui="text-center">
+        <HcNewCard action-ui="text-center">
             <template #header>
                 <el-button :type="authBtnTabKey === '1' ? 'primary' : ''" hc-btn :disabled="router.currentRoute.value.query?.id && router.currentRoute.value.query?.id.length > 0 || nodeIdvalue.length > 0 || newId.length > 0" @click="authBtnTabClick('1')">
                     <HcIcon name="folder-user" />
@@ -120,13 +120,10 @@
                     <span>返回</span>
                 </el-button>
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 关联工程用途及部位 -->
-        <HcDialog
-            :show="linksRelateModal" is-table save-text="确认关联" title="关联工程用途及部位" widths="50rem"
-            @close="linksRelateModalClose" @save="linksRelateModalSave"
-        >
+        <hc-new-dialog v-model="linksRelateModal" is-table save-text="确认关联" title="关联工程用途及部位" widths="50rem" @close="linksRelateModalClose" @save="linksRelateModalSave">
             <div class="hc-links-relate-tree-box">
                 <div class="hc-search-tree-val">
                     <el-input
@@ -179,13 +176,10 @@
                     </el-scrollbar>
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 关联原材检测报告 -->
-        <HcDialog
-            :show="linksRawModal" is-table save-text="确认关联" title="关联原材检测报告" widths="75rem"
-            @close="linksRawModalClose" @save="linksRawModalSave"
-        >
+        <hc-new-dialog v-model="linksRawModal" is-table save-text="确认关联" title="关联原材检测报告" widths="75rem" @close="linksRawModalClose" @save="linksRawModalSave">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -200,18 +194,15 @@
                 <div class="hc-links-sample-table-box">
                     <HcTable
                         ref="tableRawRef" :column="linksRawTableColumn" :datas="linksRawTableData"
-                        :is-index="false" :loading="linksRawTableLoading" is-check border
+                        :is-index="false" :loading="linksRawTableLoading" is-new is-check :check-style="{ width: 29 }"
                         @selection-change="linksRawTableSelection"
                     />
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 关联取样 -->
-        <HcDialog
-            :show="linksSampleModal" is-table save-text="确认" title="关联取样信息" widths="75rem"
-            @close="linksSampleModalClose" @save="linksSampleModalSave"
-        >
+        <hc-new-dialog v-model="linksSampleModal" is-table save-text="确认" title="关联取样信息" widths="75rem" @close="linksSampleModalClose" @save="linksSampleModalSave">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -225,12 +216,12 @@
                 <div class="hc-links-sample-table-box">
                     <HcTable
                         ref="tableSampleRef" :column="linksSampleTableColumn" :datas="linksSampleTableData"
-                        :is-index="false" :loading="linksSampleTableLoading" is-check border
+                        :is-index="false" :loading="linksSampleTableLoading" is-new is-check :check-style="{ width: 29 }"
                         @selection-change="linksSampleTableSelection"
                     />
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 批量上报审批 -->
         <HcReportModal

+ 15 - 27
src/views/tentative/detect/test-form.vue

@@ -86,16 +86,10 @@
         </HcTabCard>
 
         <!-- 关联工程用途及部位 -->
-        <HcDialog
-            :show="linksRelateModal" is-table save-text="确认关联" title="关联工程用途及部位" widths="50rem"
-            @close="linksRelateModalClose" @save="linksRelateModalSave"
-        >
+        <hc-new-dialog :show="linksRelateModal" is-table save-text="确认关联" title="关联工程用途及部位" widths="50rem" @close="linksRelateModalClose" @save="linksRelateModalSave">
             <div class="hc-links-relate-tree-box">
                 <div class="hc-search-tree-val">
-                    <el-input
-                        v-model="linksRelateSearchTreeVal" block clearable placeholder="请输入名称关键词检索"
-                        size="large" @keyup="searchTreeKeyUp"
-                    >
+                    <el-input v-model="linksRelateSearchTreeVal" block clearable placeholder="请输入名称关键词检索" @keyup="searchTreeKeyUp">
                         <template #suffix>
                             <HcIcon name="search-2" ui="text-xl" @click="searchTreeClick" />
                         </template>
@@ -142,13 +136,10 @@
                     </el-scrollbar>
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 关联原材检测报告 -->
-        <HcDialog
-            :show="linksRawModal" is-table save-text="确认关联" title="关联原材检测报告" widths="75rem"
-            @close="linksRawModalClose" @save="linksRawModalSave"
-        >
+        <hc-new-dialog v-model="linksRawModal" is-table save-text="确认关联" title="关联原材检测报告" widths="75rem" @close="linksRawModalClose" @save="linksRawModalSave">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -163,18 +154,15 @@
                 <div class="hc-links-sample-table-box">
                     <HcTable
                         ref="tableRawRef" :column="linksRawTableColumn" :datas="linksRawTableData"
-                        :is-index="false" :loading="linksRawTableLoading" is-check border
+                        :is-index="false" :loading="linksRawTableLoading" is-new is-check :check-style="{ width: 29 }"
                         @selection-change="linksRawTableSelection"
                     />
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 关联取样 -->
-        <HcDialog
-            :show="linksSampleModal" is-table save-text="确认" title="关联取样信息" widths="75rem"
-            @close="linksSampleModalClose" @save="linksSampleModalSave"
-        >
+        <hc-new-dialog v-model="linksSampleModal" is-table save-text="确认" title="关联取样信息" widths="75rem" @close="linksSampleModalClose" @save="linksSampleModalSave">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -188,12 +176,12 @@
                 <div class="hc-links-sample-table-box">
                     <HcTable
                         ref="tableSampleRef" :column="linksSampleTableColumn" :datas="linksSampleTableData"
-                        :is-index="false" :loading="linksSampleTableLoading" is-check border
+                        :is-index="false" :loading="linksSampleTableLoading" is-new is-check :check-style="{ width: 29 }"
                         @selection-change="linksSampleTableSelection"
                     />
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 批量上报审批 -->
         <HcReportModal
@@ -508,8 +496,8 @@ const changeorinsdate = async (pKeyId, isBussShow, id) => {
             item.isBussShow = isBussShows
         }
     })
-   
-    
+
+
 }
 //复制本表改变原始数据
 const chageorinData = async () => {
@@ -1221,7 +1209,7 @@ const tableFormSaveClick = async () => {
                         isaddType = false
                     }
                 //   await getTableDataAll()
-  
+
                   const ActiveKey = getStoreValue('ActiveKey')
                   const names = ActiveKey ? ActiveKey.split('-') : []
                   let pid = names[2]
@@ -1487,7 +1475,7 @@ const searchNodeAllTable1 = async (newaddId) => {
   console.log('重新获取表单列表')
 
   const { error, code, data } = await dataApi.searchNodeTables({
-           
+
             projectId: projectId.value,
             contractId: contractId.value,
             primaryKeyId: nodeId,
@@ -1502,8 +1490,8 @@ const searchNodeAllTable1 = async (newaddId) => {
         } else {
             newlistdata.value = []
         }
-        
-      
+
+
 }
 </script>
 

+ 8 - 14
src/views/tentative/detect/test.vue

@@ -135,8 +135,8 @@
                 </template>
                 <HcTable
                     ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
-                    border :check-style="{ width: 29, fixed: 'left' }" :index-style="{ width: 60, fixed: 'left' }"
-                    is-check @selection-change="tableSelection"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 >
                     <template #recordNo="{ row }">
                         <span class="text-link" @click="tableRowEdit(row, '1')">{{ row?.recordNo }}</span>
@@ -187,12 +187,9 @@
         </div>
 
         <!-- 查看附件 -->
-        <HcDialog
-            :footer="false" :show="viewAttachmentModal" is-table title="查看附件" widths="70rem"
-            @close="viewAttachmentModalClose"
-        >
+        <hc-new-dialog :footer="false" :show="viewAttachmentModal" is-table title="查看附件" widths="70rem" @close="viewAttachmentModalClose">
             <template #extra>
-                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
             </template>
             <div v-loading="viewAttachmentLoading" class="hc-switch-tab-content">
                 <div class="h-full w-full flex">
@@ -217,18 +214,15 @@
                     </div>
                 </div>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 查看样品信息 -->
-        <HcDialog
-            :footer="false" :show="samplingRecordModal" is-table title="查看样品信息" widths="60%"
-            @close="samplingRecordModalClose"
-        >
+        <hc-new-dialog :footer="false" :show="samplingRecordModal" is-table title="查看样品信息" widths="60%" @close="samplingRecordModalClose">
             <HcTable
                 :column="samplingTableColumn" :datas="samplingTableData" :is-index="false"
-                :loading="samplingTableLoading" border
+                :loading="samplingTableLoading" is-new
             />
-        </HcDialog>
+        </hc-new-dialog>
         <!-- 批量上报审批 -->
         <HcReportModal
 

+ 14 - 17
src/views/tentative/detect/third.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -22,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="tentative_detect_third_add">
                         <el-button :disabled="!thirdTreeKeys" hc-btn type="primary" @click="addFormModalClick">
@@ -84,8 +83,9 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 >
                     <template #status="{ row }">
                         <!-- <span>{{arrKeyValue(categoryData, 'dictKey', 'dictValue', row.detectionCategory)}}</span> -->
@@ -95,16 +95,16 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :is-close="false" :show="addEditFormModal" :title="`${formModalTitle} 外委试验信息`" is-row-footer
+        <hc-new-dialog
+            v-model="addEditFormModal" :is-close="false" :title="`${formModalTitle} 外委试验信息`" is-row-footer
             widths="70rem" @close="addEditFormModalClose"
         >
             <template #extra>
-                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
             </template>
             <el-form
                 v-if="tabTypeKey === 'tab1'" ref="addEditFormRef" :model="addEditFormModel"
@@ -288,13 +288,10 @@
                     <span>确认</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 选择样品信息 -->
-        <HcDialog
-            :show="linksSampleModal" is-row-footer is-table title="选择样品信息" widths="70%"
-            @close="linksSampleModalClose"
-        >
+        <hc-new-dialog v-model="linksSampleModal" is-row-footer is-table title="选择样品信息" widths="70%" @close="linksSampleModalClose">
             <div class="hc-links-sample-modal-box">
                 <div class="hc-links-sample-tree-box">
                     <el-scrollbar>
@@ -310,7 +307,7 @@
                 <div class="hc-links-sample-table-box">
                     <HcTable
                         :column="linksSampleTableColumn" :datas="linksSampleTableData"
-                        :is-index="false" :loading="linksSampleTableLoading" border
+                        :is-index="false" :loading="linksSampleTableLoading" is-new
                     >
                         <template #action="{ row }">
                             <el-button v-if="addEditFormModel.sampleId === row.id" plain size="small" type="primary">
@@ -332,7 +329,7 @@
             <template #rightRowFooter>
                 <HcPages :pages="searchSampleForm" @change="pageSampleChange" />
             </template>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 17 - 15
src/views/tentative/device/approach.vue

@@ -23,7 +23,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <template #header>
                     <HcTooltip keys="tentative_device_approach_add">
                         <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -92,8 +92,9 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 >
                     <template #status="{ row }">
                         {{ row.status === 1 ? '启用中' : '已停用' }}
@@ -105,12 +106,12 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 节点 -->
-        <HcDialog
-            :loading="addEditNodeFormLoading" :show="addEditNodeFormModal" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}分类`"
+        <hc-new-dialog
+            v-model="addEditNodeFormModal" :loading="addEditNodeFormLoading" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}分类`"
             widths="30rem" @close="addEditNodeFormModalClose" @save="addEditNodeFormModalSave"
         >
             <el-form
@@ -121,11 +122,11 @@
                     <el-input v-model="addEditNodeFormModel.className" placeholder="请输入分类名称" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}设备信息`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}设备信息`"
             widths="50rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -223,11 +224,11 @@
                     />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog
-            :loading="importModalLoading" :show="importModal" is-footer-center is-table title="导入设备数据"
+        <hc-new-dialog
+            v-model="importModal" :loading="importModalLoading" is-footer-center is-table title="导入设备数据"
             widths="70rem" @close="importModalClose" @save="importModalYesClick"
         >
             <div class="text-orange mb-6">
@@ -240,8 +241,9 @@
 
             <div class="hc-import-modal-table-box">
                 <HcTable
-                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData" border
-                    :loading="tableImportLoading" is-check @selection-change="tableImportSelection"
+                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData" :loading="tableImportLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableImportSelection"
                 >
                     <template #status="{ row }">
                         {{ row.status === 1 ? '启用中' : '已停用' }}
@@ -251,7 +253,7 @@
                     </template>
                 </HcTable>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 14 - 12
src/views/tentative/device/employ.vue

@@ -13,7 +13,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <template #header>
                     <HcTooltip keys="tentative_device_employ_add">
                         <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -67,18 +67,19 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" title="新增/编辑 设备使用信息" widths="50rem"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" title="新增/编辑 设备使用信息" widths="50rem"
             @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -170,11 +171,11 @@
                     />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog
-            :loading="importModalLoading" :show="importModal" is-footer-center is-table title="导入设备使用数据"
+        <hc-new-dialog
+            v-model="importModal" :loading="importModalLoading" is-table title="导入设备使用数据"
             widths="70rem" @close="importModalClose" @save="importModalYesClick"
         >
             <div class="text-orange mb-6">
@@ -185,8 +186,9 @@
             <HcDragUpload action="use/read-excel" @finished="uploadFinished" @progress="uploadprogress" />
             <div class="hc-import-modal-table-box">
                 <HcTable
-                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData"
-                    :loading="tableImportLoading" is-check @selection-change="tableImportSelection"
+                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData" :loading="tableImportLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableImportSelection"
                 >
                     <template #status="{ row }">
                         {{ row.status == 1 ? '启用中' : '已停用' }}
@@ -196,7 +198,7 @@
                     </template>
                 </HcTable>
             </div>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 15 - 13
src/views/tentative/device/overhaul.vue

@@ -13,7 +13,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <template #header>
                     <HcTooltip keys="tentative_device_overhaul_add">
                         <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -35,7 +35,7 @@
                     </HcTooltip>
                     <HcTooltip keys="tentative_device_overhaul_printer">
                         <el-button
-                            :disabled="tableCheckedKeys.length <= 0" :loading="printerLoading" hc-btn color="#567722" 
+                            :disabled="tableCheckedKeys.length <= 0" :loading="printerLoading" hc-btn color="#567722"
                             @click="printerClick"
                         >
                             <HcIcon name="printer" />
@@ -67,18 +67,19 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" title="新增/编辑 设备检修信息" widths="50rem"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" title="新增/编辑 设备检修信息" widths="50rem"
             @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -141,11 +142,11 @@
                     <el-input v-model="addEditFormModel.remarks" :autosize="{ minRows: 3 }" type="textarea" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog
-            :loading="importModalLoading" :show="importModal" is-footer-center is-table title="导入设备检修数据"
+        <hc-new-dialog
+            v-model="importModal" :loading="importModalLoading" is-table title="导入设备检修数据"
             widths="70rem" @close="importModalClose" @save="importModalYesClick"
         >
             <div class="text-orange mb-6">
@@ -156,11 +157,12 @@
             <HcDragUpload action="overhaul/read-excel" @finished="uploadFinished" @progress="uploadprogress" />
             <div class="hc-import-modal-table-box">
                 <HcTable
-                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData" border
-                    :loading="tableImportLoading" is-check @selection-change="tableImportSelection"
+                    ref="tableImportRef" :column="tableColumn" :datas="tableImportData" :loading="tableImportLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableImportSelection"
                 />
             </div>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 36 - 33
src/views/tentative/laboratory/components/FormItemUpload.vue

@@ -5,21 +5,25 @@
         <div v-if="uploadValue" class="text-hover" @click.stop="previewClick">预览文件</div>
     </div>
 
-    <!--上传-->
-    <HcDialog :loading="uploadDisabled" :show="importModal" saveText="确认上传" title="上传文件" widths="38rem"
-              @close="importModalClose" @save="importModalYesClick">
-        <el-upload ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
-                   :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled" :headers="getTokenHeader()" :limit="1"
-                   :on-change="uploadChange"
-                   :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress"
-                   :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag>
+    <!-- 上传 -->
+    <hc-new-dialog
+        v-model="importModal" :loading="uploadDisabled" save-text="确认上传" title="上传文件" widths="38rem"
+        @close="importModalClose" @save="importModalYesClick"
+    >
+        <el-upload
+            ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
+            :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled" :headers="getTokenHeader()" :limit="1"
+            :on-change="uploadChange"
+            :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress"
+            :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag
+        >
             <div v-loading="uploadDisabled" class="hc-upload-loading upload-file-info" element-loading-text="上传中...">
                 <template v-if="uploadFileInfo?.name">
-                    <HcIcon class="upload-file-icon" name="file-text"/>
+                    <HcIcon class="upload-file-icon" name="file-text" />
                     <div class="upload-file-name">{{ uploadFileInfo?.name }}</div>
                 </template>
                 <template v-else>
-                    <HcIcon class="upload-icon" name="upload-cloud"/>
+                    <HcIcon class="upload-icon" name="upload-cloud" />
                     <div class="el-upload__text">拖动文件到这里 或 <em>点击这里选择文件</em> 并上传</div>
                 </template>
             </div>
@@ -27,42 +31,44 @@
                 <div class="el-upload__tip">允许格式:{{ formatTip }}, 文件大小 小于 {{ size }}MB</div>
             </template>
         </el-upload>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {getTokenHeader} from '~src/api/request/header';
-import {isFileSize} from "js-fast-way"
-import {genFileId} from "element-plus";
+import { onMounted, ref, watch } from 'vue'
+import { getTokenHeader } from '~src/api/request/header'
+import { isFileSize } from 'js-fast-way'
+import { genFileId } from 'element-plus'
 
 const props = defineProps({
     modelValue: {
         type: String,
-        default: ''
+        default: '',
     },
     datas: {
         type: Object,
-        default: () => ({})
+        default: () => ({}),
     },
     action: {
         type: String,
-        default: "upload-file"
+        default: 'upload-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"
+        default: 'image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword',
     },
     size: {
         type: Number,
-        default: 20
+        default: 20,
     },
     formatTip: {
         type: String,
-        default: "png/jpg/jpeg/excel/pdf/doc/docx"
+        default: 'png/jpg/jpeg/excel/pdf/doc/docx',
     },
 })
 
+//事件
+const emit = defineEmits(['progress', 'change', 'update:modelValue'])
 //变量
 const uploadRef = ref(null)
 const uploadData = ref(props.datas)
@@ -70,12 +76,12 @@ const uploadFileInfo = ref({})
 const uploadDisabled = ref(false)
 const uploadValue = ref(props.modelValue)
 
-const api = '/api/blade-resource/oss/endpoint/';
+const api = '/api/blade-resource/oss/endpoint/'
 
 //监听
 watch(() => [
     props.datas,
-    props.modelValue
+    props.modelValue,
 ], ([datas, val]) => {
     uploadData.value = datas
     uploadValue.value = val
@@ -86,9 +92,6 @@ onMounted(() => {
     getFileName(props.modelValue)
 })
 
-//事件
-const emit = defineEmits(['progress', 'change', 'update:modelValue'])
-
 //上传弹窗
 const importModal = ref(false)
 const importModalClick = () => {
@@ -121,10 +124,10 @@ const getFileName = (url) => {
 //上传前
 const beforeUpload = async (file) => {
     if (isFileSize(file?.size, props.size)) {
-        return true;
+        return true
     } else {
-        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!');
-        return false;
+        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!')
+        return false
     }
 }
 
@@ -143,20 +146,20 @@ const uploadprogress = () => {
 }
 
 //上传完成
-const uploadSuccess = ({code, data}) => {
+const uploadSuccess = ({ code, data }) => {
     uploadDisabled.value = false
     emit('progress', false)
     const pdfUrl = data?.pdfUrl ?? ''
     if (code === 200 && pdfUrl) {
         uploadValue.value = pdfUrl
-        window?.$message?.success('上传成功');
+        window?.$message?.success('上传成功')
         importModal.value = false
         getFileName(pdfUrl)
         //事件
         emit('update:modelValue', pdfUrl)
         emit('change', pdfUrl)
     } else {
-        window?.$message?.error('上传失败');
+        window?.$message?.error('上传失败')
     }
 }
 
@@ -164,7 +167,7 @@ const uploadSuccess = ({code, data}) => {
 const uploadError = () => {
     uploadDisabled.value = false
     emit('progress', false)
-    window?.$message?.error('上传失败');
+    window?.$message?.error('上传失败')
 }
 
 //文件改变时

+ 7 - 7
src/views/tentative/laboratory/print.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -27,7 +26,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="tentative_laboratory_print_print">
                         <el-button :loading="printLoading" hc-btn color="#567722" @click="batchPrint()">
@@ -43,13 +42,14 @@
                     </HcTooltip>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
     </div>
 </template>

+ 11 - 13
src/views/tentative/laboratory/user.vue

@@ -1,15 +1,12 @@
 <template>
     <div class="hc-page-box">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <div class="w-72">
-                    <el-input
-                        v-model="searchForm.queryValue" clearable placeholder="请输入人员名称查询"
-                        size="large" @keyup="keyUpEvent"
-                    />
+                    <el-input v-model="searchForm.queryValue" clearable placeholder="请输入人员名称查询" @keyup="keyUpEvent" />
                 </div>
                 <div class="ml-2">
-                    <el-button :disabled="tableData.length < 1" size="large" type="primary" @click="searchClick">
+                    <el-button :disabled="tableData.length < 1" type="primary" @click="searchClick">
                         <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
@@ -36,8 +33,9 @@
                 </HcTooltip>
             </template>
             <HcTable
-                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                border @selection-change="tableSelection"
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
             >
                 <template #sex="{ row }">
                     <span>{{ row.sex === 1 ? '男' : '女' }}</span>
@@ -52,16 +50,16 @@
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :is-close="false" :loading="addEditFormLoading" :show="addEditFormModal"
+        <hc-new-dialog
+            v-model="addEditFormModal" :is-close="false" :loading="addEditFormLoading"
             :title="`${addEditFormModel.id ? '编辑' : '新增'}人员档案`" widths="70rem" @close="addEditFormModalClose"
             @save="addEditFormClick"
         >
             <template #extra>
-                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
             </template>
             <el-form
                 ref="addEditFormRef" :model="addEditFormModel" :rules="addEditFormRules" label-width="auto"
@@ -202,7 +200,7 @@
                     </el-form-item>
                 </template>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 21 - 26
src/views/tentative/material/approach.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-page-box">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <HcTooltip keys="tentative_material_approach_add">
                     <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -72,8 +72,9 @@
                 </div>
             </template>
             <HcTable
-                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                border @selection-change="tableSelection"
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
             >
                 <template #materialType="{ row }">{{ getRowTableMaterialType(row.materialType) }}</template>
                 <template #materialCount="{ row }">{{ row.materialCount === -1 ? "" : row.materialCount }}</template>
@@ -94,11 +95,11 @@
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}材料进场`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}材料进场`"
             widths="45rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -171,14 +172,14 @@
                     <FormItemUpload v-model="addEditFormModel.otherAccessories" :file-name="otherAccessoriesName" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 复制材料登记信息 -->
-        <HcDialog
-            :loading="copyTableLoading" :show="copyTableModal" is-table title="复制材料登记信息" widths="60rem"
+        <hc-new-dialog
+            v-model="copyTableModal" :loading="copyTableLoading" is-table title="复制材料登记信息" widths="60rem"
             @close="copyTableModalClose" @save="copyTableClick"
         >
-            <HcTable :column="copyTableColumn" :datas="copyTableData" border>
+            <HcTable :column="copyTableColumn" :datas="copyTableData" is-new :index-style="{ width: 60 }">
                 <template #materialNumber="{ row }">
                     <el-input
                         v-model="row.materialNumber" :class="row.isMaterialNumber ? 'is-error' : ''"
@@ -189,10 +190,10 @@
                     <el-button plain size="small" type="danger" @click="materialNumberDel(index)">删除</el-button>
                 </template>
             </HcTable>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog :show="importModal" is-row-footer title="导入" widths="38rem" @close="importModalClose">
+        <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="mobilization/import"
                 @finished="uploadFinished" @progress="uploadprogress"
@@ -213,18 +214,15 @@
                     <span>确认导入</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 查看附件 -->
-        <HcDialog
-            :show="viewAttachmentModal" is-table title="查看附件" widths="70rem" is-row-footer
+        <hc-new-dialog
+            v-model="viewAttachmentModal" is-table title="查看附件" widths="70rem" is-row-footer
             @close="viewAttachmentModalClose"
         >
             <template #extra>
-                <HcNewSwitch
-                    :datas="tabTypeTab" :disabled="tableRowPdfDisabled" :keys="tabTypeKey"
-                    @change="tabTypeChange"
-                />
+                <HcNewSwitch :datas="tabTypeTab" :disabled="tableRowPdfDisabled" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
             </template>
             <div class="hc-switch-tab-content">
                 <div class="h-full w-full">
@@ -271,22 +269,19 @@
                     <span>删除</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 取样记录 -->
-        <HcDialog
-            :footer="false" :show="samplingRecordModal" is-table title="取样记录" widths="60%"
-            @close="samplingRecordModalClose"
-        >
+        <hc-new-dialog v-model="samplingRecordModal" :footer="false" is-table title="取样记录" widths="60%" @close="samplingRecordModalClose">
             <HcTable
                 :column="samplingTableColumn" :datas="samplingTableData" :is-index="false"
-                :loading="samplingTableLoading" border
+                :loading="samplingTableLoading" is-new
             >
                 <template #isOutsourcing="{ row }">
                     <span>{{ row.isOutsourcing === 1 ? '是' : '否' }}</span>
                 </template>
             </HcTable>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 40 - 40
src/views/tentative/material/components/FormItemUpload.vue

@@ -5,21 +5,22 @@
         <div v-if="uploadValue" class="text-hover" @click.stop="previewClick">预览文件</div>
     </div>
 
-    <!--上传-->
-    <HcDialog :loading="uploadDisabled" :show="importModal" saveText="确认上传" title="上传文件" widths="38rem"
-              @close="importModalClose" @save="importModalYesClick">
-        <el-upload ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
-                   :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled" :headers="getTokenHeader()" :limit="1"
-                   :on-change="uploadChange"
-                   :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress"
-                   :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag>
+    <!-- 上传 -->
+    <hc-new-dialog v-model="importModal" :loading="uploadDisabled" save-text="确认上传" title="上传文件" widths="38rem" @close="importModalClose" @save="importModalYesClick">
+        <el-upload
+            ref="uploadRef" :accept="accept" :action="api + action" :auto-upload="false"
+            :before-upload="beforeUpload" :data="uploadData" :disabled="uploadDisabled" :headers="getTokenHeader()" :limit="1"
+            :on-change="uploadChange"
+            :on-error="uploadError" :on-exceed="uploadExceed" :on-progress="uploadprogress"
+            :on-success="uploadSuccess" :show-file-list="false" class="hc-upload-border approach" drag
+        >
             <div v-loading="uploadDisabled" class="hc-upload-loading upload-file-info" element-loading-text="上传中...">
                 <template v-if="uploadFileInfo?.name">
-                    <HcIcon class="upload-file-icon" name="file-text"/>
+                    <HcIcon class="upload-file-icon" name="file-text" />
                     <div class="upload-file-name">{{ uploadFileInfo?.name }}</div>
                 </template>
                 <template v-else>
-                    <HcIcon class="upload-icon" name="upload-cloud"/>
+                    <HcIcon class="upload-icon" name="upload-cloud" />
                     <div class="el-upload__text">拖动文件到这里 或 <em>点击这里选择文件</em> 并上传</div>
                 </template>
             </div>
@@ -27,62 +28,64 @@
                 <div class="el-upload__tip">允许格式:{{ formatTip }}, 文件大小 小于 {{ size }}MB</div>
             </template>
         </el-upload>
-    </HcDialog>
+    </hc-new-dialog>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {getTokenHeader} from '~src/api/request/header';
-import {isFileSize} from "js-fast-way"
-import {genFileId} from "element-plus";
+import { onMounted, ref, watch } from 'vue'
+import { getTokenHeader } from '~src/api/request/header'
+import { isFileSize } from 'js-fast-way'
+import { genFileId } from 'element-plus'
 
 const props = defineProps({
     modelValue: {
         type: String,
-        default: ''
+        default: '',
     },
     datas: {
         type: Object,
-        default: () => ({})
+        default: () => ({}),
     },
     action: {
         type: String,
-        default: "upload-file"
+        default: 'upload-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"
+        default: 'image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword',
     },
     size: {
         type: Number,
-        default: 20
+        default: 20,
     },
     formatTip: {
         type: String,
-        default: "png/jpg/jpeg/excel/pdf/doc/docx"
+        default: 'png/jpg/jpeg/excel/pdf/doc/docx',
     },
     fileName:{
         type: String,
-        default: ""
-    }
+        default: '',
+    },
 })
 
+//事件
+const emit = defineEmits(['progress', 'change', 'update:modelValue'])
 //变量
 const uploadRef = ref(null)
 const uploadData = ref(props.datas)
 const uploadFileInfo = ref({})
 const uploadDisabled = ref(false)
 const uploadValue = ref(props.modelValue)
-const fileNameVal=ref(props.fileName)
+const fileNameVal = ref(props.fileName)
 
-const api = '/api/blade-resource/oss/endpoint/';
+const api = '/api/blade-resource/oss/endpoint/'
 
 //监听
 watch(() => [
     props.datas,
     props.modelValue,
-    props.fileName
-], ([datas, val,name]) => {
+    props.fileName,
+], ([datas, val, name]) => {
     uploadData.value = datas
     uploadValue.value = val
     fileNameVal.value = name
@@ -91,12 +94,9 @@ watch(() => [
 })
 
 onMounted(() => {
-    fileNameValue.value=fileNameVal.value
+    fileNameValue.value = fileNameVal.value
 })
 
-//事件
-const emit = defineEmits(['progress', 'change', 'update:modelValue'])
-
 //上传弹窗
 const importModal = ref(false)
 const importModalClick = () => {
@@ -129,10 +129,10 @@ const getFileName = (url) => {
 //上传前
 const beforeUpload = async (file) => {
     if (isFileSize(file?.size, props.size)) {
-        return true;
+        return true
     } else {
-        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!');
-        return false;
+        window?.$message?.warning('文件大小, 不能过' + props.size + 'M!')
+        return false
     }
 }
 
@@ -151,22 +151,22 @@ const uploadprogress = () => {
 }
 
 //上传完成
-const uploadSuccess = ({code, data}) => {
+const uploadSuccess = ({ code, data }) => {
     uploadDisabled.value = false
     emit('progress', false)
     const pdfUrl = data?.pdfUrl ?? ''
     if (code === 200 && pdfUrl) {
         uploadValue.value = pdfUrl
-        window?.$message?.success('上传成功');
+        window?.$message?.success('上传成功')
         importModal.value = false
-        console.log(data,'data');
-        fileNameValue.value=data?.originalName
+        console.log(data, 'data')
+        fileNameValue.value = data?.originalName
         // getFileName(pdfUrl)
         //事件
         emit('update:modelValue', pdfUrl)
         emit('change', pdfUrl)
     } else {
-        window?.$message?.error('上传失败');
+        window?.$message?.error('上传失败')
     }
 }
 
@@ -174,7 +174,7 @@ const uploadSuccess = ({code, data}) => {
 const uploadError = () => {
     uploadDisabled.value = false
     emit('progress', false)
-    window?.$message?.error('上传失败');
+    window?.$message?.error('上传失败')
 }
 
 //文件改变时

+ 19 - 22
src/views/tentative/material/sampling.vue

@@ -1,13 +1,12 @@
 <template>
     <div class="hc-page-layout-box">
-        <div :style="`width:${leftWidth}px;`" class="hc-layout-left-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" />
                 </div>
                 <div class="ml-2 project-name-box">
-                    <span class="text-xl text-cut project-alias">{{ projectInfo.projectAlias }}</span>
-                    <div class="text-xs text-cut project-name">{{ projectInfo.name }}</div>
+                    <span class="project-alias">{{ projectInfo.name }}</span>
                 </div>
             </div>
             <div class="hc-tree-box">
@@ -26,7 +25,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard :scrollbar="false" action-size="lg">
+            <HcNewCard :scrollbar="false" action-size="lg">
                 <template #header>
                     <HcTooltip keys="tentative_material_sampling_add">
                         <el-button :disabled="!primaryKeyId" hc-btn type="primary" @click="addFormModalClick">
@@ -90,8 +89,9 @@
                     </div>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    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 }">
@@ -101,12 +101,12 @@
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}样品信息`" is-row-footer
+        <hc-new-dialog
+            v-model="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}样品信息`" is-row-footer
             widths="50rem" @close="addEditFormModalClose"
         >
             <el-form
@@ -202,16 +202,13 @@
                     <span>确认</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 关联进场材料 -->
-        <HcDialog
-            :show="linksApproachModal" is-row-footer is-table title="关联进场材料信息" widths="60%"
-            @close="linksApproachModalClose"
-        >
+        <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" border
+                :is-index="false" :loading="linksApproachTableLoading" is-new
             >
                 <template #materialType="{ row }">{{ getRowTableMaterialType(row.materialType) }}</template>
                 <template #action="{ row }">
@@ -241,14 +238,14 @@
                     <span>确定</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 复制样品登记信息 -->
-        <HcDialog
-            :loading="copyTableLoading" :show="copyTableModal" is-table title="复制样品登记信息" widths="60rem"
+        <hc-new-dialog
+            v-model="copyTableModal" :loading="copyTableLoading" is-table title="复制样品登记信息" widths="60rem"
             @close="copyTableModalClose" @save="copyTableClick"
         >
-            <HcTable :column="copyTableColumn" :datas="copyTableData" border>
+            <HcTable :column="copyTableColumn" :datas="copyTableData" is-new :index-style="{ width: 60 }">
                 <template #specificationNumber="{ row }">
                     <el-input v-model="row.specificationNumber" placeholder="请输入样品编号" />
                 </template>
@@ -256,10 +253,10 @@
                     <el-button plain size="small" type="danger" @click="specificationNumberDel(index)">删除</el-button>
                 </template>
             </HcTable>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog :show="importModal" is-row-footer title="导入" widths="38rem" @close="importModalClose">
+        <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"
@@ -281,7 +278,7 @@
                     <span>确认导入</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 8 - 7
src/views/tentative/parameter/compactness.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-page-box">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <HcTooltip keys="tentative_parameter_compactness_add">
                     <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -22,17 +22,18 @@
                 </HcTooltip>
             </template>
             <HcTable
-                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                border @selection-change="tableSelection"
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
             />
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}压实度参数`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}压实度参数`"
             widths="30rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -52,7 +53,7 @@
                     <el-input v-model="addEditFormModel.assuranceRateNinetyPercent" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 15 - 17
src/views/tentative/parameter/container.vue

@@ -21,16 +21,13 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <template #header>
                     <div class="w-72">
-                        <el-input
-                            v-model="searchForm.queryValue" clearable placeholder="请输入容器编号查询"
-                            size="large" @keyup="keyUpEvent"
-                        />
+                        <el-input v-model="searchForm.queryValue" clearable placeholder="请输入容器编号查询" @keyup="keyUpEvent" />
                     </div>
                     <div class="ml-2">
-                        <el-button size="large" type="primary" @click="searchClick">
+                        <el-button type="primary" @click="searchClick">
                             <HcIcon name="search-2" />
                             <span>搜索</span>
                         </el-button>
@@ -69,18 +66,19 @@
                     </HcTooltip>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 节点 -->
-        <HcDialog
-            :show="addEditNodeFormModal" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}试验容器`"
+        <hc-new-dialog
+            v-model="addEditNodeFormModal" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}试验容器`"
             is-row-footer widths="30rem" @close="addEditNodeFormModalClose"
         >
             <el-form :model="addEditNodeFormModel" label-position="top" label-width="auto" size="large">
@@ -134,11 +132,11 @@
                     <span>提交</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}数据`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}数据`"
             widths="30rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -159,10 +157,10 @@
                     </el-form-item>
                 </template>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 导入 -->
-        <HcDialog :show="importModal" is-row-footer title="导入" widths="38rem" @close="importModalClose">
+        <hc-new-dialog v-model="importModal" is-row-footer title="导入" widths="38rem" @close="importModalClose">
             <HcDragUpload ref="uploadRef" :datas="uploadData" action="/api/blade-business/container/data/import-excel" @finished="uploadFinished" @progress="uploadprogress" />
             <template #leftRowFooter>
                 <el-button size="large" :loading="downloadLoading" @click="download">
@@ -180,7 +178,7 @@
                     <span>确认导入</span>
                 </el-button>
             </template>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 8 - 7
src/views/tentative/parameter/density.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-page-box">
-        <HcCard>
+        <HcNewCard>
             <template #header>
                 <HcTooltip keys="tentative_parameter_density_add">
                     <el-button hc-btn type="primary" @click="addFormModalClick">
@@ -22,17 +22,18 @@
                 </HcTooltip>
             </template>
             <HcTable
-                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                border @selection-change="tableSelection"
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
             />
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange" />
             </template>
-        </HcCard>
+        </HcNewCard>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}温度信息`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}温度信息`"
             widths="30rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -46,7 +47,7 @@
                     <el-input v-model="addEditFormModel.waterDensity" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 11 - 10
src/views/tentative/parameter/sieve.vue

@@ -21,7 +21,7 @@
             <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
-            <HcCard>
+            <HcNewCard>
                 <!-- <template #header>
                     <div class="w-72">
                         <el-input v-model="searchForm.queryValue" placeholder="请输入容器编号查询" clearable @keyup="keyUpEvent" size="large"/>
@@ -54,18 +54,19 @@
                     </HcTooltip>
                 </template>
                 <HcTable
-                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check
-                    border @selection-change="tableSelection"
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
                 />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 新增/编辑 节点 -->
-        <HcDialog
-            :loading="addEditNodeFormLoading" :show="addEditNodeFormModal" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}类型`"
+        <hc-new-dialog
+            v-model="addEditNodeFormModal" :loading="addEditNodeFormLoading" :title="`${addEditNodeFormModel.id ? '编辑' : '新增'}类型`"
             widths="30rem" @close="addEditNodeFormModalClose" @save="addEditNodeFormModalSave"
         >
             <el-form
@@ -76,11 +77,11 @@
                     <el-input v-model="addEditNodeFormModel.name" placeholder="请输入类型名称" />
                 </el-form-item>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
 
         <!-- 新增/编辑 -->
-        <HcDialog
-            :loading="addEditFormLoading" :show="addEditFormModal" :title="`${addEditFormModel.id ? '编辑' : '新增'}筛孔尺寸信息`"
+        <hc-new-dialog
+            v-model="addEditFormModal" :loading="addEditFormLoading" :title="`${addEditFormModel.id ? '编辑' : '新增'}筛孔尺寸信息`"
             widths="45rem" @close="addEditFormModalClose" @save="addEditFormClick"
         >
             <el-form
@@ -120,7 +121,7 @@
                     </el-form-item>
                 </div>
             </el-form>
-        </HcDialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 14 - 13
src/views/user/index.vue

@@ -23,7 +23,7 @@
             </div>
         </div>
         <div class="hc-layout-content-box">
-            <HcCard
+            <HcNewCard
                 v-if="menuKey !== 'log' && menuKey !== 'recycle'" :title="menuItem.label" :ui="basicHight ? 'basic-hight' : ''"
                 scrollbar
             >
@@ -131,7 +131,7 @@
                         </el-sub-menu>
                     </el-menu>
                 </template>
-            </HcCard>
+            </HcNewCard>
             <div v-if="basicFormEdit" class="hc-card-foot-box">
                 <el-button :loading="saveUserLoading" hc-btn type="primary" @click="saveUserInfoClick">
                     <HcIcon name="save" />
@@ -142,7 +142,7 @@
                     <span>取消</span>
                 </el-button>
             </div>
-            <HcCard v-if="menuKey === 'log'" :title="menuItem.label">
+            <HcNewCard v-if="menuKey === 'log'" :title="menuItem.label">
                 <template #search>
                     <div class="flex items-center">
                         <div class="w-32">
@@ -208,7 +208,7 @@
                         </div>
                     </div>
                 </template>
-                <HcTable :column="logTableColumn" :datas="logTableData" :loading="logTableLoading" border>
+                <HcTable :column="logTableColumn" :datas="logTableData" :loading="logTableLoading" is-new :index-style="{ width: 60 }">
                     <template #operationContent="{ row }">
                         <div class="text-link text-cut" @click="tableOperationContent(row)">
                             {{ row?.operationContent }}
@@ -218,18 +218,19 @@
                 <template #action>
                     <HcPages :pages="searchLogForm" @change="pageLogChange" />
                 </template>
-            </HcCard>
-            <HcCard v-if="menuKey === 'recycle'" action-size="lg">
+            </HcNewCard>
+            <HcNewCard v-if="menuKey === 'recycle'" action-size="lg">
                 <template #header>
                     <div class="mr-5">{{ menuItem.label }}</div>
-                    <HcNewSwitch :datas="userTypeTab" :keys="userTypeKey" @change="userTypeChange" />
+                    <HcNewSwitch :datas="userTypeTab" :keys="userTypeKey" size="default" @change="userTypeChange" />
                 </template>
                 <template #extra>
-                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange" />
+                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" size="default" @change="tabTypeChange" />
                 </template>
                 <HcTable
-                    ref="recycleTableRef" :column="recycleTableColumn" :datas="recycleTableData" border
-                    :loading="recycleTableLoading" is-check @selection-change="recycleTableSelectionChange"
+                    ref="recycleTableRef" :column="recycleTableColumn" :datas="recycleTableData" :loading="recycleTableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="recycleTableSelectionChange"
                 />
                 <template #action>
                     <div class="foot-recycle">
@@ -243,14 +244,14 @@
                         <HcPages :pages="searchRecycleForm" @change="pageRecycleChange" />
                     </div>
                 </template>
-            </HcCard>
+            </HcNewCard>
         </div>
 
         <!-- 日志内容 -->
-        <el-dialog v-model="operationContentModal" class="hc-modal-border" title="日志内容" width="38rem">
+        <hc-new-dialog v-model="operationContentModal" title="日志内容" widths="38rem">
             <!-- {{ operationContent }} -->
             <div v-html="saveData" />
-        </el-dialog>
+        </hc-new-dialog>
     </div>
 </template>
 

+ 144 - 147
yarn.lock

@@ -12,10 +12,10 @@
   resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz"
   integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
 
-"@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
-  version "7.21.8"
-  resolved "http://47.110.251.215:9000/@babel/parser/-/parser-7.21.8.tgz"
-  integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==
+"@babel/parser@^7.23.0":
+  version "7.23.0"
+  resolved "http://47.110.251.215:9000/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
+  integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
 
 "@ctrl/tinycolor@^3.4.1":
   version "3.6.0"
@@ -164,10 +164,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.51.0":
-  version "8.51.0"
-  resolved "http://47.110.251.215:9000/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa"
-  integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==
+"@eslint/js@8.52.0":
+  version "8.52.0"
+  resolved "http://47.110.251.215:9000/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c"
+  integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==
 
 "@floating-ui/core@^1.2.6":
   version "1.2.6"
@@ -181,12 +181,12 @@
   dependencies:
     "@floating-ui/core" "^1.2.6"
 
-"@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==
+"@humanwhocodes/config-array@^0.11.13":
+  version "0.11.13"
+  resolved "http://47.110.251.215:9000/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297"
+  integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==
   dependencies:
-    "@humanwhocodes/object-schema" "^1.2.1"
+    "@humanwhocodes/object-schema" "^2.0.1"
     debug "^4.1.1"
     minimatch "^3.0.5"
 
@@ -195,10 +195,10 @@
   resolved "http://47.110.251.215:9000/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
   integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
 
-"@humanwhocodes/object-schema@^1.2.1":
-  version "1.2.1"
-  resolved "http://47.110.251.215:9000/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
-  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@humanwhocodes/object-schema@^2.0.1":
+  version "2.0.1"
+  resolved "http://47.110.251.215:9000/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044"
+  integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==
 
 "@jridgewell/gen-mapping@^0.3.2":
   version "0.3.3"
@@ -224,9 +224,9 @@
   resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
   integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
 
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.15":
   version "1.4.15"
-  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
+  resolved "http://47.110.251.215:9000/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
   integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
 
 "@jridgewell/trace-mapping@^0.3.9":
@@ -285,105 +285,110 @@
   resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz"
   integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==
 
+"@ungap/structured-clone@^1.2.0":
+  version "1.2.0"
+  resolved "http://47.110.251.215:9000/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
+  integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
+
 "@vitejs/plugin-vue@^4.4.0":
   version "4.4.0"
   resolved "http://47.110.251.215:9000/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz#8ae96573236cdb12de6850a6d929b5537ec85390"
   integrity sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==
 
-"@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"
-  integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
+"@vue/compiler-core@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/compiler-core/-/compiler-core-3.3.7.tgz#865a5734c971686d9737d85a0c5a08de045b6162"
+  integrity sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==
   dependencies:
-    "@babel/parser" "^7.21.3"
-    "@vue/shared" "3.3.4"
+    "@babel/parser" "^7.23.0"
+    "@vue/shared" "3.3.7"
     estree-walker "^2.0.2"
     source-map-js "^1.0.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"
-  integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
-  dependencies:
-    "@vue/compiler-core" "3.3.4"
-    "@vue/shared" "3.3.4"
-
-"@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"
-  integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
-  dependencies:
-    "@babel/parser" "^7.20.15"
-    "@vue/compiler-core" "3.3.4"
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/compiler-ssr" "3.3.4"
-    "@vue/reactivity-transform" "3.3.4"
-    "@vue/shared" "3.3.4"
+"@vue/compiler-dom@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz#a245aa03f9bfcdb537a239bf02842072de0644c9"
+  integrity sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==
+  dependencies:
+    "@vue/compiler-core" "3.3.7"
+    "@vue/shared" "3.3.7"
+
+"@vue/compiler-sfc@3.3.7", "@vue/compiler-sfc@^3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz#219d04b3013c7b15fbc536e2279e07810b731cc2"
+  integrity sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==
+  dependencies:
+    "@babel/parser" "^7.23.0"
+    "@vue/compiler-core" "3.3.7"
+    "@vue/compiler-dom" "3.3.7"
+    "@vue/compiler-ssr" "3.3.7"
+    "@vue/reactivity-transform" "3.3.7"
+    "@vue/shared" "3.3.7"
     estree-walker "^2.0.2"
-    magic-string "^0.30.0"
-    postcss "^8.1.10"
+    magic-string "^0.30.5"
+    postcss "^8.4.31"
     source-map-js "^1.0.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"
-  integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
+"@vue/compiler-ssr@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz#eff4a70f7ceb800d60e68d208b96a030c0f1b636"
+  integrity sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==
   dependencies:
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/shared" "3.3.4"
+    "@vue/compiler-dom" "3.3.7"
+    "@vue/shared" "3.3.7"
 
 "@vue/devtools-api@^6.5.0":
   version "6.5.0"
   resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
   integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
 
-"@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"
-  integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
+"@vue/reactivity-transform@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz#eb9f5110af5085079b851d162205394bc790d539"
+  integrity sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==
   dependencies:
-    "@babel/parser" "^7.20.15"
-    "@vue/compiler-core" "3.3.4"
-    "@vue/shared" "3.3.4"
+    "@babel/parser" "^7.23.0"
+    "@vue/compiler-core" "3.3.7"
+    "@vue/shared" "3.3.7"
     estree-walker "^2.0.2"
-    magic-string "^0.30.0"
+    magic-string "^0.30.5"
 
-"@vue/reactivity@3.3.4":
-  version "3.3.4"
-  resolved "http://47.110.251.215:9000/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
-  integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
+"@vue/reactivity@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/reactivity/-/reactivity-3.3.7.tgz#48b6671a45ba33039da2c0eb25ae702f924486a9"
+  integrity sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==
   dependencies:
-    "@vue/shared" "3.3.4"
+    "@vue/shared" "3.3.7"
 
-"@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"
-  integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
+"@vue/runtime-core@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/runtime-core/-/runtime-core-3.3.7.tgz#c1eece1c98f936dc69dd0667d11b464579b128fd"
+  integrity sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==
   dependencies:
-    "@vue/reactivity" "3.3.4"
-    "@vue/shared" "3.3.4"
+    "@vue/reactivity" "3.3.7"
+    "@vue/shared" "3.3.7"
 
-"@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"
-  integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
+"@vue/runtime-dom@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz#e7cf88cc01591fdf6e3164825554fdadc3137ffc"
+  integrity sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==
   dependencies:
-    "@vue/runtime-core" "3.3.4"
-    "@vue/shared" "3.3.4"
-    csstype "^3.1.1"
+    "@vue/runtime-core" "3.3.7"
+    "@vue/shared" "3.3.7"
+    csstype "^3.1.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"
-  integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
+"@vue/server-renderer@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/server-renderer/-/server-renderer-3.3.7.tgz#0cc3dc6ad39a54693e6e8f853caa3c7bb43b0364"
+  integrity sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==
   dependencies:
-    "@vue/compiler-ssr" "3.3.4"
-    "@vue/shared" "3.3.4"
+    "@vue/compiler-ssr" "3.3.7"
+    "@vue/shared" "3.3.7"
 
-"@vue/shared@3.3.4":
-  version "3.3.4"
-  resolved "http://47.110.251.215:9000/@vue/shared/-/shared-3.3.4.tgz"
-  integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
+"@vue/shared@3.3.7":
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/@vue/shared/-/shared-3.3.7.tgz#0091852fe5cc4237c8440fe32f3ab6bc920ae6d9"
+  integrity sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==
 
 "@vueuse/core@^9.1.0":
   version "9.13.0"
@@ -714,10 +719,10 @@ cross-spawn@^7.0.2:
     shebang-command "^2.0.0"
     which "^2.0.1"
 
-crypto-js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
-  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
+crypto-js@^4.2.0:
+  version "4.2.0"
+  resolved "http://47.110.251.215:9000/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631"
+  integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
 
 css-declaration-sorter@^6.3.1:
   version "6.4.0"
@@ -823,9 +828,9 @@ csso@^5.0.5:
   dependencies:
     css-tree "~2.2.0"
 
-csstype@^3.1.1:
+csstype@^3.1.2:
   version "3.1.2"
-  resolved "http://47.110.251.215:9000/csstype/-/csstype-3.1.2.tgz"
+  resolved "http://47.110.251.215:9000/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
   integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
 
 dayjs@^1.11.10:
@@ -984,10 +989,10 @@ escape-string-regexp@^4.0.0:
   resolved "http://47.110.251.215:9000/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
   integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
 
-eslint-plugin-vue@^9.17.0:
-  version "9.17.0"
-  resolved "http://47.110.251.215:9000/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz#4501547373f246547083482838b4c8f4b28e5932"
-  integrity sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==
+eslint-plugin-vue@^9.18.0:
+  version "9.18.0"
+  resolved "http://47.110.251.215:9000/eslint-plugin-vue/-/eslint-plugin-vue-9.18.0.tgz#2a2dbb3c67317e8c11ab56cafaa15a3a7eac6282"
+  integrity sha512-yUM8a2OD/7Qs0PiugkRaxgz5KBRvzMvWShity2UvVFAN0yk8029mGpTdg/TNARPiYzp335mEwDHwcAR8tQNe4g==
   dependencies:
     "@eslint-community/eslint-utils" "^4.4.0"
     natural-compare "^1.4.0"
@@ -1023,18 +1028,19 @@ 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.51.0:
-  version "8.51.0"
-  resolved "http://47.110.251.215:9000/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
-  integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
+eslint@^8.52.0:
+  version "8.52.0"
+  resolved "http://47.110.251.215:9000/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc"
+  integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.2"
-    "@eslint/js" "8.51.0"
-    "@humanwhocodes/config-array" "^0.11.11"
+    "@eslint/js" "8.52.0"
+    "@humanwhocodes/config-array" "^0.11.13"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
+    "@ungap/structured-clone" "^1.2.0"
     ajv "^6.12.4"
     chalk "^4.0.0"
     cross-spawn "^7.0.2"
@@ -1123,10 +1129,10 @@ fast-fifo@^1.1.0, fast-fifo@^1.2.0:
   resolved "http://47.110.251.215:9000/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c"
   integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==
 
-fast-glob@^3.2.12:
-  version "3.2.12"
-  resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz"
-  integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+fast-glob@^3.3.0:
+  version "3.3.1"
+  resolved "http://47.110.251.215:9000/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
+  integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
   dependencies:
     "@nodelib/fs.stat" "^2.0.2"
     "@nodelib/fs.walk" "^1.2.3"
@@ -1298,10 +1304,10 @@ has@^1.0.3:
   dependencies:
     function-bind "^1.1.1"
 
-hc-vue3-ui@^2.1.6:
-  version "2.1.6"
-  resolved "http://47.110.251.215:9000/hc-vue3-ui/-/hc-vue3-ui-2.1.6.tgz#b57332e10b4544b61fd22f28dd5a42b90ab4c48a"
-  integrity sha512-aM1nOBVOFDooEwfRlKXlSjKXSwtFAjhtNjTALk7Ew9BSB+WYVxzpLq4ibzii6mqVg3LtrcK/E8AdbnPI96w1FA==
+hc-vue3-ui@^2.3.4:
+  version "2.3.4"
+  resolved "http://47.110.251.215:9000/hc-vue3-ui/-/hc-vue3-ui-2.3.4.tgz#67fe7e125176bbd6031fca55b8ab2d64ca30215e"
+  integrity sha512-6zNLI0alZuJ3HBtkWzB79S5fIUVhVGcM2vnw6d48PZt8GvqBA6yZsAoLTseNza9vHbVeI8Jj3MzKb7TdQpQCrA==
   dependencies:
     axios "^1.5.1"
     dayjs "^1.11.10"
@@ -1311,7 +1317,7 @@ hc-vue3-ui@^2.1.6:
     lottie-web "^5.12.2"
     simple-uploader.js "^0.6.0"
     sortablejs "^1.15.0"
-    vue "3.3.4"
+    vue "3.3.7"
     vuedraggable "^2.24.3"
 
 html2canvas@1.4.1:
@@ -1404,10 +1410,10 @@ isexe@^2.0.0:
   resolved "http://47.110.251.215:9000/isexe/-/isexe-2.0.0.tgz"
   integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
 
-jiti@^1.18.2:
-  version "1.18.2"
-  resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz"
-  integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==
+jiti@^1.19.1:
+  version "1.20.0"
+  resolved "http://47.110.251.215:9000/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42"
+  integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==
 
 js-base64@^3.7.5:
   version "3.7.5"
@@ -1522,12 +1528,12 @@ lru-cache@^6.0.0:
   dependencies:
     yallist "^4.0.0"
 
-magic-string@^0.30.0:
-  version "0.30.0"
-  resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz"
-  integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==
+magic-string@^0.30.5:
+  version "0.30.5"
+  resolved "http://47.110.251.215:9000/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
+  integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
   dependencies:
-    "@jridgewell/sourcemap-codec" "^1.4.13"
+    "@jridgewell/sourcemap-codec" "^1.4.15"
 
 mdn-data@2.0.28:
   version "2.0.28"
@@ -1985,15 +1991,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
   resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
   integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
 
-postcss@^8.1.10:
-  version "8.4.22"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz"
-  integrity sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==
-  dependencies:
-    nanoid "^3.3.6"
-    picocolors "^1.0.0"
-    source-map-js "^1.0.2"
-
 postcss@^8.4.23:
   version "8.4.23"
   resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz"
@@ -2281,20 +2278,20 @@ svgo@^3.0.2:
     csso "^5.0.5"
     picocolors "^1.0.0"
 
-tailwindcss@3.3.3:
-  version "3.3.3"
-  resolved "http://47.110.251.215:9000/tailwindcss/-/tailwindcss-3.3.3.tgz"
-  integrity sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==
+tailwindcss@3.3.4:
+  version "3.3.4"
+  resolved "http://47.110.251.215:9000/tailwindcss/-/tailwindcss-3.3.4.tgz#f08c493ff3ddf03081c40e780e98f129e1c8214d"
+  integrity sha512-JXZNOkggUAc9T5E7nCrimoXHcSf9h3NWFe5sh36CGD/3M5TRLuQeFnQoDsit2uVTqgoOZHLx5rTykLUu16vsMQ==
   dependencies:
     "@alloc/quick-lru" "^5.2.0"
     arg "^5.0.2"
     chokidar "^3.5.3"
     didyoumean "^1.2.2"
     dlv "^1.1.3"
-    fast-glob "^3.2.12"
+    fast-glob "^3.3.0"
     glob-parent "^6.0.2"
     is-glob "^4.0.3"
-    jiti "^1.18.2"
+    jiti "^1.19.1"
     lilconfig "^2.1.0"
     micromatch "^4.0.5"
     normalize-path "^3.0.0"
@@ -2441,16 +2438,16 @@ vue-router@^4.2.5:
   dependencies:
     "@vue/devtools-api" "^6.5.0"
 
-vue@3.3.4:
-  version "3.3.4"
-  resolved "http://47.110.251.215:9000/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
-  integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
-  dependencies:
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/compiler-sfc" "3.3.4"
-    "@vue/runtime-dom" "3.3.4"
-    "@vue/server-renderer" "3.3.4"
-    "@vue/shared" "3.3.4"
+vue@3.3.7:
+  version "3.3.7"
+  resolved "http://47.110.251.215:9000/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0"
+  integrity sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==
+  dependencies:
+    "@vue/compiler-dom" "3.3.7"
+    "@vue/compiler-sfc" "3.3.7"
+    "@vue/runtime-dom" "3.3.7"
+    "@vue/server-renderer" "3.3.7"
+    "@vue/shared" "3.3.7"
 
 vuedraggable@^2.24.3:
   version "2.24.3"