فهرست منبع

生产工单详情添加记录规则列表

lucw 7 ماه پیش
والد
کامیت
5c4c5e05cf

+ 11 - 0
src/api/producetaskrulerecord/index.js

@@ -102,3 +102,14 @@ export async function queryAllProduceTaskInstanceInPickOrder(workOrderId) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+// 分页查询 /main/producetaskconfig/page 配置的记录规则
+export async function produceTaskRecordRules(data) {
+  const res = await request.post(`/main/producetaskconfig/page`, data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+

+ 1 - 1
src/views/batchRecord/components/editModal.vue

@@ -59,7 +59,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="执行方式" required prop="executeMethod">
+            <el-form-item label="配置执行方式" required prop="executeMethod">
               <DictSelection
                 dictName="记录规则执行方式"
                 v-model="form.executeMethod"

+ 20 - 2
src/views/produceOrder/components/details/index.vue

@@ -77,6 +77,16 @@
 
           <!-- <el-tab-pane label="退料详情">
           </el-tab-pane> -->
+
+          <el-tab-pane
+            label="记录详情"
+            v-if="sourceTaskId && workOrderInfo.bomCategoryId"
+          >
+            <recordRules
+              :produceTaskId="sourceTaskId"
+              :bomCategoryId="workOrderInfo.bomCategoryId"
+            ></recordRules>
+          </el-tab-pane>
         </el-tabs>
       </div>
     </el-drawer>
@@ -91,6 +101,7 @@
   import { getTaskInstanceList } from '@/api/produce/job';
   import productionDetails from '@/views//workOrderList/components/productionDetails.vue';
   import pickDetails from '../../details.vue';
+  import recordRules from '../recordRules/recordRules.vue';
 
   export default {
     components: {
@@ -98,7 +109,8 @@
       feedDetails,
       jobDetails,
       productionDetails,
-      pickDetails
+      pickDetails,
+      recordRules
     },
     data() {
       return {
@@ -114,7 +126,8 @@
         newId: '',
         routeObj: {
           id: null
-        }
+        },
+        sourceTaskId: ''
       };
     },
 
@@ -133,6 +146,7 @@
         this.workOrderInfo = row;
         this.routeObj.id = this.workOrderInfo.id;
         console.log(this.workOrderInfo.id, 'workOrderInfo.id');
+        console.log('workOrderInfo', this.workOrderInfo);
         this.getTaskFn();
         this.drawer = true;
       },
@@ -151,6 +165,7 @@
           this.desIndex = index;
           console.log(this.routeList, '888888');
           this.newId = this.routeList[this.desIndex]?.taskId || '';
+          this.sourceTaskId = this.routeList[this.desIndex]?.sourceTaskId || '';
 
           if (this.workOrderInfo.taskId != -2) {
             this.curTaskObj = JSON.parse(JSON.stringify(this.routeObj));
@@ -159,6 +174,8 @@
             this.desIndex = 0;
           }
           this.activeIndex = index;
+          console.log('this.curTaskObj', this.curTaskObj);
+          console.log('this.newId', this.newId);
         });
       },
 
@@ -172,6 +189,7 @@
         } else {
           this.desIndex = index;
           this.newId = this.routeList[this.desIndex].taskId || '';
+          this.sourceTaskId = this.routeList[this.desIndex]?.sourceTaskId || '';
         }
       }
     }

+ 118 - 0
src/views/produceOrder/components/recordRules/recordRules.vue

@@ -0,0 +1,118 @@
+<template>
+  <ele-pro-table
+    :columns="columns"
+    :datasource="datasource"
+    cacheKey="mes-recordRules-25113-031018"
+    ref="tableRef"
+  >
+    <template v-slot:toolbar>
+      <el-select v-model="reportWorkType" placeholder="请选择" @change="reload">
+        <el-option
+          v-for="item in reportWorkTypeOptions"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value"
+        ></el-option>
+      </el-select>
+    </template>
+  </ele-pro-table>
+</template>
+
+<script>
+  import tableColumnsMixin from '@/mixins/tableColumnsMixin';
+  import dictMixins from '@/mixins/dictMixins';
+  import { produceTaskRecordRules } from '@/api/producetaskrulerecord/index';
+
+  export default {
+    name: 'recordRules',
+    props: {
+      produceTaskId: {
+        type: String,
+        required: true
+      },
+      bomCategoryId: {
+        type: String,
+        required: true
+      }
+    },
+    mixins: [tableColumnsMixin, dictMixins],
+    data() {
+      return {
+        columns: [
+          {
+            columnKey: 'index',
+            type: 'index',
+            width: 45,
+            align: 'center'
+          },
+          {
+            prop: 'produceTaskName',
+            label: '工序名称',
+            align: 'center'
+          },
+          {
+            prop: 'itemType',
+            label: '类型',
+            align: 'center',
+            formatter: (row) => {
+              return this.getDictValue('记录规则事项类型', row.itemType);
+            }
+          },
+          {
+            prop: 'executeMethod',
+            label: '配置执行方式',
+            align: 'center',
+            formatter: (row) => {
+              return this.getDictValue('记录规则执行方式', row.executeMethod);
+            }
+          },
+          {
+            prop: 'rulesName',
+            label: '名称',
+            align: 'center',
+            formatter: (row) => {
+              return row.rulesName || row.itemTaskName;
+            }
+          }
+        ],
+        reportWorkType: 1,
+        reportWorkTypeOptions: [
+          { label: '产前准备', value: 1 },
+          { label: '过程监测', value: 2 },
+          { label: '产后检查', value: 3 }
+        ]
+      };
+    },
+    watch: {
+      produceTaskId(newVal) {
+        this.reload();
+      }
+    },
+    methods: {
+      datasource({ page, limit, where }) {
+        let body = {
+          ...where,
+          produceTaskId: this.produceTaskId,
+          bomCategoryId: this.bomCategoryId,
+          reportWorkType: this.reportWorkType,
+          pageNum: page,
+          size: limit,
+          bomCategoryId: null
+        };
+
+        if (this.reportWorkType == 2) {
+          body.bomCategoryId = this.bomCategoryId;
+        } else {
+          body.bomCategoryId = null;
+        }
+
+        return produceTaskRecordRules(body);
+      },
+      reload() {
+        this.$refs.tableRef.reload();
+      }
+    }
+  };
+</script>
+
+<style></style>