Browse Source

出入库管理 详情

master
x_ying 3 years ago
parent
commit
98d26852f6
  1. 40
      src/views/archivesManage/outInStorage/inStorage/index.vue
  2. 95
      src/views/archivesManage/outInStorage/inStorage/module/fieldDetail.vue
  3. 11
      src/views/archivesManage/outInStorage/inStorage/module/handDialog.vue
  4. 44
      src/views/archivesManage/outInStorage/inStorage/module/inDialog.vue
  5. 93
      src/views/archivesManage/outInStorage/module/detailDialog.vue
  6. 24
      src/views/archivesManage/outInStorage/outInHistory/index.vue
  7. 31
      src/views/archivesManage/outInStorage/outStorage/index.vue

40
src/views/archivesManage/outInStorage/inStorage/index.vue

@ -66,7 +66,7 @@
<!-- 分页 --> <!-- 分页 -->
<pagination /> <pagination />
<!-- 档案盒详情 --> <!-- 档案盒详情 -->
<fieldDetail ref="archiveDetailDom" />
<detailDialog ref="detailDom" />
<!-- 入库对话框 --> <!-- 入库对话框 -->
<inDialog ref="inDialogDom" /> <inDialog ref="inDialogDom" />
<!-- 待入库状态下提示框 --> <!-- 待入库状态下提示框 -->
@ -94,13 +94,14 @@
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import CRUD, { presenter, crud } from '@crud/crud' import CRUD, { presenter, crud } from '@crud/crud'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import fieldDetail from './module/fieldDetail.vue'
import detailDialog from '../module/detailDialog.vue'
import inDialog from './module/inDialog.vue' import inDialog from './module/inDialog.vue'
import handDialog from './module/handDialog.vue' import handDialog from './module/handDialog.vue'
import { initCaseByArchives, readyCollectConfirm, collectConfirm } from '@/api/archivesManage/outInStorage'
import { initCaseByArchives, readyCollectConfirm, collectConfirm, initStorageLogDetailes, initStorageLogList } from '@/api/archivesManage/outInStorage'
// import { getDetail } from '../module/outIn'
export default { export default {
name: 'InStorage', name: 'InStorage',
components: { rrOperation, pagination, fieldDetail, inDialog, handDialog },
components: { rrOperation, pagination, detailDialog, inDialog, handDialog },
mixins: [presenter(), crud()], mixins: [presenter(), crud()],
cruds() { cruds() {
return CRUD({ return CRUD({
@ -143,11 +144,27 @@ export default {
clickRowHandler(row) { clickRowHandler(row) {
this.$refs.table.toggleRowSelection(row) // this.$refs.table.toggleRowSelection(row) //
}, },
//
handleDbClick(row) {
// this.$refs.table.clearSelection()
this.$refs.archiveDetailDom.detailVisible = true
this.$refs.archiveDetailDom.rowData = row
//
async handleDbClick(row) {
this.$refs.detailDom.rowData = row
console.log(row, 'row')
let logId = null
// logId
await initStorageLogList().then(res => {
const arr = res.content.filter(item => item.caseId === row.id)
const logIdArr = arr.map(item => { return item.id })
logId = Math.max(...logIdArr)
})
const params = {
'logId': logId
}
//
console.log(params)
initStorageLogDetailes(params).then(res => {
console.log(res, '==res')
this.$refs.detailDom.tableData = res
})
this.$refs.detailDom.detailVisible = true
}, },
selectionChangeHandler(val) { selectionChangeHandler(val) {
this.selections = val this.selections = val
@ -182,7 +199,10 @@ export default {
if (res.length === 1) { if (res.length === 1) {
const params = res.map(item => item.caseId) const params = res.map(item => item.caseId)
collectConfirm(params).then(data => { collectConfirm(params).then(data => {
handDialogDom.singleVisible = true
this.$message({
message: '入库成功!',
type: 'success'
})
this.crud.refresh() this.crud.refresh()
}) })
} else if (res.length > 1) { } else if (res.length > 1) {

95
src/views/archivesManage/outInStorage/inStorage/module/fieldDetail.vue

@ -1,95 +0,0 @@
<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>

11
src/views/archivesManage/outInStorage/inStorage/module/handDialog.vue

@ -1,14 +1,6 @@
<template> <template>
<div> <div>
<!-- 单个 -->
<el-dialog title="提示" :visible.sync="singleVisible">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<p>入库成功</p>
<p style="color:#f00;margin:10px 0;display:block">提示如果当前设备不在线或者未勾选联动操作请人工完成上架操作</p>
</div>
</el-dialog>
<!-- 多个 --> <!-- 多个 -->
<el-dialog title="提示" :visible.sync="manyVisible"> <el-dialog title="提示" :visible.sync="manyVisible">
<span class="dialog-right-top" /> <span class="dialog-right-top" />
@ -39,7 +31,6 @@ export default {
mixins: [crud()], mixins: [crud()],
data() { data() {
return { return {
singleVisible: false,
manyVisible: false, manyVisible: false,
tableData: [], tableData: [],
selections: [] selections: []

44
src/views/archivesManage/outInStorage/inStorage/module/inDialog.vue

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<!-- 入库状态下 --> <!-- 入库状态下 -->
<el-dialog title="入库" :visible.sync="dialogVisible" @close="handleClose">
<el-dialog title="入库" class="in-dialog" :visible.sync="dialogVisible" :close-on-click-modal="false" @close="handleClose">
<span class="dialog-right-top" /> <span class="dialog-right-top" />
<span class="dialog-left-bottom" /> <span class="dialog-left-bottom" />
<div class="setting-dialog"> <div class="setting-dialog">
@ -74,7 +74,7 @@
</p> </p>
</div> </div>
</li> </li>
<li style="text-align:center;padding:20px 0"><el-button type="primary" :disabled="!(btnChecked.every(item=>item===2))" class="btn-save" @click="handleSave">保存</el-button></li>
<li style="text-align:center;padding:20px 0"><el-button type="primary" :loading="crud.downloadLoading" :disabled="!(btnChecked.every(item=>item===2))" class="btn-save" @click="handleSave">保存</el-button></li>
<!-- <li style="text-align:center;padding:20px 0"><el-button type="primary" class="btn-save" @click="handleSave">保存</el-button></li> --> <!-- <li style="text-align:center;padding:20px 0"><el-button type="primary" class="btn-save" @click="handleSave">保存</el-button></li> -->
</ul> </ul>
<!-- 回转柜 --> <!-- 回转柜 -->
@ -122,6 +122,15 @@
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<!-- 入库成功 提醒 -->
<el-dialog ref="sucDialog" class="suc-dialog" title="提示" :visible.sync="singleVisible">
<span class="dialog-right-top" />
<span class="dialog-left-bottom" />
<div class="setting-dialog">
<p>入库成功</p>
<p style="color:#f00;margin:10px 0;display:block">提示如果当前设备不在线或者未勾选联动操作请人工完成上架操作</p>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -135,6 +144,7 @@ export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
singleVisible: false,
childData: [], childData: [],
cnName: '', cnName: '',
defaultProps: { children: 'children', label: 'cnName' }, defaultProps: { children: 'children', label: 'cnName' },
@ -191,7 +201,7 @@ export default {
return JSON.parse(JSON.stringify(arr)) return JSON.parse(JSON.stringify(arr))
}, },
test() { test() {
console.log(this.numArr, '...........')
this.singleVisible = true
}, },
// //
async selectChange(index) { async selectChange(index) {
@ -204,7 +214,7 @@ export default {
} }
if (bool === 0) { if (bool === 0) {
const params = { const params = {
// deviceId: 'FA0B05E2728EA8129A9F15', //
// deviceId: 'FA0B05E2728EA8129A9F15', //
// position: '1-1-3-4-1', // position: '1-1-3-4-1',
deviceId: '3734A977C269ABEF6E284C', // deviceId: '3734A977C269ABEF6E284C', //
position: '1-5-6-2-1', position: '1-5-6-2-1',
@ -229,6 +239,7 @@ export default {
handleSave() { handleSave() {
// const caseId = this.childData.map(item => item.id) // const caseId = this.childData.map(item => item.id)
// console.log(caseId, '---caseId') // console.log(caseId, '---caseId')
this.crud.downloadLoading = true
const params = [] const params = []
this.isOccupy.forEach((item, i) => { this.isOccupy.forEach((item, i) => {
const obj = {} const obj = {}
@ -239,17 +250,17 @@ export default {
obj.shelfId = item.id obj.shelfId = item.id
params.push(obj) params.push(obj)
}) })
console.log(params, '==========')
console.log(params, '-----------')
collect(params).then(data => { collect(params).then(data => {
console.log(data, 'data') console.log(data, 'data')
this.dialogVisible = false
this.$message({
message: '入库成功!',
type: 'success'
})
this.crud.refresh()
this.cnName = null
if (data) {
this.dialogVisible = false
this.singleVisible = true
this.crud.refresh()
this.cnName = null
}
}) })
this.crud.downloadLoading = false
}, },
handleClose() { handleClose() {
this.cnName = null this.cnName = null
@ -260,7 +271,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-dialog{
::v-deep .in-dialog .el-dialog{
width: 725px; width: 725px;
.setting-dialog{ .setting-dialog{
height: 552px; height: 552px;
@ -271,7 +282,7 @@ export default {
} }
} }
::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{
::v-deep .in-dialog .el-dialog .el-dialog__header .el-dialog__close::before{
position: absolute; position: absolute;
right: -50px; right: -50px;
bottom: -10px; bottom: -10px;
@ -392,4 +403,9 @@ export default {
.btn-save.is-disabled{ .btn-save.is-disabled{
background-color: #031435; background-color: #031435;
} }
::v-deep .suc-dialog .el-dialog .setting-dialog{
color: #fff;
font-size: 16px;
}
</style> </style>

93
src/views/archivesManage/outInStorage/module/detailDialog.vue

@ -5,30 +5,32 @@
<span class="dialog-left-bottom" /> <span class="dialog-left-bottom" />
<div class="setting-dialog"> <div class="setting-dialog">
<div class="dpflex"> <div class="dpflex">
<p class="left"><span class="color-blue">盒名称</span><span class="color-white">{{ rowData.caseName }}</span></p>
<p class="right"><span class="color-blue">盒条码</span><span class="color-white">{{ rowData.barcode }}</span></p>
<p class="left"><span class="color-blue">盒名称:</span><span class="color-white">{{ rowData.caseName }}</span></p>
<p class="right"><span class="color-blue">存放位置:</span><span class="color-white">{{ rowData.folderLocationDetails }}</span></p>
</div> </div>
<div class="dpflex"> <div class="dpflex">
<p class="left"><span class="color-blue">存放位置</span><span class="color-white">{{ rowData.folderLocationDetails }}</span></p>
<p class="right"><span class="color-blue">TID</span><span class="color-white">{{ rowData.tid }}</span></p>
<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>
<p class="left"><span class="color-blue">创建时间</span><span class="color-white">{{ rowData.create_time | parseTime }}</span></p>
<el-table :data="tableData" style="margin-top:15px;height:373px">
<div class="dpflex">
<p class="left"><span class="color-blue">创建时间:</span><span class="color-white">{{ rowData.create_time| parseTime }}</span></p>
</div>
<el-table :data="tableData" style="margin-top:15px;height:321px">
<el-table-column type="index" label="序号" align="center" width="55" /> <el-table-column type="index" label="序号" align="center" width="55" />
<el-table-column prop="child" label="子条数目" align="center" width="100" />
<el-table-column prop="categoryType" label="门类级别" align="center" width="100" />
<el-table-column prop="categoryName" label="门类名称" align="center" width="100" />
<el-table-column prop="fondsNo" label="全宗号" align="center" width="180" />
<el-table-column prop="archivesId" label="档号" align="center" width="220" />
<el-table-column prop="archiveYear" label="归档年度" align="center" width="150" />
<el-table-column prop="maintitle" :show-overflow-tooltip="true" align="center" label="题名" width="180" />
<el-table-column prop="securityClass" label="保密程度" align="center" width="150" />
<el-table-column prop="department" label="部门名称" align="center" width="150" />
<el-table-column prop="caseName" label="盒名称" align="center" width="150" />
<el-table-column prop="folderLocationDetails" align="center" label="存放位置" width="180" />
<el-table-column prop="create_time" align="center" label="创建时间" width="150">
<el-table-column prop="child" align="center" label="子条数目" width="100" />
<el-table-column prop="categoryType" align="center" label="门类级别" width="140" />
<el-table-column prop="categoryName" align="center" label="门类名称" width="130" />
<el-table-column prop="fondsNo" align="center" label="全宗号" width="80" />
<el-table-column prop="archiveNo" align="center" label="档号" width="140" />
<el-table-column prop="archiveYear" align="center" label="归档年度" width="140" />
<el-table-column prop="maintitle" align="center" label="题名" width="140" />
<el-table-column prop="securityClass" align="center" label="保密程度" width="140" />
<el-table-column prop="department" align="center" label="部门" width="100" />
<el-table-column prop="caseName" align="center" label="盒名称" width="140" />
<el-table-column prop="folderLocationDetails" align="center" label="所在位置" width="150" />
<el-table-column prop="update_time" align="center" label="创建时间" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.create_time | parseTime }}</div>
<div>{{ scope.row.update_time | parseTime }}</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -50,34 +52,47 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import '~@/assets/styles/lend-manage.scss';
::v-deep .el-dialog{ ::v-deep .el-dialog{
width: 950px; width: 950px;
height: 520px; height: 520px;
} }
::v-deep .el-dialog__body{
padding: 20px 0;
::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{
position: absolute;
right: -162px;
bottom: -10px;
} }
.dpflex{
p{
display: flex; display: flex;
p{
margin-bottom: 20px;
height: 40px;
align-items: center;
.color-blue{
color: #3A99FD;
width: 70px;
height: 19px;
text-align: right;
} }
.left{
width: 400px;
.color-white{
color: white;
padding: 0 0 0 20px;
} }
} }
.color-blue{
width: 86px;
display: inline-block;
text-align: right;
color: #339CFF;
}
.color-white{
color: #fff;
}
::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{
position: absolute;
right: -160px;
bottom: -10px;
.dpflex{
display: flex;
.left{
flex: 1;
}
.center{
flex:1;
}
.right{
flex: 1;
.cell-lend{
margin-left: 20px;
width: 76px;
}
}
} }
</style> </style>

24
src/views/archivesManage/outInStorage/outInHistory/index.vue

@ -77,7 +77,7 @@ import qs from 'qs'
import { exportFile } from '@/utils/index' import { exportFile } from '@/utils/index'
import detailDialog from '../module/detailDialog.vue' import detailDialog from '../module/detailDialog.vue'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
// import { exportStorageLogList } from '@/api/archivesManage/outInStorage'
import { initStorageLogDetailes } from '@/api/archivesManage/outInStorage'
// exportFile // exportFile
export default { export default {
@ -185,18 +185,18 @@ export default {
exportFile(this.baseApi + '/api/storage/exportStorageLogList?' + qs.stringify(params, { indices: false })) exportFile(this.baseApi + '/api/storage/exportStorageLogList?' + qs.stringify(params, { indices: false }))
}, },
// //
handleDbClick(row) {
console.log(row, 'row')
async handleDbClick(row) {
this.$refs.detailDom.rowData = row this.$refs.detailDom.rowData = row
// const params = {
// caseId: row.id
// // caseId: '1716F6C668C83A929C738B'
// }
// this.crud.crudMethod.findInCase(params).then(res => {
// if (res) {
// this.$refs.detailDom.tableData = res.archives
// }
// })
console.log(row, 'row')
const params = {
'logId': row.id
}
//
console.log(params)
initStorageLogDetailes(params).then(res => {
console.log(res, '==res')
this.$refs.detailDom.tableData = res
})
this.$refs.detailDom.detailVisible = true this.$refs.detailDom.detailVisible = true
} }

31
src/views/archivesManage/outInStorage/outStorage/index.vue

@ -99,7 +99,7 @@
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import CRUD, { presenter, crud } from '@crud/crud' import CRUD, { presenter, crud } from '@crud/crud'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import { grant, grantConfirm } from '@/api/archivesManage/outInStorage'
import { grant, grantConfirm, initStorageLogList, initStorageLogDetailes } from '@/api/archivesManage/outInStorage'
import detailDialog from '../module/detailDialog.vue' import detailDialog from '../module/detailDialog.vue'
export default { export default {
@ -154,18 +154,25 @@ export default {
this.$refs.table.toggleRowSelection(row) // this.$refs.table.toggleRowSelection(row) //
}, },
// //
handleDbClick(row) {
console.log(row, 'row')
async handleDbClick(row) {
this.$refs.detailDom.rowData = row this.$refs.detailDom.rowData = row
// const params = {
// caseId: row.id
// // caseId: '1716F6C668C83A929C738B'
// }
// this.crud.crudMethod.findInCase(params).then(res => {
// if (res) {
// this.$refs.detailDom.tableData = res.archives
// }
// })
console.log(row, 'row')
let logId = null
// logId
await initStorageLogList().then(res => {
const arr = res.content.filter(item => item.caseId === row.id)
const logIdArr = arr.map(item => { return item.id })
logId = Math.max(...logIdArr)
})
const params = {
'logId': logId
}
//
console.log(params)
initStorageLogDetailes(params).then(res => {
console.log(res, '==res')
this.$refs.detailDom.tableData = res
})
this.$refs.detailDom.detailVisible = true this.$refs.detailDom.detailVisible = true
}, },
selectionChangeHandler(val) { selectionChangeHandler(val) {

Loading…
Cancel
Save