|
@@ -1,111 +1,92 @@
|
|
<template>
|
|
<template>
|
|
- <hc-body class="hc-archives-bookmark-page">
|
|
|
|
- <div class="relative h-full flex">
|
|
|
|
- <div :id="`hc_tree_card_${uuid}`">
|
|
|
|
- <hc-new-card class="hc-page-left-tree">
|
|
|
|
- <template #header>
|
|
|
|
- <div class="hc-project-box">
|
|
|
|
- <div class="hc-project-icon-box">
|
|
|
|
- <HcIcon name="stack" />
|
|
|
|
- </div>
|
|
|
|
- <div class="ml-2 project-name">{{ projectInfo.name }}</div>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <div v-loading="treeLoading" class="hc-tree-box" element-loading-text="加载中...">
|
|
|
|
- <el-scrollbar>
|
|
|
|
- <HcTree :project-id="projectId" :contract-id="contractId" :auto-expand-keys="treeAutoExpandKeys" @nodeTap="nodeElTreeClick" @nodeLoading="treeNodeLoading" />
|
|
|
|
- </el-scrollbar>
|
|
|
|
|
|
+ <hc-body class="hc-archives-bookmark-page" split :loading="treeLoading" :project-nmae="projectInfo.name">
|
|
|
|
+ <template #tree>
|
|
|
|
+ <HcTree :project-id="projectId" :contract-id="contractId" :auto-expand-keys="treeAutoExpandKeys" @nodeTap="nodeElTreeClick" @nodeLoading="treeNodeLoading" />
|
|
|
|
+ </template>
|
|
|
|
+ <hc-new-card title="当前目录信息编辑">
|
|
|
|
+ <template #extra>
|
|
|
|
+ <HcTooltip keys="archives_bookmark_btn_add">
|
|
|
|
+ <el-button type="primary" hc-btn @click="addModalClick(false)">保存设置</el-button>
|
|
|
|
+ </HcTooltip>
|
|
|
|
+ </template>
|
|
|
|
+ <template #search>
|
|
|
|
+ <el-alert title="提示:设置基础信息,系统可统一内置到组卷信息里面去" type="error" :closable="false" />
|
|
|
|
+ </template>
|
|
|
|
+ <el-form :model="formInline" size="large" label-position="top">
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="档号前缀">
|
|
|
|
+ <el-input v-model="formInline.value.fileNumberPrefix" placeholder="请输入" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="保管期限">
|
|
|
|
+ <el-select v-model="formInline.value.storageTime" placeholder="请选择" clearable style="width:100%">
|
|
|
|
+ <el-option v-for="item in retentionPeriod" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="目录名称">
|
|
|
|
+ <el-input v-model="formInline.value.title" placeholder="请输入" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="立卷人">
|
|
|
|
+ <el-input v-model="formInline.value.rollor" placeholder="请输入" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="卷盒规格">
|
|
|
|
+ <el-select v-model="formInline.value.specification" placeholder="请选择" clearable style="width:100%">
|
|
|
|
+ <el-option v-for="item in coilsize" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="审核人">
|
|
|
|
+ <el-input v-model="formInline.value.reviewer" placeholder="请输入" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="案卷后缀">
|
|
|
|
+ <el-input v-model="formInline.value.archiveNameSuffix" placeholder="请输入" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+ </hc-new-card>
|
|
|
|
+
|
|
|
|
+ <!-- 新增子目录文件夹 -->
|
|
|
|
+ <hc-new-dialog v-model="showaddModal" widths="50rem" :title="`${showaddModaltype}子目录文件夹`" @save="confirmClick" @close="cancelClick">
|
|
|
|
+ <el-form :model="addform" label-width="150px" style="flex-wrap: nowrap;">
|
|
|
|
+ <el-form-item label="文件目录名称:">
|
|
|
|
+ <div class="el-form-item__content">
|
|
|
|
+ <el-input v-model="addform.title" />
|
|
|
|
+ <!-- <i class="ri-add-circle-line mleft" @click="addinputItem"></i>
|
|
|
|
+ <i class="ri-delete-bin-line mleft" @click="delinputItem(index,item)"></i> -->
|
|
</div>
|
|
</div>
|
|
- </hc-new-card>
|
|
|
|
- </div>
|
|
|
|
- <div :id="`hc_table_card_${uuid}`" class="flex-1">
|
|
|
|
- <hc-new-card title="当前目录信息编辑">
|
|
|
|
- <template #extra>
|
|
|
|
- <HcTooltip keys="archives_bookmark_btn_add">
|
|
|
|
- <el-button type="primary" hc-btn @click="addModalClick(false)">保存设置</el-button>
|
|
|
|
- </HcTooltip>
|
|
|
|
- </template>
|
|
|
|
- <template #search>
|
|
|
|
- <el-alert title="提示:设置基础信息,系统可统一内置到组卷信息里面去" type="error" :closable="false" />
|
|
|
|
- </template>
|
|
|
|
- <el-form :model="formInline" size="large" label-position="top">
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="档号前缀">
|
|
|
|
- <el-input v-model="formInline.value.fileNumberPrefix" placeholder="请输入" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="保管期限">
|
|
|
|
- <el-select v-model="formInline.value.storageTime" placeholder="请选择" clearable style="width:100%">
|
|
|
|
- <el-option v-for="item in retentionPeriod" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="目录名称">
|
|
|
|
- <el-input v-model="formInline.value.title" placeholder="请输入" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="立卷人">
|
|
|
|
- <el-input v-model="formInline.value.rollor" placeholder="请输入" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="卷盒规格">
|
|
|
|
- <el-select v-model="formInline.value.specification" placeholder="请选择" clearable style="width:100%">
|
|
|
|
- <el-option v-for="item in coilsize" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="审核人">
|
|
|
|
- <el-input v-model="formInline.value.reviewer" placeholder="请输入" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="案卷后缀">
|
|
|
|
- <el-input v-model="formInline.value.archiveNameSuffix" placeholder="请输入" />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </el-form>
|
|
|
|
- </hc-new-card>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <!-- 新增子目录文件夹 -->
|
|
|
|
- <hc-new-dialog v-model="showaddModal" widths="50rem" :title="`${showaddModaltype}子目录文件夹`" @save="confirmClick" @close="cancelClick">
|
|
|
|
- <el-form :model="addform" label-width="150px" style="flex-wrap: nowrap;">
|
|
|
|
- <el-form-item label="文件目录名称:">
|
|
|
|
- <div class="el-form-item__content">
|
|
|
|
- <el-input v-model="addform.title" />
|
|
|
|
- <!-- <i class="ri-add-circle-line mleft" @click="addinputItem"></i>
|
|
|
|
- <i class="ri-delete-bin-line mleft" @click="delinputItem(index,item)"></i> -->
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item v-for="(item, index) in addArray" :key="index" label="文件目录名称:">
|
|
|
|
- <div v-if="addArray.length > 0" class="el-form-item__content">
|
|
|
|
- <el-input v-model="item.title" /> <i class="ri-add-circle-line mleft" @click="addinputItem" />
|
|
|
|
- <i class="ri-delete-bin-line mleft" @click="delinputItem(index, item)" />
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- </hc-new-dialog>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item v-for="(item, index) in addArray" :key="index" label="文件目录名称:">
|
|
|
|
+ <div v-if="addArray.length > 0" class="el-form-item__content">
|
|
|
|
+ <el-input v-model="item.title" /> <i class="ri-add-circle-line mleft" @click="addinputItem" />
|
|
|
|
+ <i class="ri-delete-bin-line mleft" @click="delinputItem(index, item)" />
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ </hc-new-dialog>
|
|
</hc-body>
|
|
</hc-body>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import { nextTick, onMounted, reactive, ref, watch } from 'vue'
|
|
|
|
|
|
+import { onMounted, reactive, ref, watch } from 'vue'
|
|
import { useAppStore } from '~src/store'
|
|
import { useAppStore } from '~src/store'
|
|
-import { getRandom } from 'js-fast-way'
|
|
|
|
import { archiveTreeUpdate } from '~api/other'
|
|
import { archiveTreeUpdate } from '~api/other'
|
|
import { getStoreValue, setStoreValue } from '~src/utils/storage'
|
|
import { getStoreValue, setStoreValue } from '~src/utils/storage'
|
|
import HcTree from '~src/components/tree/hc-tree.vue'
|
|
import HcTree from '~src/components/tree/hc-tree.vue'
|
|
@@ -121,8 +102,6 @@ const showaddModaltype = ref('新增')
|
|
let addform = reactive({ title: '' })
|
|
let addform = reactive({ title: '' })
|
|
const addArray = reactive([])
|
|
const addArray = reactive([])
|
|
|
|
|
|
-const uuid = getRandom(4)
|
|
|
|
-
|
|
|
|
//监听
|
|
//监听
|
|
watch(() => [
|
|
watch(() => [
|
|
useAppState.getCollapse,
|
|
useAppState.getCollapse,
|
|
@@ -133,22 +112,8 @@ watch(() => [
|
|
//渲染完成
|
|
//渲染完成
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
setElTreeMenu(1)
|
|
setElTreeMenu(1)
|
|
- setSplitRef()
|
|
|
|
})
|
|
})
|
|
|
|
|
|
-
|
|
|
|
-//初始化设置拖动分割线
|
|
|
|
-const setSplitRef = () => {
|
|
|
|
- //配置参考: https://split.js.org/#/?direction=vertical&snapOffset=0
|
|
|
|
- nextTick(() => {
|
|
|
|
- window.$split(['#hc_tree_card_' + uuid, '#hc_table_card_' + uuid], {
|
|
|
|
- sizes: [20, 80],
|
|
|
|
- snapOffset: 0,
|
|
|
|
- minSize: [50, 500],
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
//树加载
|
|
//树加载
|
|
const treeLoading = ref(true)
|
|
const treeLoading = ref(true)
|
|
const treeNodeLoading = () => {
|
|
const treeNodeLoading = () => {
|
|
@@ -213,25 +178,7 @@ const primaryKeyId = ref('')
|
|
//子节点树
|
|
//子节点树
|
|
const nodeItemInfo = ref({})
|
|
const nodeItemInfo = ref({})
|
|
|
|
|
|
-//左右拖动,改变树形结构宽度
|
|
|
|
-const leftWidth = ref(382)
|
|
|
|
-const onmousedown = () => {
|
|
|
|
- const leftNum = isCollapse.value ? 142 : 272
|
|
|
|
- document.onmousemove = (ve) => {
|
|
|
|
- let diffVal = ve.clientX - leftNum
|
|
|
|
- if (diffVal >= 310 && diffVal <= 900) {
|
|
|
|
- leftWidth.value = diffVal
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- document.onmouseup = () => {
|
|
|
|
- document.onmousemove = null
|
|
|
|
- document.onmouseup = null
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
//自动展开缓存
|
|
//自动展开缓存
|
|
-
|
|
|
|
const treeAutoExpandKeys = ref(getStoreValue('bookExpandKeys') || [])
|
|
const treeAutoExpandKeys = ref(getStoreValue('bookExpandKeys') || [])
|
|
//项目树被点击
|
|
//项目树被点击
|
|
const nodeElTreeClick = ({ node, data, keys, key }) => {
|
|
const nodeElTreeClick = ({ node, data, keys, key }) => {
|
|
@@ -282,5 +229,4 @@ const setTreeMenuDataClick = ({ key, node, data }) => {
|
|
|
|
|
|
<style lang="scss">
|
|
<style lang="scss">
|
|
@import '~style/archives/bookmark.scss';
|
|
@import '~style/archives/bookmark.scss';
|
|
-//@import '~src/styles/theme/archives/bookmark.scss';
|
|
|
|
</style>
|
|
</style>
|