Преглед изворни кода

修改sop,作业票模块新增时隔离点数据渲染问题

wangyani пре 1 година
родитељ
комит
37cc297510
3 измењених фајлова са 254 додато и 267 уклоњено
  1. 243 260
      src/views/mes/job/jobm/NewOperations.vue
  2. 10 7
      src/views/mes/sop/sopm/NewSop.vue
  3. 1 0
      src/views/mes/sop/sopm/index.vue

+ 243 - 260
src/views/mes/job/jobm/NewOperations.vue

@@ -14,7 +14,6 @@
         @product-line-selected="handleProductLineSelected"
         @work-shop-selected="handleWorkshopSelected"
         :jobProps="jobProps"
-
       ></WorkShop>
     </div>
     <div class="right">
@@ -25,7 +24,7 @@
             <span
               style="float: right; padding: 1px 0; font-size: 22px"
               type="text"
-            >×</span
+              >×</span
             >
           </div>
           <div class="text item">
@@ -107,7 +106,7 @@
                       type="primary"
                       class="workTicket_btn"
                       @click="nextStep('second')"
-                    >下一步
+                      >下一步
                     </el-button>
                   </el-form-item>
                 </el-form>
@@ -144,8 +143,8 @@
                       <el-table-column prop="pointName" label="已选隔离点">
                         <template slot-scope="scope">
                           <span style="color: #2a87ff">{{
-                              scope.row.pointName
-                            }}</span>
+                            scope.row.pointName
+                          }}</span>
                         </template>
                       </el-table-column>
                       <el-table-column prop="pointType" label="隔离点类型">
@@ -175,7 +174,7 @@
                       style="float: right; height: 30px; line-height: 10px"
                       type="primary"
                       @click="nextStep('third')"
-                    >下一步
+                      >下一步
                     </el-button>
                     <el-button
                       plain
@@ -187,7 +186,7 @@
                       "
                       type="primary"
                       @click="previousStep('first')"
-                    >上一步
+                      >上一步
                     </el-button>
                   </el-form-item>
                 </el-form>
@@ -212,7 +211,6 @@
                     </el-select>
                   </el-form-item>
 
-
                   <el-form-item label="共锁人" prop="coLocker">
                     <el-select
                       v-model="form.coLocker"
@@ -231,14 +229,13 @@
                       >
                       </el-option>
                     </el-select>
-
                   </el-form-item>
                   <el-form-item label="共锁人" prop="coLocker">
                     <el-button type="primary" @click="addInside"
-                    >添加内部人员
+                      >添加内部人员
                     </el-button>
                     <el-button type="primary" @click="addOutside"
-                    >添加外部人员
+                      >添加外部人员
                     </el-button>
                   </el-form-item>
                   <el-form-item label="开始时间" prop="ticketStartTime">
@@ -270,7 +267,7 @@
                       style="float: right; height: 30px; line-height: 10px"
                       type="primary"
                       @click="confirm"
-                    >完 成
+                      >完 成
                     </el-button>
                   </el-form-item>
                 </el-form>
@@ -351,19 +348,18 @@
 
 
 <script>
-import SeparationPoint from '@/components/separationPoint/index.vue'
-import WorkShop from '@/components/separationPoint/workshop.vue'
+import SeparationPoint from "@/components/separationPoint/index.vue";
+import WorkShop from "@/components/separationPoint/workshop.vue";
 import {
   listJobTicket,
   getJobTicketInfo,
   addJobTicket,
   updateJobTicket,
   deleteIsJobTicket,
-  getworkareaList
-} from '@/api/mes/job/job'
+  getworkareaList,
+} from "@/api/mes/job/job";
 
-
-import { mapGetters,mapActions } from 'vuex'
+import { mapGetters, mapActions } from "vuex";
 
 import { listWorkshop } from "@/api/mes/md/workshop";
 import { listWorkarea } from "@/api/mes/wa/workarea";
@@ -373,15 +369,13 @@ import { listDept } from "@/api/system/dept";
 import IsolationLeftVue from "@/components/separationPoint/index.vue";
 import { genCode } from "@/api/system/autocode/rule";
 
-
-
 export default {
-  name: 'addView',
-  dicts: ['ticket_type', 'power_type', 'point_type', 'is_user_type'],
+  name: "addView",
+  dicts: ["ticket_type", "power_type", "point_type", "is_user_type"],
   components: {
     IsolationLeftVue,
     SeparationPoint,
-    WorkShop
+    WorkShop,
   },
   data() {
     return {
@@ -390,20 +384,20 @@ export default {
       activeName: "first",
 
       form: {
-        sopId: '',
-        pointIds: '',
-        ticketId: '',
-        ticketType: '',
-        ticketName: '',
-        ticketCode: '',
-        ticketContent: '',
-        workshopName: '', //车间名称
-        workline: '', //产线
+        sopId: "",
+        pointIds: "",
+        ticketId: "",
+        ticketType: "",
+        ticketName: "",
+        ticketCode: "",
+        ticketContent: "",
+        workshopName: "", //车间名称
+        workline: "", //产线
         spoint: [], //已选隔离点
-        locker: '', //上锁人
-        coLocker: '', //共锁人
-        ticketStartTime: '', //开始时间
-        ticketEndTime: '', //结束时间
+        locker: "", //上锁人
+        coLocker: "", //共锁人
+        ticketStartTime: "", //开始时间
+        ticketEndTime: "", //结束时间
         ticketUserDTOList: [
           // {
           //   userId: '',
@@ -411,12 +405,12 @@ export default {
           //   userRole: '',//作业票角色 暂时不传递 内部人还是外部人
           //   userType: ''//用户类型 上锁人或共锁人
           // }
-        ] //所选择的用户
+        ], //所选择的用户
       },
       dialogForm: {
-        deptId: '',
-        nickName: '',
-        username: ''
+        deptId: "",
+        nickName: "",
+        username: "",
       },
       listUserOption: null,
       listDeptOption: null,
@@ -425,33 +419,33 @@ export default {
       pickerOptions: {
         shortcuts: [
           {
-            text: '今天',
+            text: "今天",
             onClick(picker) {
-              picker.$emit('pick', new Date())
-            }
+              picker.$emit("pick", new Date());
+            },
           },
           {
-            text: '昨天',
+            text: "昨天",
             onClick(picker) {
-              const date = new Date()
-              date.setTime(date.getTime() - 3600 * 1000 * 24)
-              picker.$emit('pick', date)
-            }
+              const date = new Date();
+              date.setTime(date.getTime() - 3600 * 1000 * 24);
+              picker.$emit("pick", date);
+            },
           },
           {
-            text: '一周前',
+            text: "一周前",
             onClick(picker) {
-              const date = new Date()
-              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
-              picker.$emit('pick', date)
-            }
-          }
-        ]
+              const date = new Date();
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", date);
+            },
+          },
+        ],
       },
       // 是否显示弹出层
       open: false,
       // 弹出层标题
-      title: '',
+      title: "",
       // 弹框中显示的form表单内容
       insideMumber: false,
       outsideMumber: false,
@@ -462,17 +456,17 @@ export default {
       // 表单校验
       rules: {
         teamCode: [
-          { required: true, message: '班组编号不能为空', trigger: 'blur' }
+          { required: true, message: "班组编号不能为空", trigger: "blur" },
         ],
         teamName: [
-          { required: true, message: '班组名称不能为空', trigger: 'blur' }
+          { required: true, message: "班组名称不能为空", trigger: "blur" },
         ],
         calendarType: [
-          { required: true, message: '清选择班组类型', trigger: 'blur' }
-        ]
+          { required: true, message: "清选择班组类型", trigger: "blur" },
+        ],
       },
-      newticketUserDTOList:[],//为了上锁人单独传递数据
-    }
+      newticketUserDTOList: [], //为了上锁人单独传递数据
+    };
   },
   watch: {
     tableData: {
@@ -481,28 +475,35 @@ export default {
         if (newVal && newVal.length > 0) {
           this.form.pointIds = this.tableData
             .map((item) => item.pointId)
-            .join(',')
-          console.log(this.form.pointIds, this.tableData, 'pointIds')
+            .join(",");
+          console.log(this.form.pointIds, this.tableData, "pointIds");
         }
       },
-      deep: true
+      deep: true,
     },
-
-
   },
   computed: {
-    ...mapGetters('sopSelectPoints', ['getPointTableData','getSelectSopPoints','getSopEdit']),
+    ...mapGetters("sopSelectPoints", [
+      "getPointTableData",
+      "getSelectSopPoints",
+      "getSopEdit",
+    ]),
     // 排序 ticketUserDTOList,将 userRole 为 0 的选项放在前面
     sortedTicketUserDTOList() {
-      return this.form.ticketUserDTOList.sort((a, b) => Number(a.userRole) - Number(b.userRole))
-    }
+      return this.form.ticketUserDTOList.sort(
+        (a, b) => Number(a.userRole) - Number(b.userRole)
+      );
+    },
   },
   mounted() {
-    this.getSopList()
-    this.getUser()
+    this.getSopList();
+    this.getUser();
     if (this.$route.query.ticketId !== "null") {
       this.getTicket();
-      this.form.ticketId=this.$route.query.ticketId
+      this.form.ticketId = this.$route.query.ticketId;
+    } else {
+      this.setSelectSopPoints([]);
+      this.setPointTableData([]);
     }
     // console.log(this.getPointTableData, 'this.getPointTableData')
     if (this.getPointTableData) {
@@ -511,157 +512,155 @@ export default {
           pointId: item.pointId,
           pointName: item.pointName,
           pointType: item.pointType,
-          powerType: item.powerType
-        }
-      })
+          powerType: item.powerType,
+        };
+      });
     }
   },
   methods: {
     // 编辑的时候给隔离点重新存储值
-    ...mapActions('sopSelectPoints',['setSelectSopPoints','setPointTableData','setSopEdit']),
+    ...mapActions("sopSelectPoints", [
+      "setSelectSopPoints",
+      "setPointTableData",
+      "setSopEdit",
+    ]),
     formatDateTime(date) {
-      const year = date.getFullYear().toString().padStart(2, '0')
-      const month = (date.getMonth() + 1).toString().padStart(2, '0')
-      const day = date.getDate().toString().padStart(2, '0')
-      const hours = date.getHours().toString().padStart(2, '0')
-      const minutes = date.getMinutes().toString().padStart(2, '0')
-      const seconds = date.getSeconds().toString().padStart(2, '0')
-
-      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
+      const year = date.getFullYear().toString().padStart(2, "0");
+      const month = (date.getMonth() + 1).toString().padStart(2, "0");
+      const day = date.getDate().toString().padStart(2, "0");
+      const hours = date.getHours().toString().padStart(2, "0");
+      const minutes = date.getMinutes().toString().padStart(2, "0");
+      const seconds = date.getSeconds().toString().padStart(2, "0");
+
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
-    getTicket(){
-      const ticketId=this.$route.query.ticketId;
+    getTicket() {
+      const ticketId = this.$route.query.ticketId;
       getJobTicketInfo(ticketId).then((response) => {
-        console.log(response,'编辑拿到路由参数')
-        this.form={
+        console.log(response, "编辑拿到路由参数");
+        this.form = {
           ...this.form,
-          workshopId:response.data.workshopId,
-          workareaId:response.data.workareaId,
-          sopId:response.data.sopId,
-          ticketCode:response.data.ticketCode,
-          ticketContent:response.data.ticketContent,
-          spoint:response.data.pointDetailVOList,
-          ticketUserDTOList:response.data.jobTicketUserList.map((item)=>{
+          workshopId: response.data.workshopId,
+          workareaId: response.data.workareaId,
+          sopId: response.data.sopId,
+          ticketCode: response.data.ticketCode,
+          ticketContent: response.data.ticketContent,
+          spoint: response.data.pointDetailVOList,
+          ticketUserDTOList: response.data.jobTicketUserList.map((item) => {
             return {
               userName: item.userName,
               userType: item.userType,
               userRole: item.userRole,
-              userId:item.userId,
-            }
+              userId: item.userId,
+            };
           }),
           locker: response.data.jobTicketUserList
-            .filter(item => item.userType == '0')
-            .map(item => item.userName),
-          coLocker: response.data.jobTicketUserList.map((item)=>{
-            return item.userType!=='0'?item.userName:null
+            .filter((item) => item.userType == "0")
+            .map((item) => item.userName),
+          coLocker: response.data.jobTicketUserList.map((item) => {
+            return item.userType !== "0" ? item.userName : null;
           }),
-          ticketStartTime:response.data.ticketStartTime,
-          ticketEndTime:response.data.ticketEndTime,
-          ticketId:response.data.ticketId,
-          ticketName:response.data.ticketName,
-          ticketStatus:response.data.ticketStatus,
-          ticketType:response.data.ticketType,
-          EditBool:true
-        }
-        this.jobProps=[this.form]
-        this.listUserOption=response.data.jobTicketUserList
-        console.log(this.form,'form')
+          ticketStartTime: response.data.ticketStartTime,
+          ticketEndTime: response.data.ticketEndTime,
+          ticketId: response.data.ticketId,
+          ticketName: response.data.ticketName,
+          ticketStatus: response.data.ticketStatus,
+          ticketType: response.data.ticketType,
+          EditBool: true,
+        };
+        this.jobProps = [this.form];
+        this.listUserOption = response.data.jobTicketUserList;
+        console.log(this.form, "form");
       });
     },
 
     getSopList() {
       const query = {
         current: 1,
-        size: 100000
-      }
+        size: 100000,
+      };
       getIsSopPage(query).then((res) => {
-        console.log(res, 'sop列表接口')
-        this.sopOptions = res.data.records
-      })
-
+        console.log(res, "sop列表接口");
+        this.sopOptions = res.data.records;
+      });
     },
     getUser() {
       const query = {
         pageNum: 1,
-        pageSize: 100000
-      }
+        pageSize: 100000,
+      };
       listUser(query).then((res) => {
         // console.log(res, '用户列表')
         this.listUserOption = res.rows.map((item) => {
           return {
             label: item.nickName,
-            value: item.userId
-          }
-        })
+            value: item.userId,
+          };
+        });
       }),
         listDept(query).then((res) => {
           // console.log(res, '部门列表')
           this.listDeptOption = res.data.map((item) => {
             return {
               label: item.deptName,
-              value: item.deptId
-            }
-          })
-        })
-
+              value: item.deptId,
+            };
+          });
+        });
     },
     // 添加内部人员 部门下拉的chage事件
     DeptChage(val) {
-      console.log(val, ' 部门下拉')
+      console.log(val, " 部门下拉");
       // 每次选中先清空用户下拉
-      this.listUserOption = []
-      this.dialogForm.nickName = null
+      this.listUserOption = [];
+      this.dialogForm.nickName = null;
       const query = {
         pageNum: 1,
         pageSize: 100000,
-        deptId: this.dialogForm.deptId
-      }
+        deptId: this.dialogForm.deptId,
+      };
       listUser(query).then((res) => {
-        console.log(res, '用户列表')
+        console.log(res, "用户列表");
         this.listUserOption = res.rows.map((item) => {
           return {
             label: item.nickName,
-            value: item.userId
-          }
-        })
-      })
-
+            value: item.userId,
+          };
+        });
+      });
     },
     // sop下拉change事件
     handleSelectSOP(value) {
-      this.jobProps = this.sopOptions.filter((item) => item.sopId == value)
-      console.log(this.jobProps, '父组件jobProps')
-
+      this.jobProps = this.sopOptions.filter((item) => item.sopId == value);
+      console.log(this.jobProps, "父组件jobProps");
     },
     // 上锁人下拉选择change事件
     handlelockerChage(val) {
-      console.log(val, '上锁人chage')
-      const user = this.listUserOption.find((item) => item.value === val)
+      console.log(val, "上锁人chage");
+      const user = this.listUserOption.find((item) => item.value === val);
 
-      if (user && this.form.locker !== '') {
+      if (user && this.form.locker !== "") {
         const existingUser = this.form.ticketUserDTOList.find(
           (u) => u.userName === user.label
-        )
+        );
         if (!existingUser) {
           this.newticketUserDTOList.push({
-              userName: user.label,
-              userId: user.value,
-              userType: 0,
-              userRole: '0',
-          })
+            userName: user.label,
+            userId: user.value,
+            userType: 0,
+            userRole: "0",
+          });
           // this.form.ticketUserDTOList.push({
           //   userName: user.label,
           //   userId: user.value,
           //   userType: 0,
           //   userRole: '0',
           // })
-          console.log(this.newticketUserDTOList, '用户')
+          console.log(this.newticketUserDTOList, "用户");
         } else {
           // console.log('用户已存在', user.label)
         }
       }
-
-
     },
 
     // 添加内部人员的用户新增到ticketUserDTOList这个数据里
@@ -670,11 +669,11 @@ export default {
         .map((value) =>
           this.listUserOption.find((item) => item.value === value)
         )
-        .filter(Boolean)
+        .filter(Boolean);
       usersinside.forEach((user) => {
         const existingUser = this.form.ticketUserDTOList.find(
           (u) => u.userName === user.label
-        )
+        );
         // console.log(usersinside, 'usersinside----67')
         if (!existingUser) {
           this.form.ticketUserDTOList.push({
@@ -682,14 +681,14 @@ export default {
             userId: user.value,
             userType: 1,
             userRole: 0,
-            bgColor: 'green'
-          })
-          console.log(this.form.ticketUserDTOList, '用户')
+            bgColor: "green",
+          });
+          console.log(this.form.ticketUserDTOList, "用户");
         } else {
           // console.log('用户已存在', user.label)
         }
-      })
-      this.updateCoLocker()
+      });
+      this.updateCoLocker();
 
       // console.log(this.form.ticketUserDTOList, '用户')
     },
@@ -699,7 +698,7 @@ export default {
 
       const existingUser = this.form.ticketUserDTOList.find(
         (u) => u.userName === value
-      )
+      );
 
       if (!existingUser) {
         this.form.ticketUserDTOList.push({
@@ -707,38 +706,37 @@ export default {
           userId: 0,
           userType: 1,
           userRole: 1,
-          bgColor: 'red'
-        })
-        console.log(this.form.ticketUserDTOList, '用户')
+          bgColor: "red",
+        });
+        console.log(this.form.ticketUserDTOList, "用户");
       } else {
         // console.log('用户已存在', value)
       }
-      this.updateCoLocker()
-
+      this.updateCoLocker();
     },
     // 更新界面中共锁人下拉框显示的内容
     // 更新 coLocker 数据
     updateCoLocker() {
       // 获取现有的 coLocker 数据
-      const existingCoLocker = new Set(this.form.coLocker)
+      const existingCoLocker = new Set(this.form.coLocker);
       // console.log(existingCoLocker, 'existingCoLocker----1');
 
       // 将 ticketUserDTOList 中的新用户名字添加到 existingCoLocker 中
 
       this.form.ticketUserDTOList.forEach((user) => {
-          existingCoLocker.add(user.userName)
-      })
+        existingCoLocker.add(user.userName);
+      });
       // console.log(this.form.ticketUserDTOList, 'this.form.ticketUserDTOList----2');
 
       // 将 Set 转换回数组
-      this.form.coLocker = Array.from(existingCoLocker)
+      this.form.coLocker = Array.from(existingCoLocker);
       // console.log(this.form.coLocker, 'this.form.coLocker----3');
 
       // 检查并补充 ticketUserDTOList 中缺少的用户
       this.form.coLocker.forEach((name) => {
         const existingUser = this.form.ticketUserDTOList.find(
           (u) => u.userName === name
-        )
+        );
 
         if (!existingUser) {
           this.form.ticketUserDTOList.push({
@@ -746,12 +744,12 @@ export default {
             userId: 0,
             userType: 1,
             userRole: 1,
-            bgColor: 'red'
-          })
+            bgColor: "red",
+          });
         }
-      })
+      });
 
-      console.log(this.form.ticketUserDTOList, '最终的 ticketUserDTOList')
+      console.log(this.form.ticketUserDTOList, "最终的 ticketUserDTOList");
     },
     // 设置多选下拉框样式
     // updateTagBackgrounds() {
@@ -771,72 +769,70 @@ export default {
     // },
     // 共锁人下拉框删除事件
     handleCoLockerChange(newValues) {
-      console.log(newValues, 'ticketUserDTOList-newsValue')
+      console.log(newValues, "ticketUserDTOList-newsValue");
 
       // 根据新值更新 this.form.ticketUserDTOList
       this.form.ticketUserDTOList = this.form.ticketUserDTOList.filter((user) =>
         newValues.includes(user.userName)
-      )
+      );
 
       // 更新 coLocker 显示的内容
-      this.updateCoLocker()
-
+      this.updateCoLocker();
     },
     handleClick(tab, event) {
       // console.log(tab, event);
-
     },
     previousStep(val) {
-      this.activeName = val
-
+      this.activeName = val;
     },
     nextStep(val) {
-      console.log(val, 'nextStep')
-      this.activeName = val
-      console.log('我点击了下一步')
-
+      console.log(val, "nextStep");
+      this.activeName = val;
+      console.log("我点击了下一步");
     },
     async getWorkareaId(query) {
       try {
-        const res = await listWorkarea(query)
-        console.log(res, '工作区域page')
-        return res.data.records[0].workareaId
+        const res = await listWorkarea(query);
+        console.log(res, "工作区域page");
+        return res.data.records[0].workareaId;
       } catch (error) {
-        console.error('获取工作区域ID失败', error)
-        throw error
+        console.error("获取工作区域ID失败", error);
+        throw error;
       }
-
     },
 
     async getWorkshopId(query) {
       try {
-        const res = await listWorkshop(query)
-        console.log(res, '车间id')
-        return res.rows[0].workshopId
+        const res = await listWorkshop(query);
+        console.log(res, "车间id");
+        return res.rows[0].workshopId;
       } catch (error) {
-        console.error('获取车间ID失败', error)
-        throw error
+        console.error("获取车间ID失败", error);
+        throw error;
       }
-
     },
 
     async confirm() {
       try {
         // 格式化时间
-        this.form.ticketStartTime = this.formatDateTime(new Date(this.form.ticketStartTime));
-        this.form.ticketEndTime = this.formatDateTime(new Date(this.form.ticketEndTime));
-        console.log(this.form, '拿到的所有参数确认');
+        this.form.ticketStartTime = this.formatDateTime(
+          new Date(this.form.ticketStartTime)
+        );
+        this.form.ticketEndTime = this.formatDateTime(
+          new Date(this.form.ticketEndTime)
+        );
+        console.log(this.form, "拿到的所有参数确认");
 
         const query = {
           current: 1,
           size: 100000,
-          workareaName: this.form.workline
+          workareaName: this.form.workline,
         };
 
         const query1 = {
           current: 1,
           size: 100000,
-          workshopName: this.form.workshopName
+          workshopName: this.form.workshopName,
         };
 
         const workareaId = await this.getWorkareaId(query);
@@ -858,8 +854,8 @@ export default {
           workareaId: workareaId,
           workshopId: workshopId,
         };
-        const editdata={
-          pointIds: this.form.spoint.join(','),
+        const editdata = {
+          pointIds: this.form.spoint.join(","),
           sopId: this.form.sopId,
           ticketCode: this.form.ticketCode,
           ticketContent: this.form.ticketContent,
@@ -871,52 +867,50 @@ export default {
           ticketUserDTOList: this.form.ticketUserDTOList,
           workareaId: workareaId,
           workshopId: workshopId,
-        }
+        };
 
         // 检查 route.query.ticketId 是否为 null
-        console.log(this.$route.query.ticketId,'this.$route.query.ticketId')
-        if (this.$route.query.ticketId!=='null') {
+        console.log(this.$route.query.ticketId, "this.$route.query.ticketId");
+        if (this.$route.query.ticketId !== "null") {
           // 调用编辑接口
           const res = await updateJobTicket(editdata);
           if (res.code === 200) {
             this.$router.go(-1);
           } else {
-            console.error('编辑工单失败', res);
+            console.error("编辑工单失败", res);
           }
-
         } else {
           // 调用新增接口
           const res = await addJobTicket(data);
           if (res.code === 200) {
             this.$router.go(-1);
           } else {
-            console.error('提交工单失败', res);
+            console.error("提交工单失败", res);
           }
         }
       } catch (error) {
-        console.error('确认过程中发生错误', error);
+        console.error("确认过程中发生错误", error);
       }
 
-
-      console.log('确认');
+      console.log("确认");
     },
     // 子组件逆向传递选中的隔离点
 
     handleSelectPoint(points) {
-      console.log(points, '父组件接收逆向传递选中的隔离点')
+      console.log(points, "父组件接收逆向传递选中的隔离点");
 
       // 使用 Set 来存储传递过来的点值
-      const newValues = new Set(points.map((point) => point.pointId))
+      const newValues = new Set(points.map((point) => point.pointId));
 
       // 1. 删除取消选中的点
       this.tableData = this.tableData.filter((item) =>
         newValues.has(item.pointId)
-      )
+      );
 
       // 2. 确保新增点不会重复
       const existingValues = new Set(
         this.tableData.map((item) => item.pointId)
-      )
+      );
 
       points.forEach((point) => {
         // 如果当前传递的点不在已有的点集中,则添加
@@ -925,65 +919,55 @@ export default {
             pointName: point.pointName, // 显示的名称
             pointId: point.pointId, // 对应的值
             pointType: point.pointType,
-            powerType: point.powerType
-          })
+            powerType: point.powerType,
+          });
           // 将新点值添加到 Set 中
-          existingValues.add(point.value)
+          existingValues.add(point.value);
         }
-      })
+      });
 
       // 更新 form.spoint 为最新选中的隔离点数组
-      this.form.spoint = points.map((point) => point.pointId)
-
+      this.form.spoint = points.map((point) => point.pointId);
     },
     // 车间你逆向传递拿到的隔离点数据产线
     handleProductLineSelected(selectedOption) {
       // console.log(selectedOption, '父组件接收到的 selectedOption');
-      this.points = selectedOption
-      this.form.workline = selectedOption.label
-
+      this.points = selectedOption;
+      this.form.workline = selectedOption.label;
     },
     // 车间子组件逆传递车间相关数据车间
     handleWorkshopSelected(selectedOption) {
-      console.log(selectedOption, 'handleWorkshopSelected')
-      this.emitWorkShop = selectedOption
-      this.form.workshopName = selectedOption.label
-
+      console.log(selectedOption, "handleWorkshopSelected");
+      this.emitWorkShop = selectedOption;
+      this.form.workshopName = selectedOption.label;
     },
     // 添加内部人员
     addInside() {
-      this.open = true
-      this.title = '添加内部人员'
-      this.insideMumber = true
-      this.outsideMumber = false
-      this.form.ticketUserDTOList = []
-      this.dialogForm.deptId = ''
-      this.dialogForm.nickName = ''
-
+      this.open = true;
+      this.title = "添加内部人员";
+      this.insideMumber = true;
+      this.outsideMumber = false;
+      this.form.ticketUserDTOList = [];
+      this.dialogForm.deptId = "";
+      this.dialogForm.nickName = "";
     },
     addOutside() {
-      this.open = true
-      this.title = '添加外部人员'
-      this.insideMumber = false
-      this.outsideMumber = true
-      this.dialogForm.username = null
-
+      this.open = true;
+      this.title = "添加外部人员";
+      this.insideMumber = false;
+      this.outsideMumber = true;
+      this.dialogForm.username = null;
     },
     // 取消按钮
     cancel() {
-      this.open = false
-
-    },
-
-  //   时间选项
-    ticketStartTimeChange(){
-
+      this.open = false;
     },
-    ticketEndTimeChange(){
 
-    },
+    //   时间选项
+    ticketStartTimeChange() {},
+    ticketEndTimeChange() {},
     reset() {
-      this.form = {
+      (this.form = {
         sopId: "",
         pointIds: "",
         ticketType: "",
@@ -1005,8 +989,8 @@ export default {
           //   userType: ''//用户类型 上锁人或共锁人
           // }
         ],
-      },
-        this.autoGenFlag = false;
+      }),
+        (this.autoGenFlag = false);
     },
     //自动生成编码
     handleAutoGenChange(autoGenFlag) {
@@ -1020,7 +1004,6 @@ export default {
     },
   },
 };
-
 </script>
 
 

+ 10 - 7
src/views/mes/sop/sopm/NewSop.vue

@@ -56,7 +56,6 @@
                           active-color="#13ce66"
                           active-text="自动生成"
                           @change="handleAutoGenChange(autoGenFlag)"
-                          v-if="optType != 'view'"
                         >
                         </el-switch>
                       </el-form-item>
@@ -253,16 +252,17 @@ export default {
     if (this.$route.query.sopId !== "null") {
       // console.log(this.$route.query.sopId, "接受路由参数");
       this.getSopInfo();
+    } else {
+      this.setSelectSopPoints([]);
+      this.setPointTableData([]);
     }
   },
 
   methods: {
-
     ...mapActions("sopSelectPoints", [
       "setSelectSopPoints",
       "setPointTableData",
       "setSopEdit",
-
     ]),
     handleClick(tab, event) {
       // console.log(tab, event);
@@ -270,15 +270,18 @@ export default {
     preStep() {
       this.activeName = "first";
 
-      this.tableData=[]
-      console.log(this.form,'sopform')
-
+      this.tableData = [];
+      console.log(this.form, "sopform");
     },
 
     nextStep() {
       this.activeName = "second";
       // console.log("我点击了下一步");
-      console.log(this.form.workshopName,this.form.workline,'点击下一步拿到下拉框的数据');
+      console.log(
+        this.form.workshopName,
+        this.form.workline,
+        "点击下一步拿到下拉框的数据"
+      );
     },
 
     // 详情数据

+ 1 - 0
src/views/mes/sop/sopm/index.vue

@@ -326,6 +326,7 @@ export default {
   },
 
   methods: {
+    
     // 格式化日期查询数据
     formatDate(date) {
       if (date && date instanceof Date && !isNaN(date)) {