iZaiZaiA 2 years ago
parent
commit
6cec856e90

+ 9 - 11
src/components/imgPreview/index.vue

@@ -14,33 +14,31 @@
             <div class="preview-tools-box">
                 <div class="preview-tools-flex">
                     <div v-if="srcs.length > 0" :class="isThumb?'cur':''" class="preview-tools-item" @click="thumbClick">
-                        <HcIcon name="art_track"/>
+                        thumb
                     </div>
                     <div class="preview-tools-item" @click="leftRotationClick">
-                        <HcIcon name="rotate_90_degrees_ccw"/>
+                        <HcIcon name="anticlockwise"/>
                     </div>
                     <div class="preview-tools-item" @click="rightRotationClick">
-                        <HcIcon name="rotate_90_degrees_cw"/>
+                        <HcIcon name="clockwise"/>
                     </div>
                     <div class="preview-tools-item" @click="enlargeClick">
-                        <HcIcon name="add_circle"/>
+                        <HcIcon name="zoom-in"/>
                     </div>
                     <div class="preview-tools-item" @click="shrinkClick">
-                        <HcIcon name="do_not_disturb_on"/>
+                        <HcIcon name="zoom-out"/>
                     </div>
-
                     <div class="preview-tools-item" @click="scaleClick">
-                        <HcIcon name="looks_one"/>
+                        <HcIcon name="merge-cells-horizontal" :line="false"/>
                     </div>
-
                     <div v-if="srcs.length > 0" class="preview-tools-item" @click="topClick">
-                        <HcIcon name="arrow_back"/>
+                        back
                     </div>
                     <div v-if="srcs.length > 0" class="preview-tools-item" @click="nextClick">
-                        <HcIcon name="arrow_forward"/>
+                        arrow
                     </div>
                     <div v-if="enlarge" class="preview-tools-item">
-                        <i class="_icon_enlarge"/>
+                        enlarge
                     </div>
 
                     <div v-for="item in tools" class="preview-tools-item" @click="toolsClick(item)">

+ 9 - 3
src/global/components/hc-icon/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <span class="material-symbols-rounded" :class="[isFill?'fill':'', classVal]">{{nameVal}}</span>
+    <i class="hc-icon-i" :class="[`ri-${nameVal}${isFill ? '-fill' : line ? '-line' : ''}`, hui]"></i>
 </template>
 
 <script setup>
@@ -9,18 +9,24 @@ const props = defineProps({
         type: String,
         default: ''
     },
+    //图标名
     name: {
         type: [String,Number],
         default: ''
     },
+    //是否填充
     fill: {
         type: Boolean,
         default: false
     },
+    line: {
+        type: Boolean,
+        default: true
+    },
 })
 
 //初始变量
-const classVal = ref(props.ui)
+const hui = ref(props.ui)
 const nameVal = ref(props.name)
 const isFill = ref(props.fill)
 
@@ -30,7 +36,7 @@ watch(() => [
     props.name,
     props.fill,
 ], ([ui,name,fill]) => {
-    classVal.value = ui;
+    hui.value = ui;
     nameVal.value = name;
     isFill.value = fill;
 })

+ 1 - 1
src/global/components/hc-menu-simple/index.vue

@@ -68,7 +68,7 @@ const MenuClick = (item) => {
             border-radius: 5px;
             background-color: var(--el-color-primary-light-8);
             color: var(--el-color-primary-light-5);
-            font-size: 18px;
+            font-size: 16px;
             display: flex;
             align-items: center;
             justify-content: center;

+ 5 - 1
src/global/components/hc-table/index.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="hc-table-ref-box" :class="ui">
-        <el-table ref="tableRef" hc :data="tableData" height="100%" :loading="isLoading" stripe @selection-change="tableSelectionChange"
+        <el-table ref="tableRef" hc :data="tableData" height="100%" :loading="isLoading" stripe :row-key="rowKey" @selection-change="tableSelectionChange"
                   @row-click="tableRowClick" @row-dblclick="tableRowDblClick" @row-contextmenu="tableRowContextmenu"
                   @cell-click="tableCellClick" @cell-dblclick="tableCellDblClick" @cell-contextmenu="tableCellContextmenu">
             <el-table-column type="selection" width="50" v-if="isCheck"/>
@@ -43,6 +43,10 @@ const props = defineProps({
         type: Boolean,
         default: true
     },
+    rowKey: {
+        type: String,
+        default: 'id'
+    },
 })
 
 //初始变量

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

@@ -4,7 +4,7 @@
             <div class="tag-user-list" @click="showModalClick">
                 <template v-for="(item,index) in UserDataList" :key="index">
                     <el-tag>{{setCheckboxUserName(item)}}</el-tag>
-                    <HcIcon name="navigate_next" ui="arrow-icon-tag" v-if="(UserDataList.length - 1) > index"/>
+                    <HcIcon name="arrow-right" ui="arrow-icon-tag" v-if="(UserDataList.length - 1) > index"/>
                 </template>
                 <div class="tasks-placeholder" v-if="UserDataList.length <= 0"> 点击这里选择任务人 </div>
             </div>
@@ -77,10 +77,10 @@
                         <div class="title-box">{{setCheckboxUserName(element)}}</div>
                         <div class="icon-box">
                             <span class="icon" @click="downSortClick(index)">
-                                <HcIcon name="south" ui="text-lg"/>
+                                <HcIcon name="arrow-down" ui="text-lg"/>
                             </span>
                             <span class="icon" @click="upSortClick(index)">
-                                <HcIcon name="north" ui="text-lg"/>
+                                <HcIcon name="arrow-up" ui="text-lg"/>
                             </span>
                         </div>
                     </div>
@@ -98,7 +98,7 @@
 
 <script setup>
 import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store/index";
+import {useAppStore} from "~src/store";
 import tasksFlowApi from '~api/tasks/flow';
 import {getArrValue} from "vue-utils-plus"
 import Draggable from "vuedraggable";

+ 2 - 2
src/layout/index.vue

@@ -15,10 +15,10 @@
             </div>
             <div class="hc-aside-bar-box">
                 <div :class="isCollapse?'':'active'" @click="collapseChange(false)">
-                    <HcIcon name="width_normal"/>
+                    <HcIcon name="menu-unfold"/>
                 </div>
                 <div :class="isCollapse?'active':''" @click="collapseChange(true)" v-show="!isCollapse">
-                    <HcIcon name="width_full"/>
+                    <HcIcon name="menu-fold"/>
                 </div>
             </div>
         </el-aside>

+ 1 - 1
src/layout/layout.scss

@@ -75,7 +75,7 @@
                 display: flex;
                 justify-content: center;
                 align-items: center;
-                font-size: 30px;
+                font-size: 26px;
                 &.active {
                     border-radius: 6px;
                     background: var(--el-color-primary);

+ 1 - 1
src/layout/modules/HelpInfoBar.vue

@@ -2,7 +2,7 @@
     <el-popover placement="bottom" :width="220" trigger="hover">
         <template #reference>
             <div class="header-icon-bar">
-                <HcIcon name="help" class="header-icon"/>
+                <HcIcon name="question" class="header-icon"/>
             </div>
         </template>
         <div class="header-pover-menu-list">

+ 6 - 6
src/layout/modules/MenuBar.vue

@@ -2,7 +2,7 @@
     <el-menu class="hc-aside-menu" :default-active="curKey" :collapse="isCollapse" unique-opened>
         <el-menu-item index="home-index" @click="MenuClick({code: 'home-index'})">
             <div class="hc-aside-menu-item">
-                <HcIcon name="home" class="hc-menu-icon" :ui="curKey === 'home-index'?'fill':''"/>
+                <HcIcon name="home-3" :fill="curKey === 'home-index'" class="hc-menu-icon"/>
                 <div class="name">首页</div>
             </div>
         </el-menu-item>
@@ -98,10 +98,10 @@ const MenuClick = (item) => {
     .el-sub-menu .el-icon {
         display: none;
     }
-    .el-sub-menu .el-icon.material-symbols-rounded {
+    .el-sub-menu .el-icon.hc-icon-i {
         position: relative;
         display: inline-block;
-        font-size: 38px;
+        font-size: 16px;
         right: 10px;
         top: initial;
         height: initial;
@@ -193,7 +193,7 @@ const MenuClick = (item) => {
             }
         }
     }
-    .el-sub-menu .el-icon.material-symbols-rounded {
+    .el-sub-menu .el-icon.hc-icon-i {
         display: none;
     }
     .el-menu-item + .el-menu-item,
@@ -263,10 +263,10 @@ const MenuClick = (item) => {
     .el-sub-menu .el-icon {
         display: none;
     }
-    .el-sub-menu .el-icon.material-symbols-rounded {
+    .el-sub-menu .el-icon.hc-icon-i {
         position: relative;
         display: inline-block;
-        font-size: 38px;
+        font-size: 16px;
         right: 10px;
         top: initial;
         height: initial;

+ 3 - 3
src/layout/modules/MenuItem.vue

@@ -4,18 +4,18 @@
             <template #title>
                 <div class="hc-aside-menu-item">
                     <!-- v-if="item?.source"-->
-                    <HcIcon name="home" class="hc-menu-icon" :ui="curKey === item?.code?'fill':''"/>
+                    <HcIcon name="home-3" :fill="curKey === item?.code" class="hc-menu-icon"/>
                     <div class="name truncate" v-if="isCollapse">{{ item?.name.substring(0,2) }}</div>
                     <div class="name truncate" v-else>{{ item?.name }}</div>
                     <el-badge :value="20" v-if="item?.code === 'tasks'"/>
                 </div>
-                <HcIcon name="arrow_drop_down" ui="el-icon el-sub-menu__icon-arrow"/>
+                <HcIcon name="arrow-down-s" ui="el-icon el-sub-menu__icon-arrow"/>
             </template>
             <MenuItem :datas="item?.children" :cur="curKey" @change="MenuClick"/>
         </el-sub-menu>
         <el-menu-item :index="item?.code" v-else @click="MenuClick(item)">
             <div class="hc-aside-menu-item">
-                <HcIcon name="home" class="hc-menu-icon" :ui="curKey === item?.key?'fill':''" v-if="item?.icon"/>
+                <HcIcon name="home-3" :fill="curKey === item?.key" class="hc-menu-icon" v-if="item?.icon"/>
                 <div class="name truncate" v-if="isCollapse">{{ item?.name.substring(0,2) }}</div>
                 <div class="name truncate" v-else>{{ item?.name }}</div>
                 <el-badge :value="12" v-if="item?.code === 'tasks-data' || item?.code === 'message-data'"/>

+ 7 - 6
src/layout/modules/UserInfoBar.vue

@@ -3,7 +3,7 @@
         <div class="header-bar user-info-bar">
             <img class="user-avatar" :src="userInfo['avatar'] || avatarPng" :alt="userInfo['account']">
             <span class="user-name">{{userInfo['real_name']}}</span>
-            <HcIcon name="arrow_drop_down" ui="arrow-icon"/>
+            <HcIcon name="arrow-down-s" ui="arrow-icon"/>
         </div>
         <template #dropdown>
             <el-dropdown-menu>
@@ -21,7 +21,7 @@
 <script setup>
 import {onMounted, ref, watch} from "vue";
 import {useRouter} from 'vue-router'
-import {useAppStore} from "~src/store/index";
+import {useAppStore} from "~src/store";
 import {getStore} from "~src/utils/lib/storage";
 import {calcDate} from "~src/utils/lib/date";
 import {validatenull} from "~src/utils/lib/validate";
@@ -68,12 +68,12 @@ const options = [
     {
         key: "my",
         label: "个人中心",
-        icon: 'person'
+        icon: 'user-3'
     },
     {
         key: "logout",
         label: "退出登录",
-        icon: 'logout'
+        icon: 'login-box'
     }
 ];
 
@@ -109,7 +109,8 @@ const handleSelect = async (key) => {
         color: #202532;
     }
     .arrow-icon {
-        font-size: 30px;
+        margin-left: 5px;
+        font-size: 20px;
         color: #202532;
     }
     &::before {
@@ -139,7 +140,7 @@ const handleSelect = async (key) => {
     display: flex;
     align-items: center;
     .icon {
-        font-size: 20px;
+        font-size: 14px;
         margin-right: 8px;
     }
 }

+ 0 - 1
src/main.js

@@ -14,7 +14,6 @@ import 'element-plus/theme-chalk/dark/css-vars.css'
 import { setupComponents } from './global/index'
 
 //导入其它样式
-import "./styles/icon/index.scss"
 import "./styles/font/index.scss"
 import 'remixicon/fonts/remixicon.css'
 import "./styles/index.scss"

+ 3 - 2
src/plugins/renderele.js

@@ -1,11 +1,12 @@
 import { h } from 'vue'
 import HcIcon from '../global/components/hc-icon/index.vue'
 
-export const HcIconJs = ({ui,fill,name}) => {
+export const HcIconJs = ({ui, fill, name, line}) => {
     return h(HcIcon, {
         ui: ui ?? '',
         fill: fill || false,
-        name: name ?? ''
+        name: name ?? '',
+        line: line !== false
     })
 }
 

+ 4 - 5
src/styles/app/element.scss

@@ -2,6 +2,9 @@
 .el-button[block] {
     width: 100%;
 }
+.el-button .hc-icon-i {
+    margin-right: 4px;
+}
 //主色
 .el-button--primary.is-link,
 .el-button--primary.is-plain,
@@ -97,10 +100,6 @@
         --el-button-active-text-color: var(--el-color-primary);
         --el-button-active-bg-color: var(--el-color-primary-light-7);
     }
-    .material-symbols-rounded {
-        font-size: 18px;
-        margin-right: 4px;
-    }
 }
 
 //表单
@@ -149,7 +148,7 @@
         background-color: var(--el-color-primary-light-9);
         .hc-menu-icon {
             position: absolute;
-            font-size: 22px;
+            font-size: 16px;
             left: 22px;
         }
     }

BIN
src/styles/font/material-fill.woff2


BIN
src/styles/font/material.woff


+ 0 - 1
src/styles/icon/index.scss

@@ -1 +0,0 @@
-@import 'material';

+ 0 - 29
src/styles/icon/material.scss

@@ -1,29 +0,0 @@
-@font-face {
-    font-family: 'Material Symbols Rounded';
-    font-style: normal;
-    font-weight: 300;
-    src: url(../font/material.woff) format('woff');
-}
-
-.material-symbols-rounded {
-    font-family: 'Material Symbols Rounded';
-    letter-spacing: normal;
-    text-transform: none;
-    display: inline-block;
-    white-space: nowrap;
-    word-wrap: normal;
-    direction: ltr;
-    -webkit-font-smoothing: antialiased;
-    line-height: 0;
-}
-
-@font-face {
-    font-family: 'Material Symbols Rounded Fill';
-    font-style: normal;
-    font-weight: 300;
-    src: url(../font/material-fill.woff2) format('woff2');
-}
-
-.material-symbols-rounded[class*='fill'] {
-    font-family: 'Material Symbols Rounded Fill';
-}

+ 2 - 2
src/views/data-fill/components/HcTreeData.vue

@@ -149,12 +149,12 @@ const setMenuMarkVal = (rows,item) => {
                 menusData.value[i].label = '取消标记为首件';
                 menusData.value[i].key = 'cancel_mark';
                 menusData.value[i].icon = hIconJs({
-                    name: 'grade', fill: true
+                    name: 'star', fill: true, ui: 'text-lg'
                 });
             } else {
                 menusData.value[i].label = '标记为首件';
                 menusData.value[i].key = 'mark';
-                menusData.value[i].icon = hIconJs({name: 'grade'});
+                menusData.value[i].icon = hIconJs({name: 'star', ui: 'text-lg'});
             }
             break;
         }

+ 2 - 2
src/views/data-fill/components/WbsTree.vue

@@ -214,12 +214,12 @@ const setMenuMarkVal = (rows,item) => {
             menusData.value[index].label = '取消标记为首件';
             menusData.value[index].key = 'cancel_mark';
             menusData.value[index].icon = hIconJs({
-                name: 'grade', fill: true
+                name: 'star', fill: true, ui: 'text-lg'
             });
         } else {
             menusData.value[index].label = '标记为首件';
             menusData.value[index].key = 'mark';
-            menusData.value[index].icon = hIconJs({name: 'grade'});
+            menusData.value[index].icon = hIconJs({name: 'star', ui: 'text-lg'});
         }
     }
 }

+ 2 - 2
src/views/data-fill/components/nodeTree/children.vue

@@ -213,12 +213,12 @@ const setMenuMarkVal = (rows,item) => {
                 menusData.value[i].label = '取消标记为首件';
                 menusData.value[i].key = 'cancel_mark';
                 menusData.value[i].icon = hIconJs({
-                    name: 'grade', fill: true
+                    name: 'star', fill: true, ui: 'text-lg'
                 });
             } else {
                 menusData.value[i].label = '标记为首件';
                 menusData.value[i].key = 'mark';
-                menusData.value[i].icon = hIconJs({name: 'grade'});
+                menusData.value[i].icon = hIconJs({name: 'star', ui: 'text-lg'});
             }
             break;
         }

+ 20 - 25
src/views/data-fill/query.vue

@@ -14,7 +14,7 @@
                 <div class="hc-search-tree-val">
                     <el-input v-model="searchTreeVal" block size="large" placeholder="请输入名称关键词检索" clearable @keyup="searchTreeKeyUp">
                         <template #suffix>
-                            <HcIcon name="search" ui="text-2xl"/>
+                            <HcIcon name="search-2" ui="text-xl"/>
                         </template>
                     </el-input>
                 </div>
@@ -45,7 +45,7 @@
                 <template #header>
                     <HcTooltip keys="query_report">
                         <el-button type="primary" hc-btn :disabled="tableCheckedKeys.length <= 0" @click="reportModalClick">
-                            <HcIcon name="drive_folder_upload"/>
+                            <HcIcon name="send-plane-2"/>
                             <span>上报</span>
                         </el-button>
                     </HcTooltip>
@@ -57,25 +57,25 @@
                     </HcTooltip>
                     <HcTooltip keys="query_print">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="printLoading" @click="batchPrint">
-                            <HcIcon name="print"/>
+                            <HcIcon name="printer"/>
                             <span>打印</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="query_abolish">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="batchAbolishClick">
-                            <HcIcon name="delete"/>
+                            <HcIcon name="delete-bin-3"/>
                             <span>废除</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="query_local_attestation">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="localLoading" @click="batchLocal">
-                            <HcIcon name="folder"/>
+                            <HcIcon name="folder-download"/>
                             <span>本地验签</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="query_online_attestation">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="onlineLoading" @click="batchOnline">
-                            <HcIcon name="browse_activity"/>
+                            <HcIcon name="cloud"/>
                             <span>在线验签</span>
                         </el-button>
                     </HcTooltip>
@@ -109,28 +109,14 @@
                             <el-input v-model="searchForm.queryValue" placeholder="请输入名称关键词检索" clearable @keyup="keyUpEvent"/>
                         </div>
                         <div class="ml-2">
-                            <el-button type="primary" @click="searchClick">搜索</el-button>
+                            <el-button type="primary" @click="searchClick">
+                                <HcIcon name="search-2"/>
+                                <span>搜索</span>
+                            </el-button>
                         </div>
                     </div>
                 </template>
-                <el-scrollbar>
-                    <div class="hc-table-ref-box">
-                        <el-table ref="tableListRef" hc :data="tableListData" :loading="tableLoading" stripe @selection-change="tableSelectionChange">
-                            <el-table-column type="selection" width="50" />
-                            <el-table-column prop="num" label="序号" width="80">
-                                <template #default="scope">
-                                    {{scope.$index + 1}}
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="name" label="文件名称" />
-                            <el-table-column prop="startTime" label="开始时间"/>
-                            <el-table-column prop="taskStatusStr" label="流程状态"/>
-                            <el-table-column prop="reportNumber" label="上报批次"/>
-                            <el-table-column prop="fileUserIdAndName" label="填报人"/>
-                            <el-table-column prop="tesk" label="任务人"/>
-                        </el-table>
-                    </div>
-                </el-scrollbar>
+                <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange"/>
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange"/>
                 </template>
@@ -327,6 +313,15 @@ const pageChange = ({current, size}) => {
 //获取数据
 const tableListRef = ref(null)
 const tableLoading = ref(false)
+const tableListColumn = ref([
+    {key:'name', name: '文件名称'},
+    {key:'startTime', name: '开始时间'},
+    {key:'taskStatusStr', name: '流程状态'},
+    {key:'reportNumber', name: '上报批次'},
+    {key:'fileUserIdAndName', name: '填报人'},
+    {key:'tesk', name: '任务人'}
+])
+
 const tableListData = ref([])
 const getTableData = async () => {
     if (!!searchForm.value.wbsId) {

+ 25 - 28
src/views/data-fill/wbs.vue

@@ -4,16 +4,16 @@
             <template #header>
                 <HcTooltip keys="wbs_views_drawings" v-if="NodeStatus !== '3' && isDrawer">
                     <el-button hc-btn :disabled="!nodeDataInfo?.fileUrl" @click="viewsDrawings">
-                        <HcIcon name="wallpaper"/>
+                        <HcIcon name="image"/>
                         <span>查看图纸</span>
                     </el-button>
                 </HcTooltip>
                 <el-button :type="authBtnTabKey === '1'?'primary':''" hc-btn @click="authBtnTabClick('1')" v-if="isDrawer">
-                    <HcIcon name="e911_emergency"/>
+                    <HcIcon name="folder-user"/>
                     <span>施工质检</span>
                 </el-button>
                 <el-button :type="authBtnTabKey === '2'?'primary':''" hc-btn @click="authBtnTabClick('2')" v-if="isDrawer">
-                    <HcIcon name="engineering"/>
+                    <HcIcon name="folder-shield"/>
                     <span>监理质检</span>
                 </el-button>
             </template>
@@ -45,19 +45,19 @@
                     </HcTooltip>
                     <HcTooltip keys="wbs_report" v-if="NodeStatus !== '3'">
                         <el-button hc-btn :disabled="NodeStatus === '3' || NodeStatus === '1'" @click="reportModalClick">
-                            <HcIcon name="drive_folder_upload"/>
+                            <HcIcon name="send-plane-2"/>
                             <span>上报</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="wbs_preview">
                         <el-button hc-btn :disabled="NodeStatus === '1'" :loading="bussPdfsLoading" @click="bussPdfsClick">
-                            <HcIcon name="visibility"/>
+                            <HcIcon name="eye"/>
                             <span>预览</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="wbs_abolish" v-if="NodeStatus === '3'">
                         <el-button hc-btn @click="abolishOneClick">
-                            <HcIcon name="undo"/>
+                            <HcIcon name="arrow-go-back"/>
                             <span>撤回上报流程</span>
                         </el-button>
                     </HcTooltip>
@@ -83,7 +83,7 @@
                     <div class="hc-search-tree-val">
                         <el-input v-model="searchTreeVal" block size="large" placeholder="请输入名称关键词检索" clearable @keyup="searchTreeKeyUp">
                             <template #suffix>
-                                <HcIcon name="search" ui="text-2xl"/>
+                                <HcIcon name="search-2" ui="text-xl"/>
                             </template>
                         </el-input>
                     </div>
@@ -114,30 +114,27 @@
                     <template #header>
                         <HcTooltip keys="wbs_views_drawings" v-if="NodeStatus !== '3'">
                             <el-button hc-btn :disabled="!nodeDataInfo?.fileUrl" @click="viewsDrawings">
-                                <HcIcon name="wallpaper"/>
+                                <HcIcon name="image"/>
                                 <span>查看图纸</span>
                             </el-button>
                         </HcTooltip>
                         <el-button :type="authBtnTabKey === '1'?'primary':''" hc-btn @click="authBtnTabClick('1')">
-                            <HcIcon name="e911_emergency"/>
+                            <HcIcon name="folder-user"/>
                             <span>施工质检</span>
                         </el-button>
                         <el-button :type="authBtnTabKey === '2'?'primary':''" hc-btn @click="authBtnTabClick('2')">
-                            <HcIcon name="engineering"/>
+                            <HcIcon name="folder-shield"/>
                             <span>监理质检</span>
                         </el-button>
                     </template>
-
                     <!--切换导图或树形模式-->
                     <template #extra>
                         <HcNewSwitch :datas="wbsTypeTab" :keys="wbsTypeTabKey" @change="wbsTypeTabChange"/>
                     </template>
-
                     <!--清表列表-->
                     <el-scrollbar ref="ListItemScrollRef">
                         <ListItem ref="ListItemRef" :datas="ListItemDatas" :projectId="projectId" :contractId="contractId" :classify="authBtnTabKey" @offsetTop="ListItemOffsetTop" @renew="getTableDataAll"/>
                     </el-scrollbar>
-
                     <!--底部按钮区域-->
                     <template #action>
                         <HcTooltip keys="wbs_save" v-if="NodeStatus !== '3'">
@@ -148,19 +145,19 @@
                         </HcTooltip>
                         <HcTooltip keys="wbs_report" v-if="NodeStatus !== '3'">
                             <el-button hc-btn :disabled="NodeStatus === '3' || NodeStatus === '1'" @click="reportModalClick">
-                                <HcIcon name="drive_folder_upload"/>
+                                <HcIcon name="send-plane-2"/>
                                 <span>上报</span>
                             </el-button>
                         </HcTooltip>
                         <HcTooltip keys="wbs_preview">
                             <el-button hc-btn :disabled="NodeStatus === '1'" :loading="bussPdfsLoading" @click="bussPdfsClick">
-                                <HcIcon name="visibility"/>
+                                <HcIcon name="eye"/>
                                 <span>预览</span>
                             </el-button>
                         </HcTooltip>
                         <HcTooltip keys="wbs_abolish" v-if="NodeStatus === '3'">
                             <el-button hc-btn @click="abolishOneClick">
-                                <HcIcon name="undo"/>
+                                <HcIcon name="arrow-go-back"/>
                                 <span>撤回上报流程</span>
                             </el-button>
                         </HcTooltip>
@@ -318,7 +315,7 @@
 <script setup>
 import {ref,watch,onMounted} from "vue";
 import {useRouter, useRoute} from 'vue-router'
-import {useAppStore} from "~src/store/index";
+import {useAppStore} from "~src/store";
 import {hIconJs} from "~src/plugins/renderele";
 import {HcIsButton} from "~src/plugins/IsButtons";
 import ListItem from "./components/ListItem.vue"
@@ -337,7 +334,7 @@ import Draggable from "vuedraggable";
 const router = useRouter()
 const useRoutes = useRoute()
 const useAppState = useAppStore()
-const {getObjNullValue, getObjValue, getArrValue} = isType()
+const {getObjValue, getArrValue} = isType()
 
 //全局变量
 const projectId = ref(useAppState.getProjectId);
@@ -396,7 +393,7 @@ const wbsTypeTab = ref([
     {key:'map',  name: '导图结构填报'},
     {key:'tree', name: '树形结构填报'}
 ]);
-const wbsTypeTabChange = async (item) => {
+const wbsTypeTabChange = (item) => {
     wbsTypeTabKey.value = item?.key;
     ListItemDatas.value = []
     isDrawer.value = false;
@@ -422,33 +419,33 @@ const setElTreeMenu = (contractType) => {
     let newArr = [];
     if (contractType === 1) {
         if (HcIsButton('wbs_tree_edit')) {
-            newArr.push({icon: hIconJs({name:'border_color'}), label: '编辑节点', key: "edit"})
+            newArr.push({icon: hIconJs({name:'draft', ui: 'text-lg'}), label: '编辑节点', key: "edit"})
         }
         if (HcIsButton('wbs_tree_mark')) {
-            newArr.push({icon: hIconJs({name:'grade'}), label: '标记为首件', key: "mark"})
+            newArr.push({icon: hIconJs({name:'star', ui: 'text-lg'}), label: '标记为首件', key: "mark"})
             TreeMark.value = true
         }
         if (HcIsButton('wbs_tree_copy')) {
-            newArr.push({icon: hIconJs({name:'difference'}), label: '复制节点', key: "copy"})
+            newArr.push({icon: hIconJs({name:'file-copy-2', ui: 'text-lg'}), label: '复制节点', key: "copy"})
         }
         if (HcIsButton('wbs_tree_add')) {
-            newArr.push({icon: hIconJs({name:'add_box'}), label: '新增节点', key: "add"})
+            newArr.push({icon: hIconJs({name:'add-circle', ui: 'text-lg'}), label: '新增节点', key: "add"})
         }
         if (HcIsButton('wbs_tree_upload')) {
-            newArr.push({icon: hIconJs({name:'backup'}), label: '上传图纸', key: "upload"})
+            newArr.push({icon: hIconJs({name:'file-upload', ui: 'text-lg'}), label: '上传图纸', key: "upload"})
         }
         if (HcIsButton('wbs_tree_del')) {
-            newArr.push({icon: hIconJs({name:'delete'}), label: '删除节点', key: "del"})
+            newArr.push({icon: hIconJs({name:'delete-bin', ui: 'text-lg'}), label: '删除节点', key: "del"})
         }
         if (HcIsButton('wbs_tree_sort')) {
-            newArr.push({icon: hIconJs({name:'sort'}), label: '调整排序', key: "sort"})
+            newArr.push({icon: hIconJs({name:'sort-asc', line: false, ui: 'text-lg'}), label: '调整排序', key: "sort"})
         }
     } else if (contractType === 2) {
         if (HcIsButton('wbs_tree_copy')) {
-            newArr.push({icon: hIconJs({name:'difference'}), label: '复制节点', key: "copy"})
+            newArr.push({icon: hIconJs({name:'file-copy-2', ui: 'text-lg'}), label: '复制节点', key: "copy"})
         }
         if (HcIsButton('wbs_tree_add')) {
-            newArr.push({icon: hIconJs({name:'add_box'}), label: '新增节点', key: "add"})
+            newArr.push({icon: hIconJs({name:'add-circle', ui: 'text-lg'}), label: '新增节点', key: "add"})
         }
     }
     ElTreeMenu.value = newArr

+ 35 - 42
src/views/gauge/bezier.vue

@@ -4,25 +4,25 @@
             <template #header>
                 <HcTooltip keys="gauge-bezier-add">
                     <el-button type="primary" hc-btn @click="addLineEleModal">
-                        <HcIcon name="add_box"/>
+                        <HcIcon name="add-box"/>
                         <span>添加线元</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-bezier-to">
                     <el-button hc-btn @click="showToModalClick">
-                        <HcIcon name="sync_alt"/>
+                        <HcIcon name="repeat"/>
                         <span>转换坐标</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-bezier-pile">
                     <el-button hc-btn @click="pileModalClick">
-                        <HcIcon name="device_hub"/>
+                        <HcIcon name="settings-6"/>
                         <span>逐桩坐标</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-bezier-import">
                     <el-button hc-btn @click="importModalClick">
-                        <HcIcon name="drive_folder_upload"/>
+                        <HcIcon name="upload-cloud"/>
                         <span>导入</span>
                     </el-button>
                 </HcTooltip>
@@ -41,51 +41,32 @@
                 </div>
                 <HcTooltip keys="gauge-bezier-add-part">
                     <div class="hc-extra-icon-btn" @click="AddPartClick">
-                        <HcIcon name="add_box"/>
+                        <HcIcon name="add-circle"/>
                     </div>
                 </HcTooltip>
                 <HcTooltip keys="gauge-bezier-admin-part">
                     <div class="hc-extra-icon-btn" @click="AdminPartClick">
-                        <HcIcon name="grid_view"/>
+                        <HcIcon name="list-settings"/>
                     </div>
                 </HcTooltip>
             </template>
-            <el-scrollbar>
-                <div class="hc-table-ref-box">
-                    <el-table hc :data="tableData" :loading="tableLoading" stripe>
-                        <el-table-column prop="num" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="name" label="里程">
-                            <template #default="scope">{{scope.row?.valueStr}}~{{scope.row?.valueEndStr}}</template>
-                        </el-table-column>
-                        <el-table-column prop="orderNum" label="排序"/>
-                        <el-table-column prop="l" label="长度"/>
-                        <el-table-column prop="angle" label="方位角"/>
-                        <el-table-column prop="type" label="类型">
-                            <template #default="scope">
-                                {{getTypeName(scope.row?.type)}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="swing" label="转向"/>
-                        <el-table-column prop="xxStr" label="X"/>
-                        <el-table-column prop="yyStr" label="Y"/>
-                        <el-table-column prop="r" label="半径"/>
-                        <el-table-column label="操作" align="center" width="130">
-                            <template #default="scope">
-                                <HcTooltip keys="gauge-station-edit">
-                                    <el-button type="primary" size="small" text @click="handleTableEdit(scope.row)">编辑</el-button>
-                                </HcTooltip>
-                                <HcTooltip keys="gauge-station-del">
-                                    <el-button type="danger" size="small" text @click="handleTableDelete(scope.row)">删除</el-button>
-                                </HcTooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </el-scrollbar>
+
+            <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading">
+                <template #name="{row}">
+                    {{row['valueStr']}}~{{row['valueEndStr']}}
+                </template>
+                <template #type="{row}">
+                    {{getTypeName(row?.type)}}
+                </template>
+                <template #action="{row}">
+                    <HcTooltip keys="gauge-station-edit">
+                        <el-button type="primary" size="small" text @click="handleTableEdit(row)">编辑</el-button>
+                    </HcTooltip>
+                    <HcTooltip keys="gauge-station-del">
+                        <el-button type="danger" size="small" text @click="handleTableDelete(row)">删除</el-button>
+                    </HcTooltip>
+                </template>
+            </HcTable>
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange"/>
             </template>
@@ -360,6 +341,18 @@ const pageChange = ({current, size}) => {
 }
 
 //获取数据
+const tableColumn = ref([
+    {key:'name', name: '里程'},
+    {key:'orderNum', name: '排序'},
+    {key:'l', name: '长度'},
+    {key:'angle', name: '方位角'},
+    {key:'type', name: '类型'},
+    {key:'swing', name: '转向'},
+    {key:'xxStr', name: 'X'},
+    {key:'yyStr', name: 'Y'},
+    {key:'r', name: '半径'},
+    {key:'action', name: '操作', width: '130'}
+])
 const tableData = ref([])
 const tableLoading = ref(false)
 const getTableData = async () => {

+ 51 - 55
src/views/gauge/station.vue

@@ -4,13 +4,13 @@
             <template #header>
                 <HcTooltip keys="gauge-station-add">
                     <el-button type="primary" hc-btn @click="AddRowClick">
-                        <HcIcon name="add_box"/>
+                        <HcIcon name="add-box"/>
                         <span>新增</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-station-import">
                     <el-button hc-btn @click="importModalClick">
-                        <HcIcon name="drive_folder_upload"/>
+                        <HcIcon name="upload-cloud"/>
                         <span>导入</span>
                     </el-button>
                 </HcTooltip>
@@ -24,62 +24,38 @@
                     <el-input v-model="searchForm.name" size="large" placeholder="请输入测站点或关键字进行搜索" clearable @keyup="keyUpEvent"/>
                 </div>
                 <div class="ml-2">
-                    <el-button type="primary" size="large" @click="searchClick">搜索</el-button>
+                    <el-button type="primary" size="large" @click="searchClick">
+                        <HcIcon name="search-2"/>
+                        <span>搜索</span>
+                    </el-button>
                 </div>
             </template>
             <template #extra>
                 <HcNewSwitch :datas="tabsTypeData" :keys="tabsTypeKey" @change="tabsTypeChange"/>
             </template>
-            <el-scrollbar>
-                <div class="hc-table-ref-box" v-if="tabsTypeKey === '0'">
-                    <el-table ref="recycleTableRef" hc :data="levelTable" :loading="tableLoading" stripe>
-                        <el-table-column prop="num" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="name" label="测站点名称" />
-                        <el-table-column prop="h" label="高程(m)"/>
-                        <el-table-column prop="level" label="等级"/>
-                        <el-table-column prop="remark" label="备注"/>
-                        <el-table-column label="操作" align="center" width="130">
-                            <template #default="scope">
-                                <HcTooltip keys="gauge-station-edit">
-                                    <el-button type="primary" size="small" text @click="handleLevelEdit(scope.row)">编辑</el-button>
-                                </HcTooltip>
-                                <HcTooltip keys="gauge-station-del">
-                                    <el-button type="danger" size="small" text @click="handleLevelDelete(scope.row)">删除</el-button>
-                                </HcTooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="hc-table-ref-box" v-if="tabsTypeKey === '1'">
-                    <el-table ref="recycleTableRef" hc :data="traverseTable" :loading="tableLoading" stripe>
-                        <el-table-column prop="num" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="name" label="测站点名称" />
-                        <el-table-column prop="x" label="X坐标(m)"/>
-                        <el-table-column prop="y" label="Y坐标(m)"/>
-                        <el-table-column prop="h" label="高程(m)"/>
-                        <el-table-column prop="level" label="等级"/>
-                        <el-table-column prop="remark" label="备注"/>
-                        <el-table-column label="操作" align="center" width="130">
-                            <template #default="scope">
-                                <HcTooltip keys="gauge-station-edit">
-                                    <el-button type="primary" size="small" text @click="handleTraverseEdit(scope.row)">编辑</el-button>
-                                </HcTooltip>
-                                <HcTooltip keys="gauge-station-del">
-                                    <el-button type="danger" size="small" text @click="handleTraverseDelete(scope.row)">删除</el-button>
-                                </HcTooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </el-scrollbar>
+
+            <HcTable :column="levelTableColumn" :datas="levelTable" :loading="tableLoading" v-if="tabsTypeKey === '0'">
+                <template #action="{row}">
+                    <HcTooltip keys="gauge-station-edit">
+                        <el-button type="primary" size="small" text @click="handleLevelEdit(row)">编辑</el-button>
+                    </HcTooltip>
+                    <HcTooltip keys="gauge-station-del">
+                        <el-button type="danger" size="small" text @click="handleLevelDelete(row)">删除</el-button>
+                    </HcTooltip>
+                </template>
+            </HcTable>
+
+            <HcTable :column="traverseTableColumn" :datas="traverseTable" :loading="tableLoading" v-if="tabsTypeKey === '1'">
+                <template #action="{row}">
+                    <HcTooltip keys="gauge-station-edit">
+                        <el-button type="primary" size="small" text @click="handleTraverseEdit(row)">编辑</el-button>
+                    </HcTooltip>
+                    <HcTooltip keys="gauge-station-del">
+                        <el-button type="danger" size="small" text @click="handleTraverseDelete(row)">删除</el-button>
+                    </HcTooltip>
+                </template>
+            </HcTable>
+
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange"/>
             </template>
@@ -224,9 +200,29 @@ const pageChange = ({current, size}) => {
     getTableData()
 }
 
+//导线点
+const traverseTableColumn = ref([
+    {key:'name', name: '测站点名称'},
+    {key:'x', name: 'X坐标(m)'},
+    {key:'y', name: 'Y坐标(m)'},
+    {key:'h', name: '高程(m)'},
+    {key:'level', name: '等级'},
+    {key:'remark', name: '备注'},
+    {key:'action', name: '操作', width: '130'}
+])
+const traverseTable = ref([])
+
+//水准点
+const levelTableColumn = ref([
+    {key:'name', name: '测站点名称'},
+    {key:'h', name: '高程(m)'},
+    {key:'level', name: '等级'},
+    {key:'remark', name: '备注'},
+    {key:'action', name: '操作', width: '130'}
+])
+const levelTable = ref([])
+
 //获取数据
-const traverseTable = ref([])   //导线点
-const levelTable = ref([])      //水准点
 const tableLoading = ref(false)
 const getTableData = async () => {
     tableLoading.value = true

+ 13 - 7
src/views/home/config.vue

@@ -77,17 +77,23 @@
             </div>
         </div>
         <template #action>
-            <el-popover placement="top-start" trigger="hover" :width="180">
+            <el-popover placement="top" trigger="hover" :width="180">
                 <template #reference>
-                    <el-button size="large" @click="CancelClick">取消</el-button>
+                    <el-button type="primary" hc-btn :loading="saveLoading" @click="SaveConfigClick">
+                        <HcIcon name="save"/>
+                        <span>保存配置</span>
+                    </el-button>
                 </template>
-                <div>如果没有保存配置,下次登录后,将恢复到上次保存的配置</div>
+                <div>下次登录后,会自动同步,并启用当前配置</div>
             </el-popover>
-            <el-popover placement="top" trigger="hover" :width="180">
+            <el-popover placement="top-start" trigger="hover" :width="180">
                 <template #reference>
-                    <el-button type="primary" size="large" :loading="saveLoading" @click="SaveConfigClick">保存配置</el-button>
+                    <el-button hc-btn @click="CancelClick">
+                        <HcIcon name="arrow-go-back"/>
+                        <span>取消</span>
+                    </el-button>
                 </template>
-                <div>下次登录后,会自动同步,并启用当前配置</div>
+                <div>如果没有保存配置,下次登录后,将恢复到上次保存的配置</div>
             </el-popover>
         </template>
     </HcCard>
@@ -96,7 +102,7 @@
 <script setup>
 import {ref,nextTick} from "vue";
 import {useRouter, useRoute} from 'vue-router'
-import {useAppStore} from "~src/store/index";
+import {useAppStore} from "~src/store";
 import themeData from '~src/config/theme';
 import {userConfigSave} from "~api/other";
 import ImgTheme from "~src/assets/images/theme.png";

+ 21 - 3
src/views/other-file/image-form.vue

@@ -130,11 +130,16 @@ watch(() => [
 })
 
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('TreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref([])
 
 //渲染完成
 onMounted(() => {
-    queryById()
+    if (dataType === 1) {
+        //NodeExpandKeys()
+    } else if (dataType === 2) {
+        TreeAutoExpandKeys.value = getStoreData('TreeExpandKeys') || []
+        queryById()
+    }
 })
 
 //详情
@@ -341,7 +346,19 @@ const verifyFormData = async (log) => {
 
 //新增资料
 const addImageclassifyFile = async (formData,log) => {
-
+    saveLoading.value = true
+    const {error, code} = await imageApi.addImageclassifyFile(formData)
+    //判断状态
+    saveLoading.value = false
+    if (!error && code === 200) {
+        window.$message?.success('保存成功')
+        if (log) {
+            tableData.value.push(deepClone(formValue.value))
+            formDataFormat({})
+        } else {
+            toBackClick()
+        }
+    }
 }
 
 //修改资料
@@ -351,6 +368,7 @@ const updateImageclassifyFile = async (formData,log) => {
     //判断状态
     saveLoading.value = false
     if (!error && code === 200) {
+        window.$message?.success('保存成功')
         if (log) {
             tableData.value.push(deepClone(formValue.value))
             formDataFormat({})

+ 15 - 21
src/views/tasks/flow.vue

@@ -4,7 +4,7 @@
             <template #header>
                 <HcTooltip keys="tasks_flow_add">
                     <el-button hc-btn type="primary" @click="addFlowData">
-                        <HcIcon name="add_box"/>
+                        <HcIcon name="add-circle"/>
                         <span>新建流程</span>
                     </el-button>
                 </HcTooltip>
@@ -12,26 +12,13 @@
             <template #extra>
                 <el-alert title="同一合同段内,只需要设置重复岗位的流程即可,其他任务岗位,系统将自动推送,无需创建更多任务流" type="error" :closable="false"/>
             </template>
-            <el-scrollbar>
-                <div class="hc-table-ref-box">
-                    <el-table hc :data="tableListData" :loading="tableLoading" row-key="id" stripe>
-                        <el-table-column prop="index" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="fixedFlowName" label="流程名称"/>
-                        <el-table-column prop="linkUserJoinString" label="流程详情"/>
-                        <el-table-column label="操作" align="center" width="100">
-                            <template #default="scope">
-                                <HcTooltip keys="tasks_flow_edit">
-                                    <el-button type="primary" size="small" text @click="handleTableEdit(scope.row)">编辑</el-button>
-                                </HcTooltip>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </el-scrollbar>
+            <HcTable :column="tableListColumn" :datas="tableListData" :loading="tableLoading">
+                <template #action="{row}">
+                    <HcTooltip keys="tasks_flow_edit">
+                        <el-button type="primary" size="small" text @click="handleTableEdit(row)">编辑</el-button>
+                    </HcTooltip>
+                </template>
+            </HcTable>
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange"/>
             </template>
@@ -85,6 +72,13 @@ const pageChange = ({current, size}) => {
 //获取数据
 const tableLoading = ref(false)
 const tableListData = ref([])
+
+const tableListColumn = ref([
+    {key:'fixedFlowName', name: '流程名称'},
+    {key:'linkUserJoinString', name: '流程详情'},
+    {key:'action', name: '操作', width: '100'},
+])
+
 const getTableData = async () => {
     tableLoading.value = true
     const { error, code, data } = await tasksFlowApi.getPageData({

+ 27 - 35
src/views/tasks/hc-data.vue

@@ -32,55 +32,37 @@
                         <el-input v-model="searchForm.queryValue" block size="large" placeholder="请输入名称关键词检索" clearable @keyup="keyUpEvent"/>
                     </div>
                     <div class="ml-2">
-                        <el-button type="primary" size="large" @click="searchClick">搜索</el-button>
+                        <el-button type="primary" size="large" @click="searchClick">
+                            <HcIcon name="search-2"/>
+                            <span>搜索</span>
+                        </el-button>
                     </div>
                 </template>
                 <template #extra>
                     <HcTooltip keys="tasks_data_set_sign_rules">
                         <el-button hc-btn @click="setSignRulesClick">
-                            <HcIcon name="device_hub"/>
+                            <HcIcon name="settings"/>
                             <span>设置重签规则</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="tasks_data_batch_review" v-if="sbTableKey === 'key1'">
                         <el-button hc-btn type="primary" :disabled="tableCheckedKeys.length <= 0" @click="batchApprovalTaskClick">
-                            <HcIcon name="device_hub"/>
+                            <HcIcon name="check-double"/>
                             <span>批量审批</span>
                         </el-button>
                     </HcTooltip>
                 </template>
-                <el-scrollbar>
-                    <div class="hc-table-ref-box">
-                        <el-table ref="tableListRef" hc :data="tableListData" :loading="tableLoading" row-key="id" stripe @selection-change="tableSelectionChange">
-                            <el-table-column type="selection" width="50" />
-                            <el-table-column prop="num" label="序号" width="80">
-                                <template #default="scope">
-                                    {{scope.$index + 1}}
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="taskName" label="任务名称">
-                                <template #default="scope">
-                                    <span class="text-link" @click="rowTaskName(scope.row)">{{scope.row?.taskName}}</span>
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="typeValue" label="任务类型" width="120"/>
-                            <el-table-column prop="taskStatus" label="任务状态" width="160">
-                                <template #default="scope">
-                                    {{ setStatusTag(scope.row?.taskStatus) }}
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="startTime" label="开始时间" width="180"/>
-                            <el-table-column prop="endTime" label="限定时间" width="180"/>
-                            <el-table-column prop="taskContent" label="任务描述"/>
-                            <el-table-column prop="reportUserName" label="上报人" width="120"/>
-                            <el-table-column prop="waitingUserList" label="签字人员">
-                                <template #default="scope">
-                                    {{ setUserTag(scope.row?.waitingUserList) }}
-                                </template>
-                            </el-table-column>
-                        </el-table>
-                    </div>
-                </el-scrollbar>
+                <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange">
+                    <template #taskName="{row}">
+                        <span class="text-link" @click="rowTaskName(row)">{{row?.taskName}}</span>
+                    </template>
+                    <template #taskStatus="{row}">
+                        {{ setStatusTag(row?.taskStatus) }}
+                    </template>
+                    <template #waitingUserList="{row}">
+                        {{ setUserTag(row?.waitingUserList) }}
+                    </template>
+                </HcTable>
                 <template #action>
                     <div class="lr-dialog-footer">
                         <div class="left">
@@ -259,6 +241,16 @@ const pageChange = ({current, size}) => {
 
 //获取数据
 const tableLoading = ref(false)
+const tableListColumn = ref([
+    {key:'taskName', name: '任务名称'},
+    {key:'typeValue', name: '任务类型', width: '120'},
+    {key:'taskStatus', name: '任务状态', width: '160'},
+    {key:'startTime', name: '开始时间', width: '180'},
+    {key:'endTime', name: '限定时间', width: '180'},
+    {key:'taskContent', name: '任务描述'},
+    {key:'reportUserName', name: '上报人', width: '120'},
+    {key:'waitingUserList', name: '签字人员'},
+])
 const tableListData = ref([])
 const getTableData = () => {
     const key = sbTableKey.value

+ 16 - 21
src/views/tasks/message-data.vue

@@ -17,24 +17,13 @@
                         <HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate"/>
                     </div>
                     <div class="ml-2">
-                        <el-button type="primary" @click="searchClick">搜索</el-button>
+                        <el-button type="primary" size="large" @click="searchClick">
+                            <HcIcon name="search-2"/>
+                            <span>搜索</span>
+                        </el-button>
                     </div>
                 </template>
-                <el-scrollbar>
-                    <div class="hc-table-ref-box">
-                        <el-table hc ref="tableListRef" :data="tableListData" :loading="tableLoading" row-key="id" stripe @selection-change="tableSelectionChange">
-                            <el-table-column type="selection" width="50" />
-                            <el-table-column prop="index" label="序号" width="80">
-                                <template #default="scope">
-                                    {{scope.$index + 1}}
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="typeValue" label="类型" width="120"/>
-                            <el-table-column prop="startTime" label="日期时间" width="180"/>
-                            <el-table-column prop="endTime" label="内容"/>
-                        </el-table>
-                    </div>
-                </el-scrollbar>
+                <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange"/>
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange"/>
                 </template>
@@ -55,11 +44,11 @@ const contractId = ref(useAppState.getContractId);
 //左侧菜单
 const menuKey = ref('basic')
 const menuOptions = ref([
-    {key: 'basic', label: '任务催办', icon: 'notifications', badge: 10},
-    {key: 'password', label: '监测预警', icon: 'visibility', badge: 10},
-    {key: 'project', label: '废除通知', icon: 'delete', badge: 10},
-    {key: 'log', label: '工单反馈', icon: 'forum', badge: 10},
-    {key: 'recycle', label: '系统消息', icon: 'local_post_office', badge: 10},
+    {key: 'basic', label: '任务催办', icon: 'alarm-warning', badge: 10},
+    {key: 'password', label: '监测预警', icon: 'eye', badge: 10},
+    {key: 'project', label: '废除通知', icon: 'delete-bin-3', badge: 10},
+    {key: 'log', label: '工单反馈', icon: 'question-answer', badge: 10},
+    {key: 'recycle', label: '系统消息', icon: 'chat-settings', badge: 10},
 ]);
 const handleMenuValue = (item) => {
     console.log(item)
@@ -96,6 +85,12 @@ const pageChange = ({current, size}) => {
 
 //获取数据
 const tableLoading = ref(false)
+const tableListColumn = ref([
+    {key:'typeValue', name: '类型', width: '120'},
+    {key:'startTime', name: '日期时间', width: '180'},
+    {key:'endTime', name: '内容'},
+])
+
 const tableListData = ref([])
 const getTableData = async () => {
 

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

@@ -24,36 +24,21 @@
                     <el-input v-model="searchForm.queryValue" block size="large" placeholder="请输入名称关键词检索" clearable @keyup="keyUpEvent"/>
                 </div>
                 <div class="ml-2">
-                    <el-button type="primary" size="large" @click="searchClick">搜索</el-button>
+                    <el-button type="primary" size="large" @click="searchClick">
+                        <HcIcon name="search-2"/>
+                        <span>搜索</span>
+                    </el-button>
                 </div>
             </template>
             <template #extra>
                 <HcTooltip keys="tasks_sign_key_renewal">
                     <el-button hc-btn type="primary">
-                        <HcIcon name="border_color"/>
+                        <HcIcon name="restart"/>
                         <span>一键重签</span>
                     </el-button>
                 </HcTooltip>
             </template>
-            <el-scrollbar>
-                <div class="hc-table-ref-box">
-                    <el-table hc ref="tableListRef" :data="tableData" :loading="tableLoading" row-key="id" stripe @selection-change="tableSelectionChange">
-                        <el-table-column type="selection" width="50" />
-                        <el-table-column prop="index" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="name" label="流程名称"/>
-                        <el-table-column prop="date" label="任务状态"/>
-                        <el-table-column prop="status" label="电签状态"/>
-                        <el-table-column prop="batch" label="审批时间"/>
-                        <el-table-column prop="person" label="电签失败原因"/>
-                        <el-table-column prop="tesk" label="上报人"/>
-                        <el-table-column prop="tesk1" label="电签任务人"/>
-                    </el-table>
-                </div>
-            </el-scrollbar>
+            <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange"/>
             <template #action>
                 <HcPages :pages="searchForm" @change="pageChange"/>
             </template>
@@ -138,7 +123,15 @@ const tableSelectionChange = (rows) => {
         return (item??'') !== '';
     })
 }
-
+const tableListColumn = ref([
+    {key:'name', name: '流程名称'},
+    {key:'date', name: '任务状态'},
+    {key:'status', name: '电签状态'},
+    {key:'batch', name: '审批时间'},
+    {key:'person', name: '电签失败原因'},
+    {key:'tesk', name: '上报人'},
+    {key:'tesk1', name: '电签任务人'}
+])
 const tableData = ref([
     { num: 1, name: "test1", date: "已审批-电签失败", status: "电签失败", batch: "2022-05-16 13:35", person: "xxxxx原因", tesk: "李四", tesk1: '张三' },
     { num: 2, name: "test2", date: "已审批-电签中", status: "电签中", batch: "2022-05-16 13:35", person: "xxxxx原因", tesk: "李四", tesk1: '张三'  },

+ 51 - 42
src/views/user/index.vue

@@ -6,7 +6,7 @@
                     <img :src="userInfo['avatar'] || avatarPng" alt="" crossOrigin="anonymous"/>
                     <div class="user-avatar-upload">
                         <el-upload class="upload-dom" :action="action" :accept="accept" :headers="getTokenHeader()" :data="upData" :show-file-list="false" :on-success="uploadFinish" :on-error="uploadError" :before-upload="beforeUpload">
-                            <HcIcon name="photo_camera" fill/>
+                            <HcIcon name="camera" fill/>
                         </el-upload>
                     </div>
                 </div>
@@ -83,7 +83,7 @@
                     <el-menu :default-active="projectKey" class="hc-project-menu" unique-opened>
                         <el-sub-menu v-for="item in projectContractArr" :index="item.id">
                             <template #title>
-                                <HcIcon name="topic" class="hc-menu-icon"/>
+                                <HcIcon name="folder-2" class="hc-menu-icon"/>
                                 <span>{{ item?.name }}</span>
                             </template>
                             <el-menu-item v-for="items in item?.contractInfoList ?? []" :index="items?.id" @click="projectMenuValue(item,items)">
@@ -100,11 +100,11 @@
                     <span>保存</span>
                 </el-button>
                 <el-button hc-btn @click="cancelUserClick">
-                    <HcIcon name="cancel"/>
+                    <HcIcon name="close"/>
                     <span>取消</span>
                 </el-button>
             </div>
-            <HcCard :title="menuItem.label" v-if="menuKey === 'log'">
+            <HcCard :title="menuItem.label" :scrollbar="false" v-if="menuKey === 'log'">
                 <template #search>
                     <div class="flex items-center">
                         <div class="w-32">
@@ -134,49 +134,31 @@
                             <el-input v-model="searchLogForm.queryValue" placeholder="请输入名称关键词检索" clearable @keyup="keyUpEvent"/>
                         </div>
                         <div class="ml-2">
-                            <el-button type="primary" @click="searchClick">搜索</el-button>
+                            <el-button type="primary" @click="searchClick">
+                                <HcIcon name="search-2"/>
+                                <span>搜索</span>
+                            </el-button>
                         </div>
                     </div>
                 </template>
-                <div class="hc-table-ref-box">
-                    <el-table hc :data="logTableData" :loading="logTableLoading" stripe>
-                        <el-table-column prop="num" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="operationModule" label="业务模块" width="180"/>
-                        <el-table-column prop="operationTypeValue" label="操作类型"/>
-                        <el-table-column prop="operationMedium" label="设备" width="80"/>
-                        <el-table-column prop="operationContent" label="操作内容" />
-                        <el-table-column prop="createTime" label="操作时间" width="180"/>
-                    </el-table>
-                </div>
+                <HcTable :column="logTableColumn" :datas="logTableData" :loading="logTableLoading"/>
                 <template #action>
                     <HcPages :pages="searchLogForm" @change="pageLogChange"/>
                 </template>
             </HcCard>
-            <HcCard :title="menuItem.label" v-if="menuKey === 'recycle'" actionSize="lg">
+            <HcCard :scrollbar="false" v-if="menuKey === 'recycle'" actionSize="lg">
+                <template #header>
+                    <div class="mr-5">{{menuItem.label}}</div>
+                    <HcNewSwitch :datas="userTypeTab" :keys="userTypeKey" @change="userTypeChange"/>
+                </template>
                 <template #extra>
                     <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" @change="tabTypeChange"/>
                 </template>
-                <div class="hc-table-ref-box">
-                    <el-table ref="recycleTableRef" hc :data="recycleTableData" stripe @selection-change="recycleTableSelectionChange">
-                        <el-table-column type="selection" width="50" />
-                        <el-table-column prop="num" label="序号" width="80">
-                            <template #default="scope">
-                                {{scope.$index + 1}}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="fileName" label="删除内容" />
-                        <el-table-column prop="position" label="父节点名称"/>
-                        <el-table-column prop="operationTime" label="删除时间"/>
-                    </el-table>
-                </div>
+                <HcTable ref="recycleTableRef" :column="recycleTableColumn" :datas="recycleTableData" :loading="recycleTableLoading" isCheck @selection-change="recycleTableSelectionChange"/>
                 <template #action>
                     <div class="foot-recycle">
-                        <el-button type="primary" hc-btn :loading="recycleBtnLoading" @click="recycleBtnClick">
-                            <HcIcon name="reply"/>
+                        <el-button type="primary" hc-btn :disabled="userTypeKey === '2'" :loading="recycleBtnLoading" @click="recycleBtnClick">
+                            <HcIcon name="reply" fill/>
                             <span>恢复</span>
                         </el-button>
                         <HcPages :pages="searchRecycleForm" @change="pageRecycleChange"/>
@@ -190,7 +172,7 @@
 <script setup>
 import {ref, onMounted} from "vue";
 import {useRouter, useRoute} from 'vue-router'
-import {useAppStore} from "~src/store/index";
+import {useAppStore} from "~src/store";
 import avatarPng from '~src/assets/images/avatar.png';
 import {getTokenHeader} from '~src/api/request/header';
 import userApi from "~api/userInfo/index"
@@ -252,11 +234,11 @@ const uploadError = () => {
 const menuKey = ref(MenuType)
 const menuItem = ref({})
 const menuOptions = ref([
-    {key: 'basic', label: '基础信息', icon: 'person'},
-    {key: 'password', label: '密码设置', icon: 'lock_open'},
-    {key: 'project', label: '参建项目', icon: 'home_storage'},
-    {key: 'log', label: '操作日志', icon: 'package'},
-    {key: 'recycle', label: '回收站', icon: 'delete'},
+    {key: 'basic', label: '基础信息', icon: 'user-3'},
+    {key: 'password', label: '密码设置', icon: 'lock-unlock'},
+    {key: 'project', label: '参建项目', icon: 'folder-2'},
+    {key: 'log', label: '操作日志', icon: 'file-mark'},
+    {key: 'recycle', label: '回收站', icon: 'delete-bin-5'},
 ]);
 //获取菜单对象数据
 const menuObjItem = () => {
@@ -532,6 +514,13 @@ const operationTypeStatus = async () => {
 //设备
 const deviceData = ref([{label: "APP", value: "APP"}, {label: "PC", value: "PC"}])
 //表格数据
+const logTableColumn = ref([
+    {key:'operationModule', name: '业务模块', width: '180'},
+    {key:'operationTypeValue', name: '操作类型', width: '220'},
+    {key:'operationMedium', name: '设备', align: 'center', width: '80'},
+    {key:'operationContent', name: '操作内容'},
+    {key:'createTime', name: '操作时间', align: 'center', width: '180'},
+])
 const logTableData = ref([]);
 
 //日期时间被选择
@@ -582,6 +571,19 @@ const getLogTableData = async () => {
     }
 }
 
+//个人和全部切换
+const userTypeKey = ref('1')
+const userTypeTab = ref([{key:'1',  name: '个人'}, {key:'2', name: '全部'}]);
+const userTypeChange = (item) => {
+    userTypeKey.value = item?.key;
+    if (item?.key === '1') {
+        searchRecycleForm.value.createUserName = ''
+    } else {
+        searchRecycleForm.value.createUserName = 'ALL'
+    }
+    getRecycleTableData()
+}
+
 //结构类型tab数据和相关处理
 const tabTypeKey = ref('1')
 const tabTypeTab = ref([
@@ -598,12 +600,19 @@ const tabTypeChange = (item) => {
 
 //搜索和分页数据
 const searchRecycleForm = ref({
-    projectId: projectId.value, contractId: contractId.value,
+    projectId: projectId.value, contractId: contractId.value, createUserName: '',
     delType: tabTypeKey.value, current: 1, size: 20, total: 0
 })
 
 //表格数据
 const recycleTableRef = ref(null)
+const recycleTableColumn = ref([
+    {key:'fileName', name: '删除内容'},
+    {key:'position', name: '父节点名称'},
+    {key:'createUserName', name: '操作人'},
+    {key:'operationTime', name: '删除时间', align: 'center', width: '180'},
+])
+const recycleTableLoading = ref(false)
 const recycleTableData = ref(null);
 
 //分页被点击