ソースを参照

修复优化里的型号与图片,新增隔离点nfc和物资rfid等

pm 11 ヶ月 前
コミット
57e0b9f8df

+ 9 - 0
src/api/mes/sop/sopindex.js

@@ -49,3 +49,12 @@ export function selectIsSopById(query) {
         method: 'get',
     })
 }
+
+// 修改SOP信息排序/dev-api/iscs/sop/selectIsSopById
+export function updateIsSopIndexAPI(query) {
+  return request({
+    url: '/iscs/sop/updateIsSopIndex' ,
+    method: 'post',
+    data: query
+  })
+}

+ 14 - 1
src/views/mes/hw/Keys/index.vue

@@ -98,6 +98,13 @@
         prop="keyNfc"
         :show-overflow-tooltip="true"
       />
+      <el-table-column
+        label="钥匙型号"
+        width="180px"
+        align="center"
+        prop="keySpec"
+        :show-overflow-tooltip="true"
+      />
       <el-table-column label="MAC地址" align="center" prop="macAddress" />
 
       <el-table-column label="所属硬件" align="center" prop="hardwareName" />
@@ -206,6 +213,13 @@
             maxlength="17"
           />
         </el-form-item>
+        <el-form-item label="钥匙型号" prop="keySpec">
+          <el-input
+            v-model="form.keySpec"
+            placeholder="请输入钥匙型号"
+            maxlength="17"
+          />
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>
@@ -386,7 +400,6 @@ export default {
         keyNfc: null,
         macAddress: null,
         remark: null,
-        macAddress: null,
       };
 
       this.autoGenFlag = false;

+ 5 - 1
src/views/mes/hw/Lock/index.vue

@@ -106,6 +106,7 @@
       <el-table-column label="锁具NFC" align="center" prop="locksetNfc" />
       <el-table-column label="锁具RFID" align="center" prop="locksetRfid" />
       <el-table-column label="物资名称" align="center" prop="materialsName" />
+      <el-table-column label="锁具型号" align="center" prop="locksetSpec" />
       <el-table-column
         label="创建时间"
         align="center"
@@ -193,7 +194,7 @@
           <el-input v-model="form.locksetNfc" placeholder="请输入锁具Nfc" maxlength="16"/>
         </el-form-item>
         <el-form-item label="锁具RFID" prop="locksetRfid" >
-          <el-input v-model="form.locksetRfid" placeholder="请输入锁具RFID" maxlength="128"  oninput="value=value.replace(/[^\d.]/g,'')"/>
+          <el-input v-model="form.locksetRfid" placeholder="请输入锁具RFID(纯数字)" maxlength="128"  oninput="value=value.replace(/[^\d.]/g,'')"/>
         </el-form-item>
         <el-form-item label="物资名称" prop="materialsId">
           <el-select
@@ -210,6 +211,9 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item label="锁具型号" prop="locksetSpec">
+          <el-input v-model="form.locksetSpec" placeholder="请输入锁具型号" maxlength="16"/>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button v-no-more-click type="primary" @click="submitForm">确 定</el-button>

+ 8 - 0
src/views/mes/hw/padLocks/index.vue

@@ -108,6 +108,7 @@
 
       <el-table-column label="所属硬件" align="center" prop="hardwareName" />
       <el-table-column label="挂锁类型" align="center" prop="lockTypeName" />
+      <el-table-column label="挂锁型号" align="center" prop="lockSpec" />
       <el-table-column
         label="创建时间"
         align="center"
@@ -216,6 +217,13 @@
             maxlength="16"
           />
         </el-form-item>
+        <el-form-item label="挂锁型号" prop="lockSpec">
+          <el-input
+            v-model="form.lockSpec"
+            placeholder="请输入挂锁型号"
+           
+          />
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>

+ 18 - 0
src/views/mes/material/materialinformation/index.vue

@@ -134,6 +134,11 @@
         label="物资类型"
         align="center"
         prop="materialsTypeName"
+      />
+       <el-table-column
+        label="物资RFID"
+        align="center"
+        prop="materialsRfid"
       />
       <el-table-column label="所属柜" align="center" prop="cabinetName" />
       <el-table-column label="可用寿命" align="center" prop="serviceLife" >
@@ -279,6 +284,19 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row>
+          <el-col :span="12">
+  <el-form-item label="物资RFID" prop="materialsRfid">
+              <el-input
+                v-model="form.materialsRfid"
+                placeholder="请输入物资RFID(纯数字)"
+                maxlength="128"
+               oninput="value=value.replace(/[^\d.]/g,'')"
+              />
+            </el-form-item>
+          </el-col>
+        
+        </el-row>
       </el-form>
 
       <div slot="footer" class="dialog-footer">

+ 15 - 11
src/views/mes/material/typeofmaterial/index.vue

@@ -192,7 +192,13 @@
             style="width: 318px"
           />
         </el-form-item>
-        <el-form-item label="借用时长" prop="loanDuration">
+         <el-form-item label="是否需要归还" prop="restitutionRequired">
+          <el-radio-group v-model="form.restitutionRequired" @change="changeLabel">
+             <el-radio :label="1">需要归还</el-radio>
+            <el-radio :label="2">不需要归还</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="借用时长" prop="loanDuration" v-if="this.form.restitutionRequired==1">
           <div class="time-picker">
             <div
               class="time-unit"
@@ -215,7 +221,7 @@
             </div>
           </div>
         </el-form-item>
-        <el-form-item label="提醒设置" prop="reminderTime">
+        <el-form-item label="提醒设置" prop="reminderTime" v-if="this.form.restitutionRequired==1">
           <div class="time-picker">
             <div
               class="time-unit"
@@ -238,7 +244,7 @@
             </div>
           </div>
         </el-form-item>
-        <el-form-item label="超时报警" prop="timeoutAlarm">
+        <el-form-item label="超时报警" prop="timeoutAlarm" v-if="this.form.restitutionRequired==1">
           <div class="time-picker">
             <div
               class="time-unit"
@@ -261,12 +267,7 @@
             </div>
           </div>
         </el-form-item>
-        <el-form-item label="是否需要归还" prop="restitutionRequired">
-          <el-radio-group v-model="form.restitutionRequired">
-            <el-radio :label="1">需要归还</el-radio>
-            <el-radio :label="2">不需要归还</el-radio>
-          </el-radio-group>
-        </el-form-item>
+       
         <el-form-item label="状态" prop="status">
           <el-radio-group v-model="form.status">
             <el-radio :label="'y'">启用</el-radio>
@@ -339,7 +340,7 @@ export default {
       form: {
         parentId: 0,
         ancestors: "0",
-        restitutionRequired: 1, // 默认为 "需要归还"
+        restitutionRequired: 2, // 默认为 "不需要归还"
         status: "y", // 默认为 "启用"
       },
       EditId: null, //编辑传递id
@@ -492,11 +493,14 @@ export default {
         this.form.parentId = null;
         this.form.ancestors = 0;
       }
-      this.form.restitutionRequired = 1;
+      this.form.restitutionRequired = 2;
       this.form.status = "y";
       this.open = true;
       this.title = "新增物资类型";
     },
+    changeLabel(){
+this.$forceUpdate();
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
       console.log(row, row.materialsTypeId, "row");

+ 22 - 6
src/views/mes/md/locksettype/index.vue

@@ -121,9 +121,14 @@
           <span v-else>-</span>
         </template>
       </el-table-column>
+<!--      <el-table-column-->
+<!--        prop="locksetTypeDescription"-->
+<!--        label="锁具类型描述"-->
+<!--        width="260"-->
+<!--      ></el-table-column>-->
       <el-table-column
-        prop="locksetTypeDescription"
-        label="锁具类型描述"
+        prop="locksetTypeSpec"
+        label="锁具类型规格"
         width="260"
       ></el-table-column>
       <el-table-column
@@ -242,14 +247,22 @@
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="锁具类型描述" prop="locksetTypeDescription">
+            <el-form-item label="锁具类型描述" prop="locksetTypeSpec">
               <el-input
-                type="textarea"
+                type="text"
                 style="width: 318px"
-                v-model="form.locksetTypeDescription"
-                placeholder="请输入锁具类型描述"
+                v-model="form.locksetTypeSpec"
+                placeholder="请输入锁具类型规格"
               />
             </el-form-item>
+<!--            <el-form-item label="锁具类型描述" prop="locksetTypeDescription">-->
+<!--              <el-input-->
+<!--                type="textarea"-->
+<!--                style="width: 318px"-->
+<!--                v-model="form.locksetTypeDescription"-->
+<!--                placeholder="请输入锁具类型描述"-->
+<!--              />-->
+<!--            </el-form-item>-->
           </el-col>
         </el-row>
       </el-form>
@@ -441,6 +454,9 @@ export default {
       this.EditId = row.locksetTypeId || this.ids;
       getLockTypeInfo(row.locksetTypeId).then((response) => {
         this.form = response.data;
+        if(this.form.parentTypeId==0){
+          this.form.parentTypeId=null
+        }
         this.open = true;
         this.title = "修改锁具类型";
       });

+ 22 - 6
src/views/mes/md/locktype/index.vue

@@ -113,10 +113,15 @@
         </template>
       </el-table-column>
       <el-table-column
-        prop="lockTypeDescription"
-        label="挂锁类型描述"
+        prop="lockTypeSpec"
+        label="挂锁型号"
         width="260"
       ></el-table-column>
+<!--      <el-table-column-->
+<!--        prop="lockTypeDescription"-->
+<!--        label="挂锁类型描述"-->
+<!--        width="260"-->
+<!--      ></el-table-column>-->
       <el-table-column
         label="操作"
         align="center"
@@ -217,14 +222,22 @@
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="挂锁类型描述" prop="lockTypeDescription">
+            <el-form-item label="挂锁型号" prop="lockTypeSpec">
               <el-input
-                type="textarea"
+                type="text"
                 style="width: 318px"
-                v-model="form.lockTypeDescription"
-                placeholder="请输入挂锁类型描述"
+                v-model="form.lockTypeSpec"
+                placeholder="请输入挂锁型号"
               />
             </el-form-item>
+<!--            <el-form-item label="挂锁类型描述" prop="lockTypeDescription">-->
+<!--              <el-input-->
+<!--                type="textarea"-->
+<!--                style="width: 318px"-->
+<!--                v-model="form.lockTypeDescription"-->
+<!--                placeholder="请输入挂锁类型描述"-->
+<!--              />-->
+<!--            </el-form-item>-->
           </el-col>
         </el-row>
         <el-row>
@@ -466,6 +479,9 @@ export default {
       this.EditId = row.lockTypeId || this.ids;
       getPadLockTypeInfoAPI(row.lockTypeId).then((response) => {
         this.form = response.data;
+        if(this.form.parentTypeId==0){
+          this.form.parentTypeId=null
+        }
         this.open = true;
         this.title = "修改挂锁类型";
       });

+ 107 - 15
src/views/mes/md/segregationpoint/index.vue

@@ -162,6 +162,8 @@
         </template>
       </el-table-column>
       <el-table-column label="隔离点名称" align="center" prop="pointName"/>
+      <el-table-column label="隔离点NFC" align="center" prop="pointNfc">
+      </el-table-column>
       <!-- <el-table-column label="状态" align="center" prop="calendarType">
         <template slot-scope="scope">
           <dict-tag
@@ -220,6 +222,39 @@
           />
         </template>
       </el-table-column>
+      <el-table-column
+        label="挂锁类型图"
+        align="center"
+        prop="lockTypeImg"
+        width="90"
+      >
+        <template slot-scope="scope">
+          <img
+            v-if="scope.row.lockTypeImg"
+            :src="scope.row.lockTypeImg"
+            alt=""
+            style="width: 50px; height: 50px"
+          />
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="锁具类型图"
+        align="center"
+        prop="locksetTypeImg"
+        width="90"
+      >
+        <template slot-scope="scope">
+          <img
+            v-if="scope.row.locksetTypeImg"
+            :src="scope.row.locksetTypeImg"
+            alt=""
+            style="width: 50px; height: 50px"
+          />
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
+      
       <el-table-column label="创建时间" align="center" prop="createTime">
       </el-table-column>
       <el-table-column
@@ -315,7 +350,21 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="作业区域" prop="workareaId">
+             <el-form-item label="隔离点NFC" prop="pointNfc">
+              <el-input
+                style="width: 300px"
+                v-model="form.pointNfc"
+                placeholder="请输入隔离点NFC"
+                maxlength="16"
+              />
+            </el-form-item>
+           
+
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="11">
+             <el-form-item label="作业区域" prop="workareaId">
               <treeselect
                 style="width: 300px"
                 v-model="form.workareaId"
@@ -324,11 +373,9 @@
                 placeholder="选择作业区域"
               />
             </el-form-item>
+            
 
           </el-col>
-        </el-row>
-        <el-row>
-
           <el-col :span="11">
             <el-form-item label="挂锁类型" prop="lockTypeId">
               <treeselect
@@ -339,10 +386,12 @@
                 placeholder="选择挂锁类型"
               />
             </el-form-item>
-
+          
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="11">
-            <el-form-item label="危险能量类型" prop="powerType">
+              <el-form-item label="危险能量类型" prop="powerType">
               <el-select
                 style="width: 300px"
                 v-model="form.powerType"
@@ -356,11 +405,10 @@
                 />
               </el-select>
             </el-form-item>
+           
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
-            <el-form-item label="锁具类型" prop="locksetTypeId">
+             <el-form-item label="锁具类型" prop="locksetTypeId">
               <treeselect
                 style="width: 300px"
                 v-model="form.locksetTypeId"
@@ -369,16 +417,18 @@
                 placeholder="选择锁具类型"
               />
             </el-form-item>
+           
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
-            <el-form-item label-width="80" label="锁具名称" prop="lockTypeName">
+           <el-form-item label="锁具名称" prop="lockTypeName">
               <el-input
                 style="width: 300px"
                 v-model="form.lockTypeName"
                 placeholder="请输入锁具名称"
               />
             </el-form-item>
-
           </el-col>
         </el-row>
 
@@ -406,6 +456,30 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="挂锁类型图" prop="lockTypeImg">
+              <ImageUploadSingle
+                :limit="1"
+                :value="form.lockTypeImg"
+                :fileSize="5"
+                @onUploaded="lockTypeImgUplaoded"
+                @onRemoved="lockTypeImgRemoved"
+              ></ImageUploadSingle>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="锁具类型图" prop="locksetTypeImg">
+              <ImageUploadSingle
+                :limit="1"
+                :value="form.locksetTypeImg"
+                :fileSize="5"
+                @onUploaded="locksetTypeImgUplaoded"
+                @onRemoved="locksetTypeImgRemoved"
+              ></ImageUploadSingle>
+            </el-form-item>
+          </el-col>
+        </el-row>
 
 
       </el-form>
@@ -541,6 +615,9 @@ export default {
         ],
         lockTypeId:[
           { required: true, message: '挂锁类型不能为空', trigger: 'blur' }
+        ],
+         pointNfc:[
+          { required: true, message: '隔离点NFC不能为空', trigger: 'blur' }
         ]
       }
     }
@@ -633,6 +710,10 @@ export default {
     handleImgUplaoded(imgUrl) {
       this.form.pointPicture = imgUrl[0].url
     },
+    //图片移除
+    handleImgRemoved(imgUrl) {
+      this.form.pointPicture = null
+    },
     //图标上传成功
     handleIconUplaoded(imgUrl) {
       this.form.pointIcon = imgUrl[0].url
@@ -641,10 +722,21 @@ export default {
     handleIconRemoved(imgUrl) {
       this.form.pointIcon = null
     },
-
-    //图片移除
-    handleImgRemoved(imgUrl) {
-      this.form.pointPicture = null
+    //图标上传成功
+    lockTypeImgUplaoded(imgUrl) {
+      this.form.lockTypeImg = imgUrl[0].url
+    },
+    // 图标移除
+    lockTypeImgRemoved(imgUrl) {
+      this.form.lockTypeImg = null
+    },
+    //图标上传成功
+    locksetTypeImgUplaoded(imgUrl) {
+      this.form.locksetType = imgUrl[0].url
+    },
+    // 图标移除
+    locksetTypeImgRemoved(imgUrl) {
+      this.form.locksetType = null
     },
     // 取消按钮
     cancel() {

+ 59 - 5
src/views/mes/sop/sopm/index.vue

@@ -149,6 +149,7 @@
       :data="sopList"
       @selection-change="handleSelectionChange"
     >
+
       <el-table-column type="selection" width="55" align="center" />
       <!-- 此处sopId为了实现编辑 误删除 -->
       <!-- <el-table-column
@@ -157,12 +158,18 @@
         prop="sopId"
         v-if="(showId = false)"
       /> -->
-      <!-- <el-table-column
-        label="SOPID"
+      <el-table-column
+        label="序号"
         align="center"
-        prop="sopId"
-        v-show="this.noShow"
-      /> -->
+        prop="sopIndex"
+      >
+        <template slot-scope="scope">
+          <el-button v-no-more-click
+                     type="text"
+                     @click="handleByOrder(scope.row)"
+          >{{scope.row.sopIndex?scope.row.sopIndex:'-'}}</el-button>
+        </template>
+      </el-table-column>
       <el-table-column label="SOP编号" align="center" prop="sopCode">
       </el-table-column>
       <el-table-column label="SOP名称" align="center" prop="sopName" />
@@ -232,6 +239,32 @@
       :limit.sync="queryParams.size"
       @pagination="getList"
     />
+    <!-- 添加或修改外部人员对话框 -->
+    <el-dialog
+      :visible.sync="open"
+      width="450px"
+      append-to-body
+      style="margin-top: 13%"
+    >
+      <div slot="title" class="dialog-title">
+        <i></i>
+        <span class="title">sop排序</span>
+      </div>
+      <el-form
+        ref="dialogForm"
+        :model="dialogForm"
+        label-width="70px"
+      >
+        <el-form-item label="选择排序" prop="sopIndex" >
+          <el-input-number v-model="dialogForm.sopIndex"></el-input-number>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <!--  内部人员确认-->
+        <el-button v-no-more-click type="primary" @click="ByOrderconfirm" >确认</el-button>
+        <el-button v-no-more-click @click="ByOrdercancel">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -245,6 +278,7 @@ import {
   updateIsSop,
   deleteIsSopBySopIds,
   selectIsSopById,
+  updateIsSopIndexAPI
 } from "@/api/mes/sop/sopindex";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -333,6 +367,8 @@ export default {
       // 表单参数
       form: {},
       noShow: false,
+      open:false,//排序弹窗
+      dialogForm:{}
     };
   },
   created() {
@@ -346,6 +382,24 @@ export default {
       "setSopLook",
       "setMapData",
     ]),
+    // sop序号排序函数
+    handleByOrder(row){
+    this.dialogForm.sopId=row.sopId
+    this.dialogForm.sopIndex=row.sopIndex
+    this.open=true
+    },
+    // 取消按钮
+    ByOrdercancel() {
+      this.open = false
+    },
+    // 排序函数确认
+    ByOrderconfirm(){
+      updateIsSopIndexAPI(this.dialogForm).then(res => {
+        console.log(res)
+        this.open=false
+        this.getList()
+      })
+    },
     // 格式化日期查询数据
     formatDate(date) {
       if (date && date instanceof Date && !isNaN(date)) {