增加盘点入库详情查询功能

This commit is contained in:
BianLzhaoMin 2024-05-28 16:54:30 +08:00
parent d2a843ef07
commit 85997e5401
13 changed files with 314 additions and 223 deletions

View File

@ -2,52 +2,52 @@ import request from '@/utils/request'
//机具退料入库
export function getReturnOfMaterialsInfoAll(query) {
return request({
url: '/material/inventoryAndWarehousing/getList',
method: 'get',
params: query
})
}
return request({
url: '/material/inventoryAndWarehousing/getList',
method: 'get',
params: query
})
}
//机具退料入库--机具类型,规格型号下拉数据
export function getTypeList(query) {
return request({
url: '/material/returnOfMaterialsInfo/getTypeList',
method: 'get',
params: query
})
}
return request({
url: '/material/returnOfMaterialsInfo/getTypeList',
method: 'get',
params: query
})
}
//修试后入库--列表
export function getRepairedList(data) {
return request({
url: '/material/RepairTestInput/getRepairedList',
method: 'get',
params: data
})
}
return request({
url: '/material/RepairTestInput/getRepairedList',
method: 'get',
params: data
})
}
//修试后入库--详情
export function getRepairedDetailList(data) {
return request({
url: '/material//RepairTestInput/getRepairedDetailList',
method: 'get',
params: data
})
}
//修试后入库--审核
return request({
url: '/material//RepairTestInput/getRepairedDetailList',
method: 'get',
params: data
})
}
//修试后入库--审核
export function inputByType(data) {
return request({
url: '/material/RepairTestInput/inputByType',
method: 'post',
data: data
})
}
return request({
url: '/material/RepairTestInput/inputByType',
method: 'post',
data: data
})
}
// 获取 设备树
export function getDeviceTypeTree(params = {}){
export function getDeviceTypeTree(params = {}) {
return request({
url: '/system/select/getDeviceTypeTree',
method: 'post',
@ -64,6 +64,13 @@ export function inputByCode(data) {
})
}
// 查看盘点入库详情接口
export const getInventoryWarehousingApi = (data) => {
return request.get(`/material/inventoryAndWarehousing/getDetail`, {
params: data
})
}

View File

@ -32,6 +32,14 @@
:selectable="selectable"
v-if="config.isSelShow"
/>
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(pageParams.pageNum, pageParams.pageSize)
"
/>
<el-table-column
v-for="(item, v) in tableColumCheckProps"
:key="v"
@ -47,6 +55,9 @@
<slot :data="scope.row" :name="item.t_slot"></slot>
</template>
<template v-else>
{{ scope.row[item.t_props] || '-' }}
</template>
<!-- <template v-else>
{{
v === 0
? indexContinuation(
@ -55,7 +66,7 @@
)
: scope.row[item.t_props] || '-'
}}
</template>
</template> -->
</template>
</el-table-column>
<el-table-column

View File

@ -31,7 +31,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '预报废单号' },
{ t_props: 'scrapNum', t_label: '退料单号' },
{ t_props: 'repairNum', t_label: '单位名称' },
@ -61,7 +61,7 @@ export const dialogConfig = {
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -31,7 +31,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '预报废单号' },
{ t_props: 'scrapNum', t_label: '维修单号' },
{ t_props: 'repairNum', t_label: '单位名称' },
@ -61,7 +61,7 @@ export const dialogConfig = {
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -15,7 +15,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: '', t_label: '预报废单号' },
{ t_props: '', t_label: '机具类型' },
{ t_props: '', t_label: '任务创建人' },

View File

@ -39,7 +39,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'scrapNum', t_label: '预报废单号', },
{ t_width: '', t_props: '', t_label: '报废来源', t_slot: 'source', },
{ t_width: '', t_props: 'repairNum', t_label: '单号', t_slot: 'code', },
@ -74,7 +74,7 @@ export const dialogConfig = {
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -160,185 +160,185 @@
</template>
<script>
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import ScrapSource from '../../component/scrapSource.vue'
import { config, dialogConfig, getSelList, getTypeListSel } from './config'
import {
getForecastWasteListApi,
getDialogListApi,
auditingPreScrapApi,
} from '@/api/scrap/forecastWaste.js'
export default {
name: 'Inventory',
components: {
TableModel,
DialogModel,
ScrapSource,
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import ScrapSource from '../../component/scrapSource.vue'
import { config, dialogConfig, getSelList, getTypeListSel } from './config'
import {
getForecastWasteListApi,
getDialogListApi,
auditingPreScrapApi,
} from '@/api/scrap/forecastWaste.js'
export default {
name: 'Inventory',
components: {
TableModel,
DialogModel,
ScrapSource,
},
data() {
return {
config,
dialogConfig,
getDialogListApi,
getForecastWasteListApi,
getSelList,
getTypeListSel,
/* 驳回原因 */
rejectReason: '',
/* 选中的审核数据 */
selAuditingList: [],
/* 请求参数 */
sendParams: {},
/* 当前登录的用户id */
userId: sessionStorage.getItem('userId'),
/* 审核参数 */
auditingParams: {
taskId: '',
scrapDetailList: [],
},
tbAllChecked: false, //
dataCondition: [], // taskId
}
},
created() {
this.getSelList()
this.getTypeListSel()
},
methods: {
/* 查看 */
async handlePreview(row) {
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
this.dialogConfig.outerTitle = '查看'
this.dialogConfig.isSelShow = false
this.dialogConfig.outerVisible = true
},
data() {
return {
config,
dialogConfig,
getDialogListApi,
getForecastWasteListApi,
getSelList,
getTypeListSel,
/* 驳回原因 */
rejectReason: '',
/* 选中的审核数据 */
selAuditingList: [],
/* 请求参数 */
sendParams: {},
/* 当前登录的用户id */
userId: sessionStorage.getItem('userId'),
/* 审核参数 */
auditingParams: {
taskId: '',
scrapDetailList: [],
},
tbAllChecked: false, //
dataCondition: [], // taskId
/* 审核 */
handleAuditing(row) {
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
this.dialogConfig.outerTitle = '审核'
this.dialogConfig.isSelShow = true
this.dialogConfig.outerVisible = true
},
/* 外层弹框关闭 */
closeDialogOuter() {
this.dialogConfig.outerVisible = false
},
/* 内层弹框关闭 */
closeDialogInner() {
this.dialogConfig.innerVisible = false
},
/* 弹框内列表复选框勾选后数据 */
getDialogTbSelList(list) {
this.selAuditingList = list
},
getTableSelectionList(list) {
this.dataCondition = []
if (list.length > 0)
list.forEach((ele) => {
this.dataCondition.push(ele.taskId)
})
},
/* 审核通过 */
async auditingPass() {
if (this.selAuditingList.length < 1) {
this.$message.error('请勾选审核设备')
return
}
},
created() {
this.getSelList()
this.getTypeListSel()
},
methods: {
/* 查看 */
async handlePreview(row) {
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
this.dialogConfig.outerTitle = '查看'
this.dialogConfig.isSelShow = false
this.dialogConfig.outerVisible = true
},
/* 审核 */
handleAuditing(row) {
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
this.dialogConfig.outerTitle = '审核'
this.dialogConfig.isSelShow = true
this.dialogConfig.outerVisible = true
},
/* 外层弹框关闭 */
closeDialogOuter() {
this.dialogConfig.outerVisible = false
},
/* 内层弹框关闭 */
closeDialogInner() {
this.dialogConfig.innerVisible = false
},
/* 弹框内列表复选框勾选后数据 */
getDialogTbSelList(list) {
this.selAuditingList = list
},
getTableSelectionList(list) {
this.dataCondition = []
if (list.length > 0)
list.forEach((ele) => {
this.dataCondition.push(ele.taskId)
})
},
/* 审核通过 */
async auditingPass() {
if (this.selAuditingList.length < 1) {
this.$message.error('请勾选审核设备')
return
this.selAuditingList.map((e) => {
/* 获取当前需要审核的设备数据 */
let deviceInfo = {
id: e.id, // ID
auditBy: this.userId, // ID
status: '1', // 1 2
}
this.auditingParams.scrapDetailList.push(deviceInfo)
})
const res = await auditingPreScrapApi(this.auditingParams)
if (res.code == 200) {
this.$message.success('审核通过!')
this.dialogConfig.outerVisible = false
this.$refs.tbRef.getList()
}
},
/* 审核驳回 */
async auditingReject() {
// if (this.tbAllChecked) {
// this.$message.error('')
// this.dialogConfig.outerVisible = false
// return
// }
if (this.selAuditingList.length < 1) {
this.$message.error('请勾选审核设备')
return
}
this.dialogConfig.innerTitle = '驳回原因'
this.dialogConfig.innerVisible = true
},
/* 驳回原因弹框内取消按钮 */
handleCancelInner() {
/* 关闭内弹框 */
this.dialogConfig.innerVisible = false
},
/* 驳回弹框内保存按钮 */
async handleSubmitInner() {
if (!this.rejectReason) {
this.$message.error('驳回原因不能为空!')
this.$refs.rejectReasonRef.focus()
return
} else {
this.selAuditingList.map((e) => {
/* 获取当前需要审核的设备数据 */
let deviceInfo = {
id: e.id, // ID
auditBy: this.userId, // ID
status: '1', // 1 2
status: '2', // 1 2
auditRemark: this.rejectReason, //
}
this.auditingParams.scrapDetailList.push(deviceInfo)
})
const res = await auditingPreScrapApi(this.auditingParams)
if (res.code == 200) {
this.$message.success('审核通过!')
this.dialogConfig.outerVisible = false
this.$refs.tbRef.getList()
}
},
/* 审核驳回 */
async auditingReject() {
// if (this.tbAllChecked) {
// this.$message.error('')
// this.dialogConfig.outerVisible = false
// return
// }
if (this.selAuditingList.length < 1) {
this.$message.error('请勾选审核设备')
return
}
this.dialogConfig.innerTitle = '驳回原因'
this.dialogConfig.innerVisible = true
},
/* 驳回原因弹框内取消按钮 */
handleCancelInner() {
/* 关闭内弹框 */
this.dialogConfig.innerVisible = false
},
/* 驳回弹框内保存按钮 */
async handleSubmitInner() {
if (!this.rejectReason) {
this.$message.error('驳回原因不能为空!')
this.$refs.rejectReasonRef.focus()
return
} else {
this.selAuditingList.map((e) => {
/* 获取当前需要审核的设备数据 */
let deviceInfo = {
id: e.id, // ID
auditBy: this.userId, // ID
status: '2', // 1 2
auditRemark: this.rejectReason, //
}
this.auditingParams.scrapDetailList.push(deviceInfo)
this.$message.success('已驳回!')
this.dialogConfig.innerVisible = false
/* 当驳回成功 重新查询列表回显数据 */
this.$nextTick(() => {
this.$refs.dialogTbRef.getList()
})
const res = await auditingPreScrapApi(this.auditingParams)
if (res.code == 200) {
this.$message.success('已驳回!')
this.dialogConfig.innerVisible = false
/* 当驳回成功 重新查询列表回显数据 */
this.$nextTick(() => {
this.$refs.dialogTbRef.getList()
})
}
}
}
},
/* 数据导出 */
handleExport(data) {
console.log(
'🚀 ~ 导出 ~ this.dataCondition:',
data,
this.dataCondition,
)
if (this.dataCondition.length > 0)
data.dataCondition = this.dataCondition
this.download(
'material/scrap/exportForecastWaste',
{
...data,
},
`预报废审核列表_${new Date().getTime()}.xlsx`,
)
},
},
watch: {
dialogConfig: {
handler(newVal) {
/* 监听外层弹框关闭 清空勾选的数据 */
if (!newVal.outerVisible) {
this.selectionList = []
}
},
/* 数据导出 */
handleExport(data) {
console.log(
'🚀 ~ 导出 ~ this.dataCondition:',
data,
this.dataCondition,
)
if (this.dataCondition.length > 0)
data.dataCondition = this.dataCondition
this.download(
'material/scrap/exportForecastWaste',
{
...data,
},
`预报废审核列表_${new Date().getTime()}.xlsx`,
)
},
deep: true,
},
watch: {
dialogConfig: {
handler(newVal) {
/* 监听外层弹框关闭 清空勾选的数据 */
if (!newVal.outerVisible) {
this.selectionList = []
}
},
deep: true,
},
},
}
</script>
},
}
</>

View File

@ -12,7 +12,7 @@ export const config = {
{ f_label: '规格型号', f_model: 'backPro', f_type: 'sel', f_selList: [] },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'demo', t_label: '类型名称' },
{ t_width: '', t_props: '', t_label: '规格型号' },
{ t_width: '', t_props: '', t_label: '数量' },
@ -44,7 +44,7 @@ export const dialogConfig = {
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'demo', t_label: '设备类型' },
{ t_width: '', t_props: '', t_label: '规格型号' },
{ t_width: '', t_props: '', t_label: '设备编码' },

View File

@ -41,7 +41,7 @@ export const config = {
},
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'scrapNum', t_label: '报废单号' },
{ t_width: '', t_props: '', t_label: '报废来源', t_slot: 'source' },
{ t_width: '', t_props: 'repairNum', t_label: '预报废单号' },
@ -75,7 +75,7 @@ export const dialogConfig = {
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -30,7 +30,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '报废单号' },
{ t_props: '', t_label: '报废来源', t_slot: 'source' },
{ t_props: 'repairNum', t_label: '预报废单号' },
@ -59,7 +59,7 @@ export const dialogConfig = {
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -38,7 +38,7 @@ export const config = {
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '报废单号' },
{ t_props: 'scrapSource', t_label: '报废来源', t_slot: 'source' },
{ t_props: 'repairNum', t_label: '预报废单号' },
@ -67,7 +67,7 @@ export const dialogConfig = {
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
],
columnsList: [
{ t_width: '55px', t_props: '', t_label: '序号' },
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },

View File

@ -0,0 +1,24 @@
export const dialogConfig = {
outerWidth: '70%',
outerTitle: '查看',
outerVisible: false,
handleColShow: false, // 是否显示操作列
pageShow: true, // 是否显示分页组件
isSelShow: false,// 表格是否需要复选框
isFormShow: true, // 是否显示表单查询组件
formLabel: [
{ f_label: '关键字', f_model: 'keyWord', f_type: 'ipt', },
],
columnsList: [
{ t_width: '', t_props: 'putInType', t_label: '入库来源' },
{ t_width: '', t_props: 'typeName', t_label: '设备类型' },
{ t_width: '', t_props: 'typeModelName', t_label: '规格型号' },
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
{ t_width: '', t_props: 'modelName', t_label: '入库人' },
{ t_width: '', t_props: 'createDate', t_label: '入库日期' },
],
}

View File

@ -55,6 +55,7 @@
v-loading="loading"
:data="returnList"
@selection-change="handleSelectionChange"
border
>
<el-table-column
align="center"
@ -107,17 +108,16 @@
prop="remark"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dict:edit']"
>审核</el-button>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center">
<template slot-scope="{ row }">
<el-button
type="text"
size="mini"
@click="queryDetails(row)"
>查看详情</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
@ -757,6 +757,21 @@
<el-button @click="cancelCode"> </el-button>
</div>
</el-dialog>
<!-- 查看时详情弹框 -->
<DialogModel
:dialogConfig="dialogConfig"
@closeDialogOuter="closeDialogOuter"
>
<template slot="outerContent">
<el-table data="detailsList">
<el-table-column></el-table-column>
<el-table-column></el-table-column>
<el-table-column></el-table-column>
<el-table-column></el-table-column>
</el-table>
</template>
</DialogModel>
</div>
</template>
@ -774,14 +789,23 @@ import {
getTypeList,
getDeviceTypeTree,
inputByCode,
getInventoryWarehousingApi,
} from '@/api/store/putInStore'
import { getInfo } from '@/api/login'
import { supplierInfoList } from '@/api/store/tools'
import { getUnitData, getProData } from '@/api/claimAndRefund/receive'
import DialogModel from '@/components/DialogModel'
import TableMode from '@/components/TableModel'
import { dialogConfig } from './config'
export default {
name: 'DevicesWarehousing',
// dicts: ['sys_normal_disable'],
components: {
DialogModel,
TableMode,
},
data() {
return {
//
@ -919,6 +943,12 @@ export default {
},
],
},
//
dialogConfig,
getInventoryWarehousingApi,
sendParams: {},
detailsList: [],
}
},
created() {
@ -1447,6 +1477,25 @@ export default {
this.codeForm.proId = val
// console.log('🚀 ~ changeProList ~ this.codeForm:', this.codeForm.proId);
},
/**
* -----------------------------------------------------------------------------------------------------------------------------
*/
/* 查看详情 */
async queryDetails(row) {
this.sendParams.kindName = row.kindName
const { data: res } = await getInventoryWarehousingApi(
this.sendParams,
)
this.detailsList = res.rows
console.log(res, '详情--')
// this.dialogConfig.outerVisible = true
},
/* 外层弹框关闭 */
closeDialogOuter() {
this.dialogConfig.outerVisible = false
},
},
}
</script>