Browse Source

盘点

master
xuhuajiao 1 year ago
parent
commit
2e53cc38de
  1. 51
      src/views/archivesManage/archivesCheck/index.vue
  2. 80
      src/views/archivesManage/archivesCheck/module/addCheck.vue
  3. 83
      src/views/archivesManage/archivesCheck/module/checkDetail.vue
  4. 4
      src/views/archivesManage/caseManage/caseList/module/detailDialog.vue

51
src/views/archivesManage/archivesCheck/index.vue

@ -56,27 +56,43 @@
@row-dblclick="handleDbClick" @row-dblclick="handleDbClick"
> >
<el-table-column type="selection" align="center" width="55" /> <el-table-column type="selection" align="center" width="55" />
<el-table-column type="index" align="center" label="序号" width="55" />
<el-table-column prop="id" align="center" label="盘点单号" min-width="100" />
<el-table-column prop="region" align="center" label="包含位置" min-width="140" />
<el-table-column prop="checkState" align="center" label="盘点状态" min-width="60">
<el-table-column prop="id" show-overflow-tooltip align="center" label="盘点单号" min-width="140" />
<el-table-column prop="region" show-overflow-tooltip align="center" label="包含位置" min-width="100" />
<el-table-column prop="archiveYears" show-overflow-tooltip align="center" label="年度" min-width="60" />
<el-table-column prop="checkState" align="center" label="盘点状态" min-width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 已执行 / 待执行/执行中 -->
<!-- 已执行 / 待执行 / 执行中 -->
<span class="clear">{{ scope.row.checkState | checkState }}</span> <span class="clear">{{ scope.row.checkState | checkState }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="correct" align="center" label="在库档案" min-width="60" />
<el-table-column prop="checked" align="center" label="已盘档案" min-width="60" />
<el-table-column prop="abnormal" align="center" label="异常档案" min-width="60" />
<el-table-column prop="noCheck" align="center" label="未盘档案" min-width="60" />
<el-table-column prop="borrowed" align="center" label="已借档案" min-width="60" />
<el-table-column prop="dislocation" align="center" label="错位档案" min-width="60" />
<el-table-column prop="others" align="center" label="多余档案" min-width="60" />
<el-table-column prop="create_time" align="center" label="创建时间" min-width="100">
<el-table-column prop="should" align="center" label="应盘" min-width="60" />
<el-table-column prop="correct" align="center" label="已盘" min-width="60" />
<el-table-column prop="noCheck" align="center" label="未盘" min-width="60" />
<el-table-column prop="borrowed" align="center" label="已借" min-width="60">
<template slot-scope="scope">
<span v-if="scope.row.arrangeType===1">-</span>
<span v-if="scope.row.arrangeType===2">{{ scope.row.borrowed }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="checked" align="center" label="已盘档案" min-width="60" /> -->
<el-table-column prop="abnormal" align="center" label="异常" min-width="60" />
<el-table-column prop="dislocation" align="center" label="错位" min-width="60" />
<!-- <el-table-column prop="others" align="center" label="多余档案" min-width="60" /> -->
<el-table-column prop="create_time" align="center" label="创建时间" min-width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.create_time | parseTime }}</div> <div>{{ scope.row.create_time | parseTime }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="arrangeTime" align="center" label="同步时间" min-width="120">
<template slot-scope="scope">
<div>{{ scope.row.arrangeTime | parseTime }}</div>
</template>
</el-table-column>
<el-table-column prop="endTime" align="center" label="结算时间" min-width="120">
<template slot-scope="scope">
<div>{{ scope.row.endTime | parseTime }}</div>
</template>
</el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@ -125,9 +141,9 @@ export default {
case 0: case 0:
return '待执行' return '待执行'
case 1: case 1:
return '执行中'
return '盘点中'
case 2: case 2:
return '已执行'
return '已完成'
} }
} }
}, },
@ -155,8 +171,8 @@ export default {
stateOptions: [ stateOptions: [
{ value: -1, label: '全部' }, { value: -1, label: '全部' },
{ value: 0, label: '待执行' }, { value: 0, label: '待执行' },
{ value: 1, label: '执行中' },
{ value: 2, label: '已执行' }
{ value: 1, label: '盘点中' },
{ value: 2, label: '已完成' }
], ],
cateSearch: 'region', cateSearch: 'region',
cateSearchOptions: [ cateSearchOptions: [
@ -283,6 +299,7 @@ export default {
checkDetailDom.tableData = res.content checkDetailDom.tableData = res.content
}) })
checkDetailDom.detailVisible = true checkDetailDom.detailVisible = true
checkDetailDom.arrangeType = row.arrangeType
}, },
// //
handleExport() { handleExport() {

80
src/views/archivesManage/archivesCheck/module/addCheck.vue

@ -36,17 +36,19 @@
@input="treeSelectInput" @input="treeSelectInput"
/> />
</el-form-item> </el-form-item>
<!-- @change="selectChange" -->
<el-form-item label="选择年度" prop="years" class="down-select" style="margin-right:20px">
<el-form-item label="选择年度" prop="archiveYears" class="down-select" style="margin-right:20px">
<el-select <el-select
v-model="checkForm.years"
v-model="checkForm.archiveYears"
style="width: 200px;height:30px" style="width: 200px;height:30px"
multiple multiple
filterable filterable
clearable clearable
placeholder="请选择" placeholder="请选择"
:collapse-tags="showTags" :collapse-tags="showTags"
@change="changeSelect"
@remove-tag="removeTag"
> >
<el-option label="全选" value="全选" @click.native="selectAll" />
<el-option <el-option
v-for="item in yearsOptions" v-for="item in yearsOptions"
:key="item.value" :key="item.value"
@ -55,9 +57,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="盘点方式" prop="checkType" class="down-select">
<el-form-item label="盘点方式" prop="arrangeType" class="down-select">
<el-select <el-select
v-model="checkForm.checkType"
v-model="checkForm.arrangeType"
style="width: 240px; height:30px" style="width: 240px; height:30px"
clearable clearable
placeholder="请选择" placeholder="请选择"
@ -129,7 +131,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="depositNum" label="已装" align="center" min-width="56" /> <el-table-column prop="depositNum" label="已装" align="center" min-width="56" />
<el-table-column prop="caseName" label="盒名称" :show-overflow-tooltip="true" align="center" min-width="150" />
<el-table-column prop="caseName" label="盒名称" :show-overflow-tooltip="true" align="center" min-width="190" />
<el-table-column prop="tid" label="TID" align="center" min-width="180" /> <el-table-column prop="tid" label="TID" align="center" min-width="180" />
<el-table-column prop="barcode" label="条形码" align="center" min-width="120" /> <el-table-column prop="barcode" label="条形码" align="center" min-width="120" />
<el-table-column label="存放位置" align="center" min-width="300"> <el-table-column label="存放位置" align="center" min-width="300">
@ -181,8 +183,8 @@ export default {
checkForm: { checkForm: {
selectAreaValue: [], selectAreaValue: [],
categoryValue: null, categoryValue: null,
years: [],
checkType: null
archiveYears: [],
arrangeType: null
}, },
addFormVisible: false, addFormVisible: false,
selectAreaOptions: [], selectAreaOptions: [],
@ -218,8 +220,8 @@ export default {
rules: { rules: {
selectAreaValue: [{ required: true, trigger: 'change', message: '请选择区域' }], selectAreaValue: [{ required: true, trigger: 'change', message: '请选择区域' }],
categoryValue: [{ required: true, trigger: 'change', message: '请选择门类' }], categoryValue: [{ required: true, trigger: 'change', message: '请选择门类' }],
years: [{ required: true, trigger: 'change', message: '请选择年度' }],
checkType: [{ required: true, trigger: 'change', message: '请选择盘点方式' }]
archiveYears: [{ required: true, trigger: 'change', message: '请选择年度' }],
arrangeType: [{ required: true, trigger: 'change', message: '请选择盘点方式' }]
} }
} }
}, },
@ -285,12 +287,11 @@ export default {
}) })
}, },
treeSelectInput(value) { treeSelectInput(value) {
console.log('this.categoryValue', this.checkForm.categoryValue)
if (this.checkForm.categoryValue) { if (this.checkForm.categoryValue) {
this.getYear() this.getYear()
} else { } else {
this.yearsOptions = [] this.yearsOptions = []
this.checkForm.years = []
this.checkForm.archiveYears = []
} }
}, },
getYear() { getYear() {
@ -301,7 +302,6 @@ export default {
'size': 10 'size': 10
} }
FetchInitArchivesView(params).then(data => { FetchInitArchivesView(params).then(data => {
console.log(data.yearGroup)
if (data) { if (data) {
this.yearsOptions = data.yearGroup.map(item => { this.yearsOptions = data.yearGroup.map(item => {
const json = {} const json = {}
@ -312,6 +312,31 @@ export default {
} }
}) })
}, },
selectAll() {
if (this.checkForm.archiveYears.length < this.yearsOptions.length) {
this.checkForm.archiveYears = []
this.yearsOptions.map((item) => {
this.checkForm.archiveYears.push(item.value)
})
this.checkForm.archiveYears.unshift('全选')
} else {
this.checkForm.archiveYears = []
}
},
changeSelect(val) {
if (!val.includes('全选') && val.length === this.yearsOptions.length) {
this.checkForm.archiveYears.unshift('全选')
} else if (val.includes('全选') && (val.length - 1) < this.yearsOptions.length) {
this.checkForm.archiveYears = this.checkForm.archiveYears.filter((item) => {
return item !== '全选'
})
}
},
removeTag(val) {
if (val === '全选') {
this.checkForm.archiveYears = []
}
},
// //
handleBuild() { handleBuild() {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
@ -320,13 +345,10 @@ export default {
} }
this.loading = true this.loading = true
const paramsNo = this.getParams() const paramsNo = this.getParams()
if (paramsNo.checkType === 1) {
this.isCaseOrFile = 1
} else {
this.isCaseOrFile = 2
}
this.params.deviceIds = paramsNo.deviceIds this.params.deviceIds = paramsNo.deviceIds
this.params.categoryIds = paramsNo.categoryIds this.params.categoryIds = paramsNo.categoryIds
this.params.arrangeType = paramsNo.arrangeType
this.params.archiveYears = paramsNo.archiveYears
this.params.page = this.page.page - 1 this.params.page = this.page.page - 1
this.params.size = this.page.size this.params.size = this.page.size
this.doPreArrange(this.params) this.doPreArrange(this.params)
@ -372,11 +394,29 @@ export default {
}) })
region = region.join(',') // str region = region.join(',') // str
// const categoryIds = this.checkForm.categoryValue.filter(item => item !== 0) // const categoryIds = this.checkForm.categoryValue.filter(item => item !== 0)
if (this.checkForm.arrangeType === 1) {
this.isCaseOrFile = 1
} else {
this.isCaseOrFile = 2
}
let archiveYearsValue
if (this.checkForm.archiveYears.includes('全选')) {
archiveYearsValue = null
} else {
archiveYearsValue = this.checkForm.archiveYears.join(',')
}
const categoryIds = []
categoryIds.push(this.checkForm.categoryValue)
const params = { const params = {
'categoryIds': this.checkForm.categoryValue,
'categoryIds': categoryIds,
'deviceIds': deviceIds, 'deviceIds': deviceIds,
'region': region, 'region': region,
'checkType': this.checkForm.checkType
'arrangeType': this.checkForm.arrangeType,
'archiveYears': archiveYearsValue
} }
return params return params
} }

83
src/views/archivesManage/archivesCheck/module/checkDetail.vue

@ -4,28 +4,36 @@
<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">
<el-table :data="rowData" :cell-class-name="cellTop" style="margin:5px 0 15px 0;width:100%;" height="calc(25vh - 137px)">
<el-table-column prop="id" align="center" label="盘点单号" min-width="150" />
<el-table :data="rowData" :cell-class-name="cellTop" style="margin:5px 0 15px 0; width:100%;" height="calc(25vh - 137px)">
<el-table-column prop="id" align="center" show-overflow-tooltip label="盘点单号" min-width="160" />
<el-table-column prop="region" align="center" label="所在区域" show-overflow-tooltip min-width="120" /> <el-table-column prop="region" align="center" label="所在区域" show-overflow-tooltip min-width="120" />
<el-table-column prop="checkState" align="center" label="盘点状态" min-width="120">
<el-table-column prop="archiveYears" show-overflow-tooltip align="center" label="年度" min-width="60" />
<el-table-column prop="checkState" align="center" label="盘点状态" min-width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="clear">{{ scope.row.checkState | checkState }}</span> <span class="clear">{{ scope.row.checkState | checkState }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="should" align="center" label="应盘" min-width="60" />
<el-table-column prop="correct" align="center" label="已盘" min-width="60" />
<el-table-column prop="noCheck" align="center" label="未盘" min-width="60" />
<el-table-column prop="borrowed" align="center" label="已借" min-width="60">
<template slot-scope="scope">
<span v-if="arrangeType===1">-</span>
<span v-if="arrangeType===2">{{ scope.row.borrowed }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="correct" align="center" label="在库档案" min-width="60" /> -->
<el-table-column prop="abnormal" align="center" label="异常" min-width="60" />
<el-table-column prop="dislocation" align="center" label="错位" min-width="60" />
<!-- <el-table-column prop="others" align="center" label="其他档案" min-width="60" /> -->
<el-table-column prop="create_time" align="center" label="创建时间" min-width="150"> <el-table-column prop="create_time" align="center" label="创建时间" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.create_time | parseTime }}</span> <span>{{ scope.row.create_time | parseTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="noCheck" align="center" label="未盘档案" min-width="90" />
<el-table-column prop="correct" align="center" label="在库档案" min-width="90" />
<el-table-column prop="dislocation" align="center" label="错位档案" min-width="90" />
<el-table-column prop="borrowed" align="center" label="已借档案" min-width="90" />
<el-table-column prop="abnormal" align="center" label="异常档案" min-width="90" />
<el-table-column prop="others" align="center" label="其他档案" min-width="90" />
</el-table> </el-table>
<el-table :data="tableData" :cell-class-name="cell" style="width:100%;" height="calc(50vh - 99px)">
<el-table-column type="index" label="序号" align="center" width="90" />
<el-table v-if="arrangeType === 2" :data="tableData" :cell-class-name="cell" style="width:100%;" height="calc(50vh - 99px)">
<el-table-column type="index" label="序号" align="center" width="60" />
<el-table-column prop="checkResult" align="center" label="盘点结果" width="90"> <el-table-column prop="checkResult" align="center" label="盘点结果" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 在库/已借/错位 --> <!-- 在库/已借/错位 -->
@ -40,15 +48,16 @@
<span v-if="scope.row.categoryType === 3" style="width:56px">案卷级</span> <span v-if="scope.row.categoryType === 3" style="width:56px">案卷级</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="caseName" align="center" :show-overflow-tooltip="true" label="门类名称" min-width="180" />
<el-table-column prop="fondsNo" align="center" label="全宗号" min-width="90" />
<el-table-column prop="archiveNo" align="center" label="档号" min-width="180" />
<el-table-column prop="archiveYear" align="center" label="归档年度" min-width="90" />
<el-table-column prop="maintitle" align="center" :show-overflow-tooltip="true" label="题名" min-width="180" />
<el-table-column prop="securityClass" align="center" label="保密程度" min-width="90" />
<el-table-column prop="department" align="center" label="部门" min-width="90" />
<el-table-column prop="caseName" align="center" label="盒名称" min-width="180" />
<el-table-column prop="folderLocationDetails" align="center" :show-overflow-tooltip="true" label="所在位置" min-width="280">
<el-table-column prop="categoryName" align="center" :show-overflow-tooltip="true" label="门类名称" min-width="180" />
<!-- <el-table-column prop="fondsNo" align="center" label="全宗号" :show-overflow-tooltip="true" min-width="90" /> -->
<el-table-column prop="archiveNo" align="center" label="档号" :show-overflow-tooltip="true" min-width="180" />
<el-table-column prop="maintitle" align="center" :show-overflow-tooltip="true" label="题名" min-width="120" />
<el-table-column prop="docNo" align="center" label="发文字号" min-width="90" />
<el-table-column prop="archiveYear" align="center" label="年度" min-width="90" />
<el-table-column prop="securityClass" align="center" label="密级" min-width="90" />
<!-- <el-table-column prop="department" align="center" label="部门" min-width="90" /> -->
<el-table-column prop="caseName" align="center" label="盒名称" :show-overflow-tooltip="true" min-width="190" />
<el-table-column prop="folderLocationDetails" align="center" :show-overflow-tooltip="true" label="所在位置" min-width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!scope.row.folderLocationDetails">-</span> <span v-if="!scope.row.folderLocationDetails">-</span>
<span v-else> <span v-else>
@ -56,13 +65,36 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" align="center" label="创建时间" min-width="150">
<!-- <el-table-column prop="createTime" align="center" label="创建时间" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div> <div>{{ scope.row.createTime | parseTime }}</div>
</template> </template>
</el-table-column> -->
</el-table>
<el-table v-if="arrangeType === 1" :data="tableData" :cell-class-name="cell" style="width:100%;" height="calc(50vh - 99px)">
<el-table-column type="index" label="序号" align="center" width="60" />
<el-table-column prop="checkResult" align="center" label="盘点结果" width="120">
<template slot-scope="scope">
<span class="clear" style="width:56px">{{ scope.row.checkResult | checkResult }}</span>
</template>
</el-table-column>
<el-table-column prop="child" align="center" label="子条数目" width="90" />
<el-table-column prop="storageNum" align="center" label="在库" min-width="60" />
<el-table-column prop="borrowNum" align="center" label="已借" min-width="60" />
<el-table-column prop="caseName" label="盒名称" :show-overflow-tooltip="true" align="center" min-width="190" />
<el-table-column prop="tid" label="TID" align="center" min-width="180" />
<el-table-column prop="barcode" label="条形码" align="center" min-width="120" />
<el-table-column label="存放位置" align="center" min-width="300">
<template slot-scope="scope">
<span v-if="!scope.row.folderLocationDetails">-</span>
<span v-else>
<el-tag effect="dark">{{ scope.row.folderLocationDetails }}</el-tag>
</span>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div></el-dialog>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -74,9 +106,9 @@ export default {
case 0: case 0:
return '待执行' return '待执行'
case 1: case 1:
return '执行中'
return '盘点中'
case 2: case 2:
return '已执行'
return '已完成'
} }
}, },
checkResult(val) { checkResult(val) {
@ -103,7 +135,8 @@ export default {
detailVisible: false, detailVisible: false,
tableData: [], tableData: [],
rowData: [], rowData: [],
classLend: ''
classLend: '',
arrangeType: null
} }
}, },
methods: { methods: {

4
src/views/archivesManage/caseManage/caseList/module/detailDialog.vue

@ -40,8 +40,8 @@
<el-table-column prop="maintitle" :show-overflow-tooltip="true" align="center" label="题名" width="180" /> <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="securityClass" label="保密程度" align="center" width="150" />
<el-table-column prop="department" 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="260">
<el-table-column prop="caseName" label="盒名称" :show-overflow-tooltip="true" align="center" width="190" />
<el-table-column prop="folderLocationDetails" align="center" label="所在位置" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!scope.row.folderLocationDetails">-</span> <span v-if="!scope.row.folderLocationDetails">-</span>
<span v-else> <span v-else>

Loading…
Cancel
Save