xuhuajiao
3 years ago
8 changed files with 13 additions and 453 deletions
-
11src/views/archivesManage/archivesList/archivesDetail.vue
-
4src/views/archivesManage/archivesList/index.vue
-
31src/views/archivesManage/archivesList/module/archivesAnjuan/index.vue
-
27src/views/archivesManage/archivesList/module/data.json
-
2src/views/archivesManage/archivesList/module/packing/index.vue
-
160src/views/archivesManage/archivesList/module/partPacking/index.vue
-
230src/views/archivesManage/archivesList/module/table/index.vue
-
1src/views/components/category/PreviewForm.vue
@ -1,27 +0,0 @@ |
|||||
{ |
|
||||
"code": 200, |
|
||||
"message": "操作成功", |
|
||||
"data": [{ |
|
||||
"fileName": "附件标题", |
|
||||
"fileFormat":"xls", |
|
||||
"fileSize":"76kb", |
|
||||
"fileDpi":"1920*1080", |
|
||||
"fileCover":"https://qiniu.aiyxlib.com/yuekan-5-h5bg.jpg", |
|
||||
"create_date":"2022-5-27 08:00" |
|
||||
},{ |
|
||||
"fileName": "附件标题2", |
|
||||
"fileFormat":"xls", |
|
||||
"fileSize":"76kb", |
|
||||
"fileDpi":"1920*1080", |
|
||||
"fileCover":"", |
|
||||
"create_date":"2022-5-27 08:00" |
|
||||
},{ |
|
||||
"fileName": "附件标题3", |
|
||||
"fileFormat":"xls", |
|
||||
"fileSize":"76kb", |
|
||||
"fileDpi":"1920*1080", |
|
||||
"fileCover":"", |
|
||||
"create_date":"2022-5-27 08:00" |
|
||||
} |
|
||||
] |
|
||||
} |
|
@ -1,160 +0,0 @@ |
|||||
<template> |
|
||||
<el-dialog class="partPackingDialog" title="分卷装盒" :close-on-click-modal="false" :visible.sync="partPackingVisible" :before-close="handleClose"> |
|
||||
<span class="dialog-right-top" /> |
|
||||
<span class="dialog-left-bottom" /> |
|
||||
<div class="setting-dialog"> |
|
||||
<div class="part-packing-wrap" style="height: calc(100vh - 230px);"> |
|
||||
<div class="head-container packing-head"> |
|
||||
<div class="head-search"> |
|
||||
<!-- 搜索 --> |
|
||||
<el-input v-model="query[inputSelect]" clearable size="small" placeholder="请输入" style="width: 245px;" class="input-prepend filter-item" @keyup.enter.native="crud.toQuery"> |
|
||||
<el-select slot="prepend" v-model="inputSelect" style="width: 90px" @change="querySelect"> |
|
||||
<el-option |
|
||||
v-for="item in queryOption" |
|
||||
:key="item.value" |
|
||||
:label="item.label" |
|
||||
:value="item.value" |
|
||||
/> |
|
||||
</el-select> |
|
||||
</el-input> |
|
||||
<rrOperation /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="part-packing-cont"> |
|
||||
<div class="part-packing-item"> |
|
||||
<h5 class="part-packing-title">盒列表-待选</h5> |
|
||||
<el-table |
|
||||
ref="tableBoxWaiting" |
|
||||
:data="tableData" |
|
||||
style="width: 100%" |
|
||||
height="calc(100vh/2 - 200px)" |
|
||||
> |
|
||||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|
||||
<el-table-column prop="fileName" label="已装" width="60" align="center" /> |
|
||||
<el-table-column prop="fileFormat" label="盒名称" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileSize" label="TID" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileDpi" label="条形码" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="create_date" label="操作" align="center"> |
|
||||
<template> |
|
||||
<el-button class="packing-handle-btn iconfont"><svg-icon icon-class="zhuanghe" class="svg-arc-style" />装盒</el-button> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</div> |
|
||||
<div class="part-packing-item"> |
|
||||
<h5 class="part-packing-title">盒列表-已选</h5> |
|
||||
<el-table |
|
||||
ref="tableBoxSelected" |
|
||||
:data="tableData" |
|
||||
style="width: 100%" |
|
||||
height="calc(100vh/2 - 200px)" |
|
||||
> |
|
||||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|
||||
<el-table-column prop="fileName" label="已装" width="60" align="center" /> |
|
||||
<el-table-column prop="fileFormat" label="盒名称" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileSize" label="TID" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileDpi" label="条形码" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="create_date" label="操作" align="center"> |
|
||||
<template> |
|
||||
<el-button class="packing-recall-btn iconfont"><svg-icon icon-class="chehui" class="svg-arc-style" />撤销</el-button> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</div> |
|
||||
<div class="part-packing-item"> |
|
||||
<h5 class="part-packing-title">档案列表-待选</h5> |
|
||||
<el-table |
|
||||
ref="arcListWaiting" |
|
||||
:data="tableData" |
|
||||
style="width: 100%" |
|
||||
height="calc(100vh/2 - 200px)" |
|
||||
@row-click="clickRowHandler" |
|
||||
@selection-change="selectionChangeHandler" |
|
||||
> |
|
||||
<el-table-column type="selection" width="55" align="center" /> |
|
||||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|
||||
<el-table-column prop="fileName" label="全宗号" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileFormat" label="档号" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileSize" label="归档年度" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileDpi" label="保密程度" show-overflow-tooltip align="center" /> |
|
||||
</el-table> |
|
||||
</div> |
|
||||
<div class="part-packing-item"> |
|
||||
<h5 class="part-packing-title">档案列表-已选</h5> |
|
||||
<el-table |
|
||||
ref="arcListSelected" |
|
||||
:data="tableData" |
|
||||
style="width: 100%" |
|
||||
height="calc(100vh/2 - 200px)" |
|
||||
> |
|
||||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|
||||
<el-table-column prop="fileName" label="全宗号" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileFormat" label="档号" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileSize" label="归档年度" show-overflow-tooltip align="center" /> |
|
||||
<el-table-column prop="fileDpi" label="保密程度" show-overflow-tooltip align="center" /> |
|
||||
</el-table> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<el-button type="primary" @click="partPackingVisible=false">保存</el-button> |
|
||||
</div> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { header, form } from '@crud/crud' |
|
||||
import rrOperation from '@crud/RR.operation' |
|
||||
import data from '../data.json' |
|
||||
export default { |
|
||||
name: 'PartPacking', |
|
||||
components: { rrOperation }, |
|
||||
mixins: [ |
|
||||
header(), |
|
||||
form({}) |
|
||||
], |
|
||||
data() { |
|
||||
return { |
|
||||
partPackingVisible: false, |
|
||||
tableData: [], |
|
||||
selections: null, |
|
||||
inputSelect: null, |
|
||||
queryOption: [ |
|
||||
{ value: '1', label: '盒名称' }, |
|
||||
{ value: '2', label: 'TID' }, |
|
||||
{ value: '3', label: '条形码' } |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.tableData = data.data |
|
||||
// 初始化带select的输入框的 - 搜索 |
|
||||
this.inputSelect = this.queryOption[0].value |
|
||||
}, |
|
||||
methods: { |
|
||||
// 搜索-select |
|
||||
querySelect(val) { |
|
||||
this.inputSelect = val |
|
||||
}, |
|
||||
// table |
|
||||
clickRowHandler(row) { |
|
||||
this.$refs.arcListWaiting.toggleRowSelection(row) |
|
||||
}, |
|
||||
// table |
|
||||
selectionChangeHandler(val) { |
|
||||
this.selections = val |
|
||||
console.log(this.selections) |
|
||||
}, |
|
||||
// 关闭 |
|
||||
handleClose(done) { |
|
||||
this.coverBindingVisible = false |
|
||||
done() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
@import "~@/assets/styles/archives-manage.scss"; |
|
||||
</style> |
|
@ -1,230 +0,0 @@ |
|||||
<template> |
|
||||
<div> |
|
||||
<!-- table表格渲染 --> |
|
||||
<el-card class="box-card" shadow="never"> |
|
||||
<span class="right-top-line" /> |
|
||||
<span class="left-bottom-line" /> |
|
||||
<el-table |
|
||||
ref="table" |
|
||||
v-loading="crud.loading || getTableDisplayFieldsLoading" |
|
||||
class="archives-table" |
|
||||
:data="anjuanData" |
|
||||
highlight-current-row |
|
||||
style="width: 100%; " |
|
||||
height="calc(100vh - 350px)" |
|
||||
@selection-change="crud.selectionChangeHandler" |
|
||||
@row-click="clickRowHandler" |
|
||||
@cell-dblclick="tableDoubleClick" |
|
||||
> |
|
||||
<el-table-column type="selection" width="55" align="center" /> |
|
||||
<el-table-column type="index" label="序号" width="55" align="center" /> |
|
||||
<el-table-column v-for="field in tableDisplayFields" :key="field.id" :label="field.fieldCnName" :align="field.displayformatType" :width="field.displayLength" show-overflow-tooltip> |
|
||||
<template slot-scope="scope"> |
|
||||
{{ scope.row[field.fieldName] }} |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="装盒" width="100" align="center" :fixed="fixedStatusBar?false:'right'"> |
|
||||
<!-- state-active 已装/已入/已借/已绑 --> |
|
||||
<template slot-scope="scope"> |
|
||||
<!-- 未装 / 已装 --> |
|
||||
<span class="row-state row-packing state-active">{{ scope.row.case_no ? '已装': '未装' }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="入库" width="100" align="center" :fixed="fixedStatusBar?false:'right'"> |
|
||||
<template slot-scope=""> |
|
||||
<!-- 未入 / 已入 --> |
|
||||
<span class="row-state row-warehousing">未入</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="借阅" width="100" align="center" :fixed="fixedStatusBar?false:'right'"> |
|
||||
<template slot-scope=""> |
|
||||
<!-- 待借 / 不可借-用“—” 表示 / 已借 --> |
|
||||
<span class="row-state row-lending">—</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="标签" width="100" align="center" :fixed="fixedStatusBar?false:'right'"> |
|
||||
<template slot-scope="scope"> |
|
||||
<!-- 未绑 / 已绑 --> |
|
||||
<span class="row-state row-binding">{{ scope.row.tid ? '已绑': '未绑' }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<!--分页组件--> |
|
||||
<pagination /> |
|
||||
</el-card> |
|
||||
|
|
||||
<!-- 档案详情 --> |
|
||||
<ArchivesInfo ref="archivesInfo" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { FetchInitArchivesView, FetchTableDisplayFields } from '@/api/archivesManage/archivesList' |
|
||||
import { header, form } from '@crud/crud' |
|
||||
// import { initData } from '@/api/data' |
|
||||
// import crudOperation from '@crud/CRUD.operation' |
|
||||
// import rrOperation from '@crud/RR.operation' |
|
||||
import pagination from '@crud/Pagination' |
|
||||
import ArchivesInfo from '../archivesInfo/index' |
|
||||
|
|
||||
export default { |
|
||||
name: 'TableAnjuan', |
|
||||
components: { pagination, ArchivesInfo }, |
|
||||
mixins: [ |
|
||||
header(), |
|
||||
form({}) |
|
||||
], |
|
||||
props: { |
|
||||
selectedCategory: { |
|
||||
type: Object, |
|
||||
default: function() { |
|
||||
return {} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
anjuanData: [], |
|
||||
formVisible: false, |
|
||||
formTitle: '新建档案', |
|
||||
isAddOrEditBtn: null, |
|
||||
tableDisplayFields: [], // table-list-title字段 |
|
||||
getTableDisplayFieldsLoading: false, // table-loading |
|
||||
formPreviewData: [], // 预览界面data |
|
||||
stateOptions: [ // 搜索 - 状态选择 |
|
||||
{ key: '1', label: '全部' }, |
|
||||
{ key: '2', label: '未装' }, |
|
||||
{ key: '3', label: '未入' }, |
|
||||
{ key: '4', label: '在库' }, |
|
||||
{ key: '5', label: '待借' }, |
|
||||
{ key: '6', label: '已借' } |
|
||||
], |
|
||||
queryOption: [ |
|
||||
{ value: 'maintitle', label: '题名' }, |
|
||||
{ value: 'archive_no', label: '档号' }, |
|
||||
{ value: 'archive_year', label: '年度' } |
|
||||
], |
|
||||
inputSelect: '', |
|
||||
permission: { |
|
||||
add: ['admin', 'archivesList:add'], |
|
||||
edit: ['admin', 'archivesList:edit'], |
|
||||
del: ['admin', 'archivesList:del'], |
|
||||
download: ['admin', 'archivesList:download'] |
|
||||
}, |
|
||||
fixedStatusBar: false, // table-右侧fixed |
|
||||
deleteVisible: false, // 删除dialog |
|
||||
deleteData: {}, // 删除选中data |
|
||||
selections: [], // table已选择的 |
|
||||
archivesTabIndex: 0, // 新增 |
|
||||
arcId: null, // 档案ID |
|
||||
arrySort: [], // 多项sort-query |
|
||||
uploadFileVisible: false, // 上传附件 |
|
||||
archivesInfoVisible: false, // 档案详情 |
|
||||
lengingVisible: false, // 借阅 |
|
||||
isBinding: false, // 判断是否已绑定标签 |
|
||||
parentsId: null |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
selectedCategory: function(newValue, oldValue) { |
|
||||
// 案卷 卷内 文件 |
|
||||
if (newValue.isType === 3 || newValue.isType === 4 || newValue.isType === 5) { |
|
||||
// this.crud.query.categoryId = newValue.id |
|
||||
} |
|
||||
}, |
|
||||
tableDisplayFields(val) { |
|
||||
this.doLayout() |
|
||||
} |
|
||||
}, |
|
||||
mounted() { |
|
||||
this.getTableDisplayFields() |
|
||||
}, |
|
||||
methods: { |
|
||||
// 档案列表获取显示列 |
|
||||
getTableDisplayFields() { |
|
||||
FetchTableDisplayFields({ categoryId: this.selectedCategory.id }).then(data => { |
|
||||
this.tableDisplayFields = data |
|
||||
this.getTableDisplayFieldsLoading = false |
|
||||
this.tableDisplayFields.map(item => { |
|
||||
if (item.queue) { |
|
||||
this.arrySort.push(item.fieldName + ', ' + (item.displayOrder === 1 ? 'asc' : 'desc')) |
|
||||
} |
|
||||
}) |
|
||||
this.getTableList() |
|
||||
}) |
|
||||
}, |
|
||||
// list |
|
||||
getTableList() { |
|
||||
if (this.selectedCategory.pid !== '0') { |
|
||||
this.parentsId = this.selectedCategory.pid |
|
||||
} else { |
|
||||
this.parentsId = null |
|
||||
} |
|
||||
const params = { |
|
||||
'categoryId': this.selectedCategory.id, |
|
||||
'parentsId': this.parentsId, |
|
||||
'isdel': false, |
|
||||
'page': 0, |
|
||||
'size': 10, |
|
||||
'sort': this.arrySort |
|
||||
} |
|
||||
FetchInitArchivesView(params).then(data => { |
|
||||
if (data) { |
|
||||
this.anjuanData = data.content |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// table - 双击查看详情 |
|
||||
tableDoubleClick(row) { |
|
||||
this.$refs.archivesInfo.archivesInfoVisible = true |
|
||||
const params = { |
|
||||
categoryId: this.selectedCategory.id, |
|
||||
archivesId: row.id |
|
||||
} |
|
||||
this.getFormInfo(params) |
|
||||
}, |
|
||||
// table - 当前选中得row |
|
||||
clickRowHandler(row) { |
|
||||
this.$refs.table.toggleRowSelection(row) |
|
||||
this.selections = this.crud.selections |
|
||||
console.log(this.crud.selections.id) |
|
||||
}, |
|
||||
// 选择删除 |
|
||||
toDelete(data) { |
|
||||
this.deleteData = data |
|
||||
this.deleteVisible = true |
|
||||
}, |
|
||||
/* 重新渲染table组件 防止table-fixed 错位 配合watch-table数据 */ |
|
||||
doLayout() { |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs.table.doLayout() |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/scss" lang="scss" scoped> |
|
||||
@import "~@/assets/styles/archives-manage.scss"; |
|
||||
.preview-dialog { |
|
||||
::v-deep .el-dialog { |
|
||||
.el-dialog__body{ |
|
||||
padding: 0; |
|
||||
} |
|
||||
.preview-content { |
|
||||
width: auto !important; |
|
||||
margin-right: 6px; |
|
||||
overflow: hidden; |
|
||||
overflow-y: auto; |
|
||||
.el-textarea__inner { |
|
||||
border: 1px solid #339cff; |
|
||||
background-color: transparent; |
|
||||
} |
|
||||
} |
|
||||
.dialog-footer{ |
|
||||
margin: 0 auto; |
|
||||
padding: 15px 0 20px 0; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue