Browse Source

档案检索 详情

master
x_ying 3 years ago
parent
commit
ad6be8d4a5
  1. 19
      src/api/archivesManage/archivesSearch.js
  2. 35
      src/views/archivesManage/archivesSearch/index.vue
  3. 139
      src/views/archivesManage/archivesSearch/module/detailDialog.vue

19
src/api/archivesManage/archivesSearch.js

@ -8,4 +8,21 @@ export function queryVagueArchives(params) {
method: 'get'
})
}
export default { queryVagueArchives }
// 档案详情
export function archivesDetails(params) {
return request({
url: 'api/archives/archivesDetails' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
// 元数据
export function archivesMetadata(params) {
return request({
url: 'api/archives/archivesMetadata' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
export default { queryVagueArchives, archivesDetails, archivesMetadata }

35
src/views/archivesManage/archivesSearch/index.vue

@ -70,7 +70,7 @@
// import pagination from '@crud/Pagination'
// import { crud } from '@crud/crud'
import detailDialog from './module/detailDialog.vue'
import { queryVagueArchives } from '@/api/archivesManage/archivesSearch'
import { queryVagueArchives, archivesDetails, archivesMetadata } from '@/api/archivesManage/archivesSearch'
export default {
name: 'ArchivesSearch',
components: { detailDialog },
@ -106,14 +106,36 @@ export default {
},
methods: {
//
handleDbClick() {
handleDbClick(row) {
console.log(row, 'row')
const params = {
// 'categoryId': row.category_id,
// 'archivesId': row.archives_id
'categoryId': '5EB3DE8FF78BBC64729E43',
'archivesId': 'D63A2DFA58C02E09CB196C'
}
console.log(params)
archivesDetails(params).then(res => {
console.log(res, 'res')
const rowData = {}
res.forEach(item => {
rowData[item.fieldName] = item.context
})
console.log(rowData, '=======')
this.$refs.detailDom.rowData = rowData
})
//
archivesMetadata(params).then(res => {
console.log(res, '元数据')
this.$refs.detailDom.xmlStr = res
})
this.$refs.detailDom.detailVisible = true
},
//
dimSearch() {
this.loading = true
const arr = this.keywords.trim()
// console.log(arr.length, 'bool')
if (arr.length === 0) {
const arr = this.keywords.trim() //
if (arr.length === 0) { //
this.tableData = []
this.resNum = 0
this.page.total = 0
@ -128,9 +150,10 @@ export default {
}
this.loading = false
},
//
doQuery(params) {
queryVagueArchives(params).then(res => {
console.log(res, 'res')
// console.log(res, 'res')
this.tableData = res.content
this.page.total = res.totalElements
this.resNum = res.totalElements

139
src/views/archivesManage/archivesSearch/module/detailDialog.vue

@ -14,50 +14,50 @@
<div v-show="archivesTabIndex==0" class="base-info item-content">
<div>
<div class="dpflex">
<p class="left"><span class="color-blue">全宗</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">部门名称</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">全宗</span><span class="color-white">{{ rowData.fonds_no }}</span></p>
<p class="right"><span class="color-blue">部门名称</span><span class="color-white">{{ rowData.department }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">归档年度</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">目录号</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">归档年度</span><span class="color-white">{{ rowData.archive_year }}</span></p>
<p class="right"><span class="color-blue">目录号</span><span class="color-white">{{ rowData.content_no }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">实体分类号</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">件号</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">实体分类号</span><span class="color-white">{{ rowData.archive_ctg_no }}</span></p>
<p class="right"><span class="color-blue">件号</span><span class="color-white">{{ rowData.piece_no }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">成文日期</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">案卷级档号</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">成文日期</span><span class="color-white">{{ rowData.created_date }}</span></p>
<p class="right"><span class="color-blue">案卷级档号</span><span class="color-white">{{ rowData.archive_no }}</span></p>
</div>
<p class="sin-row"><span class="color-blue">题名</span><span class="color-white">{{ }}</span></p>
<p class="sin-row"><span class="color-blue">题名</span><span class="color-white">{{ rowData.maintitle }}</span></p>
<div class="dpflex">
<p class="left"><span class="color-blue">保管期限</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">密级</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">保管期限</span><span class="color-white">{{ rowData.retention }}</span></p>
<p class="right"><span class="color-blue">密级</span><span class="color-white">{{ rowData.security_class }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">总页数</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">总份数</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">总页数</span><span class="color-white">{{ rowData.page_qty }}</span></p>
<p class="right"><span class="color-blue">总份数</span><span class="color-white">{{ rowData.piece_qty }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">立卷人</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">立卷时间</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">立卷人</span><span class="color-white">{{ rowData.filing_person }}</span></p>
<p class="right"><span class="color-blue">立卷时间</span><span class="color-white">{{ rowData.filing_date }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">检查人</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">检查时间</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">检查人</span><span class="color-white">{{ rowData.check_person }}</span></p>
<p class="right"><span class="color-blue">检查时间</span><span class="color-white">{{ rowData.inspection_date }}</span></p>
</div>
<p class="sin-row"><span class="color-blue">备注</span><span class="color-white">{{ }}</span></p>
<p class="sin-row"><span class="color-blue">备注</span><span class="color-white">{{ rowData.remarks }}</span></p>
<div class="dpflex">
<p class="left"><span class="color-blue">TID</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">盒名称</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">TID</span><span class="color-white">{{ rowData.tid }}</span></p>
<p class="right"><span class="color-blue">盒名称</span><span class="color-white">{{ rowData.fieldCnName }}</span></p>
</div>
<div class="dpflex">
<p class="left"><span class="color-blue">库房位置</span><span class="color-white">{{ }}</span></p>
<p class="right"><span class="color-blue">借阅状态</span><span class="color-white">{{ }}</span></p>
<p class="left"><span class="color-blue">库房位置</span><span class="color-white">{{ rowData.folder_location }}</span></p>
<p class="right"><span class="color-blue">借阅状态</span><span class="color-white">{{ rowData.borrow_type }}</span></p>
</div>
<p class="sin-row"><span class="color-blue">条形码</span><span class="color-white">{{ }}</span></p>
<p class="sin-row"><span class="color-blue">条形码</span><span class="color-white">{{ rowData.barcode }}</span></p>
</div>
</div>
<!-- 元数据 -->
@ -83,13 +83,104 @@ export default {
rowData: {},
tableData: [],
archivesTabIndex: 0,
xml_show: null
xml_show: null,
xmlStr: null
}
},
methods: {
changeActiveTab(index) {
this.archivesTabIndex = index
if (this.archivesTabIndex === 2) {
this.xml_show = this.showXml(this.xmlStr)
console.log(this.xml_show)
}
},
// setXml() {
// // const xmlstr = this.archivesDetailsMetadata
// // console.log('xmlstr:', xmlstr)
// // console.log('xmljson:', this.$x2js.xml2js(xmlstr))
// // console.log('jsonxml:', this.$x2js.js2xml(this.$x2js.xml2js(xmlstr)))
// // this.xml_show = vkbeautify.xml(xmlstr)
// this.xml_show = this.showXml(this.xmlstr)
// },
// 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('')
}
}
}

Loading…
Cancel
Save