|
|
@@ -0,0 +1,239 @@
|
|
|
+<!-- 用户编辑弹窗 -->
|
|
|
+<template>
|
|
|
+ <ele-modal
|
|
|
+ width="960px"
|
|
|
+ :visible="visible"
|
|
|
+ :append-to-body="true"
|
|
|
+ :close-on-click-modal="true"
|
|
|
+ custom-class="ele-dialog-form"
|
|
|
+ :title="isUpdate ? '修改参数' : '添加参数'"
|
|
|
+ @update:visible="updateVisible"
|
|
|
+ >
|
|
|
+ <header-title title="基本信息"></header-title>
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数编码:" prop="code">
|
|
|
+ <el-input
|
|
|
+ clearable
|
|
|
+ disabled
|
|
|
+ v-model="form.code"
|
|
|
+ placeholder="请输入"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数名称:" prop="name">
|
|
|
+ <el-input v-model="form.name" clearable placeholder="请输入" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="默认值:">
|
|
|
+ <el-input v-model="form.defaultValue" placeholder="请输入" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数单位:">
|
|
|
+ <el-input placeholder="请输入" v-model="form.unitName" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数上限:">
|
|
|
+ <el-input placeholder="请输入" v-model="form.maxValue" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数下限:">
|
|
|
+ <el-input placeholder="请输入" v-model="form.minValue" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="文字描述:">
|
|
|
+ <el-input placeholder="请输入" v-model="form.description" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <header-title title="其他信息"></header-title>
|
|
|
+ <el-form ref="form1" :model="form" :rules="rules" label-width="120px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="参数类别:" prop="categoryType">
|
|
|
+ <el-select
|
|
|
+ v-model="form.categoryType"
|
|
|
+ filterable
|
|
|
+ placeholder="清选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in statusList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="是否必填:" prop="notNull">
|
|
|
+ <el-select v-model="form.notNull" filterable placeholder="清选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in timeType"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="备注:">
|
|
|
+ <el-input placeholder="请输入" v-model="form.remark" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <template v-slot:footer>
|
|
|
+ <el-button @click="updateVisible(false)">取消</el-button>
|
|
|
+ <el-button type="primary" :loading="loading" @click="save">
|
|
|
+ 保存
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </ele-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import parameter from '@/api/technology/parameter';
|
|
|
+
|
|
|
+ export default {
|
|
|
+ props: {
|
|
|
+ // 弹窗是否打开
|
|
|
+ visible: Boolean,
|
|
|
+ // 修改回显的数据
|
|
|
+ data: Object
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ const defaultForm = {
|
|
|
+ id: null,
|
|
|
+ code: '',
|
|
|
+ name: '',
|
|
|
+ categoryType: '',
|
|
|
+ defaultValue: '',
|
|
|
+ description: '',
|
|
|
+ maxValue: '',
|
|
|
+ minValue: '',
|
|
|
+ unitName: '',
|
|
|
+ remark: '',
|
|
|
+ notNull: ''
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ defaultForm,
|
|
|
+ // 表单数据
|
|
|
+ form: { ...defaultForm },
|
|
|
+ timeType: [
|
|
|
+ { value: 1, label: '是' },
|
|
|
+ { value: 0, label: '否' }
|
|
|
+ ],
|
|
|
+ statusList: [
|
|
|
+ { label: '工艺', value: 0 },
|
|
|
+ { label: '工序', value: 1 },
|
|
|
+ { label: '产品', value: 2 },
|
|
|
+ { label: '原料', value: 3 },
|
|
|
+ { label: '设备', value: 4 },
|
|
|
+ { label: '其他', value: 5 }
|
|
|
+ ],
|
|
|
+ tacticsType: [
|
|
|
+ { code: 1, label: '标准时间' },
|
|
|
+ { code: 2, label: '最短时间' }
|
|
|
+ ],
|
|
|
+
|
|
|
+ // 表单验证规则
|
|
|
+ rules: {
|
|
|
+ name: [
|
|
|
+ { required: true, message: '请输入工序名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ code: [
|
|
|
+ { required: true, message: '请输入工序编码', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ categoryType: [
|
|
|
+ { required: true, message: '请选择参数类别', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ notNull: [
|
|
|
+ { required: true, message: '请选择是否必填', trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 提交状态
|
|
|
+ loading: false,
|
|
|
+ // 是否是修改
|
|
|
+ isUpdate: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ // 是否开启响应式布局
|
|
|
+ styleResponsive() {
|
|
|
+ return this.$store.state.theme.styleResponsive;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /* 保存编辑 */
|
|
|
+ save() {
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ this.$refs.form1.validate((va) => {
|
|
|
+ if (!valid || !va) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ this.loading = true;
|
|
|
+ if (!this.isUpdate) {
|
|
|
+ delete this.form.id;
|
|
|
+ }
|
|
|
+ const saveOrUpdate = this.isUpdate
|
|
|
+ ? parameter.update
|
|
|
+ : parameter.save;
|
|
|
+
|
|
|
+ saveOrUpdate(this.form)
|
|
|
+ .then((msg) => {
|
|
|
+ this.loading = false;
|
|
|
+ this.form = {};
|
|
|
+ this.$message.success(msg);
|
|
|
+ this.updateVisible(false);
|
|
|
+ this.$emit('done');
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.loading = false;
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 更新visible */
|
|
|
+ updateVisible(value) {
|
|
|
+ this.$emit('update:visible', value);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ watch: {
|
|
|
+ async visible(visible) {
|
|
|
+ if (visible) {
|
|
|
+ if (this.data) {
|
|
|
+ const res = await parameter.getById(this.data.id);
|
|
|
+
|
|
|
+ this.$util.assignObject(this.form, {
|
|
|
+ ...res
|
|
|
+ });
|
|
|
+ this.isUpdate = true;
|
|
|
+ } else {
|
|
|
+ const res = await parameter.getCode();
|
|
|
+ this.form.code = res;
|
|
|
+ this.isUpdate = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$refs.form.clearValidate();
|
|
|
+ this.form = { ...this.defaultForm };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+</script>
|