ソースを参照

设备管理,完善逻辑

Joe 3 年 前
コミット
42aafeb61b
1 ファイル変更39 行追加15 行削除
  1. 39 15
      src/views/station/Station_Equipment.vue

+ 39 - 15
src/views/station/Station_Equipment.vue

@@ -1,7 +1,9 @@
 <template>
   <div v-if="pageStatus == 0">配置加载中...</div>
   <div v-else-if="pageStatus == 1">此页面不对此账号开放</div>
-  <div v-else-if="pageStatus == 2">没有此页内容的配置权限,请检查集团上的配置</div>
+  <div v-else-if="pageStatus == 2">
+    没有此页内容的配置权限,请检查集团上的配置
+  </div>
   <div v-else-if="pageStatus == 3">加载发生错误</div>
   <div v-else-if="pageStatus == 4" class="app-container">
     <el-form
@@ -16,8 +18,8 @@
           clearable
           placeholder="请选择"
         >
-          <el-option label="小票打印机" value="1"></el-option>
-          <el-option label="POS" value="2"></el-option>
+          <el-option label="小票打印机" value="1" ></el-option>
+          <el-option label="POS" value="2" ></el-option>
         </el-select>
       </el-form-item>
 
@@ -144,9 +146,10 @@
             placeholder="请选择设备类型"
             clearable
             size="small"
+            :disabled="updateAble"
           >
-            <el-option label="小票打印机" value="1"></el-option>
-            <el-option label="POS" value="2"></el-option>
+            <el-option label="小票打印机" value="1" v-if="comDeviceType(1)"></el-option>
+            <el-option label="POS" value="2" v-if="comDeviceType(2)"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="设备名称" prop="deviceName">
@@ -187,7 +190,7 @@
         <el-form-item
           label="队列名"
           prop="posQueue"
-          :required="dialogForm.deviceType==2"
+          :required="dialogForm.deviceType == 2"
           v-show="false"
         >
           <el-input v-model="dialogForm.posQueue" placeholder="请输入队列名" />
@@ -197,7 +200,10 @@
             请先在油枪管理里配置油枪
           </template>
           <template v-else>
-            <el-checkbox-group v-model="dialogForm.checkedGunList" v-if="dialogForm.deviceType == 2">
+            <el-checkbox-group
+              v-model="dialogForm.checkedGunList"
+              v-if="dialogForm.deviceType == 2"
+            >
               <el-checkbox
                 v-for="item in posList"
                 :key="item.oilGunId"
@@ -207,7 +213,11 @@
                 {{ item.oilGunNo + "号枪/" + item.oilName }}
               </el-checkbox>
             </el-checkbox-group>
-            <el-checkbox-group v-model="dialogForm.checkedGunList" v-if="dialogForm.deviceType == 1">
+
+            <el-checkbox-group
+              v-model="dialogForm.checkedGunList"
+              v-if="dialogForm.deviceType == 1"
+            >
               <el-checkbox
                 v-for="item in printList"
                 :key="item.oilGunId"
@@ -314,14 +324,16 @@ export default {
           // { required: true, message: '请输入设备厂家', trigger: 'blur' }
         ],
       },
+      updateAble:false,
     };
   },
   created() {
     this.init();
-    this.setPageStatus()
+    this.setPageStatus();
   },
   computed: {
     posList() {
+      // 排除其他pos已经添加过的
       const temp = this.allGunList.filter((item) => {
         let flag = false;
         this.equipmentList.map((ele) => {
@@ -334,6 +346,7 @@ export default {
         });
         return flag;
       });
+      // 查找自己的
       const temp2 = this.allGunList.filter((item) => {
         let flag = true;
         temp.map((ele) => {
@@ -343,7 +356,7 @@ export default {
         });
         return flag;
       });
-      return this.currentList.concat(temp2)
+      return this.currentList.concat(temp2);
     },
     printList() {
       const temp = this.allGunList.filter((item) => {
@@ -367,7 +380,7 @@ export default {
         });
         return flag;
       });
-      return this.currentList.concat(temp2)
+      return this.currentList.concat(temp2);
     },
   },
   methods: {
@@ -418,22 +431,26 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.updateAble = false;
       this.currentList = [];
       this.title = "添加油站设备管理";
       this.dialogForm = {
         checkedGunList: [],
         deviceStatus: "1",
         deviceType: "1",
-        posFanoutExchange: "posFanoutExchange" + this.deptId,
+        posFanoutExchange: "posFanoutExchange-" + this.deptId,
       };
       this.open = true;
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.currentList = this.allGunList.filter((ele)=>{
-        return row.gunNo.split(",").includes(ele.oilGunNo)
-      })
+      // 查找自己已经选中的枪号
+      this.updateAble = true;
+      this.currentList = this.allGunList.filter((ele) => {
+        return row.gunNo.split(",").includes(ele.oilGunNo);
+      });
       let checkedGunList;
+      // 将自己有的抢号 默认勾选
       if (Object.prototype.toString.call(row.gunNo) === "[object String]") {
         checkedGunList = [...new Set(row.gunNo.split(","))].filter((ele) => {
           return ele.toString().trim() !== "";
@@ -483,6 +500,13 @@ export default {
           this.msgSuccess("删除成功");
         });
     },
+    comDeviceType(val){
+      // 每个油站只能有一种设备,以第一次添加的设备为准
+      if(this.equipmentList.length == 0){
+        return true
+      }
+      return this.equipmentList[0].deviceType == val
+    }
     /** 导出按钮操作 */
     // handleExport() {
     //   const queryForm = this.queryForm;