Jelajahi Sumber

Merge branch 'dev' into test

xieyong 4 hari lalu
induk
melakukan
dd184253fd

+ 1 - 1
.gitignore

@@ -12,7 +12,7 @@ yarn-debug.log*
 yarn-error.log*
 .pnpm-debug.log
 .eslintcache
-
+.history
 # Editor directories and files
 .idea
 .vscode

+ 11 - 0
src/views/productionPlan/components/detail/planDotLineDetail.vue

@@ -73,6 +73,17 @@
                 <span class="task-name-text">{{ taskName(row, $index) }}</span>
               </template>
             </el-table-column>
+            <el-table-column
+              label="工序并行"
+              min-width="100"
+              align="center"
+              label-class-name="config-execution-team-header"
+              class-name="config-meta-cell"
+            >
+              <template slot-scope="{ row }">
+                {{ row.isParallelism ? '是' : '否' }}
+              </template>
+            </el-table-column>
             <el-table-column
               label="执行模式"
               min-width="100"

+ 15 - 9
src/views/productionPlan/components/newFactoryProductionScheduling/TaskConfigPanel.vue

@@ -56,7 +56,7 @@
         <div class="dispatch-process-meta">
           工序编码:{{ taskCodeDisplay(activeTask) }},所属班组:{{
             dispatchTeamDisplay(activeTask)
-          }}
+          }},班组长:{{ dispatchTeamLeaderDisplay(activeTask) }}
         </div>
 
         <div class="dispatch-toolbar">
@@ -1976,8 +1976,8 @@
           this.$set(task, 'executionObjectType', '');
           this.$set(task, 'executionObjectName', '');
           this.$set(task, 'executionTeamName', '');
-          this.$set(task, 'executionTeamLeader', '');
-          this.$set(task, 'executionTeamLeaderId', '');
+          // this.$set(task, 'executionTeamLeader', '');
+          // this.$set(task, 'executionTeamLeaderId', '');
         });
       },
       createDispatchTaskRow(row) {
@@ -2019,8 +2019,8 @@
         this.$set(task, 'executionObjectType', '');
         this.$set(task, 'executionObjectName', '');
         this.$set(task, 'executionTeamName', '');
-        this.$set(task, 'executionTeamLeader', '');
-        this.$set(task, 'executionTeamLeaderId', '');
+        // this.$set(task, 'executionTeamLeader', '');
+        // this.$set(task, 'executionTeamLeaderId', '');
       },
       clearDispatchTaskBinding(row, task = this.getDispatchRowTask(row)) {
         if (!task) {
@@ -2036,8 +2036,8 @@
         this.$set(task, 'executionObjectType', '');
         this.$set(task, 'executionObjectName', '');
         this.$set(task, 'executionTeamName', '');
-        this.$set(task, 'executionTeamLeader', '');
-        this.$set(task, 'executionTeamLeaderId', '');
+        // this.$set(task, 'executionTeamLeader', '');
+        // this.$set(task, 'executionTeamLeaderId', '');
       },
       clearDispatchQuantityInput(row) {
         this.clearDispatchObject(row);
@@ -2131,8 +2131,8 @@
         this.$set(task, 'executionObjectType', '');
         this.$set(task, 'executionObjectName', '');
         this.$set(task, 'executionTeamName', '');
-        this.$set(task, 'executionTeamLeader', '');
-        this.$set(task, 'executionTeamLeaderId', '');
+        // this.$set(task, 'executionTeamLeader', '');
+        // this.$set(task, 'executionTeamLeaderId', '');
       },
       clearDispatchStartTime(row) {
         if (row) {
@@ -2789,6 +2789,12 @@
           ]) || '所有班组'
         );
       },
+      dispatchTeamLeaderDisplay(row) {
+        return (
+          row?.executionTeamLeader ||
+          '-'
+        );
+      },
       handleDispatchPageSizeChange(size) {
         this.dispatchPageSize = size;
         this.dispatchPage = 1;

+ 5 - 2
src/views/productionPlan/components/planDotLine.vue

@@ -411,10 +411,10 @@
       async open(data) {
         this.currentPlan = data || null;
         this.planRoutingPayload = null;
+        await this.loadTaskList()
         await Promise.all([
           this.loadTeamOptions(),
           this.loadFactoryList(),
-          this.loadTaskList()
         ]);
         this.visible = true;
         this.dialogVisible = true;
@@ -586,7 +586,10 @@
       async loadTeamOptions() {
         try {
           const factoryId = this.$store.state.user.info.factoryId;
-          const res = await teamPage({ pageNum: 1, size: -1, factoryId });
+          const detailIds = this.planRoutingPayload?.detailList?.[0]?.workCenterIds?.join(',');
+          const taskIds = this.taskList[0]?.workCenterIds?.join(',');
+          const workCenterIds = detailIds || taskIds;
+          const res = await teamPage({ pageNum: 1, size: -1, factoryId, workCenterIds });
           this.teamOptions = (res?.list || []).map(
             ({ id, name, leaderUserName, leaderUserId }) => ({
               id,

+ 30 - 0
src/views/saleOrder/components/EquipmentDialog.vue

@@ -130,6 +130,36 @@
             showOverflowTooltip: true,
             minWidth: 110
           },
+          {
+            prop: 'pbomStatus',
+            label: 'PBOM',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return row.pbomStatus == 1 ? '有' : '无';
+            }
+          },
+          {
+            prop: 'bomStatus',
+            label: 'MBOM',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return row.bomStatus == 1 ? '有' : '无';
+            }
+          },
+          {
+            prop: 'abomStatus',
+            label: 'ABQM',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (row) => {
+              return row.abomStatus == 1 ? '有' : '无';
+            }
+          },
           {
             prop: 'brandNum',
             label: '牌号',

+ 10 - 0
src/views/workOrder/components/planDotLinReleaseDialog.vue

@@ -91,6 +91,16 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
+            <el-form-item label="班组长:">
+              <el-input
+                v-model="form.leaderUserName"
+                :disabled="true"
+                placeholder="-"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
           <el-form-item label="报工类型:" required>

+ 10 - 0
src/views/workOrder/components/releaseDialog.vue

@@ -83,6 +83,16 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
+            <el-form-item label="班组长:">
+              <el-input
+                v-model="form.leaderUserName"
+                :disabled="true"
+                placeholder="-"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
           <el-form-item label="报工类型:" required>

+ 11 - 0
src/views/workOrder/mixins/planDotLineRelease.js

@@ -298,16 +298,27 @@ export default {
         // 如果没有 班组数据 将人员数据清空 并且判断
         this.crewList = [];
         this.form.teamId = '';
+        this.setTeamLeaderName(null); // 清空班组长
         let data = this.processList.find((item) => item.id == this.processId);
         if (data.assignType == 2) {
           this.$set(data, 'list', []);
         }
       }
     },
+    // 设置班组长显示 (班组数据里的 leaderUserName)
+    setTeamLeaderName(team) {
+      this.$set(
+        this.form,
+        'leaderUserName',
+        (team && team.leaderUserName) || ''
+      );
+      this.$set(this.form, 'leaderUserId', (team && team.leaderUserId) || '');
+    },
     // 选择班组 查询人员的数据
     async changeGroups(e) {
       let data = this.teamList.find((item) => item.id == e);
       this.form.teamName = data.name;
+      this.setTeamLeaderName(data); // 显示班组长
       try {
         const res = await listUserByIds([e]);
         this.crewList = res;

+ 11 - 0
src/views/workOrder/mixins/release.js

@@ -266,16 +266,27 @@ export default {
         // 如果没有 班组数据 将人员数据清空 并且判断
         this.crewList = [];
         this.form.teamId = '';
+        this.setTeamLeaderName(null); // 清空班组长
         let data = this.processList.find((item) => item.id == this.processId);
         if (data.assignType == 2) {
           this.$set(data, 'list', []);
         }
       }
     },
+    // 设置班组长显示 (班组数据里的 leaderUserName)
+    setTeamLeaderName(team) {
+      this.$set(
+        this.form,
+        'leaderUserName',
+        (team && team.leaderUserName) || ''
+      );
+      this.$set(this.form, 'leaderUserId', (team && team.leaderUserId) || '');
+    },
     // 选择班组 查询人员的数据
     async changeGroups(e) {
       let data = this.teamList.find((item) => item.id == e);
       this.form.teamName = data.name;
+      this.setTeamLeaderName(data); // 显示班组长
       try {
         const res = await listUserByIds([e]);
         this.crewList = res;