ysy 2 роки тому
батько
коміт
4e21c0f388

+ 5 - 2
src/enum/dict.js

@@ -34,7 +34,9 @@ export default {
   台账状态: 'ledger',
   工种: 'workType',
   二级编码规则: 'Secondary',
-  三级编码规则: 'Third'
+  三级编码规则: 'Third',
+  工艺参数单位: 'parameter_code'
+
 
 };
 
@@ -50,5 +52,6 @@ export const numberList = [
   'angle',
   'id_type',
   'rule_status',
-   'ledger'
+   'ledger',
+   
 ];

+ 182 - 185
src/views/technology/parameter/components/user-edit.vue

@@ -1,25 +1,13 @@
 <!-- 用户编辑弹窗 -->
 <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"
-  >
+  <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-input clearable disabled v-model="form.code" placeholder="请输入" />
           </el-form-item>
         </el-col>
 
@@ -28,41 +16,59 @@
             <el-input v-model="form.name" clearable placeholder="请输入" />
           </el-form-item>
         </el-col>
+
+
         <el-col :span="10">
+          <el-form-item label="参数类型:" prop="textType">
+            <el-select v-model="form.textType" placeholder="请选择" class="ele-block">
+              <el-option label="数值" :value="1" />
+              <el-option label="布尔(true/false)" :value="2" />
+              <el-option label="产品参数" :value="3" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+
+        <el-col :span="10" v-if="form.textType == 1">
           <el-form-item label="默认值:">
             <!-- <el-input type="number" v-model="form.defaultValue" maxlength="8" placeholder="请输入" /> -->
             <el-input
               oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '').replace(/^0+(?!\.|$)/g, ''),value = Number(value) >= 999999.99 ? 999999.99 : value"
-              v-model="form.defaultValue"
-              placeholder="请输入"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="10">
-          <el-form-item label="参数单位:">
-            <el-input placeholder="请输入" v-model="form.unitName" />
+              v-model="form.defaultValue" placeholder="请输入"></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="10">
+
+
+
+
+
+        <el-col :span="10" v-if="form.textType == 3">
           <el-form-item label="参数上限:">
             <!-- <el-input placeholder="请输入" v-model="form.maxValue" /> -->
             <el-input
               oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '').replace(/^0+(?!\.|$)/g, ''),value = Number(value) >= 999999.99 ? 999999.99 : value"
-              v-model="form.maxValue"
-              placeholder="请输入"
-            ></el-input>
+              v-model="form.maxValue" placeholder="请输入"></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="10">
+        <el-col :span="10" v-if="form.textType == 3">
           <el-form-item label="参数下限:">
             <!-- <el-input placeholder="请输入" v-model="form.minValue" /> -->
             <el-input
               oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d\d\d).*$/, '$1$2.$3').replace(/^\./g, '').replace(/^0+(?!\.|$)/g, ''),value = Number(value) >= 999999.99 ? 999999.99 : value"
-              v-model="form.minValue"
-              placeholder="请输入"
-            ></el-input>
+              v-model="form.minValue" placeholder="请输入"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="10" v-if="form.textType != 2">
+          <el-form-item label="参数单位:" prop="unitName">
+
+            <DictSelection dictName="工艺参数单位" clearable filterable v-model="form.unitName">
+            </DictSelection>
+
+
           </el-form-item>
         </el-col>
+
         <el-col :span="20">
           <el-form-item label="文字描述:">
             <el-input placeholder="请输入" v-model="form.description" />
@@ -75,17 +81,8 @@
       <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-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>
@@ -93,12 +90,7 @@
         <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 v-for="item in timeType" :key="item.value" :label="item.label" :value="item.value">
               </el-option>
             </el-select>
           </el-form-item>
@@ -121,157 +113,162 @@
 </template>
 
 <script>
-  import parameter from '@/api/technology/parameter';
+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: 0
-      };
-      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 }
+export default {
+  props: {
+    // 弹窗是否打开
+    visible: Boolean,
+    // 修改回显的数据
+    data: Object
+  },
+  data() {
+    const defaultForm = {
+      id: null,
+      code: '',
+      name: '',
+      textType: 1,
+      categoryType: '',
+      defaultValue: '',
+      description: '',
+      maxValue: '',
+      minValue: '',
+      unitName: '',
+      remark: '',
+      notNull: 0
+    };
+    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' }
         ],
-        tacticsType: [
-          { code: 1, label: '标准时间' },
-          { code: 2, label: '最短时间' }
+        code: [
+          { required: true, message: '请输入工序编码', trigger: 'blur' }
         ],
 
-        // 表单验证规则
-        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;
+        unitName: [
+          { required: true, message: '请选择参数单位', trigger: 'change' }
+        ],
+        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;
 
-            const defaultValue =  Number(this.form.defaultValue) 
-            const maxValue = Number(this.form.maxValue) 
-            const minValue =  Number(this.form.minValue)
-            if(defaultValue!=''&maxValue!=''){
-               if(defaultValue>maxValue||defaultValue==maxValue){
-                  this.loading = false;
-                  return this.$message.warning('默认值应小于参数上限')
-               }
+          const defaultValue = Number(this.form.defaultValue)
+          const maxValue = Number(this.form.maxValue)
+          const minValue = Number(this.form.minValue)
+          if (defaultValue != '' & maxValue != '') {
+            if (defaultValue > maxValue || defaultValue == maxValue) {
+              this.loading = false;
+              return this.$message.warning('默认值应小于参数上限')
             }
-            if(defaultValue!=''&minValue!=''){
-               if(defaultValue<minValue||defaultValue==minValue){
-                  this.loading = false;
-                  return this.$message.warning('默认值应大于参数下限')
-               }
+          }
+          if (defaultValue != '' & minValue != '') {
+            if (defaultValue < minValue || defaultValue == minValue) {
+              this.loading = false;
+              return this.$message.warning('默认值应大于参数下限')
             }
-            if(maxValue!=''&minValue!=''){
-               if(maxValue<minValue||maxValue==minValue){
-                  this.loading = false;
-                  return this.$message.warning('参数上限应大于参数下限')
-               }
+          }
+          if (maxValue != '' & minValue != '') {
+            if (maxValue < minValue || maxValue == minValue) {
+              this.loading = false;
+              return this.$message.warning('参数上限应大于参数下限')
             }
-            saveOrUpdate(this.form)
-              .then((msg) => {
-                this.loading = false;
-                this.form = {};
-                const info = this.isUpdate?'修改成功':'新增成功'
-                this.$message.success(info);
-                this.updateVisible(false);
-                this.$emit('done');
-              })
-              .catch((e) => {
-                this.loading = false;
-                // this.$message.error(e.message);
-              });
-          });
+          }
+          saveOrUpdate(this.form)
+            .then((msg) => {
+              this.loading = false;
+              this.form = {};
+              const info = this.isUpdate ? '修改成功' : '新增成功'
+              this.$message.success(info);
+              this.updateVisible(false);
+              this.$emit('done');
+            })
+            .catch((e) => {
+              this.loading = false;
+              // this.$message.error(e.message);
+            });
         });
-      },
-      /* 更新visible */
-      updateVisible(value) {
-        this.$emit('update:visible', value);
-      }
+      });
     },
+    /* 更新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);
+  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;
-          }
+          this.$util.assignObject(this.form, {
+            ...res
+          });
+          this.isUpdate = true;
         } else {
-          this.$refs.form.clearValidate();
-          this.$refs.form1.clearValidate();
-          this.form = { ...this.defaultForm };
+          const res = await parameter.getCode();
+          this.form.code = res;
+          this.isUpdate = false;
         }
+      } else {
+        this.$refs.form.clearValidate();
+        this.$refs.form1.clearValidate();
+        this.form = { ...this.defaultForm };
       }
     }
-  };
+  }
+};
 </script>

+ 216 - 0
src/views/technology/productParam/components/user-edit.vue

@@ -0,0 +1,216 @@
+<!-- 用户编辑弹窗 -->
+<template>
+  <ele-modal width="1060px" :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="8">
+          <el-form-item label="产品名称:" prop="categoryName">
+            <el-input @click.native="chooseProduct" v-model="form.categoryName" readonly />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="产品编码:" prop="categoryCode">
+            <el-input disabled v-model="form.categoryCode" placeholder="自动带入" />
+          </el-form-item>
+        </el-col>
+
+
+
+
+        <el-col :span="8">
+          <el-form-item label="型号:" prop="modelType">
+            <el-input disabled v-model="form.modelType" placeholder="自动带入" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="牌号:" prop="brandNum">
+            <el-input disabled v-model="form.brandNum" placeholder="自动带入" />
+          </el-form-item>
+        </el-col>
+
+
+        <el-col :span="8">
+          <el-form-item label="规格:" prop="specification">
+            <el-input disabled v-model="form.specification" placeholder="自动带入" />
+          </el-form-item>
+        </el-col>
+
+
+        <el-col :span="8">
+          <el-form-item label="生产版本:" prop="produceVersionId">
+            <el-select
+            v-model="form.produceVersionId"
+            filterable
+            placeholder="清选择"
+          >
+            <el-option
+              v-for="item in VersionList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+          </el-form-item>
+        </el-col>
+
+
+
+
+
+      </el-row>
+    </el-form>
+    <header-title title="其他信息"></header-title>
+
+
+    <template v-slot:footer>
+      <el-button @click="updateVisible(false)">取消</el-button>
+      <el-button type="primary" :loading="loading" @click="save">
+        保存
+      </el-button>
+    </template>
+
+
+        <!-- 选择产品弹窗 -->
+        <ProductModal ref="productRefs" @changeProduct='determineChoose' />
+
+  </ele-modal>
+</template>
+
+<script>
+import parameter from '@/api/technology/parameter';
+
+import ProductModal from '@/views/technology/route/components/ProductModal.vue';
+
+
+export default {
+  components: {
+    ProductModal
+  },
+  props: {
+    // 弹窗是否打开
+    visible: Boolean,
+    // 修改回显的数据
+    data: Object
+  },
+  data() {
+    const defaultForm = {
+      id: null,
+      code: '',
+      name: '',
+
+
+
+    };
+    return {
+      defaultForm,
+      // 表单数据
+      form: { ...defaultForm },
+
+      VersionList: [],
+
+
+      // 表单验证规则
+      rules: {
+        categoryName: [
+          { required: true, message: '请输入产品名称', trigger: 'blur' }
+        ],
+        code: [
+          { required: true, message: '请输入工序编码', trigger: 'blur' }
+        ],
+
+
+      },
+      // 提交状态
+      loading: false,
+      // 是否是修改
+      isUpdate: false
+    };
+  },
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
+  methods: {
+
+
+    chooseProduct() {
+      this.$refs.productRefs.open(this.form)
+    },
+    determineChoose(row) {
+      this.$set(this.form, 'categoryName', row.name)
+      this.$set(this.form, 'categoryId', row.id)
+      this.$set(this.form, 'categoryCode', row.code)
+      this.$set(this.form, 'modelType', row.name)
+      this.$set(this.form, 'brandNum', row.id)
+      this.$set(this.form, 'specification', row.code)
+    },
+
+
+    /* 保存编辑 */
+    save() {
+      this.$refs.form.validate((valid) => {
+
+        if (!valid) {
+          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 = {};
+            const info = this.isUpdate ? '修改成功' : '新增成功'
+            this.$message.success(info);
+            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 {
+
+          this.isUpdate = false;
+        }
+      } else {
+        this.$refs.form.clearValidate();
+        this.form = { ...this.defaultForm };
+      }
+    }
+  }
+};
+</script>

+ 93 - 0
src/views/technology/productParam/components/user-search.vue

@@ -0,0 +1,93 @@
+<!-- 搜索表单 -->
+<template>
+  <el-form
+    label-width="120px"
+    class="ele-form-search"
+    @keyup.enter.native="search"
+    @submit.native.prevent
+  >
+    <el-row>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="参数编码:">
+          <el-input clearable v-model="where.code" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="参数名称:">
+          <el-input clearable v-model="where.name" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="产品编码:">
+          <el-input
+            clearable
+            v-model="where.defaultValue"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="产品名称:">
+          <el-input
+            clearable
+            v-model="where.defaultValue"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
+        <div class="ele-form-actions">
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+          >
+            查询
+          </el-button>
+          <el-button @click="reset">重置</el-button>
+        </div>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+
+<script>
+  export default {
+    data() {
+      // 默认表单数据
+      const defaultWhere = {
+        code: '',
+        name: '',
+        defaultValue: '',
+        categoryType: ''
+        // nickname: '',
+        // sex: undefined
+      };
+      return {
+        // 表单数据
+        where: { ...defaultWhere },
+ 
+      };
+    },
+    computed: {
+      // 是否开启响应式布局
+      styleResponsive() {
+        return this.$store.state.theme.styleResponsive;
+      }
+    },
+    methods: {
+      /* 搜索 */
+      search() {
+        this.$emit('search', this.where);
+      },
+      /*  重置 */
+      reset() {
+        this.where = { ...this.defaultWhere };
+        this.search();
+      }
+    }
+  };
+</script>

+ 257 - 0
src/views/technology/productParam/index.vue

@@ -0,0 +1,257 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never">
+      <!-- 搜索表单 -->
+      <user-search @search="reload" />
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        :selection.sync="selection"
+        row-key="code"
+      >
+        <!-- 表头工具栏 -->
+        <template v-slot:toolbar>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="openEdit()"
+          >
+            新建
+          </el-button>
+          <!-- <el-button
+            size="small"
+            type="danger"
+            icon="el-icon-delete"
+            class="ele-btn-icon"
+            @click="removeBatch"
+          >
+            删除
+          </el-button> -->
+        </template>
+
+        <template v-slot:status="{ row }">
+          {{ checkType(row.categoryType) }}
+        </template>
+        <!-- 状态列 -->
+
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-edit"
+            @click="openEdit(row)"
+          >
+            修改
+          </el-link>
+
+          <el-popconfirm
+            class="ele-action"
+            title="确定要删除当前工序吗?"
+            @confirm="remove(row)"
+          >
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+      </ele-pro-table>
+    </el-card>
+    <!-- 编辑弹窗 -->
+    <user-edit
+      :visible.sync="showEdit"
+      :data="current"
+      @done="reload"
+      ref="userEdit"
+    />
+    <!-- 导入弹窗 -->
+  </div>
+</template>
+
+<script>
+  import UserSearch from './components/user-search.vue';
+  import UserEdit from './components/user-edit.vue';
+
+  import parameter from '@/api/technology/parameter';
+
+  export default {
+    name: 'technologyParameter',
+    components: {
+      UserSearch,
+      UserEdit
+    },
+    data() {
+      return {
+        // 表格列配置
+        columns: [
+          {
+            prop: 'code',
+            label: '参数编码',
+            // sortable: 'custom',
+            showOverflowTooltip: true,
+            align: 'center',
+
+            minWidth: 110
+          },
+          {
+            prop: 'name',
+            label: '参数名称',
+            showOverflowTooltip: true,
+            align: 'center',
+            minWidth: 110
+          },
+          {
+            align: 'center',
+            prop: '',
+            label: '产品类别',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: '',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: '',
+            label: '产品名称',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: '',
+            label: '牌号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: '',
+            label: '型号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+          {
+            prop: '',
+            label: 'MRP代码',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+
+          {
+            prop: '',
+            label: '生产版本',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 220,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+        statusList: [
+          { label: '工艺', value: 0 },
+          { label: '工序', value: 1 },
+          { label: '产品', value: 2 },
+          { label: '原料', value: 3 },
+          { label: '设备', value: 4 },
+          { label: '其他', value: 5 }
+        ],
+        // 表格选中数据
+        selection: [],
+        // 当前编辑数据
+        current: null,
+        // 是否显示编辑弹窗
+        showEdit: false,
+        // 是否显示导入弹窗
+        showImport: false
+      };
+    },
+    methods: {
+      /*回显类型 */
+      checkType(id) {
+        const obj = this.statusList.find((item) => item.value == id);
+        return obj.label;
+      },
+      /* 表格数据源 */
+      async datasource({ page, limit, where, order }) {
+        const res = await parameter.list({
+          ...where,
+          ...order,
+          pageNum: page,
+          size: limit
+        });
+        return res;
+      },
+
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ page: 1, where: where });
+      },
+      /* 打开编辑弹窗 */
+      openEdit(row) {
+        this.current = row;
+        this.showEdit = true;
+        this.$refs.userEdit.$refs.form &&
+          this.$refs.userEdit.$refs.form.clearValidate();
+      },
+
+      /* 删除 */
+      remove(row) {
+        const loading = this.$loading({ lock: true });
+
+        parameter
+          .delete([row.id])
+          .then((msg) => {
+            loading.close();
+            this.$message.success('删除' + msg);
+            this.reload();
+          })
+          .catch((e) => {
+            loading.close();
+            // this.$message.error(e.message);
+          });
+      },
+      /* 批量删除 */
+      removeBatch() {
+        if (!this.selection.length) {
+          this.$message.error('请至少选择一条数据');
+          return;
+        }
+        this.$confirm('确定要删除选中的工序吗?', '提示', {
+          type: 'warning'
+        })
+          .then(() => {
+            const loading = this.$loading({ lock: true });
+            parameter
+              .delete(this.selection.map((d) => d.id))
+              .then((msg) => {
+                loading.close();
+                this.$message.success('删除' + msg);
+                this.reload();
+              })
+              .catch((e) => {
+                loading.close();
+                // this.$message.error(e.message);
+              });
+          })
+          .catch(() => {});
+      }
+    }
+  };
+</script>

+ 0 - 1
src/views/technology/route/components/ProductModal.vue

@@ -29,7 +29,6 @@
             :columns="columns"
             :datasource="datasource"
             height="calc(100vh - 350px)"
-            :need-page="false"
             class="dict-table"
             @cell-click="cellClick"
           >

+ 1 - 0
src/views/technology/route/components/user-edit.vue

@@ -152,6 +152,7 @@ export default {
       this.$set(this.form, 'categoryName', row.name)
       this.$set(this.form, 'categoryId', row.id)
       this.$set(this.form, 'categoryCode', row.code)
+  
     },
     /* 保存编辑 */
     save() {