|
|
@ -15,7 +15,7 @@ |
|
|
|
show-checkbox |
|
|
|
default-expand-all |
|
|
|
node-key="id" |
|
|
|
:props="{children: 'children', label: 'fondsName'}" |
|
|
|
:props="{children: 'childDictionarys', label: 'dictionaryName'}" |
|
|
|
:filter-node-method="filterFondsNode" |
|
|
|
@check-change="getFondsCheckedKeys" |
|
|
|
/> |
|
|
@ -38,43 +38,6 @@ |
|
|
|
@check-change="getCategoryCheckedKeys" |
|
|
|
/> |
|
|
|
</el-collapse-item> |
|
|
|
<!-- <el-collapse-item title="档案分类" name="3"> |
|
|
|
<el-input |
|
|
|
v-model="filterClassifyText" |
|
|
|
class="quick-search" |
|
|
|
placeholder="快速检索" |
|
|
|
suffix-icon="el-icon-search" |
|
|
|
/> |
|
|
|
<el-tree |
|
|
|
ref="treeClassify" |
|
|
|
v-loading="classifyLoading" |
|
|
|
:data="classifyOptions" |
|
|
|
show-checkbox |
|
|
|
default-expand-all |
|
|
|
node-key="id" |
|
|
|
:props="{children: 'children', label: 'name'}" |
|
|
|
:filter-node-method="filterClassifyNode" |
|
|
|
@check-change="getClassifyCheckedKeys" |
|
|
|
/> |
|
|
|
</el-collapse-item> |
|
|
|
<el-collapse-item title="档案层级" name="4"> |
|
|
|
<el-input |
|
|
|
v-model="filterLevelText" |
|
|
|
class="quick-search" |
|
|
|
placeholder="快速检索" |
|
|
|
suffix-icon="el-icon-search" |
|
|
|
/> |
|
|
|
<el-tree |
|
|
|
ref="treeLevel" |
|
|
|
:data="levelOptions" |
|
|
|
show-checkbox |
|
|
|
default-expand-all |
|
|
|
node-key="value" |
|
|
|
:props="{children: 'children', label: 'label'}" |
|
|
|
:filter-node-method="filterLevelNode" |
|
|
|
@check-change="getLevelCheckedKeys" |
|
|
|
/> |
|
|
|
</el-collapse-item> --> |
|
|
|
</el-collapse> |
|
|
|
</div> |
|
|
|
<div class="result-right"> |
|
|
@ -109,26 +72,28 @@ |
|
|
|
<div v-if="resultData.length !== 0" class="result-list"> |
|
|
|
<el-row v-for="(item,index) in resultData" :key="index" class="result-item" @dblclick.native="handleDetail(item)"> |
|
|
|
<div class="result-item-title"><span>{{ getFileType(item.categoryLevel) }}</span><p>{{ item.maintitle }}</p></div> |
|
|
|
<p class="result-item-content" v-html="highlightKeywords(item.matekey)" /> |
|
|
|
<!-- <p class="result-item-content" v-html="highlightKeywords(item.matekey)" /> --> |
|
|
|
<div class="result-item-info"> |
|
|
|
<p>档号:{{ item.archiveNo }}</p> |
|
|
|
<p>全宗:{{ item.fondsName }}</p> |
|
|
|
<p>档案门类:{{ item.categoryName }}</p> |
|
|
|
<p>档案分类:{{ item.archivesClassName }}</p> |
|
|
|
<p>所属文件:{{ item.doc_department }}</p> |
|
|
|
<p>收文号:{{ item.reg_no }}</p> |
|
|
|
<p>来文字号:{{ item.doc_no }}</p> |
|
|
|
</div> |
|
|
|
<div class="item-top-tag"> |
|
|
|
<span v-if="item.isEntity === 1">实体</span> |
|
|
|
<span v-if="item.tid !== null">标签</span> |
|
|
|
<span v-if="item.caseNo !== null">装盒</span> |
|
|
|
<span v-if="item.folderLocation !== '' && item.folderLocation !== null">入库</span> |
|
|
|
<span v-if="item.isBorrow">借阅</span> |
|
|
|
<span v-if="item.processStatus > 1" style="color: #ff8329;border-color: #febd98;background-color: #fff3e5;">审批锁定</span> |
|
|
|
<span v-else style="color: #a6adb6;border: 1px solid #e6e8ed;background-color: #f3f5f9;">空闲</span> |
|
|
|
<span v-if="item.isEntity && item.isEntity === 1">实体</span> |
|
|
|
<span v-if="item.tid && item.tid !== null">标签</span> |
|
|
|
<span v-if="item.caseNo && item.caseNo !== null">装盒</span> |
|
|
|
<span v-if="item.folderLocation && item.folderLocation !== '' && item.folderLocation !== null">入库</span> |
|
|
|
<span v-if="item.isBorrow && item.isBorrow">借阅</span> |
|
|
|
<span v-if="item.read_type && item.read_type === '未传阅'" style="color: #a6adb6;border: 1px solid #e6e8ed;background-color: #f3f5f9;">{{ item.read_type }}</span> |
|
|
|
<span v-if="item.read_type && item.read_type === '传阅中'" style="color: #FF8329;border: 1px solid #FEBD98;background-color: #FFF3E5;">{{ item.read_type }}</span> |
|
|
|
<span v-if="item.read_type && item.read_type === '已完成'" style="color: #2ECAAC;border: 1px solid #B1EBDF;background-color: #E8F8F5;">{{ item.read_type }}</span> |
|
|
|
<!-- <span v-if="item.processStatus > 1" style="color: #ff8329;border-color: #febd98;background-color: #fff3e5;">审批锁定</span> |
|
|
|
<span v-else style="color: #a6adb6;border: 1px solid #e6e8ed;background-color: #f3f5f9;">空闲</span> --> |
|
|
|
</div> |
|
|
|
<div class="item-bottom-handle"> |
|
|
|
<span @click.stop="handleDetail(item)">查看详情</span> |
|
|
|
<i v-if="item.categoryLevel === 3" class="iconfont icon-liuchengfaqi" @click.stop="initiateLending(item)" /> |
|
|
|
<i v-if="item.categoryLevel === 3" class="iconfont icon-jiarujieyueche" @click.stop="addLending(item)" /> |
|
|
|
<!-- <i v-if="item.categoryLevel === 3" class="iconfont icon-liuchengfaqi" @click.stop="initiateLending(item)" /> |
|
|
|
<i v-if="item.categoryLevel === 3" class="iconfont icon-jiarujieyueche" @click.stop="addLending(item)" /> --> |
|
|
|
</div> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
@ -147,23 +112,26 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 档案详情 --> |
|
|
|
<ArchivesInfo ref="archivesInfo" :category-id="categoryId" :arc-id="arcId" :is-title-type="isTitleType" /> |
|
|
|
<LendForm ref="lendFormRef" /> |
|
|
|
<detail ref="archivesInfo" /> |
|
|
|
<!-- <LendForm ref="lendFormRef" /> --> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script > |
|
|
|
import { crud } from '@crud/crud' |
|
|
|
import { FetchInitSearchFonds, FetchInitSearchCategory, FetchInitSearchArchiveCtgNo, FetchResearch, FetchSeniorSearch } from '@/api/archiveUtilize/archiveUtilize' |
|
|
|
// import { crud } from '@crud/crud' |
|
|
|
// FetchResearch |
|
|
|
import { FetchDictionaryTree } from '@/api/system/dict' |
|
|
|
import { FetchInitSearchCategory } from '@/api/archiveUtilize/archiveUtilize' |
|
|
|
import { FetchDocumentArchivesSearch, FetchSeniorSearch } from '@/api/system/documentArchives' |
|
|
|
import { FetchAddBorrowCar } from '@/api/archiveUtilize/cart' |
|
|
|
import ArchivesInfo from '@/views/components/archivesDetail/detail' |
|
|
|
import LendForm from './utilizationProcess' |
|
|
|
import detail from '../../miodLibrary/module/detail' |
|
|
|
// import LendForm from './utilizationProcess' |
|
|
|
import store from '@/store' |
|
|
|
import { mapGetters } from 'vuex' |
|
|
|
export default { |
|
|
|
name: 'ResultList', |
|
|
|
components: { ArchivesInfo, LendForm }, |
|
|
|
mixins: [crud()], |
|
|
|
components: { detail }, |
|
|
|
// mixins: [crud()], |
|
|
|
props: { |
|
|
|
isCommon: { |
|
|
|
type: Boolean, |
|
|
@ -199,45 +167,6 @@ export default { |
|
|
|
], |
|
|
|
filterClassifyText: '', |
|
|
|
classifyOptions: [], |
|
|
|
// statusOptions: [ |
|
|
|
// { |
|
|
|
// label: '未装盒', |
|
|
|
// value: '未装盒' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '已装盒', |
|
|
|
// value: '已装盒' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '未入库', |
|
|
|
// value: '未入库' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '已入库', |
|
|
|
// value: '已入库' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '无实体', |
|
|
|
// value: '无实体' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '有实体', |
|
|
|
// value: '有实体' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '实体在库', |
|
|
|
// value: '实体在库' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '实体待借', |
|
|
|
// value: '实体待借' |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// label: '实体已借', |
|
|
|
// value: '实体已借' |
|
|
|
// } |
|
|
|
// ], |
|
|
|
// status: null, |
|
|
|
searchkeywords: '', |
|
|
|
keywords: '', |
|
|
|
categoryId: null, |
|
|
@ -270,18 +199,11 @@ export default { |
|
|
|
}, |
|
|
|
filterCategoryText(val) { |
|
|
|
this.$refs.treeCategory.filter(val) |
|
|
|
}, |
|
|
|
filterLevelText(val) { |
|
|
|
this.$refs.treeLevel.filter(val) |
|
|
|
}, |
|
|
|
filterClassifyText(val) { |
|
|
|
this.$refs.treeClassify.filter(val) |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
this.getFondsDatas() |
|
|
|
this.getCategoryDataTree() |
|
|
|
this.getArchiveCtgNo(null) |
|
|
|
// this.getDictsList() |
|
|
|
// this.getCategoryDataTree() |
|
|
|
if (localStorage.getItem('searchKeywords')) { |
|
|
|
this.searchkeywords = localStorage.getItem('searchKeywords') |
|
|
|
this.keywords = localStorage.getItem('searchKeywords') |
|
|
@ -298,7 +220,7 @@ export default { |
|
|
|
} else if (categoryLevel === 4) { |
|
|
|
return '电子原文' |
|
|
|
} |
|
|
|
return '' |
|
|
|
return '公文' |
|
|
|
}, |
|
|
|
highlightKeywords(text) { |
|
|
|
if (!text) { |
|
|
@ -319,6 +241,27 @@ export default { |
|
|
|
return highlightedText |
|
|
|
} |
|
|
|
}, |
|
|
|
// 格式化所属文件数据 |
|
|
|
formatFondsData(data) { |
|
|
|
return data.map((item, index) => { |
|
|
|
return { |
|
|
|
id: index + 1, |
|
|
|
dictionaryName: item, |
|
|
|
childDictionarys: [] |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 格式化年度数据 |
|
|
|
formatCategoryData(data) { |
|
|
|
return data.map((item, index) => { |
|
|
|
return { |
|
|
|
id: index + 1, |
|
|
|
cnName: item, |
|
|
|
children: [] |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
handledResultSearch(type) { |
|
|
|
if (this.searchkeywords) { |
|
|
|
if (type === 'search') { |
|
|
@ -331,17 +274,21 @@ export default { |
|
|
|
this.keywords = this.searchkeywords |
|
|
|
const params = { |
|
|
|
'keywords': this.searchkeywords, |
|
|
|
'archiveCtgNos': this.classifysKeys, // 档案分类 |
|
|
|
'categoryIds': this.categoryKeys, // 档案门类 |
|
|
|
'categoryLevel': this.levelsKeys, // 档案层级 |
|
|
|
'fondsNos': this.fondsKeys, // 全宗 |
|
|
|
// 'archiveCtgNos': this.classifysKeys, // 档案分类 |
|
|
|
// 'categoryIds': this.categoryKeys, // 档案门类 |
|
|
|
// 'categoryLevel': this.levelsKeys, // 档案层级 |
|
|
|
// 'fondsNos': this.fondsKeys, // 全宗 |
|
|
|
'archiveYear': this.categoryKeys, |
|
|
|
'docDepartment': this.fondsKeys, |
|
|
|
'searchFondsId': this.user.fonds.id, |
|
|
|
'page': this.page.page - 1, |
|
|
|
'size': this.page.size |
|
|
|
} |
|
|
|
FetchResearch(params).then((res) => { |
|
|
|
this.resultData = res.content |
|
|
|
this.page.total = res.totalElements |
|
|
|
FetchDocumentArchivesSearch(params).then((res) => { |
|
|
|
this.resultData = res.list.content |
|
|
|
this.page.total = res.list.totalElements |
|
|
|
this.fondsOptions = this.formatFondsData(res.docGroup) |
|
|
|
this.categoryOptions = this.formatCategoryData(res.yearGroup) |
|
|
|
setTimeout(() => { |
|
|
|
this.resultLoading = false |
|
|
|
}, 600) |
|
|
@ -358,24 +305,28 @@ export default { |
|
|
|
this.resultLoading = true |
|
|
|
const params = { |
|
|
|
'condition': this.condition, |
|
|
|
'archiveCtgNos': this.classifysKeys, // 档案分类 |
|
|
|
'categoryIds': this.categoryKeys, // 档案门类 |
|
|
|
'categoryLevel': this.levelsKeys, // 档案层级 |
|
|
|
'fondsNos': this.fondsKeys, // 全宗 |
|
|
|
// 'archiveCtgNos': this.classifysKeys, // 档案分类 |
|
|
|
// 'categoryIds': this.categoryKeys, // 档案门类 |
|
|
|
// 'categoryLevel': this.levelsKeys, // 档案层级 |
|
|
|
// 'fondsNos': this.fondsKeys, // 全宗 |
|
|
|
'page': this.page.page - 1, |
|
|
|
'size': this.page.size |
|
|
|
} |
|
|
|
FetchSeniorSearch(params).then(res => { |
|
|
|
this.resultData = res.content |
|
|
|
this.page.total = res.totalElements |
|
|
|
this.resultData = res.list.content |
|
|
|
this.page.total = res.list.totalElements |
|
|
|
setTimeout(() => { |
|
|
|
this.resultLoading = false |
|
|
|
}, 600) |
|
|
|
}) |
|
|
|
}, |
|
|
|
getFondsDatas() { |
|
|
|
FetchInitSearchFonds().then(res => { |
|
|
|
this.fondsOptions = res |
|
|
|
getDictsList() { |
|
|
|
FetchDictionaryTree().then((res) => { |
|
|
|
const filterCodes = ['doc_department'] |
|
|
|
const filteredItems = JSON.parse(JSON.stringify(res)).filter(item => filterCodes.includes(item.dictionaryCode)) |
|
|
|
this.fondsOptions = filteredItems[0].childDictionarys |
|
|
|
}).catch(err => { |
|
|
|
console.log(err) |
|
|
|
}) |
|
|
|
}, |
|
|
|
getCategoryDataTree() { |
|
|
@ -383,43 +334,23 @@ export default { |
|
|
|
this.categoryOptions = res |
|
|
|
}) |
|
|
|
}, |
|
|
|
getArchiveCtgNo(categoryIds) { |
|
|
|
this.classifyOptions = [] |
|
|
|
this.classifyLoading = true |
|
|
|
const params = { |
|
|
|
'categoryIds': categoryIds, |
|
|
|
'search': null |
|
|
|
} |
|
|
|
FetchInitSearchArchiveCtgNo(params).then(res => { |
|
|
|
this.classifyOptions = res |
|
|
|
this.classifyLoading = false |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleChange(val) { |
|
|
|
console.log(val) |
|
|
|
}, |
|
|
|
filterFondsNode(value, data) { |
|
|
|
if (!value) return true |
|
|
|
return data.fondsName.indexOf(value) !== -1 |
|
|
|
return data.dictionaryName.indexOf(value) !== -1 |
|
|
|
}, |
|
|
|
filterCategoryNode(value, data) { |
|
|
|
if (!value) return true |
|
|
|
return data.cnName.indexOf(value) !== -1 |
|
|
|
}, |
|
|
|
filterLevelNode(value, data) { |
|
|
|
if (!value) return true |
|
|
|
return data.label.indexOf(value) !== -1 |
|
|
|
}, |
|
|
|
filterClassifyNode(value, data) { |
|
|
|
if (!value) return true |
|
|
|
return data.name.indexOf(value) !== -1 |
|
|
|
}, |
|
|
|
getFondsCheckedKeys() { |
|
|
|
const checkedKeys = this.$refs.tree.getCheckedNodes() |
|
|
|
if (checkedKeys.length === 0) { |
|
|
|
this.fondsKeys = null |
|
|
|
} else { |
|
|
|
this.fondsKeys = checkedKeys.map(item => item.fondsId) |
|
|
|
this.fondsKeys = checkedKeys.map(item => item.dictionaryName) |
|
|
|
} |
|
|
|
if (this.isCommon) { |
|
|
|
this.handledResultSearch('search') |
|
|
@ -434,7 +365,6 @@ export default { |
|
|
|
} else { |
|
|
|
this.categoryKeys = checkedKeys.map(item => item.id) |
|
|
|
} |
|
|
|
this.getArchiveCtgNo(this.categoryKeys) |
|
|
|
if (this.isCommon) { |
|
|
|
this.handledResultSearch('search') |
|
|
|
} else { |
|
|
@ -454,52 +384,16 @@ export default { |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
getClassifyCheckedKeys() { |
|
|
|
const checkedKeys = this.$refs.treeClassify.getCheckedNodes() |
|
|
|
if (checkedKeys.length === 0) { |
|
|
|
this.classifysKeys = null |
|
|
|
} else { |
|
|
|
this.classifysKeys = checkedKeys.map(item => item.code) |
|
|
|
} |
|
|
|
if (this.isCommon) { |
|
|
|
this.handledResultSearch('search') |
|
|
|
} else { |
|
|
|
this.getSeniorSearch() |
|
|
|
} |
|
|
|
}, |
|
|
|
getLevelCheckedKeys() { |
|
|
|
const checkedKeys = this.$refs.treeLevel.getCheckedNodes() |
|
|
|
if (checkedKeys.length === 0) { |
|
|
|
this.levelsKeys = null |
|
|
|
} else { |
|
|
|
this.levelsKeys = checkedKeys.map(item => item.value) |
|
|
|
} |
|
|
|
if (this.isCommon) { |
|
|
|
this.handledResultSearch('search') |
|
|
|
} else { |
|
|
|
this.getSeniorSearch() |
|
|
|
} |
|
|
|
}, |
|
|
|
returnAdvanced() { |
|
|
|
this.$emit('close-result') |
|
|
|
}, |
|
|
|
handleDetail(row) { |
|
|
|
this.categoryId = row.categoryPid |
|
|
|
this.arcId = row.archivesId |
|
|
|
console.log('this.$refs.archivesInfo', this.$refs.archivesInfo) |
|
|
|
this.$nextTick(() => { |
|
|
|
console.log('this.$refs.archivesInfo', this.$refs.archivesInfo) |
|
|
|
this.$refs.archivesInfo.archivesInfoVisible = true |
|
|
|
this.$refs.archivesInfo.archivesTabIndex = 0 |
|
|
|
this.$refs.archivesInfo.isFourTest = true |
|
|
|
if (row.categoryLevel === 2) { |
|
|
|
this.$refs.archivesInfo.isHasFile = false |
|
|
|
this.$refs.archivesInfo.detailTitle = '案卷详情' |
|
|
|
this.$refs.archivesInfo.getDetial(2, row.archivesId) |
|
|
|
} else { |
|
|
|
this.$refs.archivesInfo.isHasFile = true |
|
|
|
this.$refs.archivesInfo.detailTitle = '文件详情' |
|
|
|
this.$refs.archivesInfo.getDetial(3, row.archivesId) |
|
|
|
} |
|
|
|
this.$refs.archivesInfo.parentInfo = row |
|
|
|
this.$refs.archivesInfo.getDetial(row, 'search') |
|
|
|
}) |
|
|
|
}, |
|
|
|
initiateLending(item) { |
|
|
|