Kaynağa Gözat

新主题,先不要发版

ZaiZai 1 yıl önce
ebeveyn
işleme
850e6ff6a3
39 değiştirilmiş dosya ile 1031 ekleme ve 2524 silme
  1. 1 1
      src/components/dialog/SortNodeDialog.vue
  2. 0 386
      src/layout111/index.vue
  3. 0 199
      src/layout111/layout.scss
  4. 0 43
      src/layout111/modules/ConfigBar.vue
  5. 0 181
      src/layout111/modules/HelpInfoBar.vue
  6. 0 326
      src/layout111/modules/MenuBar.vue
  7. 0 65
      src/layout111/modules/MenuItem.vue
  8. 0 207
      src/layout111/modules/TopMenuBar.vue
  9. 0 149
      src/layout111/modules/UserInfoBar.vue
  10. 16 12
      src/views/archives/appraisal.vue
  11. 86 92
      src/views/archives/meta-data.vue
  12. 16 12
      src/views/archives/rolling.vue
  13. 21 29
      src/views/archives/tuning.vue
  14. 2 2
      src/views/custody/backup.vue
  15. 19 19
      src/views/custody/components/tab-expire.vue
  16. 39 39
      src/views/custody/components/tab-reform.vue
  17. 20 20
      src/views/custody/components/tab-spite.vue
  18. 81 77
      src/views/home/index1.vue
  19. 4 3
      src/views/tasks/components/TableCard.vue
  20. 1 1
      src/views/tasks/flow.vue
  21. 13 13
      src/views/tasks/hc-data.vue
  22. 2 1
      src/views/tasks/message-data.vue
  23. 84 77
      src/views/tasks/sign-admin.vue
  24. 106 83
      src/views/transfer/components/carry-spot-checks.vue
  25. 2 2
      src/views/transfer/components/conclusion/table-opinion.vue
  26. 1 1
      src/views/transfer/components/conclusion/table-score.vue
  27. 1 1
      src/views/transfer/components/examination/table-opinion.vue
  28. 1 1
      src/views/transfer/components/submit-report/table-opinion.vue
  29. 1 1
      src/views/transfer/components/submit-report/table-score.vue
  30. 34 30
      src/views/transfer/components/table-classify.vue
  31. 64 58
      src/views/transfer/components/table-collect.vue
  32. 61 53
      src/views/transfer/initial-expert.vue
  33. 20 20
      src/views/transfer/inspects.vue
  34. 55 53
      src/views/transfer/leader-sampling.vue
  35. 69 67
      src/views/transfer/preliminary-examination.vue
  36. 76 73
      src/views/user/project.vue
  37. 59 57
      src/views/using/components/table-classify.vue
  38. 70 64
      src/views/using/components/table-collect.vue
  39. 6 6
      src/views/using/query.vue

+ 1 - 1
src/components/dialog/SortNodeDialog.vue

@@ -4,7 +4,7 @@
         <el-alert title="可拖动排序,也可在后面点击图标,切换排序" type="warning" :closable="false" />
         <div class="hc-table-h">
             <HcTable
-                ui="hc-table-row-drop" is-row-drop quick-sort
+                ui="hc-table-row-drop" is-row-drop quick-sort is-new :index-style="{ width: 60 }"
                 :column="nodeSortTableColumn" :datas="nodeSortTableData" :loading="nodeSortTableLoading"
                 @row-drop="nodeSortTableRowDrop" @row-sort="nodeSortTableRowDrop"
             >

+ 0 - 386
src/layout111/index.vue

@@ -1,386 +0,0 @@
-<template>
-    <el-container class="hc-layout-box">
-        <div v-show="AppTheme === 'dark'" class="hc-app-bg-box">
-            <img :src="appViewBg" alt="" crossOrigin="anonymous">
-        </div>
-        <el-aside v-show="MenuBarKey !== 'home-index'" :width="isCollapse ? '100px' : '250px'" class="hc-aside-box" :class="[isCollapse ? 'is-collapse' : '']">
-            <div class="hc-aside-logo-box" @click="logoClick">
-                <img id="hc-logo-icon" :src="appLogoIcon" alt="">
-                <img v-show="!isCollapse" id="hc-logo-name" :src="appLogoName" alt="">
-            </div>
-            <div class="hc-aside-menu-box">
-                <el-scrollbar>
-                    <MenuBar :datas="MenuBarData" :cur="MenuBarKey" :collapse="isCollapse" :msg-count="msgCount" @change="MenuBarChange" />
-                </el-scrollbar>
-            </div>
-            <div class="hc-aside-bar-box">
-                <div :class="isCollapse ? '' : 'active'" @click="collapseChange(false)">
-                    <HcIcon name="menu-unfold" />
-                </div>
-                <div v-show="!isCollapse" :class="isCollapse ? 'active' : ''" @click="collapseChange(true)">
-                    <HcIcon name="menu-fold" />
-                </div>
-            </div>
-        </el-aside>
-        <el-container class="hc-container-view">
-            <el-header v-show="MenuBarKey !== 'home-index'" class="hc-header-view">
-                <div id="hc-header-page-name" class="hc-header-page-name">
-                    {{ RoutesTitle }}
-                </div>
-                <div class="hc-header-top-menu-bar">
-                    <TopMenuBar />
-                </div>
-                <div class="hc-header-content">
-                    <div v-if="userRoleId !== website.role_id" class="hc-header-cascader-box">
-                        <div class="project-name-box">
-                            {{ projectInfo.projectAlias }} / {{ contractInfo.name }}
-                        </div>
-                        <el-cascader ref="ElCascaderRef" v-model="projectValue" :options="projectContract" :props="projectProps" placeholder="请选择项目" @change="projectContractChange" />
-                    </div>
-                    <div v-else class="hc-header-project-name-box" @click="userProjectClick">
-                        <span class="project-icon">
-                            <HcIcon name="arrow-right" />
-                        </span>
-                        <span class="project-name">{{ projectInfoData?.projectName ?? '请先选择项目' }}</span>
-                    </div>
-                    <HelpInfoBar />
-                    <ConfigBar />
-                    <UserInfoBar />
-                </div>
-            </el-header>
-            <el-main id="hc-main-box" class="hc-main-box" :class="MenuBarKey">
-                <router-view v-if="reloadRouter" v-slot="{ Component }">
-                    <transition name="fade-transform">
-                        <keep-alive include="ProductList">
-                            <component :is="Component" :msg-count="msgCount" :msg-change="msgChange" />
-                        </keep-alive>
-                    </transition>
-                </router-view>
-            </el-main>
-        </el-container>
-    </el-container>
-</template>
-
-<script setup>
-import { nextTick, onMounted, ref, watch } from 'vue'
-import { useRoute, useRouter } from 'vue-router'
-import { useAppStore } from '~src/store'
-import MenuBar from './modules/MenuBar.vue'
-import TopMenuBar from './modules/TopMenuBar.vue'
-import HelpInfoBar from './modules/HelpInfoBar.vue'
-import UserInfoBar from './modules/UserInfoBar.vue'
-import ConfigBar from './modules/ConfigBar.vue'
-import { initButtons, initProjectContract } from '~sto/app'
-import website from '~src/config/index'
-import appViewBg from '~src/assets/view/bg.png'
-import { setImageColor, setImageColorStyle } from 'js-fast-way'
-import { setAppName } from '~uti/tools'
-
-//初始组合式
-const router = useRouter()
-const useRoutes = useRoute()
-const useAppState = useAppStore()
-
-//系统信息
-const appTitle = ref(useAppState.getTitle)
-const appLogoIcon = ref(useAppState.getLogoIcon)
-const appLogoName = ref(useAppState.getLogoName)
-
-//路由参数
-const routerQuery = useRoutes?.query
-const reloadRouter = ref(true)
-const BarMenuKey = useRoutes?.name ?? 'home-index'
-const BarMenuTitle = useRoutes?.meta?.title ?? ''
-
-//主题和色调变量
-const AppColor = ref(useAppState.getColor)
-const AppTheme = ref(useAppState.getTheme)
-
-//顶部菜单数据和相关处理
-const MenuBarKey = ref(BarMenuKey)
-const RoutesName = ref(BarMenuKey)
-const RoutesTitle = ref(BarMenuTitle)
-const MenuBarData = ref(useAppState.getMenus)
-const isCollapse = ref(useAppState.getCollapse)
-const userInfo = ref(useAppState.getUserInfo)
-const userRoleId = ref(useAppState.getRoleId)
-const projectInfoData = ref(useAppState.getProjectInfo)
-
-//项目合同段
-const projectInfo = ref({})
-const contractInfo = ref({})
-const projectContract = ref([])
-const projectValue = ref(null)
-const projectProps = ref({
-    value: 'id',
-    label: 'projectAlias',
-    children: 'contractInfoList',
-})
-
-//渲染完成
-onMounted(() => {
-    initButtons()
-    initProjectContract()
-    if (userRoleId.value !== website.role_id) {
-        const info = useAppState.getProjectContract || []
-        projectContractData(info)
-    }
-    setIsCollapse(RoutesName.value)
-    useAppState.barMenuName = BarMenuTitle
-    setInitSocket()
-    setLogoImageColor()
-    setLogoNameColor(useAppState.getTheme)
-})
-
-//监听
-watch(() => [
-    useAppState.getProjectContract,
-    useAppState.getMenus,
-    useAppState.getTheme,
-    useAppState.getColor,
-    useRoutes?.name,
-    useRoutes?.meta?.title,
-    useAppState.getCollapse,
-    useAppState.getProjectInfo,
-], ([projectContractArr, userMenus, theme, ColorVal, RouteName, RouteTitle, collapse, projectInfo]) => {
-    MenuBarData.value = userMenus
-    AppColor.value = ColorVal
-    AppTheme.value = theme
-    RoutesName.value = RouteName ?? 'home-index'
-    MenuBarKey.value = RouteName ?? 'home-index'
-    RoutesTitle.value = RouteTitle ?? ''
-    isCollapse.value = collapse
-    setIsCollapse(RoutesName.value)
-    if (userRoleId.value !== website.role_id) {
-        projectContractData(projectContractArr || [])
-    } else {
-        projectInfoData.value = projectInfo
-    }
-    useAppState.barMenuName = RouteTitle ?? ''
-    setAppName(appTitle.value)
-    setLogoNameColor(theme)
-})
-
-//监听
-watch(() => [
-    useAppState.getTitle,
-    useAppState.getLogoIcon,
-    useAppState.getLogoName,
-    useAppState.getColor,
-], ([Title, LogoIcon, LogoName, ColorVal]) => {
-    appTitle.value = Title
-    appLogoIcon.value = LogoIcon
-    appLogoName.value = LogoName
-    AppColor.value = ColorVal
-    setLogoImageColor()
-})
-
-//设置Logo图片颜色
-const setLogoImageColor = () => {
-    setImageColorStyle('hc-logo-icon', AppColor.value?.color)
-}
-
-//设置Logo图片颜色
-const setLogoNameColor = (theme) => {
-    try {
-        let filter = 'invert(85%) sepia(91%) saturate(0%) hue-rotate(233deg) brightness(114%) contrast(101%)'
-        if (theme === 'light') {
-            filter = 'invert(0%) sepia(100%) saturate(0%) hue-rotate(235deg) brightness(107%) contrast(103%)'
-        }
-        document.getElementById('hc-logo-name').style.filter = filter
-    } catch {}
-}
-
-
-//设置折叠
-const setIsCollapse = (key) => {
-    if (key === 'data-fill-wbs') {
-        isCollapse.value = true
-        useAppState.setCollapse(true)
-    }
-}
-
-//是否折叠
-const collapseChange = (bool) => {
-    isCollapse.value = bool
-    useAppState.setCollapse(bool)
-}
-
-//处理项目合同段数据
-const projectContractData = (projectContractData) => {
-    if (projectContractData.length > 0) {
-        //处理别名
-        projectContractData.forEach(item => {
-            let contractArr = item['contractInfoList'] || []
-            contractArr.forEach(items => {
-                items['projectAlias'] = items['name']
-            })
-        })
-        //处理其他数据
-        projectContract.value = projectContractData
-        const projectId = useAppState.getProjectId //项目ID
-        const contractId = useAppState.getContractId //合同段ID
-        const UserProjectInfo = useAppState.getProjectInfo
-        const UserContractInfo = useAppState.getContractInfo
-        //查询缓存的选中ID是否存在
-        const pid = projectContractData.findIndex(item => Number(item.id) === Number(projectId))
-        const contractList = projectContractData[pid]?.contractInfoList || []
-        const cid = contractList.findIndex(item => Number(item.id) === Number(contractId))
-        //如果缓存的选中ID不存在
-        if (cid === -1) {
-            //取项目数组中的第一个数据
-            let letProjectInfo = projectContractData[0]
-            let contractInfoList = letProjectInfo?.contractInfoList || []
-            let letContractInfo = contractInfoList[0] || {}
-            projectValue.value = letContractInfo?.id
-            projectInfo.value = letProjectInfo
-            contractInfo.value = letContractInfo
-            //设置缓存
-            useAppState.setProjectInfo(letProjectInfo)
-            useAppState.setContractInfo(letContractInfo)
-            useAppState.setProjectId(letProjectInfo?.id)
-            useAppState.setContractId(letContractInfo?.id)
-        } else {
-            projectValue.value = String(contractId)
-            projectInfo.value = UserProjectInfo
-            contractInfo.value = UserContractInfo
-        }
-    } else {
-        projectContract.value = []
-        projectValue.value = null
-        projectInfo.value = {}
-        contractInfo.value = {}
-    }
-}
-
-//项目被选择
-const ElCascaderRef = ref(null)
-const projectContractChange = (val) => {
-    const Nodes = ElCascaderRef.value.getCheckedNodes()
-    const UserProjectInfo = Nodes[0].parent.data
-    const UserContractInfo = Nodes[0].data
-    //缓存项目数据
-    useAppState.setProjectId(val[0])
-    useAppState.setContractId(val[1])
-    useAppState.setProjectInfo(UserProjectInfo)
-    useAppState.setContractInfo(UserContractInfo)
-    //更改界面更新
-    projectInfo.value = UserProjectInfo
-    contractInfo.value = UserContractInfo
-    window.$message?.info('切换了项目,数据更新中')
-    //刷新路由
-    reloadRouter.value = false
-    nextTick(()=>{
-        reloadRouter.value = true
-    })
-}
-
-//菜单被点击
-const MenuBarChange = (item) => {
-    MenuBarKey.value = item?.code
-    setIsCollapse(item?.code)
-    router.push({ name: item?.code })
-}
-
-//首页
-const logoClick = () => {
-    router.push({
-        name: useAppState.homeUrl,
-    })
-}
-
-//项目档案汇总
-const userProjectClick = () => {
-    router.push({ path: '/user/project' })
-}
-const msgCount = ref({
-})
-const msgChange = ref(0)
-//推送系统
-let socket
-const setInitSocket = () => {
-    const user_id = userInfo.value.user_id
-    socket = new WebSocket(website.socket + user_id)
-    try {
-        socket.onopen = function (evt) {
-            console.log('websocket链接成功')
-        }
-        socket.onclose = function (evt) {
-            console.log('websocket连接已断开')
-        }
-        socket.onmessage = function ({ data }) {
-            if (data) {
-                msgCount.value = data
-                console.log(data, '消息信息')
-                msgChange.value++
-
-            }
-        }
-        socket.onerror = function ({ data }) {
-            console.log('发生错误:', data)
-        }
-    } catch {
-    }
-}
-
-//发送消息
-const socketSend = (msg) => {
-    try {
-        if (socket) {
-            socket.send(msg)
-        } else {
-            setTimeout(() => {
-                socket.send(msg)
-            }, 1000)
-        }
-    } catch {
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-@import "./layout.scss";
-</style>
-
-<style lang="scss">
-.hc-layout-box .hc-container-view {
-    .hc-header-view .hc-header-content .hc-header-cascader-box {
-        .el-cascader {
-            width: 100%;
-        }
-        .el-cascader .el-input .el-input__wrapper {
-            padding: 4px 15px;
-            border: 1px solid #00000000;
-            border-radius: 100px;
-            background: #f1f5f8;
-            color: #202532;
-            box-shadow: var(--hc-shadow);
-            .el-input__inner, .el-input__suffix {
-                color: #202532;
-            }
-        }
-        .el-cascader .el-input.is-focus .el-input__wrapper {
-            box-shadow: 4px 4px 8px 0 rgba(54,92,167,0.15), -4px -4px 8px 0px #ffffff;
-        }
-        .el-cascader .el-input .icon-arrow-down {
-            font-size: 18px;
-            font-weight: bold;
-        }
-    }
-    &.home {
-        .hc-header-view .hc-header-content .hc-header-cascader-box {
-            .el-cascader .el-input .el-input__wrapper {
-                background-color: #00000000;
-                border: 1px solid white;
-                box-shadow: initial;
-                .el-input__inner, .el-input__suffix {
-                    color: white;
-                }
-            }
-            .el-cascader .el-input.is-focus .el-input__wrapper {
-                box-shadow: initial;
-            }
-        }
-    }
-}
-</style>

+ 0 - 199
src/layout111/layout.scss

@@ -1,199 +0,0 @@
-.hc-layout-box {
-    position: relative;
-    height: 100vh;
-    width: 100%;
-    .hc-layout-bg-box, .hc-app-bg-box {
-        position: absolute;
-        bottom: 0;
-        left: 0;
-        right: 0;
-        top: 0;
-        z-index: 0;
-        display: flex;
-        img {
-            width: 100%;
-            height: 100%;
-            object-fit: cover;
-        }
-    }
-    .hc-aside-box {
-        position: relative;
-        color: #838791;
-        background: #f1f5f8;
-        transition: 0.2s;
-        box-shadow: -2px 0 10px 0 rgba(32,37,50,0.03), 0 10px 21px 20px rgba(32,37,50,0.03);
-        border-radius: 0 60px 0 0;
-        z-index: 1;
-        .hc-aside-logo-box {
-            position: relative;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            transition: opacity 0.3s;
-            cursor: pointer;
-            margin: 32px 0;
-            left: -10px;
-            #hc-logo-icon {
-                height: 35px;
-                width: 35px;
-            }
-            #hc-logo-name {
-                height: 40px;
-                margin-left: 5px;
-            }
-            &:hover {
-                opacity: .8;
-            }
-        }
-        .hc-aside-menu-box {
-            position: relative;
-            height: calc(100% - 216px);
-            width: 100%;
-            overflow: hidden;
-            user-select: none;
-        }
-        .hc-aside-bar-box {
-            position: relative;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            padding: 24px 0;
-            margin-top: 24px;
-            transition: 0.2s;
-            &:before {
-                position: absolute;
-                content: '';
-                top: 0;
-                width: 100%;
-                height: 1px;
-                background-image: linear-gradient(90deg, rgba(102,102,102,0.00) 11%, #dbe8f3 35%, #dbe8f3 64%, rgba(102,102,102,0.00) 86%);
-            }
-            div {
-                position: relative;
-                width: 40px;
-                height: 40px;
-                display: flex;
-                justify-content: center;
-                align-items: center;
-                font-size: 26px;
-                transition: 0.1s;
-                &.active {
-                    color: white;
-                    background: var(--el-color-primary);
-                    border-radius: 6px;
-                    box-shadow: 3px 2px 8px 0 var(--hc-shadow-color-5);
-                }
-                &:not(.active) {
-                    cursor: pointer;
-                    &:hover {
-                        color: var(--el-color-primary);
-                    }
-                }
-                &+div{
-                    margin-left: 26px;
-                }
-            }
-        }
-        &.is-collapse {
-            border-radius: 0 50px 0 0;
-            .hc-aside-logo-box {
-                left: initial;
-            }
-        }
-        &.home-index {
-            color: white;
-            background: rgba( 255, 255, 255, 0.35 );
-            box-shadow: 0 2px 10px 0 rgba(32,37,50,0.03);
-            backdrop-filter: blur( 20px );
-            -webkit-backdrop-filter: blur( 20px );
-            .hc-aside-menu-box .hc-aside-menu.el-menu {
-                --el-menu-text-color: white;
-            }
-        }
-    }
-    .hc-container-view {
-        position: relative;
-        z-index: 1;
-        .hc-header-view {
-            position: relative;
-            display: flex;
-            align-items: center;
-            flex-direction: row;
-            --el-header-padding: 0 24px;
-            --el-header-height: 66px;
-            .hc-header-page-name {
-                position: relative;
-                color: #cccccc;
-                font-size: 22px;
-                display: flex;
-                align-items: center;
-            }
-            .hc-header-top-menu-bar {
-                flex: 1;
-                position: relative;
-                display: flex;
-                align-items: center;
-                padding: 0 30px;
-                overflow: hidden;
-            }
-            .hc-header-content {
-                position: relative;
-                text-align: right;
-                display: flex;
-                align-items: center;
-                justify-content: flex-end;
-                max-width: 60%;
-                .hc-header-cascader-box {
-                    position: relative;
-                    margin-right: 30px;
-                    border-radius: 100px;
-                    flex: 1;
-                    .project-name-box {
-                        padding-right: 55px;
-                        position: relative;
-                        visibility: hidden;
-                        z-index: -1;
-                        height: 1px;
-                    }
-                }
-            }
-        }
-        .hc-main-box {
-            position: relative;
-            overflow: hidden;
-            height: 100%;
-            --el-main-padding: 24px;
-            margin-top: -24px;
-            &.home-index {
-                --el-main-padding: 0;
-                margin-top: 0;
-            }
-        }
-        &.home {
-            color: #ffffff;
-            .hc-header-view .hc-header-page-name {
-                color: #CCD0DE;
-            }
-        }
-    }
-}
-
-.hc-header-project-name-box {
-    padding: 4px 15px;
-    border: 1px solid #00000000;
-    border-radius: 100px;
-    background: #f1f5f8;
-    color: #202532;
-    box-shadow: var(--hc-shadow);
-    height: 40px;
-    display: flex;
-    align-items: center;
-    margin-right: 30px;
-    cursor: pointer;
-    user-select: none;
-    .project-icon {
-        margin-right: 8px;
-        position: relative;
-        top: 2px;
-    }
-}

+ 0 - 43
src/layout111/modules/ConfigBar.vue

@@ -1,43 +0,0 @@
-<template>
-    <div class="header-icon-bar" @click="toConfigClick">
-        <HcIcon name="settings" class="header-icon"/>
-    </div>
-</template>
-
-<script setup>
-import { useRouter } from 'vue-router'
-
-const router = useRouter()
-
-//跳转到系统设置页面
-const toConfigClick = () => {
-    router.push({
-        path: '/config/theme'
-    });
-}
-</script>
-
-<style lang="scss" scoped>
-.header-icon-bar {
-    position: relative;
-    height: 40px;
-    width: 40px;
-    border-radius: 100px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    cursor: pointer;
-    margin-right: 30px;
-    font-size: 26px;
-    border: 1px solid #00000000;
-    background: #f1f5f8;
-    color: #202532;
-    box-shadow: var(--hc-shadow);
-}
-.hc-layout-box .hc-container-view.home .hc-header-view .hc-header-content .header-icon-bar {
-    border: 1px solid white;
-    color: inherit;
-    box-shadow: initial;
-    background: initial;
-}
-</style>

+ 0 - 181
src/layout111/modules/HelpInfoBar.vue

@@ -1,181 +0,0 @@
-<template>
-    <el-popover placement="bottom" :width="220" trigger="hover">
-        <template #reference>
-            <div class="header-icon-bar">
-                <HcIcon name="question" class="header-icon"/>
-            </div>
-        </template>
-        <div class="header-pover-menu-list">
-            <div class="list-item">
-                <span class="text">开启功能气泡提示</span>
-                <el-switch v-model="bubbleVal" @change="bubbleUpdate"/>
-            </div>
-            <div class="list-item" @click="excelPreviewClick" v-if="excelUrl">
-                <span class="text">查看系统操作文档</span>
-                <img class="icon" :src="getAssetsHomeFile('word.png')" alt=""/>
-                <img class="icon1" :src="getAssetsHomeFile('word1.png')" alt=""/>
-            </div>
-            <div class="list-item" @click="videoPreviewModal = true" v-if="videoUrl">
-                <span class="text">当前页面功能讲解</span>
-                <img class="icon" :src="getAssetsHomeFile('video.png')" alt=""/>
-                <img class="icon1" :src="getAssetsHomeFile('video1.png')" alt=""/>
-            </div>
-        </div>
-    </el-popover>
-    <!--当前页面功能讲解-->
-    <el-dialog v-model="videoPreviewModal" width="62rem" destroy-on-close :before-close="videoPreviewModalClose">
-        <video class="preview-video" :src="videoUrl" controls="controls" autoplay="autoplay">
-            您的浏览器不支持 video
-        </video>
-    </el-dialog>
-</template>
-
-<script setup>
-import { ref,watch,nextTick } from "vue";
-import { useRouter,useRoute } from 'vue-router'
-import { useAppStore } from "~src/store";
-import ScreenShot from "js-web-screen-shot";
-import { getStoreValue }  from '~src/utils/storage'
-import {getObjValue, getToObjVal} from "js-fast-way"
-
-//初始变量
-const router = useRouter()
-const useRoutes = useRoute()
-const useAppState = useAppStore()
-
-//相关变量
-const route = getObjValue(getStoreValue('route'))
-const bubbleVal = ref(useAppState.getBubble);
-const videoUrl = ref('')
-const excelUrl = ref('')
-const videoPreviewModal = ref(false)
-const webRtcVal = ref(false)
-const fullScreenVal = ref(true)
-
-//监听
-watch(() => [
-    useAppState.getBubble,
-    useRoutes.name,
-    useAppState.getShotWebRtc,
-    useAppState.getFullScreen,
-], ([Bubble,routeName,webRtc,fullScreen]) => {
-    bubbleVal.value = Bubble
-    getVideoUrl(routeName)
-    getExcelUrl(routeName)
-    setScreenShotData(webRtc,fullScreen)
-})
-
-//渲染完成
-nextTick(() => {
-    getVideoUrl(useRoutes?.name)
-    getExcelUrl(useRoutes?.name)
-    const webRtc = useAppState.getShotWebRtc
-    const fullScreen = useAppState.getFullScreen
-    setScreenShotData(webRtc,fullScreen)
-})
-
-//取文档地址
-const getExcelUrl = (name) => {
-    excelUrl.value = getToObjVal(route, name, 'excelUrl')
-}
-
-//取视频地址
-const getVideoUrl = (name) => {
-    videoUrl.value = getToObjVal(route, name, 'videoUrl')
-}
-
-//处理屏幕截图的配置
-const setScreenShotData = (webRtc,fullScreen) => {
-    webRtcVal.value = parseInt(webRtc) === 1
-    fullScreenVal.value = parseInt(fullScreen) === 1
-}
-
-//开关值改变
-const bubbleUpdate = (val) => {
-    bubbleVal.value = val;
-    useAppState.setBubble(val);
-}
-
-
-// 获取assets静态资源
-const getAssetsHomeFile = (url) => {
-    const path = `../../assets/images/${url}`;
-    const modules = import.meta.globEager("../../assets/images/*");
-    return modules[path].default;
-}
-
-//关闭视频弹窗
-const videoPreviewModalClose = () => {
-    videoPreviewModal.value = false
-}
-
-//查看系统操作文档
-const excelPreviewClick = () => {
-    if (excelUrl.value) {
-        window.open(excelUrl.value, '_blank')
-    } else {
-        window?.$message.warning('暂无文档')
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.header-icon-bar {
-    position: relative;
-    height: 40px;
-    width: 40px;
-    border-radius: 100px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 26px;
-    cursor: pointer;
-    margin-right: 30px;
-    border: 1px solid #00000000;
-    background: #f1f5f8;
-    color: #202532;
-    box-shadow: var(--hc-shadow);
-}
-.hc-layout-box .hc-container-view.home .hc-header-view .hc-header-content .header-icon-bar {
-    border: 1px solid white;
-    color: inherit;
-    box-shadow: initial;
-    background: initial;
-}
-
-.header-pover-menu-list {
-    position: relative;
-    margin: -5px -12px;
-    .list-item {
-        position: relative;
-        padding: 10px 24px;
-        cursor: pointer;
-        display: flex;
-        align-items: center;
-        transition: background-color 0.2s;
-        .text {
-            flex: auto;
-        }
-        .icon,.icon1 {
-            width: 24px;
-            height: 24px;
-        }
-        .icon1 {
-            display: none;
-        }
-        &:hover {
-            color: #ffffff;
-            background-color: var(--el-color-primary);
-            .icon {
-                display: none;
-            }
-            .icon1 {
-                display: block;
-            }
-        }
-    }
-}
-.preview-video {
-    width: 100%;
-}
-</style>

+ 0 - 326
src/layout111/modules/MenuBar.vue

@@ -1,326 +0,0 @@
-<template>
-    <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">
-                <div class="menu---item">
-                    <HcIcon name="home-3" :fill="curKey === 'home-index'" class="hc-menu-icon"/>
-                    <div class="name">数据看板</div>
-                </div>
-            </div>
-        </el-menu-item> -->
-        <MenuItem :datas="datas" :cur="curKey" :collapse="isCollapse" @change="MenuClick"/>
-    </el-menu>
-</template>
-
-<script setup>
-import {ref,watch} from "vue";
-import MenuItem from "./MenuItem.vue"
-const props = defineProps({
-    datas: {
-        type: Array,
-        default: () => ([])
-    },
-    cur: {
-        type: String,
-        default: 'home-index'
-    },
-    collapse: {
-        type: Boolean,
-        default: false
-    },
-})
-
-//初始变量
-const curKey = ref(props.cur);
-const isCollapse = ref(props.collapse);
-
-//监听
-watch(() => [
-    props.cur,
-    props.collapse
-], ([cur,collapse]) => {
-    curKey.value = cur
-    isCollapse.value = collapse
-})
-
-//事件
-const emit = defineEmits(['change'])
-const MenuClick = (item) => {
-    curKey.value = item?.code || '';
-    emit('change', item)
-}
-</script>
-
-<style lang="scss">
-.el-menu.hc-aside-menu {
-    --el-menu-bg-color: initial;
-    --el-menu-text-color: #838791;
-    --el-menu-active-color: #ffffff;
-    --el-menu-hover-text-color: var(--el-color-primary);
-    --el-menu-hover-bg-color: initial;
-    --el-menu-item-font-size: 16px;
-    --el-menu-item-height: 48px;
-    margin-left: -10px;
-    border-right: 0;
-    padding: 8px 0;
-    &.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,
-    &.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,
-    &.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title {
-        white-space: nowrap;
-        padding-left: 0;
-    }
-    .el-sub-menu__title {
-        padding: 0;
-    }
-    .el-menu-item, .el-sub-menu {
-        padding: 15px 0 0 30px !important;
-        min-width: initial;
-        transition: 0.2s;
-        .hc-aside-menu-item {
-            flex: 1;
-            position: relative;
-            border-radius: 50px 0 0 50px;
-            padding: 0 16px;
-            display: flex;
-            align-items: center;
-            transition: 0.2s;
-            .menu---item {
-                display: contents;
-            }
-            .hc-menu-icon {
-                font-size: 22px;
-                margin-right: 10px;
-                line-height: initial;
-            }
-            .name {
-                flex: 1;
-                width: 0;
-            }
-            .el-badge, .el-badge .el-badge__content {
-                vertical-align: initial;
-            }
-        }
-    }
-    .el-sub-menu .el-icon {
-        display: none;
-    }
-    .el-sub-menu .el-icon.hc-icon-i {
-        position: relative;
-        display: inline-block;
-        font-size: 16px;
-        right: 15px;
-        top: initial;
-        height: initial;
-        width: initial;
-        margin-top: 0;
-        vertical-align: initial;
-    }
-    .el-sub-menu .el-sub-menu__title .hc-aside-menu-item:hover,
-    .el-menu-item:not(.is-active) .hc-aside-menu-item:hover {
-        color: var(--el-color-primary);
-    }
-    .el-sub-menu.is-active > .el-sub-menu__title > .hc-aside-menu-item {
-        color: var(--el-color-primary);
-    }
-    .el-menu-item.is-active {
-        .hc-aside-menu-item {
-            --radius-size: 20px;
-            background-color: var(--el-color-primary);
-            box-shadow: 0 2px 8px 0 var(--hc-shadow-color-5);
-            &::before, &::after {
-                content: '';
-                display: block;
-                height: var(--radius-size);
-                width: var(--radius-size);
-                position: absolute;
-                background: radial-gradient(
-                        var(--radius-size) at var(--radius-size) 0px,
-                        transparent var(--radius-size),
-                        var(--el-color-primary) var(--radius-size)
-                );
-            }
-            &::before {
-                right: 0;
-                transform: scaleX(-1);
-                top: calc(-1 * var(--radius-size));
-                z-index: 999;
-            }
-            &::after {
-                right: 0;
-                bottom: calc(-1 * var(--radius-size));
-                transform: scale(-1);
-                z-index: 999;
-            }
-        }
-    }
-}
-.hc-aside-menu.el-menu--collapse {
-    margin-left: 0;
-    width: 100px;
-    .el-sub-menu__title {
-        height: inherit;
-        line-height: initial;
-        width: 100px;
-        justify-content: center;
-        transition: 0.2s;
-    }
-    .el-menu-item, .el-sub-menu {
-        padding: 0 !important;
-        height: 60px;
-        line-height: initial;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        width: 100px;
-        transition: 0.2s;
-        .hc-aside-menu-item {
-            display: inline-flex;
-            align-items: center;
-            justify-content: center;
-            width: 60px;
-            height: 60px;
-            text-align: center;
-            border-radius: 10px;
-            padding: 5px;
-            flex: initial;
-            transition: 0.2s;
-            .menu---item {
-                position: relative;
-                display: block;
-            }
-            .hc-menu-icon {
-                margin-right: 0;
-            }
-            .name {
-                flex: initial;
-                width: 100%;
-            }
-            .el-badge, .el-badge .el-badge__content {
-                vertical-align: initial;
-            }
-            .el-badge {
-                position: absolute;
-                top: -20px;
-                right: -24px;
-            }
-        }
-    }
-    .el-sub-menu .el-icon.hc-icon-i {
-        display: none;
-    }
-    .el-menu-item + .el-menu-item,
-    .el-menu-item + .el-sub-menu,
-    .el-sub-menu + .el-menu-item,
-    .el-sub-menu + .el-sub-menu {
-        margin-top: 24px;
-    }
-    .el-sub-menu:not(.is-active):hover,
-    .el-menu-item:not(.is-active):hover {
-        .hc-aside-menu-item {
-            background-color: var(--el-color-primary-light-9);
-            color: var(--el-color-primary);
-        }
-    }
-    .el-menu-item.is-active, .el-sub-menu.is-active {
-        .hc-aside-menu-item {
-            color: #ffffff !important;
-            background: linear-gradient(90deg,var(--el-color-primary-light-5), var(--el-color-primary) 100%);
-            box-shadow: 0 2px 8px 0 var(--hc-shadow-color-5);
-            &::before, &::after {
-                content: '';
-                display: none;
-            }
-        }
-    }
-}
-.aside-menu-popper.el-popper.is-light {
-    background: initial !important;
-    border: 0 !important;
-}
-.aside-menu-popper.el-popper .el-menu--vertical .el-menu {
-    --el-menu-bg-color: #f1f5f8;
-    --el-menu-text-color: #838791;
-    --el-menu-active-color: #ffffff;
-    --el-menu-hover-bg-color: initial;
-    --el-menu-item-font-size: 16px;
-    background-color: #f1f5f8;
-    color: #838791;
-    .el-sub-menu__title {
-        padding: 0;
-        justify-content: center;
-        transition: 0.2s;
-    }
-    .el-menu-item, .el-sub-menu {
-        color: inherit;
-        padding: 0;
-        transition: 0.2s;
-        .hc-aside-menu-item {
-            flex: 1;
-            position: relative;
-            padding: 0 16px;
-            display: flex;
-            align-items: center;
-            transition: 0.2s;
-            .menu---item {
-                display: contents;
-            }
-            .hc-menu-icon {
-                font-size: 22px;
-                margin-right: 10px;
-                line-height: initial;
-            }
-            .name {
-                flex: 1;
-                width: 0;
-            }
-            .el-badge, .el-badge .el-badge__content {
-                vertical-align: initial;
-            }
-        }
-        &.is-active {
-            color: white;
-        }
-    }
-    .el-sub-menu .el-icon {
-        display: none;
-    }
-    .el-sub-menu .el-icon.hc-icon-i {
-        position: relative;
-        display: inline-block;
-        font-size: 16px;
-        right: 10px;
-        top: initial;
-        height: initial;
-        width: initial;
-        margin-top: 0;
-        vertical-align: initial;
-    }
-    .el-sub-menu:not(.is-active) .el-sub-menu__title:hover {
-        background-color: var(--el-color-primary-light-9);
-        color: var(--el-color-primary);
-    }
-    .el-menu-item:not(.is-active):hover {
-        .hc-aside-menu-item {
-            background-color: var(--el-color-primary-light-9);
-            color: var(--el-color-primary);
-        }
-    }
-    .el-menu-item.is-active {
-        .hc-aside-menu-item {
-            background-color: var(--el-color-primary);
-        }
-    }
-    .el-sub-menu.is-active .el-sub-menu__title {
-        background-color: var(--el-color-primary-light-9);
-        color: var(--el-color-primary);
-    }
-}
-
-.aside-menu-popper.el-popper .el-menu--vertical.home-index .el-menu {
-    --el-menu-bg-color: initial;
-    --el-menu-text-color: initial;
-    color: white;
-    background-color: rgba(255, 255, 255, 0.25);
-    backdrop-filter: blur(4px);
-}
-</style>

+ 0 - 65
src/layout111/modules/MenuItem.vue

@@ -1,65 +0,0 @@
-<template>
-    <template v-for="item in datas">
-        <el-sub-menu :index="item?.code" :popper-offset="0" :popper-class="'aside-menu-popper ' " v-if="item?.children && item?.children.length > 0">
-            <template #title>
-                <div class="hc-aside-menu-item">
-                    <div class="menu---item">
-                        <HcIcon :name="item?.source" :fill="curKey === item?.code" class="hc-menu-icon" v-if="item?.source"/>
-                        <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>
-                </div>
-                <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">
-                <div class="menu---item">
-                    <HcIcon :name="item?.source" :fill="curKey === item?.code" class="hc-menu-icon" v-if="item?.source"/>
-                    <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'"/>
-                </div>
-            </div>
-        </el-menu-item>
-    </template>
-</template>
-
-<script setup>
-import {ref,watch} from "vue";
-import MenuItem from "./MenuItem.vue"
-const props = defineProps({
-    datas: {
-        type: Array,
-        default: () => []
-    },
-    cur: {
-        type: String,
-        default: ''
-    },
-    collapse: {
-        type: Boolean,
-        default: false
-    },
-})
-//初始变量
-const curKey = ref(props.cur);
-const isCollapse = ref(props.collapse);
-
-//监听
-watch(() => [
-    props.cur,
-    props.collapse
-], ([cur,collapse]) => {
-    curKey.value = cur
-    isCollapse.value = collapse
-})
-
-//事件
-const emit = defineEmits(['change'])
-const MenuClick = (item) => {
-    emit('change', item)
-}
-</script>

+ 0 - 207
src/layout111/modules/TopMenuBar.vue

@@ -1,207 +0,0 @@
-<template>
-    <div class="hc-top-menu-bar">
-        <el-scrollbar always>
-            <div class="bar-menu-content">
-                <div v-for="(item, index) in barMenuData" :class="item.key === barRoutes.key?'cur':''"
-                     class="bar-menu-btn"
-                     @click="barMenuClick(item)" @contextmenu.prevent="barMenuContextMenu($event, item, index)">
-                    <span>{{ item.title }}</span>
-                    <div class="bar-close-icon" @click.stop="barMenuCloseClick(item, index)">
-                        <HcIcon name="close"/>
-                    </div>
-                </div>
-            </div>
-        </el-scrollbar>
-        <!--右键菜单-->
-        <HcContextMenu ref="contextMenuRef" :datas="menusData" @item-click="handleMenuSelect"/>
-    </div>
-</template>
-
-<script setup>
-import {onMounted, ref, watch} from "vue";
-import {useAppStore} from "~src/store";
-import {useRouter, useRoute} from 'vue-router'
-import {getStoreValue, setStoreValue} from '~src/utils/storage'
-
-//初始组合式
-const router = useRouter()
-const useRoutes = useRoute()
-const useAppState = useAppStore()
-
-//初始变量
-const barMenuData = ref(getStoreValue('bar-menu-datas') || []);
-const barRoutes = ref({key: '', path: '', title: '', query: null});
-
-//渲染完成
-onMounted(() => {
-    const {name, path, meta, query} = useRoutes
-    barRoutes.value = {path, key: name, title: meta?.title, query}
-    setBarMenuData()
-})
-
-//监听
-watch(() => [
-    useRoutes?.name,
-    useRoutes?.path,
-    useRoutes?.query,
-    useRoutes?.meta?.title,
-], ([key, path, query, title]) => {
-    barRoutes.value = {path, key, title, query}
-    setBarMenuData()
-})
-
-//设置菜单数据
-const setBarMenuData = () => {
-    const {key, path, title, query} = barRoutes.value
-    if (['home', 'home-index'].indexOf(key) === -1) {
-        const index = barMenuData.value.findIndex(item => item.key === key)
-        if (index === -1) {
-            barMenuData.value.push({path, key: key, title, query})
-        }
-        setStoreValue('bar-menu-datas', barMenuData.value)
-    }
-}
-
-//菜单被点击
-const barMenuClick = (item) => {
-    const {key} = barRoutes.value
-    if (key !== item.key) {
-        router.push({name: item.key, query: item.query});
-    }
-}
-
-//鼠标右键菜单
-const contextMenuRef = ref(null);
-const barItem = ref({});
-const barItemIndex = ref(0);
-const menusData = ref([
-    {label: '关闭当前', key: "close"},
-    {label: '关闭所有', key: "all"},
-    {label: '关闭其它', key: "other"},
-]);
-const barMenuContextMenu = (event, item, index) => {
-    event.preventDefault();
-    barItem.value = item;
-    barItemIndex.value = index;
-    contextMenuRef.value?.showMenu(event);
-}
-
-//鼠标右键菜单被点击
-const handleMenuSelect = ({key}) => {
-    if (key === 'close') {
-        barMenuCloseClick(barItem.value, barItemIndex.value)
-    } else if (key === 'all') {
-        barMenuData.value = []
-        setStoreValue('bar-menu-datas', [])
-        //router.push({name: 'home-index'});
-        router.push({
-            name: useAppState.homeUrl
-        });
-    } else if (key === 'other') {
-        const {key} = barRoutes.value
-        barMenuData.value = barMenuData.value.filter(item => item.key === key)
-        setStoreValue('bar-menu-datas', barMenuData.value)
-    }
-}
-
-//菜单关闭被点击
-const barMenuCloseClick = (item, index) => {
-    const total = barMenuData.value.length - 1;
-    const {key} = barRoutes.value
-    barMenuData.value.splice(index, 1)
-    if (key === item.key) {
-        let items = {};
-        const indexs = barMenuData.value.length - 1;
-        if (total > index) {
-            items = barMenuData.value[index]
-        } else if (indexs >= 0) {
-            items = barMenuData.value[indexs]
-        }
-        if (indexs < 0) {
-            setStoreValue('bar-menu-datas', barMenuData.value)
-            //router.push({name: 'home-index'});
-            router.push({
-                name: useAppState.homeUrl
-            });
-        } else {
-            barRoutes.value = items
-            setStoreValue('bar-menu-datas', barMenuData.value)
-            router.push({name: items.key, query: items.query});
-        }
-    } else {
-        setStoreValue('bar-menu-datas', barMenuData.value)
-    }
-}
-</script>
-
-<style lang="scss">
-.hc-top-menu-bar {
-    position: relative;
-    width: 100%;
-    padding-bottom: 10px;
-    margin-top: 10px;
-    .bar-menu-content {
-        display: flex;
-        position: relative;
-        .bar-menu-btn {
-            position: relative;
-            color: #b3b3b3;
-            padding-left: 10px;
-            padding-right: 6px;
-            height: 32px;
-            font-size: 14px;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            background: #ffffff;
-            border: 1px solid #ffffff;
-            border-radius: 4px;
-            user-select: none;
-            cursor: pointer;
-            white-space: nowrap;
-            transition: background 0.3s, color 0.3s;
-            &:hover:not([class*='cur']) {
-                background: var(--el-color-primary-light-9);
-                color: #838791;
-            }
-            &:active:not([class*='cur']) {
-                background: var(--el-color-primary-light-8);
-                color: #838791;
-            }
-            &.cur {
-                color: #ffffff;
-                cursor: default;
-                background: linear-gradient(to right, var(--el-color-primary-light-5), var(--el-color-primary), var(--el-color-primary-dark-2));
-                background-size: 200%;
-                transition: background-position 0.5s;
-            }
-            .bar-close-icon {
-                height: 30px;
-                width: 18px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                margin-left: 6px;
-                font-size: 16px;
-                cursor: pointer;
-                transition: color 0.3s;
-                &:hover {
-                    color: var(--el-color-primary);
-                }
-            }
-        }
-        .bar-menu-btn.cur .bar-close-icon:hover {
-            color: #000000;
-        }
-        .bar-menu-btn + .bar-menu-btn {
-            margin-left: 10px;
-        }
-    }
-    .el-scrollbar__bar.is-horizontal {
-        bottom: -10px;
-    }
-    .el-scrollbar__bar.is-vertical {
-        display: none;
-    }
-}
-</style>

+ 0 - 149
src/layout111/modules/UserInfoBar.vue

@@ -1,149 +0,0 @@
-<template>
-    <el-dropdown size="large">
-        <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-down-s" ui="arrow-icon"/>
-        </div>
-        <template #dropdown>
-            <el-dropdown-menu>
-                <el-dropdown-item v-for="item in options">
-                    <div class="hc-dropdown-item" @click="handleSelect(item.key)">
-                        <HcIcon :name="item.icon" class="icon"/>
-                        <span class="label">{{item.label}}</span>
-                    </div>
-                </el-dropdown-item>
-            </el-dropdown-menu>
-        </template>
-    </el-dropdown>
-</template>
-
-<script setup>
-import {onMounted, ref, watch} from "vue";
-import {useRouter} from 'vue-router'
-import {useAppStore} from "~src/store";
-import website from "~src/config/index";
-import avatarPng from '~src/assets/images/avatar.png';
-import {RefreshToken,LogOut} from "~sto/user";
-import {getStoreValue} from '~src/utils/storage'
-import {calcDate, isNullES} from "js-fast-way"
-
-//变量
-const router = useRouter()
-const userStore = useAppStore()
-const userInfo = ref(userStore.getUserInfo);
-const refreshLock = ref(false);
-
-//监听
-watch(() => [
-    userStore.getUserInfo
-], ([info]) => {
-    userInfo.value = info
-})
-
-onMounted(() => {
-    getRefreshToken()
-})
-
-//刷新token
-const getRefreshToken = () => {
-    setInterval(() => {
-        const token = getStoreValue("token",true) || {};
-        const date = calcDate(token.datetime, new Date().getTime());
-        if (isNullES(date)) return;
-        if (date.seconds >= website.tokenTime && !refreshLock.value) {
-            refreshLock.value = true;
-            console.log('刷新token')
-            RefreshToken().then(() => {
-                refreshLock.value = false;
-            }).catch(() => {
-                refreshLock.value = false;
-                router.push({name: 'login'});
-            });
-        }
-    }, 10000)
-}
-
-const options = [
-    {
-        key: "my",
-        label: "个人中心",
-        icon: 'user-3'
-    },
-    {
-        key: "logout",
-        label: "退出登录",
-        icon: 'login-box'
-    }
-];
-
-//事件
-const emit = defineEmits(['change'])
-const handleSelect = async (key) => {
-    if (key === 'my') {
-        router.push({name:'user-index'});
-    } else if (key === 'logout') {
-        await LogOut();
-        window.$message?.info('退出成功');
-        router.push({name:'login'});
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.user-info-bar {
-    position: relative;
-    display: flex;
-    align-items: center;
-    height: 100%;
-    cursor: pointer;
-    padding-left: 24px;
-    .user-avatar {
-        width: 40px;
-        height: 40px;
-        border-radius: 50%;
-        background: white;
-        object-fit: cover;
-    }
-    .user-name {
-        font-size: 16px;
-        margin-left: 10px;
-        color: #202532;
-    }
-    .arrow-icon {
-        margin-left: 5px;
-        font-size: 20px;
-        color: #202532;
-    }
-    &::before {
-        position: absolute;
-        content: '';
-        left: 0;
-        width: 0;
-        height: 24px;
-        border-left: 1px solid #ccd0de;
-    }
-}
-.hc-layout-box .hc-container-view.home .hc-header-view .hc-header-content .user-info-bar {
-    color: inherit;
-    .user-name {
-        color: white;
-    }
-    .arrow-icon {
-        color: white;
-    }
-    &::before {
-        border-left: 1px solid white;
-    }
-}
-
-
-.hc-dropdown-item {
-    display: flex;
-    align-items: center;
-    .icon {
-        font-size: 14px;
-        margin-right: 8px;
-    }
-}
-</style>

+ 16 - 12
src/views/archives/appraisal.vue

@@ -79,7 +79,11 @@
                         </HcTooltip>
                     </div>
                 </template>
-                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelection" />
+                <HcTable
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
+                />
                 <template #action>
                     <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
@@ -157,11 +161,11 @@ const comfirmDestory = async () => {
         //处理数据
         if (!error && code === 200) {
             window.$message?.success(msg)
-          
-        } 
+
+        }
         showdestorydialog.value = false
         getTableData()
-    } 
+    }
 }
 //日期时间被选择
 const betweenTime = ref(null)
@@ -196,7 +200,7 @@ const fileSize = ref([
 ])
 //立卷单位
 const filingUnit = ref([
- 
+
 ])
 //是否到期
 
@@ -258,12 +262,12 @@ const getFilingUnitListdata = async ()=>{
     if (!error && code === 200) {
         console.log(data, 'data')
         filingUnit.value = getArrValue(data)
-     
+
     } else {
         filingUnit.value = []
-     
+
     }
- 
+
 }
 //获取档案销毁账户
 const getArchiveDestroyUserdata = async ()=>{
@@ -274,12 +278,12 @@ const getArchiveDestroyUserdata = async ()=>{
     )
     if (!error && code === 200) {
         operatingAccount.value = getArrValue(data)
-     
+
     } else {
         operatingAccount.value = []
-     
+
     }
- 
+
 }
 const showHistory = ()=>{
     searchForm.value.isDeleted = 1
@@ -355,7 +359,7 @@ const nodeElTreeClick = ({ node, data, keys, key }) => {
 const ElTreeMenuClick = async ({ key, node, data, keys }) => {
     setStoreValue('apprailExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
- 
+
 }
 </script>
 

+ 86 - 92
src/views/archives/meta-data.vue

@@ -1,60 +1,56 @@
 <template>
     <div class="hc-page-layout-box">
-        <div class="hc-layout-left-box" :style="'width:' + leftWidth + 'px;'">
+        <div class="hc-layout-left-box" :style="`width:${leftWidth}px;`">
             <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" v-loading="treeLoading" element-loading-text="加载中...">
+            <div v-loading="treeLoading" class="hc-tree-box" element-loading-text="加载中...">
                 <el-scrollbar>
-                  <HcTree :projectId="projectId" :contractId="contractId" @nodeTap="nodeElTreeClick" @nodeLoading="treeNodeLoading"  @menuTap="ElTreeMenuClick" :autoExpandKeys="treeAutoExpandKeys"/>
-                   <!--ProjectTree :datas="ElTreeData" :autoExpandKeys="TreeAutoExpandKeys" @nodeTap="nodeElTreeClick" :ischeck="false"/-->
+                    <HcTree :project-id="projectId" :contract-id="contractId" :auto-expand-keys="treeAutoExpandKeys" @nodeTap="nodeElTreeClick" @nodeLoading="treeNodeLoading" @menuTap="ElTreeMenuClick" />
+                    <!-- ProjectTree :datas="ElTreeData" :autoExpandKeys="TreeAutoExpandKeys" @nodeTap="nodeElTreeClick" :ischeck="false"/ -->
                 </el-scrollbar>
             </div>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
-        <div class="hc-page-content-box" id="node-card-target">
+        <div id="node-card-target" class="hc-page-content-box">
             <HcCard title="已形成的案卷">
                 <!-- <template #header>
                     <div class="hc-card-header-table-title">
                       已形成的案卷
                   </div>
                 </template> -->
-                 <div class="table-file" :class="tableFileShow?'file-table':''">
+                <div class="table-file" :class="tableFileShow ? 'file-table' : ''">
                     <div class="hc-c-table-box">
-                        <HcTable ref="tableRef"
-                        :column="tableColumn"
-                        :datas="tableData"
-                        :loading="tableLoading"
-                        @row-click="tableRowClick"
-                        :ui="hoverHand?'hover-hand':''"
-                        >
-
-                        </HcTable>
-                  
+                        <HcTable
+                            ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                            is-new :index-style="{ width: 60 }" :ui="hoverHand ? 'hover-hand' : ''"
+                            @row-click="tableRowClick"
+                        />
                     </div>
-                    <div class="hc-f-table-box" v-if="tableFileShow">
+                    <div v-if="tableFileShow" class="hc-f-table-box">
                         <div class="header-box">
                             <div class="header">卷内文件</div>
                             <div class="hc-icon-close text-hover">
-                               <HcIcon name="close" @click="closetableFile" class="hc-icon-close text-hover" style=" color:rgb(64, 149, 229);"/>
+                                <HcIcon name="close" class="hc-icon-close text-hover" style=" color:rgb(64, 149, 229);" @click="closetableFile" />
                             </div>
                         </div>
                         <div class="hc-file-table-box">
-                            <HcTable ref="tableFileRef"
-                            :column="innertableColumn"
-                            :datas="intableData"
-                            :loading="intableLoading"
-                            @row-click="tableFileRowClick"
-                            :ui="hoverHand?'hover-hand':''"
+                            <HcTable
+                                ref="tableFileRef"
+                                :column="innertableColumn"
+                                :datas="intableData"
+                                :loading="intableLoading"
+                                :ui="hoverHand ? 'hover-hand' : ''"
+                                @row-click="tableFileRowClick"
                             >
-                                <template #action="{row,index}">
+                                <template #action="{ row, index }">
                                     <el-button type="primary" size="small" @click.stop="consultFileClick">查阅文件</el-button>
                                 </template>
                             </HcTable>
@@ -62,32 +58,30 @@
                     </div>
                 </div>
                 <template #action>
-                            <HcPages :pages="searchForm" @change="pageChange"/>
-                 </template>
+                    <HcPages :pages="searchForm" @change="pageChange" />
+                </template>
             </HcCard>
         </div>
-    <!-- 元数据信息编辑 -->
-    <MetaInfo :show="showMeteInfo"   @upshowModal="upshowModal" :fileId="fileId"  @getTableData="getTableData"></MetaInfo>
- 
-
+        <!-- 元数据信息编辑 -->
+        <MetaInfo :show="showMeteInfo" :file-id="fileId" @upshowModal="upshowModal" @getTableData="getTableData" />
     </div>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import HcTree from "~src/components/tree/hc-tree.vue"
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import HcTree from '~src/components/tree/hc-tree.vue'
 import MetaInfo from './components/meta-info.vue'
-import projectScanningApi from "~api/other-file/projectScanning";
-import {getStoreValue, setStoreValue} from '~src/utils/storage'
-import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
-import tuningApi from "~api/archiveConfig/tuning.js";
+import projectScanningApi from '~api/other-file/projectScanning'
+import { getStoreValue, setStoreValue } from '~src/utils/storage'
+import { deepClone, downloadBlob, getArrValue } from 'js-fast-way'
+import tuningApi from '~api/archiveConfig/tuning.js'
 
 //变量
 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 hoverHand = ref(true)
 
@@ -95,13 +89,13 @@ const hoverHand = ref(true)
 const showMeteInfo = ref(false)
 // upshowModal
 const upshowModal = (val) => {
-    showMeteInfo.value=val
+    showMeteInfo.value = val
 
 }
 
 //监听
 watch(() => [
-    useAppState.getCollapse
+    useAppState.getCollapse,
 ], ([Collapse]) => {
     isCollapse.value = Collapse
 })
@@ -120,7 +114,7 @@ const treeNodeLoading = () => {
 //搜索表单
 const searchForm = ref({
     contractId: null, type: null, approval: null, betweenTime: null,
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //树相关的变量
@@ -128,19 +122,19 @@ const primaryKeyId = ref('')
 
 //日期时间被选择
 const betweenTime = ref(null)
-const betweenTimeUpdate = ({arr,query}) => {
+const betweenTimeUpdate = ({ arr, query }) => {
     betweenTime.value = arr
     searchForm.value.betweenTime = query
 }
 
 //搜索
 const searchClick = () => {
-    searchForm.value.current = 1;
+    searchForm.value.current = 1
     getTableData()
 }
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -149,18 +143,18 @@ const pageChange = ({current, size}) => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
-        {key: 'fileNumber', name: '档号'},
-        {key: 'name', name: '案卷题名', width: 500},
-        {key: 'storageTimeValue', name: '保管期限'},
-        {key: 'pageN', name: '总页数'},
+        { key: 'fileNumber', name: '档号' },
+        { key: 'name', name: '案卷题名', width: 500 },
+        { key: 'storageTimeValue', name: '保管期限' },
+        { key: 'pageN', name: '总页数' },
 
 ])
 const innertableColumn = ref([
-        {key: 'fileNumber', name: '文件编号'},
-        {key: 'fileName', name: '文件题名', width: 500},
-        {key: 'fileTime', name: '文件日期'},
-        {key: 'dutyUser', name: '责任者'},
-        {key: 'filePage', name: '页数'},
+        { key: 'fileNumber', name: '文件编号' },
+        { key: 'fileName', name: '文件题名', width: 500 },
+        { key: 'fileTime', name: '文件日期' },
+        { key: 'dutyUser', name: '责任者' },
+        { key: 'filePage', name: '页数' },
 
 ])
 
@@ -171,11 +165,11 @@ const tableLoading = ref(false)
 const getTableData = async () => {
     tableFileShow.value = false
     tableLoading.value = true
-    const {error, code, data} = await tuningApi.pageByArchive({
+    const { error, code, data } = await tuningApi.pageByArchive({
         ...searchForm.value,
         projectId: projectId.value,
         contractId: contractId.value,
-        isArchive: 1
+        isArchive: 1,
     })
     tableLoading.value = false
     if (!error && code === 200) {
@@ -188,15 +182,15 @@ const getTableData = async () => {
 }
 
 const intableLoading = ref(false)
-const intableData=ref([])
+const intableData = ref([])
 //获取卷内文件
 const getintableData = async () => {
     intableLoading.value = true
-    const {error, code, data} = await tuningApi.getarchiveFilePage({
+    const { error, code, data } = await tuningApi.getarchiveFilePage({
         nodeIds: searchForm.value.nodeIds,
         archiveId: checkInid.value,
         size:1000,
-        current:1
+        current:1,
     })
     intableLoading.value = false
     if (!error && code === 200) {
@@ -214,30 +208,30 @@ const delModalClick = () => {
 }
 
 //左右拖动,改变树形结构宽度
-const leftWidth = ref(382);
+const leftWidth = ref(382)
 const onmousedown = () => {
     const leftNum = isCollapse.value ? 142 : 272
     document.onmousemove = (ve) => {
-        let diffVal = ve.clientX - leftNum;
-        if(diffVal >= 310 && diffVal <= 900) {
-            leftWidth.value = diffVal;
+        let diffVal = ve.clientX - leftNum
+        if (diffVal >= 310 && diffVal <= 900) {
+            leftWidth.value = diffVal
         }
     }
     document.onmouseup = () => {
-        document.onmousemove = null;
-        document.onmouseup = null;
+        document.onmousemove = null
+        document.onmouseup = null
     }
 }
 //表格行被点击
 //表格行被点击
 const tableFileShow = ref(false)
 const checkInid = ref('')
-const fileId=ref('')
-const tableRowClick = ({row}) => {
-    tableFileShow.value = true;
+const fileId = ref('')
+const tableRowClick = ({ row }) => {
+    tableFileShow.value = true
     checkInid.value = row.id
-    
-   
+
+
     getintableData()
 }
 //收起卷内文件
@@ -247,10 +241,10 @@ const closetableFile = () => {
 
 //卷内文件点击
 
-const tableFileRowClick = ({row}) => {
-    console.log(row,'row');
-    showMeteInfo.value = true;
-    fileId.value=row.id
+const tableFileRowClick = ({ row }) => {
+    console.log(row, 'row')
+    showMeteInfo.value = true
+    fileId.value = row.id
 
 }
 
@@ -258,11 +252,11 @@ const tableFileRowClick = ({row}) => {
 
 //搜索表单
 const sortSearchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const sortPageChange = ({current, size}) => {
+const sortPageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
 }
@@ -274,7 +268,7 @@ const ElTreeData = ref([])
 const getClassIfyList = async () => {
     const { error, code, data } = await projectScanningApi.getClassIfyList({
         projectId: projectId.value,
-        contractId: contractId.value
+        contractId: contractId.value,
     })
     //处理数据
     if (!error && code === 200) {
@@ -282,29 +276,29 @@ const getClassIfyList = async () => {
     } else {
         ElTreeData.value = []
     }
-    console.log(ElTreeData.value,'ElTreeData');
+    console.log(ElTreeData.value, 'ElTreeData')
 }
 
 
 
 //自动展开缓存
 const treeAutoExpandKeys = ref(getStoreValue('metaExpandKeys') || [])
-const nodeElTreeClick = ({node, data, keys, key}) => {
-    console.log('点击',data);
+const nodeElTreeClick = ({ node, data, keys, key }) => {
+    console.log('点击', data)
     //缓存展开的节点
     setStoreValue('metaExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
     searchForm.value.total = 0
     searchForm.value.current = 1
     searchForm.value.size = 20
-    searchForm.value.nodeIds = data.id || '';
+    searchForm.value.nodeIds = data.id || ''
     getTableData()
 }
 //树菜单被点击
-const ElTreeMenuClick = async ({key, node, data, keys}) => {
+const ElTreeMenuClick = async ({ key, node, data, keys }) => {
     setStoreValue('metaExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
- 
+
 }
 </script>
 
@@ -312,7 +306,7 @@ const ElTreeMenuClick = async ({key, node, data, keys}) => {
 <style lang="scss" scoped>
 @import '~style/archives/meta-data.scss';
 </style>
-<style lang="scss">
 
+<style lang="scss">
 @import '../../styles/theme/archives/meta-data.scss';
-</style>
+</style>

+ 16 - 12
src/views/archives/rolling.vue

@@ -37,7 +37,7 @@
                             status="success"
                         />
                     </div>
-                
+
                     <HcTooltip keys="archives_rolling_btn_update">
                         <el-button type="primary" hc-btn :loading="updateArchiveLoad" :disabled="propercent > 0 && propercent < 100" @click="updateArchive">
                             <HcIcon name="git-pull-request" />
@@ -46,7 +46,11 @@
                     </HcTooltip>
                 </template>
 
-                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelection">
+                <HcTable
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection"
+                >
                     <template #name="{ row }">
                         <span class="text-link" @click="viewPdf(row.id)">{{ row?.name }}</span>
                     </template>
@@ -87,9 +91,9 @@ watch(() => [
 //渲染完成
 onMounted(() => {
     getClassIfyList()
-    
+
     // Verification()
-        
+
 })
 
 //树加载
@@ -221,7 +225,7 @@ const nodeElTreeClick = ({ node, data, keys, key }) => {
 const ElTreeMenuClick = async ({ key, node, data, keys }) => {
     setStoreValue('rollingExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
- 
+
 }
 //预览pdf
 const viewPdf = async (id)=>{
@@ -235,7 +239,7 @@ const viewPdf = async (id)=>{
       } else {
         window.$message?.warning('文件不存在')
       }
-       
+
     } else {
         window.$message?.warning(msg)
     }
@@ -260,7 +264,7 @@ const updateArchive = async ()=>{
         window.$message?.success(data)
         count.value = 0
         Verification()
-       
+
      }
    }
 }
@@ -277,8 +281,8 @@ const updateArchiveprogress = async ()=>{
             count.value = 100
         }
         propercent.value = data
-      
-    } 
+
+    }
 }
 const timer = ref(null)
 let count = ref(0) // 倒计时
@@ -290,10 +294,10 @@ const Verification = () => {
                 window.$message.success('更新成功')
                 clearInterval(timer.value)
             } else {
-                updateArchiveprogress()// 请求数据 
+                updateArchiveprogress()// 请求数据
             }
-        
-       
+
+
     }, 5000)
 }
 </script>

+ 21 - 29
src/views/archives/tuning.vue

@@ -84,16 +84,10 @@
                 <div class="body" :class="tableFileShow ? 'file-table' : ''">
                     <div class="hc-c-table-box">
                         <HcTable
-                            ref="tableRef"
-                            :column="tableColumn"
-                            :datas="tableData"
-                            :loading="tableLoading"
-                            is-check
-                            :ui="hoverHand ? 'hover-hand' : ''"
-                            :is-arr-index="false"
-                            is-current-row
-                            @selection-change="tableSelection"
-                            @row-click="tableRowClick"
+                            ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                            :ui="hoverHand ? 'hover-hand' : ''" :is-arr-index="false" is-current-row
+                            @selection-change="tableSelection" @row-click="tableRowClick"
                         >
                             <template #table-column-header-num>
                                 <HcTooltip keys="archives_tuning_btn_sort">
@@ -127,11 +121,8 @@
                         </div>
                         <div class="hc-file-table-box">
                             <HcTable
-                                ref="tableFileRef"
-                                :loading="intableLoading"
-                                :column="innertableColumn"
-                                :datas="intableData"
-                                is-check
+                                ref="tableFileRef" :loading="intableLoading" :column="innertableColumn" :datas="intableData"
+                                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
                                 @selection-change="intableSelection"
                             >
                                 <template #table-column-header-num>
@@ -218,6 +209,7 @@
             <div class="hc-table-h">
                 <HcTable
                     ui="hc-table-row-drop" :column="sortTableColumn" :datas="sortTableData"
+                    is-new :index-style="{ width: 60 }"
                     :loading="sortTableLoading" is-row-drop @row-drop="sortTableRowDrop"
                 >
                     <template #action="{ index }">
@@ -252,7 +244,7 @@
         <el-dialog v-model="showUploadModal" :title="editTitle" width="80vw" class="hc-modal-border hc-modal-table">
             <HcTable
                 ui="hc-form-table" :column="tableUploadColumn" :datas="tableUploadData"
-                :loading="uploadSaveLoading"
+                :loading="uploadSaveLoading" is-new :index-style="{ width: 60 }"
             >
                 <template #name="{ row }">
                     <el-input
@@ -508,12 +500,12 @@ const delModalClick = () => {
     } else {
         window.$message.warning('请先选择文件')
     }
-   
+
 }
 const splitLoad = ref(false)
 const tunModalClick = () => {
     const rows = tableCheckedKeys.value
-   
+
     let iscansplit = rows.filter((item)=>{
         if (item?.isLock === 1) {
             return item
@@ -535,7 +527,7 @@ const tunModalClick = () => {
                     ctx.confirmButtonLoading = true
 
                     let ids = ''
-                
+
                     ids = rowsToId(rows)
                     const { error, code, data, msg } = await tuningApi.splitArchive({
                         ids: ids,
@@ -552,7 +544,7 @@ const tunModalClick = () => {
             },
         })
     }
-    
+
 }
 //左右拖动,改变树形结构宽度
 const leftWidth = ref(382)
@@ -629,20 +621,20 @@ const movesModalClose = () => {
 const sortModal = ref(false)
 //显示
 const tableSortClick = () => {
-  
+
         sortModal.value = true
         sortType.value = 1
         setsortTableColumn()
         getSortTableData()
-    
+
 }
 const intableSortClick = () => {
-   
+
         sortModal.value = true
         sortType.value = 2
         setsortTableColumn()
         getSortTableData()
-    
+
 
 }
 //表格行被点击
@@ -700,7 +692,7 @@ const sortTableData = ref([])
 const sortTableLoading = ref(false)
 const sortType = ref(null)
 const getSortTableData = async () => {
-   
+
     if (sortType.value === 1) {
         sortTableLoading.value = true
         const { error, code, data } = await tuningApi.pageByArchive({
@@ -810,8 +802,8 @@ const batchEditClick = (type) => {
     } else {
         window.$message.warning('该案卷已被锁定,不允许编辑卷内文件')
     }
-   
-  
+
+
 }
 
 
@@ -831,7 +823,7 @@ const setTableUploadColumn = (type) => {
             { key: 'fileName', name: '文件题名' },
             { key: 'fileTime', name: '文件日期' },
             { key: 'dutyUser', name: '责任者' },
-           
+
         ]
     }
 }
@@ -958,7 +950,7 @@ const viewPdf = async (id) => {
             window.$message?.warning('文件不存在')
         }
 
-    } 
+    }
     // else {
     //     window.$message?.warning(msg)
     // }

+ 2 - 2
src/views/custody/backup.vue

@@ -120,7 +120,7 @@
                                     <span>下载脱机载体工具</span>
                                 </el-button>
                             </div>
-                            <HcTable :column="tableBasicColumn" :datas="tableBasicData" :is-index="false" border />
+                            <HcTable :column="tableBasicColumn" :datas="tableBasicData" :is-index="false" is-new />
                             <div class="mt-5 hc-backup-table-box">
                                 <div class="tr-left">
                                     功能描述
@@ -189,7 +189,7 @@ const projectInfo = ref(useAppState.getProjectInfo)
 //渲染完成
 onMounted(() => {
     getFileData()
-   
+
 })
 
 //tab数据

+ 19 - 19
src/views/custody/components/tab-expire.vue

@@ -1,41 +1,41 @@
 <template>
     <HcCard>
-        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"/>
+        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }" />
         <template #action>
-            <HcPages :pages="searchForm" @change="pageChange"/>
+            <HcPages :pages="searchForm" @change="pageChange" />
         </template>
     </HcCard>
 </template>
 
 <script setup>
-import {ref, nextTick, watch} from "vue";
+import { nextTick, ref, watch } from 'vue'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
     setQueryData(treeData)
 })
 
@@ -58,11 +58,11 @@ const setQueryData = (data) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -71,9 +71,9 @@ const pageChange = ({current, size}) => {
 //内业台账表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '所属案卷'},
-    {key:'key2', name: '保存期限'},
-    {key:'key3', name: '到期时间'}
+    { key:'key1', name: '所属案卷' },
+    { key:'key2', name: '保存期限' },
+    { key:'key3', name: '到期时间' },
 ])
 const tableData = ref([])
 

+ 39 - 39
src/views/custody/components/tab-reform.vue

@@ -1,57 +1,57 @@
 <template>
     <HcCard>
         <template #extra>
-            <HcNewSwitch :datas="tabData" :keys="tabKey" @change="tabChange"/>
+            <HcNewSwitch :datas="tabData" :keys="tabKey" @change="tabChange" />
         </template>
-        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading">
-            <template #sourceType="{row}">
-                        <span class="text-link" @click="tableRowName(row)">{{row?.sourceType==0?'巡检':'验收'}}</span>
-             </template>
-            <template #fileName="{row}">
-                        <span class="text-link" @click="tableRowName(row)">{{row?.fileName}}</span>
-             </template>
+        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
+            <template #sourceType="{ row }">
+                <span class="text-link" @click="tableRowName(row)">{{ row?.sourceType == 0 ? '巡检' : '验收' }}</span>
+            </template>
+            <template #fileName="{ row }">
+                <span class="text-link" @click="tableRowName(row)">{{ row?.fileName }}</span>
+            </template>
         </HcTable>
         <template #action>
-            <HcPages :pages="searchForm" @change="pageChange"/>
+            <HcPages :pages="searchForm" @change="pageChange" />
         </template>
     </HcCard>
 </template>
 
 <script setup>
-import {ref, nextTick, watch} from "vue";
-import archiveFileApi from "~api/archiveFile/archiveFile";
-import {getArrValue} from "js-fast-way"
+import { nextTick, ref, watch } from 'vue'
+import archiveFileApi from '~api/archiveFile/archiveFile'
+import { getArrValue } from 'js-fast-way'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
     setQueryData(treeData)
 },
 {
-    deep: true
+    deep: true,
 })
 
 //渲染完成
@@ -61,8 +61,8 @@ nextTick(() => {
 
 //获取相关数据
 const setQueryData = (data) => {
-    searchForm.value.nodeIds=data.id
-    nodeData.value.id=data.id
+    searchForm.value.nodeIds = data.id
+    nodeData.value.id = data.id
     getTableData()
     /*const cid = data?.contractIdRelation || ''
     const wbsId = data['contractIdRelation'] ? data['id'] : data['primaryKeyId']
@@ -76,17 +76,17 @@ const setQueryData = (data) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //tab数据和相关处理
 const tabKey = ref('1')
 const tabData = ref([
-    {key:'1',  name: '需要整改的文件'},
-    {key:'2', name: '已整改记录'}
-]);
+    { key:'1', name: '需要整改的文件' },
+    { key:'2', name: '已整改记录' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
     getTableData()
 
 }
@@ -100,7 +100,7 @@ const tableRowName = (row) => {
     }
 }
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -109,24 +109,24 @@ const pageChange = ({current, size}) => {
 //内业台账表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'sourceType', name: '来源',width:150},
-    {key:'archiveName', name: '所属案卷'},
-    {key:'fileName', name: '具体文件'},
-    {key:'allopinion', name: '问题描述'}
+    { key:'sourceType', name: '来源', width:150 },
+    { key:'archiveName', name: '所属案卷' },
+    { key:'fileName', name: '具体文件' },
+    { key:'allopinion', name: '问题描述' },
 ])
 const tableData = ref([])
 
 //获取数据
 const tableLoading = ref(false)
 const getTableData = async () => {
-        if(nodeData.value.id){
+        if (nodeData.value.id) {
             tableLoading.value = true
             const { error, code, data } = await archiveFileApi.getarchiveFilePage({
             ...searchForm.value,
             nodeIds: nodeData.value.id,
             projectId: projectId.value,
             contractId: contractId.value,
-            rectification:tabKey.value
+            rectification:tabKey.value,
         })
         tableLoading.value = false
         if (!error && code === 200) {
@@ -142,6 +142,6 @@ const getTableData = async () => {
 // 暴露出去
 defineExpose({
     getTableData,
-    
+
 })
 </script>

+ 20 - 20
src/views/custody/components/tab-spite.vue

@@ -1,41 +1,41 @@
 <template>
     <HcCard>
-        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"/>
+        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }" />
         <template #action>
-            <HcPages :pages="searchForm" @change="pageChange"/>
+            <HcPages :pages="searchForm" @change="pageChange" />
         </template>
     </HcCard>
 </template>
 
 <script setup>
-import {ref, nextTick, watch} from "vue";
+import { nextTick, ref, watch } from 'vue'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
     setQueryData(treeData)
 })
 
@@ -58,11 +58,11 @@ const setQueryData = (data) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -71,10 +71,10 @@ const pageChange = ({current, size}) => {
 //内业台账表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '访问路径'},
-    {key:'key2', name: '恶意IP地址'},
-    {key:'key3', name: '访问时间'},
-    {key:'key4', name: '是否访问成功'},
+    { key:'key1', name: '访问路径' },
+    { key:'key2', name: '恶意IP地址' },
+    { key:'key3', name: '访问时间' },
+    { key:'key4', name: '是否访问成功' },
 ])
 const tableData = ref([])
 

+ 81 - 77
src/views/home/index1.vue

@@ -1,72 +1,76 @@
 <template>
-     <div class="hc-page-box">
-           <HcCard class="table-box">
-                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection" @row-click="tableRowClick"/>
-                 <template #action>
-                    <HcPages :pages="searchForm" @change="pageChange"/>
-                </template>
-           </HcCard>
-           <HcCard class="detail-box">
-               <el-row class="m30">
-                   <el-col :span="4" class="font-color">
-                      <i class="ri-layout-grid-fill icon"></i> <span style="vertical-align: center;">重庆乌江白马航电枢纽工程</span>
-                   </el-col>
-               </el-row>
-                <el-row class="m30">
-                   <el-col :span="2">
-                       <span>项目概况:</span>
-                   </el-col>
-                   <el-col :span="22">
-                      <span>乌江白马电组工位于庆市武峰区白马,是与江T流开发规到12 级中的后一个级,项开发以运为,发电能,的正常为水位14%,总所 3.14亿立方米;航道救V级准规划建设,通航建铁物为500吨级单级得而,设计年单向通过能力659.6万吨;电站装机48万千瓦,多年平均发电量17.12亿度。工得总股资为103.9亿元,总工期为9个。</span>
-                      <p>建设工期:</p>
-                     乌江白马航电枢纽将分三期建设,2031年建成。一期计划2024年底完工,主要建设白马大桥、右岸一期边坡工程、有岸道路、导流明深等工程项目。中庆乌江白马航电版工程一期工程工2021年4日开工程说。目前卫宗成外动境上石开终390万,占总230%: 二期工程了202年1月开工丝设,完成方开 10万方,占总6%:319道改线工程于2021年7月开工建设,目前已完成合同总量70%.
-                   </el-col>
-               </el-row>   
-                <el-row class="m30">
-                   <el-col :span="2">
-                       <span>总里程:</span>
-                   </el-col>
-                   <el-col :span="22">
-                        <span>120(KM)</span>
-                   </el-col>
-               </el-row> 
-               <el-row class="m30">
-                   <el-col :span="2">
-                       <span>投资预算:</span>
-                   </el-col>
-                   <el-col :span="22">
-                        <span>1202332(万)</span>
-                   </el-col>
-               </el-row> 
-                <el-row class="m30">
-                   <el-col :span="2">
-                       <span>开工时间:</span>
-                   </el-col>
-                   <el-col :span="22">
-                        <span>2022/01/2</span>
-                   </el-col>
-               </el-row> 
-               <el-row class="m30">
-                   <el-col :span="2">
-                       <span>完工时间:</span>
-                   </el-col>
-                   <el-col :span="22">
-                        <span>2022/02/2</span>
-                   </el-col>
-               </el-row> 
-           </HcCard>
-     </div>
+    <div class="hc-page-box">
+        <HcCard class="table-box">
+            <HcTable
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection" @row-click="tableRowClick"
+            />
+            <template #action>
+                <HcPages :pages="searchForm" @change="pageChange" />
+            </template>
+        </HcCard>
+        <HcCard class="detail-box">
+            <el-row class="m30">
+                <el-col :span="4" class="font-color">
+                    <i class="ri-layout-grid-fill icon" /> <span style="vertical-align: center;">重庆乌江白马航电枢纽工程</span>
+                </el-col>
+            </el-row>
+            <el-row class="m30">
+                <el-col :span="2">
+                    <span>项目概况:</span>
+                </el-col>
+                <el-col :span="22">
+                    <span>乌江白马电组工位于庆市武峰区白马,是与江T流开发规到12 级中的后一个级,项开发以运为,发电能,的正常为水位14%,总所 3.14亿立方米;航道救V级准规划建设,通航建铁物为500吨级单级得而,设计年单向通过能力659.6万吨;电站装机48万千瓦,多年平均发电量17.12亿度。工得总股资为103.9亿元,总工期为9个。</span>
+                    <p>建设工期:</p>
+                    乌江白马航电枢纽将分三期建设,2031年建成。一期计划2024年底完工,主要建设白马大桥、右岸一期边坡工程、有岸道路、导流明深等工程项目。中庆乌江白马航电版工程一期工程工2021年4日开工程说。目前卫宗成外动境上石开终390万,占总230%: 二期工程了202年1月开工丝设,完成方开 10万方,占总6%:319道改线工程于2021年7月开工建设,目前已完成合同总量70%.
+                </el-col>
+            </el-row>
+            <el-row class="m30">
+                <el-col :span="2">
+                    <span>总里程:</span>
+                </el-col>
+                <el-col :span="22">
+                    <span>120(KM)</span>
+                </el-col>
+            </el-row>
+            <el-row class="m30">
+                <el-col :span="2">
+                    <span>投资预算:</span>
+                </el-col>
+                <el-col :span="22">
+                    <span>1202332(万)</span>
+                </el-col>
+            </el-row>
+            <el-row class="m30">
+                <el-col :span="2">
+                    <span>开工时间:</span>
+                </el-col>
+                <el-col :span="22">
+                    <span>2022/01/2</span>
+                </el-col>
+            </el-row>
+            <el-row class="m30">
+                <el-col :span="2">
+                    <span>完工时间:</span>
+                </el-col>
+                <el-col :span="22">
+                    <span>2022/02/2</span>
+                </el-col>
+            </el-row>
+        </HcCard>
+    </div>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
 
 //变量
 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)
 
 //渲染完成
 onMounted(() => {
@@ -76,11 +80,11 @@ onMounted(() => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '项目名称', width: 600},
-    {key:'key2', name: '入库时间'},
-    {key:'key3', name: '案卷总量'},
-    {key:'key4', name: '责任单位'},
-   
+    { key:'key1', name: '项目名称', width: 600 },
+    { key:'key2', name: '入库时间' },
+    { key:'key3', name: '案卷总量' },
+    { key:'key4', name: '责任单位' },
+
 ])
 
 const tableData = ref([
@@ -90,7 +94,7 @@ const tableData = ref([
         key2: '2022/01/02',
         key3: '293',
         key4: '重庆奉建高素有限公司',
-        key5:''
+        key5:'',
     },
     {
         id: 2,
@@ -107,7 +111,7 @@ const tableData = ref([
         key3: '293',
         key4: '300',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -117,13 +121,13 @@ const getTableData = async () => {
 }
 
 //多选
-const tableCheckedKeys = ref([]);
+const tableCheckedKeys = ref([])
 const tableSelection = (rows) => {
     tableCheckedKeys.value = rows
 }
 
 const tableRowClick = (rows) => {
-    console.log(rows,'rows');
+    console.log(rows, 'rows')
 }
 </script>
 
@@ -133,11 +137,11 @@ const tableRowClick = (rows) => {
         .table-box{
             height: 58%;
             margin-bottom: 2%;
-           
+
         }
         .detail-box{
             height: 40%;
-            
+
            .m30{
                margin-top: 15px;
                font-size: 14px;
@@ -148,11 +152,11 @@ const tableRowClick = (rows) => {
             }
             .icon{
               font-size: 18px;
-            
+
               margin-right: 10px;
-              
-               
-             
+
+
+
             }
         }
     }

+ 4 - 3
src/views/tasks/components/TableCard.vue

@@ -58,7 +58,8 @@
             </HcTooltip>
         </template>
         <HcTable
-            ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" is-check
+            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 }">
@@ -253,7 +254,7 @@ const pageChange = ({ current, size }) => {
         } else {
             searchForm.value.current = 1
         }
-   
+
     searchForm.value.size = size
     getTableData()
 }
@@ -293,7 +294,7 @@ const queryPage = async () => {
     tableLoading.value = true
     const { error, code, data } = await tasksApi.getTaskPage({
         ...searchForm.value,
-  
+
         projectIdValue: projectId.value,
         currentContractId:contractId.value,
 

+ 1 - 1
src/views/tasks/flow.vue

@@ -15,7 +15,7 @@
                     title="同一合同段内,只需要设置重复岗位的流程即可,其他任务岗位,系统将自动推送,无需创建更多任务流" type="error"
                 />
             </template>
-            <HcTable :column="tableListColumn" :datas="tableListData" :loading="tableLoading">
+            <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>

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

@@ -66,10 +66,10 @@
                         取消批量签名/章
                     </el-button>
                     <div v-if="taskReviewType === '1'" class="data-table taskReviewData">
-                        <HcTable :column="taskReviewColumns" :datas="taskReviewData" @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" @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>
@@ -250,11 +250,11 @@ const pdfChange = (data) => {
                 ele.hcSignImageArr = data
             }
         })
-      
+
     } else {
         signArr.value = data
     }
- 
+
     console.log('签章数据', data)
 }
 const isBatch = ref(false)
@@ -280,14 +280,14 @@ const rowTaskName = async (row) => {
               }
                 pdfItem.value.pdfUrl = approvalFileList[0].pdfUrl
 
-               
+
             }
             taskReviewType.value = '1'
             showTaskReviewModal.value = true
             isBatch.value = false
-     
 
-           
+
+
         } else {
             taskReviewData.value = []
             batchPdfUrl.value = ''
@@ -312,7 +312,7 @@ const batchApprovalTaskClick = (rows) => {
     isBatch.value = false
 
 
-    
+
     checkedRowsRef.value = rows
     let taskids = []
     rows.forEach((item) => {
@@ -355,7 +355,7 @@ const queryTaskInfo = async (row, taskids) => {
             pdfItem.value.pdfUrl = approvalFileList[0].pdfUrl
             batchPdfUrl.value = approvalFileList[0].pdfUrl
             row['pdfUrl'] = approvalFileList[0].pdfUrl
-             
+
         } else {
             batchPdfUrl.value = ''
             row['pdfUrl'] = ''
@@ -380,8 +380,8 @@ const ConfirmApprovalClick = async () => {
             taskId:taskReviewInfo.value.id,
             comment:formData.comment,
             flag:formData.flag,
-            sealStrategy:signArr.value, 
-         
+            sealStrategy:signArr.value,
+
         })
         console.log(objarr, 'objarr')
         finalArr.value = objarr
@@ -471,7 +471,7 @@ const saveCompleteApprovalTask = async () => {
             window?.location?.reload() //刷新页面
         }, 3000)
     } else if (code === 400) {
-        window?.$message?.error(msg) 
+        window?.$message?.error(msg)
     } else {
         window?.$message?.warning('审批异常')
     }
@@ -491,7 +491,7 @@ const batchCompleteApprovalTask = async () => {
             window?.location?.reload() //刷新页面
         }, 3000)
     } else if (code === 400) {
-            window?.$message?.error(msg) 
+            window?.$message?.error(msg)
     } else {
             window?.$message?.warning('审批出错')
     }

+ 2 - 1
src/views/tasks/message-data.vue

@@ -38,7 +38,8 @@
                 </template>
                 <HcTable
                     ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
-                    is-check @selection-change="tableSelectionChange"
+                    is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelectionChange"
                 >
                     <template #content="{ row }">
                         <div class="text-link text-cut" @click="tableContent(row)">{{ row.content }}</div>

+ 84 - 77
src/views/tasks/sign-admin.vue

@@ -1,33 +1,37 @@
 <template>
     <div class="hc-layout-box">
-        <HcCard :scrollbar="false" actionSize="lg">
+        <HcCard :scrollbar="false" action-size="lg">
             <template #header>
                 <div class="w-32">
                     <el-select v-model="searchForm.tasks" block clearable placeholder="电签任务人" size="large">
-                        <el-option v-for="item in tasksData" :label="item.dictValue" :value="item.dictKey"/>
+                        <el-option v-for="item in tasksData" :label="item.dictValue" :value="item.dictKey" />
                     </el-select>
                 </div>
                 <div class="w-32 ml-3">
-                    <el-select v-model="searchForm.contract" block clearable placeholder="合同段" size="large"
-                               @change="ContractIdChange">
-                        <el-option v-for="item in contractList" :label="item.name" :value="item.id"/>
+                    <el-select
+                        v-model="searchForm.contract" block clearable placeholder="合同段" size="large"
+                        @change="ContractIdChange"
+                    >
+                        <el-option v-for="item in contractList" :label="item.name" :value="item.id" />
                     </el-select>
                 </div>
                 <div class="w-32 ml-3">
                     <el-select v-model="searchForm.status" block clearable placeholder="电签状态" size="large">
-                        <el-option v-for="item in statusData" :label="item.dictValue" :value="item.dictKey"/>
+                        <el-option v-for="item in statusData" :label="item.dictValue" :value="item.dictKey" />
                     </el-select>
                 </div>
                 <div class="w-64 ml-3">
-                    <HcDatePicker :dates="betweenTime" clearable size="large" @change="betweenTimeUpdate"/>
+                    <HcDatePicker :dates="betweenTime" clearable size="large" @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="请输入名称关键词检索"
+                        size="large" @keyup="keyUpEvent"
+                    />
                 </div>
                 <div class="ml-2">
                     <el-button size="large" type="primary" @click="searchClick">
-                        <HcIcon name="search-2"/>
+                        <HcIcon name="search-2" />
                         <span>搜索</span>
                     </el-button>
                 </div>
@@ -35,30 +39,33 @@
             <template #extra>
                 <HcTooltip keys="tasks_sign_key_renewal">
                     <el-button hc-btn type="primary">
-                        <HcIcon name="restart"/>
+                        <HcIcon name="restart" />
                         <span>一键重签</span>
                     </el-button>
                 </HcTooltip>
             </template>
-            <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableData" :loading="tableLoading" isCheck
-                     @selection-change="tableSelectionChange"/>
+            <HcTable
+                ref="tableListRef" :column="tableListColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelectionChange"
+            />
             <template #action>
-                <HcPages :pages="searchForm" @change="pageChange"/>
+                <HcPages :pages="searchForm" @change="pageChange" />
             </template>
         </HcCard>
     </div>
 </template>
 
 <script setup>
-import {ref, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import {getObjValue, getArrValue} from "js-fast-way"
+import { onMounted, ref } from 'vue'
+import { useAppStore } from '~src/store'
+import { getArrValue, getObjValue } from 'js-fast-way'
 
 //变量
 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)
 
 //渲染完成
 onMounted(() => {
@@ -78,7 +85,7 @@ const ContractIdChange = () => {
 
 //日期时间被选择
 const betweenTime = ref(null)
-const betweenTimeUpdate = ({val, arr}) => {
+const betweenTimeUpdate = ({ val, arr }) => {
     betweenTime.value = arr
     searchForm.value.startTime = val['start']
     searchForm.value.endTime = val['end']
@@ -87,13 +94,13 @@ const betweenTimeUpdate = ({val, arr}) => {
 //搜索表单
 const searchForm = ref({
     queryValue: null, tasks: null, contract: null, status: null, startTime: null, endTime: null,
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //回车搜索
 const keyUpEvent = (e) => {
-    if (e.key === "Enter") {
-        searchForm.value.current = 1;
+    if (e.key === 'Enter') {
+        searchForm.value.current = 1
         getTableData()
     }
 }
@@ -105,7 +112,7 @@ const searchClick = () => {
 }
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -120,83 +127,83 @@ const getTableData = async () => {
 
 //多选
 const tableListRef = ref(null)
-const tableCheckedKeys = ref([]);
+const tableCheckedKeys = ref([])
 const tableSelectionChange = (rows) => {
     tableCheckedKeys.value = rows.filter((item) => {
-        return (item ?? '') !== '';
+        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: '电签任务人'}
+    { 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: '张三'
+        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: '张三'
+        name: 'test2',
+        date: '已审批-电签中',
+        status: '电签中',
+        batch: '2022-05-16 13:35',
+        person: 'xxxxx原因',
+        tesk: '李四',
+        tesk1: '张三',
     },
     {
         num: 3,
-        name: "test3",
-        date: "已审批完成",
-        status: "电签完成",
-        batch: "2022-05-16 13:35",
-        person: "xxxxx原因",
-        tesk: "李四",
-        tesk1: '张三'
+        name: 'test3',
+        date: '已审批完成',
+        status: '电签完成',
+        batch: '2022-05-16 13:35',
+        person: 'xxxxx原因',
+        tesk: '李四',
+        tesk1: '张三',
     },
     {
         num: 4,
-        name: "test4",
-        date: "已审批-电签中",
-        status: "等待电签",
-        batch: "2022-05-16 13:35",
-        person: "xxxxx原因",
-        tesk: "李四",
-        tesk1: '张三'
+        name: 'test4',
+        date: '已审批-电签中',
+        status: '等待电签',
+        batch: '2022-05-16 13:35',
+        person: 'xxxxx原因',
+        tesk: '李四',
+        tesk1: '张三',
     },
     {
         num: 5,
-        name: "test5",
-        date: "xxxxxxxxxx",
-        status: "xxxx",
-        batch: "2022-05-16 13:35",
-        person: "xxxxx原因",
-        tesk: "李四",
-        tesk1: '张三'
+        name: 'test5',
+        date: 'xxxxxxxxxx',
+        status: 'xxxx',
+        batch: '2022-05-16 13:35',
+        person: 'xxxxx原因',
+        tesk: '李四',
+        tesk1: '张三',
     },
     {
         num: 6,
-        name: "test6",
-        date: "xxxxxxxxxx",
-        status: "xxxxxx",
-        batch: "2022-05-16 13:35",
-        person: "xxxxx原因",
-        tesk: "李四",
-        tesk1: '张三'
+        name: 'test6',
+        date: 'xxxxxxxxxx',
+        status: 'xxxxxx',
+        batch: '2022-05-16 13:35',
+        person: 'xxxxx原因',
+        tesk: '李四',
+        tesk1: '张三',
     },
-]);
+])
 </script>
 
 <style lang="scss" scoped>

+ 106 - 83
src/views/transfer/components/carry-spot-checks.vue

@@ -1,21 +1,26 @@
 <template>
     <div>
-        <HcDrawer :show="isDrawer" to-id="carry-spot-checks-layout-target"
-                  uis="hc-carry-spot-checks-target" @close="onCarrySpotChecksDrawerClose">
+        <HcDrawer
+            :show="isDrawer" to-id="carry-spot-checks-layout-target"
+            uis="hc-carry-spot-checks-target" @close="onCarrySpotChecksDrawerClose"
+        >
             <div class="hc-carry-spot-checks-pdf">
                 <HcPdf
-                    src="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20221212/ce9799c7d18efc03efefd6f242439f2e.pdf"/>
+                    src="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20221212/ce9799c7d18efc03efefd6f242439f2e.pdf"
+                />
                 <el-tooltip :disabled="!isBubble" content="展开/收起 右侧目录" placement="top">
                     <div class="hc-csc-pdf-btn" @click="onCarryDataShow">
-                        <HcIcon v-show="isCarryDataShow" name="arrow-right-s"/>
-                        <HcIcon v-show="!isCarryDataShow" name="arrow-left-s"/>
+                        <HcIcon v-show="isCarryDataShow" name="arrow-right-s" />
+                        <HcIcon v-show="!isCarryDataShow" name="arrow-left-s" />
                     </div>
                 </el-tooltip>
             </div>
             <div v-show="isCarryDataShow" class="hc-carry-spot-checks-data">
                 <div class="hc-csc-switch">
-                    <HcNewSwitch :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default"
-                                 @change="tabTypeChange"/>
+                    <HcNewSwitch
+                        :datas="tabTypeTab" :keys="tabTypeKey" :round="false" size="default"
+                        @change="tabTypeChange"
+                    />
                 </div>
                 <div class="hc-csc-info-box">
                     <el-scrollbar>
@@ -51,30 +56,39 @@
                     </el-scrollbar>
                 </div>
                 <div class="hc-csc-data-box">
-                    <HcTable v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1"
-                             :isIndex="false" :loading="cscTableLoading">
-                        <template #name="{row}">
+                    <HcTable
+                        v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1"
+                        :is-index="false" :loading="cscTableLoading"
+                        is-new :index-style="{ width: 60 }"
+                    >
+                        <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{ row?.name }}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2"
-                             :isIndex="false" :loading="cscTableLoading">
-                        <template #name="{row}">
+                    <HcTable
+                        v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2"
+                        :is-index="false" :loading="cscTableLoading"
+                    >
+                        <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{ row?.name }}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3"
-                             :isIndex="false" :loading="cscTableLoading">
-                        <template #name="{row}">
+                    <HcTable
+                        v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3"
+                        :is-index="false" :loading="cscTableLoading"
+                    >
+                        <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{ row?.name }}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4"
-                             :isIndex="false" :loading="cscTableLoading">
-                        <template #name="{row}">
+                    <HcTable
+                        v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4"
+                        :is-index="false" :loading="cscTableLoading"
+                    >
+                        <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'" class="hc-csc-associated-row">
                                 <el-tag effect="dark">{{ row?.tag }}</el-tag>
                                 <span class="ml-3">{{ row?.name }}</span>
@@ -82,16 +96,20 @@
                         </template>
                     </HcTable>
 
-                    <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading"/>
+                    <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading" />
 
-                    <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5"
-                             :loading="cscTableLoading"/>
+                    <HcTable
+                        v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5"
+                        :loading="cscTableLoading"
+                    />
 
-                    <el-tooltip v-if="tabTypeKey === 'tab6' || tabTypeKey === 'tab5'" :disabled="!isBubble"
-                                content="使用弹窗查看数据"
-                                placement="top">
+                    <el-tooltip
+                        v-if="tabTypeKey === 'tab6' || tabTypeKey === 'tab5'" :disabled="!isBubble"
+                        content="使用弹窗查看数据"
+                        placement="top"
+                    >
                         <div class="hc-table-info-btn" @click="cscTableDataModalShow">
-                            <HcIcon name="airplay"/>
+                            <HcIcon name="airplay" />
                         </div>
                     </el-tooltip>
                 </div>
@@ -103,17 +121,19 @@
                         </div>
                     </div>
                     <div class="textarea-box">
-                        <el-input v-model="reform.content" :autosize="{ minRows: 5}" placeholder="请填写抽检意见"
-                                  resize="none"
-                                  type="textarea"/>
+                        <el-input
+                            v-model="reform.content" :autosize="{ minRows: 5 }" placeholder="请填写抽检意见"
+                            resize="none"
+                            type="textarea"
+                        />
                     </div>
                     <div class="btn-box">
                         <el-button hc-btn @click="onCarrySpotChecksDrawerClose">
-                            <HcIcon name="close"/>
+                            <HcIcon name="close" />
                             <span>{{ closeText }}</span>
                         </el-button>
                         <el-button hc-btn type="primary" @click="checkClick">
-                            <HcIcon name="check"/>
+                            <HcIcon name="check" />
                             <span>{{ checkText }}</span>
                         </el-button>
                     </div>
@@ -121,52 +141,59 @@
             </div>
         </HcDrawer>
 
-        <!--使用弹窗查看数据-->
-        <HcDialog :footer="false" :show="cscTableDataModal" :title="cscTableDataTitle" isTable widths="1080px"
-                  @close="cscTableDataModalClose">
-            <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading"/>
-            <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5"
-                     :loading="cscTableLoading"/>
+        <!-- 使用弹窗查看数据 -->
+        <HcDialog
+            :footer="false" :show="cscTableDataModal" :title="cscTableDataTitle" is-table widths="1080px"
+            @close="cscTableDataModalClose"
+        >
+            <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading" />
+            <HcTable
+                v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5"
+                :loading="cscTableLoading"
+            />
         </HcDialog>
     </div>
 </template>
 
 <script setup>
-import {ref, watch} from "vue";
-import {useAppStore} from "~src/store";
-import MetaTable from "./meta-table.vue"
-
-const useAppState = useAppStore()
+import { ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import MetaTable from './meta-table.vue'
 
 //参数
 const props = defineProps({
     projectId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     contractId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     show: {
         type: Boolean,
-        default: false
+        default: false,
     },
     closeText: {
         type: [String, Number],
-        default: '取消查阅'
+        default: '取消查阅',
     },
     checkText: {
         type: [String, Number],
-        default: '保存抽检意见'
-    }
+        default: '保存抽检意见',
+    },
 })
 
+//事件
+const emit = defineEmits(['close', 'check'])
+
+const useAppState = useAppStore()
+
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
-const isBubble = ref(useAppState.getBubble);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
+const isBubble = ref(useAppState.getBubble)
 const isDrawer = ref(props.show)
 
 //监听
@@ -174,7 +201,7 @@ watch(() => [
     props.show,
     useAppState.getBubble,
 ], ([show, bubble]) => {
-    isDrawer.value = show;
+    isDrawer.value = show
     isBubble.value = bubble
 })
 
@@ -182,14 +209,14 @@ watch(() => [
 //类型tab数据和相关处理
 const tabTypeKey = ref('tab1')
 const tabTypeTab = ref([
-    {key: 'tab1', name: '卷内文件'},
-    {key: 'tab2', name: '竣工资料'},
-    {key: 'tab3', name: '计量资料'},
-    {key: 'tab4', name: '关联资料'},
-    {key: 'tab5', name: '元数据'},
-    {key: 'tab6', name: '验签包'},
-]);
-const tabTypeChange = ({key}) => {
+    { key: 'tab1', name: '卷内文件' },
+    { key: 'tab2', name: '竣工资料' },
+    { key: 'tab3', name: '计量资料' },
+    { key: 'tab4', name: '关联资料' },
+    { key: 'tab5', name: '元数据' },
+    { key: 'tab6', name: '验签包' },
+])
+const tabTypeChange = ({ key }) => {
     tabTypeKey.value = key
 }
 
@@ -197,8 +224,8 @@ const cscTableLoading = ref(false)
 
 //卷内目录
 const cscTableColumn1 = [
-    {key: 'name', name: '卷内文件题名', align: 'center'}
-];
+    { key: 'name', name: '卷内文件题名', align: 'center' },
+]
 const cscTableData1 = ref([
     // {id: 1, name: '[K8+450阳光大桥第x联(跨)墩顶负弯矩张拉压浆].PDF'},
     // {id: 2, name: '[K8+450阳光大桥第x联(跨)墩顶负弯矩张拉压浆].PDF'},
@@ -211,8 +238,8 @@ const cscTableData1 = ref([
 
 //竣工资料
 const cscTableColumn2 = [
-    {key: 'name', name: '竣工图资料', align: 'center'}
-];
+    { key: 'name', name: '竣工图资料', align: 'center' },
+]
 const cscTableData2 = ref([
     // {id: 1, name: 'S6-3-2-Q-8-32 箱梁梁底支座垫石钢筋构造图111-箱梁梁底调平垫块及支座垫石钢筋构造图.pdf'},
     // {id: 2, name: 'J6-3-2-Q-8-34 桥墩一般构造图(1-9).pdf'},
@@ -225,8 +252,8 @@ const cscTableData2 = ref([
 
 //计量资料
 const cscTableColumn3 = [
-    {key: 'name', name: '计量资料', align: 'center'}
-];
+    { key: 'name', name: '计量资料', align: 'center' },
+]
 const cscTableData3 = ref([
     // {id: 1, name: 'ZB2-17.pdf'},
     // {id: 2, name: 'ZB2-18.pdf'},
@@ -239,8 +266,8 @@ const cscTableData3 = ref([
 
 //计量资料
 const cscTableColumn4 = [
-    {key: 'name', name: '关联文件', align: 'center'}
-];
+    { key: 'name', name: '关联文件', align: 'center' },
+]
 const cscTableData4 = ref([
     // {id: 1, name: 'xxxxxxxxxxxxxxxxxxx.pdf', tag: '开工'},
     // {id: 2, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '工序'},
@@ -253,15 +280,15 @@ const cscTableData4 = ref([
 
 //验签包
 const cscTableColumn5 = [
-    {key: 'user', name: '签名者'},
-    {key: 'time', name: '签名时间'},
-    {key: 'val', name: '摘要'},
-];
+    { key: 'user', name: '签名者' },
+    { key: 'time', name: '签名时间' },
+    { key: 'val', name: '摘要' },
+]
 const cscTableColumn51 = [
-    {key: 'user', name: '签名者', width: 300},
-    {key: 'time', name: '签名时间', width: 200},
-    {key: 'val', name: '摘要'},
-];
+    { key: 'user', name: '签名者', width: 300 },
+    { key: 'time', name: '签名时间', width: 200 },
+    { key: 'val', name: '摘要' },
+]
 const cscTableData5 = ref([
     // {
     //     id: 1,
@@ -304,7 +331,7 @@ const cscTableData5 = ref([
 
 //抽检意见
 const reform = ref({
-    type: false, content: ''
+    type: false, content: '',
 })
 
 
@@ -314,15 +341,12 @@ const onCarryDataShow = () => {
     isCarryDataShow.value = !isCarryDataShow.value
 }
 
-//事件
-const emit = defineEmits(['close', 'check'])
-
 //使用弹窗查看数据
 const cscTableDataModal = ref(false)
 const cscTableDataTitle = ref('')
 //显示弹窗
 const cscTableDataModalShow = () => {
-    const key = tabTypeKey.value;
+    const key = tabTypeKey.value
     if (key === 'tab5') {
         cscTableDataTitle.value = '元数据'
     } else if (key === 'tab6') {
@@ -502,5 +526,4 @@ const checkClick = () => {
         margin-left: 50px;
     }
 }
-
 </style>

+ 2 - 2
src/views/transfer/components/conclusion/table-opinion.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcTable ui="no-border" border :column="tableColumn" :datas="tableData" :loading="tableLoading">
+    <HcTable ui="no-border" is-new :index-style="{ width: 60 }" :column="tableColumn" :datas="tableData" :loading="tableLoading">
         <template #key3="{ row }">
             <span class="text-blue text-hover" @click="opinionClick(row)">{{ row.key3 }}</span>
         </template>
@@ -73,7 +73,7 @@ const saveClick = (row) => {
 }
 //删除
 const delClick = (row) => {
- 
+
 }
 
 //查看意见

+ 1 - 1
src/views/transfer/components/conclusion/table-score.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcTable ui="no-border" border :column="tableColumn" :datas="tableData" :loading="tableLoading" :is-index="false">
+    <HcTable ui="no-border" is-new :column="tableColumn" :datas="tableData" :loading="tableLoading" :is-index="false">
         <template #key3="{ row }">
             <div v-if="row.isEdit" class="table-score-input-box">
                 <el-input v-model="row.key3" placeholder="" />

+ 1 - 1
src/views/transfer/components/examination/table-opinion.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcTable ui="no-border" border :column="tableColumn" :datas="tableData" :loading="tableLoading">
+    <HcTable ui="no-border" is-new :index-style="{ width: 60 }" :column="tableColumn" :datas="tableData" :loading="tableLoading">
         <template #key2="{ row }">
             <span class="text-blue text-hover">{{ row.key2 }}</span>
         </template>

+ 1 - 1
src/views/transfer/components/submit-report/table-opinion.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcTable ui="no-border" border :column="tableColumn" :datas="tableData" :loading="tableLoading">
+    <HcTable ui="no-border" is-new :index-style="{ width: 60 }" :column="tableColumn" :datas="tableData" :loading="tableLoading">
         <template #key3="{ row }">
             <el-input v-if="row.isEdit" v-model="row.key3" placeholder="请输入抽检意见" />
             <span v-else>{{ row.key3 }}</span>

+ 1 - 1
src/views/transfer/components/submit-report/table-score.vue

@@ -1,5 +1,5 @@
 <template>
-    <HcTable ui="no-border" border :column="tableColumn" :datas="tableData" :loading="tableLoading" :is-index="false">
+    <HcTable ui="no-border" is-new :index-style="{ width: 60 }" :column="tableColumn" :datas="tableData" :loading="tableLoading" :is-index="false">
         <template #key2="{ row }">
             <div v-if="row.isEdit" class="table-score-input-box">
                 <el-input v-model="row.key2" placeholder="请输入完整性" />

+ 34 - 30
src/views/transfer/components/table-classify.vue

@@ -1,53 +1,57 @@
 <template>
     <HcCard>
         <template #header>
-            <HcNewSwitch :datas="tabData" :keys="tabKey" @change="tabChange" :round="false"/>
+            <HcNewSwitch :datas="tabData" :keys="tabKey" :round="false" @change="tabChange" />
         </template>
         <template #extra>
             <HcTooltip keys="file_collection_btn_upload_scanned_files">
                 <el-button type="primary" hc-btn>
-                    <HcIcon name="git-pull-request"/>
+                    <HcIcon name="git-pull-request" />
                     <span>申请验收</span>
                 </el-button>
             </HcTooltip>
         </template>
-        <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection"/>
+        <HcTable
+            ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+            is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+            @selection-change="tableSelection"
+        />
         <template #action>
-            <HcPages :pages="searchForm" @change="pageChange"/>
+            <HcPages :pages="searchForm" @change="pageChange" />
         </template>
     </HcCard>
 </template>
 
 <script setup>
-import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue} from "js-fast-way"
+import { nextTick, onMounted, ref, watch } from 'vue'
+import { getArrValue } from 'js-fast-way'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
 })
 
 //渲染完成
@@ -58,21 +62,21 @@ onMounted(() => {
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key:'tab1',  name: '全部汇总'},
-    {key:'tab2',  name: '历史验收报告'},
-    {key:'tab3', name: '历史整改报告'}
-]);
+    { key:'tab1', name: '全部汇总' },
+    { key:'tab2', name: '历史验收报告' },
+    { key:'tab3', name: '历史整改报告' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -81,10 +85,10 @@ const pageChange = ({current, size}) => {
 //表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '档号', width: 200},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '保管期限', width: 140},
-    {key:'key4', name: '总页数', width: 140},
+    { key:'key1', name: '档号', width: 200 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '保管期限', width: 140 },
+    { key:'key4', name: '总页数', width: 140 },
 ])
 const tableData = ref([
     {
@@ -107,7 +111,7 @@ const tableData = ref([
         key2: '初步设计外业验收有关文件、工程初步设计图纸、初步设计批复、初步设计审查咨询报告',
         key3: '永久',
         key4: '293',
-    }
+    },
 ])
 
 //获取数据
@@ -117,7 +121,7 @@ const getTableData = async () => {
 }
 
 //多选
-const tableKeys = ref([]);
+const tableKeys = ref([])
 const tableSelection = (rows) => {
     tableKeys.value = rows
 }

+ 64 - 58
src/views/transfer/components/table-collect.vue

@@ -1,12 +1,12 @@
 <template>
     <HcCard scrollbar>
         <template #header>
-            <HcNewSwitch :datas="tabData" :keys="tabKey" @change="tabChange" :round="false"/>
+            <HcNewSwitch :datas="tabData" :keys="tabKey" :round="false" @change="tabChange" />
         </template>
         <template #extra>
             <HcTooltip keys="file_collection_btn_upload_scanned_files">
                 <el-button type="primary" hc-btn @click="reportModalClick">
-                    <HcIcon name="git-pull-request"/>
+                    <HcIcon name="git-pull-request" />
                     <span>申请验收</span>
                 </el-button>
             </HcTooltip>
@@ -17,7 +17,11 @@
                 <span>一、立项审批</span>
                 <span class="text-gray">(238卷)</span>
             </template>
-            <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" heights="auto" isCheck @selection-change="tableSelection"/>
+            <HcTable
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                heights="auto" is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
+            />
         </HcCardItem>
 
         <HcCardItem ui="h-half">
@@ -25,57 +29,59 @@
                 <span>二、勘察设计文件</span>
                 <span class="text-gray">(95卷)</span>
             </template>
-            <HcTable ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading" heights="auto" isCheck @selection-change="tableeFileSelection"/>
+            <HcTable ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading" heights="auto" is-check @selection-change="tableeFileSelection" />
         </HcCardItem>
     </HcCard>
 
-    <!--批量上报审批-->
-    <HcReportModal title="申请验收"
-                   widths="1080px"
-                   url="informationWriteQuery/batchTask"
-                   :show="showReportModal"
-                   :projectId="projectId"
-                   :contractId="contractId"
-                   :taskName="reportTaskName"
-                   :ids="reportIds"
-                   isDatas
-                   :datas="reportDatas"
-                   @hide="showReportModal = false"
-                   @finish="showReportFinish"
-                   @tagClose="reportTaskTagClose"/>
+    <!-- 批量上报审批 -->
+    <HcReportModal
+        title="申请验收"
+        widths="1080px"
+        url="informationWriteQuery/batchTask"
+        :show="showReportModal"
+        :project-id="projectId"
+        :contract-id="contractId"
+        :task-name="reportTaskName"
+        :ids="reportIds"
+        is-datas
+        :datas="reportDatas"
+        @hide="showReportModal = false"
+        @finish="showReportFinish"
+        @tagClose="reportTaskTagClose"
+    />
 </template>
 
 <script setup>
-import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue, getObjValue} from "js-fast-way"
-import {rowsToId} from "~uti/tools";
+import { nextTick, onMounted, ref, watch } from 'vue'
+import { getArrValue, getObjValue } from 'js-fast-way'
+import { rowsToId } from '~uti/tools'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
 })
 
 //渲染完成
@@ -86,12 +92,12 @@ onMounted(() => {
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key:'tab1',  name: '全部汇总'},
-    {key:'tab2',  name: '历史验收报告'},
-    {key:'tab3', name: '历史整改报告'}
-]);
+    { key:'tab1', name: '全部汇总' },
+    { key:'tab2', name: '历史验收报告' },
+    { key:'tab3', name: '历史整改报告' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 
@@ -99,11 +105,11 @@ const tabChange = (item) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -112,11 +118,11 @@ const pageChange = ({current, size}) => {
 //表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '档号', width: 180},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '总页数', width: 120},
-    {key:'key4', name: '保管期限', width: 120},
-    {key:'key5', name: '备注'},
+    { key:'key1', name: '档号', width: 180 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '总页数', width: 120 },
+    { key:'key4', name: '保管期限', width: 120 },
+    { key:'key5', name: '备注' },
 ])
 const tableData = ref([
     {
@@ -142,7 +148,7 @@ const tableData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -152,7 +158,7 @@ const getTableData = async () => {
 }
 
 //多选
-const tableKeys = ref([]);
+const tableKeys = ref([])
 const tableSelection = (rows) => {
     tableKeys.value = rows
 }
@@ -161,11 +167,11 @@ const tableSelection = (rows) => {
 
 //搜索表单
 const searchFormFile = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageFileChange = ({current, size}) => {
+const pageFileChange = ({ current, size }) => {
     searchFormFile.value.current = current
     searchFormFile.value.size = size
     getTableFileData()
@@ -174,11 +180,11 @@ const pageFileChange = ({current, size}) => {
 //表头
 const tableFileRef = ref(null)
 const tableFileColumn = ref([
-    {key:'key1', name: '档号', width: 180},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '总页数', width: 120},
-    {key:'key4', name: '保管期限', width: 120},
-    {key:'key5', name: '备注'},
+    { key:'key1', name: '档号', width: 180 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '总页数', width: 120 },
+    { key:'key4', name: '保管期限', width: 120 },
+    { key:'key5', name: '备注' },
 ])
 const tableFileData = ref([
     {
@@ -204,7 +210,7 @@ const tableFileData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -214,7 +220,7 @@ const getTableFileData = async () => {
 }
 
 //多选
-const tableFileKeys = ref([]);
+const tableFileKeys = ref([])
 const tableeFileSelection = (rows) => {
     tableFileKeys.value = rows
 }
@@ -227,8 +233,8 @@ const reportDatas = ref([])
 const showReportModal = ref(false)
 const reportLoading = ref(false)
 const reportModalClick = async () => {
-    const rows = tableKeys.value;
-    if(rows.length > 0) {
+    const rows = tableKeys.value
+    if (rows.length > 0) {
         //初始ID
         const row = getObjValue(rows[0])
         reportIds.value = rowsToId(rows)
@@ -237,7 +243,7 @@ const reportModalClick = async () => {
         rows.forEach(item => {
             reportDataArr.push({
                 id: item?.id,
-                name: item?.key2
+                name: item?.key2,
             })
         })
         reportDatas.value = reportDataArr

+ 61 - 53
src/views/transfer/initial-expert.vue

@@ -1,31 +1,33 @@
 <template>
-    <div class="hc-page-box" id="submit-report-layout-target">
+    <div id="submit-report-layout-target" class="hc-page-box">
         <HcCard scrollbar>
             <template #header>
-                <HcNewSwitch :datas="tabData" :keys="tabKey" :round="false" style="margin-right: 24px"
-                             @change="tabChange"/>
+                <HcNewSwitch
+                    :datas="tabData" :keys="tabKey" :round="false" style="margin-right: 24px"
+                    @change="tabChange"
+                />
                 <HcTooltip keys="transfer_initial_expert_btn_preview">
                     <el-button hc-btn type="primary">
-                        <HcIcon name="file-pdf"/>
+                        <HcIcon name="file-pdf" />
                         <span>预览</span>
                     </el-button>
                 </HcTooltip>
             </template>
             <template #extra>
-                <!--transfer_initial_expert_btn_sampling -->
+                <!-- transfer_initial_expert_btn_sampling -->
                 <el-button color="#0581fe" hc-btn @click="submitReportClick">
-                    <HcIcon name="shield-check"/>
+                    <HcIcon name="shield-check" />
                     <span>开始抽检</span>
                 </el-button>
                 <HcTooltip keys="transfer_initial_expert_btn_submit_report">
                     <el-button color="#7f83f7" hc-btn style="color: white" @click="writingConclusionClick">
-                        <HcIcon name="git-pull-request"/>
+                        <HcIcon name="git-pull-request" />
                         <span>编写结论</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="transfer_initial_expert_btn_history_report">
                     <el-button color="#38b54a" hc-btn style="color: white" @click="onSubmitReportClick">
-                        <HcIcon name="history"/>
+                        <HcIcon name="history" />
                         <span>查看验收报告</span>
                     </el-button>
                 </HcTooltip>
@@ -36,8 +38,10 @@
                     <span>一、立项审批</span>
                     <span class="text-gray">(238卷)</span>
                 </template>
-                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
-                         heights="auto"/>
+                <HcTable
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    heights="auto" is-new :index-style="{ width: 60 }"
+                />
             </HcCardItem>
 
             <HcCardItem ui="h-half">
@@ -45,46 +49,50 @@
                     <span>二、勘察设计文件</span>
                     <span class="text-gray">(95卷)</span>
                 </template>
-                <HcTable ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading"
-                         heights="auto"/>
+                <HcTable
+                    ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading"
+                    heights="auto" is-new :index-style="{ width: 60 }"
+                />
             </HcCardItem>
         </HcCard>
 
-        <!--历史报告-->
-        <HcDrawer :show="isSubmitReportDrawer" to-id="submit-report-layout-target" uis="hc-submit-report-target"
-                  @close="onSubmitReportDrawerClose">
+        <!-- 历史报告 -->
+        <HcDrawer
+            :show="isSubmitReportDrawer" to-id="submit-report-layout-target" uis="hc-submit-report-target"
+            @close="onSubmitReportDrawerClose"
+        >
             <template #header>
                 <div class="hc-select-view w-52">
                     <el-select v-model="pdfDate" placeholder="选择日期">
-                        <el-option label="2022年12月24日" value="2022年12月24日"/>
-                        <el-option label="2022年12月25日" value="2022年12月25日"/>
-                        <el-option label="2022年12月26日" value="2022年12月26日"/>
-                        <el-option label="2022年12月27日" value="2022年12月27日"/>
+                        <el-option label="2022年12月24日" value="2022年12月24日" />
+                        <el-option label="2022年12月25日" value="2022年12月25日" />
+                        <el-option label="2022年12月26日" value="2022年12月26日" />
+                        <el-option label="2022年12月27日" value="2022年12月27日" />
                     </el-select>
                 </div>
                 <div class="hc-title-view">试验资料(含工地试验室资质证书、仪器标定证书等)</div>
                 <div class="hc-icon-view text-hover" @click="onSubmitReportDrawerClose">
-                    <HcIcon name="close"/>
+                    <HcIcon name="close" />
                 </div>
             </template>
             <HcPdf
-                src="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20221212/ce9799c7d18efc03efefd6f242439f2e.pdf"/>
+                src="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20221212/ce9799c7d18efc03efefd6f242439f2e.pdf"
+            />
         </HcDrawer>
-
     </div>
 </template>
 
 <script setup>
-import {ref, onMounted} from "vue";
-import {useRouter} from "vue-router";
-import {useAppStore} from "~src/store";
+import { onMounted, ref } from 'vue'
+import { useRouter } from 'vue-router'
+import { useAppStore } from '~src/store'
 
 //变量
 const router = useRouter()
 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)
 
 //渲染完成
 onMounted(() => {
@@ -94,13 +102,13 @@ onMounted(() => {
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key: 'tab1', name: '建设单位归档资料'},
-    {key: 'tab2', name: '监理单位归档资料'},
-    {key: 'tab3', name: '施工单位归档资料'},
-    {key: 'tab4', name: '科研、新技术资料'},
-]);
+    { key: 'tab1', name: '建设单位归档资料' },
+    { key: 'tab2', name: '监理单位归档资料' },
+    { key: 'tab3', name: '施工单位归档资料' },
+    { key: 'tab4', name: '科研、新技术资料' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 
@@ -108,11 +116,11 @@ const tabChange = (item) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -121,11 +129,11 @@ const pageChange = ({current, size}) => {
 //表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key: 'key1', name: '档号', width: 180},
-    {key: 'key2', name: '案卷题名'},
-    {key: 'key3', name: '总页数', width: 120},
-    {key: 'key4', name: '保管期限', width: 120},
-    {key: 'key5', name: '备注'},
+    { key: 'key1', name: '档号', width: 180 },
+    { key: 'key2', name: '案卷题名' },
+    { key: 'key3', name: '总页数', width: 120 },
+    { key: 'key4', name: '保管期限', width: 120 },
+    { key: 'key5', name: '备注' },
 ])
 const tableData = ref([
     {
@@ -151,7 +159,7 @@ const tableData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -164,11 +172,11 @@ const getTableData = async () => {
 
 //搜索表单
 const searchFormFile = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageFileChange = ({current, size}) => {
+const pageFileChange = ({ current, size }) => {
     searchFormFile.value.current = current
     searchFormFile.value.size = size
     getTableFileData()
@@ -177,11 +185,11 @@ const pageFileChange = ({current, size}) => {
 //表头
 const tableFileRef = ref(null)
 const tableFileColumn = ref([
-    {key: 'key1', name: '档号', width: 180},
-    {key: 'key2', name: '案卷题名'},
-    {key: 'key3', name: '总页数', width: 120},
-    {key: 'key4', name: '保管期限', width: 120},
-    {key: 'key5', name: '备注'},
+    { key: 'key1', name: '档号', width: 180 },
+    { key: 'key2', name: '案卷题名' },
+    { key: 'key3', name: '总页数', width: 120 },
+    { key: 'key4', name: '保管期限', width: 120 },
+    { key: 'key5', name: '备注' },
 ])
 const tableFileData = ref([
     {
@@ -207,7 +215,7 @@ const tableFileData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -219,15 +227,15 @@ const getTableFileData = async () => {
 //编写结论
 const writingConclusionClick = () => {
     router.push({
-        name: 'transfer-writing-conclusion'
+        name: 'transfer-writing-conclusion',
     })
 }
 
 //开始抽检
 const submitReportClick = () => {
     router.push({
-        name: 'transfer-entry-sampling'
-    });
+        name: 'transfer-entry-sampling',
+    })
 }
 
 //历史报告

+ 20 - 20
src/views/transfer/inspects.vue

@@ -22,7 +22,7 @@
         </div>
         <div v-show="!isCarrySpotChecksDrawer" class="hc-page-content-box">
             <HcCard title="已形成的案卷">
-                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" @row-click="tableRowClick">
+                <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }" @row-click="tableRowClick">
                     <template #name="{ row }">
                         <div class="text-link" :class="row.isReviewed === 1 ? 'text-green' : 'text-blue'">
                             {{ row?.name }}
@@ -105,7 +105,7 @@
                     </el-scrollbar>
                 </div>
                 <div class="hc-csc-data-box" :style="{ height: checkId ? '' : 'calc(100% - 363px)' }">
-                    <HcTable v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" :is-arr-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" is-new :is-arr-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === checkId ? 'text-link' : 'text-hover'" @click="changePdf(row)">
                                 {{ row?.fileName }}
@@ -113,7 +113,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" :is-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" is-new :is-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 {{ row?.name }}
@@ -121,7 +121,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" :is-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" is-new :is-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 {{ row?.name }}
@@ -129,7 +129,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" :is-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" is-new :is-index="false">
                         <template #name="{ row }">
                             <div class="hc-csc-associated-row" :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 <el-tag effect="dark">
@@ -141,9 +141,9 @@
                     </HcTable>
 
                     <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscmetaTableLoading" :meta-data-table="cscmetaDataTabledata" :ishow-file="ishowFile" />
-                 
 
-                    <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5" :loading="cscTableLoading" />
+
+                    <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5" :loading="cscTableLoading" is-new :index-style="{ width: 60 }" />
 
                     <el-tooltip v-if="tabTypeKey === 'tab6' || tabTypeKey === 'tab5'" content="使用弹窗查看数据" placement="top" :disabled="!isBubble">
                         <div class="hc-table-info-btn" @click="cscTableDataModalShow">
@@ -193,7 +193,7 @@
         <!-- 使用弹窗查看数据 -->
         <HcDialog :show="cscTableDataModal" :title="cscTableDataTitle" widths="1080px" is-table :footer="false" @close="cscTableDataModalClose">
             <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscmetaTableLoading" :meta-data-table="cscmetaDataTabledata" :ishow-file="ishowFile" />
-            <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5" :loading="cscTableLoading" />
+            <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5" :loading="cscTableLoading" is-new :index-style="{ width: 60 }" />
         </HcDialog>
     </div>
 </template>
@@ -333,7 +333,7 @@ const viewPdf = async (id) => {
         } else {
             window.$message?.warning('文件不存在')
         }
-    } 
+    }
 }
 //行被点击
 const isCarrySpotChecksDrawer = ref(false)
@@ -347,8 +347,8 @@ const tableRowClick = async ({ row }) => {
     isCarrySpotChecksDrawer.value = true
     ishowAllopinion.value = true
     checkId.value = ''
-  
-   
+
+
     const url = await viewPdf(row.id)
         pdfUrl.value = url
         if (pdfUrl.value && pdfUrl?.value.length > 0 && isCarrySpotChecksDrawer.value) {
@@ -361,20 +361,20 @@ const tableRowClick = async ({ row }) => {
 const getArchiveFileListData = async ()=>{
     const { error, code, msg, data } = await archiveQueryApi.getArchiveFileList({
         id: fileInfo.value.id, //案卷id
-     
+
     })
     //处理返回数据
     if (!error && code === 200) {
-        fileInfo.value.pageNumber = data.pageNumber 
-        
-        cscTableData1.value = getArrValue(data['approvalFileList']) 
+        fileInfo.value.pageNumber = data.pageNumber
+
+        cscTableData1.value = getArrValue(data['approvalFileList'])
         if (cscTableData1.value.length > 0) {
             checkmetaFileId.value = cscTableData1.value[0].id
             getmetaInfo()
         }
 
     } else {
-       
+
         cscTableData1.value = []
     }
 }
@@ -420,7 +420,7 @@ const getopiniondata = async ()=>{
         reform.value.type = opiniondata?.allOpinion?.length > 0 ? true : false
         reform.value.myOpinion = opiniondata?.opinion
         opid.value = opiniondata?.id
-    } 
+    }
 }
 //保存抽检意见
 const submitLoading = ref(false)
@@ -442,8 +442,8 @@ const submitOpinion = async ()=>{
         window.$message.success(msg)
         serReviewFile()
         getTableData()
-      
-    } 
+
+    }
     // addOpinion
 }
 //类型tab数据和相关处理
@@ -640,7 +640,7 @@ const ishowFile = ref(false)
 //获取元数据信息
 
 const getmetaInfo = async (fileId)=>{
- 
+
     cscmetaTableLoading.value = true
     const { error, code, data } = await tuningApi.getMetadataFileByid({
         fileId: checkmetaFileId.value,

+ 55 - 53
src/views/transfer/leader-sampling.vue

@@ -1,22 +1,22 @@
 <template>
     <div id="carry-spot-checks-layout-target" class="hc-page-layout-box">
-        <div v-show="!isCarrySpotChecksDrawer" :style="'width:' + leftWidth + 'px;'" class="hc-layout-left-box">
+        <div v-show="!isCarrySpotChecksDrawer" :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
             <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" v-loading="treeLoading" element-loading-text="加载中...">
+            <div v-loading="treeLoading" class="hc-tree-box" element-loading-text="加载中...">
                 <el-scrollbar>
-                    <HcTree :contractId="contractId" :projectId="projectId" @nodeTap="projectTreeClick" @nodeLoading="treeNodeLoading"/>
+                    <HcTree :contract-id="contractId" :project-id="projectId" @nodeTap="projectTreeClick" @nodeLoading="treeNodeLoading" />
                 </el-scrollbar>
             </div>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div v-show="!isCarrySpotChecksDrawer" class="hc-page-content-box">
             <HcCard>
@@ -30,68 +30,70 @@
                 <template #extra>
                     <el-button hc-btn type="primary" @click="entrySamplingClick">重置验收范围</el-button>
                     <el-button hc-btn type="warning" @click="toBackClick">
-                        <HcIcon name="arrow-go-back"/>
+                        <HcIcon name="arrow-go-back" />
                         <span>返回</span>
                     </el-button>
                 </template>
                 <div class="hc-card-diy-search-box">
                     <div class="text-gray text-sm mr-4">
                         <span>通过关键词、题名、桩号等相关信息进行搜索:</span>
-                        <!--el-checkbox-group v-model="checkList">
+                        <!-- el-checkbox-group v-model="checkList">
                         <el-checkbox label="目录"/>
                         <el-checkbox label="案卷"/>
                         <el-checkbox label="文件"/>
-                    </el-checkbox-group-->
+                    </el-checkbox-group -->
                     </div>
                     <div class="autocomplete-box">
-                        <el-autocomplete v-model="state1" :fetch-suggestions="querySearch" class="w-full" clearable
-                                         placeholder="搜索" @select="handleSelect"/>
+                        <el-autocomplete
+                            v-model="state1" :fetch-suggestions="querySearch" class="w-full" clearable
+                            placeholder="搜索" @select="handleSelect"
+                        />
                     </div>
                 </div>
 
                 <div class="hc-card-diy-table-box">
-                    <HcTable :column="tableColumn"
-                             :datas="tableData"
-                             :loading="tableLoading"
-                             heights="auto">
-                        <template #key4="{row,index}">
-                            <span :style="row.key4_1 === '1'? 'color: #81b337' :''">{{ row.key4 }}</span>
+                    <HcTable
+                        :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                        heights="auto" is-new :index-style="{ width: 60 }"
+                    >
+                        <template #key4="{ row, index }">
+                            <span :style="row.key4_1 === '1' ? 'color: #81b337' : ''">{{ row.key4 }}</span>
                         </template>
-                        <template #key5="{row,index}">
-                            <span :style="row.key5_1 === '1'? 'color: #81b337' :'color: #bd3124'">{{ row.key5 }}</span>
+                        <template #key5="{ row, index }">
+                            <span :style="row.key5_1 === '1' ? 'color: #81b337' : 'color: #bd3124'">{{ row.key5 }}</span>
                         </template>
-                        <template #action="{row,index}">
+                        <template #action="{ row, index }">
                             <el-button size="small" type="primary" @click="tableClick(row)">查看</el-button>
                         </template>
                     </HcTable>
                 </div>
-
             </HcCard>
         </div>
 
-        <!--展开抽查-->
-        <CarrySpotChecks :show="isCarrySpotChecksDrawer" @check="onCarrySpotChecksClose"
-                         @close="onCarrySpotChecksClose"/>
-
+        <!-- 展开抽查 -->
+        <CarrySpotChecks
+            :show="isCarrySpotChecksDrawer" @check="onCarrySpotChecksClose"
+            @close="onCarrySpotChecksClose"
+        />
     </div>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import {useRouter} from "vue-router";
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import { useRouter } from 'vue-router'
 //import HcTree from "./components/hc-tree.vue"
-import HcTree from "~src/components/tree/hc-tree.vue"
-import CarrySpotChecks from "./components/carry-spot-checks.vue"
+import HcTree from '~src/components/tree/hc-tree.vue'
+import CarrySpotChecks from './components/carry-spot-checks.vue'
 
 //变量
 const router = useRouter()
 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 isBubble = ref(useAppState.getBubble);
+const isBubble = ref(useAppState.getBubble)
 
 //监听
 watch(() => [
@@ -118,12 +120,12 @@ const projectTreeClick = () => {
 
 }
 
-const checkList = ref([]);
+const checkList = ref([])
 
 const state1 = ref('')
 const restaurants = ref([
-    {value: '重庆市水利局关于安康至来凤国家高速公路奉节至巫山(渝鄂界)段水土保持方案准予许可的决定.PDF'},
-    {value: '水土保持方案报告书、水土保持方案报告书技术评审会议纪要、水土保持方案的批复'},
+    { value: '重庆市水利局关于安康至来凤国家高速公路奉节至巫山(渝鄂界)段水土保持方案准予许可的决定.PDF' },
+    { value: '水土保持方案报告书、水土保持方案报告书技术评审会议纪要、水土保持方案的批复' },
 ])
 const querySearch = (queryString, cb) => {
     const results = queryString ? restaurants.value.filter(createFilter(queryString)) : restaurants.value
@@ -141,12 +143,12 @@ const handleSelect = (item) => {
 }
 
 const tableColumn = ref([
-    {key: 'key1', name: '档号', width: 180},
-    {key: 'key2', name: '案卷题名'},
-    {key: 'key3', name: '立卷单位'},
-    {key: 'key4', name: '抽检状态'},
-    {key: 'key5', name: '抽检意见'},
-    {key: 'action', name: '操作', width: 100},
+    { key: 'key1', name: '档号', width: 180 },
+    { key: 'key2', name: '案卷题名' },
+    { key: 'key3', name: '立卷单位' },
+    { key: 'key4', name: '抽检状态' },
+    { key: 'key5', name: '抽检意见' },
+    { key: 'action', name: '操作', width: 100 },
 ])
 const tableData = ref([
     {
@@ -193,30 +195,30 @@ const onCarrySpotChecksClose = () => {
 //返回
 const toBackClick = () => {
     router.push({
-        name: 'transfer-initial-expert'
+        name: 'transfer-initial-expert',
     })
 }
 
 //进入抽检
 const entrySamplingClick = () => {
     router.push({
-        name: 'transfer-entry-sampling'
-    });
+        name: 'transfer-entry-sampling',
+    })
 }
 
 //左右拖动,改变树形结构宽度
-const leftWidth = ref(382);
+const leftWidth = ref(382)
 const onmousedown = () => {
     const leftNum = isCollapse.value ? 142 : 272
     document.onmousemove = (ve) => {
-        let diffVal = ve.clientX - leftNum;
+        let 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>

+ 69 - 67
src/views/transfer/preliminary-examination.vue

@@ -1,30 +1,30 @@
 <template>
     <div id="carry-spot-checks-layout-target" class="hc-page-layout-box">
-        <div v-show="!isCarrySpotChecksDrawer" :style="'width:' + leftWidth + 'px;'" class="hc-layout-left-box">
+        <div v-show="!isCarrySpotChecksDrawer" :style="`width:${leftWidth}px;`" class="hc-layout-left-box">
             <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-new-switch">
-                <HcNewSwitch :datas="tabData" :keys="tabKey" size="small" :round="false" @change="tabChange"/>
+                <HcNewSwitch :datas="tabData" :keys="tabKey" size="small" :round="false" @change="tabChange" />
             </div>
-            <div class="hc-tree-box" v-loading="treeLoading" element-loading-text="加载中...">
+            <div v-loading="treeLoading" class="hc-tree-box" element-loading-text="加载中...">
                 <el-scrollbar>
-                    <HcTree :contractId="contractId" :projectId="projectId" @nodeTap="projectTreeClick" @nodeLoading="treeNodeLoading"/>
+                    <HcTree :contract-id="contractId" :project-id="projectId" @nodeTap="projectTreeClick" @nodeLoading="treeNodeLoading" />
                 </el-scrollbar>
             </div>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div v-show="!isCarrySpotChecksDrawer" class="hc-page-content-box">
             <HcCard>
                 <template #header>
-                    <HcIcon name="volume-up"/>
+                    <HcIcon name="volume-up" />
                     <span class="ml-2">您本次验收抽检案卷共</span>
                     <span class="text-orange mx-2">1232</span>
                     <span>卷,目前已抽检</span>
@@ -40,70 +40,73 @@
                     <div class="text-gray text-sm mr-4 hc-card-diy-tip-view">
                         <span class="mr-4">通过关键词、题名、桩号等相关信息进行搜索:</span>
                         <el-checkbox-group v-model="checkList">
-                            <el-checkbox label="案卷"/>
-                            <el-checkbox label="文件"/>
+                            <el-checkbox label="案卷" />
+                            <el-checkbox label="文件" />
                         </el-checkbox-group>
                     </div>
                     <div class="autocomplete-box">
-                        <el-autocomplete v-model="state1" :fetch-suggestions="querySearch" class="w-full" clearable
-                                         placeholder="搜索" @select="handleSelect"/>
+                        <el-autocomplete
+                            v-model="state1" :fetch-suggestions="querySearch" class="w-full" clearable
+                            placeholder="搜索" @select="handleSelect"
+                        />
                         <el-button class="ml-10" type="primary" @click="logShowClick">抽检记录</el-button>
                     </div>
                 </div>
 
                 <div class="hc-card-diy-table-box">
-                    <HcTable :column="tableColumn"
-                             :datas="tableData"
-                             :loading="tableLoading"
-                             heights="auto">
-                        <template #key4="{row,index}">
-                            <span :style="row.key4_1 === '1'? 'color: #81b337' :''">{{ row.key4 }}</span>
+                    <HcTable
+                        :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                        heights="auto" is-new :index-style="{ width: 60 }"
+                    >
+                        <template #key4="{ row, index }">
+                            <span :style="row.key4_1 === '1' ? 'color: #81b337' : ''">{{ row.key4 }}</span>
                         </template>
-                        <template #key5="{row,index}">
-                            <span :style="row.key5_1 === '1'? 'color: #81b337' :'color: #bd3124'">{{ row.key5 }}</span>
+                        <template #key5="{ row, index }">
+                            <span :style="row.key5_1 === '1' ? 'color: #81b337' : 'color: #bd3124'">{{ row.key5 }}</span>
                         </template>
-                        <template #action="{row,index}">
+                        <template #action="{ row, index }">
                             <el-button size="small" type="primary" @click="tableClick(row)">查看</el-button>
                         </template>
                     </HcTable>
                 </div>
                 <template #action>
-                    <HcPages :pages="searchForm" @change="pageChange"/>
+                    <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
             </HcCard>
         </div>
 
-        <!--展开抽查-->
-        <CarrySpotChecks :show="isCarrySpotChecksDrawer" closeText="关闭案卷" checkText="保存并继续抽检" @check="onCarrySpotChecksClose"
-                         @close="onCarrySpotChecksClose"/>
+        <!-- 展开抽查 -->
+        <CarrySpotChecks
+            :show="isCarrySpotChecksDrawer" close-text="关闭案卷" check-text="保存并继续抽检" @check="onCarrySpotChecksClose"
+            @close="onCarrySpotChecksClose"
+        />
 
-        <!--抽检记录-->
-        <HcDialog isSlotFooter :show="isLogModal" isTable widths="70%" title="抽检记录" @close="isLogModalClose">
-            <TableOpinion :contractId="contractId" :projectId="projectId"/>
+        <!-- 抽检记录 -->
+        <HcDialog is-slot-footer :show="isLogModal" is-table widths="70%" title="抽检记录" @close="isLogModalClose">
+            <TableOpinion :contract-id="contractId" :project-id="projectId" />
             <template #footer>
-                <HcPages :pages="searchLogForm" @change="pageLogChange"/>
+                <HcPages :pages="searchLogForm" @change="pageLogChange" />
             </template>
         </HcDialog>
-
     </div>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import {useRouter} from "vue-router";
-import HcTree from "~src/components/tree/hc-tree.vue"
-import CarrySpotChecks from "./components/carry-spot-checks.vue"
-import TableOpinion from "./components/examination/table-opinion.vue"
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import { useRouter } from 'vue-router'
+import HcTree from '~src/components/tree/hc-tree.vue'
+import CarrySpotChecks from './components/carry-spot-checks.vue'
+import TableOpinion from './components/examination/table-opinion.vue'
 
 //变量
 const router = useRouter()
 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 isBubble = ref(useAppState.getBubble);
+const isBubble = ref(useAppState.getBubble)
 
 //监听
 watch(() => [
@@ -128,11 +131,11 @@ const treeNodeLoading = () => {
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key: 'tab1', name: '所有树'},
-    {key: 'tab2', name: '分配树'},
-]);
+    { key: 'tab1', name: '所有树' },
+    { key: 'tab2', name: '分配树' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 
@@ -141,12 +144,12 @@ const projectTreeClick = () => {
 
 }
 
-const checkList = ref([]);
+const checkList = ref([])
 
 const state1 = ref('')
 const restaurants = ref([
-    {value: '重庆市水利局关于安康至来凤国家高速公路奉节至巫山(渝鄂界)段水土保持方案准予许可的决定.PDF'},
-    {value: '水土保持方案报告书、水土保持方案报告书技术评审会议纪要、水土保持方案的批复'},
+    { value: '重庆市水利局关于安康至来凤国家高速公路奉节至巫山(渝鄂界)段水土保持方案准予许可的决定.PDF' },
+    { value: '水土保持方案报告书、水土保持方案报告书技术评审会议纪要、水土保持方案的批复' },
 ])
 const querySearch = (queryString, cb) => {
     const results = queryString ? restaurants.value.filter(createFilter(queryString)) : restaurants.value
@@ -164,12 +167,12 @@ const handleSelect = (item) => {
 }
 
 const tableColumn = ref([
-    {key: 'key1', name: '档号', width: 180},
-    {key: 'key2', name: '案卷题名'},
-    {key: 'key3', name: '立卷单位'},
-    {key: 'key4', name: '抽检状态'},
-    {key: 'key5', name: '抽检意见'},
-    {key: 'action', name: '操作', width: 100},
+    { key: 'key1', name: '档号', width: 180 },
+    { key: 'key2', name: '案卷题名' },
+    { key: 'key3', name: '立卷单位' },
+    { key: 'key4', name: '抽检状态' },
+    { key: 'key5', name: '抽检意见' },
+    { key: 'action', name: '操作', width: 100 },
 ])
 const tableData = ref([
     {
@@ -198,10 +201,10 @@ const tableData = ref([
 const tableLoading = ref(false)
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -225,14 +228,14 @@ const onCarrySpotChecksClose = () => {
 //编写结论
 const writingConclusion = () => {
     router.push({
-        name: 'transfer-writing-conclusion'
+        name: 'transfer-writing-conclusion',
     })
 }
 
 //返回主页
 const toBackHomeClick = () => {
     router.push({
-        name: 'transfer-initial-expert'
+        name: 'transfer-initial-expert',
     })
 }
 
@@ -240,10 +243,10 @@ const isLogModal = ref(false)
 
 //搜索表单
 const searchLogForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 //分页被点击
-const pageLogChange = ({current, size}) => {
+const pageLogChange = ({ current, size }) => {
     searchLogForm.value.current = current
     searchLogForm.value.size = size
 }
@@ -257,18 +260,18 @@ const isLogModalClose = () => {
 }
 
 //左右拖动,改变树形结构宽度
-const leftWidth = ref(382);
+const leftWidth = ref(382)
 const onmousedown = () => {
     const leftNum = isCollapse.value ? 142 : 272
     document.onmousemove = (ve) => {
-        let diffVal = ve.clientX - leftNum;
+        let 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>
@@ -311,5 +314,4 @@ const onmousedown = () => {
         margin-left: 50px;
     }
 }
-
 </style>

+ 76 - 73
src/views/user/project.vue

@@ -1,83 +1,87 @@
 <template>
-     <div class="hc-page-box">
-           <HcCard class="hc-card-table-box" :class="isTableInfo?'info':''">
-               <HcCardItem class="hc-card-table-data">
-                   <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCurrentRow isCheck @selection-change="tableSelection" @row-click="tableRowClick">
-                       <template #action="{row}">
-                           <el-button type="primary" size="small" @click.stop="viewClick(row)">查看数据</el-button>
-                       </template>
-                   </HcTable>
-                   <template #action>
-                       <HcPages :pages="searchForm" @change="pageChange"/>
-                   </template>
-               </HcCardItem>
-
-               <HcCardItem class="hc-card-table-info" scrollbar>
-                   <template #header>
-                       <div class="hc-project-box">
-                           <div class="hc-project-icon">
-                               <HcIcon name="stack"/>
-                           </div>
-                           <div class="ml-2 project-name">{{tableRow.projectName}}</div>
-                       </div>
-                   </template>
-                   <template #extra>
-                       <div class="hc-close-icon" @click="closeClick">
-                           <HcIcon name="close" class="text-hover"/>
-                       </div>
-                   </template>
-                   <div class="hc-table-data-info">
-                       <div class="item">
-                           <div class="title">项目概况:</div>
-                           <div class="content">{{tableRow.projectGist}}</div>
-                       </div>
-                       <div class="item">
-                           <div class="title">建设工期:</div>
-                           <div class="content">{{tableRow.projectGist}}</div>
-                       </div>
-                       <div class="item">
-                           <div class="title">总里程:</div>
-                           <div class="content">120(KM)</div>
-                       </div>
-                       <div class="item">
-                           <div class="title">投资预算:</div>
-                           <div class="content">{{tableRow.estimatedAmount}}(万)</div>
-                       </div>
-                       <div class="item">
-                           <div class="title">开工时间:</div>
-                           <div class="content">{{tableRow.actualStartTime}}</div>
-                       </div>
-                       <div class="item">
-                           <div class="title">完工时间:</div>
-                           <div class="content">{{tableRow.actualEndTime}}</div>
-                       </div>
-                   </div>
-               </HcCardItem>
-           </HcCard>
-     </div>
+    <div class="hc-page-box">
+        <HcCard class="hc-card-table-box" :class="isTableInfo ? 'info' : ''">
+            <HcCardItem class="hc-card-table-data">
+                <HcTable
+                    ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                    is-current-row is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                    @selection-change="tableSelection" @row-click="tableRowClick"
+                >
+                    <template #action="{ row }">
+                        <el-button type="primary" size="small" @click.stop="viewClick(row)">查看数据</el-button>
+                    </template>
+                </HcTable>
+                <template #action>
+                    <HcPages :pages="searchForm" @change="pageChange" />
+                </template>
+            </HcCardItem>
+
+            <HcCardItem class="hc-card-table-info" scrollbar>
+                <template #header>
+                    <div class="hc-project-box">
+                        <div class="hc-project-icon">
+                            <HcIcon name="stack" />
+                        </div>
+                        <div class="ml-2 project-name">{{ tableRow.projectName }}</div>
+                    </div>
+                </template>
+                <template #extra>
+                    <div class="hc-close-icon" @click="closeClick">
+                        <HcIcon name="close" class="text-hover" />
+                    </div>
+                </template>
+                <div class="hc-table-data-info">
+                    <div class="item">
+                        <div class="title">项目概况:</div>
+                        <div class="content">{{ tableRow.projectGist }}</div>
+                    </div>
+                    <div class="item">
+                        <div class="title">建设工期:</div>
+                        <div class="content">{{ tableRow.projectGist }}</div>
+                    </div>
+                    <div class="item">
+                        <div class="title">总里程:</div>
+                        <div class="content">120(KM)</div>
+                    </div>
+                    <div class="item">
+                        <div class="title">投资预算:</div>
+                        <div class="content">{{ tableRow.estimatedAmount }}(万)</div>
+                    </div>
+                    <div class="item">
+                        <div class="title">开工时间:</div>
+                        <div class="content">{{ tableRow.actualStartTime }}</div>
+                    </div>
+                    <div class="item">
+                        <div class="title">完工时间:</div>
+                        <div class="content">{{ tableRow.actualEndTime }}</div>
+                    </div>
+                </div>
+            </HcCardItem>
+        </HcCard>
+    </div>
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import {useRouter} from 'vue-router'
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import { useRouter } from 'vue-router'
 
 //变量
 const router = useRouter()
 const useAppState = useAppStore()
-const projectId = ref(useAppState.getProjectId);
+const projectId = ref(useAppState.getProjectId)
 
 //渲染完成
 onMounted(() => {
     const info = useAppState.getProjectContract || []
-    projectContractData(info);
+    projectContractData(info)
 })
 
 //监听
 watch(() => [
     useAppState.getProjectContract,
 ], ([projectContractArr]) => {
-    projectContractData(projectContractArr || []);
+    projectContractData(projectContractArr || [])
 })
 
 const projectContractData = (arr) => {
@@ -87,11 +91,11 @@ const projectContractData = (arr) => {
 
 //搜索内容
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -100,11 +104,11 @@ const pageChange = ({current, size}) => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'projectName', name: '项目名称', width: 600},
-    {key:'key2', name: '入库时间'},
-    {key:'key3', name: '案卷总量'},
-    {key:'key4', name: '责任单位'},
-    {key:'action', name: '操作', width: 120},
+    { key:'projectName', name: '项目名称', width: 600 },
+    { key:'key2', name: '入库时间' },
+    { key:'key3', name: '案卷总量' },
+    { key:'key4', name: '责任单位' },
+    { key:'action', name: '操作', width: 120 },
 ])
 
 const tableData = ref([])
@@ -116,14 +120,14 @@ const getTableData = async () => {
 }
 
 //多选
-const tableCheckedKeys = ref([]);
+const tableCheckedKeys = ref([])
 const tableSelection = (rows) => {
     tableCheckedKeys.value = rows
 }
 
 const isTableInfo = ref(false)
 const tableRow = ref({})
-const tableRowClick = ({row}) => {
+const tableRowClick = ({ row }) => {
     tableRow.value = row
     isTableInfo.value = true
 }
@@ -139,9 +143,8 @@ const viewClick = (row) => {
     useAppState.setProjectId(row?.id)
     //跳转
     // router.push({path: '/home/index'});
-    router.push({path: '/using/stats'});//跳转到档案统计页面
+    router.push({ path: '/using/stats' })//跳转到档案统计页面
 }
-
 </script>
 
 <style lang="scss" scoped>

+ 59 - 57
src/views/using/components/table-classify.vue

@@ -1,41 +1,43 @@
 <template>
-    <HcCard >
+    <HcCard>
         <div>
-            <el-button type="primary" @click="oprensearchbox"  v-if="!searchboxshow" style="float:right">
-                                <HcIcon name="archive-drawer"/>
-                            <span>展开搜索栏</span>
+            <el-button v-if="!searchboxshow" type="primary" style="float:right" @click="oprensearchbox">
+                <HcIcon name="archive-drawer" />
+                <span>展开搜索栏</span>
             </el-button>
-            <el-button type="primary" @click="oprensearchbox"  v-else style="float:right">
-                                    <HcIcon name="archive-drawer"/>
-                                <span>收起搜索栏</span>
+            <el-button v-else type="primary" style="float:right" @click="oprensearchbox">
+                <HcIcon name="archive-drawer" />
+                <span>收起搜索栏</span>
             </el-button>
             <el-button type="primary" style="float:right;margin-right: 5px">
-                                    <HcIcon name="archive-drawer"/>
-                                <span>下载</span>
+                <HcIcon name="archive-drawer" />
+                <span>下载</span>
             </el-button>
         </div>
 
 
         <!-- <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"  class="tablebox" /> -->
-          <HcTable1 ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection"  @row-click="tableRowClick">
-                    <template #table-expand-header>
-                        <HcCard>
-                                <template #header>
-                                    <div class="rowbox">
-                                <h3>卷内文件</h3>
-                            </div>
-                        </template>
-
-                                <HcTable ref="tableRef" :column="innertableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection" @row-click="tableRowClick">
-
-                                </HcTable>
-                        </HcCard>
+        <HcTable1 ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelection" @row-click="tableRowClick">
+            <template #table-expand-header>
+                <HcCard>
+                    <template #header>
+                        <div class="rowbox">
+                            <h3>卷内文件</h3>
+                        </div>
                     </template>
-             </HcTable1>
+
+                    <HcTable
+                        ref="tableRef" :column="innertableColumn" :datas="tableData" :loading="tableLoading"
+                        is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                        @selection-change="tableSelection" @row-click="tableRowClick"
+                    />
+                </HcCard>
+            </template>
+        </HcTable1>
 
         <template #action>
-         <div style="    display: flex;align-items: center;">
-               <!-- <el-button type="primary" @click="oprensearchbox"  v-if="!searchboxshow">
+            <div style="    display: flex;align-items: center;">
+                <!-- <el-button type="primary" @click="oprensearchbox"  v-if="!searchboxshow">
                                 <HcIcon name="archive-drawer"/>
                             <span>展开搜索栏</span>
                 </el-button>
@@ -43,45 +45,46 @@
                                 <HcIcon name="archive-drawer"/>
                             <span>收起搜索栏</span>
             </el-button> -->
-             <HcPages :pages="searchForm" @change="pageChange"/>
-         </div>
+                <HcPages :pages="searchForm" @change="pageChange" />
+            </div>
         </template>
     </HcCard>
 </template>
 
 <script setup>
-import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue} from "js-fast-way"
+import { nextTick, onMounted, ref, watch } from 'vue'
+import { getArrValue } from 'js-fast-way'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
+        default: () => ({}),
     },
     searchboxshow:{
-        type:Boolean
-    }
+        type:Boolean,
+    },
 })
 
+const emits = defineEmits(['upsearchboxshow'])
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
 })
 
 //渲染完成
@@ -92,21 +95,21 @@ onMounted(() => {
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key:'tab1',  name: '全部汇总'},
-    {key:'tab2',  name: '历史验收报告'},
-    {key:'tab3', name: '历史整改报告'}
-]);
+    { key:'tab1', name: '全部汇总' },
+    { key:'tab2', name: '历史验收报告' },
+    { key:'tab3', name: '历史整改报告' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -115,16 +118,16 @@ const pageChange = ({current, size}) => {
 //表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '档号', width: 200},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '保管期限', width: 140},
-    {key:'key4', name: '总页数', width: 140},
+    { key:'key1', name: '档号', width: 200 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '保管期限', width: 140 },
+    { key:'key4', name: '总页数', width: 140 },
 ])
 const innertableColumn = ref([
-    {key:'key1', name: '文件编号'},
-    {key:'key2', name: '题名',width:600},
-    {key:'key3', name: '责任者'},
-    {key:'key4', name: '页数'},
+    { key:'key1', name: '文件编号' },
+    { key:'key2', name: '题名', width:600 },
+    { key:'key3', name: '责任者' },
+    { key:'key4', name: '页数' },
 
 ])
 const tableData = ref([
@@ -189,7 +192,6 @@ const oprensearchbox = (item) => {
     // searchboxshow.value =  true;
      emits('upsearchboxshow')
 }
-const emits = defineEmits(['upsearchboxshow'])
 </script>
 
 <style lang="scss" scoped>

+ 70 - 64
src/views/using/components/table-collect.vue

@@ -9,83 +9,89 @@
         <template #extra>
             <HcTooltip keys="file_collection_btn_upload_scanned_files">
                 <el-button type="primary" hc-btn @click="reportModalClick">
-                    <HcIcon name="git-pull-request"/>
+                    <HcIcon name="git-pull-request" />
                     <span>申请验收</span>
                 </el-button>
             </HcTooltip>
-            <HcNewSwitch class="ml-6" :datas="tabData" :keys="tabKey" @change="tabChange" :round="false"/>
+            <HcNewSwitch class="ml-6" :datas="tabData" :keys="tabKey" :round="false" @change="tabChange" />
         </template>
 
-        <HcCardItem ui="h-half" id="hc_table_data">
+        <HcCardItem id="hc_table_data" ui="h-half">
             <template #header>
                 <span>一、立项审批</span>
                 <span class="text-gray">(238卷)</span>
             </template>
-            <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection"/>
+            <HcTable
+                ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
+                is-new :index-style="{ width: 60 }" is-check :check-style="{ width: 29 }"
+                @selection-change="tableSelection"
+            />
             <template #action>
-                <HcPages :pages="searchForm" @change="pageChange"/>
+                <HcPages :pages="searchForm" @change="pageChange" />
             </template>
         </HcCardItem>
 
-        <HcCardItem ui="h-half" id="hc_table_file">
+        <HcCardItem id="hc_table_file" ui="h-half">
             <template #header>
                 <span>二、勘察设计文件</span>
                 <span class="text-gray">(95卷)</span>
             </template>
-            <HcTable ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading" isCheck @selection-change="tableeFileSelection"/>
+            <HcTable ref="tableFileRef" :column="tableFileColumn" :datas="tableFileData" :loading="tableFileLoading" is-check @selection-change="tableeFileSelection" />
             <template #action>
-                <HcPages :pages="searchFormFile" @change="pageFileChange"/>
+                <HcPages :pages="searchFormFile" @change="pageFileChange" />
             </template>
         </HcCardItem>
     </HcCard>
 
-    <!--批量上报审批-->
-    <HcReportModal title="申请验收"
-                   widths="1080px"
-                   url="informationWriteQuery/batchTask"
-                   :show="showReportModal"
-                   :projectId="projectId"
-                   :contractId="contractId"
-                   :taskName="reportTaskName"
-                   :ids="reportIds"
-                   isDatas
-                   :datas="reportDatas"
-                   @hide="showReportModal = false"
-                   @finish="showReportFinish"
-                   @tagClose="reportTaskTagClose"/>
+    <!-- 批量上报审批 -->
+    <HcReportModal
+        title="申请验收"
+        widths="1080px"
+        url="informationWriteQuery/batchTask"
+        :show="showReportModal"
+        :project-id="projectId"
+        :contract-id="contractId"
+        :task-name="reportTaskName"
+        :ids="reportIds"
+        is-datas
+        :datas="reportDatas"
+        @hide="showReportModal = false"
+        @finish="showReportFinish"
+        @tagClose="reportTaskTagClose"
+    />
 </template>
 
 <script setup>
-import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue, getObjValue} from "js-fast-way"
-import {rowsToId} from "~uti/tools";
+import { nextTick, onMounted, ref, watch } from 'vue'
+import { getArrValue, getObjValue } from 'js-fast-way'
+import { rowsToId } from '~uti/tools'
 
 //参数
 const props = defineProps({
     projectId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     contractId: {
-        type: [String,Number],
-        default: ''
+        type: [String, Number],
+        default: '',
     },
     treeData: {
         type: Object,
-        default: () => ({})
-    }
+        default: () => ({}),
+    },
 })
 
 //变量
-const projectId = ref(props.projectId);
-const contractId = ref(props.contractId);
-const nodeData = ref(props.treeData);
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const nodeData = ref(props.treeData)
 
 //监听
 watch(() => [
-    props.treeData
+    props.treeData,
 ], ([treeData]) => {
-    nodeData.value = treeData;
+    nodeData.value = treeData
 })
 
 //渲染完成
@@ -101,19 +107,19 @@ const setSplitRef = () => {
             direction: 'vertical',
             snapOffset: 0,
             minSize: 236,
-        });
-    },800)
+        })
+    }, 800)
 }
 
 //tab数据和相关处理
 const tabKey = ref('tab1')
 const tabData = ref([
-    {key:'tab1',  name: '全部汇总'},
-    {key:'tab2',  name: '历史验收报告'},
-    {key:'tab3', name: '历史整改报告'}
-]);
+    { key:'tab1', name: '全部汇总' },
+    { key:'tab2', name: '历史验收报告' },
+    { key:'tab3', name: '历史整改报告' },
+])
 const tabChange = (item) => {
-    tabKey.value = item?.key;
+    tabKey.value = item?.key
 }
 
 
@@ -121,11 +127,11 @@ const tabChange = (item) => {
 
 //搜索表单
 const searchForm = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -134,11 +140,11 @@ const pageChange = ({current, size}) => {
 //表头
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '档号', width: 180},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '总页数', width: 120},
-    {key:'key4', name: '保管期限', width: 120},
-    {key:'key5', name: '备注'},
+    { key:'key1', name: '档号', width: 180 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '总页数', width: 120 },
+    { key:'key4', name: '保管期限', width: 120 },
+    { key:'key5', name: '备注' },
 ])
 const tableData = ref([
     {
@@ -164,7 +170,7 @@ const tableData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -174,7 +180,7 @@ const getTableData = async () => {
 }
 
 //多选
-const tableKeys = ref([]);
+const tableKeys = ref([])
 const tableSelection = (rows) => {
     tableKeys.value = rows
 }
@@ -183,11 +189,11 @@ const tableSelection = (rows) => {
 
 //搜索表单
 const searchFormFile = ref({
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 
 //分页被点击
-const pageFileChange = ({current, size}) => {
+const pageFileChange = ({ current, size }) => {
     searchFormFile.value.current = current
     searchFormFile.value.size = size
     getTableFileData()
@@ -196,11 +202,11 @@ const pageFileChange = ({current, size}) => {
 //表头
 const tableFileRef = ref(null)
 const tableFileColumn = ref([
-    {key:'key1', name: '档号', width: 180},
-    {key:'key2', name: '案卷题名'},
-    {key:'key3', name: '总页数', width: 120},
-    {key:'key4', name: '保管期限', width: 120},
-    {key:'key5', name: '备注'},
+    { key:'key1', name: '档号', width: 180 },
+    { key:'key2', name: '案卷题名' },
+    { key:'key3', name: '总页数', width: 120 },
+    { key:'key4', name: '保管期限', width: 120 },
+    { key:'key5', name: '备注' },
 ])
 const tableFileData = ref([
     {
@@ -226,7 +232,7 @@ const tableFileData = ref([
         key3: '293',
         key4: '永久',
         key5: '备注信息',
-    }
+    },
 ])
 
 //获取数据
@@ -236,7 +242,7 @@ const getTableFileData = async () => {
 }
 
 //多选
-const tableFileKeys = ref([]);
+const tableFileKeys = ref([])
 const tableeFileSelection = (rows) => {
     tableFileKeys.value = rows
 }
@@ -249,8 +255,8 @@ const reportDatas = ref([])
 const showReportModal = ref(false)
 const reportLoading = ref(false)
 const reportModalClick = async () => {
-    const rows = tableKeys.value;
-    if(rows.length > 0) {
+    const rows = tableKeys.value
+    if (rows.length > 0) {
         //初始ID
         const row = getObjValue(rows[0])
         reportIds.value = rowsToId(rows)
@@ -259,7 +265,7 @@ const reportModalClick = async () => {
         rows.forEach(item => {
             reportDataArr.push({
                 id: item?.id,
-                name: item?.key2
+                name: item?.key2,
             })
         })
         reportDatas.value = reportDataArr

+ 6 - 6
src/views/using/query.vue

@@ -344,7 +344,7 @@
                     </el-scrollbar>
                 </div>
                 <div class="hc-csc-data-box">
-                    <HcTable v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" :is-arr-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab1'" :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" is-new :is-arr-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === checkId ? 'text-link' : 'text-hover'" @click="changePdf(row)">
                                 {{ row?.fileName }}
@@ -352,7 +352,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" :is-arr-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab2'" :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" is-new :is-arr-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 {{ row?.name }}
@@ -360,7 +360,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" :is-arr-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab3'" :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" is-new :is-arr-index="false">
                         <template #name="{ row }">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 {{ row?.name }}
@@ -368,7 +368,7 @@
                         </template>
                     </HcTable>
 
-                    <HcTable v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" :is-arr-index="false">
+                    <HcTable v-if="tabTypeKey === 'tab4'" :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" is-new :is-arr-index="false">
                         <template #name="{ row }">
                             <div class="hc-csc-associated-row" :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 <el-tag effect="dark">
@@ -381,7 +381,7 @@
 
                     <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading" :ishow-file="isFile === 1 ? false : true" :meta-data-table="cscmetaDataTabledata" />
 
-                    <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5" :loading="cscTableLoading" />
+                    <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn5" :datas="cscTableData5" :loading="cscTableLoading" is-new :index-style="{ width: 60 }" />
 
                     <el-tooltip v-if="tabTypeKey === 'tab6' || tabTypeKey === 'tab5'" content="使用弹窗查看数据" placement="top" :disabled="!isBubble">
                         <div class="hc-table-info-btn" @click="cscTableDataModalShow">
@@ -403,7 +403,7 @@
         <!-- 使用弹窗查看数据 -->
         <HcDialog :show="cscTableDataModal" :title="cscTableDataTitle" widths="1080px" is-table :footer="false" @close="cscTableDataModalClose">
             <MetaTable v-if="tabTypeKey === 'tab5'" :loading="cscTableLoading" :ishow-file="isFile === 1 ? false : true" :meta-data-table="cscmetaDataTabledata" />
-            <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5" :loading="cscTableLoading" />
+            <HcTable v-if="tabTypeKey === 'tab6'" :column="cscTableColumn51" :datas="cscTableData5" :loading="cscTableLoading" is-new :index-style="{ width: 60 }" />
         </HcDialog>
 
         <!-- 目录树 -->