Sfoglia il codice sorgente

fix:二维码插件

maliang 2 settimane fa
parent
commit
b92ce889a5

+ 1 - 1
jshERP-web/package.json

@@ -10,6 +10,7 @@
   },
   "dependencies": {
     "@antv/data-set": "^0.11.2",
+    "@chenfengyuan/vue-qrcode": "1.0.2",
     "@tinymce/tinymce-vue": "^2.0.0",
     "ant-design-vue": "1.5.2",
     "area-data": "^5.0.6",
@@ -36,7 +37,6 @@
     "vue-ls": "^3.2.0",
     "vue-photo-preview": "^1.1.3",
     "vue-print-nb-jeecg": "^1.0.9",
-    "vue-qr": "^4.0.9",
     "vue-router": "^3.0.1",
     "vue-splitpane": "^1.0.4",
     "vuedraggable": "^2.20.0",

+ 4 - 2
jshERP-web/src/components/jeecgbiz/modal/JSelectMaterialModal2.vue

@@ -326,12 +326,14 @@ export default {
     // 触发屏幕自适应
     resetScreenSize() {
       let realScreenWidth = window.screen.width
-      this.modalWidth = realScreenWidth < 1600 ? '1300px' : '1550px'
+      this.modalWidth = realScreenWidth < 1600 ? '100%' : '1550px'
       let screenWidth = document.body.clientWidth
       if (screenWidth < 500) {
         this.scrollTrigger = { x: 800 }
       } else {
-        this.scrollTrigger = {}
+        this.scrollTrigger = {
+          x: 'max-content',
+        }
       }
     },
     showModal(barCode) {

+ 20 - 6
jshERP-web/src/mixins/JeecgListMixin.js

@@ -471,6 +471,8 @@ export const JeecgListMixin = {
     },
     //拖拽组件
     handleDrag(column) {
+      const draggingMap = {};
+      const draggingState = Vue.observable(draggingMap);
       return {
         header: {
           cell: (h, props, children) => {
@@ -483,26 +485,38 @@ export const JeecgListMixin = {
             if (!col || !col.width) {
               return h('th', { ...restProps }, [...children])
             }
-
+            let thDom = null;
+            const onDrag = x => {
+              draggingState[key] = 0;
+              col.width = Math.max(x, 1);
+            };
+            const onDragstop = () => {
+              draggingState[key] = thDom.getBoundingClientRect().width;
+              console.log('onDragstop', draggingState[key])
+            };
             const dragProps = {
               key: col.dataIndex || col.key,
               class: 'table-draggable-handle',
               attrs: {
                 w: 10,
-                x: col.width,
+                x: draggingState[key] || col.width,
                 z: 1,
                 axis: 'x',
                 draggable: true,
                 resizable: false,
               },
               on: {
-                dragging: (x, y) => {
-                  col.width = Math.max(x, 1)
-                },
+                dragging: onDrag,
+                dragstop: onDragstop
               },
             }
             const drag = h(VueDraggableResizable, { ...dragProps })
-            return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
+            return h('th', { ...restProps, class: 'resize-table-th',directives: [
+              {
+                name: 'ant-ref',
+                value: r => (thDom = r)
+              }
+            ], }, [...children, drag])
           },
         },
       }

+ 12 - 7
jshERP-web/src/views/bill/dialog/BillDetail.vue

@@ -436,7 +436,8 @@
             </a-col>
             <a-col :lg="6" :md="12" :sm="24">
               <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="二维码">
-                <vue-qr :text="model.number" :size="200" />
+                <!-- <vue-qr :text="model.number" :size="200" /> -->
+                <vue-qrcode :value="model.number" :options="{ width: 200, margin:2 }"></vue-qrcode>
               </a-form-item>
             </a-col>
             <a-col :span="6"></a-col>
@@ -560,7 +561,8 @@
             </a-col>
             <a-col :lg="6" :md="12" :sm="24">
               <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="二维码">
-                <vue-qr :text="model.number" :size="200" />
+                <!-- <vue-qr :text="model.number" :size="200" /> -->
+                <vue-qrcode :value="model.number" :options="{ width: 200,margin:2 }"></vue-qrcode>
               </a-form-item>
             </a-col>
             <a-col v-if="model.hasBackFlag" :span="6">
@@ -799,7 +801,8 @@
             </a-col>
             <a-col :lg="6" :md="12" :sm="24">
               <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="二维码">
-                <vue-qr :text="model.number" :size="200" />
+                <!-- <vue-qr :text="model.number" :size="200" /> -->
+                <vue-qrcode :value="model.number" :options="{ width: 200,margin:2 }"></vue-qrcode>
               </a-form-item>
             </a-col>
             <a-col :span="6"></a-col>
@@ -917,7 +920,8 @@
             </a-col>
             <a-col :span="6">
               <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="二维码">
-                <vue-qr :text="model.number" :size="200" />
+                <!-- <vue-qr :text="model.number" :size="200" /> -->
+                <vue-qrcode :value="model.number" :options="{ width: 200,margin:2 }"></vue-qrcode>
               </a-form-item>
             </a-col>
             <a-col :span="6">
@@ -1507,7 +1511,8 @@ import JUpload from '@/components/jeecg/JUpload'
 import Vue from 'vue'
 // import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 // import QrcodeVue from 'qrcode.vue'
-import VueQr from 'vue-qr'
+// import VueQr from 'vue-qr'
+import VueQrcode from '@chenfengyuan/vue-qrcode';
 export default {
   name: 'BillDetail',
   // mixins: [JeecgListMixin],
@@ -1515,8 +1520,8 @@ export default {
     BillPrintIframe,
     FinancialDetail,
     JUpload,
-    // QrcodeVue,
-    VueQr,
+    VueQrcode,
+    // VueQr,
   },
   data() {
     return {