<template>
|
<a-modal
|
:title="type=='add'?'新增生产计划':'编辑生产计划'"
|
:width="600"
|
:visible="visible"
|
:confirmLoading="confirmLoading"
|
@ok="handleSubmit"
|
@cancel="handleCancel"
|
>
|
<a-spin :spinning="confirmLoading">
|
<a-form :form="form" :label-col="labelCol" :wrapper-col="wrapperCol">
|
<a-form-item label="计划类型" has-feedback>
|
<a-select
|
disabled
|
allow-clear
|
style="width: 100%"
|
placeholder="请选择计划类型"
|
v-decorator="['planType']"
|
>
|
<a-select-option :value="1"> 班组计划 </a-select-option>
|
<a-select-option :value="2"> 月份计划 </a-select-option>
|
</a-select>
|
</a-form-item>
|
|
<a-form-item label="计划时间" has-feedback>
|
<a-date-picker
|
v-if="planType == 1"
|
style="width: 100%"
|
format="YYYY-MM-DD"
|
placeholder="请选择计划时间"
|
v-decorator="['planTime', { rules: [{ required: true, message: '请选择计划时间!' }] }]"
|
/>
|
<a-month-picker
|
v-else
|
style="width: 100%"
|
format="YYYY-MM"
|
placeholder="请选择计划时间"
|
v-decorator="['planTime', { rules: [{ required: true, message: '请选择计划时间!' }] }]"
|
/>
|
</a-form-item>
|
|
<a-form-item label="班组类型" has-feedback v-if="planType == 1">
|
<a-select
|
allow-clear
|
style="width: 100%"
|
v-decorator="['teamType', { rules: [{ required: true, message: '请选择班组类型!' }] }]"
|
placeholder="请选择班组类型"
|
>
|
<a-select-option value="白班"> 白班 </a-select-option>
|
<a-select-option value="晚班"> 晚班 </a-select-option>
|
</a-select>
|
</a-form-item>
|
|
<a-form-item label="计划产量" has-feedback>
|
<a-input-number
|
:min="0"
|
style="width: 100%"
|
placeholder="请输入计划产量"
|
v-decorator="['planProductionNum', { rules: [{ required: true, message: '请输入计划产量!' }] }]"
|
/>
|
</a-form-item>
|
|
<a-form-item label="备注" has-feedback>
|
<a-input allow-clear="" placeholder="请输入备注" v-decorator="['remarks']" />
|
</a-form-item>
|
|
<a-form-item label="id" has-feedback v-show="false">
|
<a-input v-decorator="['id']" />
|
</a-form-item>
|
</a-form>
|
</a-spin>
|
</a-modal>
|
</template>
|
|
<script>
|
import moment from 'moment'
|
import { addProductionPlaninfo, editProductionPlaninfo } from '@/api/modular/main/YieldMaintenanceManage'
|
export default {
|
name: 'EditForm',
|
data() {
|
return {
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 15 }
|
},
|
confirmLoading: false,
|
visible: false,
|
form: this.$form.createForm(this),
|
id: '',
|
type: '',
|
planType: 0,
|
endOpen: false
|
}
|
},
|
methods: {
|
// 显示对话框
|
showModal(type, planType, record = {}) {
|
this.visible = true
|
this.type = type
|
this.planType = planType
|
let planTime = ''
|
if (this.planType == 1) {
|
planTime = moment(record.planTime, 'YYYY-MM-DD')
|
} else {
|
planTime = moment(record.planTime, 'YYYY-MM')
|
}
|
const option = {
|
id: record.id + '',
|
planType: record.planType + '',
|
planTime,
|
planProductionNum: record.planProductionNum,
|
remarks: record.remarks + ''
|
}
|
if (this.planType == 1) {
|
option.teamType = record.teamType + ''
|
}
|
|
if (this.type == 'edit') {
|
this.$nextTick(() => {
|
this.form.setFieldsValue(option)
|
})
|
} else {
|
this.$nextTick(() => {
|
this.form.setFieldsValue({
|
planType: this.planType
|
})
|
})
|
}
|
},
|
// 确定
|
handleSubmit() {
|
const {
|
form: { validateFields }
|
} = this
|
validateFields(async (errors, values) => {
|
if (values.planType == 1) {
|
values.planTime = moment(values.planTime).format('YYYY-MM-DD')
|
} else {
|
values.planTime = moment(values.planTime).format('YYYY-MM')
|
}
|
if (!errors) {
|
this.confirmLoading = true
|
try {
|
if (values.id) {
|
// 编辑
|
await editProductionPlaninfo(values)
|
this.$message.success('编辑成功')
|
this.$emit('reflesh')
|
} else {
|
// 新增
|
await addProductionPlaninfo(values)
|
this.$message.success('新增成功')
|
this.$emit('reflesh', 1)
|
}
|
this.confirmLoading = false
|
this.handleCancel()
|
} catch (error) {
|
console.log(error)
|
this.confirmLoading = false
|
}
|
}
|
})
|
},
|
// 取消
|
handleCancel() {
|
this.visible = false
|
this.form.resetFields()
|
}
|
}
|
}
|
</script>
|
|
<style></style>
|