Browse Source

Merge branch 'deploy_0804' of http://git.chelingzhu.com/jianguan-web/qpls-md-html into deploy_0804

chenrui 3 years ago
parent
commit
8306aa5647

+ 48 - 0
src/libs/JGPrint.js

@@ -0,0 +1,48 @@
+import confirm from 'ant-design-vue/es/modal/confirm'
+import { getLodop } from '@/libs/LodopFuncs'
+export const JGPrint = function(data, type, printerType){
+  if (!data) {
+    return
+  }
+  // 针式打印
+  if (printerType == 'NEEDLE') {
+    const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
+    console.log(LODOP)
+    if (!LODOP) {
+      confirm({
+        title: '提示?',
+        content: h => <div>打印控件未安装,请先下载并安装。安装完成后,刷新页面即可打印。</div>,
+        okText: '立即下载',
+        okType: 'danger',
+        cancelText: '暂不打印',
+        onOk () {
+          window.open('http://www.lodop.net/demolist/CLodop_Setup_for_Win32NT.zip')
+        }
+      })
+      return
+    }
+    const rx = /<body[^>]*>([\s\S]+?)<\/body>/i///
+    let m = rx.exec(data)
+    if (m) m = m[1]
+    LODOP.SET_SHOW_MODE('HIDE_PAPER_BOARD', 1) //  隐藏底图上有模拟走纸板的条纹线
+    LODOP.SET_PRINT_PAGESIZE(3, '2140', '60', '') // 这里3表示纵向打印且纸高“按内容的高度”;2140表示纸宽214.0mm;45表示页底空白4.5mm
+    LODOP.ADD_PRINT_HTM("0","0","RightMargin:0.5cm","BottomMargin:0.5cm",m)
+    // LODOP.ADD_PRINT_TABLE(0, 0, '100%', '100%', m)
+    if (type == 'preview') {
+      LODOP.PREVIEW()
+    }
+    if (type == 'print') {
+      LODOP.PRINT()
+    }
+  } else {
+    const url = window.URL.createObjectURL(new Blob([data], { type: 'application/pdf' }))
+    document.getElementById('print').innerHTML = '<iframe id="printfsqd" name="printfsqd" src="' + url + '" hidden></iframe>'
+    // 喷墨打印
+    if (type == 'preview') { //  预览
+      window.open(url)
+    } else if (type == 'print') { //  打印
+      window.frames['printfsqd'].focus()
+      window.frames['printfsqd'].print()
+    }
+  }
+}

+ 13 - 8
src/views/purchasingManagement/purchaseOrder/basicInfoModal.vue

@@ -21,9 +21,11 @@
             name="radioGroup"
             v-model="form.purchaseTargetSn"
             @change="tragetTypeChange"
+            v-if="purchaseTragetType.length"
             id="purchaseOrder-basicInfo-purchaseTargetSn" >
             <a-radio v-for="item in purchaseTragetType" :key="item.purchaseTargetSn" :value="item.purchaseTargetSn" class="radio-s">{{ item.purchaseTargetName }}</a-radio>
           </a-radio-group>
+          <span v-else>没有可选择的供应商</span>
         </a-form-model-item>
         <a-form-model-item label="支付方式" prop="settleStyleSn">
           <a-select placeholder="请选择支付方式" v-model="form.settleStyleSn">
@@ -183,21 +185,24 @@ export default {
       })
     },
     getParentDealer () {
-      let params = null
-      // 向上级和总部采购
-      if (this.$hasPermissions('B_SJANDZB')) {
-        params = {}
-      }
+      const zb = this.$hasPermissions('B_SUPPLIER_ZB')
+      const sj = this.$hasPermissions('B_SUPPLIER_SJ')
+      let params = {}
+      params.purchaseTargetType = 'DEALER_UP'
       // 只能向上级采购
-      if (this.$hasPermissions('B_SUPPLIER_SJ')) {
+      if (sj) {
         params.purchaseTargetType = 'DEALER_UP'
       }
       // 只能向总部采购
-      if (this.$hasPermissions('B_SUPPLIER_ZB')) {
+      if (zb) {
         params.purchaseTargetType = 'SUPPLIER_SYS'
       }
+      // 总部和上级都可以
+      if (sj && zb) {
+        params = {}
+      }
       purchaseTargetList(params).then(res => {
-        if (res.status == 200) {
+        if (res.status == 200 && res.data[0]) {
           this.purchaseTragetType = res.data
         } else {
           this.purchaseTragetType = []

+ 2 - 48
src/views/salesManagement/salesQuery/detail.vue

@@ -98,7 +98,7 @@ import { getOperationalPrecision } from '@/libs/tools.js'
 import { STable, VSelect } from '@/components'
 import { salesDetailBySn, salesDetailPrint, salesDetailExport } from '@/api/sales'
 import { salesDetailList } from '@/api/salesDetail'
-import { getLodop } from '@/libs/LodopFuncs'
+import { JGPrint } from '@/libs/JGPrint'
 export default {
   name: 'SalesDetail',
   components: { STable, VSelect },
@@ -207,57 +207,11 @@ export default {
           if (type == 'export') { //  导出
             this.download(res)
           } else {
-            this.print(res, type)
+            JGPrint(res, type, this.printerType)
           }
         }
       })
     },
-    print (data, type) {
-      if (!data) {
-        return
-      }
-      // 针式打印
-      if (this.printerType == 'NEEDLE') {
-        const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
-        console.log(LODOP)
-        if (!LODOP) {
-          this.$confirm({
-            title: '提示?',
-            content: h => <div>打印控件未安装,请先下载并安装。/n安装完成后,刷新页面即可打印。</div>,
-            okText: '立即下载',
-            okType: 'danger',
-            cancelText: '暂不打印',
-            onOk () {
-              window.open('http://www.lodop.net/demolist/CLodop_Setup_for_Win32NT.zip')
-            }
-          })
-          return
-        }
-        const rx = /<body[^>]*>([\s\S]+?)<\/body>/i///
-        let m = rx.exec(data)
-        if (m) m = m[1]
-        LODOP.SET_SHOW_MODE('HIDE_PAPER_BOARD', 1) //  隐藏底图上有模拟走纸板的条纹线
-        LODOP.SET_PRINT_PAGESIZE(3, '2140', '45', '') // 这里3表示纵向打印且纸高“按内容的高度”;2140表示纸宽214.0mm;45表示页底空白4.5mm
-        LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', m)
-        // LODOP.ADD_PRINT_TABLE(0, 0, '100%', '100%', m)
-        if (type == 'preview') {
-          LODOP.PREVIEW()
-        }
-        if (type == 'print') {
-          LODOP.PRINT()
-        }
-      } else {
-        const url = window.URL.createObjectURL(new Blob([data], { type: 'application/pdf' }))
-        document.getElementById('print').innerHTML = '<iframe id="printfsqd" name="printfsqd" src="' + url + '" hidden></iframe>'
-        // 喷墨打印
-        if (type == 'preview') { //  预览
-          window.open(url)
-        } else if (type == 'print') { //  打印
-          window.frames['printfsqd'].focus()
-          window.frames['printfsqd'].print()
-        }
-      }
-    },
     download (data) {
       if (!data) { return }
       const url = window.URL.createObjectURL(new Blob([data]))

+ 2 - 14
src/views/salesManagement/salesQuery/edit.vue

@@ -181,6 +181,7 @@
 <script>
 import moment from 'moment'
 import { STable, VSelect } from '@/components'
+import { JGPrint } from '@/libs/JGPrint'
 import queryPart from './queryPart.vue'
 import chooseCustomModal from './chooseCustomModal.vue'
 import { stockByProductSn } from '@/api/stock'
@@ -341,24 +342,11 @@ export default {
           if (type == 'export') { //  导出
             this.download(res)
           } else {
-            this.print(res, type)
+            JGPrint(res, type, this.printerType)
           }
         }
       })
     },
-    print (data, type) {
-      if (!data) {
-        return
-      }
-      const url = window.URL.createObjectURL(new Blob([data], { type: 'application/pdf' }))
-      document.getElementById('print').innerHTML = '<iframe id="printfsqe" name="printfsqe" src="' + url + '" hidden></iframe>'
-      if (type == 'preview') { //  预览
-        window.open(url)
-      } else if (type == 'print') { //  打印
-        window.frames['printfsqe'].focus()
-        window.frames['printfsqe'].print()
-      }
-    },
     download (data) {
       if (!data) { return }
       const url = window.URL.createObjectURL(new Blob([data]))