优化领料申请编辑回显bug,完善退料接收编码设备报废图片上传,原因填写等问题

This commit is contained in:
BianLzhaoMin 2024-06-24 14:29:24 +08:00
parent e64e333dc9
commit 3b6cb450d1
10 changed files with 455 additions and 98 deletions

View File

@ -8,6 +8,7 @@
:inline="true"
v-show="showSearch"
label-width="100px"
:disabled="!isAdd && !isEdit"
>
<el-row>
<el-form-item label="领料单位" prop="unitId">
@ -50,8 +51,8 @@
<el-input
maxlength="50"
v-model="queryParams.agreementCode"
disabled
style="width: 240px"
disabled
></el-input>
</el-form-item>
<el-form-item label="设备类型" prop="companyId">
@ -59,10 +60,10 @@
@change="selDeviceTypeChange"
style="width: 240px"
v-model="queryParams.companyId"
:disabled="leaseApplyDetails.length > 0"
placeholder="请选择设备类型"
clearable
filterable
:disabled="isEdit"
>
<el-option label="机具设备" value="101"></el-option>
<el-option label="调试设备" value="102"></el-option>
@ -78,7 +79,6 @@
ref="deviceTypeCascader"
filterable
style="width: 240px"
:disabled="isEdit && !isView"
></el-cascader>
</el-form-item>
<el-form-item label="现场领料人" prop="leasePerson">
@ -104,7 +104,7 @@
<el-input
maxlength="100"
v-model="queryParams.leaseApplyInfo.remark"
placeholder="请输入备注"
:placeholder="!isAdd ? '' : '请输入备注'"
clearable
rows="1"
type="textarea"
@ -132,7 +132,7 @@
plain
icon="el-icon-plus"
size="mini"
v-if="isView"
v-if="isAdd || isEdit"
@click="handleAdd"
>
保存
@ -173,12 +173,13 @@
<template slot-scope="scope">
<el-input
v-model.number="scope.row.preNum"
placeholder="请输入预领数量"
:placeholder="!isAdd && !isEdit ? '' : '请输入预领数量'"
type="number"
min="1"
@input="checkNum(scope.row)"
clearable
style="width: 100%"
:disabled="!isAdd && !isEdit"
/>
</template>
</el-table-column>
@ -187,9 +188,10 @@
<el-input
maxlength="100"
v-model="scope.row.remark"
placeholder="请输入备注"
:placeholder="!isAdd && !isEdit ? '' : '请输入备注'"
clearable
style="width: 100%"
:disabled="!isAdd && !isEdit"
/>
</template>
</el-table-column>
@ -198,7 +200,7 @@
align="center"
fixed="right"
class-name="small-padding fixed-width"
v-if="isView"
v-if="isAdd || isEdit"
>
<template slot-scope="scope">
<!-- <el-button-->
@ -253,6 +255,12 @@ import { getInfo } from '@/api/login'
export default {
name: 'ReceiveApplyAdd',
props: {
isAdd: {
type: Boolean,
default: () => {
return false
},
},
isView: {
type: Boolean,
default: () => {
@ -466,6 +474,8 @@ export default {
deviceTypeTreeNew: [],
}
},
created() {},
mounted() {
this.GetUserInfo()
@ -475,21 +485,20 @@ export default {
this.GetDeviceTypeTree()
// this.getList();
if (this.$route.query.taskId && !this.$route.query.isBack) {
this.GetTaskDetail(this.$route.query.taskId)
}
if (this.$route.query.taskId && this.$route.query.isBack) {
this.GetTaskDetail2(this.$route.query.taskId)
}
// if (this.$route.query.taskId && !this.$route.query.isBack) {
// this.GetTaskDetail(this.$route.query.taskId)
// }
// if (this.$route.query.taskId && this.$route.query.isBack) {
// this.GetTaskDetail2(this.$route.query.taskId)
// }
// this.taskId = this.$route.query.taskId
// this.isEdit = this.$route.query.isEdit
// console.log(typeof(this.isEdit))
// this.$set('isEdit',this.$route.query.isEdit)
this.taskId = this.viewTaskId
if (this.taskId) {
this.GetTaskDetail(this.taskId)
}
// console.log(typeof(this.isEdit))
// this.$set('isEdit',this.$route.query.isEdit)
},
methods: {
@ -526,6 +535,13 @@ export default {
level: 4,
}
const res = await getDeviceTypeTree(params)
if (this.isEdit) {
console.log(this.queryParams.companyId, '--------------------')
this.deviceTypeTreeNew = res.data.filter(
(e) => e.companyId == this.queryParams.companyId,
)
}
this.deviceTypeTree = res.data
},
// id
@ -835,10 +851,6 @@ export default {
//
selDeviceTypeChange(val) {
console.log(val, '设备类型选择-----')
console.log(this.deviceTypeTree, '树形数据源--')
this.deviceTypeTreeNew = this.deviceTypeTree.filter(
(e) => e.companyId == val,
)

View File

@ -304,7 +304,8 @@
(scope.row.taskStatus == 98 ||
scope.row.taskStatus == 99 ||
scope.row.taskStatus == 100) &&
scope.row.createBy === currentUserName
(scope.row.createBy === currentUserName ||
scope.row.createBy == currentUserId)
"
@click="handleUpdate2(scope.row)"
v-hasPermi="['picking:apply:reject:submit']"
@ -397,6 +398,7 @@ export default {
unitList: [], //
proList: [], //
currentUserName: sessionStorage.getItem('userName'),
currentUserId: sessionStorage.getItem('userId'),
taskStatusList: [
{ name: '待分公司审核', id: 30 },
{ name: '待分管部门审核', id: 31 },
@ -503,7 +505,8 @@ export default {
// },
// })
this.$emit('addPicking')
// this.$emit('addPicking')
this.$emit('handlePicking', 1)
},
//
handleSelectionChange(selection) {
@ -523,8 +526,8 @@ export default {
// .then(() => {
// this.$tab.refreshPage()
// })
this.$emit('viewPicking', row.taskId, this.queryParams)
// this.$emit('viewPicking', row.taskId, this.queryParams)
this.$emit('handlePicking', 3, row.taskId)
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -535,7 +538,8 @@ export default {
// isEdit: true,
// },
// })
this.$emit('editPicking', row.taskId, this.queryParams)
// this.$emit('editPicking', row.taskId, this.queryParams)
this.$emit('handlePicking', 2, row.taskId)
},
/** 驳回按钮操作 */
handleUpdate2(row) {
@ -547,12 +551,13 @@ export default {
// isBack: true,
// },
// })
this.$emit(
'editPicking',
row.taskId,
this.queryParams,
row.taskStatus,
)
// this.$emit(
// 'editPicking',
// row.taskId,
// this.queryParams,
// row.taskStatus,
// )
this.$emit('handlePicking', 2, row.taskId)
},
/** 删除按钮操作 */
async handleDelete(row) {

View File

@ -9,6 +9,7 @@
<component
:is="isShowComponent"
:viewTaskId="viewTaskId"
:isAdd="isAdd"
:isView="isView"
:isEdit="isEdit"
:rejectTaskStatus="rejectTaskStatus"
@ -17,6 +18,7 @@
@viewPicking="viewPicking"
@editPicking="editPicking"
@goBackPage="goBack"
@handlePicking="handlePicking"
/>
</div>
</template>
@ -37,9 +39,13 @@ export default {
pageContent: '新增领料任务',
viewTaskId: '',
rejectTaskStatus: '',
isView: false,
isEdit: false,
routerParams: {},
isAdd: false,
isView: false,
isEdit: false,
}
},
methods: {
@ -71,6 +77,32 @@ export default {
this.isShowComponent = 'AddPicking'
this.routerParams = routerParams
},
//
handlePicking(type, taskId) {
switch (type) {
case 1:
this.pageContent = '新增领料任务'
this.isAdd = true
this.isEdit = false
this.viewTaskId = ''
break
case 2:
this.pageContent = '领料任务编辑'
this.isAdd = false
this.isEdit = true
this.viewTaskId = taskId
break
case 3:
this.pageContent = '领料任务详情'
this.isAdd = false
this.isEdit = false
this.viewTaskId = taskId
break
}
this.isShowComponent = 'AddPicking'
},
goBack() {
this.isShowComponent = 'Home'
},

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container"> 退料驳回管理 </div>
<div> 退料驳回管理 </div>
</template>
<script>

View File

@ -88,7 +88,9 @@
align="center"
width="80"
type="index"
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
>
<!-- <template slot-scope="scope">
<span>{{
@ -318,7 +320,9 @@
align="center"
width="80"
type="index"
:index="indexContinuation(codeQuery.pageNum, codeQuery.pageSize)"
:index="
indexContinuation(codeQuery.pageNum, codeQuery.pageSize)
"
>
<!-- <template slot-scope="scope">
<span>{{
@ -1164,7 +1168,7 @@ export default {
saveCodeBack(row, type) {
if (this.returnNum == 0) {
this.$modal.msgError('退料数量为零,无法操作!')
} else if (type == 1 || type == 2 || type == 3) {
} else if (type == 1 || type == 2) {
let arr = [
{
parentId: this.codeQuery.parentId,
@ -1190,8 +1194,8 @@ export default {
}
})
} else {
// this.currentCode = row.maCode
// this.innerVisible = true
this.currentCode = row.maCode
this.innerVisible = true
}
},
//
@ -1204,7 +1208,7 @@ export default {
saveCodeBackBatch(type) {
if (this.codeSelectList.length > this.returnNum) {
this.$modal.msgError('退料总量已大于待退料数量!')
} else if (type == 1 || type == 2 || type == 3) {
} else if (type == 1 || type == 2) {
let arr = []
arr = this.codeSelectList.map((item) => {
return {
@ -1233,12 +1237,12 @@ export default {
}
})
} else {
// if (this.codeSelectList.length < 0) {
// this.$modal.msgError('')
// } else {
// this.scrapAll = true
// this.innerVisible = true
// }
if (this.codeSelectList.length < 0) {
this.$modal.msgError('请先勾选数据!')
} else {
this.scrapAll = true
this.innerVisible = true
}
}
},

View File

@ -0,0 +1,124 @@
import {
getUnitInfoSelectApi,
listPartTypeApi,
} from '@/api/repairTest/repair'
import { getProjectList } from '@/api/claimAndRefund/receive'
let unitList = []
let proList = []
let typeList = []
export const config = {
handleColShow: true, // 是否显示操作列
pageShow: true, // 是否显示分页组件
isSelShow: true,// 表格是否需要复选框
isFormShow: true, // 是否显示表单查询组件
handleWidth: '160px', // 操作列宽度
formLabel: [
{ f_label: '关键字', f_model: 'keyword', f_type: 'ipt' },
{ f_label: '单位名称', f_model: 'backUnit', f_type: 'sel', f_selList: [] },
{ f_label: '工程名称', f_model: 'backPro', f_type: 'sel', f_selList: [] },
{ f_label: '工机具类型', f_model: 'type', f_type: 'selCas', f_selList: [], optionProps: { value: 'id', } },
],
columnsList: [
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '预报废单号' },
{ t_props: 'scrapNum', t_label: '退料单号' },
{ t_props: 'repairNum', t_label: '单位名称' },
{ t_props: 'repairNum', t_label: '工程名称' },
{ t_props: 'itemType', t_label: '设备类型' },
{ t_props: 'createBy', t_label: '任务创建人' },
{ t_props: 'createTime', t_label: '任务创建时间' },
// { t_props: 'createTime', t_label: '审批状态' },
{ t_props: 'createTime', t_label: '驳回原因' },
],
routerParams: ''
}
export const dialogConfig = {
outerWidth: '70%',
outerTitle: '',
outerVisible: false,
innerWidth: '50%',
innerTitle: '',
innerVisible: false,
handleColShow: false, // 是否显示操作列
pageShow: true, // 是否显示分页组件
isSelShow: false,// 表格是否需要复选框
isFormShow: true, // 是否显示表单查询组件
formLabel: [
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
],
columnsList: [
// { 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: '设备编码' },
{ t_width: '', t_props: 'scrapNum', t_label: '数量' },
{ t_width: '', t_props: 'remark', t_label: '驳回原因' },
],
}
// 驳回退料页面
export const configReturn = {
handleColShow: true, // 是否显示操作列
pageShow: true, // 是否显示分页组件
isSelShow: false,// 表格是否需要复选框
isFormShow: true, // 是否显示表单查询组件
handleWidth: '160px', // 操作列宽度
formLabel: [
{ f_label: '关键字', f_model: 'keyword', f_type: 'ipt' },
{ f_label: '类型名称', f_model: 'backUnit', f_type: 'sel', f_selList: [] },
{ f_label: '规格型号', f_model: 'backPro', f_type: 'sel', f_selList: [] },
],
columnsList: [
// { t_width: '55px', t_props: '', t_label: '序号' },
{ t_props: 'scrapNum', t_label: '类型名称' },
{ t_props: 'scrapNum', t_label: '规格型号' },
{ t_props: 'repairNum', t_label: '退料数量' },
{ t_props: 'repairNum', t_label: '合格数量' },
{ t_props: 'itemType', t_label: '维修数量' },
{ t_props: 'createBy', t_label: '预报废数量' },
{ t_props: 'createTime', t_label: '状态' },
],
routerParams: ''
}
export const getSelList = () => {
new Promise(async (resolve) => {
const { data: unitRes } = await getUnitInfoSelectApi()
unitList = unitRes.map((e) => {
e.value = e.unitId
e.label = e.unitName
return e
})
const { data: proRes } = await getProjectList()
proList = proRes.map((e) => {
e.value = e.projectId
e.label = e.projectName
return e
})
const { data: typeRes } = await listPartTypeApi()
typeList = typeRes
resolve()
}).then(() => {
config.formLabel.map((item) => {
if (item.f_model === 'backUnit') {
item.f_selList = unitList
return item
}
if (item.f_model === 'backPro') {
item.f_selList = proList
return item
}
if (item.f_model === 'type') {
item.f_selList = typeList
return item
}
})
}).catch(() => {
})
}

View File

@ -0,0 +1,87 @@
<template>
<!-- 退料报废页面 -->
<div>
<TableModel :config="config">
<template slot="export">
<el-row class="mb8">
<el-button
type="success"
plain
icon="el-icon-download"
size="mini"
>导出数据</el-button
>
</el-row>
</template>
<!-- 列表操作栏 -->
<template slot="handle" slot-scope="{ data }">
<el-button size="mini" type="text" @click="handlePreview(data)">
查看
</el-button>
<el-button
size="mini"
type="text"
@click="handleRejectReturn(data)"
>
驳回退料
</el-button>
</template>
</TableModel>
<DialogModel
:dialogConfig="dialogConfig"
@closeDialogOuter="closeDialogOuter"
@closeDialogInner="closeDialogInner"
>
<template slot="outerContent">
<TableModel :config="dialogConfig"></TableModel>
</template>
</DialogModel>
</div>
</template>
<script>
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import { config, dialogConfig, getSelList } from './config.js'
export default {
components: {
TableModel,
DialogModel,
},
data() {
return {
config,
dialogConfig,
getSelList,
}
},
created() {
this.getSelList()
},
methods: {
/* 查看 */
handlePreview() {
console.log('查看')
this.dialogConfig.outerTitle = '查看'
this.dialogConfig.outerVisible = true
},
/* 维修 */
handleRejectReturn() {
console.log('驳回退料')
this.$emit('openReturnPage')
},
/* 外层弹框关闭 */
closeDialogOuter() {
this.dialogConfig.outerVisible = false
},
/* 内层弹框关闭 */
closeDialogInner() {
this.dialogConfig.innerVisible = false
},
},
}
</script>
<style></style>

View File

@ -0,0 +1,61 @@
<template>
<!-- 报废驳回 -->
<div>
<PageHeader :pageContent="pageContent" @goBack="goBack" />
<TableModel :config="configReturn">
<template slot="export">
<el-row class="mb8">
<el-button
type="success"
plain
icon="el-icon-download"
size="mini"
>完成退料</el-button
>
</el-row>
</template>
<!-- 列表操作栏 -->
<template slot="handle" slot-scope="{ data }">
<el-button size="mini" type="text" @click="handlePreview(data)">
查看
</el-button>
<el-button
size="mini"
type="text"
@click="handleEditReturn(data)"
>
编辑退料
</el-button>
<el-button size="mini" type="text" @click="handleRevoke(data)">
撤回
</el-button>
</template>
</TableModel>
</div>
</template>
<script>
import PageHeader from '@/components/pageHeader'
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import { configReturn } from './config.js'
export default {
components: {
PageHeader,
TableModel,
DialogModel,
},
data() {
return {
pageContent: '驳回退料',
configReturn,
}
},
methods: {
goBack() {
this.$emit('closeReturnPage')
},
},
}
</script>

View File

@ -0,0 +1,32 @@
<template>
<div class="app-container">
<Home @openReturnPage="openReturnPage" v-if="isHome" />
<Return @closeReturnPage="closeReturnPage" v-else />
</div>
</template>
<script>
import Home from './component/home.vue'
import Return from './component/return.vue'
export default {
components: {
Home,
Return,
},
data() {
return {
isHome: true,
}
},
methods: {
openReturnPage() {
this.isHome = false
},
closeReturnPage() {
this.isHome = true
},
},
}
</script>

View File

@ -79,12 +79,12 @@
</template>
<script>
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import SelDepart from '../../component/selDepart.vue'
import { config, dialogConfig } from './config'
import { receiveView } from '@/api/claimAndRefund/return'
export default {
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import SelDepart from '../../component/selDepart.vue'
import { config, dialogConfig } from './config'
import { receiveView } from '@/api/claimAndRefund/return'
export default {
name: 'auditingReturn',
components: {
TableModel,
@ -135,5 +135,5 @@
this.dialogConfig.innerVisible = false
},
},
}
}
</script>