x_ying
3 years ago
17 changed files with 640 additions and 101 deletions
-
3src/assets/styles/lend-manage.scss
-
30src/views/archivesManage/archivesCheck/index.vue
-
5src/views/archivesManage/lendManage/lendConfirm/index.vue
-
17src/views/archivesManage/lendManage/lendConfirm/module/archiveDetail.vue
-
4src/views/archivesManage/lendManage/lendConfirm/module/lendDialog.vue
-
34src/views/archivesManage/lendManage/lendQuery/index.vue
-
6src/views/archivesManage/lendManage/returnArchives/index.vue
-
4src/views/archivesManage/lendManage/returnArchives/module/returnDialog.vue
-
36src/views/archivesManage/lendManage/toLend/index.vue
-
110src/views/archivesManage/outInStorage/data1.json
-
145src/views/archivesManage/outInStorage/inStorage/index.vue
-
95src/views/archivesManage/outInStorage/inStorage/module/fieldDetail.vue
-
152src/views/archivesManage/outInStorage/inStorage/module/inDialog.vue
-
66src/views/archivesManage/outInStorage/index.vue
-
15src/views/archivesManage/outInStorage/outInHistory/index.vue
-
15src/views/archivesManage/outInStorage/outStorage/index.vue
-
4src/views/archivesManage/recycleBin/index.vue
@ -0,0 +1,110 @@ |
|||
{ |
|||
"total":8, |
|||
"rows":[ |
|||
{ |
|||
"id":"29f16d62bc7242d5ba8dc84de5451f93", |
|||
"checkNum":"PD-202205250840", |
|||
"inState":"未入", |
|||
"havePutIn":"0", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:40", |
|||
"checkResult":"在库" |
|||
}, |
|||
{ |
|||
"id":"3d6d548d30db426ea3d95d63f589b294", |
|||
"checkNum":"PD-202205250840", |
|||
"containPath":"未入", |
|||
"havePutIn":"0", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:41", |
|||
"checkResult":"在库" |
|||
}, |
|||
{ |
|||
"id":"45ff597e7cc64d11803ac422816b1e23", |
|||
"checkNum":"PD-202205250840", |
|||
"inState":"待入", |
|||
"havePutIn":"2", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:42", |
|||
"checkResult":"已借" |
|||
}, |
|||
{ |
|||
"id":"49106aa0d1534a7a900843d0c4531840", |
|||
"checkNum":"PD-202205250840", |
|||
"inState":"待入", |
|||
"havePutIn":"2", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:50", |
|||
"checkResult":"错位" |
|||
}, |
|||
{ |
|||
"id":"6e604355ff1e47e8b48117dca36420c7", |
|||
"checkNum":"PD-202205250841", |
|||
"inState":"未入", |
|||
"havePutIn":"2", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:40", |
|||
"checkResult":"错位" |
|||
}, |
|||
{ |
|||
"id":"6f4a6631d9d3424b960793704f3757b3", |
|||
"checkNum":"PD-202205250841", |
|||
"inState":"待入", |
|||
"havePutIn":"2", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:40", |
|||
"checkResult":"错位" |
|||
|
|||
}, |
|||
{ |
|||
"id":"76e29d5c0a0541bfb1ee9da432183b15", |
|||
"checkNum":"PD-202205250842", |
|||
"inState":"待入", |
|||
"havePutIn":"0", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:40" |
|||
}, |
|||
{ |
|||
"id":"a0ffdd94161146c49161662c3f9a70cd", |
|||
"checkNum":"PD-202205250842", |
|||
"inState":"未入", |
|||
"havePutIn":"0", |
|||
"fieldName":"文书-文件-2022", |
|||
"TID":"E2806894200040159AF8AD06", |
|||
"barCode":"|||||||||||||||||||||||||", |
|||
"storagePath":"库房A-库区A-01列-1节1层-左", |
|||
"misplaceNum":"20", |
|||
"operationTime":"2022-5-25 08:40" |
|||
} |
|||
], |
|||
"footer":null, |
|||
"postparam":null |
|||
} |
@ -0,0 +1,145 @@ |
|||
<template> |
|||
<div> |
|||
<head-slot> |
|||
<el-button size="mini" @click="handleIn"> |
|||
<svg-icon icon-class="dengji-fanbai" class-name="svg-style" />入库</el-button> |
|||
<el-button size="mini"> |
|||
<svg-icon icon-class="yichu-fanbai" class-name="svg-style" />人工确认</el-button> |
|||
<el-input |
|||
v-model="keyWord" |
|||
size="small" |
|||
clearable |
|||
placeholder="请输入关键词" |
|||
style="width: 300px;margin-left:0;padding-left:10px" |
|||
class="input-prepend filter-item" |
|||
@keyup.enter.native="crud.toQuery" |
|||
> |
|||
<el-select slot="prepend" v-model="optionVal" style="width: 90px"> |
|||
<el-option |
|||
v-for="item in options" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-input> |
|||
<rrOperation /> |
|||
<!-- <button @click="getTableData">测试按钮</button> --> |
|||
</head-slot> |
|||
<!--表格渲染--> |
|||
<el-table |
|||
ref="table" |
|||
style="width: 100%" |
|||
height="calc(100vh - 355px)" |
|||
:data="tableData" |
|||
:cell-class-name="cell" |
|||
@row-click="clickRowHandler" |
|||
@row-dblclick="handleDbClick" |
|||
@selection-change="selectionChangeHandler" |
|||
> |
|||
<el-table-column type="selection" width="55" /> |
|||
<el-table-column type="index" label="序号" align="center" width="80" /> |
|||
<el-table-column prop="inState" align="center" label="入库" min-width="80"> |
|||
<template slot-scope="scope"> |
|||
<!-- 未入 / 待入 --> |
|||
<span class="clear" style="width:56px">{{ scope.row.inState }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="havePutIn" align="center" label="已装" min-width="80" /> |
|||
<el-table-column prop="fieldName" align="center" label="盒名称" min-width="150" /> |
|||
<el-table-column prop="TID" align="center" label="TID" min-width="250" /> |
|||
<el-table-column prop="barCode" align="center" label="条形码" width="200" /> |
|||
<el-table-column prop="storagePath" align="center" label="存放位置" width="250" /> |
|||
<el-table-column align="center" prop="operationTime" label="操作时间" width="200" /> |
|||
</el-table> |
|||
<!-- 分页 --> |
|||
<pagination /> |
|||
<!-- 档案盒详情 --> |
|||
<fieldDetail ref="archiveDetailDom" /> |
|||
<!-- 入库操作 --> |
|||
<inDialog ref="inDialogDom" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import headSlot from '../../lendManage/components/headSlot.vue' |
|||
import rrOperation from '@crud/RR.operation' |
|||
import CRUD, { presenter, crud } from '@crud/crud' |
|||
import pagination from '@crud/Pagination' |
|||
import fieldDetail from './module/fieldDetail.vue' |
|||
import inDialog from './module/inDialog.vue' |
|||
import data1 from '../data1.json' |
|||
export default { |
|||
name: 'InStorage', |
|||
components: { headSlot, rrOperation, pagination, fieldDetail, inDialog }, |
|||
mixins: [presenter(), crud()], |
|||
|
|||
cruds() { |
|||
return CRUD({ |
|||
url: 'api/case/initCaseList', |
|||
// crudMethod: caseCrudMethod, |
|||
title: '档案盒', |
|||
optShow: {} |
|||
}) |
|||
}, |
|||
data() { |
|||
return { |
|||
tableData: [], |
|||
selections: [], |
|||
keyWord: '', |
|||
optionVal: '盒名称', |
|||
options: [ |
|||
{ value: '选项5', label: '盒名称' }, |
|||
{ value: '选项6', label: '条形码' }, |
|||
{ value: '选项7', label: 'TID' } |
|||
] |
|||
} |
|||
}, |
|||
created() { |
|||
this.getData() |
|||
}, |
|||
methods: { |
|||
getData() { |
|||
this.tableData = data1.rows |
|||
}, |
|||
// 单元格样式 |
|||
cell({ row, columnIndex }) { |
|||
if (row.inState === '未入' && columnIndex === 2) { |
|||
return 'fail-clear' |
|||
} else if (row.inState === '待入' && columnIndex === 2) { |
|||
return 'no-clear' |
|||
} |
|||
}, |
|||
clickRowHandler(row) { |
|||
this.$refs.table.toggleRowSelection(row) // 单击选中 |
|||
}, |
|||
// 档案详情 |
|||
handleDbClick(row) { |
|||
// this.$refs.table.clearSelection() |
|||
this.$refs.archiveDetailDom.detailVisible = true |
|||
this.$refs.archiveDetailDom.rowData = row |
|||
}, |
|||
selectionChangeHandler(val) { |
|||
this.selections = val |
|||
// console.log(val, '-----') |
|||
}, |
|||
// 入库 |
|||
handleIn() { |
|||
if (this.selections.length > 0) { |
|||
this.$refs.inDialogDom.dialogVisible = true |
|||
} else { |
|||
this.$message({ |
|||
message: '请选择要入库的档案', |
|||
type: 'warning' |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "~@/assets/styles/archives-manage.scss"; |
|||
@import '~@/assets/styles/lend-manage.scss'; |
|||
|
|||
</style> |
@ -0,0 +1,95 @@ |
|||
<template> |
|||
<div> |
|||
<el-dialog title="档案盒详情" :visible.sync="detailVisible"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog"> |
|||
<div class="dpflex"> |
|||
<p class="left"><span class="color-blue">盒名称:</span><span class="color-white">{{ rowData.fieldName }}</span></p> |
|||
<p class="right"><span class="color-blue">存放位置:</span><span class="color-white">{{ rowData.storagePath }}</span></p> |
|||
</div> |
|||
<div class="dpflex"> |
|||
<p class="left"><span class="color-blue">条形码:</span><span class="color-white">{{ rowData.barCode }}</span></p> |
|||
<p class="right"><span class="color-blue">TID:</span><span class="color-white">{{ rowData.TID }}</span></p> |
|||
</div> |
|||
<div class="dpflex"> |
|||
<p class="left"><span class="color-blue">创建时间:</span><span class="color-white">{{ rowData.operationTime }}</span></p> |
|||
</div> |
|||
</div> |
|||
<el-table :data="tableData" style="margin-top:15px"> |
|||
<el-table-column type="index" label="序号" align="center" width="55" /> |
|||
<el-table-column prop="" label="子条数目" width="100" /> |
|||
<el-table-column prop="" label="门类级别" width="140" /> |
|||
<el-table-column prop="" label="门类名称" width="130" /> |
|||
<el-table-column prop="" label="全宗号" width="80" /> |
|||
<el-table-column prop="" label="档号" width="140" /> |
|||
<el-table-column prop="" label="归档年度" width="140" /> |
|||
<el-table-column prop="" label="题名" width="140" /> |
|||
<el-table-column prop="" label="保密程度" width="140" /> |
|||
<el-table-column prop="" label="部门" width="80" /> |
|||
<el-table-column prop="" label="盒名称" width="140" /> |
|||
<el-table-column prop="" label="所在位置" width="140" /> |
|||
<el-table-column prop="" label="创建时间" width="140" /> |
|||
</el-table> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
detailVisible: false, |
|||
rowData: {}, |
|||
tableData: [] |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import '~@/assets/styles/lend-manage.scss'; |
|||
::v-deep .el-dialog__body{ |
|||
padding: 60px 40px 80px 40px; |
|||
} |
|||
::v-deep .el-dialog{ |
|||
width: 1200px; |
|||
} |
|||
::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{ |
|||
position: absolute; |
|||
right: -283px; |
|||
bottom: -10px; |
|||
} |
|||
p{ |
|||
display: flex; |
|||
height: 40px; |
|||
align-items: center; |
|||
.color-blue{ |
|||
color: #3A99FD; |
|||
width: 70px; |
|||
height: 19px; |
|||
text-align: right; |
|||
} |
|||
.color-white{ |
|||
color: white; |
|||
padding: 0 0 0 20px; |
|||
} |
|||
} |
|||
.dpflex{ |
|||
display: flex; |
|||
.left{ |
|||
flex: 1; |
|||
} |
|||
.center{ |
|||
flex:1; |
|||
} |
|||
.right{ |
|||
flex: 1; |
|||
.cell-lend{ |
|||
margin-left: 20px; |
|||
width: 76px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
</style> |
@ -0,0 +1,152 @@ |
|||
<template> |
|||
<div> |
|||
<el-dialog title="入库" :visible.sync="dialogVisible"> |
|||
<span class="dialog-right-top" /> |
|||
<span class="dialog-left-bottom" /> |
|||
<div class="setting-dialog"> |
|||
<div class="header"> |
|||
选择位置 |
|||
</div> |
|||
<div class="content"> |
|||
<!-- 左侧 --> |
|||
<div class="content-left"> |
|||
<!-- <span class="right-top-line" /> --> |
|||
<!-- <span class="left-bottom-line" /> --> |
|||
<!-- <el-tree ref="archivesTree" v-loading="crud.loading" :data="crud.data" :props="defaultProps" node-key="id" :expand-on-click-node="false" highlight-current @node-click="handleNodeClick" /> --> |
|||
<el-tree ref="archivesTree" :data="treeData" :props="defaultProps" node-key="id" :expand-on-click-node="false" highlight-current @node-click="handleNodeClick" /> |
|||
</div> |
|||
<!-- 右侧 --> |
|||
<div class="content-right"> |
|||
<!-- <span class="right-top-line" /> --> |
|||
<!-- <span class="left-bottom-line" /> --> |
|||
<!-- 密集架 --> |
|||
<div class="frame-content head-container"> |
|||
<div class="frame-item"> |
|||
<span>区号</span> |
|||
<el-input v-model="fieldNum" type="number" class="filter-item" /> |
|||
</div> |
|||
<div class="frame-item item-line"> |
|||
<span>列</span> |
|||
<el-input v-model="fieldNum" type="number" class="filter-item" /> |
|||
</div> |
|||
<div class="frame-item item-line"> |
|||
<span>节</span> |
|||
<el-input v-model="fieldNum" type="number" class="filter-item" /> |
|||
</div> |
|||
<div class="frame-item item-line"> |
|||
<span>层</span> |
|||
<el-input v-model="fieldNum" type="number" class="filter-item" /> |
|||
</div> |
|||
<div class="frame-item item-line"> |
|||
<span>方向</span> |
|||
<el-input v-model="fieldNum" type="number" class="filter-item" /> |
|||
</div> |
|||
</div> |
|||
<!-- 回转柜 --> |
|||
<!-- <div> |
|||
回转柜 |
|||
</div> --> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
dialogVisible: true, |
|||
defaultProps: { children: 'children', label: 'cnName' }, |
|||
treeData: [{ |
|||
cnName: '档案库', |
|||
children: [ |
|||
{ cnName: '密集柜' }, |
|||
{ cnName: '回转柜' } |
|||
] |
|||
}], |
|||
fieldNum: 0 |
|||
|
|||
} |
|||
}, |
|||
methods: { |
|||
// 切换菜单 |
|||
handleNodeClick(data) { |
|||
console.log(data) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
::v-deep .el-dialog{ |
|||
width: 720px; |
|||
.setting-dialog{ |
|||
height: 552px; |
|||
overflow: hidden; |
|||
} |
|||
.el-dialog__body{ |
|||
padding: 0; |
|||
} |
|||
} |
|||
|
|||
::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{ |
|||
position: absolute; |
|||
right: -50px; |
|||
bottom: -10px; |
|||
} |
|||
.header{ |
|||
height: 60px; |
|||
line-height: 60px; |
|||
color: #339CFF; |
|||
font-size: 16px; |
|||
padding-left: 65px; |
|||
border-bottom: 1px solid #339CFF; |
|||
} |
|||
.content{ |
|||
color: #339CFF; |
|||
height: 492px; |
|||
display: flex; |
|||
.content-left{ |
|||
background-color: #021941; |
|||
width: 200px; |
|||
// height: 100%; |
|||
} |
|||
.content-right{ |
|||
flex: 1; |
|||
padding:10px 15px ; |
|||
} |
|||
} |
|||
.frame-content{ |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
.frame-item{ |
|||
display: flex; |
|||
width: 148px; |
|||
margin-bottom: 30px; |
|||
position: relative; |
|||
span{ |
|||
width: 33px; |
|||
height: 32px; |
|||
line-height: 32px; |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.el-input{ |
|||
width: 76px; |
|||
} |
|||
} |
|||
.item-line::before{ |
|||
content: ''; |
|||
display: block; |
|||
height: 1px; |
|||
width: 20px; |
|||
background-color:#339CFF; |
|||
position: absolute; |
|||
top: 50%; |
|||
left: -20px; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,66 @@ |
|||
<template> |
|||
<div class="app-container lend-container"> |
|||
<!-- 借阅列表 --> |
|||
<!-- 借阅管理tab --> |
|||
<div class="tab-content"> |
|||
<span class="right-top-line" /> |
|||
<span class="left-bottom-line" /> |
|||
<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> |
|||
<li :class="{ 'active-tab-nav': activeIndex == 2 }" @click="changeActiveTab(2)">出入库记录<i /></li> |
|||
<!-- 最右侧装饰img --> |
|||
<span class="tab-right-img" /> |
|||
</ul> |
|||
<component :is="comName" /> |
|||
|
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import inStorage from './inStorage/index.vue' |
|||
import outStorage from './outStorage/index.vue' |
|||
import outInHistory from './outInHistory/index.vue' |
|||
|
|||
export default { |
|||
name: 'OutInStorage', |
|||
components: { |
|||
inStorage, |
|||
outStorage, |
|||
outInHistory |
|||
}, |
|||
data() { |
|||
return { |
|||
activeIndex: 0 |
|||
} |
|||
}, |
|||
computed: { |
|||
comName: function() { |
|||
if (this.activeIndex === 0) { |
|||
return 'inStorage' |
|||
} else if (this.activeIndex === 1) { |
|||
return 'outStorage' |
|||
} else if (this.activeIndex === 2) { |
|||
return 'outInHistory' |
|||
} |
|||
return 'inStorage' |
|||
} |
|||
}, |
|||
methods: { |
|||
changeActiveTab(data) { |
|||
this.activeIndex = data |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.lend-container{ |
|||
.tab-content{ |
|||
position: relative; |
|||
margin-top: 61px; |
|||
border: 1px solid #113d72; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,15 @@ |
|||
<template> |
|||
<div style="color:#fff"> |
|||
记录 |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
|
|||
</style> |
@ -0,0 +1,15 @@ |
|||
<template> |
|||
<div style="color:#fff"> |
|||
出库 |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
|
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue