浏览代码

Merge branch 'master' of 121.41.102.225:Nidong/jiufang into hw

mushencc 3 年之前
父节点
当前提交
f57554477a
共有 1 个文件被更改,包括 128 次插入7 次删除
  1. 128 7
      src/views/ChipPrintScreen/ChipPrintScreen.vue

+ 128 - 7
src/views/ChipPrintScreen/ChipPrintScreen.vue

@@ -405,7 +405,7 @@
             <span>数量:</span>
             <InputNumber
               :max="selectedObj.on_print + selectedObj.un_print"
-              :min="1"
+              :min="0"
               size="large"
               v-model="selectedObj.print_num"
             ></InputNumber>
@@ -413,10 +413,19 @@
         </div>
         <div class="selection-print-modal-body-info">
           {{
-            selectedObj.un_print == 0
-              ? "该部件已打印,是否再次打印?"
+            selectedObj.isFinished
+              ? "该部件芯片数量全部打印,是否再次打印?请选择要打印的房间号:"
               : "请确认打印数量是否正确!"
           }}
+          <div>
+            <Button
+              v-show="selectedObj.isFinished"
+              @click="handleSelectionRoom"
+              type="primary"
+            >
+              选择房间号
+            </Button>
+          </div>
         </div>
       </div>
       <div slot="footer">
@@ -452,7 +461,7 @@
             <span>数量:</span>
             <InputNumber
               :max="this.selectedInfo.on_print - this.selectedInfo.on_complete"
-              :min="1"
+              :min="0"
               size="large"
               v-model="selectedObj.ok_num"
             ></InputNumber>
@@ -475,6 +484,49 @@
         </Button>
       </div>
     </Modal>
+    <Modal
+      class="selection-modal"
+      v-model="roomModal"
+      title="选择房间号"
+      width="80%"
+    >
+      <div class="selection-modal-body">
+        <div
+          :class="[
+            block.isCurrent
+              ? 'selection-modal-body-block selection-modal-body-block-choosen'
+              : 'selection-modal-body-block selection-modal-body-block-unchoosen',
+          ]"
+          v-for="(block, index) in modalRoomList"
+          :key="index"
+          @click="handleSelectedRoomClick(modalRoomList, block)"
+        >
+          <div>
+            <span>{{ block.house }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="fullscreen-content-page">
+        <Page
+          @on-change="changeRoomPage"
+          :current="modal_room_page_index"
+          :page-size="modal_room_page_size"
+          :total="modal_room_total"
+        />
+      </div>
+      <div slot="footer">
+        <Button
+          @click="roomModal = false"
+          type="primary"
+          style="margin-right: 10px"
+        >
+          返回
+        </Button>
+        <Button @click="handleOkComfirm(selectedObj)" type="primary">
+          确认
+        </Button>
+      </div>
+    </Modal>
   </Modal>
 </template>
 
@@ -499,6 +551,7 @@ export default {
       selectionDetailModal: false,
       printModal: false,
       okModal: false,
+      roomModal: false,
       contentData: [],
       selectedObj: {},
       ordernoObj: {
@@ -531,6 +584,9 @@ export default {
       modal_1_page_index: 1,
       modal_1_page_size: 6,
       modal_1_total: 0,
+      modal_room_page_index: 1,
+      modal_room_page_size: 9,
+      modal_room_total: 0,
       modal_2_page_index: 1,
       modal_2_page_size: 60,
       modal_2_total: 0,
@@ -540,6 +596,8 @@ export default {
       chooseLineNo: [{ start: "", end: "" }],
       keyboardObj: {},
       keyboardVal: "",
+      modalRoomList: [],
+      modalRoomListSelected: [],
     };
   },
   // 生命周期 - 创建完成(可以访问当前this实例)
@@ -603,6 +661,9 @@ export default {
         });
         row.isChoosed = true;
       }
+      if (row.un_print == 0) {
+        row.isFinished = true;
+      }
       this.selectedObj = row;
     },
     goCheckPage() {
@@ -628,6 +689,30 @@ export default {
       }
       this.$forceUpdate();
     },
+    handleSelectedRoomClick(list, block) {
+      if (this.modalRoomListSelected.length < this.selectedObj.print_num) {
+        block.isCurrent = !block.isCurrent;
+        this.modalRoomListSelected = this.modalRoomListSelected.concat(
+          this.modalRoomList.filter((v) => v.isCurrent)
+        );
+      } else if (
+        this.modalRoomListSelected.length == this.selectedObj.print_num
+      ) {
+        if (block.isCurrent) {
+          this.modalRoomListSelected = this.modalRoomListSelected.filter(
+            (v) => v.id != block.id
+          );
+          block.isCurrent = !block.isCurrent;
+        } else {
+          this.$Message.warning("与打印数量不符,请重新选择");
+        }
+      } else {
+        this.$Message.warning("与打印数量不符,请重新选择");
+      }
+      this.modalRoomListSelected = Array.from(
+        new Set([...this.modalRoomListSelected])
+      );
+    },
     handleAddRow(row, index) {
       this.chooseLineNo.push({
         start: "",
@@ -652,6 +737,10 @@ export default {
         this.exitFullScreen();
       }
     },
+    handleSelectionRoom() {
+      this.getModalRoomList();
+      this.roomModal = true;
+    },
     enterFullScreen() {
       let el = document.documentElement;
       let rfs =
@@ -775,9 +864,9 @@ export default {
       });
     },
     handlePrint() {
-      if (!this.selectedObj.isChoosed) {
-        return this.$Message.warning("请选择数据");
-      }
+      // if (!this.selectedObj.isChoosed) {
+      //   return this.$Message.warning("请选择数据");
+      // }
       this.selectedObj.print_num = this.selectedObj.un_print;
       this.printModal = true;
     },
@@ -887,6 +976,38 @@ export default {
         this.currentSearchValue
       );
     },
+    changeRoomPage(e) {
+      this.modal_room_page_index = e;
+      this.getModalRoomList();
+    },
+    getModalRoomList() {
+      this.axios({
+        method: "post",
+        url: "/api/station_get_print_house",
+        data: {
+          order_no: this.selectedInfo.order_no,
+          product_id: this.selectedInfo.product_id,
+          rows: this.selectedInfo.rows,
+          page_index: this.modal_room_page_index,
+          page_size: this.modal_room_page_size,
+          id: this.selectedObj.id,
+        },
+      }).then((res) => {
+        if (res.code == 200) {
+          res.data.data.map((v) => {
+            v.isCurrent = false;
+            this.modalRoomListSelected &&
+              this.modalRoomListSelected.map((w) => {
+                if (w.id == v.id) {
+                  v.isCurrent = true;
+                }
+              });
+          });
+          this.modalRoomList = res.data.data;
+          this.modal_room_total = res.data.total;
+        }
+      });
+    },
     handlePrintChips(contents) {
       this.axios.get("/api/get_print_url").then((res) => {
         let data = {};