lilei 3 éve
szülő
commit
0e1aea38a5

+ 17 - 3
src/components/tools/UserMenu.vue

@@ -9,8 +9,8 @@
       <notice-icon class="action"/>
       <!-- 皮肤设置 -->
       <a-popover trigger="click">
-        <div slot="content" :style="{width: fontSize=='small'?'200px':'250px'}">
-          <a-form-model :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }">
+        <div slot="content" :style="{width: fontSize=='small'?'300px':'370px'}">
+          <a-form-model :label-col="{ span: 5 }" :wrapper-col="{ span: 19 }">
             <a-form-model-item label="主题">
               <a-radio-group :value="theme" @change="changeTheme">
                 <a-radio-button value="dark">
@@ -34,6 +34,16 @@
                 </a-radio-button>
               </a-radio-group>
             </a-form-model-item>
+            <a-form-model-item label="打印设置">
+              <a-radio-group :value="printUseDefault" @change="changePrintUseDefault">
+                <a-radio-button value="0">
+                  手动选择打印机
+                </a-radio-button>
+                <a-radio-button value="1">
+                  使用默认打印机
+                </a-radio-button>
+              </a-radio-group>
+            </a-form-model-item>
           </a-form-model>
         </div>
         <span class="skin">
@@ -86,7 +96,7 @@ export default {
     NoticeIcon
   },
   computed: {
-    ...mapGetters(['nickname', 'avatar', 'authOrgs', 'userInfo', 'nowRoute', 'theme', 'fontSize']),
+    ...mapGetters(['nickname', 'avatar', 'authOrgs', 'userInfo', 'nowRoute', 'theme', 'fontSize', 'printUseDefault']),
     authOrgsList () { //  过滤掉当前登录账户(不可由自己切换为自己)
       const _this = this
       const arr = []
@@ -180,6 +190,10 @@ export default {
     // 切换字体大小
     changeFontSize (e) {
       this.$store.dispatch('ToggleFontSize', e.target.value)
+    },
+    // 设置打印机
+    changePrintUseDefault (e) {
+      this.$store.dispatch('TogglePrintDef', e.target.value)
     }
   }
 }

+ 4 - 2
src/layouts/BasicLayout.vue

@@ -223,8 +223,7 @@ export default {
     // 重置主题,字体,布局
     this.collapsed = !this.sidebarOpened
     this.$store.dispatch('ToggleMultiTab', true)
-	  this.$store.dispatch('ToggleColor', '#2A86F4')
-    console.log(localStorage.getItem('DEFAULT_THEME'), localStorage.getItem('DEFAULT_FONT_SIZE'))
+    this.$store.dispatch('ToggleColor', '#2A86F4')
     this.$store.dispatch('ToggleTheme', localStorage.getItem('DEFAULT_THEME'))
     this.$store.dispatch('ToggleFontSize', localStorage.getItem('DEFAULT_FONT_SIZE'))
     // 判断是否是当月25日后
@@ -235,9 +234,12 @@ export default {
         description: `临到月底了,请尽快处理系统中没有完结的单据!`
       })
     }
+    // 打印设置
+	console.log('0-0')
     this.$store.commit('SET_pdfPrintList', [])
     this.$store.commit('SET_showPdfPrint', false)
     this.$store.commit('SET_showSelectPrint', false)
+    this.$store.commit('SET_printUseDefault', localStorage.getItem('DEFAULT_PRINT') || '0')
   },
   mounted () {
     const userAgent = navigator.userAgent

+ 15 - 4
src/libs/JGPrint.js

@@ -184,7 +184,11 @@ export const pdfPrint = function (data,index){
      }
   };
   // 指定打印机
-  LODOP.SET_PRINTER_INDEX(store.state.app.defaultPrint)
+  const isDefault = store.state.app.printUseDefault
+  // 手动选择,否则使用默认
+  if(isDefault=='0'){
+    LODOP.SET_PRINTER_INDEX(store.state.app.defaultPrint)
+  }
   LODOP.ADD_PRINT_PDF(0, 0, '100%', '100%', data[index])
   LODOP.SET_PRINT_PAGESIZE(3, 2090, (index==dlen-1)?50:0, '')
   LODOP.PRINT()
@@ -258,15 +262,22 @@ export const jGPrint = function (data, type, printerType, taskName) {
     }
     // pdf 打印预览
     if (type == 'preview') { 
+	  console.log('1-1-1')
       store.commit('SET_pdfPrintList', data.data)
       store.commit('SET_showPdfPrint', data.data)
       store.commit('SET_printTaskName', taskName)
     } else if (type == 'print') { //  pdf 打印
       hasExitTaskByName(function(){
         // 选择打印机
-        store.commit('SET_pdfPrintList', data.data)
-        store.commit('SET_showSelectPrint', true)
-        store.commit('SET_printTaskName', taskName)
+        const isDefault = store.state.app.printUseDefault
+        if(isDefault == '0'){
+		  console.log('2-2-2')
+          store.commit('SET_pdfPrintList', data.data)
+          store.commit('SET_showSelectPrint', true)
+          store.commit('SET_printTaskName', taskName)
+        }else{
+          pdfPrint(data.data, 0)
+        }
       })
     }
   } else {

+ 2 - 1
src/store/getters.js

@@ -21,7 +21,8 @@ const getters = {
   isNewTab: state => state.app.isNewTab,
   isNewSubTab: state => state.app.isNewSubTab,
   closeTabPages: state => state.app.closeTabPages,
-  loadingStatus: state => state.app.loadingStatus
+  loadingStatus: state => state.app.loadingStatus,
+  printUseDefault:state => state.app.printUseDefault
 }
 
 export default getters

+ 11 - 0
src/store/modules/app.js

@@ -43,6 +43,7 @@ const app = {
     printTaskName: '', // 打印任务名称
     printTaskID: '', // 打印任务id列表
     printLoading: false, // 正在打印中
+    printUseDefault: '0', // 是否始终使用默认打印机打印
   },
   mutations: {
     SET_SIDEBAR_TYPE: (state, type) => {
@@ -113,6 +114,7 @@ const app = {
       state.loadingStatus = val
     },
     SET_pdfPrintList: (state, val) => {
+		console.log('3-3-3')
       state.pdfPrintList = val
     },
     SET_showPdfPrint: (state, val) => {
@@ -130,6 +132,10 @@ const app = {
     SET_printLoading: (state, val) => {
       state.printLoading = val
     },
+    SET_printUseDefault: (state, val) => {
+      state.printUseDefault = val
+      localStorage.setItem('DEFAULT_PRINT',val)
+    },
   },
   actions: {
     setSidebar ({
@@ -157,6 +163,11 @@ const app = {
     }, size) {
       commit('TOGGLE_FONTSIZE', size)
     },
+    TogglePrintDef({
+      commit
+    }, size) {
+      commit('SET_printUseDefault', size)
+    },
     ToggleLayoutMode ({
       commit
     }, mode) {

+ 12 - 6
src/views/common/pdfViewModal.vue

@@ -41,9 +41,9 @@
 </template>
 
 <script>
-import pdf from 'vue-pdf'
-import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js'
-import { hasExitTaskByName } from '@/libs/JGPrint'
+import pdf from 'vue-pdf-signature'
+import CMapReaderFactory from 'vue-pdf-signature/src/CMapReaderFactory.js'
+import { hasExitTaskByName, pdfPrint } from '@/libs/JGPrint'
 export default {
   components: {
     pdf
@@ -109,7 +109,7 @@ export default {
       return pdf.createLoadingTask({ url: item, CMapReaderFactory })
     },
     setData (data) {
-      console.log(data)
+      // console.log(data)
       this.pdfList = data
       this.src = data[0]
       this.curpage = 1
@@ -123,8 +123,13 @@ export default {
       const _this = this
       // 判断当前单据是否已经正在打印中
       hasExitTaskByName(function () {
-        // 选择打印机
-        _this.$store.commit('SET_showSelectPrint', true)
+        const isDefault = _this.$store.state.app.printUseDefault
+        if (isDefault == '0') {
+          // 选择打印机
+          _this.$store.commit('SET_showSelectPrint', true)
+        } else {
+          pdfPrint(_this.$store.state.app.pdfPrintList, 0)
+        }
         _this.$emit('ok')
       })
     },
@@ -132,6 +137,7 @@ export default {
     handleCommonCancel () {
       this.isShow = false
       this.pdfList = []
+	  console.log('6-6-6')
       this.$store.commit('SET_pdfPrintList', [])
       this.$store.commit('SET_showPdfPrint', false)
       this.$emit('cancel')

+ 1 - 0
src/views/common/selectPrint.vue

@@ -84,6 +84,7 @@ export default {
     // 取消
     handleCommonCancel () {
       this.$emit('cancel')
+	  console.log('5-5-5')
       this.$store.commit('SET_pdfPrintList', [])
       this.$store.commit('SET_showSelectPrint', false)
     },