Browse Source

档案管理-list排序项处理

master
xuhuajiao 3 years ago
parent
commit
14ff639507
  1. 3
      src/views/archivesManage/archivesList/archivesDetail.vue
  2. 16
      src/views/archivesManage/archivesList/index.vue
  3. 27
      src/views/archivesManage/archivesList/module/archivesAnjuan/index.vue
  4. 22
      src/views/archivesManage/archivesList/module/archivesJuannei/index.vue
  5. 10
      src/views/archivesManage/archivesList/module/archivesProject/index.vue
  6. 133
      src/views/archivesManage/archivesList/module/binding/index.vue

3
src/views/archivesManage/archivesList/archivesDetail.vue

@ -171,11 +171,10 @@ import PreviewForm from '@/views/components/category/PreviewForm'
import UploadFile from './module/uploadFile/index' import UploadFile from './module/uploadFile/index'
import ArchivesInfo from './module/archivesInfo/index' import ArchivesInfo from './module/archivesInfo/index'
import Packing from './module/packing/index' import Packing from './module/packing/index'
import Binding from './module/binding/index'
export default { export default {
name: 'ArchivesDetail', name: 'ArchivesDetail',
components: { crudOperation, rrOperation, pagination, PreviewForm, UploadFile, ArchivesInfo, Packing, Binding },
components: { crudOperation, rrOperation, pagination, PreviewForm, UploadFile, ArchivesInfo, Packing },
mixins: [ mixins: [
presenter(), presenter(),
header(), header(),

16
src/views/archivesManage/archivesList/index.vue

@ -393,7 +393,9 @@ export default {
this.$refs.anjuan.getTableDisplayFields() this.$refs.anjuan.getTableDisplayFields()
this.$refs.file.getTableDisplayFields() this.$refs.file.getTableDisplayFields()
} }
this.$refs.project.getTableList()
setTimeout(() => {
this.$refs.project.getTableList()
}, 200)
if (!this.treeCurrentNode) { if (!this.treeCurrentNode) {
this.getYear('project') this.getYear('project')
} }
@ -406,7 +408,9 @@ export default {
if (this.selectedCategory.children.length !== 0) { if (this.selectedCategory.children.length !== 0) {
this.$refs.file.getTableDisplayFields() this.$refs.file.getTableDisplayFields()
} }
this.$refs.anjuan.getTableList()
setTimeout(() => {
this.$refs.anjuan.getTableList()
}, 200)
if (!this.treeCurrentNode) { if (!this.treeCurrentNode) {
this.getYear('anjuan') this.getYear('anjuan')
} }
@ -415,7 +419,9 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.file.junneiData = [] this.$refs.file.junneiData = []
this.$refs.file.getTableDisplayFields() this.$refs.file.getTableDisplayFields()
this.$refs.file.getTableList()
setTimeout(() => {
this.$refs.file.getTableList()
}, 200)
if (!this.treeCurrentNode) { if (!this.treeCurrentNode) {
this.getYear('file') this.getYear('file')
} }
@ -424,7 +430,9 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.anjuan.anjuanData = [] this.$refs.anjuan.anjuanData = []
this.$refs.anjuan.getTableDisplayFields() this.$refs.anjuan.getTableDisplayFields()
this.$refs.anjuan.getTableList()
setTimeout(() => {
this.$refs.anjuan.getTableList()
}, 200)
if (!this.treeCurrentNode) { if (!this.treeCurrentNode) {
this.getYear('anjuan') this.getYear('anjuan')
} }

27
src/views/archivesManage/archivesList/module/archivesAnjuan/index.vue

@ -28,7 +28,7 @@
<i slot="prefix" class="iconfont icon-zhuangtai-fanbai" /> <i slot="prefix" class="iconfont icon-zhuangtai-fanbai" />
<el-option v-for="item in stateOptions" :key="item.key" :label="item.label" :value="item.key" /> <el-option v-for="item in stateOptions" :key="item.key" :label="item.label" :value="item.key" />
</el-select> </el-select>
<el-input v-model="anjuanQuery[anjuanInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()">
<el-input v-model="anjuanQuery[anjuanInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()" @keyup.enter.native="getTableList">
<el-select slot="prepend" v-model="anjuanInputSelect" style="width: 80px" @change="querySelect"> <el-select slot="prepend" v-model="anjuanInputSelect" style="width: 80px" @change="querySelect">
<el-option <el-option
v-for="item in queryOption" v-for="item in queryOption"
@ -283,7 +283,8 @@ export default {
'queryTitle': null, 'queryTitle': null,
'recordNo': null, 'recordNo': null,
'archiveCtgNo': null, 'archiveCtgNo': null,
'archiveNo': null
'archiveNo': null,
'responsibleby': null
}, },
stateOptions: [ // - stateOptions: [ // -
{ key: '1', label: '全部' }, { key: '1', label: '全部' },
@ -343,6 +344,11 @@ export default {
created() { created() {
// select - // select -
this.anjuanInputSelect = this.queryOption[0].value this.anjuanInputSelect = this.queryOption[0].value
if (this.selectedCategory === 5) {
this.queryOption.push({ value: 'responsibleby', label: '责任者' })
} else {
this.queryOption.push({ value: 'archiveCtgNo', label: '实体分类号' })
}
}, },
mounted() { mounted() {
}, },
@ -378,12 +384,12 @@ export default {
} }
FetchTableDisplayFields({ categoryId: this.categoryId }).then(data => { FetchTableDisplayFields({ categoryId: this.categoryId }).then(data => {
if (data) { if (data) {
this.arrySort = []
this.tableDisplayFields = data this.tableDisplayFields = data
this.getTableDisplayFieldsLoading = false this.getTableDisplayFieldsLoading = false
this.tableDisplayFields.map(item => {
if (item.queue) {
this.arrySort.push(item.fieldName + ', ' + (item.displayOrder === 1 ? 'asc' : 'desc'))
}
const orderSortArry = this.tableDisplayFields.filter(item => item.queue).sort((a, b) => a.queue - b.queue)
orderSortArry.forEach(item => {
this.arrySort.push(item.fieldName + ',' + item.displayOrderBy)
}) })
} }
}) })
@ -394,9 +400,17 @@ export default {
switch (this.anjuanInputSelect) { switch (this.anjuanInputSelect) {
case 'queryTitle': // case 'queryTitle': //
this.query.queryTitle = this.anjuanQuery[this.anjuanInputSelect] this.query.queryTitle = this.anjuanQuery[this.anjuanInputSelect]
this.query.archiveNo = ''
break break
case 'archiveNo': // case 'archiveNo': //
this.query.archiveNo = this.anjuanQuery[this.anjuanInputSelect] this.query.archiveNo = this.anjuanQuery[this.anjuanInputSelect]
this.query.queryTitle = ''
break
case 'archiveCtgNo': //
this.query.archiveCtgNo = this.juanneiQuery[this.juanneiInputSelect]
break
case 'responsibleby': //
this.query.responsibleby = this.juanneiQuery[this.juanneiInputSelect]
break break
} }
this.page.page = isNaN(page - 1) ? 0 : page - 1 this.page.page = isNaN(page - 1) ? 0 : page - 1
@ -418,6 +432,7 @@ export default {
'queryTitle': this.query.queryTitle, 'queryTitle': this.query.queryTitle,
'recordNo': this.query.recordNo, 'recordNo': this.query.recordNo,
'archiveCtgNo': this.query.archiveCtgNo, 'archiveCtgNo': this.query.archiveCtgNo,
'responsibleby': this.query.responsibleby,
'archiveNo': this.query.archiveNo, 'archiveNo': this.query.archiveNo,
'archiveYear': this.smartQuery.archiveYear, 'archiveYear': this.smartQuery.archiveYear,
'department': this.smartQuery.department, 'department': this.smartQuery.department,

22
src/views/archivesManage/archivesList/module/archivesJuannei/index.vue

@ -22,7 +22,7 @@
</div> </div>
<div class="head-search"> <div class="head-search">
<!-- @keyup.enter.native="crud.toQuery" --> <!-- @keyup.enter.native="crud.toQuery" -->
<el-input v-model="juanneiQuery[juanneiInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()">
<el-input v-model="juanneiQuery[juanneiInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()" @keyup.enter.native="getTableList">
<el-select slot="prepend" v-model="juanneiInputSelect" style="width: 80px" @change="querySelect"> <el-select slot="prepend" v-model="juanneiInputSelect" style="width: 80px" @change="querySelect">
<el-option <el-option
v-for="item in queryOption" v-for="item in queryOption"
@ -226,7 +226,8 @@ export default {
'queryTitle': null, 'queryTitle': null,
'recordNo': null, 'recordNo': null,
'archiveCtgNo': null, 'archiveCtgNo': null,
'archiveNo': null
'archiveNo': null,
'responsibleby': null
}, },
stateOptions: [ // - stateOptions: [ // -
{ key: '1', label: '全部' }, { key: '1', label: '全部' },
@ -239,7 +240,7 @@ export default {
queryOption: [ queryOption: [
{ value: 'queryTitle', label: '题名' }, { value: 'queryTitle', label: '题名' },
{ value: 'archiveNo', label: '档号' }, { value: 'archiveNo', label: '档号' },
{ value: 'archiveCtgNo', label: '实体分类号' }
{ value: 'responsibleby', label: '责任者' }
], ],
juanneiInputSelect: '', juanneiInputSelect: '',
deleteVisible: false, // dialog deleteVisible: false, // dialog
@ -325,12 +326,12 @@ export default {
} }
FetchTableDisplayFields({ categoryId: this.categoryId }).then(data => { FetchTableDisplayFields({ categoryId: this.categoryId }).then(data => {
if (data) { if (data) {
this.arrySort = []
this.tableDisplayFields = data this.tableDisplayFields = data
this.getTableDisplayFieldsLoading = false this.getTableDisplayFieldsLoading = false
this.tableDisplayFields.map(item => {
if (item.queue) {
this.arrySort.push(item.fieldName + ', ' + (item.displayOrder === 1 ? 'asc' : 'desc'))
}
const orderSortArry = this.tableDisplayFields.filter(item => item.queue).sort((a, b) => a.queue - b.queue)
orderSortArry.forEach(item => {
this.arrySort.push(item.fieldName + ',' + item.displayOrderBy)
}) })
} }
}) })
@ -345,8 +346,8 @@ export default {
case 'archiveNo': // case 'archiveNo': //
this.query.archiveNo = this.juanneiQuery[this.juanneiInputSelect] this.query.archiveNo = this.juanneiQuery[this.juanneiInputSelect]
break break
case 'archiveCtgNo': //
this.query.archiveCtgNo = this.juanneiQuery[this.juanneiInputSelect]
case 'responsibleby': //
this.query.responsibleby = this.juanneiQuery[this.juanneiInputSelect]
break break
} }
this.page.page = isNaN(page - 1) ? 0 : page - 1 this.page.page = isNaN(page - 1) ? 0 : page - 1
@ -368,6 +369,7 @@ export default {
'queryTitle': this.query.queryTitle, 'queryTitle': this.query.queryTitle,
'recordNo': this.query.recordNo, 'recordNo': this.query.recordNo,
'archiveCtgNo': this.query.archiveCtgNo, 'archiveCtgNo': this.query.archiveCtgNo,
'responsibleby': this.query.responsibleby,
'archiveNo': this.query.archiveNo, 'archiveNo': this.query.archiveNo,
'archiveYear': this.smartQuery.archiveYear, 'archiveYear': this.smartQuery.archiveYear,
'department': this.smartQuery.department, 'department': this.smartQuery.department,
@ -444,9 +446,9 @@ export default {
}, },
// table - row // table - row
clickRowHandler(row) { clickRowHandler(row) {
this.selections = this.crud.selections
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row) this.$refs.table.toggleRowSelection(row)
this.selections = this.crud.selections
}, },
// //
handleCurrentChange(selection, row) { handleCurrentChange(selection, row) {

10
src/views/archivesManage/archivesList/module/archivesProject/index.vue

@ -18,7 +18,7 @@
</div> </div>
<div class="head-search"> <div class="head-search">
<!-- @keyup.enter.native="crud.toQuery" --> <!-- @keyup.enter.native="crud.toQuery" -->
<el-input v-model="projectQuery[projectInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()">
<el-input v-model="projectQuery[projectInputSelect]" clearable size="small" placeholder="请输入关键词" style="width: 200px;" class="input-prepend filter-item" @clear="getTableList()" @keyup.enter.native="getTableList">
<el-select slot="prepend" v-model="projectInputSelect" style="width: 80px" @change="querySelect"> <el-select slot="prepend" v-model="projectInputSelect" style="width: 80px" @change="querySelect">
<el-option <el-option
v-for="item in queryOption" v-for="item in queryOption"
@ -242,12 +242,12 @@ export default {
this.selections = [] this.selections = []
FetchTableDisplayFields({ categoryId: this.selectedCategory.id }).then(data => { FetchTableDisplayFields({ categoryId: this.selectedCategory.id }).then(data => {
if (data) { if (data) {
this.arrySort = []
this.tableDisplayFields = data this.tableDisplayFields = data
this.getTableDisplayFieldsLoading = false this.getTableDisplayFieldsLoading = false
this.tableDisplayFields.map(item => {
if (item.queue) {
this.arrySort.push(item.fieldName + ', ' + (item.displayOrder === 1 ? 'asc' : 'desc'))
}
const orderSortArry = this.tableDisplayFields.filter(item => item.queue).sort((a, b) => a.queue - b.queue)
orderSortArry.forEach(item => {
this.arrySort.push(item.fieldName + ',' + item.displayOrderBy)
}) })
} }
}) })

133
src/views/archivesManage/archivesList/module/binding/index.vue

@ -1,133 +0,0 @@
<template>
<div>
<el-dialog class="bindingDialog" :title="bindingTitle" :visible.sync="bindingVisible" :close-on-click-modal="false" :before-close="handleClose">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<div class="binding-wrap">
<div v-if="isBinding" class="rebinding">
<span>TID</span>
<el-input v-model="tidCode" placeholder="请输入内容" />
</div>
<div v-else class="binding-flow">
<div class="step-item">
<!-- step-active 完成 step-loading 进行种 -->
<span class="step-left-num step-active">1</span>
<div class="step-right-cont">
<p class="step-title">第一步<span>连接读写器</span></p>
<p class="step-tip tip-active">连接成功</p>
<!-- err: 连接失败请检查网络 -->
<!-- err: 当前电脑未绑定读写器请到档案设备里进行绑定 -->
</div>
</div>
<div class="step-item">
<span class="step-left-num step-active step-loading">2</span>
<div class="pulse1" />
<div class="pulse2" />
<div class="pulse3" />
<div class="step-right-cont">
<p class="step-title">第二步<span>放入标签</span></p>
<p class="step-tip tip-error">请放入标签</p>
<!-- tip: 已放入标签 -->
<!-- err: 未读取到标签请重新放入 -->
</div>
</div>
<div class="step-item">
<span class="step-left-num">3</span>
<div class="step-right-cont">
<p class="step-title">第三步<span>读取标签</span></p>
<p class="step-tip">放入标签后开始读取标签</p>
<!-- tip: 读取成功 -->
<!-- err: 当前标签存在多个请取出多余的标签只保留一张 -->
</div>
</div>
<div class="step-item">
<span class="step-left-num">4</span>
<div class="step-right-cont">
<p class="step-title">第四步<span>开始绑定</span></p>
<p class="step-tip">标签读取成功后开始绑定档案</p>
<!-- tip: 绑定中 -->
<!-- err: 当前标签已被绑定是否覆盖 -->
<!-- 3s后 弹出覆盖绑定dialog -->
<!-- tip: 已覆盖 -->
<!-- err: 绑定失败请拿走当前标签 -->
</div>
</div>
<div class="step-item">
<span class="step-left-num">5</span>
<div class="step-right-cont">
<p class="step-title">第五步<span>绑定成功</span></p>
<p class="step-tip">当前标签与档案绑定成功</p>
<!-- tip: 绑定成功 -->
</div>
</div>
</div>
<div v-if="isBinding" slot="footer" class="dialog-footer">
<el-button type="primary" @click="isBinding=false">下一步</el-button>
</div>
</div>
</div>
</el-dialog>
<!-- 是否覆盖 -->
<el-dialog title="覆盖绑定" :append-to-body="true" :visible.sync="coverBindingVisible" :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">确定覆盖</el-button>
<el-button type="text" @click="coverBindingVisible=false">取消</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'Binging',
components: {},
mixins: [],
props: {
isBinding: {
type: Boolean,
default: false
}
},
data() {
return {
bindingVisible: false, //
bindingTitle: '绑定标签',
tidCode: null,
coverBindingVisible: false
}
},
mounted() {
// test
// setTimeout(() => {
// this.coverBindingVisible = true
// }, 4000)
},
methods: {
//
// [CRUD.HOOK.beforeRefresh]() {
// if (this.$refs.dictDetail) {
// this.$refs.dictDetail.query.id = ''
// }
// return true
// },
//
handleClose(done) {
this.coverBindingVisible = false
done()
}
}
}
</script>
<style lang="scss" scoped>
@import "~@/assets/styles/archives-manage.scss";
</style>
Loading…
Cancel
Save