lilei преди 3 години
родител
ревизия
415cb1cc7f
променени са 3 файла, в които са добавени 58 реда и са изтрити 36 реда
  1. 1 1
      public/version.json
  2. 27 25
      src/libs/JGPrint.js
  3. 30 10
      src/views/common/pdfViewModal.vue

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1654139182811
+  "version": 1654163931364
 }

+ 27 - 25
src/libs/JGPrint.js

@@ -145,6 +145,7 @@ export const getPrintList = function(){
       printList.push({name:pname,value:i})
     }
   }
+  // store.state.app.printDefNeedle = LODOP.GET_PRINTER_NAME(-1)
   return printList
 }
 // 获取打印机状态
@@ -204,31 +205,32 @@ export const pdfPrint = function (data,index){
        zIndex: 100000
      })
    }else{
-     if(printTaskID){
-       getStatusValue('PRINT_STATUS_BUSY',printTaskID,function(isExist){
-         console.log(isExist)
-         if(isExist.length){
-           if(isExist != '0'){
-             confirm({
-               title: '提示',
-               content: h => <div style='font-size:14px;'><div>打印机正在打印中或有未完成的打印任务</div><div>是否继续添加打印任务?</div></div>,
-               okText: '继续打印',
-               okType: 'danger',
-               cancelText: '取消',
-               centered: true,
-               zIndex: 100000,
-               onOk () {
-                 noCallback()
-               }
-             })
-           }else{
-             noCallback()
-           }
-         }
-       })
-     }else{
-       noCallback()
-     }
+     noCallback()
+     // if(printTaskID){
+     //   getStatusValue('PRINT_STATUS_BUSY',printTaskID,function(isExist){
+     //     console.log(isExist)
+     //     if(isExist.length){
+     //       if(isExist != '0'){
+     //         confirm({
+     //           title: '提示',
+     //           content: h => <div style='font-size:14px;'><div>打印机正在打印中或有未完成的打印任务</div><div>是否继续添加打印任务?</div></div>,
+     //           okText: '继续打印',
+     //           okType: 'danger',
+     //           cancelText: '取消',
+     //           centered: true,
+     //           zIndex: 100000,
+     //           onOk () {
+     //             noCallback()
+     //           }
+     //         })
+     //       }else{
+     //         noCallback()
+     //       }
+     //     }
+     //   })
+     // }else{
+     //   noCallback()
+     // }
    }
  }
 // 打印控件

+ 30 - 10
src/views/common/pdfViewModal.vue

@@ -16,12 +16,21 @@
         <div class="tools">
           <div>
             调整比例:{{ Math.round(scalVal*100) }}%
-            <div><a-button size="small" @click="setScalVal(0)"><a-icon type="minus" /> 缩小</a-button></div>
-            <div><a-button size="small" @click="setScalVal(1)"><a-icon type="plus" /> 放大</a-button></div>
+            <div>
+              <a-button size="small" @click="setScalVal(0)"><a-icon type="minus" /> 缩小</a-button>
+              <a-button size="small" @click="setScalVal(1)"><a-icon type="plus" /> 放大</a-button>
+            </div>
+          </div>
+          <div>
+            选择打印机:
+            <div>
+              <a-select size="small" style="width:200px;" v-model="printIndex" @change="changePrint" placeholder="选择打印机">
+                <a-select-option v-for="item in printList" :key="'print-'+item.value" :value="item.name">
+                  {{ item.name }}
+                </a-select-option>
+              </a-select>
+            </div>
           </div>
-          <!-- <div>
-            <div><a-button size="small" @click="handleDownload()"><a-icon type="download" /> 导出pdf</a-button></div>
-          </div> -->
         </div>
         <vue-scroll :ops="ops" :style="{width: Math.round(scalVal*100)+'%',height: '70vh',margin:'0 auto'}">
           <div v-if="loadedRatio > 0 && loadedRatio < 1" style="background-color: green; color: white; text-align: center" :style="{ width: loadedRatio * 100 + '%' }">{{ Math.floor(loadedRatio * 100) }}%</div>
@@ -111,10 +120,19 @@ export default {
           size: '10px',
           'overflow-x': 'hidden'
         }
-      }
+      },
+      printIndex: undefined,
+      printList: []
     }
   },
   methods: {
+    // 选择打印机
+    changePrint (v) {
+      this.printIndex = v
+      this.$store.commit('SET_printDefNeedle', this.printIndex)
+      this.$store.state.app.printTaskID = undefined
+    },
+    // 缩放
     setScalVal (t) {
       this.scalVal = this.scalVal + (t ? 0.05 : -0.05)
       if (this.scalVal > 1) {
@@ -134,6 +152,9 @@ export default {
       this.src = data[0]
       this.curpage = 1
       this.total = data.length
+      // 获取打印机列表
+      this.printList = getPrintList()
+      this.printIndex = this.$store.state.app.printDefNeedle
     },
     error: function (err) {
       console.log(err)
@@ -141,16 +162,14 @@ export default {
     // 确定
     handleCommonOk () {
       const _this = this
-      const printDefNeedle = _this.$store.state.app.printDefNeedle
-      const hasPrint = getPrintList().find(item => item.name == printDefNeedle)
+      const hasPrint = this.printList.find(item => item.name == this.printIndex)
       // 已选择打印机
       if (hasPrint) {
         hasExitTaskByName(function () {
           pdfPrint(_this.$store.state.app.pdfPrintList, 0)
         })
       } else {
-        // 选择打印机
-        _this.$store.commit('SET_showSelectPrint', true)
+        this.$message.info('请选择打印机')
       }
       _this.$emit('ok')
     },
@@ -195,6 +214,7 @@ export default {
         display: flex;
         align-items: center;
         border-bottom: 1px solid #eee;
+        background-color: #f8f8f8;
         > div{
           display: flex;
           align-items: center;