Prechádzať zdrojové kódy

档案调整样式修改

duy 2 rokov pred
rodič
commit
85574a7490

+ 51 - 2
src/styles/page/archives/tuning.scss

@@ -2,7 +2,56 @@
     font-size: 1.125rem;
     line-height: 1.75rem;
 }
-
+.hc-moves-transfer-box {
+    position: relative;
+    display: flex;
+    height: 100%;
+    align-items: center;
+    .hc-moves-transfer-panel {
+        width: 50%;
+        position: relative;
+        height: 100%;
+        background: #ffffff;
+        display: inline-block;
+        text-align: left;
+        border: 1px solid #ebeef5;
+        border-radius: 4px;
+        .panel-header {
+            position: relative;
+            background: #f5f7fa;
+            display: flex;
+            align-items: center;
+            height: 48px;
+            padding: 0 16px;
+            border-bottom: 1px solid #ebeef5;
+            border-radius: 4px 4px 0 0;
+            .panel-header-label {
+                position: relative;
+                flex: 1;
+            }
+            .panel-header-extra {
+                color: #aaaaaa;
+            }
+        }
+        .panel-body {
+            position: relative;
+            padding: 16px;
+            height: calc(100% - 48px);
+            
+            .hc-file-checkbox {
+                position: relative;
+            }
+            .hc-file-checkbox + .hc-file-checkbox {
+                margin-top: 16px;
+            }
+        }
+    }
+    .hc-moves-transfer-buttons {
+        display: inline-block;
+        vertical-align: middle;
+        padding: 0 16px;
+    }
+}
 
 .body {
     position: relative;
@@ -39,4 +88,4 @@
     &.file-table .hc-c-table-box {
         height: calc(100% - 324px);
     }
-}
+}

+ 276 - 231
src/views/archives/tuning.vue

@@ -1,23 +1,27 @@
 <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" @menuTap="ElTreeMenuClick" :autoExpandKeys="treeAutoExpandKeys"
-                            @nodeLoading="treeNodeLoading"/>
+                    <HcTree
+                        :project-id="projectId" :contract-id="contractId" :auto-expand-keys="treeAutoExpandKeys" @nodeTap="nodeElTreeClick" @menuTap="ElTreeMenuClick"
+                        @nodeLoading="treeNodeLoading"
+                    />
                 </el-scrollbar>
             </div>
-            <!--左右拖动-->
-            <div class="horizontal-drag-line" @mousedown="onmousedown"/>
+            <!-- 左右拖动 -->
+            <div class="horizontal-drag-line" @mousedown="onmousedown" />
         </div>
         <div class="hc-page-content-box">
             <HcCard>
@@ -27,42 +31,46 @@
                     </div>
                 </template>
                 <template #extra>
-                    <!--transfer_initial_expert_btn_sampling-->
+                    <!-- transfer_initial_expert_btn_sampling -->
                     <HcTooltip keys="archives_tuning_btn_num">
-                        <el-button hc-btn @click="refreshFileNumberClick" :loading="refreshFileNumberLoading">
-                            <HcIcon name="folder-shared"/>
+                        <el-button hc-btn :loading="refreshFileNumberLoading" @click="refreshFileNumberClick">
+                            <HcIcon name="folder-shared" />
                             <span>档号整理</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_lock">
-                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="lockarchives"
-                                   :loading="lockLoad">
-                            <HcIcon name="file-lock"/>
+                        <el-button
+                            hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="lockLoad"
+                            @click="lockarchives"
+                        >
+                            <HcIcon name="file-lock" />
                             <span>档案锁定</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_unlock">
-                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="unlockarchives"
-                                   :loading="unlockLoad">
-                            <HcIcon name="lock-unlock"/>
+                        <el-button
+                            hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="unlockLoad"
+                            @click="unlockarchives"
+                        >
+                            <HcIcon name="lock-unlock" />
                             <span>档案解锁</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_remove">
-                        <el-button hc-btn @click="movesClick" :disabled="tableCheckedKeys.length <= 0">
-                            <HcIcon name="git-pull-request"/>
+                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="movesClick">
+                            <HcIcon name="git-pull-request" />
                             <span>跨目录移动</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_edit">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="batchEditClick(1)">
-                            <HcIcon name="edit"/>
+                            <HcIcon name="edit" />
                             <span>编辑</span>
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_disassemble">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="tunModalClick">
-                            <HcIcon name="archive-drawer"/>
+                            <HcIcon name="archive-drawer" />
                             <span>拆卷</span>
                         </el-button>
                     </HcTooltip>
@@ -72,65 +80,71 @@
                              <span>删除</span>
                          </el-button>
                      </HcTooltip> -->
-
                 </template>
-                <div class="body" :class="tableFileShow?'file-table':''">
+                <div class="body" :class="tableFileShow ? 'file-table' : ''">
                     <div class="hc-c-table-box">
-                        <HcTable ref="tableRef"
-                                 :column="tableColumn"
-                                 :datas="tableData"
-                                 :loading="tableLoading"
-                                 isCheck
-                                 @selection-change="tableSelection"
-                                 @row-click="tableRowClick"
-                                 :ui="hoverHand?'hover-hand':''"
-                                 :isArrIndex="false"
-                                 isCurrentRow
+                        <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"
                         >
                             <template #table-column-header-num>
                                 <HcTooltip keys="archives_tuning_btn_sort">
                                     <span class="text-link text-lg" @click="tableSortClick">
-                                        <HcIcon name="arrow-up-down"
-                                              />
+                                        <HcIcon name="arrow-up-down" />
                                     </span>
                                 </HcTooltip>
                             </template>
-                            <template #name="{row}">
+                            <template #name="{ row }">
                                 <span class="text-link" @click="viewPdf(row.id)">{{ row?.name }}</span>
                             </template>
                         </HcTable>
                     </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="header">
+                                卷内文件
+                            </div>
                             <div>
-                                <HcIcon name="edit" @click="batchEditClick(2)" class="hc-icon-close text-hover"
-                                        style=" color:rgb(64, 149, 229);"/>
+                                <HcIcon
+                                    name="edit" class="hc-icon-close text-hover" style=" color:rgb(64, 149, 229);"
+                                    @click="batchEditClick(2)"
+                                />
                                 <!-- <HcIcon name="delete-bin" @click="delModalClick" class="hc-icon-close text-hover"
                                         style="margin-left:5px;margin-right:5px;color: rgb(189, 49, 36);"/> -->
-                                <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
-                                :loading="intableLoading"
                                 ref="tableFileRef"
+                                :loading="intableLoading"
                                 :column="innertableColumn"
                                 :datas="intableData"
-                                isCheck
+                                is-check
                                 @selection-change="intableSelection"
                             >
                                 <template #table-column-header-num>
                                     <HcTooltip keys="archives_tuning_btn_sort">
                                         <span class="text-link text-lg" @click="intableSortClick">
-                                            <HcIcon name="arrow-up-down"
-                                                    :class="'text-hover'"/>
+                                            <HcIcon
+                                                name="arrow-up-down"
+                                                class="text-hover"
+                                            />
                                         </span>
                                     </HcTooltip>
                                 </template>
-                                <template #fileName="{row}">
+                                <template #fileName="{ row }">
                                     <span class="text-link text-hover" @click="viewfilePdf(row)">{{ row?.fileName }}</span>
                                 </template>
                             </HcTable>
@@ -139,28 +153,37 @@
                     </div>
                 </div>
                 <template #action>
-                    <HcPages :pages="searchForm" @change="pageChange"/>
+                    <HcPages :pages="searchForm" @change="pageChange" />
                 </template>
             </HcCard>
         </div>
-        <!--跨目录移动-->
-        <HcDialog :show="movesModal" title="跨目录移动" widths="990px" isTable @close="movesModalClose"
-                  @save="movesModalSave" :loading="movesModalLoading">
+        <!-- 跨目录移动 -->
+        <HcDialog
+            :show="movesModal" title="跨目录移动" widths="990px" is-table :loading="movesModalLoading"
+            @close="movesModalClose" @save="movesModalSave"
+        >
             <div class="hc-moves-transfer-box">
                 <div class="hc-moves-transfer-panel">
                     <div class="panel-header">
                         <div class="panel-header-label">
-                            <el-checkbox class="size-xl space" v-model="movesCheckAll" :indeterminate="isIndeterminate"
-                                         @change="handleCheckAllChange">选择需要迁移的文件
+                            <el-checkbox
+                                v-model="movesCheckAll" class="size-xl space" :indeterminate="isIndeterminate"
+                                @change="handleCheckAllChange"
+                            >
+                                选择需要迁移的文件
                             </el-checkbox>
                         </div>
-                        <div class="panel-header-extra">{{ checkedMoves.length }}/{{ tableCheckedKeys.length }}</div>
+                        <div class="panel-header-extra">
+                            {{ checkedMoves.length }}/{{ tableCheckedKeys.length }}
+                        </div>
                     </div>
                     <div class="panel-body">
                         <el-scrollbar>
                             <el-checkbox-group v-model="checkedMoves" @change="handleCheckedMovesChange">
-                                <div class="hc-file-checkbox" v-for="item in tableCheckedKeys" :key="item.id">
-                                    <el-checkbox class="size-xl space" :label="item.id">{{ item.name }}</el-checkbox>
+                                <div v-for="item in tableCheckedKeys" :key="item.id" class="hc-file-checkbox">
+                                    <el-checkbox class="size-xl space" :label="item.id">
+                                        {{ item.name }}
+                                    </el-checkbox>
                                 </div>
                             </el-checkbox-group>
                         </el-scrollbar>
@@ -172,91 +195,109 @@
                                :disabled="tableCheckedKeys.length <= 0 || checkedMoves.length <= 0">
                         <HcIcon name="arrow-right"/>
                     </el-button> -->
-                    <HcIcon type="primary" name="arrow-right-double" style="font-size: 22px;"/>
+                    <HcIcon type="primary" name="arrow-right-double" style="font-size: 22px;" />
                 </div>
                 <div class="hc-moves-transfer-panel">
-                    <div class="panel-header">选择移动目录</div>
+                    <div class="panel-header">
+                        选择移动目录
+                    </div>
                     <div class="panel-body">
                         <el-scrollbar>
-                            <HcTree idPrefix="hc-tree-moves-" :projectId="projectId" :contractId="contractId" isRadio
-                                    @noderadio="nodeRadio" :isShowMenu="false"/>
+                            <HcTree
+                                id-prefix="hc-tree-moves-" :project-id="projectId" :contract-id="contractId" is-radio
+                                :is-show-menu="false" @noderadio="nodeRadio"
+                            />
                         </el-scrollbar>
                     </div>
                 </div>
             </div>
         </HcDialog>
-        <!--调整排序-->
-        <HcDialog :show="sortModal" title="调整排序" widths="980px" isTable isRowFooter @close="sortModalClose">
-            <el-alert title="可拖动排序,也可在后面点击图标,切换排序" type="error" :closable="false"/>
+        <!-- 调整排序 -->
+        <HcDialog :show="sortModal" title="调整排序" widths="980px" is-table is-row-footer @close="sortModalClose">
+            <el-alert title="可拖动排序,也可在后面点击图标,切换排序" type="error" :closable="false" />
             <div class="hc-table-h">
-                <HcTable ui="hc-table-row-drop" :column="sortTableColumn" :datas="sortTableData"
-                         :loading="sortTableLoading" isRowDrop @row-drop="sortTableRowDrop">
-                    <template #action="{index}">
-                    <span class="text-link text-xl" @click="upSortClick(index)">
-                        <HcIcon name="arrow-up" fill/>
-                    </span>
+                <HcTable
+                    ui="hc-table-row-drop" :column="sortTableColumn" :datas="sortTableData"
+                    :loading="sortTableLoading" is-row-drop @row-drop="sortTableRowDrop"
+                >
+                    <template #action="{ index }">
+                        <span class="text-link text-xl" @click="upSortClick(index)">
+                            <HcIcon name="arrow-up" fill />
+                        </span>
                         <span class="text-link text-xl ml-2" @click="downSortClick(index)">
-                        <HcIcon name="arrow-down" fill/>
-                    </span>
+                            <HcIcon name="arrow-down" fill />
+                        </span>
                     </template>
                 </HcTable>
             </div>
             <template #leftRowFooter>
                 <el-button hc-btn @click="sortModalClose">
-                    <HcIcon name="close"/>
+                    <HcIcon name="close" />
                     <span>取消</span>
                 </el-button>
                 <el-button type="primary" hc-btn :loading="sortModalLoading" @click="sortModalSave">
-                    <HcIcon name="check"/>
+                    <HcIcon name="check" />
                     <span>确认</span>
                 </el-button>
             </template>
             <template #rightRowFooter>
-                <HcPages :pages="sortSearchForm" :sizes="[10, 20, 50, 100, 200, 300, 400, 500, 600]"
-                         @change="sortPageChange"/>
+                <HcPages
+                    :pages="sortSearchForm" :sizes="[10, 20, 50, 100, 200, 300, 400, 500, 600]"
+                    @change="sortPageChange"
+                />
             </template>
         </HcDialog>
 
-        <!--编辑案卷信息-->
+        <!-- 编辑案卷信息 -->
         <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">
-                     <template #name="{row}">
-                    <el-input v-model="row.name" :class="row['isFileNumber'] ? 'is-error' : ''"
-                              @input="tableIsInput($event, row, 'name')"/>
-                    </template>
-                <template #fileNumber="{row}">
-                    <el-input v-model="row.fileNumber" :class="row['isFileNumber'] ? 'is-error' : ''"
-                              @input="tableIsInput($event, row, 'isFileNumber')"/>
+            <HcTable
+                ui="hc-form-table" :column="tableUploadColumn" :datas="tableUploadData"
+                :loading="uploadSaveLoading"
+            >
+                <template #name="{ row }">
+                    <el-input
+                        v-model="row.name" :class="row.isFileNumber ? 'is-error' : ''"
+                        @input="tableIsInput($event, row, 'name')"
+                    />
                 </template>
-                <template #fileName="{row}">
-                    <el-input v-model="row.fileName" :class="row['isFileName'] ? 'is-error' : ''"
-                              @input="tableIsInput($event, row, 'isFileName')"/>
+                <template #fileNumber="{ row }">
+                    <el-input
+                        v-model="row.fileNumber" :class="row.isFileNumber ? 'is-error' : ''"
+                        @input="tableIsInput($event, row, 'isFileNumber')"
+                    />
                 </template>
-                <template #fileTime="{row}" v-if="editType === 2">
-                    <el-date-picker v-model="row.fileTime" type="date" format="YYYYMMDD" value-format="YYYYMMDD"
-                                    :clearable="false"/>
+                <template #fileName="{ row }">
+                    <el-input
+                        v-model="row.fileName" :class="row.isFileName ? 'is-error' : ''"
+                        @input="tableIsInput($event, row, 'isFileName')"
+                    />
                 </template>
-                <template #unit="{row}">
-                    <el-input v-model="row.unit"/>
+                <template v-if="editType === 2" #fileTime="{ row }">
+                    <el-date-picker
+                        v-model="row.fileTime" type="date" format="YYYYMMDD" value-format="YYYYMMDD"
+                        :clearable="false"
+                    />
                 </template>
-                <template #remark="{row}">
-                    <el-input v-model="row.remark" type="textarea"/>
+                <template #unit="{ row }">
+                    <el-input v-model="row.unit" />
+                </template>
+                <template #remark="{ row }">
+                    <el-input v-model="row.remark" type="textarea" />
                 </template>
-
             </HcTable>
             <template #footer>
                 <div class="lr-dialog-footer">
-                    <div class="left flex items-center">
-                    </div>
+                    <div class="left flex items-center" />
                     <div class="right">
                         <el-button size="large" @click="batchUploadCancel">
-                            <HcIcon name="close"/>
+                            <HcIcon name="close" />
                             <span>取消</span>
                         </el-button>
-                        <el-button type="primary" hc-btn :disabled="uploadSaveLoading" :loading="uploadSaveLoading"
-                                   @click="batchUploadSave">
-                            <HcIcon name="save"/>
+                        <el-button
+                            type="primary" hc-btn :disabled="uploadSaveLoading" :loading="uploadSaveLoading"
+                            @click="batchUploadSave"
+                        >
+                            <HcIcon name="save" />
                             <span>保存</span>
                         </el-button>
                     </div>
@@ -267,27 +308,27 @@
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import {useAppStore} from "~src/store";
-import HcTree from "~src/components/tree/hc-tree.vue"
-import { getArrValue, deepClone} from "js-fast-way"
-import {delMessage, rowsToId, rowsToIdNumArr} from "~uti/tools";
-import tuningApi from "~api/archiveConfig/tuning.js";
-import archiveFileApi from "~api/archiveFile/archiveFileAuto.js";
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import HcTree from '~src/components/tree/hc-tree.vue'
+import { deepClone, getArrValue } from 'js-fast-way'
+import { delMessage, rowsToId, rowsToIdNumArr } from '~uti/tools'
+import tuningApi from '~api/archiveConfig/tuning.js'
+import archiveFileApi from '~api/archiveFile/archiveFileAuto.js'
 
-import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import { getStoreValue, setStoreValue } from '~src/utils/storage'
 
 //变量
 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)
 
 //监听
 watch(() => [
-    useAppState.getCollapse
+    useAppState.getCollapse,
 ], ([Collapse]) => {
     isCollapse.value = Collapse
 })
@@ -311,48 +352,48 @@ const isStorageNode = ref(0)
 // const isBuiltDrawing = ref(0)
 //自动展开缓存
 const treeAutoExpandKeys = ref(getStoreValue('turningExpandKeys') || [])
-const nodeElTreeClick = ({node, data, keys, key}) => {
+const nodeElTreeClick = ({ node, data, keys, key }) => {
      //缓存展开的节点
      setStoreValue('turningExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
-    console.log('点击', data);
+    console.log('点击', data)
     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('turningExpandKeys', keys)
     treeAutoExpandKeys.value = keys || []
 }
-const nodeRadio = ({node, data, keys, key}) => {
-    console.log(data, 'data33333');
-    chnodeId.value = data.id || '';
-    console.log(chnodeId.value, ' chnodeId.value');
+const nodeRadio = ({ node, data, keys, key }) => {
+    console.log(data, 'data33333')
+    chnodeId.value = data.id || ''
+    console.log(chnodeId.value, ' chnodeId.value')
 
 }
 //搜索表单
 const searchForm = ref({
     contractId: null, type: null, approval: null,
-    current: 1, size: 20, total: 0
+    current: 1, size: 20, total: 0,
 })
 const insearchForm = ref({
     contractId: null, type: null, approval: null,
-    current: 1, size: 1000, total: 0
+    current: 1, size: 1000, total: 0,
 })
 //树相关的变量
 const primaryKeyId = ref('')
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
 }
 //分页被点击
-const inpageChange = ({current, size}) => {
+const inpageChange = ({ current, size }) => {
     insearchForm.value.current = current
     insearchForm.value.size = size
     getintableData()
@@ -364,10 +405,10 @@ const tableColumn = ref([])
 //设置表头
 const setTableColumns = () => {
     tableColumn.value = [
-        {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 tableData = ref([])
@@ -376,11 +417,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) {
@@ -398,21 +439,21 @@ const intableData = ref([])
 //设置表头
 const setInnertableColumn = () => {
     innertableColumn.value = [
-        {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: '页数' },
     ]
 }
 const intableLoading = ref(false)
 //获取卷内文件
 const getintableData = async () => {
     intableLoading.value = true
-    const {error, code, data} = await tuningApi.getarchiveFilePage({
+    const { error, code, data } = await tuningApi.getarchiveFilePage({
         ...insearchForm.value,
         nodeIds: searchForm.value.nodeIds,
-        archiveId: checkInid.value
+        archiveId: checkInid.value,
     })
     intableLoading.value = false
     if (!error && code === 200) {
@@ -426,8 +467,8 @@ const getintableData = async () => {
     }
 }
 //多选
-const tableCheckedKeys = ref([]);
-const intableCheckedKeys = ref([]);
+const tableCheckedKeys = ref([])
+const intableCheckedKeys = ref([])
 const tableSelection = (rows) => {
     tableCheckedKeys.value = rows
 }
@@ -438,22 +479,22 @@ const intableSelection = (rows) => {
 const delModalClick = () => {
 
     let ids = ''
-    const rows = intableCheckedKeys.value;
+    const rows = intableCheckedKeys.value
     ids = rowsToId(rows)
-    if(rows.length>0){
+    if (rows.length > 0) {
         window?.$messageBox?.alert('请谨慎考虑是否要批量删除卷内文件?', '删除文件', {
             showCancelButton: true,
             confirmButtonText: '确认删除',
             cancelButtonText: '取消',
             type: 'warning',
             callback: async (action, ctx, close) => {
-                ctx.confirmButtonLoading = true;
+                ctx.confirmButtonLoading = true
                 if (action === 'confirm') {
-                    const {error, code, data, msg} = await tuningApi.removeFiles({
+                    const { error, code, data, msg } = await tuningApi.removeFiles({
                         ids: ids,
-                        archiveId: checkInid.value
+                        archiveId: checkInid.value,
                     })
-                    ctx.confirmButtonLoading = false;
+                    ctx.confirmButtonLoading = false
                     if (!error && code === 200) {
                         window.$message?.success(msg)
                         getintableData()
@@ -461,25 +502,25 @@ const delModalClick = () => {
                         window.$message?.warning(msg)
                     }
                 }
-            }
+            },
         })
-    }else{
+    } else {
         window.$message.warning('请先选择文件')
     }
    
 }
 const splitLoad = ref(false)
 const tunModalClick = () => {
-    const rows = tableCheckedKeys.value;
+    const rows = tableCheckedKeys.value
    
-    let iscansplit= rows.filter((item)=>{
-        if(item?.isLock===1){
+    let iscansplit = rows.filter((item)=>{
+        if (item?.isLock === 1) {
             return item
         }
     })
-    if(iscansplit.length>0){
+    if (iscansplit.length > 0) {
         window.$message.warning('选择的案卷已被锁定,不允许拆卷')
-    }else{
+    } else {
         splitLoad.value = true
         window?.$messageBox?.alert('请谨慎考虑是否要批量拆除已经案卷及卷内文件?', '拆除案卷', {
             showCancelButton: true,
@@ -488,17 +529,17 @@ const tunModalClick = () => {
             type: 'warning',
             callback: async (action, ctx, close) => {
                 if (action === 'confirm') {
-                    console.log(1111);
+                    console.log(1111)
 
-                    ctx.confirmButtonLoading = true;
+                    ctx.confirmButtonLoading = true
 
                     let ids = ''
                 
                     ids = rowsToId(rows)
-                    const {error, code, data, msg} = await tuningApi.splitArchive({
-                        ids: ids
+                    const { error, code, data, msg } = await tuningApi.splitArchive({
+                        ids: ids,
                     })
-                    ctx.confirmButtonLoading = true;
+                    ctx.confirmButtonLoading = true
                     if (!error && code === 200) {
                         window.$message?.success(msg)
                         getTableData()
@@ -507,24 +548,24 @@ const tunModalClick = () => {
                     //     window.$message?.warning(msg)
                     // }
                 }
-            }
+            },
         })
     }
     
 }
 //左右拖动,改变树形结构宽度
-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
     }
 }
 //跨目录移动
@@ -541,7 +582,7 @@ const checkedMoves = ref([])
 //全选
 const handleCheckAllChange = (val) => {
     const checked = tableCheckedKeys.value
-    const keys = rowsToIdNumArr(checked);
+    const keys = rowsToIdNumArr(checked)
     checkedMoves.value = val ? keys : []
     isIndeterminate.value = false
 }
@@ -560,16 +601,16 @@ const movesModalLoading = ref(false)
 const chnodeId = ref('')
 const movesModalSave = async () => {
     movesModalLoading.value = true
-    console.log(checkedMoves.value, 'checkedMoves.value');
+    console.log(checkedMoves.value, 'checkedMoves.value')
     let ids = checkedMoves.value.join(',')
 
-    const {error, code, data, msg} = await tuningApi.moveArchive({
+    const { error, code, data, msg } = await tuningApi.moveArchive({
         ids: ids,
-        nodeId: chnodeId.value
+        nodeId: chnodeId.value,
     })
     movesModalLoading.value = false
     if (!error && code === 200) {
-        console.log(msg, 'msg');
+        console.log(msg, 'msg')
         window.$message?.success(msg)
         getTableData()
     } else {
@@ -606,10 +647,10 @@ const intableSortClick = () => {
 //表格行被点击
 const tableFileShow = ref(false)
 const checkInid = ref('')
-const checkRow=ref({})
-const tableRowClick = ({row}) => {
-    tableFileShow.value = true;
-    checkRow.value=row
+const checkRow = ref({})
+const tableRowClick = ({ row }) => {
+    tableFileShow.value = true
+    checkRow.value = row
     checkInid.value = row.id
     setInnertableColumn()
     getintableData()
@@ -623,11 +664,11 @@ const closetableFile = () => {
 
 //搜索表单
 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
     getSortTableData()
@@ -635,37 +676,37 @@ const sortPageChange = ({current, size}) => {
 const setsortTableColumn = () => {
     if (sortType.value === 1) {
         sortTableColumn.value = [
-            {key: 'fileNumber', name: '档号', width: 160},
-            {key: 'name', name: '案卷名称'},
-            {key: 'action', name: '排序', width: 90},
+            { key: 'fileNumber', name: '档号', width: 160 },
+            { key: 'name', name: '案卷名称' },
+            { key: 'action', name: '排序', width: 90 },
         ]
     } else if (sortType.value === 2) {
         sortTableColumn.value = [
-            {key: 'fileNumber', name: '文件编号', width: 160},
-            {key: 'fileName', name: '文件名称'},
-            {key: 'action', name: '排序', width: 90},
+            { key: 'fileNumber', name: '文件编号', width: 160 },
+            { key: 'fileName', name: '文件名称' },
+            { key: 'action', name: '排序', width: 90 },
         ]
     }
 }
 //表格数据
 const sortTableColumn = ref([
-    {key: 'fileNumber', name: '档号', width: 160},
-    {key: 'name', name: '案卷名称'},
-    {key: 'action', name: '排序', width: 90},
+    { key: 'fileNumber', name: '档号', width: 160 },
+    { key: 'name', name: '案卷名称' },
+    { key: 'action', name: '排序', width: 90 },
 ])
 const sortTableData = ref([])
 
 const sortTableLoading = ref(false)
 const sortType = ref()
-const getSortTableData = async() => {
+const getSortTableData = async () => {
    
-    if(sortType.value === 1){
+    if (sortType.value === 1) {
         sortTableLoading.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: 0
+            isArchive: 0,
         })
         sortTableLoading.value = false
         if (!error && code === 200) {
@@ -675,12 +716,12 @@ const getSortTableData = async() => {
             sortTableData.value = []
             sortSearchForm.value.total = 0
         }
-    }else if(sortType.value === 2){
+    } else if (sortType.value === 2) {
         sortTableLoading.value = true
-        const {error, code, data} = await tuningApi.getarchiveFilePage({
+        const { error, code, data } = await tuningApi.getarchiveFilePage({
             ...insearchForm.value,
                 nodeIds: searchForm.value.nodeIds,
-                archiveId: checkInid.value
+                archiveId: checkInid.value,
         })
         sortTableLoading.value = false
         if (!error && code === 200) {
@@ -704,8 +745,8 @@ const downSortClick = (index) => {
     const indexs = index + 1
     const data = sortTableData.value
     if (indexs !== data.length) {
-        const tmp = data.splice(indexs, 1);
-        sortTableData.value.splice(index, 0, tmp[0]);
+        const tmp = data.splice(indexs, 1)
+        sortTableData.value.splice(index, 0, tmp[0])
     } else {
         window?.$message?.warning('已经处于置底,无法下移')
     }
@@ -715,8 +756,8 @@ const downSortClick = (index) => {
 const upSortClick = (index) => {
     const data = sortTableData.value || []
     if (index !== 0) {
-        const tmp = data.splice(index - 1, 1);
-        sortTableData.value.splice(index, 0, tmp[0]);
+        const tmp = data.splice(index - 1, 1)
+        sortTableData.value.splice(index, 0, tmp[0])
     } else {
         window?.$message?.warning('已经处于置顶,无法上移')
     }
@@ -758,14 +799,14 @@ const batchEditClick = (type) => {
     setTableUploadColumn(type)
     uploadSaveLoading.value = false
     tableUploadData.value = rows
-    console.log(checkRow.value,'checkRow.value');
-    if(checkRow.value?.isLock!==1){
-        if(rows.length>0){
+    console.log(checkRow.value, 'checkRow.value')
+    if (checkRow.value?.isLock !== 1) {
+        if (rows.length > 0) {
         showUploadModal.value = true
-        }else{
+        } else {
             window.$message.warning('请先选择文件')
         }
-    }else{
+    } else {
         window.$message.warning('该案卷已被锁定,不允许编辑卷内文件')
     }
    
@@ -778,17 +819,17 @@ const tableUploadColumn = ref([])
 const setTableUploadColumn = (type) => {
     if (type === 1) {
         tableUploadColumn.value = [
-            {key: 'fileNumber', name: '档号'},
-            {key: 'name', name: '案卷题名'},
-            {key: 'unit', name: '立卷单位'},
-            {key: 'remark', name: '备注'},
+            { key: 'fileNumber', name: '档号' },
+            { key: 'name', name: '案卷题名' },
+            { key: 'unit', name: '立卷单位' },
+            { key: 'remark', name: '备注' },
         ]
     } else {
         tableUploadColumn.value = [
-            {key: 'fileNumber', name: '文件编号'},
-            {key: 'fileName', name: '文件题名'},
-            {key: 'fileTime', name: '文件日期'},
-            {key: 'dutyUser', name: '责任者'},
+            { key: 'fileNumber', name: '文件编号' },
+            { key: 'fileName', name: '文件题名' },
+            { key: 'fileTime', name: '文件日期' },
+            { key: 'dutyUser', name: '责任者' },
            
         ]
     }
@@ -801,8 +842,8 @@ const batchUploadCancel = () => {
 //确认上传保存
 const batchUploadSaveApi = async (rows) => {
     uploadSaveLoading.value = true
-    const {error, code} = await archiveFileApi.batchUploadSave({
-        list: rows
+    const { error, code } = await archiveFileApi.batchUploadSave({
+        list: rows,
     }, false)
     //判断状态
     uploadSaveLoading.value = false
@@ -818,8 +859,8 @@ const batchUploadSaveApi = async (rows) => {
 //确认上传保存
 const archiveFileBatchUpdate = async (rows) => {
     uploadSaveLoading.value = true
-    const {error, code} = await tuningApi.archiveFileBatchUpdate({
-        list: rows
+    const { error, code } = await tuningApi.archiveFileBatchUpdate({
+        list: rows,
     }, false)
     //判断状态
     uploadSaveLoading.value = false
@@ -838,18 +879,18 @@ const batchUploadSave = async () => {
     if (rows.length > 0) {
         //验证表单数据
         uploadSaveLoading.value = true
-        let isTableRows = false;
+        let isTableRows = false
 
         //判断数据
         if (isTableRows) {
             uploadSaveLoading.value = false
             window.$message?.warning('请先完善表单信息')
         } else {
-            console.log(rows, 'rows');
+            console.log(rows, 'rows')
             if (editType.value === 2) {
                 //数据处理
                 rows.forEach((element, index) => {
-                    const {dates} = element
+                    const { dates } = element
                     element.startDate = dates ? dates[0] : null
                     element.endDate = dates ? dates[1] : null
                     element.autoFileSort = index + 1
@@ -874,14 +915,14 @@ const unlockLoad = ref(false)
 const lockarchives = async () => {
     lockLoad.value = true
     let ids = ''
-    const rows = tableCheckedKeys.value;
+    const rows = tableCheckedKeys.value
     ids = rowsToId(rows)
-    const {error, code, data, msg} = await tuningApi.archivesautoLock({
-        ids: ids
+    const { error, code, data, msg } = await tuningApi.archivesautoLock({
+        ids: ids,
     })
     lockLoad.value = false
     if (!error && code === 200) {
-        console.log(msg, 'msg');
+        console.log(msg, 'msg')
         window.$message?.success(msg)
         getTableData()
     } else {
@@ -891,10 +932,10 @@ const lockarchives = async () => {
 const unlockarchives = async () => {
     unlockLoad.value = true
     let ids = ''
-    const rows = tableCheckedKeys.value;
+    const rows = tableCheckedKeys.value
     ids = rowsToId(rows)
-    const {error, code, data, msg} = await tuningApi.archivesautoUnLock({
-        ids: ids
+    const { error, code, data, msg } = await tuningApi.archivesautoUnLock({
+        ids: ids,
     })
     unlockLoad.value = false
     if (!error && code === 200) {
@@ -906,8 +947,8 @@ const unlockarchives = async () => {
 }
 const viewPdf = async (id) => {
     window.$message?.info('预览案卷需要合并pdf,需要一点时间')
-    const {error, code, data, msg} = await tuningApi.printArchive({
-        id: id
+    const { error, code, data, msg } = await tuningApi.printArchive({
+        id: id,
     })
     if (!error && code === 200) {
         if (data) {
@@ -922,17 +963,17 @@ const viewPdf = async (id) => {
     // }
 }
 //查看卷内文件pdf
-const viewfilePdf=(row)=>{
-    if(row?.pdfFileUrl){
+const viewfilePdf = (row)=>{
+    if (row?.pdfFileUrl) {
         window.open(row?.pdfFileUrl, '_blank')
-    }else{
+    } else {
         window.$message?.warning('文件不存在')
     }
 }
 //档号整理
 const refreshFileNumberLoading = ref(false)
 const refreshFileNumberClick = async () => {
-    const {error, code, msg} = await tuningApi.refreshFileNumber({
+    const { error, code, msg } = await tuningApi.refreshFileNumber({
         projectId: projectId.value,
         contractId: contractId.value,
         nodeId: searchForm.value.nodeIds || '',
@@ -959,4 +1000,8 @@ const refreshFileNumberClick = async () => {
 .hover-hand {
     cursor: pointer;
 }
+.panel-body .el-checkbox{
+    white-space: normal;
+    height: auto;
+}
 </style>

+ 1 - 0
src/views/file/records.vue

@@ -1429,6 +1429,7 @@ const onmousedown = () => {
 <style lang="scss">
 @import '~style/file/collection.scss';
 .panel-body .el-checkbox{
+    white-space: normal;
     height: auto;
 }
 </style>