emis-frontend/src/views/emis/emisTransPlanRule/emisTransPlanRuleForm.vue
2025-06-10 07:49:05 +08:00

196 lines
6.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="线路" prop="lineCode">
<TransLinePicker v-model="form.lineCode" isInitiated="true" ></TransLinePicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品类型" prop="productType">
<TransProductMultiplePicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.lineCode"></TransProductMultiplePicker>
<!-- <TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.lineCode" ></TransProductPicker> -->
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="供应商" prop="supplierCode">
<EmisSupplierPicker :placeholder="$t('请选择')" v-model="form.supplierCode" ></EmisSupplierPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="起始网点" prop="startSiteCode">
<EmisSiteSimplePicker1 v-model="form.startSiteCode" ></EmisSiteSimplePicker1>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下一网点" prop="nextSiteCode">
<EmisSiteSimplePicker2 v-model="form.nextSiteCode" ></EmisSiteSimplePicker2>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生效时间" prop="startDate">
<el-date-picker
style="width:100%"
clearable
v-model="form.startDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生效时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="失效时间" prop="endDate">
<el-date-picker
style="width:100%"
clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择失效时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="负责人" prop="manager" >
<EmpNamePicker :placeholder="$t('节点负责人')" v-model="form.manager" ></EmpNamePicker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" rows="2" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisTransPlanRule, getEmisTransPlanRule, delEmisTransPlanRule, addEmisTransPlanRule, updateEmisTransPlanRule } from "@/api/emis/emisTransPlanRule";
import emisTransPlanRuleForm from '@/views/emis/emisTransPlanRule/emisTransPlanRuleForm';
import EmisSupplierPicker from '@/views/emis/EmisBaseTools/EmisSupplierPicker';
import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
import TransProductMultiplePicker from '@/views/emis/EmisBaseTools/TransProductMultiplePicker.vue';
import EmpNamePicker from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
export default {
name: "emisTransPlanRuleForm",
props:{
id:{
type:Number
}
},
components: {
emisTransPlanRuleForm,
EmisSupplierPicker,
EmisSiteSimplePicker1,
EmisSiteSimplePicker2,
TransLinePicker,
TransProductPicker,
TransProductMultiplePicker,
EmpNamePicker
},
dicts: [
],
data() {
return {
emisTransPlanRuleOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
],
}
};
},
watch: {
"id": {
handler (newValue, oldValue) {
this.id = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
if(this.id !=null) {
this.loading = true;
getEmisTransPlanRule(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
}
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
lineCode: null,
productType: null,
startSiteCode: null,
nextSiteCode: null,
manager: null,
supplierCode: null,
startDate: null,
endDate: null,
remark: null,
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisTransPlanRule(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisTransPlanRule(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$emit("on-changed");
});
}
}
});
},
}
};
</script>