ysy 2 anni fa
parent
commit
43eb1dc9ca

+ 20 - 3
src/api/technology/version/version.js

@@ -4,7 +4,7 @@ import request from '@/utils/request';
  * 分页查询用户
  * @param params 查询条件
  */
-export async function pageList (params) {
+export async function pageList(params) {
   let par = new URLSearchParams(params);
   const res = await request.get(
     `/main/produceversion/page?` + par,
@@ -35,6 +35,22 @@ export async function versionSave(data) {
 }
 
 
+// 删除
+export async function removeItem(data) {
+  const res = await request.delete('/main/produceversion/delete', {
+    data
+  });
+  if (res.data.code == 0) {
+    return res.data.message;
+  }
+  return Promise.reject(new Error(res.data.message));
+
+}
+
+
+
+
+
 
 // 根据工艺路线编码获取工序
 export async function getProcessByRoute(data) {
@@ -48,7 +64,9 @@ export async function getProcessByRoute(data) {
 
 // 查询物料关联BOM子项列表
 export async function getBomSubList(data) {
-  const res = await request.get('/main/produceversion/resource/bomSubList', { params: data});
+  const res = await request.get('/main/produceversion/resource/bomSubList', {
+    params: data
+  });
   if (res.data.code == 0) {
     return res.data.data;
   }
@@ -72,4 +90,3 @@ export async function syncVersion(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
-

+ 10 - 7
src/views/technology/parameter/components/user-edit.vue

@@ -21,10 +21,10 @@
         <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="布尔" :value="2" />
-              <el-option label="产品参数" :value="3" />
-              <el-option label="规格" :value="4" />
+              <el-option label="数值" :value="'1'" />
+              <el-option label="选择" :value="'2'" />
+              <el-option label="产品参数" :value="'3'" />
+              <el-option label="规格" :value="'4'" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -42,8 +42,8 @@
         <el-col :span="10" v-if="form.textType == 2">
           <el-form-item label="默认值:" prop="defaultValue">
             <el-select v-model="form.defaultValue" placeholder="请选择" class="ele-block">
-              <el-option label="true" :value="1" />
-              <el-option label="false" :value="0" />
+              <el-option label="TRUE" :value="'1'" />
+              <el-option label="FALSE" :value="'0'" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -136,7 +136,7 @@ export default {
       id: null,
       code: '',
       name: '',
-      textType: 1,
+      textType: '1',
       categoryType: '',
       defaultValue: '',
       description: '',
@@ -179,6 +179,9 @@ export default {
         unitName: [
           { required: true, message: '请选择参数单位', trigger: 'change' }
         ],
+        textType: [
+        { required: true, message: '请选择参数类型', trigger: 'blur' }
+        ],
         categoryType: [
           { required: true, message: '请选择参数类别', trigger: 'blur' }
         ],

+ 179 - 189
src/views/technology/parameter/index.vue

@@ -4,22 +4,10 @@
       <!-- 搜索表单 -->
       <user-search @search="reload" />
       <!-- 数据表格 -->
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :datasource="datasource"
-        :selection.sync="selection"
-        row-key="code"
-      >
+      <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 size="small" type="primary" icon="el-icon-plus" class="ele-btn-icon" @click="openEdit()">
             新建
           </el-button>
           <!-- <el-button
@@ -38,22 +26,21 @@
         </template>
         <!-- 状态列 -->
 
+        <template v-slot:textType="{ row }">
+          {{ row.textType == 1 ? '数值' : row.textType == 2 ? '选择' : row.textType == 3 ? '产品参数' : row.textType == 4 ? '规格' :
+            '' }}
+        </template>
+
+
+
+
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-edit"
-            @click="openEdit(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)"
-          >
+          <el-popconfirm class="ele-action" title="确定要删除当前工序吗?" @confirm="remove(row)">
             <template v-slot:reference>
               <el-link type="danger" :underline="false" icon="el-icon-delete">
                 删除
@@ -64,180 +51,183 @@
       </ele-pro-table>
     </el-card>
     <!-- 编辑弹窗 -->
-    <user-edit
-      :visible.sync="showEdit"
-      :data="current"
-      @done="reload"
-      ref="userEdit"
-    />
+    <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 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
+        },
 
-  import parameter from '@/api/technology/parameter';
 
-  export default {
-    name: 'technologyParameter',
-    components: {
-      UserSearch,
-      UserEdit
+        {
+          prop: 'textType',
+          label: '参数类型',
+          showOverflowTooltip: true,
+          align: 'center',
+          slot: 'textType',
+          minWidth: 110
+        },
+        {
+          align: 'center',
+          prop: 'description',
+          label: '文本描述',
+          showOverflowTooltip: true,
+          minWidth: 110
+        },
+        {
+          prop: 'maxValue',
+          label: '参数上限',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'minValue',
+          label: '参数下限',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'defaultValue',
+          label: '默认值',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'categoryType',
+          label: '参数分类',
+          align: 'center',
+          slot: 'status',
+          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;
     },
-    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: 'description',
-            label: '文本描述',
-            showOverflowTooltip: true,
-            minWidth: 110
-          },
-          {
-            prop: 'maxValue',
-            label: '参数上限',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'minValue',
-            label: '参数下限',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'defaultValue',
-            label: '默认值',
-            align: 'center',
-
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'categoryType',
-            label: '参数分类',
-            align: 'center',
-            slot: 'status',
-            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
-      };
+    /* 表格数据源 */
+    async datasource({ page, limit, where, order }) {
+      const res = await parameter.list({
+        ...where,
+        ...order,
+        pageNum: page,
+        size: limit
+      });
+      return res;
     },
-    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'
+
+    /* 刷新表格 */
+    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();
         })
-          .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(() => {});
+        .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>

+ 43 - 4
src/views/technology/productParam/components/user-edit.vue

@@ -93,14 +93,31 @@
 
 
 
-
       </el-row>
 
 
       <header-title title="产品参数"></header-title>
 
       <el-row>
+        <div class="rx-sc" v-for="(par, index) in form.taskParam" :key="index">
+          <el-form-item label="选择参数:">
+            <el-select v-model="par.id">
+              <el-option v-for="item in paramList" :key="item.id" :label="item.name" :value="item.id" @click.native="par= item">
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+      {{ par }}
+          <el-form-item label="默认值:" v-if="par.textType == '1'">
+            <el-input v-model="par.defaultValue" placeholder="请输入默认值"></el-input>
+          </el-form-item>
+
+          <el-form-item label="默认值:" v-if="par.textType == '2'">
+            <el-input v-model="par.defaultValue" placeholder="请输入默认值"></el-input>
+          </el-form-item>
 
+       
+        </div>
       </el-row>
 
     </el-form>
@@ -108,7 +125,6 @@
 
 
 
-
     <template v-slot:footer>
       <el-button @click="updateVisible(false)">取消</el-button>
       <el-button type="primary" :loading="loading" @click="save">
@@ -148,7 +164,13 @@ export default {
       moldingAgent: '',
       palletId: '',
       processingRequirement: '',
-      remark: ''
+      remark: '',
+
+      taskParam: [
+        { id: '', textType: '', defaultValue: '', maxValue: '', minValue: ''}
+      ],
+
+ 
 
     };
     return {
@@ -157,6 +179,9 @@ export default {
       form: { ...defaultForm },
 
       VersionList: [],
+      paramList: [
+       
+      ],
 
 
       // 表单验证规则
@@ -252,12 +277,24 @@ export default {
     /* 更新visible */
     updateVisible(value) {
       this.$emit('update:visible', value);
-    }
+    },
+
+    async getParamList() {
+      const res = await parameter.list({
+        pageNum: 1,
+        size: 100
+      });
+      this.paramList = res.list
+      console.log( this.paramList)
+
+    },
   },
 
   watch: {
     async visible(visible) {
       if (visible) {
+        this.getParamList()
+
         if (this.data) {
           const res = await parameter.getById(this.data.id);
 
@@ -269,6 +306,8 @@ export default {
 
           this.isUpdate = false;
         }
+
+
       } else {
         this.$refs.form.clearValidate();
         this.form = { ...this.defaultForm };

+ 14 - 5
src/views/technology/version/components/user-edit.vue

@@ -13,17 +13,20 @@
         </el-col>
 
 
+
+
         <el-col :span="8">
-          <el-form-item label="版本号:" prop="version">
-            <el-input clearable v-model="form.version" placeholder="请输入版本号" />
+          <el-form-item label="版本名称:" prop="name">
+            <el-input v-model="form.name" clearable placeholder="请输入" />
           </el-form-item>
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="版本名称:" prop="name">
-            <el-input v-model="form.name" clearable placeholder="请输入" />
+          <el-form-item label="版本号:" prop="version">
+            <el-input clearable v-model="form.version" placeholder="请输入版本号" />
           </el-form-item>
         </el-col>
+        
         <el-col :span="8">
           <el-form-item label="所属工厂:" prop="factoryId">
             <el-select v-model="form.factoryId" placeholder="请选择" filterable>
@@ -134,11 +137,13 @@ export default {
   },
   data() {
     const defaultForm = {
+      id: '',
       code: '',
       name: '',
       factoryId: '',
+      version: '1.0'
       // categoryId: '',
-      // id: '',
+
       // categoryCode: '',
       // categoryName: '',
       // routingId: '',
@@ -240,6 +245,8 @@ export default {
         if (!valid) {
           return false;
         }
+       
+
         if (!this.data) {
           delete this.form.id;
         }
@@ -281,10 +288,12 @@ export default {
         this.fList = res.list;
         if (this.data) {
           const res = await versionDetail(this.data.id);
+          console.log(res)
 
           this.$util.assignObject(this.form, {
             ...res
           });
+          
           this.isUpdate = true;
         } else {
           this.isUpdate = false;

+ 31 - 31
src/views/technology/version/index.vue

@@ -32,6 +32,15 @@
           <el-link type="primary" :underline="false" @click="btnView(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>
@@ -48,7 +57,7 @@
 <script>
 import UserSearch from './components/user-search.vue';
 import UserEdit from './components/user-edit.vue';
-import { pageList, syncVersion } from '@/api/technology/version/version.js';
+import { pageList, syncVersion,  removeItem } from '@/api/technology/version/version.js';
 export default {
   name: 'technologyVersion',
   components: {
@@ -59,24 +68,11 @@ export default {
     return {
       // 表格列配置
       columns: [
-        // {
-        //   prop: 'categoryCode',
-        //   label: '产品编码',
-        //   showOverflowTooltip: true,
-        //   align: 'center',
-        //   minWidth: 110
-        // },
-        // {
-        //   prop: 'categoryName',
-        //   label: '产品名称',
-        //   showOverflowTooltip: true,
-        //   align: 'center',
-        //   minWidth: 110
-        // },
+
         {
           align: 'center',
           prop: 'code',
-          label: '版本',
+          label: '版本编码',
           showOverflowTooltip: true,
           minWidth: 110
         },
@@ -87,20 +83,13 @@ export default {
           showOverflowTooltip: true,
           minWidth: 110
         },
-        // {
-        //   prop: 'routingCode',
-        //   label: '工艺路线编码',
-        //   align: 'center',
-        //   showOverflowTooltip: true,
-        //   minWidth: 110
-        // },
-        // {
-        //   prop: 'routingVersion',
-        //   label: '工艺版本号',
-        //   align: 'center',
-        //   showOverflowTooltip: true,
-        //   minWidth: 110
-        // },
+        {
+          align: 'center',
+          prop: 'version',
+          label: '版本号',
+          showOverflowTooltip: true,
+          minWidth: 110
+        },
 
         {
           columnKey: 'action',
@@ -175,7 +164,18 @@ export default {
         path: '/technology/version/details',
         query: { id }
       })
-    }
+    },
+
+          /* 删除 */
+      remove (row) {
+        const loading = this.$loading({ lock: true });
+        removeItem([row.id ]).then((msg) => {
+          loading.close();
+          this.$message.success(msg);
+          this.reload();
+        });
+      },
+
   }
 };
 </script>