Sfoglia il codice sorgente

安装v-draggable插件

QuKatie 3 anni fa
parent
commit
0fe9e47ef1

+ 14 - 1
package-lock.json

@@ -10629,6 +10629,11 @@
         "is-plain-obj": "^1.0.0"
       }
     },
+    "sortablejs": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
+      "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
+    },
     "source-list-map": {
       "version": "2.0.1",
       "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz",
@@ -12028,6 +12033,14 @@
         "typescript": "^3.6.3"
       }
     },
+    "vuedraggable": {
+      "version": "2.24.3",
+      "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
+      "integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
+      "requires": {
+        "sortablejs": "1.10.2"
+      }
+    },
     "vuex": {
       "version": "3.6.2",
       "resolved": "https://registry.nlark.com/vuex/download/vuex-3.6.2.tgz",
@@ -12035,7 +12048,7 @@
     },
     "wangeditor": {
       "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/wangeditor/download/wangeditor-3.1.1.tgz?cache=0&sync_timestamp=1634450302610&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwangeditor%2Fdownload%2Fwangeditor-3.1.1.tgz",
+      "resolved": "https://registry.nlark.com/wangeditor/download/wangeditor-3.1.1.tgz",
       "integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk="
     },
     "watchpack": {

+ 1 - 0
package.json

@@ -31,6 +31,7 @@
     "vue-i18n": "^8.7.0",
     "vue-router": "^3.0.1",
     "vue-text-format": "^1.2.6",
+    "vuedraggable": "^2.24.3",
     "vuex": "^3.1.1"
   },
   "devDependencies": {

+ 1 - 1
src/main.js

@@ -24,7 +24,7 @@ import website from '@/config/website';
 import crudCommon from '@/mixins/crud';
 import format from 'vue-text-format';//v-format
 import {getWorkDicts} from '@/api/system/dictbiz'
-
+import './util/directives.js'
 //客户选择组件
 import selectComponent from '@/components/selectComponent/customerSelect';
 Vue.component('selectComponent', selectComponent);

+ 47 - 0
src/util/directives.js.js

@@ -0,0 +1,47 @@
+import Vue from 'vue'
+
+// 在<el-dialog></el-dialog>中进行绑定 v-dialog-drag 即可。
+Vue.directive('dialog-drag', {
+  bind(el, binding, vnode, oldVnode) {
+    const dialogHeaderEl = el.querySelector('.el-dialog__header')
+    const dragDom = el.querySelector('.el-dialog')
+    dialogHeaderEl.style.cursor = 'move'
+
+    // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
+    const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
+
+    dialogHeaderEl.onmousedown = (e) => {
+      // 鼠标按下,计算当前元素距离可视区的距离
+      const disX = e.clientX - dialogHeaderEl.offsetLeft
+      const disY = e.clientY - dialogHeaderEl.offsetTop
+
+      // 获取到的值带px 正则匹配替换
+      let styL, styT
+
+      // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
+      if (sty.left.includes('%')) {
+        
+        styL = +document.body.clientWidth * (+sty.left.replace(/%/g, '') / 100)
+        styT = +document.body.clientHeight * (+sty.top.replace(/%/g, '') / 100)
+      } else {
+        styL = +sty.left.replace(/\px/g, '')
+        styT = +sty.top.replace(/\px/g, '')
+      }
+
+      document.onmousemove = function(e) {
+        // 通过事件委托,计算移动的距离
+        const l = e.clientX - disX
+        const t = e.clientY - disY
+
+        // 移动当前元素
+        dragDom.style.left = `${l + styL}px`
+        dragDom.style.top = `${t + styT}px` 
+      }
+
+      document.onmouseup = function(e) {
+        document.onmousemove = null
+        document.onmouseup = null
+      }
+    }
+  }
+})

+ 17 - 20
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -188,6 +188,7 @@
       :close-on-press-escape="false"
       @close="closeGoods"
       top="10vh"
+      v-dialog-drag
     >
       <span>
         <el-row>
@@ -250,11 +251,7 @@ import {
   getPorts
 } from "@/api/basicData/customerInquiry";
 import reportDialog from "@/components/report-dialog/main";
-import {
-  isDiscount,
-  isPercentage,
-  micrometerFormat
-} from "@/util/validate";
+import { isDiscount, isPercentage, micrometerFormat } from "@/util/validate";
 import _ from "lodash";
 export default {
   name: "detailsPageEdit",
@@ -277,6 +274,19 @@ export default {
         labelWidth: 100,
         column: [
           {
+            label: "客户名称",
+            prop: "corpId",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            span: 8,
+            slot: true
+          },
+          {
             label: "系统号",
             prop: "sysNo",
             span: 8
@@ -293,27 +303,14 @@ export default {
             }
           },
           {
-            label: "客户名称",
-            prop: "corpId",
-            rules: [
-              {
-                required: true,
-                message: "",
-                trigger: "blur"
-              }
-            ],
-            span: 8,
-            slot: true
-          },
-          {
             label: "联系人",
             prop: "corpAttn",
-            span: 8,
+            span: 8
           },
           {
             label: "电话",
             prop: "corpTel",
-            span: 8,
+            span: 8
           },
           {
             label: "起运港",

+ 6 - 6
src/views/exportTrade/invoice/detailsPage.vue

@@ -241,12 +241,7 @@ export default {
         menuBtn: false,
         labelWidth: 100,
         column: [
-          {
-            label: "系统号",
-            prop: "sysNo",
-            span: 8
-          },
-          {
+                    {
             label: "客户名称",
             prop: "corpId",
             rules: [
@@ -260,6 +255,11 @@ export default {
             slot: true
           },
           {
+            label: "系统号",
+            prop: "sysNo",
+            span: 8
+          },
+          {
             label: "销售订单号",
             prop: "orderNo",
             span: 8

+ 14 - 14
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -247,6 +247,19 @@ export default {
         labelWidth: 100,
         column: [
           {
+            label: "客户名称",
+            prop: "corpId",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            span: 8,
+            slot: true
+          },
+          {
             label: "系统号",
             prop: "sysNo",
             span: 8,
@@ -269,19 +282,6 @@ export default {
             span: 8
           },
           {
-            label: "客户名称",
-            prop: "corpId",
-            rules: [
-              {
-                required: true,
-                message: "",
-                trigger: "blur"
-              }
-            ],
-            span: 8,
-            slot: true
-          },
-          {
             label: "联系人",
             prop: "corpAttn",
             span: 8,
@@ -603,7 +603,7 @@ export default {
         this.page.total = data.total;
         this.goodsList = data.records;
         this.loading = false;
-       if (this.page.total) {
+        if (this.page.total) {
           this.goodsOption.height = window.innerHeight - 550;
         } else {
           this.goodsOption.height = window.innerHeight - 475;

+ 15 - 15
src/views/exportTrade/purchaseInquiry/detailsPage.vue

@@ -227,6 +227,19 @@ export default {
         labelWidth: 100,
         column: [
           {
+            label: "客户名称",
+            prop: "corpId",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            span: 8,
+            slot: true
+          },
+          {
             label: "系统号",
             prop: "sysNo",
             span: 8
@@ -243,19 +256,6 @@ export default {
             }
           },
           {
-            label: "客户名称",
-            prop: "corpId",
-            rules: [
-              {
-                required: true,
-                message: "",
-                trigger: "blur"
-              }
-            ],
-            span: 8,
-            slot: true
-          },
-          {
             label: "联系人",
             prop: "corpAttn",
             span: 8,
@@ -544,7 +544,7 @@ export default {
         this.page.total = data.total;
         this.goodsList = data.records;
         this.loading = false;
-       if (this.page.total) {
+        if (this.page.total) {
           this.goodsOption.height = window.innerHeight - 550;
         } else {
           this.goodsOption.height = window.innerHeight - 475;
@@ -559,7 +559,7 @@ export default {
       console.log(id);
       detail(id).then(res => {
         this.form = res.data.data;
-        this.data = res.data.data.itemsVOList?res.data.data.itemsVOList:[];
+        this.data = res.data.data.itemsVOList ? res.data.data.itemsVOList : [];
         this.configuration.dicData = this.form.corpsName;
       });
     },

+ 6 - 6
src/views/exportTrade/receipt/detailsPage.vue

@@ -242,11 +242,6 @@ export default {
         labelWidth: 100,
         column: [
           {
-            label: "系统号",
-            prop: "sysNo",
-            span: 8
-          },
-          {
             label: "客户名称",
             prop: "corpId",
             rules: [
@@ -260,6 +255,11 @@ export default {
             slot: true
           },
           {
+            label: "系统号",
+            prop: "sysNo",
+            span: 8
+          },
+          {
             label: "采购订单号",
             prop: "orderNo",
             span: 8
@@ -504,7 +504,7 @@ export default {
         this.page.total = data.total;
         this.goodsList = data.records;
         this.loading = false;
-         if (this.page.total) {
+        if (this.page.total) {
           this.goodsOption.height = window.innerHeight - 550;
         } else {
           this.goodsOption.height = window.innerHeight - 475;

+ 15 - 15
src/views/exportTrade/salesContract/detailsPage.vue

@@ -278,6 +278,19 @@ export default {
         labelWidth: 100,
         column: [
           {
+            label: "客户名称",
+            prop: "corpId",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            span: 8,
+            slot: true
+          },
+          {
             label: "系统号",
             prop: "sysNo",
             span: 8
@@ -294,19 +307,6 @@ export default {
             }
           },
           {
-            label: "客户名称",
-            prop: "corpId",
-            rules: [
-              {
-                required: true,
-                message: "",
-                trigger: "blur"
-              }
-            ],
-            span: 8,
-            slot: true
-          },
-          {
             label: "业务员",
             prop: "salesName",
             span: 8
@@ -670,7 +670,7 @@ export default {
         this.page.total = data.total;
         this.goodsList = data.records;
         this.loading = false;
-       if (this.page.total) {
+        if (this.page.total) {
           this.goodsOption.height = window.innerHeight - 550;
         } else {
           this.goodsOption.height = window.innerHeight - 475;
@@ -744,7 +744,7 @@ export default {
             const data = res.data.data;
             data.orderItemsList.forEach(e => {
               e.actualQuantity = e.orderQuantity;
-              e.contractAmount=e.amount
+              e.contractAmount = e.amount;
               delete e.id;
               delete e.version;
               delete e.status;

+ 13 - 13
src/views/exportTrade/shippingInquiry/detailsPage.vue

@@ -185,6 +185,19 @@ export default {
         disabled: true,
         column: [
           {
+            label: "客户名称",
+            prop: "corpId",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            span: 8,
+            slot: true
+          },
+          {
             label: "系统号",
             prop: "sysNo",
             span: 8
@@ -201,19 +214,6 @@ export default {
             }
           },
           {
-            label: "客户名称",
-            prop: "corpId",
-            rules: [
-              {
-                required: true,
-                message: "",
-                trigger: "blur"
-              }
-            ],
-            span: 8,
-            slot: true
-          },
-          {
             label: "联系人",
             prop: "corpAttn",
             span: 8,