Compare commits
No commits in common. 'f5662bf15d95635e6e84291f42dba5e6f68796ee' and '970a7180020ba81b10fca50a22a77824afeca731' have entirely different histories.
f5662bf15d
...
970a718002
11 changed files with 1871 additions and 2237 deletions
@ -1,66 +0,0 @@ |
|||||||
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, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}; |
|
||||||
@ -1,74 +0,0 @@ |
|||||||
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, |
|
||||||
}, |
|
||||||
}); |
|
||||||
}; |
|
||||||
@ -1,42 +0,0 @@ |
|||||||
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; |
|
||||||
} |
|
||||||
@ -1,30 +0,0 @@ |
|||||||
{ |
|
||||||
"materials": [ |
|
||||||
{ |
|
||||||
"label": "钢材", |
|
||||||
"value": "steel" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"label": "塑料", |
|
||||||
"value": "plastic" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"label": "涂料", |
|
||||||
"value": "coating" |
|
||||||
} |
|
||||||
], |
|
||||||
"departments": [ |
|
||||||
{ |
|
||||||
"label": "生产部", |
|
||||||
"value": "production" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"label": "质检部", |
|
||||||
"value": "qc" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"label": "研发部", |
|
||||||
"value": "rd" |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
@ -1,380 +1,319 @@ |
|||||||
<template> |
<template> |
||||||
<el-dialog |
<el-dialog title="新增" append-to-body :modelValue="openShow" width="90%" @close="closeDialog" fullscreen> |
||||||
title="新增" |
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
||||||
append-to-body |
<el-button type="primary" @click="addTable">插入一行</el-button> |
||||||
:modelValue="openShow" |
<el-button type="danger" @click="delTable">删除选中行</el-button> |
||||||
width="90%" |
</div> |
||||||
@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.moldPlan" @select="selectChange" style="width: 100%" border> |
<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="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="partName" label="零件名称" align="center"> |
<el-table-column prop="partCode" 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="`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="moCode" 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="`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="moName" label="工装名称" align="center"> |
<el-table-column prop="moCode" 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="`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="quantity" 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="`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="planType" label="计划类型" align="center"> |
<el-table-column prop="quantity" 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="`moldPlan[${scope.$index}].planType`" :rules="formRules.planType"> |
<el-form-item :prop="`tableData[${scope.$index}].shuliang`" :rules="formRules.shuliang"> |
||||||
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
<el-input-number v-model="scope.row.shuliang" :min="1" controls-position="right" |
||||||
<el-option label="计划类型一" value="1" /> |
style="width: 90%;" @change="handleChange" /> |
||||||
<el-option label="计划类型二" value="2" /> |
</el-form-item> |
||||||
</el-select> |
</template> |
||||||
</el-form-item> |
</el-table-column> |
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
|
|
||||||
<el-table-column prop="needDate" 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="`moldPlan[${scope.$index}].needDate`" :rules="formRules.needDate"> |
<el-form-item :prop="`tableData[${scope.$index}].planType`" :rules="formRules.planType"> |
||||||
<el-date-picker |
<el-select v-model="scope.row.planType" :filterable="true" allow-create> |
||||||
v-model="scope.row.needDate" |
<el-option label="计划类型一" value="1" /> |
||||||
type="date" |
<el-option label="计划类型二" value="2" /> |
||||||
format="YYYY-MM-DD" |
</el-select> |
||||||
value-format="YYYY-MM-DD" |
</el-form-item> |
||||||
placeholder="请选择" |
</template> |
||||||
style="width: 80%" |
</el-table-column> |
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
|
|
||||||
<el-table-column prop="quaLevel" 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="`moldPlan[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
<el-form-item :prop="`tableData[${scope.$index}].needDate`" :rules="formRules.needDate"> |
||||||
<el-input v-model="scope.row.quaLevel" /> |
<el-date-picker v-model="scope.row.needDate" type="date" placeholder="请选择" |
||||||
</el-form-item> |
style="width: 80%;" /> |
||||||
</template> |
</el-form-item> |
||||||
</el-table-column> |
</template> |
||||||
|
</el-table-column> |
||||||
|
|
||||||
<el-table-column prop="keeper" 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="`moldPlan[${scope.$index}].keeper`" :rules="formRules.keeper"> |
<el-form-item :prop="`tableData[${scope.$index}].quaLevel`" :rules="formRules.quaLevel"> |
||||||
<el-select v-model="scope.row.keeper" :filterable="true" allow-create> |
<el-input v-model="scope.row.quaLevel" /> |
||||||
<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="memo" label="备注" align="center"> |
<el-table-column prop="keeper.userName" label="保管员" align="center"> |
||||||
<template #default="scope"> |
<template #header> |
||||||
<el-input v-model="scope.row.memo" /> |
<span><i style="color:red">*</i>保管员</span> |
||||||
</template> |
</template> |
||||||
</el-table-column> |
<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 fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
<el-table-column prop="memo" label="备注" align="center"> |
||||||
<template #default="scope"> |
<template #default="scope"> |
||||||
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)" |
<el-input v-model="scope.row.memo" /> |
||||||
>删除</el-button |
</template> |
||||||
> |
</el-table-column> |
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
</el-form> |
|
||||||
|
|
||||||
<template #footer> |
<el-table-column fixed="right" label="操作" width="100" align="left" v-if="moldAddMore"> |
||||||
<span class="dialog-footer"> |
<template #default="scope"> |
||||||
<el-button @click="closeDialog">取 消</el-button> |
<el-button type="text" @click.prevent="delTable(scope.row, scope.$index)">删除</el-button> |
||||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
</template> |
||||||
</span> |
</el-table-column> |
||||||
</template> |
</el-table> |
||||||
</el-dialog> |
</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> |
</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() { |
|
||||||
return { |
|
||||||
moCodeList: [ |
|
||||||
{ label: '工装一', value: 1 }, |
|
||||||
{ |
|
||||||
label: '工装二', |
|
||||||
value: 2, |
|
||||||
}, |
}, |
||||||
], |
moldAddMore: { |
||||||
partCodeList: [ |
type: Boolean, |
||||||
{ label: '零件一', value: 1 }, |
default: false |
||||||
{ |
} |
||||||
label: '零件二', |
|
||||||
value: 2, |
|
||||||
}, |
|
||||||
], |
|
||||||
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) { |
data() { |
||||||
// 保留原逻辑,可根据实际需求完善 |
return { |
||||||
this.form.moldPlan[i].moName = this.moCodeList.find(item => item.value === val)?.label || ''; |
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'] } |
||||||
|
] |
||||||
|
} |
||||||
|
}; |
||||||
}, |
}, |
||||||
handleChange() { |
mounted() { |
||||||
// 数量变化处理 |
this.openShow = this.showDialog; |
||||||
|
if (this.moldAddMore && this.form.tableData.length === 0) { |
||||||
|
this.addTable(); |
||||||
|
} |
||||||
}, |
}, |
||||||
submitForm() { |
methods: { |
||||||
// 快照打印 |
closeDialog() { |
||||||
this.formError = ''; |
this.openShow = false; |
||||||
this.$refs.tableForm.validate(isValid => { |
this.$emit('closeDialog'); |
||||||
if (!isValid) { |
this.form.tableData = []; |
||||||
this.formError = '存在未完善的字段,请检查表格中的红色提示'; |
this.formError = ''; |
||||||
this.$nextTick(() => { |
this.$refs.tableForm?.resetFields(); |
||||||
const firstError = document.querySelector('.el-form-item.is-error'); |
}, |
||||||
if (firstError) { |
selectChange(list, row) { |
||||||
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' }); |
row._select = !row._select; |
||||||
} |
}, |
||||||
}); |
addTable() { |
||||||
return; |
this.form.tableData.push({ |
||||||
} else { |
_select: false, |
||||||
console.log('submitForm after validate', JSON.parse(JSON.stringify(this.form))); |
partCode: '', |
||||||
add(JSON.parse(JSON.stringify(this.form))).then(res => { |
partName: '', |
||||||
if (res.code === 200) { |
moCode: '', |
||||||
this.$message.success('提交成功'); |
moName: '', |
||||||
this.closeDialog(); |
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); |
||||||
} |
} |
||||||
}); |
}, |
||||||
} |
partCodeChange(row) { |
||||||
|
// 保留原逻辑,可根据实际需求完善 |
||||||
// 处理提交数据 |
}, |
||||||
// const submitData = this.form.moldPlan.map(row => { |
frockChange(row) { |
||||||
// const { _select, ...validData } = row; |
// 保留原逻辑,可根据实际需求完善 |
||||||
// return validData; |
}, |
||||||
// }); |
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; |
||||||
|
} |
||||||
|
|
||||||
// 实际提交逻辑 |
// 处理提交数据 |
||||||
|
const submitData = this.form.tableData.map(row => { |
||||||
|
const { _select, ...validData } = row; |
||||||
|
return validData; |
||||||
|
}); |
||||||
|
|
||||||
// this.$emit('submitSuccess', submitData); |
// 实际提交逻辑 |
||||||
}); |
this.$message.success('提交成功'); |
||||||
}, |
this.closeDialog(); |
||||||
}, |
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,109 +1,119 @@ |
|||||||
<template> |
<template> |
||||||
<el-dialog |
<el-dialog title="详情" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen> |
||||||
title="详情" |
<el-descriptions class="margin-top" :column="4" border title="需求信息" > |
||||||
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-item label="占用数量">9999</el-descriptions-item> |
||||||
<el-descriptions-item label="需求编号">9999</el-descriptions-item> |
</el-descriptions> |
||||||
<el-descriptions-item label="工装编号">{{ form.moCode }}</el-descriptions-item> |
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
||||||
<el-descriptions-item label="工装名称">{{ form.moName}}</el-descriptions-item> |
<el-table :data="tableData" style="width: 100%"> |
||||||
<el-descriptions-item label="关联订单数">9999</el-descriptions-item> |
|
||||||
<el-descriptions-item label="订单需求量">{{ form.quantity || "-" }}</el-descriptions-item> |
<el-table-column prop="shuliang" label="工作订单号" align="center"> |
||||||
<el-descriptions-item label="库存数量">9999</el-descriptions-item> |
|
||||||
<el-descriptions-item label="占用数量">9999</el-descriptions-item> |
</el-table-column> |
||||||
</el-descriptions> |
<el-table-column prop="shuliang" label="占用数" align="center"> |
||||||
<el-descriptions class="margin-top" :column="4" border title="工装占用信息"></el-descriptions> |
|
||||||
<el-table :data="tableData" style="width: 100%"> |
</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 prop="shuliang" label="占用时间" align="center"> </el-table-column> |
</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> |
<el-table-column type="index" width="80" label="序号" align="center"> |
||||||
<el-table-column prop="id" label="计划单号" align="center"> </el-table-column> |
</el-table-column> |
||||||
<el-table-column prop="partCode" label="零件号" align="center"> </el-table-column> |
<el-table-column prop="shuliang" label="计划单号" align="center"> |
||||||
<el-table-column prop="partName" label="产品名称" align="center"> </el-table-column> |
</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 prop="needDate" 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-column prop="shuliang" label="计划下达时间" align="center"> </el-table-column> |
</el-table-column> |
||||||
</el-table> |
<el-table-column prop="shuliang" label="需求交期" align="center"> |
||||||
<el-descriptions |
</el-table-column> |
||||||
class="margin-top" |
<el-table-column prop="shuliang" label="工装需求数量" align="center"> |
||||||
:column="4" |
</el-table-column> |
||||||
border |
<el-table-column prop="shuliang" label="已交付数量" align="center"> |
||||||
title="申报记录(近一个的记录)" |
</el-table-column> |
||||||
></el-descriptions> |
<el-table-column prop="shuliang" label="未交付数量" align="center"> |
||||||
<el-table :data="tableData" style="width: 100%"> |
</el-table-column> |
||||||
<el-table-column prop="partCode" label="零件号" align="center"></el-table-column> |
<el-table-column prop="shuliang" label="计划下达时间" align="center"> |
||||||
<el-table-column prop="partName" label="零件名称" align="center"></el-table-column> |
</el-table-column> |
||||||
<el-table-column prop="moCode" label="对应工装号" align="center"></el-table-column> |
</el-table> |
||||||
<el-table-column prop="moName" label="工装名称" align="center"></el-table-column> |
<el-descriptions class="margin-top" :column="4" border title="申报记录(近一个的记录)"></el-descriptions> |
||||||
<el-table-column prop="quantity" label="数量" align="center"></el-table-column> |
<el-table :data="tableData" style="width: 100%"> |
||||||
<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-column prop="shuliang" label="状态" align="center"></el-table-column> |
||||||
</template> |
</el-table> |
||||||
</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> |
</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 |
||||||
|
}, |
||||||
}, |
}, |
||||||
id: { |
data() { |
||||||
type: String, |
return { |
||||||
default: '1', |
openShow: false, |
||||||
|
form: {}, |
||||||
|
tableData: [], |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
}, |
}, |
||||||
}, |
mounted() { |
||||||
data() { |
this.openShow = this.showDialog |
||||||
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,161 +1,128 @@ |
|||||||
<template> |
<template> |
||||||
<el-dialog |
<el-dialog title="模具申报" append-to-body :modelValue="openShow" width="40%" @close="closeDialog"> |
||||||
title="模具申报" |
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
||||||
append-to-body |
<el-row> |
||||||
:modelValue="openShow" |
<el-col :span="12"> |
||||||
width="40%" |
<el-form-item label="零件编码:">21E8-040-17188-A1</el-form-item> |
||||||
@close="closeDialog" |
</el-col> |
||||||
> |
<el-col :span="12"> |
||||||
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
<el-form-item label="零件名称:">21E8-040-17188-A1</el-form-item> |
||||||
<el-row> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="零件编码:">{{ form.partCode }}</el-form-item> |
<el-form-item label="工装号:">21E8-040-17188-A1</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="零件名称:">{{ form.partName }}</el-form-item> |
<el-form-item label="工装名称:">21E8-040-17188-A1</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="工装号:">{{ form.moCode }}</el-form-item> |
<el-form-item label="数量:" prop="shuliang"> |
||||||
</el-col> |
<el-input-number v-model="form.shuliang" :min="1" controls-position="right" style="width: 80%;" |
||||||
<el-col :span="12"> |
@change="handleChange" /> |
||||||
<el-form-item label="工装名称:">{{ form.moName }}</el-form-item> |
</el-form-item> |
||||||
</el-col> |
</el-col> |
||||||
<el-col :span="12"> |
<el-col :span="12"> |
||||||
<el-form-item label="数量:" prop="quaLevel"> |
<el-form-item label="计划类型:" prop="moCode"> |
||||||
<el-input-number |
<el-select v-model="form.moCode" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
||||||
v-model="form.quaLevel" |
<el-option label="计划类型一" value="1" /> |
||||||
:min="1" |
<el-option label="计划类型二" value="2" /> |
||||||
controls-position="right" |
</el-select> |
||||||
style="width: 80%" |
</el-form-item> |
||||||
@change="handleChange" |
</el-col> |
||||||
/> |
<el-col :span="12"> |
||||||
</el-form-item> |
<el-form-item label="需求日期:" prop="needDate"> |
||||||
</el-col> |
<el-date-picker v-model="form.needDate" type="date" placeholder="请选择" style="width: 80%;" /> |
||||||
<el-col :span="12"> |
</el-form-item> |
||||||
<el-form-item label="计划类型:" prop="moCodes"> |
</el-col> |
||||||
<el-select |
<el-col :span="12"> |
||||||
v-model="form.moCodes" |
<el-form-item label="生产标识:" prop="quaLevel"> |
||||||
:filterable="true" |
<el-input v-model="form.quaLevel" style="width: 80%;" /> |
||||||
allow-create |
</el-form-item> |
||||||
style="width: 80%" |
</el-col> |
||||||
> |
<el-col :span="12"> |
||||||
<el-option label="计划类型一" value="1" /> |
<el-form-item label="保管员:" prop="userName"> |
||||||
<el-option label="计划类型二" value="2" /> |
<el-select v-model="form.userName" :filterable="true" allow-create @change="frockChange(form)" style="width: 80%;"> |
||||||
</el-select> |
<el-option label="人员一" value="1" /> |
||||||
</el-form-item> |
<el-option label="人员二" value="2" /> |
||||||
</el-col> |
</el-select> |
||||||
<el-col :span="12"> |
</el-form-item> |
||||||
<el-form-item label="需求日期:" prop="needDate"> |
</el-col> |
||||||
<el-date-picker |
<el-col :span="24"> |
||||||
v-model="form.needDate" |
<el-form-item label="备注:"> |
||||||
type="date" |
<el-input v-model="form.memo" type="textarea" /> |
||||||
placeholder="请选择" |
</el-form-item> |
||||||
style="width: 80%" |
</el-col> |
||||||
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> |
|
||||||
|
|
||||||
<template #footer> |
</el-row> |
||||||
<span class="dialog-footer"> |
|
||||||
<el-button @click="closeDialog">取 消</el-button> |
</el-form> |
||||||
<el-button type="primary" @click="submit">确 定</el-button> |
|
||||||
</span> |
|
||||||
</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,update } from '@/api/orderManagement/moldPlan'; |
|
||||||
export default { |
export default { |
||||||
props: { |
props: { |
||||||
showDialog: { |
showDialog: { |
||||||
type: Boolean, |
type: Boolean, |
||||||
default: false, |
default: false |
||||||
|
}, |
||||||
}, |
}, |
||||||
id: { |
data() { |
||||||
type: String, |
return { |
||||||
default: '1', |
openShow: false, |
||||||
}, |
form: { |
||||||
}, |
|
||||||
data() { |
}, |
||||||
return { |
tableData: [], |
||||||
openShow: false, |
rules: { |
||||||
form: {}, |
shuliang: [ |
||||||
tableData: [], |
{ required: true, message: '请输入', trigger: 'blur' }, |
||||||
rules: { |
], |
||||||
quaLevel: [{ required: true, message: '请输入数量', trigger: 'blur' }], |
moCode: [ |
||||||
moCodes: [{ required: true, message: '请选择计划类型', trigger: 'change' }], |
{ required: true, message: '请选择', trigger: 'blur' }, |
||||||
needDate: [{ required: true, message: '请选择需求日期', trigger: 'change' }], |
], |
||||||
keeper: [{ required: true, message: '请输入保管员', trigger: 'change' }], |
needDate:[ |
||||||
}, |
{ required: true, message: '请选择', trigger: 'blur' }, |
||||||
}; |
], |
||||||
}, |
quaLevel:[ |
||||||
mounted() { |
{ required: true, message: '请输入', trigger: 'blur' }, |
||||||
this.openShow = this.showDialog; |
], |
||||||
getOrderMoldPlanCaDeatils({ id: this.id }).then(res => { |
userName:[ |
||||||
if (res.code == 200) { |
{ required: true, message: '请输入', trigger: 'blur' }, |
||||||
this.form = { ...res.data }; |
], |
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
methods: { |
|
||||||
closeDialog() { |
|
||||||
this.openShow = false; |
|
||||||
this.$emit('closeDialog'); |
|
||||||
}, |
|
||||||
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('请求失败,请稍后重试'); |
}, |
||||||
}); |
mounted() { |
||||||
}); |
this.openShow = this.showDialog |
||||||
}, |
}, |
||||||
}, |
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> |
<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,35 +1,38 @@ |
|||||||
<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 label="模具需求" name="1"></el-tab-pane> |
||||||
|
<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> |
||||||
</el-tab-pane> |
</basic-container> |
||||||
</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