报废驳回后退料功能开发
This commit is contained in:
parent
a308207b26
commit
41a735b8cb
|
|
@ -19,8 +19,20 @@ export const auditingPreScrapApi = (data) => {
|
|||
export const getPreScrapListApi = (data) => {
|
||||
return request.get('/material/scrap/getScrapTaskList', { params: data })
|
||||
}
|
||||
/* 预报废列表驳回退料查询接口 */
|
||||
export const getScrapReturnDetailsApi = (data) => {
|
||||
return request.get('/material/scrap/getScrapRefuseList', { params: data })
|
||||
}
|
||||
/* 预报废列表驳回退料 编辑退料查询接口 */
|
||||
export const getScrapEditReturnApi = (data) => {
|
||||
return request.get('/material/scrap/getScrapRefuseMaCodeList', { params: data })
|
||||
}
|
||||
/* 预报废列表驳回退料 保存接口 */
|
||||
export const getScrapReturnSaveApi = (data) => {
|
||||
return request.post('/material/scrap/setNumOrCodeBack', data)
|
||||
}
|
||||
|
||||
/* 报废列表提交报废接口 */
|
||||
/* 预报废列表提交报废接口 */
|
||||
export const submitScrapApi = (data) => {
|
||||
return request.post('/material/scrap/submitScrapTask', data)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
>
|
||||
<template slot-scope="{ row }">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
v-model="row.status"
|
||||
active-value="0"
|
||||
inactive-value="1"
|
||||
@change="changeStatus(row)"
|
||||
|
|
|
|||
|
|
@ -246,7 +246,11 @@
|
|||
|
||||
<!-- 弹框内层内容 -->
|
||||
<template slot="innerContent">
|
||||
<el-form :model="scrapInfoParams">
|
||||
<el-form
|
||||
:model="scrapInfoParams"
|
||||
ref="scrapInfoRef"
|
||||
:rules="scrapInfoRules"
|
||||
>
|
||||
<el-form-item label="报废原因:">
|
||||
<el-input
|
||||
v-model="scrapInfoParams.scrapReason"
|
||||
|
|
@ -256,7 +260,7 @@
|
|||
style="width: 350px"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="损坏原因:">
|
||||
<el-form-item label="损坏原因:" prop="scrapType">
|
||||
<el-radio-group
|
||||
style="width: 350px"
|
||||
v-model="scrapInfoParams.scrapType"
|
||||
|
|
@ -266,11 +270,16 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="损坏照片:" class="upload-box">
|
||||
<el-form-item
|
||||
label="损坏照片:"
|
||||
class="upload-box"
|
||||
prop="fileList"
|
||||
required
|
||||
>
|
||||
<!-- 报废图片 -->
|
||||
<Upload
|
||||
style="width: 350px"
|
||||
:file-list="fileList"
|
||||
:file-list="scrapInfoParams.fileList"
|
||||
:action-url="actionUrl"
|
||||
:limit="3"
|
||||
:multiple="true"
|
||||
|
|
@ -356,8 +365,8 @@ export default {
|
|||
scrapReason: '', // 报废原因
|
||||
scrapType: '', // 损坏原因
|
||||
fileUrl: '',
|
||||
fileList: [],
|
||||
},
|
||||
fileList: [],
|
||||
imgUrlList: [],
|
||||
actionUrl: process.env.VUE_APP_BASE_API + '/system/sys/file/upload',
|
||||
numReturnList: [],
|
||||
|
|
@ -380,6 +389,18 @@ export default {
|
|||
backReceiveRecordWebPt,
|
||||
currentRows: null,
|
||||
scrapAll: false,
|
||||
scrapInfoRules: {
|
||||
scrapType: {
|
||||
required: true,
|
||||
message: '请选择损坏原因',
|
||||
trigger: 'change',
|
||||
},
|
||||
fileList: {
|
||||
required: true,
|
||||
message: '请上传图片',
|
||||
trigger: 'change',
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -603,6 +624,14 @@ export default {
|
|||
if (bfNum > 0) {
|
||||
detailsInfo.backNum = bfNum
|
||||
detailsInfo.backStatus = 3
|
||||
|
||||
if (
|
||||
!this.scrapInfoParams.scrapType ||
|
||||
this.imgUrlList.length === 0
|
||||
) {
|
||||
this.$message.error('请编辑报废信息!')
|
||||
return
|
||||
}
|
||||
detailsInfo.scrapReason = this.scrapInfoParams.scrapReason
|
||||
detailsInfo.scrapType = this.scrapInfoParams.scrapType
|
||||
if (this.imgUrlList.length > 0) {
|
||||
|
|
@ -643,14 +672,25 @@ export default {
|
|||
},
|
||||
// 移除报废图片
|
||||
handleRemove(file) {
|
||||
this.imgUrlList = this.imgUrlList.filter(
|
||||
(e) => e !== file.response.data.fileUrl,
|
||||
)
|
||||
console.log(file, '移除的数据---')
|
||||
this.imgUrlList = this.imgUrlList.filter((e) => e !== file.url)
|
||||
this.scrapInfoParams.fileList =
|
||||
this.scrapInfoParams.fileList.filter((e) => e.url !== file.url)
|
||||
},
|
||||
// 图片上传成功
|
||||
handleSuccess(res) {
|
||||
if (res.code == 200) {
|
||||
this.imgUrlList.push(res.data.fileUrl)
|
||||
|
||||
console.log(res, '图片上传成功!!')
|
||||
|
||||
let fileObj = {
|
||||
name: res.data.fileName,
|
||||
url: res.data.fileUrl,
|
||||
}
|
||||
this.scrapInfoParams.fileList.push(fileObj)
|
||||
|
||||
this.$refs.scrapInfoRef.clearValidate('fileList')
|
||||
}
|
||||
},
|
||||
// 取消
|
||||
|
|
@ -659,84 +699,91 @@ export default {
|
|||
},
|
||||
// 保存
|
||||
handleSubmitInner() {
|
||||
if (this.dialogConfigReturn.outerTitle === '编码退料') {
|
||||
if (this.currentRows) {
|
||||
console.log(this.currentRows, '当前行信息')
|
||||
let arr = [
|
||||
{
|
||||
parentId: this.sendParamsReturn.parentId,
|
||||
typeId: this.currentRows.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: this.currentRows.maId,
|
||||
scrapReason: this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
},
|
||||
]
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr[0].fileUrl = this.imgUrlList.join(',')
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
}
|
||||
setCodeBack(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.currentRows = null
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
this.$refs.scrapInfoRef.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.dialogConfigReturn.outerTitle === '编码退料') {
|
||||
if (this.currentRows) {
|
||||
console.log(this.currentRows, '当前行信息')
|
||||
let arr = [
|
||||
{
|
||||
parentId: this.sendParamsReturn.parentId,
|
||||
typeId: this.currentRows.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: this.currentRows.maId,
|
||||
scrapReason:
|
||||
this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
},
|
||||
]
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr[0].fileUrl = this.imgUrlList.join(',')
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
}
|
||||
setCodeBack(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.currentRows = null
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (this.scrapAll) {
|
||||
console.log('批量报废功能!!!')
|
||||
let arr = []
|
||||
arr = this.taSelList.map((item) => {
|
||||
return {
|
||||
parentId: this.sendParamsReturn.parentId,
|
||||
typeId: item.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: item.maId,
|
||||
scrapReason: this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
}
|
||||
})
|
||||
if (this.scrapAll) {
|
||||
console.log('批量报废功能!!!')
|
||||
let arr = []
|
||||
arr = this.taSelList.map((item) => {
|
||||
return {
|
||||
parentId: this.sendParamsReturn.parentId,
|
||||
typeId: item.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: item.maId,
|
||||
scrapReason:
|
||||
this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
}
|
||||
})
|
||||
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr.map((e) => (e.fileUrl = this.imgUrlList.join(',')))
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
}
|
||||
setCodeBack(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.scrapAll = false
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr.map(
|
||||
(e) =>
|
||||
(e.fileUrl = this.imgUrlList.join(',')),
|
||||
)
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
}
|
||||
setCodeBack(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.scrapAll = false
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
this.dialogConfigReturn.innerVisible = false
|
||||
}
|
||||
}
|
||||
this.dialogConfigReturn.innerVisible = false
|
||||
})
|
||||
},
|
||||
// 完成退料
|
||||
async handleComplete() {
|
||||
let param1 = {
|
||||
parentId: this.sendParams.id,
|
||||
}
|
||||
|
||||
console.log(param1, '参数1----')
|
||||
const res1 = await getRecord(param1)
|
||||
if (res1.code == 200) {
|
||||
let param = {
|
||||
|
|
@ -775,6 +822,7 @@ export default {
|
|||
this.scrapInfoParams.scrapReason = ''
|
||||
this.scrapInfoParams.scrapType = ''
|
||||
this.scrapInfoParams.fileUrl = ''
|
||||
this.scrapInfoParams.fileList = []
|
||||
this.codeDetails = true
|
||||
this.imgUrlList = []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,75 @@
|
|||
|
||||
|
||||
export const config = {
|
||||
// 驳回退料页面
|
||||
export const configReturn = {
|
||||
handleColShow: true, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
isSelShow: true,// 表格是否需要复选框
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '', // 操作列宽度
|
||||
formLabel: [
|
||||
{ f_label: '关键字', f_model: 'keywords', 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: 'keyWord', f_type: 'ipt' },
|
||||
{ f_label: '类型名称', f_model: 'typeId', f_type: 'sel', f_selList: [] },
|
||||
{ f_label: '规格型号', f_model: 'modelId', f_type: 'selCas', f_selList: [], optionProps: { value: 'id', } },
|
||||
],
|
||||
columnsList: [
|
||||
// { 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: '数量' },
|
||||
{ t_width: '', t_props: '', t_label: '合格数量' },
|
||||
{ t_width: '', t_props: '', t_label: '维修数量' },
|
||||
{ t_width: '', t_props: '', t_label: '预报废数量' },
|
||||
{ t_width: '', t_props: '', t_label: '状态' },
|
||||
],
|
||||
handleBtn: [
|
||||
{ btn_title: '查看', id: 1 },
|
||||
{ btn_title: '审核', id: 2 },
|
||||
|
||||
{ t_props: 'machineTypeName', t_label: '类型名称' },
|
||||
{ t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_props: 'typeCode', t_label: '退料数量', t_slot: 'preNum' },
|
||||
{ t_props: 'num', t_label: '待退料数量', t_slot: 'num' },
|
||||
// { t_props: 'num', t_label: '合格数量' },
|
||||
// { t_props: 'num', t_label: '维修数量' },
|
||||
// { t_props: 'num', t_label: '预报废数量' },
|
||||
// { t_props: 'status', t_label: '状态' },
|
||||
],
|
||||
routerParams: ''
|
||||
}
|
||||
|
||||
export const dialogConfig = {
|
||||
outerWidth: '70%',
|
||||
export const dialogConfigReturn = {
|
||||
outerWidth: '80%',
|
||||
outerTitle: '',
|
||||
outerVisible: false,
|
||||
innerWidth: '50%',
|
||||
innerTitle: '',
|
||||
innerWidth: '30%',
|
||||
innerTitle: '报废信息填写',
|
||||
innerVisible: false,
|
||||
handleColShow: false, // 是否显示操作列
|
||||
pageShow: false, // 是否显示分页组件
|
||||
handleColShow: true, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '', // 操作列宽度
|
||||
formLabel: [
|
||||
{ f_label: '设备类型', f_model: 'keywords', f_type: 'ipt' },
|
||||
{ f_label: '设备编码', f_model: 'maCode', f_type: 'ipt' },
|
||||
],
|
||||
|
||||
columnsList: [
|
||||
// { 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: '设备编码' },
|
||||
{ t_width: '', 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: 'maStatus', t_label: '退料状态' },
|
||||
],
|
||||
|
||||
}
|
||||
|
||||
export const dialogConfigReturnDet = {
|
||||
outerWidth: '80%',
|
||||
outerTitle: '详情',
|
||||
outerVisible: false,
|
||||
innerWidth: '30%',
|
||||
innerTitle: '报废信息填写',
|
||||
innerVisible: false,
|
||||
handleColShow: false, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '', // 操作列宽度
|
||||
formLabel: [
|
||||
{ f_label: '设备编码', f_model: 'maCode', f_type: 'ipt' },
|
||||
],
|
||||
columnsList: [
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'typeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'typeCode', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
{ t_width: '', t_props: '', t_label: '退料状态', t_slot: 'type', },
|
||||
],
|
||||
|
||||
}
|
||||
|
|
@ -1,78 +1,308 @@
|
|||
<template>
|
||||
<!-- 退料驳回 -->
|
||||
<!-- 报废驳回 -->
|
||||
<div>
|
||||
<TableModel
|
||||
:config="config"
|
||||
:config="configReturn"
|
||||
:sendApi="getScrapReturnDetailsApi"
|
||||
:sendParams="sendParams"
|
||||
@getTableSelectionChange="getTableSelectionChange"
|
||||
ref="homeTbRef"
|
||||
>
|
||||
<template slot="export">
|
||||
<el-row class="mb8">
|
||||
<el-button type="warning" plain size="mini"
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="handleComplete"
|
||||
>完成退料</el-button
|
||||
>
|
||||
</el-row>
|
||||
</template>
|
||||
<template slot-scope="{ data }" slot="handle">
|
||||
<el-button type="text" size="mini" @click="handlePreview(data)"
|
||||
>查看</el-button
|
||||
|
||||
<template slot="preNum" slot-scope="{ data }">
|
||||
{{ parseInt(data.preNum) }}
|
||||
</template>
|
||||
<template slot="num" slot-scope="{ data }">
|
||||
{{ parseInt(data.num) }}
|
||||
</template>
|
||||
|
||||
<!-- 列表操作栏 -->
|
||||
<template slot="handle" slot-scope="{ data }">
|
||||
<el-button
|
||||
type="text"
|
||||
@click="handlePreview(data)"
|
||||
v-if="data.num == 0"
|
||||
icon="el-icon-search"
|
||||
>
|
||||
<el-button type="text" size="mini" @click="handleEdit(data)"
|
||||
>编辑退料</el-button
|
||||
查看
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
@click="handleEditReturn(data)"
|
||||
style="color: #e6a23c"
|
||||
icon="el-icon-edit-outline"
|
||||
v-if="data.num > 0"
|
||||
>
|
||||
<el-button type="text" size="mini" @click="handleRevoke(data)"
|
||||
>撤回</el-button
|
||||
编辑退料
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
@click="handleRevoke(data)"
|
||||
icon="el-icon-circle-close"
|
||||
style="color: #de3115"
|
||||
v-if="data.num == 0"
|
||||
>
|
||||
撤回
|
||||
</el-button>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfig"
|
||||
:dialogConfig="dialogConfigReturn"
|
||||
@closeDialogOuter="closeDialogOuter"
|
||||
@closeDialogInner="closeDialogInner"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<template v-if="dialogConfig.outerTitle === '查看'">
|
||||
<TableModel :config="dialogConfig" />
|
||||
</template>
|
||||
<template v-if="dialogConfig.outerTitle === '编辑退料'">
|
||||
<TableModel :config="dialogConfig">
|
||||
<template slot="export">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-button type="success" plain size="mini"
|
||||
<template
|
||||
v-if="
|
||||
dialogConfigReturn.outerTitle !== '数量退料' &&
|
||||
codeDetails
|
||||
"
|
||||
>
|
||||
<TableModel
|
||||
v-if="isQuery"
|
||||
ref="dialogTbRef"
|
||||
:config="dialogConfigReturn"
|
||||
@getTableSelectionChange="getTableSelList"
|
||||
:sendApi="getScrapEditReturnApi"
|
||||
:sendParams="sendParamsReturn"
|
||||
>
|
||||
<template
|
||||
slot="export"
|
||||
v-if="dialogConfigReturn.outerTitle === '编码退料'"
|
||||
><el-row class="mb8">
|
||||
<el-button
|
||||
type="success"
|
||||
size="mini"
|
||||
@click="handleBatch(1)"
|
||||
>批量合格</el-button
|
||||
>
|
||||
<el-button type="warning" plain size="mini"
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="handleBatch(2)"
|
||||
>批量维修</el-button
|
||||
>
|
||||
<el-button type="danger" plain size="mini"
|
||||
>批量预报废</el-button
|
||||
<el-button
|
||||
type="warning"
|
||||
size="mini"
|
||||
@click="handleBatch(3)"
|
||||
>批量报废</el-button
|
||||
>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<template slot="handle">
|
||||
<!-- 列表操作栏 -->
|
||||
<template slot="handle" slot-scope="{ data }">
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
style="color: #95d475"
|
||||
>合格</el-button
|
||||
type="success"
|
||||
@click="handleSingle(1, data)"
|
||||
>
|
||||
合格
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
style="color: #eebe77"
|
||||
>维修</el-button
|
||||
type="primary"
|
||||
@click="handleSingle(2, data)"
|
||||
>
|
||||
待维修
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
style="color: #f89898"
|
||||
>预报废</el-button
|
||||
type="warning"
|
||||
@click="handleSingle(3, data)"
|
||||
>
|
||||
预报废
|
||||
</el-button>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
<TableModel
|
||||
v-else
|
||||
:sendApi="backReceiveRecordWebPt"
|
||||
:sendParams="sendParamsReturn"
|
||||
:config="dialogConfigReturnDet"
|
||||
>
|
||||
<template slot="type" slot-scope="{ data }">
|
||||
<el-tag
|
||||
v-if="data.backStatus == 1"
|
||||
size="mini"
|
||||
type="success"
|
||||
>合格</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-if="data.backStatus == 2"
|
||||
size="mini"
|
||||
type="warning"
|
||||
>维修</el-tag
|
||||
>
|
||||
<el-tag
|
||||
v-if="data.backStatus == 3"
|
||||
size="mini"
|
||||
type="danger"
|
||||
>报废</el-tag
|
||||
>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<el-row class="mb8">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handleSave()"
|
||||
v-if="codeDetails"
|
||||
>
|
||||
保存
|
||||
</el-button></el-row
|
||||
>
|
||||
<el-table :data="numReturnList" border>
|
||||
<el-table-column
|
||||
prop="typeName"
|
||||
align="center"
|
||||
label="类型名称"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="type"
|
||||
align="center"
|
||||
label="规格型号"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
prop="num"
|
||||
align="center"
|
||||
label="退料数量"
|
||||
/>
|
||||
<el-table-column align="center" label="合格数量">
|
||||
<template slot-scope="{ row }">
|
||||
<el-input
|
||||
style="width: 100px"
|
||||
placeholder="请输入数量"
|
||||
v-model="row.hgNum"
|
||||
v-if="!row.isQuery"
|
||||
/>
|
||||
<template v-else>
|
||||
{{ row.hgNum }}
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="待维修数量">
|
||||
<template slot-scope="{ row }">
|
||||
<el-input
|
||||
style="width: 100px"
|
||||
placeholder="请输入数量"
|
||||
v-model="row.wxNum"
|
||||
v-if="!row.isQuery"
|
||||
/>
|
||||
<template v-else>
|
||||
{{ row.wxNum }}
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预报废数量">
|
||||
<template slot-scope="{ row }">
|
||||
<el-input
|
||||
style="width: 100px"
|
||||
placeholder="请输入数量"
|
||||
v-model="row.bfNum"
|
||||
v-if="!row.isQuery"
|
||||
/>
|
||||
<template v-else>
|
||||
{{ row.bfNum }}
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="报废信息"
|
||||
v-if="isNumDetails"
|
||||
>
|
||||
<template slot-scope="{ row }">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="editScrapInfo(row)"
|
||||
:disabled="row.bfNum <= 0"
|
||||
>编 辑</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<!-- 弹框内层内容 -->
|
||||
<template slot="innerContent">
|
||||
<el-form :model="scrapInfoParams">
|
||||
<el-form-item label="报废原因:">
|
||||
<el-input
|
||||
v-model="scrapInfoParams.scrapReason"
|
||||
placeholder="请输入报废原因"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
style="width: 350px"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="损坏原因:">
|
||||
<el-radio-group
|
||||
style="width: 350px"
|
||||
v-model="scrapInfoParams.scrapType"
|
||||
>
|
||||
<el-radio :label="1">人为</el-radio>
|
||||
<el-radio :label="0">自然</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="损坏照片:" class="upload-box">
|
||||
<!-- 报废图片 -->
|
||||
<Upload
|
||||
style="width: 350px"
|
||||
:file-list="fileList"
|
||||
:action-url="actionUrl"
|
||||
:limit="3"
|
||||
:multiple="true"
|
||||
@remove="handleRemove"
|
||||
@success="handleSuccess"
|
||||
>
|
||||
<template>
|
||||
<el-row class="Upload-tip">
|
||||
<el-button size="small" type="primary"
|
||||
>点击上传</el-button
|
||||
>
|
||||
</el-row>
|
||||
<el-row class="upload-tip">
|
||||
<span class="tip-text"
|
||||
>请上传jpg、jpeg、png格式的图片,单张图片大小不可超过5M,最多可上传3张</span
|
||||
>
|
||||
</el-row>
|
||||
</template>
|
||||
</Upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row class="dialog-common-btn">
|
||||
<el-button size="mini" plain @click="handleCancelInner"
|
||||
>取 消</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="warning"
|
||||
@click="handleSubmitInner"
|
||||
>保 存</el-button
|
||||
>
|
||||
</el-row>
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
|
|
@ -81,59 +311,515 @@
|
|||
<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'
|
||||
import Upload from './upload.vue'
|
||||
import {
|
||||
configReturn,
|
||||
dialogConfigReturn,
|
||||
dialogConfigReturnDet,
|
||||
} from './config.js'
|
||||
import {
|
||||
getBackMachine,
|
||||
receiveView,
|
||||
getBackMachineNew,
|
||||
setNumBack,
|
||||
setCodeBack,
|
||||
backReceiveRecordWeb, // 数量详情
|
||||
backReceiveRecordWebPt, // 编码详情
|
||||
revoke,
|
||||
getRecord,
|
||||
endBack,
|
||||
} from '@/api/claimAndRefund/return.js'
|
||||
|
||||
import {
|
||||
getScrapReturnDetailsApi,
|
||||
getScrapEditReturnApi,
|
||||
getScrapReturnSaveApi,
|
||||
} from '@/api/scrap/forecastWaste.js'
|
||||
export default {
|
||||
name: 'auditingReturn',
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
SelDepart,
|
||||
Upload,
|
||||
},
|
||||
props: {
|
||||
sendParams: {
|
||||
returnInfo: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {}
|
||||
},
|
||||
default: () => null,
|
||||
},
|
||||
sendTbParams: {
|
||||
type: Object,
|
||||
default: () => null,
|
||||
},
|
||||
// parentId: {
|
||||
// type: [String, Number],
|
||||
// default: () => '',
|
||||
// },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
dialogConfig,
|
||||
pageContent: '驳回退料',
|
||||
configReturn,
|
||||
dialogConfigReturn,
|
||||
dialogConfigReturnDet,
|
||||
getScrapReturnDetailsApi,
|
||||
getScrapEditReturnApi,
|
||||
taSelList: [],
|
||||
// 报废信息参数
|
||||
scrapInfoParams: {
|
||||
scrapReason: '', // 报废原因
|
||||
scrapType: '', // 损坏原因
|
||||
fileUrl: '',
|
||||
},
|
||||
fileList: [],
|
||||
imgUrlList: [],
|
||||
actionUrl: process.env.VUE_APP_BASE_API + '/system/sys/file/upload',
|
||||
numReturnList: [],
|
||||
sendParams: {
|
||||
taskId: '',
|
||||
id: '',
|
||||
},
|
||||
receiveView,
|
||||
getBackMachineNew,
|
||||
getBackMachine,
|
||||
sendParamsReturn: {
|
||||
taskId: '',
|
||||
typeId: '',
|
||||
pageSize: 10,
|
||||
pageNum: 1,
|
||||
},
|
||||
codeDetails: true,
|
||||
isQuery: true,
|
||||
isNumDetails: true,
|
||||
backReceiveRecordWebPt,
|
||||
currentRows: null,
|
||||
scrapAll: false,
|
||||
parentId: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/* 按钮操作 */
|
||||
handlePreview(row) {
|
||||
this.dialogConfig.outerTitle = '查看'
|
||||
this.dialogConfig.handleColShow = false
|
||||
this.dialogConfig.outerWidth = '70%'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.dialogConfig.outerTitle = '编辑退料'
|
||||
this.dialogConfig.handleColShow = true
|
||||
this.dialogConfig.outerWidth = '70%'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
handleRevoke(row) {},
|
||||
created() {
|
||||
if (this.sendTbParams) {
|
||||
this.sendParams = this.sendTbParams
|
||||
}
|
||||
|
||||
getTableSelectionChange() {},
|
||||
closeDialog(val) {
|
||||
this.dialogConfig.outerVisible = val
|
||||
if (this.returnInfo) {
|
||||
this.sendParams.taskId = this.returnInfo.taskId
|
||||
this.sendParams.id = this.returnInfo.id
|
||||
}
|
||||
|
||||
// if (this.returnInfo.taskStatus == 40) {
|
||||
// this.pageContent = '退料详情'
|
||||
// } else {
|
||||
// this.pageContent = '驳回退料'
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
// 查看
|
||||
handlePreview(data) {
|
||||
if (data.manageType == 0) {
|
||||
this.sendParamsReturn.parentId = data.id
|
||||
this.sendParamsReturn.typeId = data.modelId
|
||||
this.isQuery = false
|
||||
this.isNumDetails = false
|
||||
this.dialogConfigReturn.handleColShow = true
|
||||
this.codeDetails = true
|
||||
} else {
|
||||
backReceiveRecordWeb({
|
||||
parentId: data.id,
|
||||
typeId: data.modelId,
|
||||
}).then((res) => {
|
||||
const { typeName, typeCode, hgNum, wxNum, bfNum, backNum } =
|
||||
res.data.rows[0]
|
||||
const numReturnInfo = {
|
||||
typeName,
|
||||
type: typeCode,
|
||||
num: backNum,
|
||||
hgNum,
|
||||
wxNum,
|
||||
bfNum,
|
||||
isQuery: true,
|
||||
}
|
||||
|
||||
this.numReturnList.push(numReturnInfo)
|
||||
})
|
||||
this.isQuery = true
|
||||
this.isNumDetails = false
|
||||
this.dialogConfigReturn.handleColShow = false
|
||||
this.codeDetails = false
|
||||
}
|
||||
this.dialogConfigReturn.outerTitle = '退料详情'
|
||||
this.dialogConfigReturn.isSelShow = false
|
||||
this.dialogConfigReturn.outerVisible = true
|
||||
},
|
||||
// 编辑退料
|
||||
handleEditReturn(data) {
|
||||
this.parentId = data.parentId
|
||||
if (data.manageType == 0) {
|
||||
this.isQuery = true
|
||||
this.isNumDetails = false
|
||||
this.dialogConfigReturn.outerTitle = '编码退料'
|
||||
this.sendParamsReturn.taskId = this.sendParams.taskId
|
||||
this.sendParamsReturn.typeId = data.typeId
|
||||
|
||||
this.dialogConfigReturn.handleColShow = true
|
||||
} else {
|
||||
const numReturnInfo = {
|
||||
typeName: data.machineTypeName,
|
||||
type: data.specificationType,
|
||||
num: parseInt(data.num),
|
||||
hgNum: '',
|
||||
wxNum: '',
|
||||
bfNum: '',
|
||||
taskId: this.sendParams.taskId,
|
||||
id: data.id,
|
||||
typeId: data.typeId,
|
||||
}
|
||||
this.numReturnList.push(numReturnInfo)
|
||||
this.isNumDetails = true
|
||||
this.dialogConfigReturn.outerTitle = '数量退料'
|
||||
this.dialogConfigReturn.handleColShow = false
|
||||
}
|
||||
this.dialogConfigReturn.outerVisible = true
|
||||
this.dialogConfigReturn.isSelShow = true
|
||||
this.dialogConfigReturn.handleWidth = '240px'
|
||||
},
|
||||
// 撤回
|
||||
handleRevoke(data) {
|
||||
this.$confirm('是否确定撤回?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
.then(() => {
|
||||
revoke({
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
manageType: data.manageType,
|
||||
parentId: data.id,
|
||||
typeId: data.modelId,
|
||||
}).then((res) => {
|
||||
this.$message.success('已撤回')
|
||||
this.$refs.homeTbRef.getList()
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
// 弹框内列表复选框
|
||||
getTableSelList(list) {
|
||||
this.taSelList = list
|
||||
},
|
||||
// 批量操作
|
||||
handleBatch(type) {
|
||||
if (this.taSelList.length < 1) {
|
||||
this.$message.error('请勾选列表数据!')
|
||||
return
|
||||
}
|
||||
|
||||
if (type == 1 || type == 2) {
|
||||
let arr = []
|
||||
arr = this.taSelList.map((item) => {
|
||||
return {
|
||||
parentId: this.parentId,
|
||||
typeId: item.typeId,
|
||||
backNum: 1,
|
||||
backStatus: type,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: item.maId,
|
||||
}
|
||||
})
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
flag: 1,
|
||||
arr: arr,
|
||||
}
|
||||
|
||||
getScrapReturnSaveApi(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.scrapAll = true
|
||||
this.dialogConfigReturn.innerVisible = true
|
||||
}
|
||||
},
|
||||
// 单个操作
|
||||
handleSingle(type, data) {
|
||||
// type 1、合格 2、维修 3、预报废
|
||||
let arr = [
|
||||
{
|
||||
parentId: this.parentId,
|
||||
typeId: data.typeId,
|
||||
backNum: 1,
|
||||
backStatus: type,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: data.maId,
|
||||
},
|
||||
]
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
flag: 1,
|
||||
arr: arr,
|
||||
}
|
||||
|
||||
if (type === 1 || type === 2) {
|
||||
getScrapReturnSaveApi(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.currentRows = data
|
||||
this.dialogConfigReturn.innerVisible = true
|
||||
}
|
||||
},
|
||||
// 数量退料时保存按钮
|
||||
handleSave() {
|
||||
const { num, hgNum, wxNum, bfNum, id, typeId, taskId } =
|
||||
this.numReturnList[0]
|
||||
|
||||
if (hgNum * 1 + wxNum * 1 + bfNum * 1 > num) {
|
||||
this.$message.error('申请数量已超过待退数量!')
|
||||
return
|
||||
}
|
||||
|
||||
if (hgNum * 1 + wxNum * 1 + bfNum * 1 === 0) {
|
||||
this.$message.error('当前未设置数量!')
|
||||
return
|
||||
}
|
||||
|
||||
// 数量退料时参数
|
||||
const numReturnParams = {
|
||||
arr: [],
|
||||
flag: 0,
|
||||
}
|
||||
|
||||
const detailsInfo = {
|
||||
parentId: this.parentId,
|
||||
typeId,
|
||||
manageType: 1,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
backStatus: '',
|
||||
backNum: '',
|
||||
}
|
||||
|
||||
if (hgNum > 0) {
|
||||
detailsInfo.backNum = hgNum
|
||||
detailsInfo.backStatus = 1
|
||||
numReturnParams.arr.push(detailsInfo)
|
||||
}
|
||||
|
||||
if (wxNum > 0) {
|
||||
detailsInfo.backNum = wxNum
|
||||
detailsInfo.backStatus = 2
|
||||
numReturnParams.arr.push(detailsInfo)
|
||||
}
|
||||
|
||||
if (bfNum > 0) {
|
||||
detailsInfo.backNum = bfNum
|
||||
detailsInfo.backStatus = 3
|
||||
detailsInfo.scrapReason = this.scrapInfoParams.scrapReason
|
||||
detailsInfo.scrapType = this.scrapInfoParams.scrapType
|
||||
if (this.imgUrlList.length > 0) {
|
||||
this.scrapInfoParams.fileUrl = this.imgUrlList.join(',')
|
||||
} else {
|
||||
this.scrapInfoParams.fileUrl = ''
|
||||
}
|
||||
detailsInfo.fileUrl = this.scrapInfoParams.fileUrl
|
||||
numReturnParams.arr.push(detailsInfo)
|
||||
}
|
||||
|
||||
getScrapReturnSaveApi(numReturnParams).then((res) => {
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
})
|
||||
|
||||
// console.log('数量退料时保存按钮!', numInfo, bfNum, num)
|
||||
},
|
||||
// 数量退料时报废信息编辑按钮
|
||||
editScrapInfo(row) {
|
||||
const surplusNum = row.num - row.hgNum - row.wxNum
|
||||
if (row.bfNum > surplusNum) {
|
||||
this.$message.error('报废数量已超过剩余待退料数量')
|
||||
return
|
||||
}
|
||||
this.dialogConfigReturn.innerVisible = true
|
||||
},
|
||||
// 批量撤回
|
||||
batchRevoke() {
|
||||
if (this.taSelList.length < 1) {
|
||||
this.$message.error('请勾选列表数据!')
|
||||
return
|
||||
}
|
||||
},
|
||||
// 单个撤回
|
||||
revokeSingle(data) {
|
||||
console.log(data, '撤回--')
|
||||
},
|
||||
// 移除报废图片
|
||||
handleRemove(file) {
|
||||
this.imgUrlList = this.imgUrlList.filter(
|
||||
(e) => e !== file.response.data.fileUrl,
|
||||
)
|
||||
},
|
||||
// 图片上传成功
|
||||
handleSuccess(res) {
|
||||
if (res.code == 200) {
|
||||
this.imgUrlList.push(res.data.fileUrl)
|
||||
}
|
||||
},
|
||||
// 取消
|
||||
handleCancelInner() {
|
||||
this.dialogConfigReturn.innerVisible = false
|
||||
},
|
||||
// 保存
|
||||
handleSubmitInner() {
|
||||
if (this.dialogConfigReturn.outerTitle === '编码退料') {
|
||||
if (this.currentRows) {
|
||||
console.log(this.currentRows, '当前行信息')
|
||||
let arr = [
|
||||
{
|
||||
parentId: this.parentId,
|
||||
typeId: this.currentRows.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: this.currentRows.maId,
|
||||
scrapReason: this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
},
|
||||
]
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr[0].fileUrl = this.imgUrlList.join(',')
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
flag: 1,
|
||||
}
|
||||
getScrapReturnSaveApi(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.currentRows = null
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (this.scrapAll) {
|
||||
console.log('批量报废功能!!!')
|
||||
let arr = []
|
||||
arr = this.taSelList.map((item) => {
|
||||
return {
|
||||
parentId: this.parentId,
|
||||
typeId: item.typeId,
|
||||
backNum: 1,
|
||||
backStatus: 3,
|
||||
manageType: 0,
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
maId: item.maId,
|
||||
scrapReason: this.scrapInfoParams.scrapReason,
|
||||
scrapType: this.scrapInfoParams.scrapType,
|
||||
fileUrl: '',
|
||||
}
|
||||
})
|
||||
|
||||
if (this.imgUrlList.length > 0) {
|
||||
arr.map((e) => (e.fileUrl = this.imgUrlList.join(',')))
|
||||
}
|
||||
let param = {
|
||||
taskId: this.sendParamsReturn.taskId,
|
||||
arr: arr,
|
||||
flag: 1,
|
||||
}
|
||||
getScrapReturnSaveApi(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.scrapAll = false
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
this.$refs.homeTbRef.getList()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
this.dialogConfigReturn.innerVisible = false
|
||||
},
|
||||
// 完成退料
|
||||
async handleComplete() {
|
||||
let param1 = {
|
||||
parentId: this.sendParams.id,
|
||||
}
|
||||
|
||||
console.log(param1, '参数1----')
|
||||
const res1 = await getRecord(param1)
|
||||
if (res1.code == 200) {
|
||||
let param = {
|
||||
createBy: sessionStorage.getItem('userId'),
|
||||
parentId: this.sendParams.id,
|
||||
taskId: this.sendParams.taskId,
|
||||
}
|
||||
endBack(param).then((response) => {
|
||||
if (response.code == 200) {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
this.$emit('closeReturnPage', 1)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
/* 外层弹框关闭 */
|
||||
closeDialogOuter() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.dialogConfigReturn.outerVisible = false
|
||||
},
|
||||
/* 内层弹框关闭 */
|
||||
closeDialogInner() {
|
||||
this.dialogConfig.innerVisible = false
|
||||
this.dialogConfigReturn.innerVisible = false
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
dialogConfigReturn: {
|
||||
handler(newVal) {
|
||||
/* 监听外层弹框关闭 清空勾选的数据 */
|
||||
if (!newVal.outerVisible) {
|
||||
this.taSelList = []
|
||||
this.numReturnList = []
|
||||
this.scrapInfoParams.scrapReason = ''
|
||||
this.scrapInfoParams.scrapType = ''
|
||||
this.scrapInfoParams.fileUrl = ''
|
||||
this.codeDetails = true
|
||||
this.imgUrlList = []
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.upload-box {
|
||||
display: flex;
|
||||
|
||||
.Upload-tip {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.upload-tip {
|
||||
text-align: left;
|
||||
|
||||
.tip-text {
|
||||
font-size: 13px;
|
||||
color: red;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
<template>
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
:action="actionUrl"
|
||||
:on-preview="handlePreview"
|
||||
:on-remove="handleRemove"
|
||||
:before-remove="beforeRemove"
|
||||
:multiple="multiple"
|
||||
:limit="limit"
|
||||
:on-exceed="handleExceed"
|
||||
:file-list="fileList"
|
||||
:headers="headers"
|
||||
:on-success="handleSuccess"
|
||||
:data="uploadData"
|
||||
:before-upload="beforeUpload"
|
||||
>
|
||||
<slot name="default">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
</slot>
|
||||
<!-- <div slot="tip" class="el-upload__tip">{{ uploadTip }}</div> -->
|
||||
</el-upload>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getToken } from '@/utils/auth'
|
||||
export default {
|
||||
name: 'UploadFile',
|
||||
props: {
|
||||
fileList: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
actionUrl: {
|
||||
type: String,
|
||||
default: 'https://jsonplaceholder.typicode.com/posts/',
|
||||
},
|
||||
limit: {
|
||||
type: Number,
|
||||
default: 3,
|
||||
},
|
||||
// uploadTip: {
|
||||
// type: String,
|
||||
// default: '只能上传jpg/png文件,且不超过500kb'
|
||||
// },
|
||||
multiple: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
uploadImgUrl:
|
||||
process.env.VUE_APP_BASE_API + '/dev-api' + this.actionUrl,
|
||||
headers: {
|
||||
Authorization: 'Bearer ' + getToken(),
|
||||
},
|
||||
uploadData: {
|
||||
fileType: 'sx',
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleRemove(file, fileList) {
|
||||
this.$emit('remove', file, fileList)
|
||||
},
|
||||
handleSuccess(response, file, fileList) {
|
||||
this.$emit('success', response, fileList)
|
||||
},
|
||||
handlePreview(file) {
|
||||
this.$emit('preview', file)
|
||||
},
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(
|
||||
`当前限制选择 ${this.limit} 个文件,本次选择了 ${
|
||||
files.length
|
||||
} 个文件,共选择了 ${files.length + fileList.length} 个文件`,
|
||||
)
|
||||
this.$emit('exceed', files, fileList)
|
||||
},
|
||||
beforeRemove(file, fileList) {
|
||||
// return this.$confirm(`确定移除 ${file.name} ?`)
|
||||
// .then(() => {
|
||||
// this.$emit('before-remove', file, fileList)
|
||||
// })
|
||||
// .catch(() => {})
|
||||
},
|
||||
beforeUpload(file) {
|
||||
console.log('file', file)
|
||||
const isJPGorPNG =
|
||||
file.type == 'image/png' ||
|
||||
file.type == 'image/jpg' ||
|
||||
file.type == 'image/jpeg'
|
||||
const isLt5M = file.size / 1024 / 1024 < 5 // 小于 5MB
|
||||
if (!isJPGorPNG) {
|
||||
this.$message.error('只能上传 jpg、jpeg、png 格式的图片')
|
||||
}
|
||||
if (!isLt5M) {
|
||||
this.$message.error('上传图片大小不能超过 5MB')
|
||||
}
|
||||
return isJPGorPNG && isLt5M
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.upload-demo .el-upload__tip {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -16,7 +16,7 @@ export const config = {
|
|||
pageShow: true, // 是否显示分页组件
|
||||
isSelShow: true,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '180px', // 操作列宽度
|
||||
handleWidth: '240px', // 操作列宽度
|
||||
formLabel: [
|
||||
{ f_label: '关键字', f_model: 'keyword', f_type: 'ipt' },
|
||||
{ f_label: '单位名称', f_model: 'backUnit', f_type: 'sel', f_selList: [] },
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
|
||||
<template v-if="temp">
|
||||
<PageHeader :pageContent="pageContent" @goBack="goBack" />
|
||||
<AuditingReturn :sendParams="sendParamsAuditing" />
|
||||
<AuditingReturn :sendTbParams="sendParamsAuditing" />
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -191,7 +191,9 @@ export default {
|
|||
getPreScrapListApi,
|
||||
getDialogListApi,
|
||||
tableSelList: [],
|
||||
sendParams: {}, // 列表查看时参数
|
||||
sendParams: {
|
||||
taskId: '',
|
||||
}, // 列表查看时参数
|
||||
temp: false,
|
||||
getSelList,
|
||||
getTypeListSel,
|
||||
|
|
@ -203,8 +205,13 @@ export default {
|
|||
deptIds: [],
|
||||
},
|
||||
auditingList: [],
|
||||
sendParamsAuditing: {},
|
||||
sendParamsAuditing: {
|
||||
taskId: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
pageContent: '驳回退料',
|
||||
parentId: '',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -234,7 +241,9 @@ export default {
|
|||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
handleReject(row) {
|
||||
console.log(row, '驳回退料----')
|
||||
this.sendParamsAuditing.taskId = row.taskId
|
||||
this.parentId = row.parentId
|
||||
this.temp = !this.temp
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
placeholder="请输入成套名称"
|
||||
:disabled="isEdit"
|
||||
v-model="addCompleteForm.completeSetName"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="主体设备">
|
||||
|
|
@ -71,10 +72,11 @@
|
|||
style="width: 180px"
|
||||
placeholder="请输入数量"
|
||||
@change="deviceNumChange"
|
||||
maxlength="9"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="数量">
|
||||
<el-table-column align="center" label="操作">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button
|
||||
size="mini"
|
||||
|
|
@ -249,6 +251,7 @@ export default {
|
|||
submitComplete() {
|
||||
this.$refs.addFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
let isNum = false
|
||||
const isMainDevice = this.tempList.some(
|
||||
(e) => e.ascriptionType === 1,
|
||||
)
|
||||
|
|
@ -266,14 +269,20 @@ export default {
|
|||
this.$message.error('请添加配套设备!')
|
||||
return
|
||||
}
|
||||
this.tempList.forEach((e) => {
|
||||
if (!parseInt(e.deviceNum)) {
|
||||
this.$message.error('请输入数量!')
|
||||
return
|
||||
} else {
|
||||
e.deviceNum = parseInt(e.deviceNum)
|
||||
}
|
||||
})
|
||||
|
||||
try {
|
||||
this.tempList.forEach((e) => {
|
||||
if (!parseInt(e.deviceNum)) {
|
||||
this.$message.error('请输入数量!')
|
||||
isNum = true
|
||||
throw new Error()
|
||||
} else {
|
||||
e.deviceNum = parseInt(e.deviceNum)
|
||||
}
|
||||
})
|
||||
} catch (error) {}
|
||||
|
||||
if (isNum) return
|
||||
|
||||
this.saveParams.parentId = this.tempList[0].deviceTypeId
|
||||
this.saveParams.wholeTypeName =
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { getDeviceTypeTree } from '@/api/claimAndRefund/receive'
|
|||
|
||||
export const config = {
|
||||
handleColShow: true, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
pageShow: false, // 是否显示分页组件
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '', // 操作列宽度
|
||||
|
|
|
|||
|
|
@ -15,9 +15,10 @@
|
|||
placeholder="请输入成套名称"
|
||||
:disabled="isEdit"
|
||||
v-model="addCompleteForm.completeSetName"
|
||||
maxlength="20"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="主体设备">
|
||||
<el-form-item label="主体设备" prop="mainDevice">
|
||||
<el-cascader
|
||||
ref="mainDeviceRef"
|
||||
placeholder="请选择主体设备"
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
:disabled="mainDeviceDisabled"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="配套设备">
|
||||
<el-form-item label="配套设备" prop="assortDevice">
|
||||
<el-cascader
|
||||
ref="assortDeviceRef"
|
||||
placeholder="请选择配套设备"
|
||||
|
|
@ -71,6 +72,7 @@
|
|||
style="width: 180px"
|
||||
placeholder="请输入数量"
|
||||
@change="deviceNumChange"
|
||||
maxlength="9"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -121,6 +123,16 @@ export default {
|
|||
message: '请输入成套名称',
|
||||
},
|
||||
],
|
||||
// mainDevice: [
|
||||
// {
|
||||
// required: true,
|
||||
// },
|
||||
// ],
|
||||
// assortDevice: [
|
||||
// {
|
||||
// required: true,
|
||||
// },
|
||||
// ],
|
||||
},
|
||||
deviceTypeTreeProps: {
|
||||
multiple: false,
|
||||
|
|
@ -249,6 +261,7 @@ export default {
|
|||
submitComplete() {
|
||||
this.$refs.addFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
let isNum = false
|
||||
const isMainDevice = this.tempList.some(
|
||||
(e) => e.ascriptionType === 1,
|
||||
)
|
||||
|
|
@ -266,14 +279,19 @@ export default {
|
|||
this.$message.error('请添加配套设备!')
|
||||
return
|
||||
}
|
||||
this.tempList.forEach((e) => {
|
||||
if (!parseInt(e.deviceNum)) {
|
||||
this.$message.error('请输入数量!')
|
||||
return
|
||||
} else {
|
||||
e.deviceNum = parseInt(e.deviceNum)
|
||||
}
|
||||
})
|
||||
try {
|
||||
this.tempList.forEach((e) => {
|
||||
if (!parseInt(e.deviceNum)) {
|
||||
this.$message.error('请输入数量!')
|
||||
isNum = true
|
||||
throw new Error()
|
||||
} else {
|
||||
e.deviceNum = parseInt(e.deviceNum)
|
||||
}
|
||||
})
|
||||
} catch (error) {}
|
||||
|
||||
if (isNum) return
|
||||
|
||||
this.saveParams.parentId = this.tempList[0].deviceTypeId
|
||||
this.saveParams.wholeTypeName =
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { getDeviceTypeTree } from '@/api/claimAndRefund/receive'
|
|||
|
||||
export const config = {
|
||||
handleColShow: true, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
pageShow: false, // 是否显示分页组件
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
handleWidth: '', // 操作列宽度
|
||||
|
|
|
|||
Loading…
Reference in New Issue