Эх сурвалжийг харах

隔离点设置新增挂锁类型和锁具类型

pm 11 сар өмнө
parent
commit
2442f18610

+ 34 - 4
src/views/mes/job/jobm/NewOperations.vue

@@ -179,7 +179,7 @@
                       <el-table-column
                         prop="prePointId"
                         label="前置隔离点"
-                        width="100"
+
                       >
                         <template slot-scope="scope">
                           <el-select size="mini" v-model="scope.row.prePointId" @change="prePointIdChange(scope.row)"
@@ -605,6 +605,14 @@ export default {
           this.ticketStartTimeChange(newVal);
         }
       },
+
+    },
+    "form.ticketEndTime":{
+      handler(newVal) {
+        if (newVal && newVal.length > 0) {
+          this.ticketEndTimeChange(newVal);
+        }
+      }
     },
   },
   computed: {
@@ -1050,12 +1058,34 @@ export default {
     },
     ticketEndTimeChange(value) {
       this.form.ticketEndTime = value;
+      this.updatePickerOptions();
     },
+
     disabledDate(time) {
       const startTime = new Date(this.form.ticketStartTime);
-      return startTime && !isNaN(startTime.getTime())
-        ? time.getTime() < startTime.getTime()
-        : false;
+      const endTime = new Date(this.form.ticketEndTime);
+
+      // 如果有结束时间且开始时间大于结束时间,则开始时间不能大于结束时间
+      if (!isNaN(endTime.getTime()) && startTime > endTime) {
+        return time.getTime() > endTime.getTime();
+      }
+
+      // 如果开始时间是当天,则结束时间可以选择今天及之后的日期
+      if (!isNaN(startTime.getTime()) && startTime.toDateString() === new Date().toDateString()) {
+        return time.getTime() < startTime.getTime();
+      }
+
+      // 如果开始时间不是当天,则结束时间不能小于开始时间
+      if (!isNaN(startTime.getTime())) {
+        return time.getTime() < startTime.getTime();
+      }
+
+      // 如果有结束时间,则开始时间不能晚于结束时间
+      if (!isNaN(endTime.getTime())) {
+        return time.getTime() > endTime.getTime();
+      }
+
+      return false;
     },
     updatePickerOptions() {
       this.pickerOptions.disabledDate = this.disabledDate;

+ 1 - 1
src/views/mes/job/jobm/lookWork.vue

@@ -228,7 +228,7 @@
                   <el-table-column
                     prop="prePointId"
                     label="前置隔离点"
-                    width="90"
+
                   >
                     <template slot-scope="scope">
                       <el-select

+ 59 - 30
src/views/mes/md/segregationpoint/index.vue

@@ -356,21 +356,8 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="12">
+          <el-col :span="11">
             <el-form-item label="作业区域" prop="workareaId">
-              <!--              <el-select-->
-              <!--                style="width: 300px"-->
-              <!--                v-model="form.workareaId"-->
-              <!--                placeholder="请选择作业区域"-->
-              <!--              >-->
-              <!--                <el-option-->
-              <!--                  v-for="dict in this.workareaList"-->
-              <!--                  :key="dict.value"-->
-              <!--                  :label="dict.label"-->
-              <!--                  :value="dict.value"-->
-              <!--                />-->
-              <!--              </el-select>-->
-
               <treeselect
                 style="width: 300px"
                 v-model="form.workareaId"
@@ -380,7 +367,31 @@
               />
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="锁具类型" prop="locksetTypeId">
+              <treeselect
+                style="width: 300px"
+                v-model="form.locksetTypeId"
+                :options="LockTypeOptions"
+                :normalizer="normalizerLockset"
+                placeholder="选择作业区域"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="挂锁类型" prop="lockTypeId">
+            <treeselect
+              style="width: 300px"
+              v-model="form.lockTypeId"
+              :options="padLockTypeOptions"
+              :normalizer="normalizerpadLock"
+              placeholder="选择作业区域"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="隔离点图标" prop="pointIcon">
@@ -406,21 +417,7 @@
           </el-col>
         </el-row>
 
-        <!--        <el-form-item label="所属车间" prop="workshopId">-->
-        <!--          <el-select-->
-        <!--            style="width: 318px"-->
-        <!--            v-model="form.workshopId"-->
-        <!--            placeholder="请选择所属车间"-->
-        <!--            @change="workShopChange"-->
-        <!--          >-->
-        <!--            <el-option-->
-        <!--              v-for="item in this.workshopList"-->
-        <!--              :key="item.key"-->
-        <!--              :label="item.label"-->
-        <!--              :value="item.value"-->
-        <!--            />-->
-        <!--          </el-select>-->
-        <!--        </el-form-item>-->
+
       </el-form>
 
       <div slot="footer" class="dialog-footer">
@@ -447,6 +444,8 @@ import { genCode } from "@/api/system/autocode/rule";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { listWorkarea } from "@/api/mes/wa/workarea";
+import { listLockType } from '@/api/mes/locktype/locktype'
+import { listPadLockTypeAPI } from '@/api/mes/padLockType/padLockType'
 
 export default {
   name: "Team",
@@ -530,6 +529,8 @@ export default {
       },
       // 表单参数
       form: {},
+      LockTypeOptions:[],//锁具类型下拉
+      padLockTypeOptions:[],//挂锁类型下拉
       // 表单校验
       rules: {
         pointCode: [
@@ -594,6 +595,14 @@ export default {
           "children"
         );
       });
+      // 锁具类型
+      listLockType(data).then((response)=>{
+        this.LockTypeOptions=this.handleTree(response.data.records,'locksetTypeId')
+      })
+    //   挂锁类型
+      listPadLockTypeAPI(data).then((response)=>{
+        this.padLockTypeOptions=this.handleTree(response.data.records,'lockTypeId')
+      })
     },
     /** 转换部门数据结构 */
     normalizer(node) {
@@ -606,6 +615,26 @@ export default {
         children: node.children,
       };
     },
+    normalizerLockset(node){
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.locksetTypeId,
+        label: node.locksetTypeName,
+        children: node.children,
+      };
+    },
+    normalizerpadLock(node){
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.lockTypeId,
+        label: node.lockTypeName,
+        children: node.children,
+      };
+    },
     //图片上传成功
     handleImgUplaoded(imgUrl) {
       this.form.pointPicture = imgUrl[0].url;
@@ -756,7 +785,7 @@ export default {
     // 获取车间数据
     getworkShop() {
       workshoplistAll().then((response) => {
-        console.log(response, "获取车间数据");
+        // console.log(response, "获取车间数据");
         this.workshopList = response.data.map((item) => {
           return {
             label: item.workshopName,

+ 1 - 1
src/views/mes/sop/sopm/NewSop.vue

@@ -178,7 +178,7 @@
                       <el-table-column
                         prop="prePointId"
                         label="前置隔离点"
-                        width="100"
+
                       >
                         <template slot-scope="scope">
                           <el-select size="mini" v-model="scope.row.prePointId" @change="prePointIdChange(scope.row)"

+ 1 - 1
src/views/mes/sop/sopm/sopmLook.vue

@@ -231,7 +231,7 @@
                   <el-table-column
                     prop="prePointId"
                     label="前置隔离点"
-                    width="100"
+
                   >
                     <template slot-scope="scope">
                       <el-select