Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling
commit
58d187c8d4
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> |
<template> |
||||||
<el-dialog title="新增" append-to-body :modelValue="openShow" width="90%" @close="closeDialog" fullscreen> |
<el-dialog |
||||||
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
title="新增" |
||||||
<el-button type="primary" @click="addTable">插入一行</el-button> |
append-to-body |
||||||
<el-button type="danger" @click="delTable">删除选中行</el-button> |
:modelValue="openShow" |
||||||
</div> |
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"> |
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> |
||||||
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px;"> |
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px"> |
||||||
{{ formError }} |
{{ formError }} |
||||||
</div> |
</div> |
||||||
|
|
||||||
<el-table :data="form.tableData" @select="selectChange" style="width: 100%" border> |
<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="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 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"> |
<el-table-column prop="partName" label="零件名称" align="center"> |
||||||
<template #header> |
<template #default="scope"> |
||||||
<span><i style="color:red">*</i>零件编码</span> |
<span>{{ scope.row.partName }}</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
</el-table-column> |
||||||
<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"> |
<el-table-column prop="moCode" label="工装号" align="center"> |
||||||
<template #default="scope"> |
<template #header> |
||||||
<span>{{ scope.row.partName }}</span> |
<span><i style="color: red">*</i>工装号</span> |
||||||
</template> |
</template> |
||||||
</el-table-column> |
<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"> |
<el-table-column prop="moName" label="工装名称" align="center"> |
||||||
<template #header> |
<template #default="scope"> |
||||||
<span><i style="color:red">*</i>工装号</span> |
<span>{{ scope.row.moName }}</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
</el-table-column> |
||||||
<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"> |
<el-table-column prop="quantity" label="数量" align="center"> |
||||||
<template #default="scope"> |
<template #header> |
||||||
<span>{{ scope.row.moName }}</span> |
<span><i style="color: red">*</i>数量</span> |
||||||
</template> |
</template> |
||||||
</el-table-column> |
<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"> |
<el-table-column prop="planType" label="计划类型" align="center"> |
||||||
<template #header> |
<template #header> |
||||||
<span><i style="color:red">*</i>数量</span> |
<span><i style="color: red">*</i>计划类型</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-form-item :prop="`tableData[${scope.$index}].shuliang`" :rules="formRules.shuliang"> |
<el-form-item :prop="`moldPlan[${scope.$index}].planType`" :rules="formRules.planType"> |
||||||
<el-input-number v-model="scope.row.shuliang" :min="1" controls-position="right" |
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
||||||
style="width: 90%;" @change="handleChange" /> |
<el-option label="计划类型一" value="1" /> |
||||||
</el-form-item> |
<el-option label="计划类型二" value="2" /> |
||||||
</template> |
</el-select> |
||||||
</el-table-column> |
</el-form-item> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
|
||||||
<el-table-column prop="planType" label="计划类型" align="center"> |
<el-table-column prop="needDate" label="需求日期" align="center"> |
||||||
<template #header> |
<template #header> |
||||||
<span><i style="color:red">*</i>计划类型</span> |
<span><i style="color: red">*</i>需求日期</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-form-item :prop="`tableData[${scope.$index}].planType`" :rules="formRules.planType"> |
<el-form-item :prop="`moldPlan[${scope.$index}].needDate`" :rules="formRules.needDate"> |
||||||
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
<el-date-picker |
||||||
<el-option label="计划类型一" value="1" /> |
v-model="scope.row.needDate" |
||||||
<el-option label="计划类型二" value="2" /> |
type="date" |
||||||
</el-select> |
format="YYYY-MM-DD" |
||||||
</el-form-item> |
value-format="YYYY-MM-DD" |
||||||
</template> |
placeholder="请选择" |
||||||
</el-table-column> |
style="width: 80%" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
|
||||||
<el-table-column prop="needDate" label="需求日期" align="center"> |
<el-table-column prop="quaLevel" label="生产标识" align="center"> |
||||||
<template #header> |
<template #header> |
||||||
<span><i style="color:red">*</i>需求日期</span> |
<span><i style="color: red">*</i>生产标识</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-form-item :prop="`tableData[${scope.$index}].needDate`" :rules="formRules.needDate"> |
<el-form-item :prop="`moldPlan[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
||||||
<el-date-picker v-model="scope.row.needDate" type="date" placeholder="请选择" |
<el-input v-model="scope.row.quaLevel" /> |
||||||
style="width: 80%;" /> |
</el-form-item> |
||||||
</el-form-item> |
</template> |
||||||
</template> |
</el-table-column> |
||||||
</el-table-column> |
|
||||||
|
|
||||||
<el-table-column prop="quaLevel" label="生产标识" align="center"> |
<el-table-column prop="keeper" label="保管员" align="center"> |
||||||
<template #header> |
<template #header> |
||||||
<span><i style="color:red">*</i>生产标识</span> |
<span><i style="color: red">*</i>保管员</span> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-form-item :prop="`tableData[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
<el-form-item :prop="`moldPlan[${scope.$index}].keeper`" :rules="formRules.keeper"> |
||||||
<el-input v-model="scope.row.quaLevel" /> |
<el-select v-model="scope.row.keeper" :filterable="true" allow-create> |
||||||
</el-form-item> |
<el-option label="人员一" value="1" /> |
||||||
</template> |
<el-option label="人员二" value="2" /> |
||||||
</el-table-column> |
</el-select> |
||||||
|
</el-form-item> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
|
||||||
<el-table-column prop="keeper.userName" label="保管员" align="center"> |
<el-table-column prop="memo" label="备注" align="center"> |
||||||
<template #header> |
<template #default="scope"> |
||||||
<span><i style="color:red">*</i>保管员</span> |
<el-input v-model="scope.row.memo" /> |
||||||
</template> |
</template> |
||||||
<template #default="scope"> |
</el-table-column> |
||||||
<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"> |
<el-table-column fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-input v-model="scope.row.memo" /> |
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)" |
||||||
</template> |
>删除</el-button |
||||||
</el-table-column> |
> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
</el-form> |
||||||
|
|
||||||
<el-table-column fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
<template #footer> |
||||||
<template #default="scope"> |
<span class="dialog-footer"> |
||||||
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)">删除</el-button> |
<el-button @click="closeDialog">取 消</el-button> |
||||||
</template> |
<el-button type="primary" @click="submitForm">确 定</el-button> |
||||||
</el-table-column> |
</span> |
||||||
</el-table> |
</template> |
||||||
</el-form> |
</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> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
|
import { add } from '@/api/orderManagement/moldPlan'; |
||||||
|
import { index } from '@/views/plugin/workflow/api/statistics'; |
||||||
|
|
||||||
export default { |
export default { |
||||||
props: { |
props: { |
||||||
showDialog: { |
showDialog: { |
||||||
type: Boolean, |
type: Boolean, |
||||||
default: false |
default: false, |
||||||
}, |
|
||||||
moldAddMore: { |
|
||||||
type: Boolean, |
|
||||||
default: false |
|
||||||
} |
|
||||||
}, |
}, |
||||||
data() { |
moldAddMore: { |
||||||
return { |
type: Boolean, |
||||||
openShow: false, |
default: 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(); |
|
||||||
} |
|
||||||
}, |
}, |
||||||
methods: { |
}, |
||||||
closeDialog() { |
data() { |
||||||
this.openShow = false; |
return { |
||||||
this.$emit('closeDialog'); |
moCodeList: [ |
||||||
this.form.tableData = []; |
{ label: '工装一', value: 1 }, |
||||||
this.formError = ''; |
{ |
||||||
this.$refs.tableForm?.resetFields(); |
label: '工装二', |
||||||
}, |
value: 2, |
||||||
selectChange(list, row) { |
|
||||||
row._select = !row._select; |
|
||||||
}, |
}, |
||||||
addTable() { |
], |
||||||
this.form.tableData.push({ |
partCodeList: [ |
||||||
_select: false, |
{ label: '零件一', value: 1 }, |
||||||
partCode: '', |
{ |
||||||
partName: '', |
label: '零件二', |
||||||
moCode: '', |
value: 2, |
||||||
moName: '', |
|
||||||
shuliang: 1, |
|
||||||
planType: '', |
|
||||||
needDate: '', |
|
||||||
quaLevel: '', |
|
||||||
userName: '', |
|
||||||
memo: '' |
|
||||||
}); |
|
||||||
}, |
}, |
||||||
delTable(row, index) { |
], |
||||||
if (index !== undefined) { |
openShow: false, |
||||||
this.form.tableData.splice(index, 1); |
formError: '', |
||||||
} else { |
form: { |
||||||
this.form.tableData = this.form.tableData.filter(item => !item._select); |
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) { |
return; |
||||||
// 保留原逻辑,可根据实际需求完善 |
} else { |
||||||
}, |
console.log('submitForm after validate', JSON.parse(JSON.stringify(this.form))); |
||||||
frockChange(row) { |
add(JSON.parse(JSON.stringify(this.form))).then(res => { |
||||||
// 保留原逻辑,可根据实际需求完善 |
if (res.code === 200) { |
||||||
}, |
this.$message.success('提交成功'); |
||||||
handleChange() { |
this.closeDialog(); |
||||||
// 数量变化处理 |
} |
||||||
}, |
}); |
||||||
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; |
|
||||||
} |
|
||||||
|
|
||||||
// 处理提交数据 |
// 处理提交数据 |
||||||
const submitData = this.form.tableData.map(row => { |
// const submitData = this.form.moldPlan.map(row => { |
||||||
const { _select, ...validData } = row; |
// const { _select, ...validData } = row; |
||||||
return validData; |
// return validData; |
||||||
}); |
// }); |
||||||
|
|
||||||
// 实际提交逻辑 |
// 验证通过后再打印一次快照,便于对比 |
||||||
this.$message.success('提交成功'); |
|
||||||
this.closeDialog(); |
|
||||||
this.$emit('submitSuccess', submitData); |
// 实际提交逻辑 |
||||||
}); |
|
||||||
} |
// this.$emit('submitSuccess', submitData); |
||||||
} |
}); |
||||||
|
}, |
||||||
|
}, |
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
|
||||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||||
:deep(.el-table .el-form-item) { |
:deep(.el-table .el-form-item) { |
||||||
margin-bottom: 0; |
margin-bottom: 0; |
||||||
} |
} |
||||||
|
|
||||||
:deep(.el-form-item__error) { |
:deep(.el-form-item__error) { |
||||||
font-size: 12px; |
font-size: 12px; |
||||||
white-space: nowrap; |
white-space: nowrap; |
||||||
z-index: 10; |
z-index: 10; |
||||||
background: #fff; |
background: #fff; |
||||||
padding: 2px 4px; |
padding: 2px 4px; |
||||||
border: 1px solid #f56c6c; |
border: 1px solid #f56c6c; |
||||||
border-radius: 4px; |
border-radius: 4px; |
||||||
} |
} |
||||||
|
|
||||||
.el-table__row { |
.el-table__row { |
||||||
height: 80px !important; |
height: 80px !important; |
||||||
} |
} |
||||||
|
|
||||||
.el-table__cell { |
.el-table__cell { |
||||||
vertical-align: middle !important; |
vertical-align: middle !important; |
||||||
} |
} |
||||||
|
|
||||||
.error-message { |
.error-message { |
||||||
font-size: 14px; |
font-size: 14px; |
||||||
line-height: 1.5; |
line-height: 1.5; |
||||||
} |
} |
||||||
|
|
||||||
:deep(.el-table .el-table__cell) { |
:deep(.el-table .el-table__cell) { |
||||||
height: 50px !important; |
height: 50px !important; |
||||||
padding: 0 !important; |
padding: 0 !important; |
||||||
line-height: 50px !important; |
line-height: 50px !important; |
||||||
} |
} |
||||||
</style> |
</style> |
||||||
@ -1,119 +1,109 @@ |
|||||||
<template> |
<template> |
||||||
<el-dialog title="详情" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen> |
<el-dialog |
||||||
<el-descriptions class="margin-top" :column="4" border title="需求信息" > |
title="详情" |
||||||
<el-descriptions-item label="需求编号">9999</el-descriptions-item> |
append-to-body |
||||||
<el-descriptions-item label="工装编号">9999</el-descriptions-item> |
:modelValue="openShow" |
||||||
<el-descriptions-item label="工装名称">9999</el-descriptions-item> |
width="70%" |
||||||
<el-descriptions-item label="关联订单数">9999</el-descriptions-item> |
@close="closeDialog" |
||||||
<el-descriptions-item label="订单需求量">9999</el-descriptions-item> |
fullscreen |
||||||
<el-descriptions-item label="库存数量">9999</el-descriptions-item> |
> |
||||||
<el-descriptions-item label="占用数量">9999</el-descriptions-item> |
<el-descriptions class="margin-top" :column="4" border title="需求信息"> |
||||||
</el-descriptions> |
<el-descriptions-item label="需求编号">9999</el-descriptions-item> |
||||||
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
<el-descriptions-item label="工装编号">{{ form.moCode }}</el-descriptions-item> |
||||||
<el-table :data="tableData" style="width: 100%"> |
<el-descriptions-item label="工装名称">{{ form.moName}}</el-descriptions-item> |
||||||
|
<el-descriptions-item label="关联订单数">9999</el-descriptions-item> |
||||||
<el-table-column prop="shuliang" label="工作订单号" align="center"> |
<el-descriptions-item label="订单需求量">{{ form.quantity || "-" }}</el-descriptions-item> |
||||||
|
<el-descriptions-item label="库存数量">9999</el-descriptions-item> |
||||||
</el-table-column> |
<el-descriptions-item label="占用数量">9999</el-descriptions-item> |
||||||
<el-table-column prop="shuliang" label="占用数" align="center"> |
</el-descriptions> |
||||||
|
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
||||||
</el-table-column> |
<el-table :data="tableData" style="width: 100%"> |
||||||
<el-table-column prop="shuliang" label="占用时间" align="center"> |
<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> |
<el-table-column prop="shuliang" label="占用时间" align="center"> </el-table-column> |
||||||
</el-table> |
</el-table> |
||||||
<el-descriptions class="margin-top" :column="4" border title="关联订单"></el-descriptions> |
<el-descriptions class="margin-top" :column="4" border title="关联订单"></el-descriptions> |
||||||
<el-table :data="tableData" style="width: 100%"> |
<el-table :data="tableData" style="width: 100%"> |
||||||
<el-table-column type="index" width="80" label="序号" align="center"> |
<el-table-column type="index" width="80" label="序号" align="center"> </el-table-column> |
||||||
</el-table-column> |
<el-table-column prop="id" label="计划单号" align="center"> </el-table-column> |
||||||
<el-table-column prop="shuliang" label="计划单号" align="center"> |
<el-table-column prop="partCode" label="零件号" align="center"> </el-table-column> |
||||||
</el-table-column> |
<el-table-column prop="partName" label="产品名称" align="center"> </el-table-column> |
||||||
<el-table-column prop="shuliang" label="零件号" align="center"> |
<el-table-column prop="quantity" label="零件数量" align="center"> </el-table-column> |
||||||
</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 prop="shuliang" label="工装需求数量" align="center"> </el-table-column> |
||||||
</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 prop="shuliang" label="未交付数量" align="center"> </el-table-column> |
||||||
</el-table-column> |
<el-table-column prop="shuliang" label="计划下达时间" align="center"> </el-table-column> |
||||||
<el-table-column prop="shuliang" label="需求交期" align="center"> |
</el-table> |
||||||
</el-table-column> |
<el-descriptions |
||||||
<el-table-column prop="shuliang" label="工装需求数量" align="center"> |
class="margin-top" |
||||||
</el-table-column> |
:column="4" |
||||||
<el-table-column prop="shuliang" label="已交付数量" align="center"> |
border |
||||||
</el-table-column> |
title="申报记录(近一个的记录)" |
||||||
<el-table-column prop="shuliang" label="未交付数量" align="center"> |
></el-descriptions> |
||||||
</el-table-column> |
<el-table :data="tableData" style="width: 100%"> |
||||||
<el-table-column prop="shuliang" label="计划下达时间" align="center"> |
<el-table-column prop="partCode" label="零件号" align="center"></el-table-column> |
||||||
</el-table-column> |
<el-table-column prop="partName" label="零件名称" align="center"></el-table-column> |
||||||
</el-table> |
<el-table-column prop="moCode" label="对应工装号" align="center"></el-table-column> |
||||||
<el-descriptions class="margin-top" :column="4" border title="申报记录(近一个的记录)"></el-descriptions> |
<el-table-column prop="moName" label="工装名称" align="center"></el-table-column> |
||||||
<el-table :data="tableData" style="width: 100%"> |
<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="shuliang" 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="quaLevel" label="生产标识" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="对应工装号" align="center"></el-table-column> |
<el-table-column prop="keeper" label="保管员" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="工装名称" align="center"></el-table-column> |
<el-table-column prop="releaser" label="下达人" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="数量" align="center"></el-table-column> |
<el-table-column prop="createTime" label="建立时间" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="计划类型" align="center"></el-table-column> |
<el-table-column prop="creatUser" label="建立人员" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="需求日期" align="center"></el-table-column> |
<el-table-column prop="memo" label="备注" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="生产标识" align="center"></el-table-column> |
<el-table-column prop="mafStatusTitle" label="状态" align="center"></el-table-column> |
||||||
<el-table-column prop="shuliang" label="保管员" align="center"></el-table-column> |
</el-table> |
||||||
<el-table-column prop="shuliang" label="下达人" align="center"></el-table-column> |
<template #footer> |
||||||
<el-table-column prop="shuliang" label="建立时间" align="center"></el-table-column> |
<span class="dialog-footer"> |
||||||
<el-table-column prop="shuliang" label="建立人员" align="center"></el-table-column> |
<el-button @click="closeDialog">取 消</el-button> |
||||||
<el-table-column prop="shuliang" label="备注" align="center"></el-table-column> |
<el-button type="primary" @click="submit">确 定</el-button> |
||||||
<el-table-column prop="shuliang" label="状态" align="center"></el-table-column> |
</span> |
||||||
</el-table> |
</template> |
||||||
<template #footer> |
</el-dialog> |
||||||
<span class="dialog-footer"> |
|
||||||
<el-button @click="closeDialog">取 消</el-button> |
|
||||||
<el-button type="primary" @click="submit">确 定</el-button> |
|
||||||
</span> |
|
||||||
</template> |
|
||||||
</el-dialog> |
|
||||||
</template> |
</template> |
||||||
<script> |
<script> |
||||||
|
import { getOrderMoldPlanCaDeatils } from '@/api/orderManagement/moldPlan'; |
||||||
export default { |
export default { |
||||||
props: { |
props: { |
||||||
showDialog: { |
showDialog: { |
||||||
type: Boolean, |
type: Boolean, |
||||||
default: false |
default: false, |
||||||
}, |
|
||||||
}, |
}, |
||||||
data() { |
id: { |
||||||
return { |
type: String, |
||||||
openShow: false, |
default: '1', |
||||||
form: {}, |
|
||||||
tableData: [], |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
}, |
}, |
||||||
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> |
</script> |
||||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||||
.margin-top{ |
.margin-top { |
||||||
margin-top: 24px; |
margin-top: 24px; |
||||||
} |
} |
||||||
</style> |
</style> |
||||||
@ -1,128 +1,161 @@ |
|||||||
<template> |
<template> |
||||||
<el-dialog title="模具申报" append-to-body :modelValue="openShow" width="40%" @close="closeDialog"> |
<el-dialog |
||||||
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
title="模具申报" |
||||||
<el-row> |
append-to-body |
||||||
<el-col :span="12"> |
:modelValue="openShow" |
||||||
<el-form-item label="零件编码:">21E8-040-17188-A1</el-form-item> |
width="40%" |
||||||
</el-col> |
@close="closeDialog" |
||||||
<el-col :span="12"> |
> |
||||||
<el-form-item label="零件名称:">21E8-040-17188-A1</el-form-item> |
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
||||||
</el-col> |
<el-row> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="工装号:">21E8-040-17188-A1</el-form-item> |
<el-form-item label="零件编码:">{{ form.partCode }}</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="工装名称:">21E8-040-17188-A1</el-form-item> |
<el-form-item label="零件名称:">{{ form.partName }}</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="数量:" prop="shuliang"> |
<el-form-item label="工装号:">{{ form.moCode }}</el-form-item> |
||||||
<el-input-number v-model="form.shuliang" :min="1" controls-position="right" style="width: 80%;" |
</el-col> |
||||||
@change="handleChange" /> |
<el-col :span="12"> |
||||||
</el-form-item> |
<el-form-item label="工装名称:">{{ form.moName }}</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="计划类型:" prop="moCode"> |
<el-form-item label="数量:" prop="quaLevel"> |
||||||
<el-select v-model="form.moCode" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
<el-input-number |
||||||
<el-option label="计划类型一" value="1" /> |
v-model="form.quaLevel" |
||||||
<el-option label="计划类型二" value="2" /> |
:min="1" |
||||||
</el-select> |
controls-position="right" |
||||||
</el-form-item> |
style="width: 80%" |
||||||
</el-col> |
@change="handleChange" |
||||||
<el-col :span="12"> |
/> |
||||||
<el-form-item label="需求日期:" prop="needDate"> |
</el-form-item> |
||||||
<el-date-picker v-model="form.needDate" type="date" placeholder="请选择" style="width: 80%;" /> |
</el-col> |
||||||
</el-form-item> |
<el-col :span="12"> |
||||||
</el-col> |
<el-form-item label="计划类型:" prop="moCodes"> |
||||||
<el-col :span="12"> |
<el-select |
||||||
<el-form-item label="生产标识:" prop="quaLevel"> |
v-model="form.moCodes" |
||||||
<el-input v-model="form.quaLevel" style="width: 80%;" /> |
:filterable="true" |
||||||
</el-form-item> |
allow-create |
||||||
</el-col> |
style="width: 80%" |
||||||
<el-col :span="12"> |
> |
||||||
<el-form-item label="保管员:" prop="userName"> |
<el-option label="计划类型一" value="1" /> |
||||||
<el-select v-model="form.userName" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
<el-option label="计划类型二" value="2" /> |
||||||
<el-option label="人员一" value="1" /> |
</el-select> |
||||||
<el-option label="人员二" value="2" /> |
</el-form-item> |
||||||
</el-select> |
</el-col> |
||||||
</el-form-item> |
<el-col :span="12"> |
||||||
</el-col> |
<el-form-item label="需求日期:" prop="needDate"> |
||||||
<el-col :span="24"> |
<el-date-picker |
||||||
<el-form-item label="备注:"> |
v-model="form.needDate" |
||||||
<el-input v-model="form.memo" type="textarea" /> |
type="date" |
||||||
</el-form-item> |
placeholder="请选择" |
||||||
</el-col> |
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> |
<template #footer> |
||||||
|
<span class="dialog-footer"> |
||||||
</el-form> |
<el-button @click="closeDialog">取 消</el-button> |
||||||
|
<el-button type="primary" @click="submit">确 定</el-button> |
||||||
|
</span> |
||||||
<template #footer> |
</template> |
||||||
<span class="dialog-footer"> |
</el-dialog> |
||||||
<el-button @click="closeDialog">取 消</el-button> |
|
||||||
<el-button type="primary" @click="submit">确 定</el-button> |
|
||||||
</span> |
|
||||||
</template> |
|
||||||
</el-dialog> |
|
||||||
</template> |
</template> |
||||||
<script> |
<script> |
||||||
|
import { getOrderMoldPlanCaDeatils,update } from '@/api/orderManagement/moldPlan'; |
||||||
export default { |
export default { |
||||||
props: { |
props: { |
||||||
showDialog: { |
showDialog: { |
||||||
type: Boolean, |
type: Boolean, |
||||||
default: false |
default: false, |
||||||
}, |
|
||||||
}, |
}, |
||||||
data() { |
id: { |
||||||
return { |
type: String, |
||||||
openShow: false, |
default: '1', |
||||||
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' }, |
|
||||||
], |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
}, |
}, |
||||||
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: { |
submit() { |
||||||
closeDialog() { |
// 先校验表单 |
||||||
this.openShow = false |
this.$refs.form.validate(valid => { |
||||||
this.$emit('closeDialog'); |
if (!valid) { |
||||||
}, |
this.$message.error('表单校验未通过,请检查必填项'); |
||||||
addTable() { |
return; |
||||||
this.tableData.push({ |
} |
||||||
code: '3', |
// // 准备提交数据(若需过滤字段可在此处理) |
||||||
No: '3', |
const submitData = { ...this.form ,...{id:this.id}}; |
||||||
number: '3', |
// 调用更新接口 |
||||||
shuliang: '', |
update(submitData) |
||||||
shuliang: 0 |
.then(res => { |
||||||
|
if (res && res.code === 200) { |
||||||
}) |
this.$message.success('保存成功'); |
||||||
}, |
this.closeDialog(); |
||||||
delTable(row, index) { |
// 向父组件通知成功(可携带返回数据或提交的数据) |
||||||
this.tableData.splice(index, 1) |
this.$emit('updateSuccess', submitData); |
||||||
}, |
} else { |
||||||
} |
this.$message.error( '保存失败'); |
||||||
} |
} |
||||||
|
}) |
||||||
|
.catch(() => { |
||||||
|
this.$message.error('请求失败,请稍后重试'); |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
}, |
||||||
|
}; |
||||||
</script> |
</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> |
<template> |
||||||
<basic-container> |
<basic-container> |
||||||
<el-tabs v-model="activeName" @tab-click="handleClick"> |
<el-tabs v-model="activeName" @tab-click="handleClick"> |
||||||
<el-tab-pane label="模具需求" name="1"></el-tab-pane> |
<el-tab-pane label="模具需求" name="1"> |
||||||
<el-tab-pane label="申报记录" name="2"></el-tab-pane> |
|
||||||
</el-tabs> |
|
||||||
<moldRequire v-if="activeName == '1'"></moldRequire> |
<moldRequire v-if="activeName == '1'"></moldRequire> |
||||||
|
</el-tab-pane> |
||||||
|
<el-tab-pane label="申报记录" name="2"> |
||||||
<moldRecord v-if="activeName == '2'"></moldRecord> |
<moldRecord v-if="activeName == '2'"></moldRecord> |
||||||
</basic-container> |
</el-tab-pane> |
||||||
|
</el-tabs> |
||||||
|
</basic-container> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
import moldRequire from './components/mold/moldRequire.vue' |
import moldRequire from './components/mold/moldRequire.vue'; |
||||||
import moldRecord from './components/mold/moldRecord.vue' |
import moldRecord from './components/mold/moldRecord.vue'; |
||||||
export default { |
export default { |
||||||
components: { |
components: { |
||||||
moldRequire, |
moldRequire, |
||||||
moldRecord |
moldRecord, |
||||||
}, |
}, |
||||||
data() { |
data() { |
||||||
return { |
return { |
||||||
activeName: '1', |
activeName: '1', |
||||||
|
}; |
||||||
|
}, |
||||||
|
|
||||||
}; |
|
||||||
}, |
|
||||||
|
|
||||||
|
|
||||||
methods: { |
methods: { |
||||||
handleClick() { |
handleClick() { |
||||||
console.log(9999999,this.activeName) |
console.log(9999999, this.activeName); |
||||||
}, |
|
||||||
}, |
}, |
||||||
mounted() { |
}, |
||||||
} |
mounted() {}, |
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
|||||||
Loading…
Reference in new issue