|
@@ -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>
|