parent
b37a6e2447
commit
0e76d4d07b
11 changed files with 2237 additions and 1871 deletions
@ -0,0 +1,66 @@ |
||||
import request from '@/axios'; |
||||
//列表接口
|
||||
export const getList = (current, size, params) => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/page', |
||||
method: 'get', |
||||
params: { |
||||
...params, |
||||
current, |
||||
size, |
||||
}, |
||||
}); |
||||
}; |
||||
//新增
|
||||
export const add = row => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/save', |
||||
method: 'post', |
||||
data: row, |
||||
}); |
||||
}; |
||||
// 修改
|
||||
export const update = row => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/update', |
||||
method: 'post', |
||||
data: row, |
||||
}); |
||||
}; |
||||
// 获取详情
|
||||
export const getOrderMoldPlanCaDeatils = (params) => { |
||||
return request({ |
||||
url: `/blade-desk/order/moldPlan/detail`, |
||||
method: 'get', |
||||
params, |
||||
}); |
||||
}; |
||||
//逻辑删除
|
||||
export const removeByIds = ids => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/remove', |
||||
method: 'post', |
||||
data: ids, |
||||
}); |
||||
}; |
||||
//批量关闭
|
||||
export const closeBatchs = ids => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/closeBatch', |
||||
method: 'post', |
||||
data: ids, |
||||
}); |
||||
}; |
||||
|
||||
//列表接口
|
||||
export const getListpageNearlyMonth = (current, size, params) => { |
||||
return request({ |
||||
url: '/blade-desk/order/moldPlan/pageNearlyMonth', |
||||
method: 'get', |
||||
params: { |
||||
...params, |
||||
current, |
||||
size, |
||||
}, |
||||
}); |
||||
}; |
||||
@ -0,0 +1,74 @@ |
||||
import request from '@/axios'; |
||||
//列表接口
|
||||
export const getList = (current, size, params) => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/page', |
||||
method: 'get', |
||||
params: { |
||||
...params, |
||||
current, |
||||
size, |
||||
}, |
||||
}); |
||||
}; |
||||
//新增
|
||||
export const add = row => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/save', |
||||
method: 'post', |
||||
data: row, |
||||
}); |
||||
}; |
||||
// 修改
|
||||
export const update = row => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/update', |
||||
method: 'post', |
||||
data: row, |
||||
}); |
||||
}; |
||||
//批量审核
|
||||
export const confirmBatch = row => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/confirmBatch', |
||||
method: 'post', |
||||
data: row, |
||||
}); |
||||
}; |
||||
// 获取详情
|
||||
export const getOrderMoldPlanCaDeatils = (params) => { |
||||
return request({ |
||||
url: `/blade-desk/order/plateGoodsRecord/detail`, |
||||
method: 'get', |
||||
params, |
||||
}); |
||||
}; |
||||
//逻辑删除
|
||||
export const removeByIds = ids => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/remove', |
||||
method: 'post', |
||||
data: ids, |
||||
}); |
||||
}; |
||||
//批量关闭
|
||||
export const closeBatchs = ids => { |
||||
return request({ |
||||
url: '/blade-desk/order/plateGoodsRecord/closeBatch', |
||||
method: 'post', |
||||
data: ids, |
||||
}); |
||||
}; |
||||
|
||||
//列表接口
|
||||
export const getListlistNoFinished = (current, size, params) => { |
||||
return request({ |
||||
url: '/blade-desk//order/plateGoodsRecord/listNoFinished', |
||||
method: 'get', |
||||
params: { |
||||
...params, |
||||
current, |
||||
size, |
||||
}, |
||||
}); |
||||
}; |
||||
@ -0,0 +1,42 @@ |
||||
import dictData from './dictData.json'; |
||||
/** |
||||
* @param {*} keys
|
||||
* @returns |
||||
* 处理本地文件字典 对应查找 |
||||
* 使用方法可定义全局变量 简化简化代码工程 |
||||
* [this.departments, this.materials]= getSelectData(['departments', 'materials']); |
||||
*/ |
||||
export function getSelectData(keys) { |
||||
const dict = dictData || {}; |
||||
|
||||
if (!keys && keys !== '') return null; |
||||
//处理单个字典值
|
||||
if (typeof keys === 'string') { |
||||
return dict[keys] || null; |
||||
} |
||||
//处理多个本地字典值
|
||||
if (Array.isArray(keys)) { |
||||
return keys.map(k => dict[k] || null); |
||||
} |
||||
if (typeof keys === 'object') { |
||||
const result = {}; |
||||
for (const [key, value] of Object.entries(keys)) { |
||||
const list = dict[key]; |
||||
if (!Array.isArray(list)) { |
||||
result[key] = null; |
||||
continue; |
||||
} |
||||
|
||||
if (typeof value === 'undefined') { |
||||
result[key] = list; |
||||
} else if (Array.isArray(value)) { |
||||
result[key] = value.map(v => list.find(item => String(item.value) === String(v)) || null); |
||||
} else { |
||||
result[key] = list.find(item => String(item.value) === String(value)) || null; |
||||
} |
||||
} |
||||
return result; |
||||
} |
||||
|
||||
return null; |
||||
} |
||||
@ -0,0 +1,30 @@ |
||||
{ |
||||
"materials": [ |
||||
{ |
||||
"label": "钢材", |
||||
"value": "steel" |
||||
}, |
||||
{ |
||||
"label": "塑料", |
||||
"value": "plastic" |
||||
}, |
||||
{ |
||||
"label": "涂料", |
||||
"value": "coating" |
||||
} |
||||
], |
||||
"departments": [ |
||||
{ |
||||
"label": "生产部", |
||||
"value": "production" |
||||
}, |
||||
{ |
||||
"label": "质检部", |
||||
"value": "qc" |
||||
}, |
||||
{ |
||||
"label": "研发部", |
||||
"value": "rd" |
||||
} |
||||
] |
||||
} |
||||
@ -1,319 +1,380 @@ |
||||
<template> |
||||
<el-dialog title="新增" append-to-body :modelValue="openShow" width="90%" @close="closeDialog" fullscreen> |
||||
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
||||
<el-button type="primary" @click="addTable">插入一行</el-button> |
||||
<el-button type="danger" @click="delTable">删除选中行</el-button> |
||||
</div> |
||||
<el-dialog |
||||
title="新增" |
||||
append-to-body |
||||
:modelValue="openShow" |
||||
width="90%" |
||||
@close="closeDialog" |
||||
fullscreen |
||||
> |
||||
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
||||
<el-button type="primary" @click="addTable">插入一行</el-button> |
||||
<el-button type="danger" @click="delTable">删除选中行</el-button> |
||||
</div> |
||||
|
||||
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> |
||||
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px;"> |
||||
{{ formError }} |
||||
</div> |
||||
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> |
||||
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px"> |
||||
{{ formError }} |
||||
</div> |
||||
|
||||
<el-table :data="form.tableData" @select="selectChange" style="width: 100%" border> |
||||
<el-table-column type="selection" width="55" v-if="moldAddMore"></el-table-column> |
||||
<el-table-column type="index" width="80" label="序号" align="center"></el-table-column> |
||||
<el-table :data="form.moldPlan" @select="selectChange" style="width: 100%" border> |
||||
<el-table-column type="selection" width="55" v-if="moldAddMore"></el-table-column> |
||||
<el-table-column type="index" width="80" label="序号" align="center"></el-table-column> |
||||
<el-table-column prop="partCode" label="零件编码" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>零件编码</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].partCode`" :rules="formRules.partCode"> |
||||
<el-select |
||||
v-model="scope.row.partCode" |
||||
:filterable="true" |
||||
allow-create |
||||
@change="partCodeChange(scope.row.partCode, scope.$index)" |
||||
> |
||||
<el-option |
||||
v-for="(item, index) in partCodeList" |
||||
:key="index" |
||||
:label="item.label" |
||||
:value="item.value" |
||||
></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="partCode" label="零件编码" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>零件编码</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].partCode`" :rules="formRules.partCode"> |
||||
<el-select v-model="scope.row.partCode" :filterable="true" allow-create |
||||
@change="partCodeChange(scope.row)"> |
||||
<el-option label="零件一" value="1" /> |
||||
<el-option label="零件二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="partName" label="零件名称" align="center"> |
||||
<template #default="scope"> |
||||
<span>{{ scope.row.partName }}</span> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="partName" label="零件名称" align="center"> |
||||
<template #default="scope"> |
||||
<span>{{ scope.row.partName }}</span> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="moCode" label="工装号" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>工装号</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].moCode`" :rules="formRules.moCode"> |
||||
<el-select |
||||
v-model="scope.row.moCode" |
||||
:filterable="true" |
||||
allow-create |
||||
@change="frockChange(scope.row.moCode, scope.$index)" |
||||
> |
||||
<el-option |
||||
v-for="(item, index) in moCodeList" |
||||
:key="index" |
||||
:label="item.label" |
||||
:value="item.value" |
||||
></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="moCode" label="工装号" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>工装号</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].moCode`" :rules="formRules.moCode"> |
||||
<el-select v-model="scope.row.moCode" :filterable="true" allow-create |
||||
@change="frockChange(scope.row)"> |
||||
<el-option label="工装一" value="1" /> |
||||
<el-option label="工装二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="moName" label="工装名称" align="center"> |
||||
<template #default="scope"> |
||||
<span>{{ scope.row.moName }}</span> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="moName" label="工装名称" align="center"> |
||||
<template #default="scope"> |
||||
<span>{{ scope.row.moName }}</span> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="quantity" label="数量" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>数量</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].shuliang`" :rules="formRules.shuliang"> |
||||
<el-input-number |
||||
v-model="scope.row.shuliang" |
||||
:min="1" |
||||
controls-position="right" |
||||
style="width: 90%" |
||||
@change="handleChange" |
||||
/> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="quantity" label="数量" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>数量</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].shuliang`" :rules="formRules.shuliang"> |
||||
<el-input-number v-model="scope.row.shuliang" :min="1" controls-position="right" |
||||
style="width: 90%;" @change="handleChange" /> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="planType" label="计划类型" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>计划类型</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].planType`" :rules="formRules.planType"> |
||||
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
||||
<el-option label="计划类型一" value="1" /> |
||||
<el-option label="计划类型二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="planType" label="计划类型" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>计划类型</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].planType`" :rules="formRules.planType"> |
||||
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
||||
<el-option label="计划类型一" value="1" /> |
||||
<el-option label="计划类型二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="needDate" label="需求日期" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>需求日期</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].needDate`" :rules="formRules.needDate"> |
||||
<el-date-picker |
||||
v-model="scope.row.needDate" |
||||
type="date" |
||||
format="YYYY-MM-DD" |
||||
value-format="YYYY-MM-DD" |
||||
placeholder="请选择" |
||||
style="width: 80%" |
||||
/> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="needDate" label="需求日期" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>需求日期</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].needDate`" :rules="formRules.needDate"> |
||||
<el-date-picker v-model="scope.row.needDate" type="date" placeholder="请选择" |
||||
style="width: 80%;" /> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="quaLevel" label="生产标识" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>生产标识</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
||||
<el-input v-model="scope.row.quaLevel" /> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="quaLevel" label="生产标识" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>生产标识</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
||||
<el-input v-model="scope.row.quaLevel" /> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="keeper" label="保管员" align="center"> |
||||
<template #header> |
||||
<span><i style="color: red">*</i>保管员</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`moldPlan[${scope.$index}].keeper`" :rules="formRules.keeper"> |
||||
<el-select v-model="scope.row.keeper" :filterable="true" allow-create> |
||||
<el-option label="人员一" value="1" /> |
||||
<el-option label="人员二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="keeper.userName" label="保管员" align="center"> |
||||
<template #header> |
||||
<span><i style="color:red">*</i>保管员</span> |
||||
</template> |
||||
<template #default="scope"> |
||||
<el-form-item :prop="`tableData[${scope.$index}].userName`" :rules="formRules.userName"> |
||||
<el-select v-model="scope.row.userName" :filterable="true" allow-create> |
||||
<el-option label="人员一" value="1" /> |
||||
<el-option label="人员二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="memo" label="备注" align="center"> |
||||
<template #default="scope"> |
||||
<el-input v-model="scope.row.memo" /> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column prop="memo" label="备注" align="center"> |
||||
<template #default="scope"> |
||||
<el-input v-model="scope.row.memo" /> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
||||
<template #default="scope"> |
||||
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)" |
||||
>删除</el-button |
||||
> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</el-form> |
||||
|
||||
<el-table-column fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
||||
<template #default="scope"> |
||||
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)">删除</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</el-form> |
||||
|
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
import { add } from '@/api/orderManagement/moldPlan'; |
||||
import { index } from '@/views/plugin/workflow/api/statistics'; |
||||
|
||||
export default { |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
moldAddMore: { |
||||
type: Boolean, |
||||
default: false |
||||
} |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false, |
||||
}, |
||||
data() { |
||||
return { |
||||
openShow: false, |
||||
formError: '', |
||||
form: { |
||||
tableData: [] |
||||
}, |
||||
formRules: { |
||||
tableData: [ |
||||
{ |
||||
required: true, |
||||
message: '请至少添加一行数据', |
||||
trigger: 'submit', |
||||
type: 'array' |
||||
}, |
||||
{ |
||||
validator: (rule, value, callback) => { |
||||
if (value.length === 0) { |
||||
callback(new Error('请至少添加一行数据')); |
||||
} else { |
||||
callback(); |
||||
} |
||||
}, |
||||
trigger: 'submit' |
||||
} |
||||
], |
||||
partCode: [ |
||||
{ required: true, message: '请选择零件编码', trigger: ['change', 'submit'] } |
||||
], |
||||
moCode: [ |
||||
{ required: true, message: '请选择工装号', trigger: ['change', 'submit'] } |
||||
], |
||||
shuliang: [ |
||||
{ required: true, message: '请输入数量', trigger: ['change', 'submit'] }, |
||||
{ type: 'number', min: 1, message: '数量不能小于1', trigger: ['change', 'submit'] } |
||||
], |
||||
planType: [ |
||||
{ required: true, message: '请选择计划类型', trigger: ['change', 'submit'] } |
||||
], |
||||
needDate: [ |
||||
{ required: true, message: '请选择需求日期', trigger: ['change', 'submit'] } |
||||
], |
||||
quaLevel: [ |
||||
{ required: true, message: '请输入生产标识', trigger: ['blur', 'submit'] } |
||||
], |
||||
userName: [ |
||||
{ required: true, message: '请选择保管员', trigger: ['change', 'submit'] } |
||||
] |
||||
} |
||||
}; |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog; |
||||
if (this.moldAddMore && this.form.tableData.length === 0) { |
||||
this.addTable(); |
||||
} |
||||
moldAddMore: { |
||||
type: Boolean, |
||||
default: false, |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false; |
||||
this.$emit('closeDialog'); |
||||
this.form.tableData = []; |
||||
this.formError = ''; |
||||
this.$refs.tableForm?.resetFields(); |
||||
}, |
||||
data() { |
||||
return { |
||||
moCodeList: [ |
||||
{ label: '工装一', value: 1 }, |
||||
{ |
||||
label: '工装二', |
||||
value: 2, |
||||
}, |
||||
selectChange(list, row) { |
||||
row._select = !row._select; |
||||
], |
||||
partCodeList: [ |
||||
{ label: '零件一', value: 1 }, |
||||
{ |
||||
label: '零件二', |
||||
value: 2, |
||||
}, |
||||
addTable() { |
||||
this.form.tableData.push({ |
||||
_select: false, |
||||
partCode: '', |
||||
partName: '', |
||||
moCode: '', |
||||
moName: '', |
||||
shuliang: 1, |
||||
planType: '', |
||||
needDate: '', |
||||
quaLevel: '', |
||||
userName: '', |
||||
memo: '' |
||||
}); |
||||
}, |
||||
delTable(row, index) { |
||||
if (index !== undefined) { |
||||
this.form.tableData.splice(index, 1); |
||||
} else { |
||||
this.form.tableData = this.form.tableData.filter(item => !item._select); |
||||
], |
||||
openShow: false, |
||||
formError: '', |
||||
form: { |
||||
moldPlan: [], |
||||
}, |
||||
formRules: { |
||||
// moldPlan: [ |
||||
// { |
||||
// required: true, |
||||
// message: '请至少添加一行数据', |
||||
// trigger: 'submit', |
||||
// type: 'array', |
||||
// }, |
||||
// { |
||||
// validator: (rule, value, callback) => { |
||||
// if (value.length === 0) { |
||||
// callback(new Error('请至少添加一行数据')); |
||||
// } else { |
||||
// callback(); |
||||
// } |
||||
// }, |
||||
// trigger: 'submit', |
||||
// }, |
||||
// ], |
||||
// partCode: [{ required: true, message: '请选择零件编码', trigger: ['change', 'submit'] }], |
||||
// moCode: [{ required: true, message: '请选择工装号', trigger: ['change', 'submit'] }], |
||||
// shuliang: [ |
||||
// { required: true, message: '请输入数量', trigger: ['change', 'submit'] }, |
||||
// { type: 'number', min: 1, message: '数量不能小于1', trigger: ['change', 'submit'] }, |
||||
// ], |
||||
// planType: [{ required: true, message: '请选择计划类型', trigger: ['change', 'submit'] }], |
||||
// needDate: [{ required: true, message: '请选择需求日期', trigger: ['change', 'submit'] }], |
||||
// quaLevel: [{ required: true, message: '请输入生产标识', trigger: ['blur', 'submit'] }], |
||||
// keeper: [{ required: true, message: '请选择保管员', trigger: ['change', 'submit'] }], |
||||
}, |
||||
}; |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog; |
||||
if (this.moldAddMore && this.form.moldPlan.length === 0) { |
||||
this.addTable(); |
||||
} |
||||
}, |
||||
watch: { |
||||
showDialog(newVal) { |
||||
this.openShow = newVal; |
||||
if (newVal && this.moldAddMore && this.form.moldPlan.length === 0) { |
||||
this.addTable(); |
||||
} |
||||
}, |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false; |
||||
this.$emit('closeDialog'); |
||||
this.form.moldPlan = []; |
||||
this.formError = ''; |
||||
this.$refs.tableForm?.resetFields(); |
||||
}, |
||||
selectChange(list, row) { |
||||
row._select = !row._select; |
||||
}, |
||||
addTable() { |
||||
this.form.moldPlan.push({ |
||||
_select: false, |
||||
partCode: '', |
||||
partName: '', |
||||
moCode: '', |
||||
moName: '', |
||||
shuliang: 1, |
||||
planType: '', |
||||
needDate: '', |
||||
quaLevel: '', |
||||
userName: '', |
||||
memo: '', |
||||
}); |
||||
}, |
||||
delTable(row, index) { |
||||
if (index !== undefined) { |
||||
this.form.moldPlan.splice(index, 1); |
||||
} else { |
||||
this.form.moldPlan = this.form.moldPlan.filter(item => !item._select); |
||||
} |
||||
}, |
||||
partCodeChange(val, i) { |
||||
this.form.moldPlan[i].partName = |
||||
this.partCodeList.find(item => item.value === val)?.label || ''; |
||||
}, |
||||
frockChange(val, i) { |
||||
// 保留原逻辑,可根据实际需求完善 |
||||
this.form.moldPlan[i].moName = this.moCodeList.find(item => item.value === val)?.label || ''; |
||||
}, |
||||
handleChange() { |
||||
// 数量变化处理 |
||||
}, |
||||
submitForm() { |
||||
// 快照打印 |
||||
this.formError = ''; |
||||
this.$refs.tableForm.validate(isValid => { |
||||
if (!isValid) { |
||||
this.formError = '存在未完善的字段,请检查表格中的红色提示'; |
||||
this.$nextTick(() => { |
||||
const firstError = document.querySelector('.el-form-item.is-error'); |
||||
if (firstError) { |
||||
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' }); |
||||
} |
||||
}, |
||||
partCodeChange(row) { |
||||
// 保留原逻辑,可根据实际需求完善 |
||||
}, |
||||
frockChange(row) { |
||||
// 保留原逻辑,可根据实际需求完善 |
||||
}, |
||||
handleChange() { |
||||
// 数量变化处理 |
||||
}, |
||||
submitForm() { |
||||
this.formError = ''; |
||||
this.$refs.tableForm.validate((isValid) => { |
||||
if (!isValid) { |
||||
this.formError = '存在未完善的字段,请检查表格中的红色提示'; |
||||
this.$nextTick(() => { |
||||
const firstError = document.querySelector('.el-form-item.is-error'); |
||||
if (firstError) { |
||||
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' }); |
||||
} |
||||
}); |
||||
return; |
||||
} |
||||
}); |
||||
return; |
||||
} else { |
||||
console.log('submitForm after validate', JSON.parse(JSON.stringify(this.form))); |
||||
add(JSON.parse(JSON.stringify(this.form))).then(res => { |
||||
if (res.code === 200) { |
||||
this.$message.success('提交成功'); |
||||
this.closeDialog(); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
// 处理提交数据 |
||||
const submitData = this.form.tableData.map(row => { |
||||
const { _select, ...validData } = row; |
||||
return validData; |
||||
}); |
||||
// 处理提交数据 |
||||
// const submitData = this.form.moldPlan.map(row => { |
||||
// const { _select, ...validData } = row; |
||||
// return validData; |
||||
// }); |
||||
|
||||
// 实际提交逻辑 |
||||
this.$message.success('提交成功'); |
||||
this.closeDialog(); |
||||
this.$emit('submitSuccess', submitData); |
||||
}); |
||||
} |
||||
} |
||||
// 验证通过后再打印一次快照,便于对比 |
||||
|
||||
|
||||
// 实际提交逻辑 |
||||
|
||||
// this.$emit('submitSuccess', submitData); |
||||
}); |
||||
}, |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
:deep(.el-table .el-form-item) { |
||||
margin-bottom: 0; |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
:deep(.el-form-item__error) { |
||||
font-size: 12px; |
||||
white-space: nowrap; |
||||
z-index: 10; |
||||
background: #fff; |
||||
padding: 2px 4px; |
||||
border: 1px solid #f56c6c; |
||||
border-radius: 4px; |
||||
font-size: 12px; |
||||
white-space: nowrap; |
||||
z-index: 10; |
||||
background: #fff; |
||||
padding: 2px 4px; |
||||
border: 1px solid #f56c6c; |
||||
border-radius: 4px; |
||||
} |
||||
|
||||
.el-table__row { |
||||
height: 80px !important; |
||||
height: 80px !important; |
||||
} |
||||
|
||||
.el-table__cell { |
||||
vertical-align: middle !important; |
||||
vertical-align: middle !important; |
||||
} |
||||
|
||||
.error-message { |
||||
font-size: 14px; |
||||
line-height: 1.5; |
||||
font-size: 14px; |
||||
line-height: 1.5; |
||||
} |
||||
|
||||
:deep(.el-table .el-table__cell) { |
||||
height: 50px !important; |
||||
padding: 0 !important; |
||||
line-height: 50px !important; |
||||
height: 50px !important; |
||||
padding: 0 !important; |
||||
line-height: 50px !important; |
||||
} |
||||
</style> |
||||
</style> |
||||
|
||||
@ -1,119 +1,109 @@ |
||||
<template> |
||||
<el-dialog title="详情" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen> |
||||
<el-descriptions class="margin-top" :column="4" border title="需求信息" > |
||||
<el-descriptions-item label="需求编号">9999</el-descriptions-item> |
||||
<el-descriptions-item label="工装编号">9999</el-descriptions-item> |
||||
<el-descriptions-item label="工装名称">9999</el-descriptions-item> |
||||
<el-descriptions-item label="关联订单数">9999</el-descriptions-item> |
||||
<el-descriptions-item label="订单需求量">9999</el-descriptions-item> |
||||
<el-descriptions-item label="库存数量">9999</el-descriptions-item> |
||||
<el-descriptions-item label="占用数量">9999</el-descriptions-item> |
||||
</el-descriptions> |
||||
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
|
||||
<el-table-column prop="shuliang" label="工作订单号" align="center"> |
||||
|
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="占用数" align="center"> |
||||
|
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="占用时间" align="center"> |
||||
|
||||
</el-table-column> |
||||
</el-table> |
||||
<el-descriptions class="margin-top" :column="4" border title="关联订单"></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
<el-table-column type="index" width="80" label="序号" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="计划单号" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="零件号" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="产品名称" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="零件数量" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="需求交期" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="工装需求数量" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="已交付数量" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="未交付数量" align="center"> |
||||
</el-table-column> |
||||
<el-table-column prop="shuliang" label="计划下达时间" align="center"> |
||||
</el-table-column> |
||||
</el-table> |
||||
<el-descriptions class="margin-top" :column="4" border title="申报记录(近一个的记录)"></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
|
||||
<el-table-column prop="shuliang" label="零件号" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="零件名称" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="对应工装号" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="工装名称" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="数量" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="计划类型" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="需求日期" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="生产标识" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="保管员" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="下达人" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="建立时间" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="建立人员" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="备注" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="状态" align="center"></el-table-column> |
||||
</el-table> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submit">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
<el-dialog |
||||
title="详情" |
||||
append-to-body |
||||
:modelValue="openShow" |
||||
width="70%" |
||||
@close="closeDialog" |
||||
fullscreen |
||||
> |
||||
<el-descriptions class="margin-top" :column="4" border title="需求信息"> |
||||
<el-descriptions-item label="需求编号">9999</el-descriptions-item> |
||||
<el-descriptions-item label="工装编号">{{ form.moCode }}</el-descriptions-item> |
||||
<el-descriptions-item label="工装名称">{{ form.moName}}</el-descriptions-item> |
||||
<el-descriptions-item label="关联订单数">9999</el-descriptions-item> |
||||
<el-descriptions-item label="订单需求量">{{ form.quantity || "-" }}</el-descriptions-item> |
||||
<el-descriptions-item label="库存数量">9999</el-descriptions-item> |
||||
<el-descriptions-item label="占用数量">9999</el-descriptions-item> |
||||
</el-descriptions> |
||||
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
<el-table-column prop="shuliang" label="工作订单号" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="占用数" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="占用时间" align="center"> </el-table-column> |
||||
</el-table> |
||||
<el-descriptions class="margin-top" :column="4" border title="关联订单"></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
<el-table-column type="index" width="80" label="序号" align="center"> </el-table-column> |
||||
<el-table-column prop="id" label="计划单号" align="center"> </el-table-column> |
||||
<el-table-column prop="partCode" label="零件号" align="center"> </el-table-column> |
||||
<el-table-column prop="partName" label="产品名称" align="center"> </el-table-column> |
||||
<el-table-column prop="quantity" label="零件数量" align="center"> </el-table-column> |
||||
<el-table-column prop="needDate" label="需求交期" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="工装需求数量" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="已交付数量" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="未交付数量" align="center"> </el-table-column> |
||||
<el-table-column prop="shuliang" label="计划下达时间" align="center"> </el-table-column> |
||||
</el-table> |
||||
<el-descriptions |
||||
class="margin-top" |
||||
:column="4" |
||||
border |
||||
title="申报记录(近一个的记录)" |
||||
></el-descriptions> |
||||
<el-table :data="tableData" style="width: 100%"> |
||||
<el-table-column prop="partCode" label="零件号" align="center"></el-table-column> |
||||
<el-table-column prop="partName" label="零件名称" align="center"></el-table-column> |
||||
<el-table-column prop="moCode" label="对应工装号" align="center"></el-table-column> |
||||
<el-table-column prop="moName" label="工装名称" align="center"></el-table-column> |
||||
<el-table-column prop="quantity" label="数量" align="center"></el-table-column> |
||||
<el-table-column prop="shuliang" label="计划类型" align="center"></el-table-column> |
||||
<el-table-column prop="needDate" label="需求日期" align="center"></el-table-column> |
||||
<el-table-column prop="quaLevel" label="生产标识" align="center"></el-table-column> |
||||
<el-table-column prop="keeper" label="保管员" align="center"></el-table-column> |
||||
<el-table-column prop="releaser" label="下达人" align="center"></el-table-column> |
||||
<el-table-column prop="createTime" label="建立时间" align="center"></el-table-column> |
||||
<el-table-column prop="creatUser" label="建立人员" align="center"></el-table-column> |
||||
<el-table-column prop="memo" label="备注" align="center"></el-table-column> |
||||
<el-table-column prop="mafStatusTitle" label="状态" align="center"></el-table-column> |
||||
</el-table> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submit">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</template> |
||||
<script> |
||||
import { getOrderMoldPlanCaDeatils } from '@/api/orderManagement/moldPlan'; |
||||
export default { |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false, |
||||
}, |
||||
data() { |
||||
return { |
||||
openShow: false, |
||||
form: {}, |
||||
tableData: [], |
||||
|
||||
|
||||
} |
||||
id: { |
||||
type: String, |
||||
default: '1', |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog |
||||
}, |
||||
data() { |
||||
return { |
||||
openShow: false, |
||||
form: {}, |
||||
tableData: [], |
||||
}; |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog; |
||||
getOrderMoldPlanCaDeatils({ id: this.id }).then(res => { |
||||
if (res.code == 200) { |
||||
this.form = { ...res.data }; |
||||
} |
||||
}); |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false; |
||||
this.$emit('closeDialog'); |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false |
||||
this.$emit('closeDialog'); |
||||
}, |
||||
addTable() { |
||||
this.tableData.push({ |
||||
code: '3', |
||||
No: '3', |
||||
number: '3', |
||||
shuliang: '', |
||||
shuliang: 0 |
||||
|
||||
}) |
||||
}, |
||||
delTable(row, index) { |
||||
this.tableData.splice(index, 1) |
||||
}, |
||||
} |
||||
} |
||||
}, |
||||
}; |
||||
</script> |
||||
<style lang="scss" scoped> |
||||
.margin-top{ |
||||
margin-top: 24px; |
||||
.margin-top { |
||||
margin-top: 24px; |
||||
} |
||||
</style> |
||||
</style> |
||||
|
||||
@ -1,128 +1,161 @@ |
||||
<template> |
||||
<el-dialog title="模具申报" append-to-body :modelValue="openShow" width="40%" @close="closeDialog"> |
||||
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
||||
<el-row> |
||||
<el-col :span="12"> |
||||
<el-form-item label="零件编码:">21E8-040-17188-A1</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="零件名称:">21E8-040-17188-A1</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="工装号:">21E8-040-17188-A1</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="工装名称:">21E8-040-17188-A1</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="数量:" prop="shuliang"> |
||||
<el-input-number v-model="form.shuliang" :min="1" controls-position="right" style="width: 80%;" |
||||
@change="handleChange" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="计划类型:" prop="moCode"> |
||||
<el-select v-model="form.moCode" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
||||
<el-option label="计划类型一" value="1" /> |
||||
<el-option label="计划类型二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="需求日期:" prop="needDate"> |
||||
<el-date-picker v-model="form.needDate" type="date" placeholder="请选择" style="width: 80%;" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="生产标识:" prop="quaLevel"> |
||||
<el-input v-model="form.quaLevel" style="width: 80%;" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="保管员:" prop="userName"> |
||||
<el-select v-model="form.userName" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
||||
<el-option label="人员一" value="1" /> |
||||
<el-option label="人员二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24"> |
||||
<el-form-item label="备注:"> |
||||
<el-input v-model="form.memo" type="textarea" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-dialog |
||||
title="模具申报" |
||||
append-to-body |
||||
:modelValue="openShow" |
||||
width="40%" |
||||
@close="closeDialog" |
||||
> |
||||
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
||||
<el-row> |
||||
<el-col :span="12"> |
||||
<el-form-item label="零件编码:">{{ form.partCode }}</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="零件名称:">{{ form.partName }}</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="工装号:">{{ form.moCode }}</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="工装名称:">{{ form.moName }}</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="数量:" prop="quaLevel"> |
||||
<el-input-number |
||||
v-model="form.quaLevel" |
||||
:min="1" |
||||
controls-position="right" |
||||
style="width: 80%" |
||||
@change="handleChange" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="计划类型:" prop="moCodes"> |
||||
<el-select |
||||
v-model="form.moCodes" |
||||
:filterable="true" |
||||
allow-create |
||||
style="width: 80%" |
||||
> |
||||
<el-option label="计划类型一" value="1" /> |
||||
<el-option label="计划类型二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="需求日期:" prop="needDate"> |
||||
<el-date-picker |
||||
v-model="form.needDate" |
||||
type="date" |
||||
placeholder="请选择" |
||||
style="width: 80%" |
||||
format="YYYY-MM-DD" |
||||
value-format="YYYY-MM-DD" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="生产标识:" prop="quaLevels"> |
||||
<el-input v-model="form.quaLevels" style="width: 80%" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="保管员:" prop="keeper"> |
||||
<el-select |
||||
v-model="form.keeper" |
||||
:filterable="true" |
||||
allow-create |
||||
style="width: 80%" |
||||
> |
||||
<el-option label="人员一" value="1" /> |
||||
<el-option label="人员二" value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24"> |
||||
<el-form-item label="备注:"> |
||||
<el-input v-model="form.memo" type="textarea" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
</el-form> |
||||
|
||||
</el-row> |
||||
|
||||
</el-form> |
||||
|
||||
|
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submit">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submit">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</template> |
||||
<script> |
||||
import { getOrderMoldPlanCaDeatils,update } from '@/api/orderManagement/moldPlan'; |
||||
export default { |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
props: { |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false, |
||||
}, |
||||
data() { |
||||
return { |
||||
openShow: false, |
||||
form: { |
||||
|
||||
}, |
||||
tableData: [], |
||||
rules: { |
||||
shuliang: [ |
||||
{ required: true, message: '请输入', trigger: 'blur' }, |
||||
], |
||||
moCode: [ |
||||
{ required: true, message: '请选择', trigger: 'blur' }, |
||||
], |
||||
needDate:[ |
||||
{ required: true, message: '请选择', trigger: 'blur' }, |
||||
], |
||||
quaLevel:[ |
||||
{ required: true, message: '请输入', trigger: 'blur' }, |
||||
], |
||||
userName:[ |
||||
{ required: true, message: '请输入', trigger: 'blur' }, |
||||
], |
||||
|
||||
} |
||||
|
||||
} |
||||
id: { |
||||
type: String, |
||||
default: '1', |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog |
||||
}, |
||||
data() { |
||||
return { |
||||
openShow: false, |
||||
form: {}, |
||||
tableData: [], |
||||
rules: { |
||||
quaLevel: [{ required: true, message: '请输入数量', trigger: 'blur' }], |
||||
moCodes: [{ required: true, message: '请选择计划类型', trigger: 'change' }], |
||||
needDate: [{ required: true, message: '请选择需求日期', trigger: 'change' }], |
||||
keeper: [{ required: true, message: '请输入保管员', trigger: 'change' }], |
||||
}, |
||||
}; |
||||
}, |
||||
mounted() { |
||||
this.openShow = this.showDialog; |
||||
getOrderMoldPlanCaDeatils({ id: this.id }).then(res => { |
||||
if (res.code == 200) { |
||||
this.form = { ...res.data }; |
||||
} |
||||
}); |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false; |
||||
this.$emit('closeDialog'); |
||||
}, |
||||
methods: { |
||||
closeDialog() { |
||||
this.openShow = false |
||||
this.$emit('closeDialog'); |
||||
}, |
||||
addTable() { |
||||
this.tableData.push({ |
||||
code: '3', |
||||
No: '3', |
||||
number: '3', |
||||
shuliang: '', |
||||
shuliang: 0 |
||||
|
||||
}) |
||||
}, |
||||
delTable(row, index) { |
||||
this.tableData.splice(index, 1) |
||||
}, |
||||
} |
||||
} |
||||
submit() { |
||||
// 先校验表单 |
||||
this.$refs.form.validate(valid => { |
||||
if (!valid) { |
||||
this.$message.error('表单校验未通过,请检查必填项'); |
||||
return; |
||||
} |
||||
// // 准备提交数据(若需过滤字段可在此处理) |
||||
const submitData = { ...this.form ,...{id:this.id}}; |
||||
// 调用更新接口 |
||||
update(submitData) |
||||
.then(res => { |
||||
if (res && res.code === 200) { |
||||
this.$message.success('保存成功'); |
||||
this.closeDialog(); |
||||
// 向父组件通知成功(可携带返回数据或提交的数据) |
||||
this.$emit('updateSuccess', submitData); |
||||
} else { |
||||
this.$message.error( '保存失败'); |
||||
} |
||||
}) |
||||
.catch(() => { |
||||
this.$message.error('请求失败,请稍后重试'); |
||||
}); |
||||
}); |
||||
}, |
||||
}, |
||||
}; |
||||
</script> |
||||
<style lang="scss" scoped></style> |
||||
<style lang="scss" scoped></style> |
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,38 +1,35 @@ |
||||
<template> |
||||
<basic-container> |
||||
<el-tabs v-model="activeName" @tab-click="handleClick"> |
||||
<el-tab-pane label="模具需求" name="1"></el-tab-pane> |
||||
<el-tab-pane label="申报记录" name="2"></el-tab-pane> |
||||
</el-tabs> |
||||
<basic-container> |
||||
<el-tabs v-model="activeName" @tab-click="handleClick"> |
||||
<el-tab-pane label="模具需求" name="1"> |
||||
<moldRequire v-if="activeName == '1'"></moldRequire> |
||||
</el-tab-pane> |
||||
<el-tab-pane label="申报记录" name="2"> |
||||
<moldRecord v-if="activeName == '2'"></moldRecord> |
||||
</basic-container> |
||||
</el-tab-pane> |
||||
</el-tabs> |
||||
</basic-container> |
||||
</template> |
||||
|
||||
<script> |
||||
import moldRequire from './components/mold/moldRequire.vue' |
||||
import moldRecord from './components/mold/moldRecord.vue' |
||||
import moldRequire from './components/mold/moldRequire.vue'; |
||||
import moldRecord from './components/mold/moldRecord.vue'; |
||||
export default { |
||||
components: { |
||||
moldRequire, |
||||
moldRecord |
||||
}, |
||||
data() { |
||||
return { |
||||
activeName: '1', |
||||
|
||||
|
||||
|
||||
}; |
||||
}, |
||||
|
||||
components: { |
||||
moldRequire, |
||||
moldRecord, |
||||
}, |
||||
data() { |
||||
return { |
||||
activeName: '1', |
||||
}; |
||||
}, |
||||
|
||||
methods: { |
||||
handleClick() { |
||||
console.log(9999999,this.activeName) |
||||
}, |
||||
methods: { |
||||
handleClick() { |
||||
console.log(9999999, this.activeName); |
||||
}, |
||||
mounted() { |
||||
} |
||||
}, |
||||
mounted() {}, |
||||
}; |
||||
</script> |
||||
|
||||
Loading…
Reference in new issue