|
@@ -1,60 +1,56 @@
|
|
<template>
|
|
<template>
|
|
<div class="hc-page-layout-box">
|
|
<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-box">
|
|
<div class="hc-project-icon-box">
|
|
<div class="hc-project-icon-box">
|
|
- <HcIcon name="stack"/>
|
|
|
|
|
|
+ <HcIcon name="stack" />
|
|
</div>
|
|
</div>
|
|
<div class="ml-2 project-name-box">
|
|
<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>
|
|
</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>
|
|
<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>
|
|
</el-scrollbar>
|
|
</div>
|
|
</div>
|
|
- <!--左右拖动-->
|
|
|
|
- <div class="horizontal-drag-line" @mousedown="onmousedown"/>
|
|
|
|
|
|
+ <!-- 左右拖动 -->
|
|
|
|
+ <div class="horizontal-drag-line" @mousedown="onmousedown" />
|
|
</div>
|
|
</div>
|
|
- <div class="hc-page-content-box" id="node-card-target">
|
|
|
|
|
|
+ <div id="node-card-target" class="hc-page-content-box">
|
|
<HcCard title="已形成的案卷">
|
|
<HcCard title="已形成的案卷">
|
|
<!-- <template #header>
|
|
<!-- <template #header>
|
|
<div class="hc-card-header-table-title">
|
|
<div class="hc-card-header-table-title">
|
|
已形成的案卷
|
|
已形成的案卷
|
|
</div>
|
|
</div>
|
|
</template> -->
|
|
</template> -->
|
|
- <div class="table-file" :class="tableFileShow?'file-table':''">
|
|
|
|
|
|
+ <div class="table-file" :class="tableFileShow ? 'file-table' : ''">
|
|
<div class="hc-c-table-box">
|
|
<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>
|
|
- <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-box">
|
|
<div class="header">卷内文件</div>
|
|
<div class="header">卷内文件</div>
|
|
<div class="hc-icon-close text-hover">
|
|
<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>
|
|
</div>
|
|
<div class="hc-file-table-box">
|
|
<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>
|
|
<el-button type="primary" size="small" @click.stop="consultFileClick">查阅文件</el-button>
|
|
</template>
|
|
</template>
|
|
</HcTable>
|
|
</HcTable>
|
|
@@ -62,32 +58,30 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<template #action>
|
|
<template #action>
|
|
- <HcPages :pages="searchForm" @change="pageChange"/>
|
|
|
|
- </template>
|
|
|
|
|
|
+ <HcPages :pages="searchForm" @change="pageChange" />
|
|
|
|
+ </template>
|
|
</HcCard>
|
|
</HcCard>
|
|
</div>
|
|
</div>
|
|
- <!-- 元数据信息编辑 -->
|
|
|
|
- <MetaInfo :show="showMeteInfo" @upshowModal="upshowModal" :fileId="fileId" @getTableData="getTableData"></MetaInfo>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ <!-- 元数据信息编辑 -->
|
|
|
|
+ <MetaInfo :show="showMeteInfo" :file-id="fileId" @upshowModal="upshowModal" @getTableData="getTableData" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<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 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 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 isCollapse = ref(useAppState.getCollapse)
|
|
const hoverHand = ref(true)
|
|
const hoverHand = ref(true)
|
|
|
|
|
|
@@ -95,13 +89,13 @@ const hoverHand = ref(true)
|
|
const showMeteInfo = ref(false)
|
|
const showMeteInfo = ref(false)
|
|
// upshowModal
|
|
// upshowModal
|
|
const upshowModal = (val) => {
|
|
const upshowModal = (val) => {
|
|
- showMeteInfo.value=val
|
|
|
|
|
|
+ showMeteInfo.value = val
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//监听
|
|
//监听
|
|
watch(() => [
|
|
watch(() => [
|
|
- useAppState.getCollapse
|
|
|
|
|
|
+ useAppState.getCollapse,
|
|
], ([Collapse]) => {
|
|
], ([Collapse]) => {
|
|
isCollapse.value = Collapse
|
|
isCollapse.value = Collapse
|
|
})
|
|
})
|
|
@@ -120,7 +114,7 @@ const treeNodeLoading = () => {
|
|
//搜索表单
|
|
//搜索表单
|
|
const searchForm = ref({
|
|
const searchForm = ref({
|
|
contractId: null, type: null, approval: null, betweenTime: null,
|
|
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 betweenTime = ref(null)
|
|
-const betweenTimeUpdate = ({arr,query}) => {
|
|
|
|
|
|
+const betweenTimeUpdate = ({ arr, query }) => {
|
|
betweenTime.value = arr
|
|
betweenTime.value = arr
|
|
searchForm.value.betweenTime = query
|
|
searchForm.value.betweenTime = query
|
|
}
|
|
}
|
|
|
|
|
|
//搜索
|
|
//搜索
|
|
const searchClick = () => {
|
|
const searchClick = () => {
|
|
- searchForm.value.current = 1;
|
|
|
|
|
|
+ searchForm.value.current = 1
|
|
getTableData()
|
|
getTableData()
|
|
}
|
|
}
|
|
|
|
|
|
//分页被点击
|
|
//分页被点击
|
|
-const pageChange = ({current, size}) => {
|
|
|
|
|
|
+const pageChange = ({ current, size }) => {
|
|
searchForm.value.current = current
|
|
searchForm.value.current = current
|
|
searchForm.value.size = size
|
|
searchForm.value.size = size
|
|
getTableData()
|
|
getTableData()
|
|
@@ -149,18 +143,18 @@ const pageChange = ({current, size}) => {
|
|
//表格数据
|
|
//表格数据
|
|
const tableRef = ref(null)
|
|
const tableRef = ref(null)
|
|
const tableColumn = ref([
|
|
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([
|
|
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 () => {
|
|
const getTableData = async () => {
|
|
tableFileShow.value = false
|
|
tableFileShow.value = false
|
|
tableLoading.value = true
|
|
tableLoading.value = true
|
|
- const {error, code, data} = await tuningApi.pageByArchive({
|
|
|
|
|
|
+ const { error, code, data } = await tuningApi.pageByArchive({
|
|
...searchForm.value,
|
|
...searchForm.value,
|
|
projectId: projectId.value,
|
|
projectId: projectId.value,
|
|
contractId: contractId.value,
|
|
contractId: contractId.value,
|
|
- isArchive: 1
|
|
|
|
|
|
+ isArchive: 1,
|
|
})
|
|
})
|
|
tableLoading.value = false
|
|
tableLoading.value = false
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
@@ -188,15 +182,15 @@ const getTableData = async () => {
|
|
}
|
|
}
|
|
|
|
|
|
const intableLoading = ref(false)
|
|
const intableLoading = ref(false)
|
|
-const intableData=ref([])
|
|
|
|
|
|
+const intableData = ref([])
|
|
//获取卷内文件
|
|
//获取卷内文件
|
|
const getintableData = async () => {
|
|
const getintableData = async () => {
|
|
intableLoading.value = true
|
|
intableLoading.value = true
|
|
- const {error, code, data} = await tuningApi.getarchiveFilePage({
|
|
|
|
|
|
+ const { error, code, data } = await tuningApi.getarchiveFilePage({
|
|
nodeIds: searchForm.value.nodeIds,
|
|
nodeIds: searchForm.value.nodeIds,
|
|
archiveId: checkInid.value,
|
|
archiveId: checkInid.value,
|
|
size:1000,
|
|
size:1000,
|
|
- current:1
|
|
|
|
|
|
+ current:1,
|
|
})
|
|
})
|
|
intableLoading.value = false
|
|
intableLoading.value = false
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
@@ -214,30 +208,30 @@ const delModalClick = () => {
|
|
}
|
|
}
|
|
|
|
|
|
//左右拖动,改变树形结构宽度
|
|
//左右拖动,改变树形结构宽度
|
|
-const leftWidth = ref(382);
|
|
|
|
|
|
+const leftWidth = ref(382)
|
|
const onmousedown = () => {
|
|
const onmousedown = () => {
|
|
const leftNum = isCollapse.value ? 142 : 272
|
|
const leftNum = isCollapse.value ? 142 : 272
|
|
document.onmousemove = (ve) => {
|
|
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.onmouseup = () => {
|
|
- document.onmousemove = null;
|
|
|
|
- document.onmouseup = null;
|
|
|
|
|
|
+ document.onmousemove = null
|
|
|
|
+ document.onmouseup = null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//表格行被点击
|
|
//表格行被点击
|
|
//表格行被点击
|
|
//表格行被点击
|
|
const tableFileShow = ref(false)
|
|
const tableFileShow = ref(false)
|
|
const checkInid = ref('')
|
|
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
|
|
checkInid.value = row.id
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+
|
|
getintableData()
|
|
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({
|
|
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.current = current
|
|
searchForm.value.size = size
|
|
searchForm.value.size = size
|
|
}
|
|
}
|
|
@@ -274,7 +268,7 @@ const ElTreeData = ref([])
|
|
const getClassIfyList = async () => {
|
|
const getClassIfyList = async () => {
|
|
const { error, code, data } = await projectScanningApi.getClassIfyList({
|
|
const { error, code, data } = await projectScanningApi.getClassIfyList({
|
|
projectId: projectId.value,
|
|
projectId: projectId.value,
|
|
- contractId: contractId.value
|
|
|
|
|
|
+ contractId: contractId.value,
|
|
})
|
|
})
|
|
//处理数据
|
|
//处理数据
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
@@ -282,29 +276,29 @@ const getClassIfyList = async () => {
|
|
} else {
|
|
} else {
|
|
ElTreeData.value = []
|
|
ElTreeData.value = []
|
|
}
|
|
}
|
|
- console.log(ElTreeData.value,'ElTreeData');
|
|
|
|
|
|
+ console.log(ElTreeData.value, 'ElTreeData')
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//自动展开缓存
|
|
//自动展开缓存
|
|
const treeAutoExpandKeys = ref(getStoreValue('metaExpandKeys') || [])
|
|
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)
|
|
setStoreValue('metaExpandKeys', keys)
|
|
treeAutoExpandKeys.value = keys || []
|
|
treeAutoExpandKeys.value = keys || []
|
|
searchForm.value.total = 0
|
|
searchForm.value.total = 0
|
|
searchForm.value.current = 1
|
|
searchForm.value.current = 1
|
|
searchForm.value.size = 20
|
|
searchForm.value.size = 20
|
|
- searchForm.value.nodeIds = data.id || '';
|
|
|
|
|
|
+ searchForm.value.nodeIds = data.id || ''
|
|
getTableData()
|
|
getTableData()
|
|
}
|
|
}
|
|
//树菜单被点击
|
|
//树菜单被点击
|
|
-const ElTreeMenuClick = async ({key, node, data, keys}) => {
|
|
|
|
|
|
+const ElTreeMenuClick = async ({ key, node, data, keys }) => {
|
|
setStoreValue('metaExpandKeys', keys)
|
|
setStoreValue('metaExpandKeys', keys)
|
|
treeAutoExpandKeys.value = keys || []
|
|
treeAutoExpandKeys.value = keys || []
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
@@ -312,7 +306,7 @@ const ElTreeMenuClick = async ({key, node, data, keys}) => {
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
@import '~style/archives/meta-data.scss';
|
|
@import '~style/archives/meta-data.scss';
|
|
</style>
|
|
</style>
|
|
-<style lang="scss">
|
|
|
|
|
|
|
|
|
|
+<style lang="scss">
|
|
@import '../../styles/theme/archives/meta-data.scss';
|
|
@import '../../styles/theme/archives/meta-data.scss';
|
|
-</style>
|
|
|
|
|
|
+</style>
|