|
@@ -25,12 +25,19 @@
|
|
<HcTooltip keys="file_records_btn_upload_scanned_files">
|
|
<HcTooltip keys="file_records_btn_upload_scanned_files">
|
|
<el-button type="primary" hc-btn @click="uploadModalClick">上传案卷</el-button>
|
|
<el-button type="primary" hc-btn @click="uploadModalClick">上传案卷</el-button>
|
|
</HcTooltip>
|
|
</HcTooltip>
|
|
|
|
+ <HcTooltip keys="file_records_btn_split">
|
|
|
|
+ <el-badge :value="taskMount" class="ml-1 mr-4 cursor-pointer" :offset="[5, 5]" @click.native.stop="taskCountClick">
|
|
|
|
+ <el-button hc-btn style="background-color: #8B5CF6; border-color: #8B5CF6; color:white" @click.native.stop="splitClick">分解文件</el-button>
|
|
|
|
+ <template #content="{ value }">
|
|
|
|
+ <div class="custom-content">
|
|
|
|
+ <span>{{ value }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-badge>
|
|
|
|
+ </HcTooltip>
|
|
<HcTooltip keys="file_records_btn_moves">
|
|
<HcTooltip keys="file_records_btn_moves">
|
|
<el-button type="primary" hc-btn @click="movesClick">跨目录移动</el-button>
|
|
<el-button type="primary" hc-btn @click="movesClick">跨目录移动</el-button>
|
|
</HcTooltip>
|
|
</HcTooltip>
|
|
- <!-- <HcTooltip keys="file_records_btn_split">
|
|
|
|
- <el-button hc-btn style="background-color: #8B5CF6; border-color: #8B5CF6; color:white" @click="splitClick">分解文件</el-button>
|
|
|
|
- </HcTooltip> -->
|
|
|
|
</template>
|
|
</template>
|
|
<HcTable
|
|
<HcTable
|
|
ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
|
|
ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
|
|
@@ -44,6 +51,10 @@
|
|
</span>
|
|
</span>
|
|
</HcTooltip>
|
|
</HcTooltip>
|
|
</template>
|
|
</template>
|
|
|
|
+ <template #splitStatus="{ row, index }">
|
|
|
|
+ <span v-if="row.splitStatus === 1"> <HcIcon name="checkbox-circle" /></span>
|
|
|
|
+ <span v-else> <HcIcon name="close-circle" /></span>
|
|
|
|
+ </template>
|
|
<template #name="{ row }">
|
|
<template #name="{ row }">
|
|
<span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>
|
|
<span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>
|
|
</template>
|
|
</template>
|
|
@@ -251,19 +262,44 @@
|
|
</hc-new-dialog>
|
|
</hc-new-dialog>
|
|
|
|
|
|
<!-- 分解文件 -->
|
|
<!-- 分解文件 -->
|
|
- <hc-new-dialog v-model="splitModal" title="案卷分解" widths="60vw" is-row-footer @close="splitModalClose">
|
|
|
|
|
|
+ <hc-new-dialog v-model="splitModal" title="案卷分解" widths="40vw" is-row-footer @close="splitModalClose">
|
|
<div class="split-modal-content">
|
|
<div class="split-modal-content">
|
|
- <div class="mb-6 text-6">
|
|
|
|
|
|
+ <div class="mb-6 text-4 font-bold">
|
|
本次分解共
|
|
本次分解共
|
|
- <span class="text-red">【XX】</span>
|
|
|
|
|
|
+ <span class="text-red">【{{ splitInfo?.toolCount }}】</span>
|
|
卷,预计耗费时长
|
|
卷,预计耗费时长
|
|
- <span class="text-red">【XX】</span>
|
|
|
|
|
|
+ <span class="text-red">【{{ splitInfo?.toolCount }}】</span>
|
|
分钟,分解完成之后,序号图标会变成 <HcIcon name="checkbox-circle" style="color:lightgreen" />
|
|
分钟,分解完成之后,序号图标会变成 <HcIcon name="checkbox-circle" style="color:lightgreen" />
|
|
</div>
|
|
</div>
|
|
<div class="mb-6 text-orange">请不要重复提交,过会儿再来查看,分解好的文件在文件收集对应节点可查看</div>
|
|
<div class="mb-6 text-orange">请不要重复提交,过会儿再来查看,分解好的文件在文件收集对应节点可查看</div>
|
|
<el-button type="primary" size="large" class="split-confirm-btn" hc-btn @click="splitModalClose">好的,我知道了</el-button>
|
|
<el-button type="primary" size="large" class="split-confirm-btn" hc-btn @click="splitModalClose">好的,我知道了</el-button>
|
|
</div>
|
|
</div>
|
|
</hc-new-dialog>
|
|
</hc-new-dialog>
|
|
|
|
+
|
|
|
|
+ <!-- 分解列表信息 -->
|
|
|
|
+ <hc-new-dialog v-model="splitListModal" title="分解列表信息" widths="80vw" is-table :footer="false" @close="splitListModalClose">
|
|
|
|
+ <HcTable
|
|
|
|
+
|
|
|
|
+ :column="splitListColumn"
|
|
|
|
+ :datas="splitList"
|
|
|
|
+ :loading="splitListLoading"
|
|
|
|
+ is-new
|
|
|
|
+ :index-style="{ width: 70 }"
|
|
|
|
+ >
|
|
|
|
+ <template #fileNumber="{ row }">
|
|
|
|
+ <span>{{ row.fileNumber }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #name="{ row }">
|
|
|
|
+ <span>{{ row.name }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #status="{ row }">
|
|
|
|
+ <span>{{ row.status }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #createTime="{ row }">
|
|
|
|
+ <span>{{ row.createTime }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </HcTable>
|
|
|
|
+ </hc-new-dialog>
|
|
</hc-body>
|
|
</hc-body>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -309,6 +345,8 @@ onMounted(() => {
|
|
getStoragePeriod()
|
|
getStoragePeriod()
|
|
|
|
|
|
getSecurityLevel()
|
|
getSecurityLevel()
|
|
|
|
+
|
|
|
|
+ getSplitInfo()
|
|
})
|
|
})
|
|
|
|
|
|
//替换文件
|
|
//替换文件
|
|
@@ -444,6 +482,7 @@ const tableColumn = ref([])
|
|
//设置表头
|
|
//设置表头
|
|
const setTableColumns = () => {
|
|
const setTableColumns = () => {
|
|
tableColumn.value = [
|
|
tableColumn.value = [
|
|
|
|
+ { key:'splitStatus', name: '分解状态', width: 50, align: 'center' },
|
|
{ key:'fileNumber', name: '档号', width: 160, align: 'center' },
|
|
{ key:'fileNumber', name: '档号', width: 160, align: 'center' },
|
|
{ key:'name', name: '案卷题名' },
|
|
{ key:'name', name: '案卷题名' },
|
|
{ key:'secretLevel', name: '密级', width: 80, align: 'center' },
|
|
{ key:'secretLevel', name: '密级', width: 80, align: 'center' },
|
|
@@ -1407,10 +1446,67 @@ const onmousedown = () => {
|
|
document.onmouseup = null
|
|
document.onmouseup = null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
-const splitClick = ()=>{
|
|
|
|
|
|
+const taskMount = ref('')
|
|
|
|
+const splitLoad = ref(false)
|
|
|
|
+const splitClick = async ()=>{
|
|
console.log('分解文件')
|
|
console.log('分解文件')
|
|
- splitModal.value = true
|
|
|
|
|
|
+ splitLoad.value = true
|
|
|
|
+ const rows = tableCheckedKeys.value
|
|
|
|
+ if (rows.length < 1) {
|
|
|
|
+ await window.$message.warning('没有选择案卷时,将会对该合同段下所有案卷进行分解')
|
|
|
|
+ }
|
|
|
|
+ const { error, code, data } = await tasksApi.saveSplit({
|
|
|
|
+ contractId:contractId.value,
|
|
|
|
+ projectId:projectId.value,
|
|
|
|
+ ids:rows.map(item=>item.id).join(','),
|
|
|
|
+ })
|
|
|
|
+ splitLoad.value = false
|
|
|
|
+ //处理数据
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ splitInfo.value = data
|
|
|
|
+ console.log(data, 'data')
|
|
|
|
+ // await getSplitInfo()
|
|
|
|
+ splitModal.value = true
|
|
|
|
+ }
|
|
|
|
+ // splitModal.value = true
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const splitInfo = ref({})
|
|
|
|
+const splitList = ref([])
|
|
|
|
+// 在script setup中添加
|
|
|
|
+const splitListModal = ref(false)
|
|
|
|
+const splitListLoading = ref(false)
|
|
|
|
+const splitListColumn = ref([
|
|
|
|
+ { key: 'projectName', name: '项目名称' },
|
|
|
|
+ { key: 'finished', name: '完成数量' },
|
|
|
|
+ { key: 'toolCount', name: '总条数', width: 100 },
|
|
|
|
+
|
|
|
|
+])
|
|
|
|
+
|
|
|
|
+const splitListModalClose = () => {
|
|
|
|
+ splitListModal.value = false
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 修改taskCountClick方法
|
|
|
|
+const taskCountClick = async () => {
|
|
|
|
+ splitListModal.value = true
|
|
|
|
+}//查询任务信息
|
|
|
|
+const getSplitInfo = async ()=>{
|
|
|
|
+ const { error, code, data } = await tasksApi.selectTaskSplit({
|
|
|
|
+ contractId:contractId.value,
|
|
|
|
+ projectId:projectId.value,
|
|
|
|
+ })
|
|
|
|
+ //处理数据
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ splitList.value = data['records']
|
|
|
|
+
|
|
|
|
+ if (data['records'].length > 0) {
|
|
|
|
+ taskMount.value = data['total']
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ splitList.value = []
|
|
|
|
+ taskMount.value = ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
const splitModal = ref(false)
|
|
const splitModal = ref(false)
|
|
const splitModalClose = ()=>{
|
|
const splitModalClose = ()=>{
|
|
@@ -1436,3 +1532,17 @@ const splitModalClose = ()=>{
|
|
font-size: 16px !important;
|
|
font-size: 16px !important;
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|
|
|
|
+
|
|
|
|
+<style scoped>
|
|
|
|
+.item {
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ margin-right: 40px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.custom-content {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ gap: 4px;
|
|
|
|
+}
|
|
|
|
+</style>
|