yudao-dev/src/views/cost/rawMaterialConfig/add-or-updata.vue
2024-02-19 09:40:23 +08:00

167 lines
3.9 KiB
Vue

<!--
* @Author: zwq
* @Date: 2023-08-01 13:52:10
* @LastEditors: zwq
* @LastEditTime: 2024-02-19 09:36:50
* @Description:
-->
<template>
<el-form
:model="dataForm"
:rules="dataRule"
ref="dataForm"
v-if="visible"
@keyup.enter.native="dataFormSubmit()"
label-width="100px"
label-position="top">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="原料名称" prop="materialId">
<el-select
v-model="dataForm.materialId"
filterable
clearable
@change="setCode"
:style="{ width: '100%' }"
placeholder="请选择原料名称">
<el-option
v-for="item in MaterialList"
:key="item.id"
:label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原料等级" prop="grade">
<el-select
v-model="dataForm.grade"
filterable
clearable
:style="{ width: '100%' }"
placeholder="请选择原料等级">
<el-option
v-for="item in urlOptions.dictList.dict0"
:key="item.id"
:label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原料编码" prop="code">
<el-input v-model="dataForm.code" clearable readonly />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单价" prop="price">
<el-input-number
:min="0"
style="width: 80%"
v-model="dataForm.price"
clearable
placeholder="请输入允许留存时间" />
(元/吨)
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效开始时间" prop="enabledTime">
<el-date-picker
v-model="dataForm.enabledTime"
type="datetime"
value-format="timestamp"
:style="{ width: '100%' }"
placeholder="选择开始时间"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效结束时间" prop="disabledTime">
<el-date-picker
v-model="dataForm.disabledTime"
type="datetime"
value-format="timestamp"
:style="{ width: '100%' }"
placeholder="选择结束时间"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input
v-model="dataForm.remark"
clearable
placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<script>
import basicAdd from '../mixins/basic-add';
import {
createCostMaterialSet,
updateCostMaterialSet,
getCostMaterialSet,
} from '@/api/cost/costMaterialSet';
import { getHotMaterialList } from '@/api/base/coreHotMaterial';
export default {
mixins: [basicAdd],
data() {
return {
urlOptions: {
getDictList: true,
createURL: createCostMaterialSet,
updateURL: updateCostMaterialSet,
infoURL: getCostMaterialSet,
getOption: true,
},
nameList: ['material_grade'],
dataForm: {
id: undefined,
code: '',
materialId: '',
price: '',
grade: '',
enabledTime: new Date().getTime(),
disabledTime: null,
remark: '',
},
setData: true,
MaterialList: [],
dataRule: {
materialId: [
{ required: true, message: '原料不能为空', trigger: 'change' },
],
price: [{ required: true, message: '单价不能为空', trigger: 'blur' }],
enabledTime: [
{
required: true,
message: '生效开始时间不能为空',
trigger: 'change',
},
],
},
};
},
created() {},
methods: {
getArr() {
getHotMaterialList().then((response) => {
this.MaterialList = response.data;
});
},
setDataForm() {
this.setCode();
},
setCode() {
this.MaterialList.forEach((item) => {
if (item.id === this.dataForm.materialId) {
this.dataForm.code = item.code;
}
});
},
},
};
</script>