ソースを参照

添加硬件管理,工作区域,隔离点,sop,作业票模块编码自动编码方式

wangyani 1 年間 前
コミット
0e549ddca3

+ 124 - 127
src/views/mes/hw/information/index.vue

@@ -167,7 +167,11 @@
         prop="hardwareName"
         :show-overflow-tooltip="true"
       />
-      <el-table-column label="硬件类型" align="center" prop="hardwareTypeName" />
+      <el-table-column
+        label="硬件类型"
+        align="center"
+        prop="hardwareTypeName"
+      />
       <el-table-column label="规格型号" align="center" prop="hardwareSpec" />
       <el-table-column label="所属车间" align="center" prop="workshopName" />
       <el-table-column label="硬件状态" align="center" prop="status">
@@ -225,7 +229,7 @@
             v-hasPermi="['mes:hw:information:remove']"
             >删除</el-button
           >
-<!--          <el-button size="mini" type="text">预览</el-button>-->
+          <!--          <el-button size="mini" type="text">预览</el-button>-->
         </template>
       </el-table-column>
     </el-table>
@@ -247,7 +251,7 @@
     >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
-          <el-col :span="11">
+          <el-col :span="8">
             <el-form-item label="硬件编码" prop="hardwareCode">
               <el-input
                 v-model="form.hardwareCode"
@@ -256,6 +260,18 @@
               />
             </el-form-item>
           </el-col>
+          <el-col :span="3">
+            <el-form-item label-width="80">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+                v-if="optType != 'view'"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
           <el-col :span="11">
             <el-form-item label="硬件类型" prop="hardwareTypeName">
               <el-select
@@ -336,10 +352,7 @@
           </el-col>
           <el-col :span="11">
             <el-form-item label="已用次数" prop="usedTimes">
-              <el-input
-                v-model="form.usedTimes"
-                placeholder="请输入已用次数"
-              />
+              <el-input v-model="form.usedTimes" placeholder="请输入已用次数" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -354,38 +367,28 @@
           </el-col>
           <el-col :span="11">
             <el-form-item label="已用寿命" prop="usedLife">
-              <el-input
-                v-model="form.usedLife"
-                placeholder="请输入已用寿命"
-              />
+              <el-input v-model="form.usedLife" placeholder="请输入已用寿命" />
             </el-form-item>
           </el-col>
         </el-row>
 
         <el-form-item label="状态" prop="status">
-            <el-radio v-model="form.status" label="1" v-removeAriaHidden
-              ><img
-                src="@/assets/images/success.png"
-                alt=""
-                class="imgstatus"
-              />
-              在线</el-radio
-            >
-            <el-radio v-model="form.status" v-removeAriaHidden  label="2" ><img src="@/assets/images/error.png" alt="" class="imgstatus" />
-              离线</el-radio
-            >
-            <el-radio v-model="form.status" v-removeAriaHidden label="3"
-              ><img src="@/assets/images/warn.png" alt="" class="imgstatus" />
-              异常</el-radio
-            >
+          <el-radio v-model="form.status" label="1" v-removeAriaHidden
+            ><img src="@/assets/images/success.png" alt="" class="imgstatus" />
+            在线</el-radio
+          >
+          <el-radio v-model="form.status" v-removeAriaHidden label="2"
+            ><img src="@/assets/images/error.png" alt="" class="imgstatus" />
+            离线</el-radio
+          >
+          <el-radio v-model="form.status" v-removeAriaHidden label="3"
+            ><img src="@/assets/images/warn.png" alt="" class="imgstatus" />
+            异常</el-radio
+          >
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button
-          type="primary"
-          @click="submitForm"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -400,9 +403,9 @@ import {
   updateHardware,
   delHardware,
   getHardwareInfo,
-  listAllWorkshop
-} from '@/api/mes/hw/hardwareinfo'
-
+  listAllWorkshop,
+} from "@/api/mes/hw/hardwareinfo";
+import { genCode } from "@/api/system/autocode/rule";
 export default {
   name: "hardwareinfo",
   dicts: ["hardware_status"],
@@ -430,34 +433,31 @@ export default {
       // 是否显示弹出层
       open: false,
       // 查询参数
-      createTime:'',
+      createTime: "",
       queryParams: {
         current: 1,
         size: 10,
-        hardwareCode:'',
-        hardwareName:'',
-        status:'',
-        hardwareTypeName:'',
-        hardwareSpec:'',
-        startTime:'',
-        endTime:'',
-        workshopName:'',
-        workshopCode:'',
-        workshopId:'',
+        hardwareCode: "",
+        hardwareName: "",
+        status: "",
+        hardwareTypeName: "",
+        hardwareSpec: "",
+        startTime: "",
+        endTime: "",
+        workshopName: "",
+        workshopCode: "",
+        workshopId: "",
       },
       queryTypeParams: {
-        enableFlag:'y',
+        enableFlag: "y",
       },
-      workshopOption:[
-
-      ],
-      hardwareTypeOption:[],
+      workshopOption: [],
+      hardwareTypeOption: [],
       // 表单参数
       form: {
-        hardwareTypeId:0,
-        workshopCode:0,
-        workshopId:0,
-
+        hardwareTypeId: 0,
+        workshopCode: 0,
+        workshopId: 0,
       },
       // 表单校验
       rules: {
@@ -467,7 +467,6 @@ export default {
         hardwareName: [
           { required: true, message: "硬件名称不能为空", trigger: "blur" },
         ],
-
       },
       // 日期选择
       pickerOptions: {
@@ -504,19 +503,22 @@ export default {
       value2: "",
       // 新增状态
       radio: 3,
-      EditId:0,//修改判断
+      EditId: 0, //修改判断
     };
   },
   created() {
     this.getList();
-    this.getHardwareTypeList()
+    this.getHardwareTypeList();
   },
   methods: {
     // 格式化日期查询数据
     formatDate(date) {
       if (date && date instanceof Date && !isNaN(date)) {
         // 使用本地时间
-        return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
+        return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(
+          2,
+          "0"
+        )}-${String(date.getDate()).padStart(2, "0")}`;
       }
       return null;
     },
@@ -525,7 +527,7 @@ export default {
     getList() {
       this.loading = true;
       // 格式化日期并更新 queryParams
-      if (Array.isArray(this.createTime) && this.createTime.length === 2){
+      if (Array.isArray(this.createTime) && this.createTime.length === 2) {
         this.queryParams.startTime = this.formatDate(this.createTime[0]);
         this.queryParams.endTime = this.formatDate(this.createTime[1]);
       }
@@ -535,63 +537,62 @@ export default {
         this.total = response.data.total;
         this.loading = false;
       });
-    //   车间数据
+      //   车间数据
       listAllWorkshop().then((response) => {
-        this.workshopOption = response.data.map((item)=>{
+        this.workshopOption = response.data.map((item) => {
           return {
-            label:item.workshopName,
-            value:item.workshopId,
-            key:item.workshopCode,
-          }
+            label: item.workshopName,
+            value: item.workshopId,
+            key: item.workshopCode,
+          };
         });
-      })
+      });
     },
     // 获取硬件类型-所有
     getHardwareTypeList() {
-      getHardwareTypeListAPI(this.queryTypeParams).then(response => {
-        console.log(response,'Type')
-        this.hardwareTypeOption=response.data.map((item) => {
-          return{
-            label:item.hardwareTypeName,
+      getHardwareTypeListAPI(this.queryTypeParams).then((response) => {
+        console.log(response, "Type");
+        this.hardwareTypeOption = response.data.map((item) => {
+          return {
+            label: item.hardwareTypeName,
             value: item.hardwareTypeCode,
-            key:item.id,
-          }
-        })
-      })
+            key: item.id,
+          };
+        });
+      });
     },
     // 硬件类型下拉
-    hardTypeChange(val){
-      console.log(val,'下拉类型')
-      const TypeId=this.hardwareTypeOption.find((item)=>{
-        return item.value==val?item.key:null;
-      })
-      this.form.hardwareTypeId=TypeId.key
-      this.form.hardwareTypeCode=TypeId.value
-      this.form.hardwareTypeName=TypeId.label
-      console.log(this.form.hardwareTypeId,'hardwareTypeId')
+    hardTypeChange(val) {
+      console.log(val, "下拉类型");
+      const TypeId = this.hardwareTypeOption.find((item) => {
+        return item.value == val ? item.key : null;
+      });
+      this.form.hardwareTypeId = TypeId.key;
+      this.form.hardwareTypeCode = TypeId.value;
+      this.form.hardwareTypeName = TypeId.label;
+      console.log(this.form.hardwareTypeId, "hardwareTypeId");
     },
     // 车间下拉 --新增表单
-    workShopChange(val){
-      console.log(val,'val')
-
-      this.form.workshopId=val
-      const item=this.workshopOption.find((item)=>{
-        return item.value==val?item.key:null;
-      })
-      console.log(item,'item')
-      this.form.workshopCode=item.key
-      this.form.workshopName=item.label
+    workShopChange(val) {
+      console.log(val, "val");
 
+      this.form.workshopId = val;
+      const item = this.workshopOption.find((item) => {
+        return item.value == val ? item.key : null;
+      });
+      console.log(item, "item");
+      this.form.workshopCode = item.key;
+      this.form.workshopName = item.label;
     },
-    workShopChangequery(val){
-      console.log(val,'查询下拉')
-      this.queryParams.workshopId=val
-      const item=this.workshopOption.find((item)=>{
-        return item.value==val?item.key:null;
-      })
+    workShopChangequery(val) {
+      console.log(val, "查询下拉");
+      this.queryParams.workshopId = val;
+      const item = this.workshopOption.find((item) => {
+        return item.value == val ? item.key : null;
+      });
 
-      this.queryParams.workshopCode=item.key
-      this.queryParams.workshopName=item.label
+      this.queryParams.workshopCode = item.key;
+      this.queryParams.workshopName = item.label;
     },
 
     // 取消按钮
@@ -602,14 +603,14 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        hardwareCode:'',
-        hardwareName:'',
-        status:'',
-        hardwareTypeName:'',
-        hardwareSpec:'',
-        createTime:'',
-        workshopName:'',
-        workshopId: '',
+        hardwareCode: "",
+        hardwareName: "",
+        status: "",
+        hardwareTypeName: "",
+        hardwareSpec: "",
+        createTime: "",
+        workshopName: "",
+        workshopId: "",
         workshopCode: null,
       };
 
@@ -623,12 +624,12 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.queryParams.workshopCode=""
-      this.queryParams.workshopName=""
-      this.queryParams.workshopId=""
-      this.createTime="";//之所以不把这个值放到queryParams是因为会被携带到参数里create Time[0]这样的内容携带进去
-      this.queryParams.startTime=""
-      this.queryParams.endTime=""
+      this.queryParams.workshopCode = "";
+      this.queryParams.workshopName = "";
+      this.queryParams.workshopId = "";
+      this.createTime = ""; //之所以不把这个值放到queryParams是因为会被携带到参数里create Time[0]这样的内容携带进去
+      this.queryParams.startTime = "";
+      this.queryParams.endTime = "";
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -642,7 +643,7 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
-      this.EditId=null
+      this.EditId = null;
       this.title = "新增硬件信息";
     },
     /** 修改按钮操作 */
@@ -659,7 +660,6 @@ export default {
     submitForm() {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-
           if (this.EditId != null) {
             updateHardware(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
@@ -667,11 +667,11 @@ export default {
               this.getList();
             });
           } else {
-            console.log(this.form,'form')
+            console.log(this.form, "form");
             addHardware(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
-              this.EditId=null
+              this.EditId = null;
               this.getList();
             });
           }
@@ -684,16 +684,13 @@ export default {
       this.$modal
         .confirm('是否确认删除硬件编号为"' + repairIds + '"的数据项?')
         .then(function () {
-
           return delHardware(repairIds);
         })
         .then(() => {
           this.getList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => {
-
-        });
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -709,11 +706,11 @@ export default {
     //自动生成编码
     handleAutoGenChange(autoGenFlag) {
       if (autoGenFlag) {
-        genCode("REPAIR_CODE").then((response) => {
-          this.form.repairCode = response;
+        genCode("HARDWARE_TYPE").then((response) => {
+          this.form.hardwareCode = response;
         });
       } else {
-        this.form.repairCode = null;
+        this.form.hardwareCode = null;
       }
     },
   },

+ 67 - 36
src/views/mes/hw/type/index.vue

@@ -34,12 +34,12 @@
           <el-option label="启用" value="y"></el-option>
           <el-option label="禁用" value="n"></el-option>
 
-<!--          <el-option-->
-<!--            v-for="dict in dict.type.mes_order_status"-->
-<!--            :key="dict.value"-->
-<!--            :label="dict.label"-->
-<!--            :value="dict.value"-->
-<!--          />-->
+          <!--          <el-option-->
+          <!--            v-for="dict in dict.type.mes_order_status"-->
+          <!--            :key="dict.value"-->
+          <!--            :label="dict.label"-->
+          <!--            :value="dict.value"-->
+          <!--          />-->
         </el-select>
       </el-form-item>
       <el-form-item style="margin-left: 50px">
@@ -106,18 +106,26 @@
       />
       <el-table-column label="状态" align="center" prop="enableFlag">
         <template slot-scope="scope">
-          <el-tag v-if="scope.row.enableFlag=='y'">启用</el-tag>
+          <el-tag v-if="scope.row.enableFlag == 'y'">启用</el-tag>
           <el-tag v-else type="danger">禁用</el-tag>
 
-<!--          <dict-tag-->
-<!--            :options="dict.type.mes_order_status"-->
-<!--            :value="scope.row.enableFlag"-->
-<!--          />-->
+          <!--          <dict-tag-->
+          <!--            :options="dict.type.mes_order_status"-->
+          <!--            :value="scope.row.enableFlag"-->
+          <!--          />-->
         </template>
       </el-table-column>
-      <el-table-column label="硬件层级" align="center" prop="level" >
+      <el-table-column label="硬件层级" align="center" prop="level">
         <template slot-scope="scope">
-          {{scope.row.level=='1'?'一':scope.row.level=='2'?'二':scope.row.level=='3'?'三':scope.row.level}}级
+          {{
+            scope.row.level == "1"
+              ? "一"
+              : scope.row.level == "2"
+              ? "二"
+              : scope.row.level == "3"
+              ? "三"
+              : scope.row.level
+          }}级
         </template>
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remark" />
@@ -162,11 +170,33 @@
         <span class="title">{{ title }}</span>
       </div>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="硬件编号" prop="hardwareTypeCode">
-          <el-input v-model="form.hardwareTypeCode" placeholder="请输入硬件编号" />
-        </el-form-item>
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="硬件编号" prop="hardwareTypeCode">
+              <el-input
+                v-model="form.hardwareTypeCode"
+                placeholder="请输入硬件编号"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="30">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+                v-if="optType != 'view'"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-form-item label="硬件名称" prop="hardwareTypeName">
-          <el-input v-model="form.hardwareTypeName" placeholder="请输入硬件名称" />
+          <el-input
+            v-model="form.hardwareTypeName"
+            placeholder="请输入硬件名称"
+          />
         </el-form-item>
         <el-form-item label="硬件层级" prop="level">
           <el-input-number
@@ -178,8 +208,8 @@
           ></el-input-number>
         </el-form-item>
         <el-form-item label="状态" prop="enableFlag">
-          <el-radio v-model="form.enableFlag" label="y" >启用</el-radio>
-          <el-radio v-model="form.enableFlag" label="n" >禁用</el-radio>
+          <el-radio v-model="form.enableFlag" label="y">启用</el-radio>
+          <el-radio v-model="form.enableFlag" label="n">禁用</el-radio>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input
@@ -213,6 +243,7 @@ export default {
 
   data() {
     return {
+      //自动生成编码
       autoGenFlag: false,
       optType: undefined,
       // 遮罩层
@@ -241,15 +272,15 @@ export default {
       queryParams: {
         current: 1,
         size: 10,
-        hardwareTypeCode:'',
-        hardwareTypeName:'',
-        enableFlag:'',
+        hardwareTypeCode: "",
+        hardwareTypeName: "",
+        enableFlag: "",
       },
       // 表单参数
       form: {
-        parentTypeId:0
+        parentTypeId: 0,
       },
-      EditId:null,//编辑传递id
+      EditId: null, //编辑传递id
       // 表单校验
       rules: {
         hardwareTypeCode: [
@@ -286,11 +317,11 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        hardwareTypeCode:'',
-        hardwareTypeName:'',
-        level:'',
-        enableFlag:'',
-        remark:''
+        hardwareTypeCode: "",
+        hardwareTypeName: "",
+        level: "",
+        enableFlag: "",
+        remark: "",
       };
       this.autoGenFlag = false;
       this.resetForm("form");
@@ -313,10 +344,10 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
-      console.log(this.form,'新增')
+      console.log(this.form, "新增");
       this.reset();
       this.open = true;
-      this.EditId=null
+      this.EditId = null;
       this.title = "新增硬件类型";
     },
     /** 修改按钮操作 */
@@ -340,11 +371,11 @@ export default {
               this.getList();
             });
           } else {
-            this.form.parentTypeId=0
+            this.form.parentTypeId = 0;
             addHardwareType(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
-              this.EditId=null
+              this.EditId = null;
               this.getList();
             });
           }
@@ -379,11 +410,11 @@ export default {
     //自动生成编码
     handleAutoGenChange(autoGenFlag) {
       if (autoGenFlag) {
-        genCode("REPAIR_CODE").then((response) => {
-          this.form.repairCode = response;
+        genCode("HARDWARE_TYPE_CODE").then((response) => {
+          this.form.hardwareTypeCode = response;
         });
       } else {
-        this.form.repairCode = null;
+        this.form.hardwareTypeCode = null;
       }
     },
   },

+ 63 - 8
src/views/mes/job/jobm/NewOperations.vue

@@ -48,13 +48,30 @@
                       />
                     </el-select>
                   </el-form-item>
-                  <el-form-item label="作业票编号" prop="ticketCode">
-                    <el-input
-                      v-model="form.ticketCode"
-                      placeholder="请输入作业票编号"
-                      style="width: 100%"
-                    />
-                  </el-form-item>
+                  <el-row>
+                    <el-col :span="16">
+                      <el-form-item label="作业票编号" prop="ticketCode">
+                        <el-input
+                          v-model="form.ticketCode"
+                          placeholder="请输入作业票编号"
+                          style="width: 100%"
+                        />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label-width="80">
+                        <el-switch
+                          v-model="autoGenFlag"
+                          active-color="#13ce66"
+                          active-text="自动生成"
+                          @change="handleAutoGenChange(autoGenFlag)"
+                          v-if="optType != 'view'"
+                        >
+                        </el-switch>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+
                   <el-form-item label="作业票名称" prop="ticketName">
                     <el-input
                       v-model="form.ticketName"
@@ -342,7 +359,7 @@ import { getIsSopPage } from "@/api/mes/sop/sopindex";
 import { listUser } from "@/api/system/user";
 import { listDept } from "@/api/system/dept";
 import IsolationLeftVue from "@/components/separationPoint/index.vue";
-
+import { genCode } from "@/api/system/autocode/rule";
 import { mapGetters } from "vuex";
 
 export default {
@@ -355,6 +372,8 @@ export default {
   },
   data() {
     return {
+      //自动生成编码
+      autoGenFlag: false,
       activeName: "first",
       form: {
         sopId: "",
@@ -780,6 +799,42 @@ export default {
       this.open = false;
       this.reset();
     },
+    reset() {
+      (this.form = {
+        sopId: "",
+        pointIds: "",
+        ticketType: "",
+        ticketName: "",
+        ticketCode: "",
+        ticketContent: "",
+        workshopName: "", //车间名称
+        workline: "", //产线
+        spoint: [], //已选隔离点
+        locker: "", //上锁人
+        coLocker: "", //共锁人
+        ticketStartTime: "", //开始时间
+        ticketEndTime: "", //结束时间
+        ticketUserDTOList: [
+          // {
+          //   userId: '',
+          //   userName: '',
+          //   userRole: '',//作业票角色 暂时不传递
+          //   userType: ''//用户类型 上锁人或共锁人
+          // }
+        ],
+      }),
+        (this.autoGenFlag = false);
+    },
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode("JOB_TICKET_CODE").then((response) => {
+          this.form.ticketCode = response;
+        });
+      } else {
+        this.form.ticketCode = null;
+      }
+    },
   },
 };
 </script>

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

@@ -39,13 +39,30 @@
                       style="width: 100%"
                     />
                   </el-form-item>
-                  <el-form-item label="编号" prop="sopCode">
-                    <el-input
-                      v-model="form.sopCode"
-                      placeholder="请输入SOP编号"
-                      style="width: 100%"
-                    />
-                  </el-form-item>
+                  <el-row>
+                    <el-col :span="16">
+                      <el-form-item label="编号" prop="sopCode">
+                        <el-input
+                          v-model="form.sopCode"
+                          placeholder="请输入SOP编号"
+                          style="width: 100%"
+                        />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label-width="80">
+                        <el-switch
+                          v-model="autoGenFlag"
+                          active-color="#13ce66"
+                          active-text="自动生成"
+                          @change="handleAutoGenChange(autoGenFlag)"
+                          v-if="optType != 'view'"
+                        >
+                        </el-switch>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+
                   <el-form-item label="SOP类型" prop="sopType">
                     <el-select
                       v-model="form.sopType"
@@ -170,6 +187,7 @@
 <script>
 import IsolationLeftVue from "@/components/separationPoint/index.vue";
 import SopLeft from "@/components/separationPoint/workshop.vue";
+import { genCode } from "@/api/system/autocode/rule";
 import {
   addinsertIsSop,
   updateIsSop,
@@ -185,6 +203,8 @@ export default {
   },
   data() {
     return {
+      //自动生成编码
+      autoGenFlag: false,
       activeName: "first",
       form: {
         sopName: "",
@@ -282,6 +302,7 @@ export default {
           workareaId: "",
           workshopId: "",
         };
+        this.autoGenFlag = false;
       }
     },
     submit() {
@@ -427,6 +448,17 @@ export default {
       this.emitWorkShop = selectedOption;
       this.form.workshopName = selectedOption.label;
     },
+
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode("SOP_CODE").then((response) => {
+          this.form.sopCode = response;
+        });
+      } else {
+        this.form.sopCode = null;
+      }
+    },
     //   methods结束
   },
 };

+ 32 - 15
src/views/mes/spm/segregationpoint/index.vue

@@ -159,11 +159,11 @@
           />
         </template>
       </el-table-column> -->
-<!--      <el-table-column label="隔离点图片" align="center" prop="pointPicture">-->
-<!--        <template slot-scope="scope">-->
-<!--          <img :src="scope.row.pointPicture" alt="" />-->
-<!--        </template>-->
-<!--      </el-table-column>-->
+      <!--      <el-table-column label="隔离点图片" align="center" prop="pointPicture">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          <img :src="scope.row.pointPicture" alt="" />-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
       <el-table-column label="隔离点类型" align="center" prop="pointType">
         <template slot-scope="scope">
           <dict-tag
@@ -225,13 +225,29 @@
         <span class="title">{{ title }}</span>
       </div>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="隔离点编号" prop="pointCode">
-          <el-input
-            style="width: 318px"
-            v-model="form.pointCode"
-            placeholder="请输入隔离点编号"
-          />
-        </el-form-item>
+        <el-row>
+          <el-col :span="13">
+            <el-form-item label="隔离点编码" prop="pointCode">
+              <el-input
+                v-model="form.pointCode"
+                placeholder="请输入隔离点编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="80">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+                v-if="optType != 'view'"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
         <el-form-item label="隔离点名称" prop="pointName">
           <el-input
             style="width: 318px"
@@ -479,6 +495,7 @@ export default {
         powerType: null,
         createTime: null,
       };
+      this.autoGenFlag = false;
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -580,11 +597,11 @@ export default {
     //自动生成编码
     handleAutoGenChange(autoGenFlag) {
       if (autoGenFlag) {
-        genCode("CAL_TEAM_CODE").then((response) => {
-          this.form.teamCode = response;
+        genCode("ISOLATION_POINT_CODE").then((response) => {
+          this.form.pointCode = response;
         });
       } else {
-        this.form.teamCode = null;
+        this.form.pointCode = null;
       }
     },
     // 获取车间数据

+ 19 - 3
src/views/mes/wa/workarea/MapData.vue

@@ -7,7 +7,7 @@ export default {
   name: "MapData",
   props: {
     points: {
-      type: [Array, String], // Allow both types to avoid warnings
+      type: String, // Allow both types to avoid warnings
       required: true,
     },
   },
@@ -41,9 +41,25 @@ export default {
         : this.points;
     },
   },
-  mounted() {
-    this.initKonva();
+  created() {
+    if (this.props.points) {
+      this.initKonva();
+    } else {
+      setTimeout(() => {
+        this.initKonva();
+      }, 10000);
+    }
   },
+  // mounted() {
+  //   //   // this.initKonva();
+  //   if (this.props.points) {
+  //     this.initKonva();
+  //   } else {
+  //     setTimeout(() => {
+  //       this.initKonva();
+  //     }, 10000);
+  //   }
+  // },
   methods: {
     initKonva() {
       // 创建舞台

+ 40 - 14
src/views/mes/wa/workarea/index.vue

@@ -201,13 +201,29 @@
             placeholder="请输入区域名称"
           />
         </el-form-item>
-        <el-form-item label="区域编码" prop="workareaCode">
-          <el-input
-            style="width: 318px"
-            v-model="form.workareaCode"
-            placeholder="请输入区域编码"
-          />
-        </el-form-item>
+        <el-row>
+          <el-col :span="13">
+            <el-form-item label="区域编码" prop="workareaCode">
+              <el-input
+                v-model="form.workareaCode"
+                placeholder="请输入区域编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label-width="80">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+                v-if="optType != 'view'"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
         <el-form-item label="区域类型" prop="workareaType">
           <el-input
             style="width: 318px"
@@ -345,14 +361,14 @@ export default {
       EditId: null, //判断是否是编辑弹框的值
       // 表单校验
       rules: {
-        teamCode: [
-          { required: true, message: "班组编号不能为空", trigger: "blur" },
+        workareaCode: [
+          { required: true, message: "区域编号不能为空", trigger: "blur" },
         ],
-        teamName: [
-          { required: true, message: "班组名称不能为空", trigger: "blur" },
+        workareaName: [
+          { required: true, message: "区域名称不能为空", trigger: "blur" },
         ],
-        calendarType: [
-          { required: true, message: "清选择班组类型", trigger: "blur" },
+        workareaType: [
+          { required: true, message: "清选择区域类型", trigger: "blur" },
         ],
       },
     };
@@ -399,7 +415,7 @@ export default {
         workareaType: null,
         workshopId: null,
       };
-
+      this.autoGenFlag = false;
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -509,6 +525,16 @@ export default {
     handleClose() {
       this.dialogVisibleMap = false;
     },
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode("WORKAREA_CODE").then((response) => {
+          this.form.workareaCode = response;
+        });
+      } else {
+        this.form.workareaCode = null;
+      }
+    },
   },
 };
 </script>