xuhuajiao
2 years ago
27 changed files with 2272 additions and 498 deletions
-
6src/assets/iconfonts/light/iconfont.css
-
BINsrc/assets/iconfonts/light/iconfont.ttf
-
BINsrc/assets/iconfonts/light/iconfont.woff
-
BINsrc/assets/iconfonts/light/iconfont.woff2
-
BINsrc/assets/images/collect/xm.png
-
BINsrc/assets/images/collect/zk.png
-
214src/assets/styles/archives-manage.scss
-
10src/assets/styles/index.scss
-
28src/assets/styles/mixin.scss
-
4src/assets/styles/variables.scss
-
380src/assets/styles/yxk-admin.scss
-
72src/views/collectReorganizi/collectionLibrary/anjuan/content.vue
-
70src/views/collectReorganizi/collectionLibrary/anjuan/index.vue
-
27src/views/collectReorganizi/collectionLibrary/anjuan/sorted.vue
-
27src/views/collectReorganizi/collectionLibrary/anjuan/unsorted.vue
-
32src/views/collectReorganizi/collectionLibrary/file/index.vue
-
36src/views/collectReorganizi/collectionLibrary/index.vue
-
32src/views/collectReorganizi/collectionLibrary/juannei/index.vue
-
126src/views/collectReorganizi/collectionLibrary/module/archivesInfo/data.json
-
284src/views/collectReorganizi/collectionLibrary/module/archivesInfo/index.vue
-
6src/views/collectReorganizi/collectionLibrary/module/archivesInfo/metadata.json
-
223src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
-
340src/views/collectReorganizi/collectionLibrary/module/uploadFile/index.vue
-
162src/views/collectReorganizi/collectionLibrary/project/index.vue
-
51src/views/collectReorganizi/collectionLibrary/project/tableData.json
-
523src/views/collectReorganizi/collectionLibrary/project/tableFields.json
-
117src/views/collectReorganizi/collectionLibrary/tree.json
After Width: 47 | Height: 40 | Size: 2.9 KiB |
After Width: 22 | Height: 61 | Size: 724 B |
@ -0,0 +1,72 @@ |
|||
<template> |
|||
<div> |
|||
<ul class="tab-nav"> |
|||
<li :class="{ 'active-tab-nav': activeIndex == 0 }" @click="changeActiveTab(0)">已整理<i /></li> |
|||
<li :class="{ 'active-tab-nav': activeIndex == 1 }" @click="changeActiveTab(1)">未整理<i /></li> |
|||
<!-- 最右侧装饰img --> |
|||
<span class="tab-right-img" /> |
|||
</ul> |
|||
<CollectHeader :is-title-type="isTitleType" :selected-category="selectedCategory" /> |
|||
<component :is="comName" /> |
|||
<el-button v-if="selectedCategory.isType === 2 || selectedCategory.isType === 3" type="text" @click="openJuannei">打开卷内的Drawer</el-button> |
|||
<el-button v-if="selectedCategory.isType === 5" type="text" @click="openJuannei">打开文件的Drawer</el-button> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import SortedModule from './sorted.vue' |
|||
import UnSortedModule from './unsorted.vue' |
|||
import CollectHeader from '../module/collectHeader.vue' |
|||
export default { |
|||
name: 'AnjuanContent', |
|||
components: { SortedModule, UnSortedModule, CollectHeader }, |
|||
props: { |
|||
data: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
selectedCategory: { |
|||
type: Object, |
|||
default: function() { |
|||
return {} |
|||
} |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
isTitleType: 3, |
|||
activeIndex: 0 |
|||
} |
|||
}, |
|||
computed: { |
|||
comName: function() { |
|||
if (this.activeIndex === 0) { |
|||
return 'SortedModule' |
|||
} else if (this.activeIndex === 1) { |
|||
return 'UnSortedModule' |
|||
} |
|||
return 'SortedModule' |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
openJuannei() { |
|||
// this.$emit('openJuannei', '这是来自案卷的通知') |
|||
if (this.selectedCategory.isType === 2) { |
|||
this.$parent.$parent.$emit('openJuannei') |
|||
} else { |
|||
this.$parent.$emit('openJuannei') |
|||
} |
|||
}, |
|||
changeActiveTab(data) { |
|||
this.activeIndex = data |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
</style> |
@ -0,0 +1,27 @@ |
|||
<template> |
|||
<div> |
|||
已整理列表 |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'Sorted', |
|||
components: { }, |
|||
props: { |
|||
}, |
|||
data() { |
|||
return { |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
</style> |
@ -0,0 +1,27 @@ |
|||
<template> |
|||
<div> |
|||
未整理列表 |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'Sorted', |
|||
components: { }, |
|||
props: { |
|||
}, |
|||
data() { |
|||
return { |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
</style> |
@ -0,0 +1,126 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": [ |
|||
{ |
|||
"fieldName": "item_no", |
|||
"fieldCnName": "项目号", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "JJ-2021-GZ-001" |
|||
}, |
|||
{ |
|||
"fieldName": "fonds_no", |
|||
"fieldCnName": "全宗号", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "档案室" |
|||
}, |
|||
{ |
|||
"fieldName": "archive_year", |
|||
"fieldCnName": "归档年度", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": 2021 |
|||
}, |
|||
{ |
|||
"fieldName": "retention", |
|||
"fieldCnName": "保管期限", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "永久" |
|||
}, |
|||
{ |
|||
"fieldName": "maintitle", |
|||
"fieldCnName": "项目名", |
|||
"editLength": 510, |
|||
"isLine": true, |
|||
"context": "档案室改造" |
|||
}, |
|||
{ |
|||
"fieldName": "security_class", |
|||
"fieldCnName": "密级", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "公开" |
|||
}, |
|||
{ |
|||
"fieldName": "responsibleby", |
|||
"fieldCnName": "责任者", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "许飞" |
|||
}, |
|||
{ |
|||
"fieldName": "organization_matter", |
|||
"fieldCnName": "机构(问题)", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "机关建设" |
|||
}, |
|||
{ |
|||
"fieldName": "department", |
|||
"fieldCnName": "部门名称", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "综合部" |
|||
}, |
|||
{ |
|||
"fieldName": "piece_qty", |
|||
"fieldCnName": "案卷数", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": 3 |
|||
}, |
|||
{ |
|||
"fieldName": "item_start_date", |
|||
"fieldCnName": "立项时间", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "2021-12-01 " |
|||
}, |
|||
{ |
|||
"fieldName": "item_end_date", |
|||
"fieldCnName": "结项时间", |
|||
"editLength": 196, |
|||
"isLine": false, |
|||
"context": "2022-08-25 " |
|||
}, |
|||
{ |
|||
"fieldName": "tid", |
|||
"fieldCnName": "TID", |
|||
"editLength": null, |
|||
"isLine": null, |
|||
"context": null |
|||
}, |
|||
{ |
|||
"fieldName": "case_name", |
|||
"fieldCnName": "盒名称", |
|||
"editLength": null, |
|||
"isLine": null, |
|||
"context": null |
|||
}, |
|||
{ |
|||
"fieldName": "folder_location", |
|||
"fieldCnName": "库房位置", |
|||
"editLength": null, |
|||
"isLine": null, |
|||
"context": null |
|||
}, |
|||
{ |
|||
"fieldName": "borrow_type", |
|||
"fieldCnName": "借阅状态", |
|||
"editLength": null, |
|||
"isLine": null, |
|||
"context": null |
|||
}, |
|||
{ |
|||
"fieldName": "barcode", |
|||
"fieldCnName": "条形码", |
|||
"editLength": null, |
|||
"isLine": null, |
|||
"context": null |
|||
} |
|||
], |
|||
"timestamp": 1689215199486 |
|||
} |
@ -0,0 +1,284 @@ |
|||
<template> |
|||
<el-dialog class="detail-dialog" :title="detailTitle" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="archivesInfoVisible" :before-close="handleClose"> |
|||
<!-- <span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> --> |
|||
<div class="setting-dialog"> |
|||
<div class="detail-tab tab-content"> |
|||
<!-- tab --> |
|||
<ul class="tab-nav"> |
|||
<li :class="{'active-tab-nav': archivesTabIndex == 0}" @click="changeActiveTab(0)">基本信息</li> |
|||
<li v-if="isHasFile" :class="{'active-tab-nav': archivesTabIndex == 1}" @click="changeActiveTab(1)">附件</li> |
|||
<li :class="{'active-tab-nav': archivesTabIndex == 2}" @click="changeActiveTab(2)">元数据</li> |
|||
</ul> |
|||
<!-- 基本信息 --> |
|||
<div v-if="archivesTabIndex==0" class="base-info item-content"> |
|||
<el-row> |
|||
<el-col v-for="(item,index) in archivesDetailsData" v-show="index<archivesDetailsData.length-5" :key="index" :span="item.isLine ? 24 : 12" class="base-info-item"> |
|||
<span>{{ item.fieldCnName }}:</span> |
|||
<p :style="{ width: ( item.editLength ? item.editLength+'px' : '' ), flex: ( !item.editLength ? 1 : '' )}">{{ item.context }}</p> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row v-if="isDetailsInfo"> |
|||
<el-col v-for="(item,index) in archivesDetailsData.slice(archivesDetailsData.length-5,archivesDetailsData.length)" :key="'last'+index" :span=" 12" class="base-info-item"> |
|||
<span>{{ item.fieldCnName }}:</span> |
|||
<div v-if="item.fieldName === 'folder_location' && item.context" :style="{ width: item.editLength+'px', marginTop:'-6px'}"> |
|||
<div v-if="item.context.indexOf(',')"> |
|||
<el-tag |
|||
v-for="(val,key) in item.context.split(',')" |
|||
:key="key" |
|||
:type="val" |
|||
effect="dark" |
|||
> |
|||
{{ val }} |
|||
</el-tag> |
|||
</div> |
|||
<div v-else-if="!item.context.indexOf(',')"> |
|||
<el-tag effect="dark">{{ item.context }}</el-tag> |
|||
</div> |
|||
</div> |
|||
<div v-else :style="{ width: item.editLength+'px'}" :class="[ (item.fieldName === 'borrow_type') ? 'row-state row-lending' : '' ]"> |
|||
{{ item.context }} |
|||
</div> |
|||
</el-col> |
|||
</el-row> |
|||
</div> |
|||
<!-- 附件 --> |
|||
<UploadFile v-if="archivesTabIndex==1" ref="uploadFile" class="item-content" :is-upload-detail="false" :category-id="categoryId" :arc-id="arcId" /> |
|||
<!-- 元数据 --> |
|||
<div v-if="archivesTabIndex==2" class="metadata-cont item-content"> |
|||
<pre v-highlightjs="xml_show"> |
|||
<code class="highlight_s"> |
|||
{[xml_show]} |
|||
</code> |
|||
</pre> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import { form } from '@crud/crud' |
|||
import { FetchArchivesDetails, FetchArchivesMetadata } from '@/api/archivesManage/archivesList' |
|||
import UploadFile from '../uploadFile/index' |
|||
import detailData from './data.json' |
|||
import metaData from './metadata.json' |
|||
export default { |
|||
name: 'ArchivesInfo', |
|||
components: { UploadFile }, |
|||
mixins: [ |
|||
form({}) |
|||
], |
|||
// inject: ['recycleMain'], |
|||
props: { |
|||
categoryId: { |
|||
type: String, |
|||
default: function() { |
|||
return '' |
|||
} |
|||
}, |
|||
arcId: { |
|||
type: String, |
|||
default: function() { |
|||
return '' |
|||
} |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
detailTitle: '', |
|||
isHasFile: false, // 卷内/文件才有附件 |
|||
isDetailsInfo: false, // 项目不显示最下面5行基本信息 |
|||
isTidOrBorrow: true, // 卷内不显示tid/借阅状态 |
|||
archivesInfoVisible: false, |
|||
archivesTabIndex: 0, |
|||
archivesDetailsData: [], |
|||
archivesDetailsMetadata: [], |
|||
xml_show: null |
|||
} |
|||
}, |
|||
created() { |
|||
this.archivesDetailsData = detailData.data |
|||
this.archivesDetailsMetadata = metaData.data |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
getDetial(rowId) { |
|||
const params = { |
|||
categoryId: this.categoryId, |
|||
archivesId: rowId |
|||
} |
|||
FetchArchivesDetails(params).then(data => { |
|||
this.archivesDetailsData = data |
|||
// 案卷 / 文件的借阅状态 |
|||
this.archivesDetailsData.forEach(item => { |
|||
if (item.fieldName === 'borrow_type') { |
|||
if (item.context === 1) { |
|||
item.context = '待登记' |
|||
} else if (item.context === 2) { |
|||
item.context = '待借阅' |
|||
} else if (item.context === 3) { |
|||
item.context = '待归还' |
|||
} else if (item.context === 4 || item.context === '' || item.context === null) { |
|||
item.context = '-' |
|||
} else if (item.context === -1) { |
|||
item.context = '在库' |
|||
} |
|||
} |
|||
}) |
|||
// 如果是卷内 - 不显示‘tid’/'借阅状态' |
|||
if (!this.isTidOrBorrow) { |
|||
const indexBorrow = this.archivesDetailsData.findIndex(item => item.fieldName === 'borrow_type') |
|||
const indexTid = this.archivesDetailsData.findIndex(item => item.fieldName === 'tid') |
|||
this.archivesDetailsData.splice(indexBorrow, 1) |
|||
this.archivesDetailsData.splice(indexTid, 1) |
|||
} |
|||
}) |
|||
FetchArchivesMetadata(params).then(data => { |
|||
this.archivesDetailsMetadata = data |
|||
}) |
|||
}, |
|||
setXml() { |
|||
const xmlstr = this.archivesDetailsMetadata |
|||
// console.log('xmlstr:', xmlstr) |
|||
// console.log('xml转json:', this.$x2js.xml2js(xmlstr)) |
|||
// console.log('json转xml:', this.$x2js.js2xml(this.$x2js.xml2js(xmlstr))) |
|||
// this.xml_show = vkbeautify.xml(xmlstr) |
|||
this.xml_show = this.showXml(xmlstr) |
|||
}, |
|||
changeActiveTab(index) { |
|||
this.archivesTabIndex = index |
|||
if (this.archivesTabIndex === 2) { |
|||
this.setXml() |
|||
} |
|||
this.$nextTick(() => { |
|||
if (this.$refs.uploadFile) { |
|||
this.$refs.uploadFile.tableData = [] |
|||
this.$refs.uploadFile.getFileList() |
|||
} |
|||
}) |
|||
}, |
|||
// 删除 - 关闭 |
|||
handleClose(done) { |
|||
this.archivesInfoVisible = false |
|||
done() |
|||
}, |
|||
// xml格式化 |
|||
showXml(str) { |
|||
var that = this |
|||
var text = str |
|||
// 去掉多余的空格 |
|||
text = |
|||
'\n' + |
|||
text |
|||
.replace(/(<\w+)(\s.*?>)/g, function($0, name, props) { |
|||
return name + ' ' + props.replace(/\s+(\w+=)/g, ' $1') |
|||
}) |
|||
.replace(/>\s*?</g, '>\n<') |
|||
// 把注释编码 |
|||
text = text |
|||
.replace(/\n/g, '\r') |
|||
.replace(/<!--(.+?)-->/g, function($0, text) { |
|||
var ret = '<!--' + escape(text) + '-->' |
|||
return ret |
|||
}) |
|||
.replace(/\r/g, '\n') |
|||
|
|||
// 调整格式 |
|||
var rgx = /\n(<(([^\?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(?:(\/)>)|(?:<(\/)\2>)))?)/gm |
|||
var nodeStack = [] |
|||
var output = text.replace(rgx, function( |
|||
$0, |
|||
all, |
|||
name, |
|||
isBegin, |
|||
isCloseFull1, |
|||
isCloseFull2, |
|||
isFull1, |
|||
isFull2 |
|||
) { |
|||
var isClosed = |
|||
isCloseFull1 === '/' || |
|||
isCloseFull2 === '/' || |
|||
isFull1 === '/' || |
|||
isFull2 === '/' |
|||
var prefix = '' |
|||
if (isBegin === '!') { |
|||
prefix = that.getPrefix(nodeStack.length) |
|||
} else { |
|||
if (isBegin !== '/') { |
|||
prefix = that.getPrefix(nodeStack.length) |
|||
if (!isClosed) { |
|||
nodeStack.push(name) |
|||
} |
|||
} else { |
|||
nodeStack.pop() |
|||
prefix = that.getPrefix(nodeStack.length) |
|||
} |
|||
} |
|||
var ret = '\n' + prefix + all |
|||
return ret |
|||
}) |
|||
var outputText = output.substring(1) |
|||
// 把注释还原并解码,调格式 |
|||
outputText = outputText |
|||
.replace(/\n/g, '\r') |
|||
.replace(/(\s*)<!--(.+?)-->/g, function($0, prefix, text) { |
|||
if (prefix.charAt(0) === '\r') prefix = prefix.substring(1) |
|||
text = unescape(text).replace(/\r/g, '\n') |
|||
var ret = |
|||
'\n' + prefix + '<!--' + text.replace(/^\s*/gm, prefix) + '-->' |
|||
return ret |
|||
}) |
|||
outputText = outputText.replace(/\s+$/g, '').replace(/\r/g, '\r\n') |
|||
return outputText |
|||
}, |
|||
getPrefix(prefixIndex) { |
|||
var span = ' ' |
|||
var output = [] |
|||
for (var i = 0; i < prefixIndex; ++i) { |
|||
output.push(span) |
|||
} |
|||
return output.join('') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.base-info, |
|||
.metadata-cont{ |
|||
background-color: #F6F8FC; |
|||
} |
|||
// 档案详情 |
|||
.base-info{ |
|||
padding: 20px 0; |
|||
.base-info-item{ |
|||
display: flex; |
|||
flex-direction: row; |
|||
margin-bottom: 20px; |
|||
color: #545B65; |
|||
span{ |
|||
display: block; |
|||
width: 120px; |
|||
margin-right: 5px; |
|||
text-align: right; |
|||
color: #0C0E1E; |
|||
} |
|||
} |
|||
} |
|||
|
|||
code.hljs { |
|||
font-size: 12px; |
|||
color: #0C0E1E !important; |
|||
height: 530px !important; |
|||
} |
|||
::v-deep .hljs-name{ |
|||
color: #0C0E1E !important; |
|||
} |
|||
.base-info .base-info-item span.el-tag{ |
|||
width: auto; |
|||
color: #fff; |
|||
} |
|||
</style> |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": "<? xml version=\"1.0\" encoding=\"UTF-8\"?><元数据信息><内容描述><项目号>JJ-2021-GZ-001</项目号><全宗号>档案室</全宗号><项目名>档案室改造</项目名><保管期限>永久</保管期限><归档年度>2021</归档年度><密级>公开</密级><责任者>许飞</责任者><机构(问题)>机关建设</机构(问题)><部门名称>综合部</部门名称><案卷数>3</案卷数><立项时间>2021-12-01 </立项时间><结项时间>2022-08-25 </结项时间><项目开始时间>2022-05-01 </项目开始时间><项目结束时间>2022-07-31 </项目结束时间><备注></备注></内容描述><系统数据><库房名>null</库房名><盒号>null</盒号><存放位置>null</存放位置><标签编号>null</标签编号><条码号>null</条码号><子条目数>1</子条目数></系统数据></元数据信息>", |
|||
"timestamp": 1689215199496 |
|||
} |
@ -0,0 +1,223 @@ |
|||
<template> |
|||
<div class="collect-header"> |
|||
<h4 :class="classType">{{ collectTitle }}</h4> |
|||
<div v-if="isTitleType !== 6" class="head-search"> |
|||
<!-- 搜索 --> |
|||
<el-input v-model="query.blurry" clearable size="small" :placeholder="placeholderType" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" /> |
|||
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search">搜索</el-button> |
|||
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left">重置</el-button> |
|||
</div> |
|||
<div class="collect-menu"> |
|||
<el-menu |
|||
:default-active="activeIndex" |
|||
mode="horizontal" |
|||
@select="handleSelect" |
|||
> |
|||
<el-submenu index="1"> |
|||
<template slot="title"> |
|||
<i class="iconfont icon-changgui" /> |
|||
<span>常规</span> |
|||
</template> |
|||
<el-menu-item-group class="collect-submenu-group"> |
|||
<el-menu-item v-if="isTitleType !== 6" index="1-1" @click="handleForm('add')">新增</el-menu-item> |
|||
<el-menu-item v-if="isTitleType !== 6" index="1-2" @click="handleForm('edit')">编辑</el-menu-item> |
|||
<el-menu-item index="1-3">删除</el-menu-item> |
|||
</el-menu-item-group> |
|||
<el-menu-item-group v-if="(isTitleType === 3 && selectedCategory.isType === 5) || isTitleType === 4 || isTitleType === 6" class="collect-submenu-group submenu-tree"> |
|||
<template slot="title">原文上传</template> |
|||
<el-menu-item index="1-4">普通上传</el-menu-item> |
|||
<el-menu-item index="1-5">大文件上传</el-menu-item> |
|||
</el-menu-item-group> |
|||
</el-submenu> |
|||
<el-submenu v-if="isTitleType !== 6" index="2"> |
|||
<template slot="title"> |
|||
<i class="iconfont icon-zhengli" /> |
|||
<span>整理</span> |
|||
</template> |
|||
<el-menu-item-group class="collect-submenu-group"> |
|||
<el-menu-item v-if="isTitleType !== 2" index="2-1">批量导入</el-menu-item> |
|||
<!-- 项目 / 案卷 / 卷内 / 文件--> |
|||
<el-menu-item index="2-2">批量修改</el-menu-item> |
|||
<el-menu-item v-if="isTitleType !== 2" index="2-3">档案调整</el-menu-item> |
|||
<el-menu-item v-if="isTitleType !== 2" index="2-4">档号更新</el-menu-item> |
|||
<!-- 案卷 --> |
|||
<el-menu-item v-if="isTitleType === 3 && selectedCategory.isType === 3" index="2-5">卷内档号更新</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 3 && selectedCategory.isType === 3" index="2-6">拆卷</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 3 && selectedCategory.isType === 3" index="2-7">合卷</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 3 && selectedCategory.isType === 3" index="2-8">插件</el-menu-item> |
|||
<!-- 文件 --> |
|||
<el-menu-item v-if="isTitleType === 3 && selectedCategory.isType === 5" index="2-9">退回预归档库</el-menu-item> |
|||
<!-- 案卷 / 卷内 / 文件 --> |
|||
<el-menu-item v-if="isTitleType !== 2" index="2-10">移动</el-menu-item> |
|||
<!-- 案卷 --> |
|||
<el-menu-item v-if="isTitleType === 3" index="2-11">归档</el-menu-item> |
|||
</el-menu-item-group> |
|||
</el-submenu> |
|||
<el-submenu index="3"> |
|||
<template slot="title"> |
|||
<i class="iconfont icon-gengduo" /> |
|||
<span>更多</span> |
|||
</template> |
|||
<el-menu-item-group class="collect-submenu-group"> |
|||
<el-menu-item v-if="isTitleType !== 6" index="3-1">导出</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 3 || isTitleType === 4" index="3-2">打印</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 3 || isTitleType === 4" index="3-3">四性检测</el-menu-item> |
|||
<el-menu-item v-if="isTitleType === 6" index="3-4">下载</el-menu-item> |
|||
</el-menu-item-group> |
|||
<el-menu-item-group v-if="isTitleType === 3 || isTitleType === 4" class="collect-submenu-group submenu-tree"> |
|||
<template slot="title">电子文件目录</template> |
|||
<el-menu-item index="3-5">目录下载</el-menu-item> |
|||
<el-menu-item index="3-6">目录上传</el-menu-item> |
|||
</el-menu-item-group> |
|||
</el-submenu> |
|||
</el-menu> |
|||
</div> |
|||
|
|||
<!--新增 / 编辑 表单组件--> |
|||
<el-dialog class="preview-dialog" :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" :visible="formVisible" :title="formTitle"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog"> |
|||
<!-- form --> |
|||
<PreviewForm v-if="formPreviewData.length" ref="previewForm" :is-has-code="true" :is-disabled="false" :form-preview-data.sync="formPreviewData" :selected-category="selectedCategory" :parents-id="parentsId" :arc-id="arcId" :is-des-form-type="isDesFormType" @emitTableList="getTableList" /> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="handlerArchivesSubmit">保存</el-button> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import PreviewForm from '@/views/components/category/PreviewForm' |
|||
export default { |
|||
name: 'CollectHeader', |
|||
components: { PreviewForm }, |
|||
mixins: [], |
|||
props: { |
|||
selectedCategory: { |
|||
type: Object, |
|||
default: function() { |
|||
return {} |
|||
} |
|||
}, |
|||
isTitleType: { |
|||
type: Number, |
|||
default: 2 |
|||
}, |
|||
arcId: { |
|||
type: String, |
|||
default: function() { |
|||
return '' |
|||
} |
|||
}, |
|||
selections: { |
|||
type: Array, |
|||
default: function() { |
|||
return [] |
|||
} |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
query: { |
|||
blurry: '' |
|||
}, |
|||
activeIndex: '1', |
|||
formVisible: false, |
|||
formTitle: '项目', |
|||
formPreviewData: [] // 预览界面data |
|||
} |
|||
}, |
|||
computed: { |
|||
collectTitle() { |
|||
if (this.isTitleType === 2) { |
|||
return '项目' |
|||
} else if (this.isTitleType === 3) { |
|||
if (this.selectedCategory.isType === 5) { |
|||
return '文件' |
|||
} else { |
|||
return '案卷' |
|||
} |
|||
} else if (this.isTitleType === 4) { |
|||
return '卷内' |
|||
} else if (this.isTitleType === 6) { |
|||
return '原文' |
|||
} |
|||
return '' |
|||
}, |
|||
classType() { |
|||
if (this.isTitleType === 2) { |
|||
return '' |
|||
} else if (this.isTitleType === 3) { |
|||
return 'is-anjuan' |
|||
} else if (this.isTitleType === 4) { |
|||
return 'is-juannei' |
|||
} else if (this.isTitleType === 6) { |
|||
return 'is-file' |
|||
} |
|||
return '' |
|||
}, |
|||
placeholderType() { |
|||
if (this.isTitleType === 2) { |
|||
return '输入项目名称或编号' |
|||
} else if (this.isTitleType === 3 || this.isTitleType === 4) { |
|||
return '输入题名或档号' |
|||
} |
|||
return '输入项目名称或编号' |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
methods: { |
|||
handleSelect(key, keyPath) { |
|||
console.log(key, keyPath) |
|||
}, |
|||
// 著录界面-form/详情-api |
|||
handleForm(type) { |
|||
if (type === 'add') { |
|||
this.formVisible = true |
|||
this.formTitle = '新增' + this.collectTitle |
|||
this.arcId = null |
|||
} else if (type === 'edit') { |
|||
console.log(this.selections) |
|||
// this.arcId = this.selections[0].id |
|||
if (this.selections.length === 0) { |
|||
this.$message('您还未勾选需要操作的条目,请先确认!') |
|||
return false |
|||
} else if (this.selections.length > 1) { |
|||
this.$message('编辑操作只可勾选唯一目标条目,请先确认!') |
|||
return false |
|||
} |
|||
this.formVisible = true |
|||
this.formTitle = '编辑' + this.collectTitle |
|||
} |
|||
|
|||
// this.form.dictionaryConfigId = {} |
|||
// this.formPreviewData = [] |
|||
// 档案预编辑获取字段 |
|||
// const params = { |
|||
// categoryId: this.categoryId, |
|||
// archivesId: this.arcId |
|||
// } |
|||
// this.getFormInfo(params, type, isAnOrJuan) |
|||
}, |
|||
// form - submit |
|||
handlerArchivesSubmit() { |
|||
this.formVisible = false |
|||
// this.$refs.previewForm.submitForm('addOrUpdateForm', this.categoryId) |
|||
// this.selections = [] |
|||
}, |
|||
// 删除 - 关闭 |
|||
handleClose(done) { |
|||
this.formVisible = false |
|||
done() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
</style> |
@ -0,0 +1,340 @@ |
|||
<template> |
|||
<div class="upload-file"> |
|||
<!-- 上传附件curd --> |
|||
<div v-if="isUploadDetail" class="upload-curd"> |
|||
<div class="upload-btn"> |
|||
<el-button icon="el-icon-plus" size="small" type="primary">添加</el-button> |
|||
<input id="upFile" type="file" name="upFile" @change="changeFile($event)"> |
|||
</div> |
|||
<el-button icon="el-icon-delete" :disabled="selections.length === 0" @click="toDelete(selections)">删除</el-button> |
|||
<el-button icon="el-icon-sort" @click="showSort">排序</el-button> |
|||
</div> |
|||
|
|||
<!--表格渲染--> |
|||
<el-table |
|||
ref="table" |
|||
:data="tableData" |
|||
style="min-width: 100%" |
|||
height="calc(100vh - 382px)" |
|||
@row-click="clickRowHandler" |
|||
@selection-change="selectionChangeHandler" |
|||
> |
|||
<el-table-column v-if="isUploadDetail" type="selection" width="55" align="center" /> |
|||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|||
<el-table-column prop="file_name" label="文件名称" show-overflow-tooltip min-width="140" align="center" /> |
|||
<el-table-column prop="file_type" label="格式" min-width="60" align="center" /> |
|||
<el-table-column prop="file_size" label="大小" min-width="85" align="center"> |
|||
<template slot-scope="scope"> |
|||
{{ (scope.row.file_size / 1024).toFixed(2) + 'kB' }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="file_dpi" label="分辨率" min-width="85" align="center" /> |
|||
<el-table-column prop="file_thumbnail" label="缩览图" min-width="60" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.file_type === 'jpg' || scope.row.file_type === 'jpeg' || scope.row.file_type === 'png' || scope.row.file_type === 'bmp'|| scope.row.file_type === 'gif'"> |
|||
<img width="60px" height="32px" class="screenshot" :src="baseApi+ '/downloadFile' +scope.row.file_path" :onerror="defaultImg" @click="showCoverPreview(scope.row)"> |
|||
</div> |
|||
<div v-else> |
|||
<svg-icon icon-class="fujian" class-name="svg-style" /> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="create_time" label="创建时间" min-width="110" align="center" /> |
|||
<el-table-column v-if="!isUploadDetail && !recycleMain.isRecycle" label="操作" min-width="100" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button class="file-down iconfont icon-weibiaoti-2" @click="downloadFile(scope.row)">下载</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<!-- 点击缩略图看大图 --> |
|||
<el-dialog class="preview-dialog" :append-to-body="true" :close-on-click-modal="false" :before-close="handleClose" :visible="showCoverVisible" title="查看大图"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog" style="max-height:calc(100vh - 230px); overflow:auto;"> |
|||
<img style="max-width:100%; object-fit: contain;" :src="previewSrc" :onerror="defaultImg"> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 排序 --> |
|||
<el-dialog :close-on-click-modal="false" :append-to-body="true" title="排序" :visible.sync="sortVisible" @opened="opened"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog"> |
|||
<i class="drag-tip">提示:请通过拖动鼠标来调整当前顺序</i> |
|||
<el-table :data="sortTableData" class="file-sort" style="width: 100%;max-height: 70vh;" row-key="id"> |
|||
<el-table-column type="index" label="序号" width="100" align="center" /> |
|||
<el-table-column prop="file_name" label="文件名称" /> |
|||
</el-table> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click.native="handleSort">保存</el-button> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 删除附件 --> |
|||
<el-dialog title="删除附件" :append-to-body="true" :close-on-click-modal="false" :visible.sync="deleteVisible" :before-close="handleClose"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog"> |
|||
<div class="dialog-delt"> |
|||
<p><span>确定删除已选择的附件吗?</span></p> |
|||
</div> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click.native="handleDeltConfirm">确定</el-button> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { FetchInitArchiveFilesView, FetchEditFile, FetchDeleteFile, FetchFileSort } from '@/api/archivesManage/archivesList' |
|||
import { archivesUpload } from '@/utils/upload' |
|||
import { downloadFile, getCurrentTime } from '@/utils/index' |
|||
import { mapGetters } from 'vuex' |
|||
import { form } from '@crud/crud' |
|||
import Sortable from 'sortablejs' |
|||
export default { |
|||
name: 'UploadFile', |
|||
components: {}, |
|||
mixins: [ |
|||
form({}) |
|||
], |
|||
inject: ['recycleMain'], |
|||
props: { |
|||
isUploadDetail: { |
|||
type: Boolean, |
|||
default: true |
|||
}, |
|||
categoryId: { |
|||
type: String, |
|||
default: function() { |
|||
return '' |
|||
} |
|||
}, |
|||
arcId: { |
|||
type: String, |
|||
default: function() { |
|||
return '' |
|||
} |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
defaultImg: 'this.src="' + require('@/assets/images/cover-bg.png') + '"', |
|||
tableData: [], // 附件list |
|||
selections: [], // table - 选中的 |
|||
showCoverVisible: false, // 查看大图dialog |
|||
sortTableData: [], // 排序data |
|||
sortVisible: false, // 排序dialog |
|||
deleteVisible: false, // 删除附件 dialog |
|||
deleteData: [], // 删除选中的data |
|||
file: null, // 附件 change |
|||
fileNames: '', // 附件 - name |
|||
formatType: '', // 附件 - type |
|||
postfix: '', // 附件 - 文件后缀 |
|||
fileSize: '', // 附件 - 大小 |
|||
filePath: '', // 附件 - path |
|||
px: '', // 附件 - 分辨率 |
|||
nowDate: '', // 当前时间 |
|||
previewSrc: '' // 查看大图src |
|||
} |
|||
}, |
|||
computed: { |
|||
...mapGetters([ |
|||
'baseApi' |
|||
]) |
|||
}, |
|||
watch: { |
|||
arcId: function(newValue, oldValue) { |
|||
} |
|||
}, |
|||
methods: { |
|||
// 选择附件 |
|||
async changeFile(e) { |
|||
this.file = e.target.files[0] |
|||
this.fileSize = this.file.size |
|||
this.formatType = this.file.type.substring(0, this.file.type.indexOf('/')) |
|||
this.fileNames = this.file.name |
|||
this.postfix = this.file.name.substring( |
|||
this.fileNames.lastIndexOf('.') + 1, |
|||
this.fileNames.length |
|||
) |
|||
if (this.formatType === 'image') { |
|||
const fileBase64 = await this.getBase64(this.file) |
|||
const res = await this.getImgPx(fileBase64) |
|||
this.px = res.width + 'px*' + res.height + 'px' |
|||
} else { |
|||
this.px = '' |
|||
} |
|||
// 上传附件 |
|||
archivesUpload(this.baseApi + '/api/archives/uploadFile', this.file, this.categoryId).then(res => { |
|||
if (res.data.code === 200) { |
|||
this.filePath = res.data.data |
|||
this.uploadSave() |
|||
} |
|||
}) |
|||
}, |
|||
// 上传附件 - 选择上传即保存 |
|||
uploadSave() { |
|||
this.nowDate = getCurrentTime() |
|||
const json = { |
|||
'file_name': this.fileNames, |
|||
'file_size': this.fileSize, |
|||
'file_type': this.postfix, |
|||
'file_path': this.filePath, |
|||
'sequence': null, |
|||
'archive_id': this.arcId, |
|||
'file_dpi': this.px, |
|||
'file_thumbnail': '', |
|||
'create_time': this.nowDate, |
|||
'id': null |
|||
} |
|||
const arrayUpload = [] |
|||
arrayUpload.push(json) |
|||
const params = { |
|||
'categoryId': this.categoryId, |
|||
'jsonString': JSON.stringify(arrayUpload) |
|||
} |
|||
FetchEditFile(params).then(data => { |
|||
this.$message.success('上传附件成功!') |
|||
this.crud.refresh() |
|||
this.getFileList() |
|||
}) |
|||
}, |
|||
// 将上传的图片转为base64 |
|||
getBase64(file) { |
|||
const reader = new FileReader() |
|||
reader.readAsDataURL(file) |
|||
return new Promise((resolve) => { |
|||
reader.onload = () => { |
|||
resolve(reader.result) |
|||
} |
|||
}) |
|||
}, |
|||
// 获取图片的分辨率 |
|||
getImgPx(img) { |
|||
const image = new Image() |
|||
image.src = img |
|||
return new Promise((resolve) => { |
|||
image.onload = () => { |
|||
const width = image.width |
|||
const height = image.height |
|||
resolve({ width, height }) |
|||
} |
|||
}) |
|||
}, |
|||
// 上传list |
|||
getFileList() { |
|||
const params = { |
|||
'categoryId': this.categoryId, |
|||
'archiveId': this.arcId |
|||
} |
|||
FetchInitArchiveFilesView(params).then(data => { |
|||
this.tableData = data.returnlist |
|||
}) |
|||
}, |
|||
// 下载附件 |
|||
downloadFile(row) { |
|||
const url = this.baseApi + '/downloadFile' + row.file_path |
|||
fetch(url).then(res => res.blob()).then(blob => { |
|||
downloadFile(blob, row.file_name.split('.')[0], row.file_type) |
|||
}).catch(() => { |
|||
this.$message.error('下载文件失败!') |
|||
}) |
|||
}, |
|||
// 选择删除 |
|||
toDelete(data) { |
|||
this.deleteData = data |
|||
this.deleteVisible = true |
|||
}, |
|||
// 确认删除 |
|||
handleDeltConfirm() { |
|||
this.deleteVisible = false |
|||
const ids = [] |
|||
this.deleteData.forEach(val => { |
|||
ids.push(val.id) |
|||
}) |
|||
const params = { |
|||
'ids': ids, |
|||
'categoryId': this.categoryId |
|||
} |
|||
// 删除fetch |
|||
FetchDeleteFile(params).then(res => { |
|||
this.crud.delAllLoading = false |
|||
this.$message.success('删除成功!') |
|||
this.crud.refresh() |
|||
this.getFileList() |
|||
}) |
|||
}, |
|||
// 排序 - 行拖拽 |
|||
rowDrop(className, targetName) { |
|||
// 此时找到的元素是要拖拽元素的父容器 |
|||
const tbody = document.querySelector('.' + className + ' .el-table__body-wrapper tbody') |
|||
const that = this |
|||
Sortable.create(tbody, { |
|||
// 指定父元素下可被拖拽的子元素 |
|||
draggable: '.el-table__row', |
|||
onEnd({ newIndex, oldIndex }) { |
|||
if (newIndex === oldIndex) return |
|||
that[targetName].splice(newIndex, 0, that[targetName].splice(oldIndex, 1)[0]) |
|||
} |
|||
}) |
|||
}, |
|||
// 排序 |
|||
opened() { |
|||
this.rowDrop('file-sort', 'sortTableData') |
|||
}, |
|||
showSort() { |
|||
this.sortVisible = true |
|||
this.sortTableData = JSON.parse(JSON.stringify(this.tableData)) |
|||
}, |
|||
// 排序 - 保存 |
|||
handleSort() { |
|||
const ids = [] |
|||
const sequences = [] |
|||
this.sortTableData.map((value, index) => { |
|||
ids.push(value.id) |
|||
sequences.push(index + 1) |
|||
}) |
|||
const params = { |
|||
'categoryId': this.categoryId, |
|||
'ids': ids, |
|||
'sequences': sequences |
|||
} |
|||
FetchFileSort(params).then((res) => { |
|||
this.sortVisible = false |
|||
this.$message.success('附件排序成功!') |
|||
this.crud.refresh() |
|||
this.getFileList() |
|||
}) |
|||
}, |
|||
// table |
|||
clickRowHandler(row) { |
|||
this.$refs.table.toggleRowSelection(row) |
|||
}, |
|||
// table |
|||
selectionChangeHandler(val) { |
|||
this.selections = val |
|||
}, |
|||
// dialog - close |
|||
handleClose(done) { |
|||
this.showCoverVisible = false |
|||
done() |
|||
}, |
|||
// 查看大图 |
|||
showCoverPreview(row) { |
|||
this.showCoverVisible = true |
|||
this.previewSrc = this.baseApi + '/downloadFile' + row.file_path |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.svg-style{ |
|||
width: 60px; |
|||
height: 32px; |
|||
} |
|||
</style> |
@ -0,0 +1,51 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": { |
|||
"list": { |
|||
"content": [ |
|||
{ |
|||
"case_no": "", |
|||
"responsibleby": "许飞", |
|||
"piece_qty": 3, |
|||
"children_num": 1, |
|||
"item_end_date": "2022-08-25 ", |
|||
"tid": "", |
|||
"item_no": "JJ-2021-GZ-001", |
|||
"organization_matter": "机关建设", |
|||
"item_start_date": "2021-12-01 ", |
|||
"maintitle": "档案室改造", |
|||
"security_class": "公开", |
|||
"archive_year": 2021, |
|||
"fonds_no": "档案室", |
|||
"id": "2946C34412182B73FBC287", |
|||
"department": "综合部", |
|||
"retention": "永久" |
|||
}, |
|||
{ |
|||
"case_no": "", |
|||
"responsibleby": "许飞", |
|||
"piece_qty": 3, |
|||
"children_num": 1, |
|||
"item_end_date": "2022-08-25 ", |
|||
"tid": "", |
|||
"item_no": "JJ-2021-GZ-001", |
|||
"organization_matter": "机关建设", |
|||
"item_start_date": "2021-12-01 ", |
|||
"maintitle": "档案室改造", |
|||
"security_class": "公开", |
|||
"archive_year": 2021, |
|||
"fonds_no": "档案室", |
|||
"id": "2946C34412182B73FBC283", |
|||
"department": "综合部", |
|||
"retention": "永久" |
|||
} |
|||
], |
|||
"totalElements": 1 |
|||
}, |
|||
"yearGroup": [ |
|||
2021 |
|||
] |
|||
}, |
|||
"timestamp": 1689148250262 |
|||
} |
@ -0,0 +1,523 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": [ |
|||
{ |
|||
"id": "25132519F2921B00A10F5B", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "item_no", |
|||
"fieldCnName": "项目号", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "text", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 50, |
|||
"isColumnType": 2, |
|||
"isSequence": 1, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": true, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 1, |
|||
"displayOrderBy": "asc", |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 170, |
|||
"queue": 1, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307993000 |
|||
}, |
|||
{ |
|||
"id": "580C7528AC12417FF22957", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": { |
|||
"id": "C45F3FF91CC7C1F79BFB5C", |
|||
"dicName": "全宗号", |
|||
"dicCode": "QZH", |
|||
"dicExplain": null, |
|||
"dicSequence": 16, |
|||
"dicType": true, |
|||
"dicPid": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1656991927000, |
|||
"update_time": 1656991927000 |
|||
}, |
|||
"fieldName": "fonds_no", |
|||
"fieldCnName": "全宗号", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "select", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 100, |
|||
"isColumnType": 2, |
|||
"isSequence": 2, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": true, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 2, |
|||
"displayOrderBy": "asc", |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": 2, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307993000 |
|||
}, |
|||
{ |
|||
"id": "203A376644F1858B4DF785", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "archive_year", |
|||
"fieldCnName": "归档年度", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "number", |
|||
"isDataType": 2, |
|||
"isDataTypeDetails": "int", |
|||
"isColumnLength": 4, |
|||
"isColumnType": 2, |
|||
"isSequence": 5, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 3, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307784000 |
|||
}, |
|||
{ |
|||
"id": "882EC1B54292686C922360", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": { |
|||
"id": "EAC68B9FE234EDE61B2200", |
|||
"dicName": "保管期限", |
|||
"dicCode": "Search_BGQX", |
|||
"dicExplain": null, |
|||
"dicSequence": 11, |
|||
"dicType": true, |
|||
"dicPid": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1654571475000, |
|||
"update_time": 1656991717000 |
|||
}, |
|||
"fieldName": "retention", |
|||
"fieldCnName": "保管期限", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "select", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 10, |
|||
"isColumnType": 2, |
|||
"isSequence": 4, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 4, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307777000 |
|||
}, |
|||
{ |
|||
"id": "0501E903B3CB745D13AFB6", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "maintitle", |
|||
"fieldCnName": "项目名", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "textarea", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 500, |
|||
"isColumnType": 2, |
|||
"isSequence": 3, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": true, |
|||
"isInput": true, |
|||
"isRequired": true, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 5, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "left", |
|||
"editLength": 510, |
|||
"displayLength": 400, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307766000 |
|||
}, |
|||
{ |
|||
"id": "9623756470527E43268B37", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": { |
|||
"id": "8984F55841E2D541C23318", |
|||
"dicName": "密级", |
|||
"dicCode": "Search_MJ", |
|||
"dicExplain": null, |
|||
"dicSequence": 10, |
|||
"dicType": true, |
|||
"dicPid": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1656921207000, |
|||
"update_time": 1656991705000 |
|||
}, |
|||
"fieldName": "security_class", |
|||
"fieldCnName": "密级", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "select", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 10, |
|||
"isColumnType": 2, |
|||
"isSequence": 6, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 6, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307793000 |
|||
}, |
|||
{ |
|||
"id": "94E097186B8E99555BA396", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "responsibleby", |
|||
"fieldCnName": "责任者", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "text", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 100, |
|||
"isColumnType": 2, |
|||
"isSequence": 7, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 7, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307799000 |
|||
}, |
|||
{ |
|||
"id": "37647A997D5D97E2C405D9", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": { |
|||
"id": "426AA3EF366C7A26A942C8", |
|||
"dicName": "机构(问题)", |
|||
"dicCode": "Search_JGWT", |
|||
"dicExplain": null, |
|||
"dicSequence": 12, |
|||
"dicType": true, |
|||
"dicPid": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1656923873000, |
|||
"update_time": 1656991722000 |
|||
}, |
|||
"fieldName": "organization_matter", |
|||
"fieldCnName": "机构(问题)", |
|||
"isDefaultValue": null, |
|||
"isInputClass": "popover", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 100, |
|||
"isColumnType": 2, |
|||
"isSequence": 8, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 8, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 120, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307805000 |
|||
}, |
|||
{ |
|||
"id": "6D7225900689DB532B52EA", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": { |
|||
"id": "BA3910917510B181160A9A", |
|||
"dicName": "部门", |
|||
"dicCode": "Search_BM", |
|||
"dicExplain": null, |
|||
"dicSequence": 15, |
|||
"dicType": true, |
|||
"dicPid": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1656991900000, |
|||
"update_time": 1656991900000 |
|||
}, |
|||
"fieldName": "department", |
|||
"fieldCnName": "部门名称", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "select", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 100, |
|||
"isColumnType": 2, |
|||
"isSequence": 9, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 9, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 120, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307812000 |
|||
}, |
|||
{ |
|||
"id": "991A9A14140F42A6B06341", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "piece_qty", |
|||
"fieldCnName": "案卷数", |
|||
"isDefaultValue": "", |
|||
"isInputClass": "number", |
|||
"isDataType": 2, |
|||
"isDataTypeDetails": "int", |
|||
"isColumnLength": 11, |
|||
"isColumnType": 2, |
|||
"isSequence": 10, |
|||
"isType": 2, |
|||
"isSystem": true, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 10, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 100, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661303816000, |
|||
"update_time": 1663307822000 |
|||
}, |
|||
{ |
|||
"id": "40C5B388FAD4215D3295BB", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "item_start_date", |
|||
"fieldCnName": "立项时间", |
|||
"isDefaultValue": null, |
|||
"isInputClass": "date", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 20, |
|||
"isColumnType": 1, |
|||
"isSequence": 11, |
|||
"isType": 2, |
|||
"isSystem": false, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 11, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 120, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661304557000, |
|||
"update_time": 1661327515000 |
|||
}, |
|||
{ |
|||
"id": "FBE7A26D9C70FDFB363C09", |
|||
"categoryId": "B073E8430B85B4821E7360", |
|||
"dictionaryConfigId": null, |
|||
"fieldName": "item_end_date", |
|||
"fieldCnName": "结项时间", |
|||
"isDefaultValue": null, |
|||
"isInputClass": "date", |
|||
"isDataType": 1, |
|||
"isDataTypeDetails": "varchar", |
|||
"isColumnLength": 20, |
|||
"isColumnType": 1, |
|||
"isSequence": 12, |
|||
"isType": 2, |
|||
"isSystem": false, |
|||
"isLine": false, |
|||
"isInput": true, |
|||
"isRequired": false, |
|||
"isAutomatic": false, |
|||
"isAdd": null, |
|||
"isSearch": null, |
|||
"isInherit": null, |
|||
"isFilling": false, |
|||
"fillingDigit": null, |
|||
"isRepeat": null, |
|||
"isDisplay": true, |
|||
"displayOrder": 12, |
|||
"displayOrderBy": null, |
|||
"isDisplayformat": null, |
|||
"displayformatType": "center", |
|||
"editLength": 196, |
|||
"displayLength": 120, |
|||
"queue": null, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1661304593000, |
|||
"update_time": 1661327522000 |
|||
} |
|||
], |
|||
"timestamp": 1689148249781 |
|||
} |
@ -0,0 +1,117 @@ |
|||
{ |
|||
"code": 200, |
|||
"message": "操作成功", |
|||
"data": [ |
|||
{ |
|||
"id": "0ED1F5CF0EBAC01B914132", |
|||
"cnName": "档案", |
|||
"enName": "archives", |
|||
"pid": "0", |
|||
"isType": 1, |
|||
"categorySeq": 0, |
|||
"children": [ |
|||
{ |
|||
"id": "D70C5574B8DCE7A65F7037", |
|||
"cnName": "文书档案", |
|||
"enName": null, |
|||
"pid": "0ED1F5CF0EBAC01B914132", |
|||
"isType": 1, |
|||
"categorySeq": null, |
|||
"children": [ |
|||
{ |
|||
"id": "F0F59CC713C83AE4BAB99B", |
|||
"cnName": "文书档案(案卷)", |
|||
"enName": "tb_2023_06_21_1687319104861", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 3, |
|||
"categorySeq": 1, |
|||
"children": [ |
|||
{ |
|||
"id": "CD135F6A77018CE04D4FDB", |
|||
"cnName": "文书档案(卷内)", |
|||
"enName": "tb_2023_06_21_1687319123605", |
|||
"pid": "F0F59CC713C83AE4BAB99B", |
|||
"isType": 4, |
|||
"categorySeq": null, |
|||
"children": [], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319124000, |
|||
"update_time": 1687319124000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319105000, |
|||
"update_time": 1687319114000 |
|||
}, |
|||
{ |
|||
"id": "005E76FEC5A2AAB368CA1F", |
|||
"cnName": "文书档案(资料)", |
|||
"enName": "tb_2023_06_21_1687330804487", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 5, |
|||
"categorySeq": 2, |
|||
"children": [], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687330805000, |
|||
"update_time": 1687330811000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687243138000, |
|||
"update_time": 1687243138000 |
|||
}, |
|||
{ |
|||
"id": "D70C5574B8DCE7A65F7038", |
|||
"cnName": "基建档案", |
|||
"enName": null, |
|||
"pid": "0ED1F5CF0EBAC01B914132", |
|||
"isType": 1, |
|||
"categorySeq": null, |
|||
"children": [ |
|||
{ |
|||
"id": "F0F59CC713C83AE4BAB99B", |
|||
"cnName": "基建档案(项目)", |
|||
"enName": "tb_2023_06_21_1687319104861", |
|||
"pid": "D70C5574B8DCE7A65F7037", |
|||
"isType": 2, |
|||
"categorySeq": 1, |
|||
"children": [ |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687319105000, |
|||
"update_time": 1687319114000 |
|||
} |
|||
], |
|||
"remark": null, |
|||
"typeMetic": true, |
|||
"create_by": "admin", |
|||
"update_by": "admin", |
|||
"create_time": 1687243138000, |
|||
"update_time": 1687243138000 |
|||
} |
|||
], |
|||
"remark": "", |
|||
"typeMetic": true, |
|||
"create_by": null, |
|||
"update_by": "admin", |
|||
"create_time": null, |
|||
"update_time": 1655112365000 |
|||
} |
|||
], |
|||
"timestamp": 1688967875784 |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue