Browse Source

Merge branch 'feature/Feature-finance' of https://gogs.zfire.top/zfire-front/supply-front into feature/Feature-finance

chen 3 năm trước cách đây
mục cha
commit
e5f475a070
47 tập tin đã thay đổi với 4295 bổ sung2230 xóa
  1. 6 283
      package-lock.json
  2. 16 0
      src/api/basic_data/material.js
  3. 8 0
      src/api/basic_data/taker.js
  4. 10 0
      src/api/basic_data/warehouse.js
  5. 9 0
      src/api/common.js
  6. 46 0
      src/api/issue.js
  7. 38 11
      src/api/notice.js
  8. 30 3
      src/api/supply/purchase.js
  9. 284 0
      src/components/Common/image-upload.vue
  10. 29 28
      src/components/Pagination/index.vue
  11. 1 1
      src/layout/components/Sidebar/SidebarItem.vue
  12. 1 0
      src/mixin/index.js
  13. 17 3
      src/permission.js
  14. 260 298
      src/views/basic_data/dealer/components/dealer_list-detail.vue
  15. 22 23
      src/views/basic_data/dealer/dealer_deposit.vue
  16. 6 18
      src/views/basic_data/dealer/dealer_list.vue
  17. 55 26
      src/views/basic_data/logistics/logistics_list.vue
  18. 2 2
      src/views/basic_data/material/category_list.vue
  19. 283 14
      src/views/basic_data/material/components/modify_list-apply.vue
  20. 21 11
      src/views/basic_data/material/components/modify_list-approval.vue
  21. 160 136
      src/views/basic_data/material/components/modify_list-detail.vue
  22. 77 92
      src/views/basic_data/material/machine_list.vue
  23. 2 2
      src/views/basic_data/material/material_list.vue
  24. 50 30
      src/views/basic_data/material/modify_list.vue
  25. 6 6
      src/views/basic_data/material/relation_list.vue
  26. 439 436
      src/views/basic_data/supplier/components/supplier_list-detail.vue
  27. 15 1
      src/views/basic_data/taker/taker_car.vue
  28. 127 19
      src/views/basic_data/taker/taker_list.vue
  29. 29 5
      src/views/basic_data/warehouse/warehouse_book.vue
  30. 64 52
      src/views/basic_data/warehouse/warehouse_cost.vue
  31. 2 2
      src/views/basic_data/warehouse/warehouse_list.vue
  32. 319 0
      src/views/issue/index.vue
  33. 484 107
      src/views/notice/index.vue
  34. 23 16
      src/views/sales_policy/components/AddCondition.vue
  35. 103 75
      src/views/sales_policy/components/AddPolicy.vue
  36. 2 1
      src/views/sales_policy/components/Distributor.vue
  37. 277 0
      src/views/sales_policy/components/Examine.vue
  38. 63 61
      src/views/sales_policy/components/TabelTransfer.vue
  39. 9 7
      src/views/sales_policy/components/Transfer.vue
  40. 82 93
      src/views/sales_policy/marketing_list.vue
  41. 161 94
      src/views/sales_policy/policy_list.vue
  42. 231 0
      src/views/sales_rebate/rebate_list.vue
  43. 203 0
      src/views/sales_rebate/salestype_list.vue
  44. 53 60
      src/views/supply/purchase/components/enter_detail.vue
  45. 66 81
      src/views/supply/purchase/components/purchase_detail.vue
  46. 43 60
      src/views/supply/purchase/enter_list.vue
  47. 61 73
      src/views/supply/purchase/purchase_list.vue

+ 6 - 283
package-lock.json

@@ -3983,11 +3983,7 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -4190,11 +4186,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmmirror.com/async-each/-/async-each-1.0.3.tgz",
       "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-<<<<<<< HEAD
-      "dev": true
-=======
       "devOptional": true
->>>>>>> feature/Feature-sales
     },
     "node_modules/async-limiter": {
       "version": "1.0.1",
@@ -5334,11 +5326,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=8"
       }
@@ -5347,11 +5335,7 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz",
       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-<<<<<<< HEAD
       "dev": true,
-=======
-      "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "file-uri-to-path": "1.0.0"
       }
@@ -5459,11 +5443,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "fill-range": "^7.0.1"
       },
@@ -5924,11 +5904,7 @@
       "version": "3.5.3",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
       "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "funding": [
         {
           "type": "individual",
@@ -9252,11 +9228,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
       "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-<<<<<<< HEAD
       "dev": true
-=======
-      "devOptional": true
->>>>>>> feature/Feature-sales
     },
     "node_modules/filename-regex": {
       "version": "2.0.1",
@@ -9280,11 +9252,7 @@
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "to-regex-range": "^5.0.1"
       },
@@ -9640,23 +9608,6 @@
       "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
     },
-    "node_modules/fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
     "node_modules/function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -9818,11 +9769,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "is-glob": "^4.0.1"
       },
@@ -11032,11 +10979,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "binary-extensions": "^2.0.0"
       },
@@ -11218,11 +11161,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11261,11 +11200,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "is-extglob": "^2.1.1"
       },
@@ -11289,11 +11224,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=0.12.0"
       }
@@ -12025,25 +11956,6 @@
         "normalize-path": "^2.1.1"
       }
     },
-    "node_modules/jest-haste-map/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
     "node_modules/jest-haste-map/node_modules/normalize-path": {
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -13764,16 +13676,6 @@
         "thenify-all": "^1.0.0"
       }
     },
-    "node_modules/nan": {
-      "version": "2.16.0",
-      "resolved": "https://registry.npmmirror.com/nan/-/nan-2.16.0.tgz",
-      "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
-      "optional": true
-    },
     "node_modules/nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -14058,11 +13960,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=0.10.0"
       }
@@ -14776,11 +14674,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz",
       "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
-<<<<<<< HEAD
-      "dev": true
-=======
       "devOptional": true
->>>>>>> feature/Feature-sales
     },
     "node_modules/path-exists": {
       "version": "4.0.0",
@@ -14882,11 +14776,7 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=8.6"
       },
@@ -16317,11 +16207,7 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "picomatch": "^2.2.1"
       },
@@ -16502,11 +16388,7 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
       "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
-<<<<<<< HEAD
-      "dev": true
-=======
       "devOptional": true
->>>>>>> feature/Feature-sales
     },
     "node_modules/repeat-element": {
       "version": "1.1.4",
@@ -18986,11 +18868,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "dependencies": {
         "is-number": "^7.0.0"
       },
@@ -19511,11 +19389,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz",
       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
       "devOptional": true,
->>>>>>> feature/Feature-sales
       "engines": {
         "node": ">=4",
         "yarn": "*"
@@ -19833,10 +19707,9 @@
         "worker-loader": "^2.0.0"
       }
     },
-<<<<<<< HEAD
     "node_modules/vue-print-nb": {
       "version": "1.7.5",
-      "resolved": "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
+      "resolved": "https://registry.npmjs.org/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
       "integrity": "sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==",
       "dependencies": {
         "vue": "^2.6.11"
@@ -19844,11 +19717,9 @@
     },
     "node_modules/vue-print-nb/node_modules/vue": {
       "version": "2.6.14",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
       "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ=="
     },
-=======
->>>>>>> feature/Feature-sales
     "node_modules/vue-quill-editor": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
@@ -19955,10 +19826,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
       "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "chokidar": "^2.1.8"
@@ -19968,10 +19835,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "micromatch": "^3.1.4",
@@ -19982,10 +19845,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "remove-trailing-separator": "^1.0.1"
@@ -19998,10 +19857,6 @@
       "version": "1.13.1",
       "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz",
       "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "engines": {
         "node": ">=0.10.0"
@@ -20011,10 +19866,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "arr-flatten": "^1.1.0",
@@ -20037,10 +19888,6 @@
       "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz",
       "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
       "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "anymatch": "^2.0.0",
@@ -20063,10 +19910,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "extend-shallow": "^2.0.1",
@@ -20078,36 +19921,10 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
     "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
       "version": "3.1.0",
       "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "is-glob": "^3.1.0",
@@ -20118,10 +19935,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz",
       "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "is-extglob": "^2.1.0"
@@ -20134,10 +19947,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "binary-extensions": "^1.0.0"
@@ -20150,10 +19959,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "kind-of": "^3.0.2"
@@ -20166,10 +19971,6 @@
       "version": "2.3.7",
       "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz",
       "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "core-util-is": "~1.0.0",
@@ -20185,10 +19986,6 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "graceful-fs": "^4.1.11",
@@ -20203,10 +20000,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "safe-buffer": "~5.1.0"
@@ -20216,10 +20009,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
-<<<<<<< HEAD
-      "dev": true,
-=======
->>>>>>> feature/Feature-sales
       "optional": true,
       "dependencies": {
         "is-number": "^3.0.0",
@@ -20544,25 +20333,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/webpack-dev-server/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
     "node_modules/webpack-dev-server/node_modules/glob-parent": {
       "version": "3.1.0",
       "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -21171,8 +20941,6 @@
         "node": ">=6"
       }
     },
-<<<<<<< HEAD
-=======
     "node_modules/yarn": {
       "version": "1.22.18",
       "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz",
@@ -21186,7 +20954,6 @@
         "node": ">=4.0.0"
       }
     },
->>>>>>> feature/Feature-sales
     "node_modules/yorkie": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz",
@@ -25374,7 +25141,7 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz",
       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "file-uri-to-path": "1.0.0"
       }
@@ -28516,7 +28283,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
       "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "devOptional": true
+      "dev": true
     },
     "filename-regex": {
       "version": "2.0.1",
@@ -28844,12 +28611,6 @@
       "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
     },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "optional": true
-    },
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -30684,17 +30445,6 @@
             "normalize-path": "^2.1.1"
           }
         },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
         "normalize-path": {
           "version": "2.1.1",
           "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -32091,12 +31841,6 @@
         "thenify-all": "^1.0.0"
       }
     },
-    "nan": {
-      "version": "2.16.0",
-      "resolved": "https://registry.npmmirror.com/nan/-/nan-2.16.0.tgz",
-      "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==",
-      "optional": true
-    },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -37017,7 +36761,7 @@
     },
     "vue-print-nb": {
       "version": "1.7.5",
-      "resolved": "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
+      "resolved": "https://registry.npmjs.org/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
       "integrity": "sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==",
       "requires": {
         "vue": "^2.6.11"
@@ -37025,7 +36769,7 @@
       "dependencies": {
         "vue": {
           "version": "2.6.14",
-          "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz",
+          "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
           "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ=="
         }
       }
@@ -37214,16 +36958,6 @@
             "to-regex-range": "^2.1.0"
           }
         },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
         "glob-parent": {
           "version": "3.1.0",
           "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -37576,17 +37310,6 @@
             "to-regex-range": "^2.1.0"
           }
         },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
         "glob-parent": {
           "version": "3.1.0",
           "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",

+ 16 - 0
src/api/basic_data/material.js

@@ -117,6 +117,22 @@ export function getProductRriceAdd(params) {
   })
 }
 
+export function getDistList(params) {
+  return request({
+    url:'/common/dict/list',
+    method: 'get',
+    params
+  })
+}
+
+export function getProductRricedel(params) {
+  return request({
+    url:'/product-upd-price/del',
+    method: 'post',
+    params:{ids:params.join(',')}
+  })
+}
+
 export function getProductRriceConfirm(params) {
   return request({
     url:'/product-upd-price/confirm',

+ 8 - 0
src/api/basic_data/taker.js

@@ -24,6 +24,14 @@ export function addDataList(data) {
     data
   })
 }
+//删除提货人档案
+export function deleDataList(params) {
+  return request({
+    url: '/taker-record/del',
+    method: 'POST',
+    params
+  })
+}
 //提货人档案列表导出
 export function exportDataList(params) {
   return request({

+ 10 - 0
src/api/basic_data/warehouse.js

@@ -123,3 +123,13 @@ export function getCustomerList(params) {
     params
   })
 }
+
+
+
+export function addReserve(params) {
+  return request({
+    url: '/stock/addReserve',
+    method: 'post',
+    data:params
+  })
+}

+ 9 - 0
src/api/common.js

@@ -25,4 +25,13 @@ export function getOssConfig(params) {
     method: 'get',
     params
   })
+}
+
+// 获取附件地址
+export function getFileUrl(params) {
+  return request({
+    url: '/common/file/get',
+    method: 'get',
+    params
+  })
 }

+ 46 - 0
src/api/issue.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/com/list/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取下载列表
+export function getDownloadList(params) {
+  return request({
+    url: '/com/list/download/log',
+    method: 'get',
+    params
+  })
+}
+
+// 删除
+export function deleteData(params) {
+  return request({
+    url: '/com/list/delete',
+    method: 'post',
+    params
+  })
+}
+
+// 下载文件
+export function exportFile(params) {
+  return request({
+    url: '/com/list/download',
+    method: 'get',
+    params
+  })
+}
+
+// 导入
+export function handleImport(params) {
+  return request({
+    url: '/com/list/yonge',
+    method: 'post',
+    params
+  })
+}

+ 38 - 11
src/api/notice.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
 
-// 获取消息列表
-export function getNoticeList(params) {
+// 获取列表
+export function getList(params) {
   return request({
     url: '/notice/list',
     method: 'get',
@@ -9,29 +9,56 @@ export function getNoticeList(params) {
   })
 }
 
-// 更改全部消息状态
-export function changeAllReadFlag(params) {
+// 获取详情
+export function getDetail(params) {
   return request({
-    url: '/notice/mark/read/all',
+    url: '/notice/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取阅读记录
+export function getDownloadList(params) {
+  return request({
+    url: '/com/list/download/log',
+    method: 'get',
+    params
+  })
+}
+
+// 删除
+export function deleteData(params) {
+  return request({
+    url: '/notice/mark/del',
     method: 'post',
     params
   })
 }
 
-// 更改消息状态
-export function changeReadFlag(params) {
+// 新增
+export function addData(params) {
   return request({
-    url: '/notice/mark/read',
+    url: '/notice/add',
     method: 'post',
     data: params
   })
 }
 
-// 获取消息列表
-export function getNoticeListCount(params) {
+// 获取部门列表
+export function getDepartmentList(params) {
   return request({
-    url: '/notice/list/count',
+    url: '/admin/websit/tree',
     method: 'get',
     params
   })
 }
+
+// 查收
+export function confirmCheck(params) {
+  return request({
+    url: '/notice/mark/read',
+    method: 'post',
+    params
+  })
+}

+ 30 - 3
src/api/supply/purchase.js

@@ -1,10 +1,37 @@
 import request from '@/utils/request'
 
-// 获取列表
-export function getList(params) {
+// 获取采购单列表
+export function getPurchaseList(params) {
   return request({
-    url: '/admin/user/mch/list',
+    url: '/purchaseOrder/list',
     method: 'get',
     params
   })
 }
+
+// 获取采购单列表
+export function getPurchaseDetail(params) {
+  return request({
+    url: '/purchaseOrder/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取采购入库单列表
+export function getEnterList(params) {
+  return request({
+    url: '/purchaseStockIn/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取采购入库单列表
+export function getEnterDetail(params) {
+  return request({
+    url: '/purchaseStockIn/detail',
+    method: 'get',
+    params
+  })
+}

+ 284 - 0
src/components/Common/image-upload.vue

@@ -0,0 +1,284 @@
+<template>
+	<div>
+		<el-upload
+			class="uploader"
+			:action="oss_url"
+			:data="dataObj"
+			:multiple="multiple"
+			name="file"
+			:accept="accept"
+			:show-file-list="false"
+			:on-success="uploadSuccess"
+			:before-upload="beforeUpload">
+		</el-upload>
+		<div class="images">
+			<div class="item" v-for="(item, index) in fileList" :key="index">
+				<div class="img" v-if="item.url" @mouseover="item.hover = true;" @mouseout="item.hover = false;">
+					<el-image ref="img" :src="imageURL + item.url" :preview-src-list="previewImages" v-if="checkFileType(item.url) == 'image'" style="width: 120px; height: 120px" fit="cover"></el-image>
+					<el-image ref="img" :src="imageURL + item.url" v-else style="width: 120px; height: 120px" fit="cover">
+						<div slot="error" class="image-slot">
+							<img class="file" src="@/assets/common/word.png" v-if="checkFileType(item.url) == 'word'">
+							<img class="file" src="@/assets/common/excel.png" v-if="checkFileType(item.url) == 'excel'">
+							<img class="file" src="@/assets/common/ppt.png" v-if="checkFileType(item.url) == 'ppt'">
+							<img class="file" src="@/assets/common/pdf.png" v-if="checkFileType(item.url) == 'pdf'">
+						</div>
+					</el-image>
+					<div class="mask" v-show="item.hover">
+						<i class="el-icon-zoom-in" @click="previewImage(item.url)" v-if="checkFileType(item.url) == 'image'"></i>
+						<i class="el-icon-upload2" @click="uploadImage(item.url)"></i>
+						<i class="el-icon-delete" @click="deleteImage(item.url)"></i>
+					</div>
+				</div>
+			</div>
+			<div class="add" @click="uploadImage()" v-if="multiple || (!multiple && fileList.length < 1)"><i class="el-icon-plus"></i></div>
+		</div>
+	</div>
+</template>
+<script>
+import { getOssConfig } from '@/api/common';
+import { findElem } from '@/utils/util'
+
+export default {
+	name: 'fileUpload',
+	props: {
+		// 接受上传的文件列表
+		fileList: Array,
+
+		// 接受上传的文件类型
+    fileType: {
+      type: Array,
+      default: () => ['image', 'word', 'excel', 'ppt', 'pdf']
+    },
+
+		// 是否支持多选文件
+		multiple: {
+			type: Boolean,
+			default: false,
+		}
+	},
+	data() {
+		return {
+      imageURL: this.$imageUrl,
+			oss_url: '',
+			dataObj: {},
+			uploadImageUrl: '',
+			waitUploadList: [],
+		};
+	},
+	created() {
+    getOssConfig().then(res => {
+      this.oss_url = res.data.host;
+    })
+	},
+	computed: {
+		isShowFileList: {
+			get: function() {
+				if (this.fileList.length > 0 && this.fileList[0].url) {
+					return true;
+				} else {
+					return false;
+				}
+			},
+			set: function(newValue) {}
+		},
+		accept() {
+			const imageList = ['.jpg', '.jpeg', '.png'];
+      const videoList = ['.mp4'];
+      const wordList = ['.doc', '.docx', '.dot', '.wps', '.wpt'];
+			const excelList = ['.xls', '.xlsx', '.xlt', '.et', '.ett'];
+			const pptList = ['.ppt', '.pptx', '.dps', '.dpt', '.pot', '.pps'];
+			const pdfList = ['.pdf'];
+
+      let whiteList = [];
+      this.fileType.includes('image') && (whiteList = whiteList.concat(imageList));
+      this.fileType.includes('video') && (whiteList = whiteList.concat(videoList));
+      this.fileType.includes('word') && (whiteList = whiteList.concat(wordList));
+      this.fileType.includes('excel') && (whiteList = whiteList.concat(excelList));
+      this.fileType.includes('ppt') && (whiteList = whiteList.concat(pptList));
+      this.fileType.includes('pdf') && (whiteList = whiteList.concat(pdfList));
+      
+			return whiteList.join(',');
+		},
+		previewImages() {
+      let fileList = [];
+      if(this.fileList && this.fileList.length > 0) {
+        this.fileList.forEach(item => {
+          if(this.checkFileType(item.url) == 'image') {
+            fileList.push(this.imageURL + item.url);
+          }
+        })
+      }
+      return fileList;
+    },
+	},
+	methods: {
+		getUUID() {
+			return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
+				return (c === 'x' ? (Math.random() * 16) | 0 : 'r&0x3' | '0x8').toString(16);
+			});
+		},
+		createName(name) {
+			const date = Date.now();
+			const uuid = this.getUUID();
+			const fileSuffix = name.substring(name.lastIndexOf(".") + 1);
+			return `${date}${uuid}.${fileSuffix}`;
+		},
+
+		// 检查文件类型
+    checkFileType(url) {
+      if(!url) return '';
+			const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
+
+			if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+				return 'image';
+			}else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+				return 'word';
+			}else if(['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+				return 'excel';
+			}else if(['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+				return 'ppt';
+			}else if(['pdf'].includes(fileSuffix)) {
+				return 'pdf';
+			}else {
+        return '';
+      }
+		},
+
+		// 获取oss配置
+    async getOssConfig(fileName) {
+      const result = await new Promise((resolve, reject) => {
+				getOssConfig().then(res => {
+					const fileKey = this.createName(fileName);
+					res.data.name = fileName;
+					res.data.key = res.data.dir + fileKey;
+					resolve(res.data);
+				}).catch(res => {
+          resolve({});
+        })
+      })
+      return result;
+    },
+
+		// 预览图片
+    previewImage(url) {
+      let index = findElem(this.fileList, 'url', url);
+      this.$refs.img[index].showViewer = true;
+    },
+
+    // 删除图片
+    deleteImage(url) {
+      let index = findElem(this.fileList, 'url', url);
+      this.fileList.splice(index, 1);
+    },
+
+		// 点击上传
+		uploadImage(url) {
+      this.uploadImageUrl = url;
+      document.querySelector('.uploader input').click();
+    },
+
+		// 上传文件之前
+		async beforeUpload(file) {
+			const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+			this.dataObj = await this.getOssConfig(file.name);
+			this.waitUploadList.push(this.dataObj);
+		},
+
+		// 文件上传成功
+		uploadSuccess(res, file) {
+			const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+			if(this.uploadImageUrl) {
+        let index = findElem(this.fileList, 'url', this.uploadImageUrl);
+        this.$set(this.fileList, index, {
+					name: this.dataObj.name,
+					url: this.dataObj.key,
+					hover: false
+				});
+				this.waitUploadList = [];
+      }else {
+				let index = findElem(this.waitUploadList, 'name', file.name);
+				this.fileList.push({
+					name: this.waitUploadList[index].name,
+					url: this.waitUploadList[index].key,
+					hover: false
+				});
+        this.waitUploadList.splice(index, 1);
+      }
+			this.showFileList = true;
+			loading.close();
+		},
+	}
+};
+</script>
+
+<style scoped lang="scss">
+	.images {
+		display: flex;
+		flex-wrap: wrap;
+		.item {
+			margin-right: 20px;
+			.img {
+				width: 120px;
+				height: 120px;
+				border-radius: 5px;
+				overflow: hidden;
+				position: relative;
+				border: 1px dashed #eaeaea;
+				display: flex;
+				.el-image {
+					display: block;
+				}
+				.file {
+					width: 120px;
+					height: 120px;
+					display: block;
+					padding: 30px;
+				}
+				.mask {
+					position: absolute;
+					left: 0;
+					top: 0;
+					width: 120px;
+					height: 120px;
+					background: rgba($color: #000000, $alpha: 0.3);
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					i {
+						font-size: 20px;
+						color: #ffffff;
+						cursor: pointer;
+						margin: 0 8px;
+					}
+				}
+			}
+		}
+		.add {
+			width: 120px;
+			height: 120px;
+			border: 1px dashed #eaeaea;
+			border-radius: 5px;
+			cursor: pointer;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			i {
+				font-size: 30px;
+				color: #999;
+			}
+		}
+	}
+	.uploader {
+    height: 0;
+  }
+</style>

+ 29 - 28
src/components/Pagination/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div :class="{'hidden':hidden}" class="pagination-container">
+  <div :class="{ hidden: hidden }" class="pagination-container">
     <el-pagination
       :background="background"
       :current-page.sync="currentPage"
@@ -15,79 +15,80 @@
 </template>
 
 <script>
-import { scrollTo } from '@/utils/scroll-to'
+import { scrollTo } from "@/utils/scroll-to";
 
 export default {
-  name: 'Pagination',
+  name: "Pagination",
   props: {
     total: {
-      required: true,
-      type: Number
+      // required: true,
+      type: Number,
+      default: 10,
     },
     page: {
       type: Number,
-      default: 1
+      default: 1,
     },
     limit: {
       type: Number,
-      default: 20
+      default: 10,
     },
     pageSizes: {
       type: Array,
       default() {
-        return [10, 20, 30, 50]
-      }
+        return [10, 20, 30, 50];
+      },
     },
     layout: {
       type: String,
-      default: 'total, sizes, prev, pager, next, jumper'
+      default: "total, sizes, prev, pager, next, jumper",
     },
     background: {
       type: Boolean,
-      default: true
+      default: false,
     },
     autoScroll: {
       type: Boolean,
-      default: true
+      default: true,
     },
     hidden: {
       type: Boolean,
-      default: false
-    }
+      default: false,
+    },
   },
   computed: {
     currentPage: {
       get() {
-        return this.page
+        return this.page;
       },
       set(val) {
-        this.$emit('update:page', val)
-      }
+        this.$emit("update:page", val);
+      },
     },
     pageSize: {
       get() {
-        return this.limit
+        return this.limit;
       },
       set(val) {
-        this.$emit('update:limit', val)
-      }
-    }
+        this.$emit("update:limit", val);
+      },
+    },
   },
   methods: {
     handleSizeChange(val) {
-      this.$emit('pagination', { page: this.currentPage, limit: val })
+      this.$emit("pagination", { page: this.currentPage, limit: val });
       if (this.autoScroll) {
-        scrollTo(0, 800)
+        scrollTo(0, 800);
       }
     },
     handleCurrentChange(val) {
-      this.$emit('pagination', { page: val, limit: this.pageSize })
+      this.$emit("pagination", { page: val, limit: this.pageSize });
       if (this.autoScroll) {
-        scrollTo(0, 800)
+        scrollTo(0, 800);
       }
-    }
-  }
-}
+    },
+  },
+};
 </script>
 
 <style scoped>

+ 1 - 1
src/layout/components/Sidebar/SidebarItem.vue

@@ -1,7 +1,7 @@
 <template>
   <div v-if="!item.hidden">
     <!-- <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren) && !item.alwaysShow"> -->
-    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren || (onlyOneChild.children && onlyOneChild.children.length < 1 && (onlyOneChild.name == 'wxcustomer_index' || onlyOneChild.name == 'settlement_index' || onlyOneChild.name == 'freight_index' || onlyOneChild.name == 'storage_index' || onlyOneChild.name == 'notice_index' || onlyOneChild.name == 'dashboard'))) && !item.alwaysShow">
+    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren || (onlyOneChild.children && onlyOneChild.children.length < 1 && (onlyOneChild.name == 'issue_index' || onlyOneChild.name == 'notice_index' || onlyOneChild.name == 'dashboard'))) && !item.alwaysShow">
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
         <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
           <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />

+ 1 - 0
src/mixin/index.js

@@ -8,6 +8,7 @@ export default {
       screenForm: {}, // 筛选表单数据
       dataList: [], // 表格数据
       ids: [], // 多选数据id
+      dialogVisible: false, // 弹框
     }
   },
   created() {

+ 17 - 3
src/permission.js

@@ -154,13 +154,27 @@ function buildRootRoute(route) {
       }
     )
   }
-  if (code == 'msg') {
+  if (code == 'issue') {
+    let children = route.children;
+    route.children = [];
+    route.children.push(
+      {
+        'code': "issue_index",
+        'moduleName': "文件下发",
+        'type': 2,
+        'url': '/index',
+        'children': children
+      }
+    )
+    item.alwaysShow = false;
+  }
+  if (code == 'notice') {
     let children = route.children;
     route.children = [];
     route.children.push(
       {
         'code': "notice_index",
-        'moduleName': "消息列表",
+        'moduleName': "系统通知",
         'type': 2,
         'url': '/index',
         'children': children
@@ -169,7 +183,7 @@ function buildRootRoute(route) {
     item.alwaysShow = false;
   }
   item.children = []
-  if ((route.hasOwnProperty('children') && type === 1) || code == 'wxcustomer' || code == 'settle_manage' || code == 'delivery_manage' || code == 'stockpile_manage' || code == 'msg' || code == 'index') {
+  if ((route.hasOwnProperty('children') && type === 1) || code == 'issue' || code == 'notice' || code == 'index') {
     for (var child of route.children) {
       item.children.push(buildRoute(child, url))
     }

+ 260 - 298
src/views/basic_data/dealer/components/dealer_list-detail.vue

@@ -3,231 +3,277 @@
     <div class="sty">
       <el-page-header @back="goBack" content="详情页面"> </el-page-header>
     </div>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>客户</span>
-      </div>
-      <el-row>
-        <el-col :span="8"
-          ><span class="color">创建组织</span
-          ><input v-model="infoForm.a" type="text"
-        /></el-col>
-        <el-col :span="8"
-          ><span>客户编码</span><input v-model="infoForm.number" type="text"
-        /></el-col>
-        <el-col :span="8"
-          ><span class="color">使用组织</span
-          ><input v-model="infoForm.useOrgId" type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="8"><span>简称</span><input type="text" /></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>基本信息</span>
-      </div>
-      <div class="baseInfo">
+    <el-form
+      :model="infoList"
+      label-width="130px"
+      size="small"
+      label-position="right"
+    >
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>客户</strong>
+        </div>
         <div>
-          <div class="base-header">
-            <span>地址</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">国家</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">地区</span
-              ><input v-model="infoForm.region" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">省份</span
-              ><input v-model="infoForm.province" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">城市</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">通讯地址</span
-              ><input v-model="infoForm.invoiceAddress" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">邮政编码</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">公司网址</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">商城订单对应组织</span
-              ><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">联系邮箱</span
-              ><input v-model="infoForm.email" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创建组织" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户编码" prop="takerName">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="使用组织" prop="telephone">
+                <el-input
+                  v-model="infoList.useOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="简称" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>基本信息</strong>
+        </div>
+        <span>地址</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>管理</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">联系电话</span
-              ><input v-model="infoForm.mobile" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">传真</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司类别</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司性质</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司规模</span><input type="text"
-            /></el-col>
-          </el-row>
-          <div class="base-header">
-            <span>开票信息</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">发票抬头</span
-              ><input v-model="infoForm.invoiceTitle" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">纳税登记号</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">开户银行</span
-              ><input v-model="infoForm.bank" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">银行账号</span
-              ><input v-model="infoForm.bankAccount" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">开票联系电话</span
-              ><input v-model="infoForm.invoicePhone" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">开票通讯地址</span
-              ><input v-model="infoForm.invoiceAddress" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="国家" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="地区" prop="takerName">
+                <el-input
+                  v-model="infoList.region"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="省份" prop="telephone">
+                <el-input
+                  v-model="infoList.province"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="城市" prop="telephone">
+                <el-input
+                  v-model="infoList.city"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="通信地址" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="邮政编码" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司网址" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="商城订单对应组织" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="联系邮箱" prop="telephone">
+                <el-input
+                  v-model="infoList.email"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+        <span>管理</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>相关</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">对应供应商</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">对应集团客户</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">集团客户</span><input type="checkbox"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">默认付款方</span><input type="checkbox"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="联系电话" prop="">
+                <el-input
+                  v-model="infoList.mobile"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="传真" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司类别" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司性质" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司规模" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">不校验可发量</span><input type="checkbox"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">客户类别</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">客户分组</span><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">对应组织</span><input type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>相关</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应供应商" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应集团客户" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户类别" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户分组" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="集团客户" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认付款方" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="不校验可发量" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应组织" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="备注" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">备注</span><input type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>开票信息</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发票抬头" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="纳税登记号" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开户银行" prop="telephone">
+                <el-input
+                  v-model="infoList.bank"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="银行账号" prop="telephone">
+                <el-input
+                  v-model="infoList.bankAccount"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开票联系电话" prop="telephone">
+                <el-input
+                  v-model="infoList.invoicePhone"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开票通讯地址" prop="telephone">
+                <el-input
+                  v-model="infoList.invoiceAddress"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <div class="base-header">
-            <span>智慧订货</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">允许对智慧订货</span><input type="checkbox"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>智慧订货</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="允许对接智慧订单" prop="">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
-      </div>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>信用额度</span>
-      </div>
-      <el-row>
-        <el-col :span="8"
-          ><span class="color">信用额度</span><input type="text"
-        /></el-col>
-        <el-col :span="8"><span>有效期</span><input type="text" /></el-col>
-        <el-col :span="8"></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
+      </el-card>
+    </el-form>
+    <br />
+    <el-card>
       <div slot="header" class="clearfix">
-        <span>业务信息</span>
+        <strong>信用额度</strong>
       </div>
     </el-card>
   </div>
@@ -242,45 +288,11 @@ export default {
     },
   },
   data() {
-    return {
-      infoForm: {
-        adminUserId: "",
-        bank: "",
-        bankAccount: "",
-        bindUser: true,
-        city: "",
-        createBy: "",
-        createTime: "",
-        creditAmount: 0,
-        email: "",
-        forbidStatus: "",
-        id: "",
-        invoiceAddress: "",
-        invoicePhone: "",
-        invoiceTitle: "",
-        mobile: "",
-        name: "",
-        number: "",
-        province: "",
-        region: "",
-        saleDeptName: "",
-        saleDeptNumber: "",
-        syncTime: "",
-        taxNo: "",
-        updateBy: "",
-        updateTime: "",
-        useOrgId: "",
-        useOrgName: "",
-        useOrgNumber: "",
-      },
-    };
-  },
-  created() {
-    this.infoForm = this.infoList;
+    return {};
   },
+  created() {},
   methods: {
     goBack() {
-      console.log(this.$parent);
       this.$parent.isShow = true;
     },
   },
@@ -288,57 +300,7 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.color {
-  color: #1f93ec;
-}
-.el-col-24 {
-  margin: 6px 0;
-}
-
-.marg-r {
-  padding-right: 15px;
-  font-size: 12px;
-  display: inline-block;
-  width: 120px;
-}
-.base-header {
-  height: 20px;
-  width: 60%;
-  border-bottom: 2px solid gray;
-  span {
-    width: 100px;
-    height: 100%;
-    display: block;
-    text-align: center;
-    color: #fff;
-
-    background-color: gray;
-  }
-}
-.box-card {
-  margin-bottom: 20px;
-}
-.el-col-8 {
-  span {
-    padding-right: 10px;
-    display: inline-block;
-    width: 100px;
-  }
-}
-.baseInfo {
-  display: flex;
-  justify-content: space-between;
-  > div {
-    width: 33%;
-  }
-}
 .sty {
   margin-bottom: 20px;
 }
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
 </style>

+ 22 - 23
src/views/basic_data/dealer/dealer_deposit.vue

@@ -139,8 +139,8 @@
               >
                 <el-button type="text" class="textColor" slot="reference"
                   >删除</el-button
-                ></el-popconfirm
-              >
+                >
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -192,12 +192,19 @@
         </el-form-item>
 
         <el-form-item label="押金比例" prop="rate">
-          <el-input v-model.number="dialogForm.rate" class="inputStyle">
+          <el-input
+            placeholder="请输入押金比例"
+            @focus="rateFn"
+            v-model.number="dialogForm.rate"
+            class="inputStyle"
+          >
             <i class="el-input__icon" slot="suffix">% </i>
           </el-input>
         </el-form-item>
         <el-form-item label="押金定额金额" prop="amount">
           <el-input
+            placeholder="请输入押金定额"
+            @focus="amountFn"
             v-model.number="dialogForm.amount"
             class="inputStyle"
           ></el-input>
@@ -254,26 +261,6 @@ import { number } from "echarts";
 
 export default {
   data() {
-    // var amount = (rule, value, callback) => {
-    //   console.log(rule, value);
-    //   console.log(this.dialogForm);
-    //   if (this.dialogForm.rate !== 0) {
-    //     this.$message.warning("已选押金比例,如需选择定额押金,请把押金比例归零");
-    //     // callback(new Error("已选押金比例,如需选择定额押金,请把押金比例归零"));
-    //   } else {
-    //     callback();
-    //   }
-    // };
-    // var rate = (rule, value, callback) => {
-    //   console.log(rule, value);
-    //   console.log(this.dialogForm);
-    //   if (this.dialogForm.amount !== 0) {
-    //     this.$message.warning("已选定额押金,如需选择押金比例,请把定额押金归零");
-    //     // callback(new Error("已选定额押金,如需选择押金比例,请把定额押金归零"));
-    //   } else {
-    //     callback();
-    //   }
-    // };
     return {
       title: "",
       currentPage: 1, // 当前页码
@@ -351,7 +338,19 @@ export default {
     await this.getList({ pageNum: 1, pageSize: 10 });
     await this.getDealerDataList({ pageNum: 1, pageSize: 10 });
   },
+
   methods: {
+    //押金
+    amountFn(e) {
+      if (this.dialogForm.rate != 0 || this.dialogForm.rate != "") {
+        this.$message.warning("已选押金比例,如需选择定额押金,请把押金比例归零");
+      }
+    },
+    rateFn(e) {
+      if (this.dialogForm.amount != 0 || this.dialogForm.amount != "") {
+        this.$message.warning("已选定额押金,如需选择押金比例,请把定额押金归零");
+      }
+    },
     //取消
     async cancelFn() {
       await this.$refs.dialogForm.resetFields();

+ 6 - 18
src/views/basic_data/dealer/dealer_list.vue

@@ -64,13 +64,7 @@
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-column
-              align="center"
-              label="单据状态"
-              prop="danJuZhuangTai"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
+
             <el-table-column
               prop="forbidStatus"
               align="center"
@@ -96,25 +90,19 @@
             ></el-table-column>
             <el-table-column
               align="center"
-              label="审核人"
-              prop="shenHeRen"
+              label="更新人"
+              prop="updateBy"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
-              label="审核日期"
-              prop="shenHeDate"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="center"
-              label="客户分组"
-              prop="keHu"
+              label="更新时间"
+              prop="updateTime"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
+
             <el-table-column
               align="center"
               label="操作"

+ 55 - 26
src/views/basic_data/logistics/logistics_list.vue

@@ -214,30 +214,35 @@
     <el-dialog
       title="提货车辆档案"
       :visible.sync="showDialogForm"
-      width="30%"
+      width="50%"
       :show-close="false"
       :close-on-click-modal="false"
     >
-      <el-form ref="form" :model="diaLogForm" label-width="100px">
-        <el-form-item label="物流公司名称">
+      <el-form
+        ref="form"
+        :rules="type == 2 ? rules : ''"
+        :model="diaLogForm"
+        label-width="120px"
+      >
+        <el-form-item label="物流公司名称" prop="logisticsCompany">
           <el-input v-model="diaLogForm.logisticsCompany"></el-input>
         </el-form-item>
-        <el-form-item label="物流公司代码">
+        <el-form-item label="物流公司代码" prop="logisticsNumber">
           <el-input v-model="diaLogForm.logisticsNumber"></el-input>
         </el-form-item>
-        <el-form-item label="提货人">
+        <el-form-item label="提货人" prop="pickName">
           <el-input v-model="diaLogForm.pickName"></el-input>
         </el-form-item>
-        <el-form-item label="提货人电话">
+        <el-form-item label="提货人电话" prop="pickTel">
           <el-input v-model="diaLogForm.pickTel"></el-input>
         </el-form-item>
-        <el-form-item label="客服电话">
+        <el-form-item label="客服电话" prop="customerTel">
           <el-input v-model="diaLogForm.customerTel"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="hanleCancel">取 消</el-button>
-        <el-button type="primary" @click="handelInfo">确 定</el-button>
+        <el-button @click="hanleCancel('form')">取 消</el-button>
+        <el-button type="primary" @click="handelInfo('form')">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -251,7 +256,7 @@ import {
   updateInfo,
   deleteInfo,
 } from "@/api/basic_data/logistics";
-import { downloadFiles } from "@/utils/util";
+import { downloadFiles ,importFileList} from "@/utils/util";
 export default {
   mixins: [Mixin],
   data() {
@@ -274,6 +279,23 @@ export default {
         logisticsCompany: "",
       },
       ids: [],
+      rules: {
+        logisticsCompany: [
+          { required: true, message: "请输入物流公司名称", trigger: "blur" },
+        ],
+        logisticsNumber: [
+          { required: true, message: "请输入物流公司代码", trigger: "blur" },
+        ],
+        pickName: [
+          { required: true, message: "请输入提货人", trigger: "blur" },
+        ],
+        pickTel: [
+          { required: true, message: "请输入提货人电话", trigger: "blur" },
+        ],
+        customerTel: [
+          { required: true, message: "请输入客服电话", trigger: "blur" },
+        ],
+      },
     };
   },
   methods: {
@@ -312,7 +334,7 @@ export default {
       });
     },
     //新增数据或者编辑数据请求接口  type 1 为编辑  type 2 新增
-    handelInfo() {
+    handelInfo(formName) {
       if (this.type === 1) {
         const params = {
           ...this.diaLogForm,
@@ -325,17 +347,23 @@ export default {
         });
         this.diaLogForm.id = null;
       } else if (this.type === 2) {
-        addInof(this.diaLogForm).then((res) => {
-          this.$successMsg("保存成功");
-          this.showDialogForm = false;
-          this.hanleCancel();
-          this.getList();
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            addInof(this.diaLogForm).then((res) => {
+              this.$successMsg("保存成功");
+              this.showDialogForm = false;
+              this.hanleCancel();
+              this.getList();
+            });
+          } else {
+            console.log("error submit!!");
+            return false;
+          }
         });
       } else {
         this.showDialogForm = false;
       }
     },
-
     //查看详情
     hanleDetail(detail) {
       this.type = 3;
@@ -362,15 +390,16 @@ export default {
       });
     },
     // 取消按钮重置数据
-    hanleCancel() {
-      this.diaLogForm = {
-        id: null,
-        customerTel: "",
-        logisticsCompany: "",
-        logisticsNumber: "",
-        pickName: "",
-        pickTel: "",
-      };
+    hanleCancel(form) {
+      this.$refs['form'].resetFields()
+      // this.diaLogForm = {
+      //   id: null,
+      //   customerTel: "",
+      //   logisticsCompany: "",
+      //   logisticsNumber: "",
+      //   pickName: "",
+      //   pickTel: "",
+      // };
       this.showDialogForm = false;
     },
   },

+ 2 - 2
src/views/basic_data/material/category_list.vue

@@ -35,11 +35,11 @@
             highlight-current-row
             stripe
           >
-            <el-table-column
+            <!-- <el-table-column
               type="selection"
               align="center"
               min-width="100"
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="编码"

+ 283 - 14
src/views/basic_data/material/components/modify_list-apply.vue

@@ -87,9 +87,8 @@
     </div>
     <div class="mymain-container">
       <!-- 列表 -->
-
       <div class="table">
-        <el-form :model="items" ref="form" size="small" label-position="left">
+        <el-form :model="items" v-if="!detail.length"  size="small" label-position="left">
           <el-table
             v-loading="listLoading"
             :data="items"
@@ -107,12 +106,15 @@
               show-overflow-tooltip
             >
               <!-- <el-button type="text" class="textColor">修改</el-button> -->
-              <el-button type="text" class="textColor">删除</el-button>
+            <template slot-scope="scope">
+                <el-button type="text" class="textColor" @click="hanleDeleInd(scope.$index)">删除</el-button>
+            </template>
             </el-table-column>
             <el-table-column
               align="center"
               label="销售类型"
               prop="saleTypeId"
+
               min-width="160"
               show-overflow-tooltip
             >
@@ -337,7 +339,257 @@
             </el-table-column>
           </el-table>
         </el-form>
+        <el-form :model="detail" v-else size="small" label-position="left">
+          <el-table
+            v-loading="listLoading"
+            :data="detail"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="操作类型"
+              prop="nname"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <!-- <el-button type="text" class="textColor">修改</el-button> -->
+            <template slot-scope="scope">
+                <el-button type="text" class="textColor" @click="hanleDeleInd(scope.$index)">删除</el-button>
+            </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="销售类型"
+              prop="saleTypeId"
+
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                   <el-select placeholder="请选择销售类型" v-model="scope.row.saleTypeId">
+                <el-option  v-for="item in typeList" :label="item.name" :value="item.id"></el-option>
+
+              </el-select>
 
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="存货编码"
+              prop="materialNumber"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.materialNumber"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="存货名称"
+              prop="materialName"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.materialName"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop="specification"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.specification"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="计量单位"
+              prop="company"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.SalesType"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="批发价"
+              prop="batchPrice"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.batchPrice"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="零售价"
+              prop="retailPrice"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.retailPrice"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="返利使用比例"
+              prop="rebateUseRate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.rebateUseRate"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="生效日期"
+              prop="startDate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-date-picker
+                    v-model="scope.row.startDate"
+                    type="date"
+                    placeholder="请输入调价日期"
+                    value-format="yyyy-MM-dd"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="失效日期"
+              prop="endDate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-date-picker
+                    v-model="scope.row.endDate"
+                    type="date"
+                    placeholder="请输入调价日期"
+                    value-format="yyyy-MM-dd"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="是否促销价"
+              prop="isPromote"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPromote"
+                    @change="hanleChange"
+                    placeholder="请选择是否促销价"
+                  >
+                    <el-option
+                      v-for="item in scope.row.isPromoteArr"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop="qty"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.qty"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="支付钱包类型"
+              prop="wallets"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPublish"
+                    @change="hanleChange"
+                    placeholder="请选择支付钱包类型"
+                  >
+                    <el-option
+                      v-for="item in scope.row.rebateList"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="发布"
+              prop="isPublish"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPublish"
+                    @change="hanleChange"
+                    placeholder="请选择是否发布"
+                  >
+                    <el-option
+                      v-for="item in scope.row.isPublishArr"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form>
         <el-dialog
           title="提示"
           :visible.sync="centerDialogVisible"
@@ -390,17 +642,17 @@ export default {
   data() {
     return {
       base: {
-        adminCompanyId: "5454",
-        adminWebsitId: "345",
-        billId: "34324",
-        examineNote: "234",
+        adminCompanyId: "3",
+        adminWebsitId: "3",
+        billId: "5",
+        examineNote: "5",
         examineResult: true,
-        examineStatus: "2342",
+        examineStatus: "",
         id: null,
-        operatorId: "234",
-        operatorName: "3223",
-        remark: "2332",
-        saleTypeId: "2332",
+        operatorId: "",
+        operatorName: "",
+        remark: "",
+        saleTypeId: "33",
       },
       items: [
 
@@ -411,7 +663,8 @@ export default {
       rebateList:[],
       typeList:[],
       saleTypeId:'',
-      remark:''
+      remark:'',
+      detail:[]
     };
   },
   mounted() {
@@ -433,6 +686,14 @@ export default {
     goBack() {
       this.$parent.show = 1;
     },
+     indexMethod(index) {
+      console.log(index);
+
+      },
+    hanleDeleInd(index){
+
+        this.items.splice(index,1)
+    },
     getMaterialList(){
       let rebateParams={
         pageNum:1,
@@ -479,7 +740,7 @@ export default {
         wallets: [
           {
                  billId:'44',
-                 id:'55',
+                 id:'',
                 mainId:'',
               parentId:'',
                parentItemId:''
@@ -567,6 +828,14 @@ export default {
           remark: "2332",
           saleTypeId: "2332",
         };
+
+        getProductRriceDetail({id:res.data}).then(res=>{
+          this.base={
+              ...res.data
+          }
+
+          this.detail = res.data.items
+        })
       });
     },
   },

+ 21 - 11
src/views/basic_data/material/components/modify_list-approval.vue

@@ -16,12 +16,17 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据编号" prop="billId">
-              <el-input placeholder="请输入" v-model="detail.billId"></el-input>
+              <el-input
+                placeholder="请输入"
+                disabled
+                v-model="detail.billId"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价日期" prop="account">
               <el-date-picker
+                disabled
                 v-model="value1"
                 type="date"
                 placeholder="选择日期"
@@ -31,12 +36,13 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入"></el-input>
+              <el-input placeholder="请输入" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价业务员" prop="operatorName">
               <el-input
+                disabled
                 placeholder="请输入"
                 v-model="detail.operatorName"
               ></el-input>
@@ -46,6 +52,7 @@
             <el-form-item label="制单日期" prop="account">
               <el-date-picker
                 v-model="value1"
+                disabled
                 type="date"
                 placeholder="选择日期"
               >
@@ -54,7 +61,7 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域">
+              <el-select placeholder="请选择活动区域" disabled>
                 <el-option label="区域一" value="shanghai"></el-option>
                 <el-option label="区域二" value="beijing"></el-option>
               </el-select>
@@ -63,6 +70,7 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="文件编码" prop="operatorName">
               <el-input
+                disabled
                 placeholder="请输入"
                 v-model="detail.operatorName"
               ></el-input>
@@ -200,19 +208,21 @@
           <el-row :gutter="0">
             <el-col :xs="12" :sm="12" :lg="12" class="item">
               <div class="label">审批人</div>
-              <div class="value">2022123233435342</div>
+              <div class="value">{{ detail.operatorName }}</div>
             </el-col>
             <el-col :xs="12" :sm="12" :lg="12" class="item">
               <div class="label">审批结果</div>
               <div class="value">
-                <el-radio v-model="radio" label="0">通过</el-radio>
-                <el-radio v-model="radio" label="1">驳回</el-radio>
+                <el-radio-group v-model="detail.examineResult">
+                  <el-radio label="0">通过</el-radio>
+                  <el-radio label="1">驳回</el-radio>
+                </el-radio-group>
               </div>
             </el-col>
 
             <el-col :xs="24" :sm="24" :lg="24" class="item">
               <div class="label">审批说明</div>
-              <div class="value">2022123233435342</div>
+              <div class="value">{{ detail.examineNote }}</div>
             </el-col>
           </el-row>
         </div>
@@ -222,9 +232,9 @@
             <el-button type="primary" size="small" @click="onSubmit"
               >提交审批</el-button
             >
-            <el-button type="primary" size="small" @click="resetScreenForm"
+            <!-- <el-button type="primary" size="small" @click="resetScreenForm"
               >重置</el-button
-            >
+            > -->
           </div>
         </div>
       </el-form>
@@ -273,10 +283,10 @@ export default {
     onSubmit() {
       const params = {
         ...this.detail,
-        // confirmResult:this.radio
+        qty: 23,
       };
       getProductRriceConfirm(params).then((res) => {
-        console.log(res);
+         this.$successMsg("已提交审核");
       });
     },
     resetScreenForm() {

+ 160 - 136
src/views/basic_data/material/components/modify_list-detail.vue

@@ -6,16 +6,27 @@
     <br />
     <br />
     <div>
-      <el-form label-width="100px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="detail"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据编号" prop="account">
-              <el-input placeholder="请输入" v-model="detail.billId"></el-input>
+            <el-form-item label="单据编号" prop="billId">
+              <el-input
+                placeholder="请输入"
+                disabled
+                v-model="detail.billId"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价日期" prop="account">
               <el-date-picker
+                disabled
                 v-model="value1"
                 type="date"
                 placeholder="选择日期"
@@ -25,18 +36,23 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入"></el-input>
+              <el-input placeholder="请输入" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价业务员" prop="account">
-              <el-input placeholder="请输入" v-model="detail.operatorName"></el-input>
+            <el-form-item label="调价业务员" prop="operatorName">
+              <el-input
+                disabled
+                placeholder="请输入"
+                v-model="detail.operatorName"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="制单日期" prop="account">
               <el-date-picker
                 v-model="value1"
+                disabled
                 type="date"
                 placeholder="选择日期"
               >
@@ -45,165 +61,170 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域">
+              <el-select placeholder="请选择活动区域" disabled>
                 <el-option label="区域一" value="shanghai"></el-option>
                 <el-option label="区域二" value="beijing"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="文件编码" prop="account">
-              <el-input placeholder="请输入" v-model="detail.operatorName"></el-input>
+            <el-form-item label="文件编码" prop="operatorName">
+              <el-input
+                disabled
+                placeholder="请输入"
+                v-model="detail.operatorName"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
-      </el-form>
-    </div>
-    <div class="mymain-container">
-      <!-- 列表 -->
-      <div class="table">
-        <el-table
 
-          :data="detail.items"
-          element-loading-text="Loading"
-          border
-          fit
-          highlight-current-row
-          stripe
-        >
-          <el-table-column
-            align="center"
-            label="销售类型"
-            prop="saleTypeId"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="存货编码"
-            prop="billId"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="存货名称"
-            prop="materialName"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="规格型号"
-            prop="model"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="计量单位"
-            prop="company"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="批发价"
-            prop="batchPrice"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="零售价"
-            prop="retailPrice"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="返利使用比例"
-            prop="rebateUseRate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="生效日期"
-            prop="startDate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="失效日期"
-            prop="endDate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="是否促销价"
-            prop="isPromote"
-            min-width="160"
-            show-overflow-tooltip
-          >
-                     <template slot-scope="scope">
-               <el-tag type="success" v-if="scope.row.isPromote">是</el-tag>
-                 <el-tag type="danger" v-else>否</el-tag>
-              </template>
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="数量"
-            prop="qty"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="发布"
-            prop="isPublish"
-            min-width="160"
-            show-overflow-tooltip
-          >
-                  <template slot-scope="scope">
-               <el-tag type="success" v-if="scope.row.isPublish">是</el-tag>
-                 <el-tag type="danger" v-else>否</el-tag>
-              </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <br />
+        <div class="mymain-container">
+          <!-- 列表 -->
+          <div class="table">
+            <el-table
+              :data="detail.items"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column
+                align="center"
+                label="销售类型"
+                prop="saleTypeId"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="存货编码"
+                prop="billId"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="存货名称"
+                prop="materialName"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="规格型号"
+                prop="model"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="计量单位"
+                prop="company"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="批发价"
+                prop="batchPrice"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="零售价"
+                prop="retailPrice"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="返利使用比例"
+                prop="rebateUseRate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="生效日期"
+                prop="startDate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="失效日期"
+                prop="endDate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="是否促销价"
+                prop="isPromote"
+                min-width="160"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  <el-tag type="success" v-if="scope.row.isPromote">是</el-tag>
+                  <el-tag type="danger" v-else>否</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="数量"
+                prop="qty"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="发布"
+                prop="isPublish"
+                min-width="160"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  <el-tag type="success" v-if="scope.row.isPublish">是</el-tag>
+                  <el-tag type="danger" v-else>否</el-tag>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
     <div class="diy-table-1">
       <el-row :gutter="0">
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批人</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.operatorName}}</div>
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批结果</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.examineResult?'通过':'驳回'}}</div>
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批时间</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{}}</div>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24" class="item">
           <div class="label">审批说明</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.examineNote}}</div>
         </el-col>
       </el-row>
     </div>
+      </el-form>
+    </div>
   </div>
 </template>
 
+
+
 <script>
 export default {
   props:{
@@ -233,6 +254,9 @@ export default {
       ],
     };
   },
+  created() {
+      console.log(this.detail);
+  },
   methods: {
     goBack() {
       console.log(this.$parent);

+ 77 - 92
src/views/basic_data/material/machine_list.vue

@@ -63,22 +63,22 @@
           @click="(showDialogForm = true), (type = 1)"
           >新增</el-button
         >
-       <el-popconfirm
-                confirm-button-text="好的"
-                cancel-button-text="不用了"
-                icon="el-icon-info"
-                icon-color="red"
-                title="内容确定删除吗?"
-                @onConfirm="hanleDeleteAll"
-              >
-                <el-button
-                  slot="reference"
-                   type="primary"
-      size="small"
-                  class="textColor el-popover-left"
-                  >删除</el-button
-                >
-              </el-popconfirm>
+        <el-popconfirm
+          confirm-button-text="好的"
+          cancel-button-text="不用了"
+          icon="el-icon-info"
+          icon-color="red"
+          title="内容确定删除吗?"
+          @onConfirm="hanleDeleteAll"
+        >
+          <el-button
+            slot="reference"
+            type="primary"
+            size="small"
+            class="textColor el-popover-left"
+            >删除</el-button
+          >
+        </el-popconfirm>
       </div>
       <div class="fr">
         <el-upload
@@ -105,8 +105,8 @@
           border
           fit
           highlight-current-row
-           @select-all="hanleSelectAll"
-           @select="hanleSelectAll"
+          @select-all="hanleSelectAll"
+          @select="hanleSelectAll"
           stripe
         >
           <el-table-column type="selection" align="center"></el-table-column>
@@ -219,10 +219,10 @@
               <el-button
                 type="text"
                 class="textColor"
-                @click="editFn(scope.row.id,scope.row)"
+                @click="editFn(scope.row.id, scope.row)"
                 >编辑</el-button
               >
-                 <el-popconfirm
+              <el-popconfirm
                 confirm-button-text="好的"
                 cancel-button-text="不用了"
                 icon="el-icon-info"
@@ -233,7 +233,6 @@
                 <el-button
                   slot="reference"
                   type="text"
-
                   class="textColor el-popover-left"
                   >删除</el-button
                 >
@@ -271,61 +270,32 @@
         size="small"
         label-position="left"
       >
-        <el-form-item label="内机名称">
-          <!-- <el-select
-            v-model="diaLogForm.positionName"
-            multiple
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select> -->
-          <el-input v-model="diaLogForm.innerMachineName"></el-input>
-        </el-form-item>
-        <el-form-item label="内机型号">
-          <el-input v-model="diaLogForm.innerMachineType"></el-input>
-        </el-form-item>
-        <el-form-item label="内机编码">
-          <el-input v-model="diaLogForm.innerMachineNumber"></el-input>
-        </el-form-item>
-        <el-form-item label="内机体积">
-          <el-input v-model="diaLogForm.innerMachineVolume"></el-input>
-        </el-form-item>
-        <el-form-item label="外机名称">
-          <!-- <el-select
-            v-model="diaLogForm.positionName"
-            multiple
+        <el-form-item label="类型">
+          <el-select
+            v-model="diaLogForm.type"
+
             placeholder="请选择"
           >
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in distList"
+              :key="item.sysDictId"
+              :label="item.dictValue"
+              :value="item.sysDictId"
             >
             </el-option>
-          </el-select> -->
-          <el-input v-model="diaLogForm.outsideMachineName"></el-input>
+          </el-select>
         </el-form-item>
-        <el-form-item label="外机机型号">
-          <el-input v-model="diaLogForm.outsideMachineType"></el-input>
+        <el-form-item label="名称">
+          <el-input v-model="diaLogForm.name" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="外机编码">
-          <el-input v-model="diaLogForm.outsideMachineNumber"></el-input>
+        <el-form-item label="型号">
+          <el-input v-model="diaLogForm.model" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="外机体积">
-          <el-input v-model="diaLogForm.outsideMachineVolume"></el-input>
+        <el-form-item label="编码">
+          <el-input v-model="diaLogForm.number" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="配件1">
-          <el-input v-model="diaLogForm.parts1"></el-input>
-        </el-form-item>
-        <el-form-item label="配件2">
-          <el-input v-model="diaLogForm.parts2"></el-input>
+        <el-form-item label="体积">
+          <el-input v-model="diaLogForm.volume" size="normal"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -346,6 +316,7 @@ import {
   getMachineAdd,
   getMachineDel,
   getMachineEdit,
+  getDistList
 } from "@/api/basic_data/material";
 export default {
   mixins: [Mixin],
@@ -378,17 +349,22 @@ export default {
       ],
       diaLogForm: {
         id: null,
-        parts1:'',
-        parts2:"",
-        innerMachineName: "",
-        innerMachineNumber: "",
-        innerMachineType: "",
-        innerMachineVolume: 2,
-        orgNumber: "",
-        outsideMachineName: "",
-        outsideMachineNumber: "",
-        outsideMachineType: "",
-        outsideMachineVolume: 2,
+        name: "",
+        number: "",
+        model: "",
+        volume: "",
+        type:''
+        // parts1:'',
+        // parts2:"",
+        // innerMachineName: "",
+        // innerMachineNumber: "",
+        // innerMachineType: "",
+        // innerMachineVolume: 2,
+        // orgNumber: "",
+        // outsideMachineName: "",
+        // outsideMachineNumber: "",
+        // outsideMachineType: "",
+        // outsideMachineVolume: 2,
       },
       showDialogForm: false,
       dataList: [
@@ -484,20 +460,25 @@ export default {
   },
   methods: {
     editFn(id, row) {
-      this.type=2
+      this.type = 2;
       this.diaLogForm = {
         id,
-        parts1:row.parts1,
-        parts2:row.parts2,
-        innerMachineName: row.innerMachineName,
-        innerMachineNumber: row.innerMachineNumber,
-        innerMachineType: row.innerMachineType,
-        innerMachineVolume: row.innerMachineVolume,
-        orgNumber: row.orgNumber,
-        outsideMachineName: row.outsideMachineName,
-        outsideMachineNumber: row.outsideMachineNumber,
-        outsideMachineType: row.outsideMachineType,
-        outsideMachineVolume: row.outsideMachineVolume,
+        name: row.name,
+        number: row.number,
+        model: row.model,
+        volume: row.volume,
+        type:row.type
+        // parts1:row.parts1,
+        // parts2:row.parts2,
+        // innerMachineName: row.innerMachineName,
+        // innerMachineNumber: row.innerMachineNumber,
+        // innerMachineType: row.innerMachineType,
+        // innerMachineVolume: row.innerMachineVolume,
+        // orgNumber: row.orgNumber,
+        // outsideMachineName: row.outsideMachineName,
+        // outsideMachineNumber: row.outsideMachineNumber,
+        // outsideMachineType: row.outsideMachineType,
+        // outsideMachineVolume: row.outsideMachineVolume,
       };
       this.showDialogForm = true;
     },
@@ -519,7 +500,6 @@ export default {
       }
       this.resetInfo();
       this.showDialogForm = false;
-
     },
     // 初始化数据
     getList() {
@@ -538,6 +518,10 @@ export default {
         this.listLoading = false;
         console.log(this.dataList, 1233);
       });
+      getDistList({sysDictEnum:'MACHINE_CONFIGURE'}).then(res=>{
+          this.distList = res.data
+        console.log(res,123);
+      })
     },
     // 导入
     async handleImport(param) {
@@ -572,10 +556,11 @@ export default {
       console.log(id);
       this.hanleDeleteAllPromise(id).then((ids) => {
         getMachineDel(ids).then((res) => {
-           this.getList();
+          this.getList();
         });
       });
     },
+
     resetInfo() {
       this.diaLogForm = {
         id: null,

+ 2 - 2
src/views/basic_data/material/material_list.vue

@@ -44,11 +44,11 @@
             highlight-current-row
             stripe
           >
-            <el-table-column
+            <!-- <el-table-column
               type="selection"
               align="center"
               min-width="100"
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="使用组织"

+ 50 - 30
src/views/basic_data/material/modify_list.vue

@@ -62,13 +62,28 @@
       <div class="btn-group clearfix">
         <div class="fl">
           <el-button type="primary" size="small" @click="addFn">新增</el-button>
-          <el-button type="primary" size="small">编辑</el-button>
-          <el-button type="primary" size="small">删除</el-button>
+          <!-- <el-button type="primary" size="small">编辑</el-button> -->
+          <el-popconfirm
+            confirm-button-text="好的"
+            cancel-button-text="不用了"
+            icon="el-icon-info"
+            icon-color="red"
+            title="内容确定删除吗?"
+            @onConfirm="hanleDeleteAll"
+          >
+            <el-button
+              type="primary"
+              size="small"
+              slot="reference"
+              class="el-popover-left"
+              >删除</el-button
+            >
+          </el-popconfirm>
         </div>
         <div class="fr">
-          <el-button type="primary" size="small">导入</el-button>
+          <!-- <el-button type="primary" size="small">导入</el-button>
           <el-button type="primary" size="small">导出</el-button>
-          <el-button type="primary" size="small">打印</el-button>
+          <el-button type="primary" size="small">打印</el-button> -->
         </div>
       </div>
       <div class="mymain-container">
@@ -299,13 +314,9 @@ import ModifyListApproval from "./components/modify_list-approval.vue";
 import ModifyListDetail from "./components/modify_list-detail.vue";
 import Mixin from "@/mixin/index";
 import {
-  getProductRriceAdd,
-  getProductRriceConfirm,
   getProductRriceDetail,
-  getProductRriceEdit,
   getProductRriceList,
-  getProductRriceRevoke,
-  getProductRriceSubmit,
+  getProductRricedel,
 } from "@/api/basic_data/material";
 import { downloadFiles } from "@/utils/util";
 export default {
@@ -343,27 +354,28 @@ export default {
         materialNumber: "",
         startDate: "",
       },
+      liDetail: {},
       detail: {},
-      obj:{
-          baseUnitId: "",
-          batchPrice: "",
-          billId: "",
-          endDate: "",
-          id: null,
-          isPromote: "",
-          isPublish: "",
-          materialId: "",
-          materialName: "",
-          materialNumber: "",
-          parentId: "",
-          qty: "",
-          rebateUseRate: "",
-          retailPrice: "",
-          saleTypeId: "",
-          specification: "",
-          startDate: "",
-          wallets: [],
-        }
+      obj: {
+        baseUnitId: "",
+        batchPrice: "",
+        billId: "",
+        endDate: "",
+        id: null,
+        isPromote: "",
+        isPublish: "",
+        materialId: "4",
+        materialName: "",
+        materialNumber: "",
+        parentId: "",
+        qty: "",
+        rebateUseRate: "",
+        retailPrice: "",
+        saleTypeId: "",
+        specification: "",
+        startDate: "",
+        wallets: [],
+      },
     };
   },
   components: {
@@ -375,7 +387,15 @@ export default {
     addFn() {
       this.show = 2;
     },
-    approvalFn() {
+    hanleDeleteAll(id) {
+      this.hanleDeleteAllPromise(id).then((ids) => {
+        getProductRricedel(ids).then((res) => {
+          this.$successMsg("删除成功");
+          this.getList();
+        });
+      });
+    },
+    approvalFn(id) {
       getProductRriceDetail({ id }).then((res) => {
         this.detail = res.data;
         this.show = 3;

+ 6 - 6
src/views/basic_data/material/relation_list.vue

@@ -11,7 +11,7 @@
       >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="产品名称" prop="name">
+            <el-form-item label="产品名称" prop="materialName">
               <el-select placeholder="请选择产品品类" v-model="screenForm.name">
                 <el-option
                   v-for="item in materialLis"
@@ -160,7 +160,7 @@
           <el-table-column
             align="center"
             label="产品名称"
-            prop="name"
+            prop="materialName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -208,8 +208,8 @@
           ></el-table-column>
           <el-table-column
             align="center"
-            label="parts2"
-            prop="partsTwo"
+            label="配件2"
+            prop="parts2"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -312,7 +312,7 @@
         <el-form-item label="产品型号">
           <el-input v-model="diaLogForm.productModel"></el-input>
         </el-form-item>
-        <el-form-item label="套机棉麻">
+        <el-form-item label="套机编码">
           <el-input v-model="diaLogForm.composeNumber"></el-input>
         </el-form-item>
         <el-form-item label="产品体积">
@@ -509,7 +509,7 @@ export default {
   mounted() {
       let params = {
         pageNum:1,
-        pageSize: 410,
+        pageSize: 10,
         keyword: '',
       };
       getMaterialList(params).then((res) => {

+ 439 - 436
src/views/basic_data/supplier/components/supplier_list-detail.vue

@@ -3,341 +3,454 @@
     <div class="sty">
       <el-page-header @back="goBack" content="详情页面"> </el-page-header>
     </div>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>供应商编码</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">创建组织</span
-          ><input type="text" v-model="infoForm.createOrgName"
-        /></el-col>
-        <el-col :span="6"
-          ><span>使用组织</span><input type="text" v-model="infoForm.useOrgId"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">注册编码</span
-          ><input v-model="infoForm.regNumber" type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">编码</span
-          ><input v-model="infoForm.number" type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>名称</span><input v-model="infoForm.name" type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>简称</span><input v-model="infoForm.shortName" type="text"
-        /></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>基本信息</span>
-      </div>
-      <div class="baseInfo">
+    <el-form
+      :model="infoList"
+      label-width="130px"
+      size="small"
+      label-position="right"
+    >
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>供应商编码</strong>
+        </div>
         <div>
-          <div class="base-header">
-            <span>地址</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">国家</span
-              ><input v-model="infoForm.country" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">地区</span
-              ><input v-model="infoForm.provincial" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">通讯地址</span
-              ><textarea
-                v-model="infoForm.address"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-                class="textareaStyle"
-              ></textarea>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创建组织" prop="">
+                <el-input
+                  v-model="infoList.createOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">邮政编码</span
-              ><input v-model="infoForm.zip" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">语言</span
-              ><input v-model="infoForm.language" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">公司地址</span
-              ><textarea
-                v-model="infoForm.webSite"
-                class="textareaStyle"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-              ></textarea>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="使用组织" prop="takerName">
+                <el-input
+                  v-model="infoList.useOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册编码" prop="telephone">
+                <el-input
+                  v-model="infoList.regNumber"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="编码" prop="telephone">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="名称" prop="telephone">
+                <el-input
+                  v-model="infoList.name"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="简称" prop="telephone">
+                <el-input
+                  v-model="infoList.shortName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>基本信息</strong>
         </div>
+        <span>地址</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>注册</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">行业</span
-              ><input v-model="infoForm.trade" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">创立日期</span
-              ><input v-model="infoForm.foundDate" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">法人代表</span
-              ><input v-model="infoForm.legalPerson" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">注册资金(万元)</span
-              ><input v-model="infoForm.registerFund" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司规模工商登记号</span
-              ><input v-model="infoForm.registerCode" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">生产经许可证</span
-              ><input v-model="infoForm.tendPermit" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">统一社会信用代码</span
-              ><input v-model="infoForm.socialCreCode" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">注册地址</span
-              ><textarea
-                v-model="infoForm.registerAddress"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-                class="textareaStyle"
-              ></textarea>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="国家" prop="">
+                <el-input
+                  v-model="infoList.country"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="地区" prop="takerName">
+                <el-input
+                  v-model="infoList.provincial"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="通讯地址" prop="telephone">
+                <el-input
+                  v-model="infoList.address"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="邮政编码" prop="telephone">
+                <el-input
+                  v-model="infoList.zip"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="语言" prop="telephone">
+                <el-input
+                  v-model="infoList.language"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司网址" prop="telephone">
+                <el-input
+                  v-model="infoList.webSite"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+        <span>注册</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>管理</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">负责部门</span
-              ><input v-model="infoForm.deptName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">负责人</span
-              ><input v-model="infoForm.staffName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应商分类</span
-              ><input v-model="infoForm.supplierClassify" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应类别</span
-              ><select name="" id="" class="selectStyle">
-                <option value="">采购</option>
-              </select></el-col
-            >
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应商等级</span
-              ><input v-model="infoForm.supplierGrade" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">供应商分组</span
-              ><input v-model="infoForm.groupName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司类别</span
-              ><input v-model="infoForm.companyClassify" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="行业" prop="">
+                <el-input
+                  v-model="infoList.trade"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创立日期" prop="takerName">
+                <el-date-picker
+                  v-model="infoList.foundDate"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                  default-time="23:59:59"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="法人代表" prop="telephone">
+                <el-input
+                  v-model="infoList.legalPerson"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册资金" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工商登记号" prop="telephone">
+                <el-input
+                  v-model="infoList.registerFund"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="生产经营许可证" prop="telephone">
+                <el-input
+                  v-model="infoList.tendPermit"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="统一社会信用代码" prop="telephone">
+                <el-input
+                  v-model="infoList.socialCrecode"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册地址" prop="telephone">
+                <el-input
+                  v-model="infoList.registerAddress"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司性质</span
-              ><input v-model="infoForm.companyNature" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>管理</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="负责部门" prop="">
+                <el-input
+                  v-model="infoList.deptName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="负责人" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商分类" prop="telephone">
+                <el-input
+                  v-model="infoList.supplierClassify"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应类别" prop="telephone">
+                <el-select
+                  v-model="infoList.supplyClassify"
+                  placeholder="请选择"
+                >
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商等级" prop="telephone">
+                <el-input
+                  v-model="infoList.supplierGrade"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商分组" prop="telephone">
+                <el-input
+                  v-model="infoList.groupName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司类别" prop="telephone">
+                <el-input
+                  v-model="infoList.companyClassify"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司性质" prop="telephone">
+                <el-input
+                  v-model="infoList.companyNature"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司规模" prop="telephone">
+                <el-input
+                  v-model="infoList.companyScale"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应组织" prop="telephone">
+                <el-input
+                  v-model="infoList.correspondOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">公司规模</span
-              ><input v-model="infoForm.companyScale" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>商务信息</strong>
+        </div>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="采购组" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认价目表" prop="takerName">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="业务状态" prop="telephone">
+                <el-select v-model="infoList.useOrgName" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认折扣表" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结范围" prop="telephone">
+                <el-select placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供货方" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结人" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="VMI仓库" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结日期" prop="telephone">
+                <el-date-picker
+                  type="datetime"
+                  placeholder="选择日期时间"
+                  default-time="23:59:59"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="VMI业务" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="启用供应商协同" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="汇总公司" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="保证金比例" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认联系人" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">对应组织</span
-              ><input v-model="infoForm.correspondOrgName" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>财务信息</strong>
+        </div>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应客户" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单次预付额度" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发票类型" prop="telephone">
+                <el-select placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="税分类" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认税率" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="结算方式" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="描述" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="付款条件" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经营类型" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="收款方" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
-      </div>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>商务信息</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">采购组</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>默认价目表</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span>业务状态</span
-          ><select name="" id="" class="selectStyle2">
-            <option value="">正常</option>
-          </select></el-col
-        >
-        <el-col :span="6"><span>默认折扣表</span><input type="text" /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>冻结范围</span
-          ><select name="" id="" class="selectStyle2">
-            <option value=""></option></select
-        ></el-col>
-        <el-col :span="6"
-          ><span class="color">供货方</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>冻结人</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span class="color">VMI仓库</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>冻结日期</span><input type="date" class="inputDate"
-        /></el-col>
-        <el-col :span="6"><span>VMI业务</span><input type="checkbox" /></el-col>
-        <el-col :span="6"
-          ><span class="color">汇总公司</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>启用供应商协同</span><input type="checkbox"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"><span>保证金比例</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span class="color">默认联系人</span><input type="text"
-        /></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>财务信息</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">对应客户</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>单次预付额度</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">发票类型</span
-          ><select name="" id="" class="selectStyle2">
-            <option value="">正常</option>
-          </select></el-col
-        >
-        <el-col :span="6"
-          ><span class="color">结算币别</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">税分类</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">默认税率</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">结算方式</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>税务登记号</span><input type="text" /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>描述</span
-          ><textarea
-            class="textareaStyle"
-            name=""
-            id=""
-            cols="30"
-            rows="10"
-            style="width: 41%"
-          ></textarea>
-        </el-col>
-        <el-col :span="6"
-          ><span class="color">付款条件</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">经营类型</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">结算方</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">收款方</span><input type="text"
-        /></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-      </el-row>
-    </el-card>
+      </el-card>
+      <br />
+    </el-form>
   </div>
 </template>
 
@@ -350,58 +463,11 @@ export default {
     },
   },
   data() {
-    return {
-      infoForm: {
-        address: "",
-        auditName: "",
-        companyClassify: "",
-        companyNature: "",
-        companyScale: "",
-        correspondOrgName: "",
-        country: "",
-        createBy: "",
-        createOrgName: "",
-        createTime: "",
-        deptName: "",
-        forbidStatus: "",
-        foundDate: "",
-        groupName: "",
-        groupNumber: "",
-        id: "",
-        language: "",
-        legalPerson: "",
-        name: "",
-        number: "",
-        provincial: "",
-        regNumber: "",
-        registerAddress: "",
-        registerCode: "",
-        registerFund: 0,
-        shortName: "",
-        socialCreCode: "",
-        staffName: "",
-        supplierClassify: "",
-        supplierGrade: "",
-        supplyClassify: "",
-        syncTime: "",
-        tendPermit: "",
-        trade: "",
-        updateBy: "",
-        updateTime: "",
-        useOrgId: "",
-        useOrgName: "",
-        useOrgNumber: "",
-        webSite: "",
-        zip: "",
-      },
-    };
-  },
-  created() {
-    this.infoForm = this.infoList;
+    return {};
   },
+  created() {},
   methods: {
     goBack() {
-      console.log(this.$parent);
       this.$parent.isShow = true;
     },
   },
@@ -409,76 +475,13 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.baseWidth {
-  width: 46%;
-}
-.inputDate {
-  width: 41%;
-}
-.selectStyle2 {
-  width: 41%;
-}
-.selectStyle {
-  width: 31%;
-}
-
-.textareaStyle {
-  vertical-align: text-top;
-  resize: none;
-  width: 31%;
-  height: 100px;
-}
-.color {
-  color: #1f93ec;
-}
-.el-col-24 {
-  margin: 6px 0;
-}
-
-.marg-r {
-  padding-right: 15px;
-  font-size: 12px;
-  display: inline-block;
-  width: 120px;
-}
-.base-header {
-  height: 20px;
-  width: 60%;
-  border-bottom: 2px solid gray;
-  span {
-    width: 100px;
-    height: 100%;
-    display: block;
-    text-align: center;
-    color: #fff;
-
-    background-color: gray;
-  }
-}
-.box-card {
-  margin-bottom: 20px;
+::v-deep .el-date-editor--datetime {
+  width: 100%;
 }
-.el-col-6 {
-  span {
-    padding-right: 10px;
-    display: inline-block;
-    width: 100px;
-  }
-}
-.baseInfo {
-  display: flex;
-  justify-content: space-between;
-  > div {
-    width: 33%;
-  }
+::v-deep .el-select {
+  width: 100%;
 }
 .sty {
   margin-bottom: 20px;
 }
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
 </style>

+ 15 - 1
src/views/basic_data/taker/taker_car.vue

@@ -249,7 +249,7 @@ export default {
       },
       rules: {
         customerId: [
-          { required: true, message: "请选择活动区域", trigger: "change" },
+          { required: true, message: "请选择活动区域", trigger: "blur" },
         ],
         mobile: [
           {
@@ -304,6 +304,13 @@ export default {
     },
     //取消
     async cancelFn() {
+      this.addForm = {
+        customerId: "",
+        mobile: "",
+        carType: "",
+        volume: "",
+        carBrand: "",
+      };
       await this.$refs.addForm.resetFields();
       this.dialogForm = false;
     },
@@ -342,6 +349,13 @@ export default {
     },
     //新增
     addDataList() {
+      this.addForm = {
+        customerId: "",
+        mobile: "",
+        carType: "",
+        volume: "",
+        carBrand: "",
+      };
       this.dialogForm = true;
       this.getDealerDataList({ pageNum: 1, pageSize: 10 });
     },

+ 127 - 19
src/views/basic_data/taker/taker_list.vue

@@ -107,13 +107,6 @@
           ></el-table-column>
           <el-table-column
             align="center"
-            label="附件"
-            prop="attach"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
             label="有效期"
             prop="expireTime"
             min-width="160"
@@ -155,13 +148,34 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope"
-              ><el-button type="text" class="textColor">查看</el-button>
+              ><el-button
+                type="text"
+                class="textColor"
+                @click="seeFn(scope.row)"
+                >查看</el-button
+              >
+              <el-popconfirm
+                @onConfirm="deleFn(scope.row.id)"
+                title="这是一段内容确定删除吗?"
+              >
+                <el-button type="text" class="textColor" slot="reference"
+                  >删除</el-button
+                >
+              </el-popconfirm>
               <el-button
                 type="text"
                 class="textColor"
                 @click="stopFn(scope.row.id)"
+                v-if="scope.row.flag === 1"
                 >停用</el-button
               >
+              <el-button
+                type="text"
+                class="textColor"
+                @click="rebuild(scope.row)"
+                v-else-if="scope.row.flag === 2"
+                >重建</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
@@ -253,15 +267,15 @@
             </el-form-item></el-col
           >
         </el-row>
-        <!-- <el-form-item label="上传提货人附件">
-          <el-upload action="#" class="upload-demo" :on-success="handlefile">
-            <el-button size="small" type="info">点击上传</el-button>
-          </el-upload>
-        </el-form-item> -->
+        <el-form-item label="上传提货人附件" prop="fileUrl">
+          <fileUpload :fileList="fileList" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancelFn">取 消</el-button>
-        <el-button type="primary" @click="addDataFn">确 定</el-button>
+        <el-button v-if="showOK" type="primary" @click="addDataFn"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -273,12 +287,19 @@ import {
   addDataList,
   getCodeApi,
   stopTaker,
+  deleDataList,
 } from "@/api/basic_data/taker";
 import { getDealerList } from "@/api/basic_data/dealer";
 import { downloadFiles } from "@/utils/util";
+import fileUpload from "@/components/Common/file-upload.vue";
 export default {
+  components: {
+    fileUpload,
+  },
   data() {
     return {
+      baseURL: process.env.VUE_APP_BASE_API,
+      fileList: [],
       listLoading: false, // 列表加载loading
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
@@ -293,9 +314,10 @@ export default {
         expireTime: "",
         code: "",
       },
+
       rules: {
         customerId: [
-          { required: true, message: "请选择经销商", trigger: "change" },
+          { required: true, message: "请选择经销商", trigger: "blur" },
         ],
         takerName: [
           { required: true, message: "请输入提货人姓名", trigger: "blur" },
@@ -351,6 +373,8 @@ export default {
         telephone: "",
       },
       dealerList: [],
+      id: "", //重建之前的Id
+      showOK: true,
     };
   },
   async created() {
@@ -358,11 +382,49 @@ export default {
     await this.getDealerDataList({ pageNum: 1, pageSize: 10 });
   },
   methods: {
-    changFn(v) {
-      console.log(v);
+    //重建
+    rebuild(data) {
+      this.showOK = true;
+      this.id = data.id;
+      this.addForm = {
+        customerId: data.customerId,
+        takerName: data.takerName,
+        identity: data.identity,
+        phone: data.phone,
+
+        sparePhone: data.sparePhone,
+        expireTime: "",
+        code: "",
+      };
+      this.fileList = [];
+      this.dialogForm = true;
+    },
+    //删除
+    async deleFn(ids) {
+      await deleDataList({ ids });
+      this.$message.success("删除成功");
+      this.getDataList({ pageNum: 1, pageSize: 10 });
     },
+    //查看
+    seeFn(data) {
+      this.showOK = false;
+      this.addForm = data;
+      this.fileList = [];
+      this.dialogForm = true;
+    },
+
     //取消
     cancelFn() {
+      this.addForm = {
+        customerId: "",
+        takerName: "",
+        identity: "",
+        phone: "",
+
+        sparePhone: "",
+        expireTime: "",
+        code: "",
+      };
       this.$refs.addForm.resetFields();
       this.dialogForm = false;
     },
@@ -425,19 +487,65 @@ export default {
     },
     //新增
     async addDataFn() {
+      console.log(this.fileList);
+
       await this.$refs.addForm.validate();
 
       const res = this.dealerList.filter(
         (v) => v.id === this.addForm.customerId
       )[0];
       console.log(res);
-      await addDataList({ ...this.addForm, orgNumber: res.useOrgNumber });
+
+      if (this.fileList.length == 1) {
+        await addDataList({
+          ...this.addForm,
+          orgNumber: res.useOrgNumber,
+
+          fileName: this.fileList[0].name,
+          fileUrl: this.fileList[0].url,
+        });
+      } else {
+        await addDataList({
+          ...this.addForm,
+          orgNumber: res.useOrgNumber,
+
+          fileName: "",
+          fileUrl: "",
+        });
+      }
+
+      if (this.id) {
+        await deleDataList({ ids: this.id });
+      }
+
       this.$message.success("新增成功");
-      this.$refs.addForm.resetFields();
+      this.id = "";
+      // this.addForm = {
+      //   customerId: "",
+      //   takerName: "",
+      //   identity: "",
+      //   phone: "",
+
+      //   sparePhone: "",
+      //   expireTime: "",
+      //   code: "",
+      // };
       this.getDataList({ pageNum: 1, pageSize: 10 });
       this.dialogForm = false;
     },
     addFn() {
+      this.addForm = {
+        customerId: "",
+        takerName: "",
+        identity: "",
+        phone: "",
+
+        sparePhone: "",
+        expireTime: "",
+        code: "",
+      };
+      this.fileList = [];
+      this.showOK = true;
       this.dialogForm = true;
     },
   },

+ 29 - 5
src/views/basic_data/warehouse/warehouse_book.vue

@@ -45,7 +45,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.number"></el-input>
+              <el-input v-model="scope.row.number" :disabled="scope.row.isDisabled"></el-input>
             </template>
           </el-table-column>
           <el-table-column
@@ -56,7 +56,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.towerNum"></el-input>
+              <el-input v-model="scope.row.towerNum" :disabled="scope.row.isDisabled"></el-input>
             </template>
           </el-table-column>
 
@@ -64,12 +64,15 @@
             align="center"
             label="操作"
             min-width="160"
+
             show-overflow-tooltip
           >
-            <el-button type="text" class="textColor" @click="editFn"
+          <template slot-scope="scope">
+            <el-button type="text" class="textColor" @click="hanleEidt(scope.$index)"
               >编辑</el-button
             >
-            <el-button type="text" class="textColor">删除</el-button>
+            <el-button type="text" class="textColor" @click="hanleSave(scope.row)">保存</el-button>
+            </template>
           </el-table-column>
         </el-table>
       </div>
@@ -79,7 +82,7 @@
 
 <script>
 import Mixin from "@/mixin/index";
-import { getListReserve } from "@/api/basic_data/warehouse";
+import { getListReserve,addReserve } from "@/api/basic_data/warehouse";
 export default {
   mixins: [Mixin],
   data() {
@@ -114,12 +117,30 @@ export default {
           maxSets: "",
         },
       ],
+      index:0
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    hanleEidt(i){
+      this.dataList.forEach(e=>{
+        e.isDisabled = true
+      })
+      this.dataList[i].isDisabled = false
+    },
+    hanleSave(edata){
+      const params = {
+        ...edata
+      }
+    addReserve(params).then(res=>{
+       this.$successMsg("保存成功");
+       this.dataList.forEach(e=>{
+        e.isDisabled = true
+      })
+    })
+    },
     getList() {
       this.listLoading = true;
       let params = {
@@ -127,6 +148,9 @@ export default {
         pageSize: this.pageSize,
       };
       getListReserve(params).then((res) => {
+          res.data.records.forEach(el => {
+              el.isDisabled=true
+          });
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;

+ 64 - 52
src/views/basic_data/warehouse/warehouse_cost.vue

@@ -67,30 +67,17 @@
         <el-button
           type="primary"
           size="small"
-          @click="
-            () => {
-              (showDialog = true), (type = 1);
-            }
-          "
+          @click="(showDialog = true), (type = 1)"
           >新增</el-button
         >
-        <el-button
-          type="primary"
-          size="small"
-          @click="
-            () => {
-              (showDialog = true), (type = 2);
-            }
-          "
-          >编辑</el-button
-        >
+
         <el-popconfirm
           confirm-button-text="好的"
           cancel-button-text="不用了"
           icon="el-icon-info"
           icon-color="red"
           title="内容确定删除吗?"
-          @onConfirm="hanleDeleteAll"
+          @onConfirm="hanleDelete"
         >
           <el-button
             type="primary"
@@ -248,44 +235,53 @@
       :close-on-click-modal="false"
     >
       <el-form :model="dialogForm" label-width="100px" label-position="right">
-        <el-form-item label="经销商编码">
+        <el-form-item label="经销商编码" prop="customerNumber">
           <el-select
             v-model="dialogForm.customerNumber"
             placeholder="请选择活动区域"
             class="inputStyle"
-            v-el-select-loadmore="loadMore"
+            v-el-select-loadmore="loadmore"
           >
+            <!-- v-el-select-loadmore="loadMore" -->
             <el-option
-              v-for="item in customerList"
-              :key="item.id"
+              v-for="(item, index) in customerList"
+              :key="index"
               :label="item.number"
               :value="item.id"
             ></el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="经销商名称">
+        <el-form-item label="经销商名称" prop="customerName">
           <el-input
             v-model="dialogForm.customerName"
             class="inputStyle"
           ></el-input>
         </el-form-item>
-        <el-form-item label="仓库存放" class="sty">
+        <el-form-item label="仓库存放" class="sty" prop="freeDay">
           <el-input
+            type="number"
             v-model="dialogForm.freeDay"
             class="inputStyle"
           />天内可免费受存储管理费用. 当超过
           <el-input
+            type="number"
             v-model="dialogForm.freeDay"
             class="inputStyle"
           />天后,按每立方米
-          <el-input v-model="dialogForm.toll" class="inputStyle" />
+          <el-input
+            v-model="dialogForm.toll"
+            type="number"
+            class="inputStyle"
+          />
           元/天计算
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="showDialog = false">取 消</el-button>
-        <el-button type="primary" @click="hanleInfo">确 定</el-button>
+        <el-button @click="(showDialog = false), kong()">取 消</el-button>
+        <el-button type="primary" @click="hanleInfo(dialogForm)"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -294,7 +290,6 @@
 <script>
 import Mixin from "@/mixin/index";
 import { downloadFiles, handleImport } from "@/utils/util";
-
 import {
   getListToll,
   getDetail,
@@ -307,22 +302,26 @@ export default {
   mixins: [Mixin],
   data() {
     return {
+      dialogForm: {
+        id: null,
+        customerName: "",
+        customerNumber: "",
+        freeDay: 0,
+        toll: 0,
+      },
       sleectBox: {
         currentPage: 1, // 当前页码
         pageSize: 10, // 每页数量
         listTotal: 0, // 列表总数
       },
+      baseURL: "",
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
       importLoading: false, // 导入加载loading
       importFileList: [], // 导入列表
-      dialogForm: {
-        customerName: "",
-        customerNumber: "",
-        freeDay: 0,
-        toll: 0,
-      },
+
+      customerList: [],
       showDialog: false,
       dataList: [],
       screenForm: {
@@ -355,7 +354,7 @@ export default {
           const condition =
             this.scrollHeight - this.scrollTop <= this.clientHeight;
           if (condition) {
-            console.log("到底", binding);
+            binding.value();
           }
         });
       },
@@ -363,33 +362,37 @@ export default {
   },
   methods: {
     editFn(id, row) {
-      this.type = 2;
-      this.diaLogForm = {
-        id,
+      (this.dialogForm = {
+        id: id,
         customerName: row.customerName,
         customerNumber: row.customerNumber,
         freeDay: row.freeDay,
         toll: row.toll,
-      };
+      }),
+        (this.type = 2);
       this.showDialog = true;
     },
-    hanleInfo() {
+    hanleInfo(dialogForm) {
       if (this.type === 1) {
-        addToll(this.diaLogForm).then((res) => {
+        const params = {
+          ...dialogForm,
+        };
+        console.log(params, 78798);
+        addToll(params).then((res) => {
           this.$successMsg("保存成功");
-          console.log(params, 123);
+          this.kong();
           this.getList();
         });
       } else if (this.type === 2) {
-        const params = {
-          ...this.diaLogForm,
+        const paramss = {
+          ...this.dialogForm,
         };
-        console.log(params, 123);
-        updateToll(params).then((res) => {
+        updateToll(paramss).then((res) => {
           this.$successMsg("编辑成功");
+          this.kong();
+          this.diaLogForm.id = null;
           this.getList();
         });
-        this.diaLogForm.id = null;
       }
       this.showDialog = false;
     },
@@ -410,7 +413,6 @@ export default {
     },
     loadmore() {
       this.sleectBox.currentPage++;
-      console.log(1233);
       this.getCustomerList();
     },
     getCustomerList() {
@@ -420,15 +422,17 @@ export default {
         keyword: "",
       };
       getCustomerList(params).then((res) => {
-        this.customerList = res.data.records;
+        if (res.data.records.length) {
+            this.customerList = [...this.customerList, ...res.data.records];
+        }
         // this.listTotal = res.data.total;
       });
     },
-    hanleDetail(detail) {
-      this.type = null;
-      this.showDialogForm = true;
-      this.diaLogForm = detail;
-    },
+    // hanleDetail(detail) {
+    //   this.type = null;
+    //   this.showDialog = true;
+    //   this.diaLogForm = detail;
+    // },
 
     handleExport() {
       let screenData = {
@@ -466,6 +470,14 @@ export default {
         });
       }
     },
+    kong() {
+      this.dialogForm = {
+        customerName: "",
+        customerNumber: "",
+        freeDay: 0,
+        toll: 0,
+      };
+    },
   },
 };
 </script>

+ 2 - 2
src/views/basic_data/warehouse/warehouse_list.vue

@@ -43,11 +43,11 @@
             highlight-current-row
             stripe
           >
-            <el-table-column
+            <!-- <el-table-column
               type="selection"
               align="center"
               min-width="100"
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="编码"

+ 319 - 0
src/views/issue/index.vue

@@ -0,0 +1,319 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="60px" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="18" :lg="18">
+            <el-form-item label="标题" prop="title">
+              <el-input v-model="screenForm.title" placeholder="请输入标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="6" :lg="6" class="tr">
+            <el-form-item label="">
+              <el-button size="small" @click="resetScreenForm">清空</el-button>
+              <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button class="fl" size="small" type="primary" icon="el-icon-plus" @click="clickImport()">新增</el-button>
+          <div class="tips fl">导入模板第一行必须为空白行、第一列必须为公司编号(S9219801)</div>
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="center" label="操作" fixed="right" width="160">
+            <template slot-scope="scope">
+              <el-button type="text" @click="openDetail(scope.row.id)" v-if="checkBtnRole('edit')">详情</el-button>
+              <el-button type="text" @click="handleExport(scope.row)" v-if="checkBtnRole('edit')">下载</el-button>
+              <el-popconfirm style="margin-left: 10px;" title="确定删除吗?" @onConfirm="deleteData(scope.row.id)">
+                <el-button slot="reference" type="text">删除</el-button>
+              </el-popconfirm>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="标题" prop="title" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="操作人" prop="operatorUserName" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.operatorNickName}}({{scope.row.operatorUserName}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="创建时间" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
+          
+        </el-table>
+      </div>
+      
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+
+    <!-- 新增 -->
+    <el-dialog title="新增" :visible.sync="importFormDialog" :show-close="false" width="40%" :close-on-click-modal="false">
+      <el-form ref="importForm" label-position="left" label-width="80px">
+        <el-form-item label="标题" prop="title">
+          <el-input v-model="importForm.title" placeholder="请输入标题"></el-input>
+        </el-form-item>
+        <el-form-item label="上传文件" prop="fileUrl">
+          <FileUpload :fileList="fileList" :fileType="['excel']" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input type="textarea" v-model="importForm.remark" placeholder="请输入备注"></el-input>
+        </el-form-item>
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancelImportForm">取 消</el-button>
+        <el-button type="primary" @click="submitImportForm">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 详情 -->
+    <el-dialog title="详情" :visible.sync="detailDialog" :show-close="false" width="70%" :close-on-click-modal="false">
+      <div class="table" style="margin: 10px 0 20px;">
+        <el-table 
+          v-loading="detailTable_listLoading" 
+          :data="detailTable_dataList" 
+          element-loading-text="Loading" 
+          tooltip-effect="dark" 
+          style="width: 100%" 
+          max-height="270">
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" prop="title" label="标题" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="websitNumber" label="网点名称" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.websitName}}({{scope.row.websitNumber}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="createTime" label="下载时间" min-width="160"></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="detailTableCurrentChange"
+            :current-page="detailTable_currentPage"
+            :page-size="detailTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="detailTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="detailDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { getToken } from '@/utils/auth'
+import { getList, getDownloadList, deleteData, exportFile, handleImport } from '@/api/issue'
+import FileUpload from '@/components/Common/file-upload.vue'
+
+export default {
+  components: {
+    FileUpload
+  },
+  data() {
+    return {
+      imageURL: this.$imageUrl,
+      dataList: null, // 列表数据
+      listLoading: true, // 列表加载loading
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      screenForm: { // 筛选表单数据
+        title: '',
+      },
+      importForm: {
+        title: '',
+        remark: '',
+      },
+      importFormDialog: false,
+      fileList: [],
+
+      detailDialog: false, // 详情 - 弹窗
+      detailTable_dataList: null, // 详情 - 列表数据
+      detailTable_listLoading: true, // 详情 - 列表加载loading
+      detailTable_currentPage: 1, // 详情 - 当前页码
+      detailTable_pageSize: 10, // 详情 - 每页数量
+      detailTable_listTotal: 0, // 详情 - 列表总数
+    }
+  },
+  computed: {
+    
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      return true;
+      let btnRole = this.$route.meta.roles;
+      if(!btnRole) {return true}
+      let index = btnRole.indexOf(value);
+      return index >= 0 ? true : false;
+    },
+
+    // 获取列表
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNo: this.currentPage,
+        pageSize: this.pageSize,
+        title: this.screenForm.title,
+      }
+      getList(params).then(res => {
+        this.listLoading = false;
+        this.dataList = res.data ? res.data.records : [];
+        this.listTotal = res.data ? res.data.total : 0;
+      })
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 操作 - 删除
+    deleteData(id) {
+      deleteData({id}).then(res => {
+        this.getList();
+        this.$successMsg();
+      })
+    },
+
+    // 详情 - 获取列表
+    getDownloadList() {
+      getDownloadList({
+        pageNo: this.detailTable_currentPage,
+        pageSize: this.detailTable_pageSize,
+        id: this.detailId
+      }).then(res => {
+        this.detailTable_dataList = res.data.records;
+        this.detailTable_listTotal = res.data.total;
+        this.detailTable_listLoading = false;
+      })
+    },
+
+    // 详情 - 打开弹窗
+    openDetail(id) {
+      this.detailId = id;
+      this.detailDialog = true;
+      this.detailTable_currentPage = 1;
+      this.getDownloadList();
+    },
+
+    // 详情 - 更改列表当前页
+    detailTableCurrentChange(val) {
+      this.detailTable_currentPage = val;
+      this.getDownloadList();
+    },
+
+    // 点击导入
+    clickImport() {
+      this.importFormDialog = true;
+    },
+
+    // 取消 导入
+    cancelImportForm(){
+      this.importFormDialog = false;
+      this.fileList = [];
+      this.importForm.title = '';
+      this.importForm.remark = '';
+    },
+
+    // 导入
+    async submitImportForm() {
+      if(!this.importForm.title) {
+        return this.$errorMsg('请填写标题');
+      }
+      if(this.fileList.length <= 0) {
+        return this.$errorMsg('请上传文件');
+      }
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      const formData = {
+        file: this.fileList[0].url,
+        title: this.importForm.title,
+        remark: this.importForm.remark
+      };
+      handleImport(formData).then(res => {
+        this.fileList = [];
+        this.getList();
+        this.importFormDialog = false;
+      }).catch(res => {
+        this.$errorMsg(res.message);
+      }).finally(res => {
+        loading.close();
+      })
+    },
+
+    // 下载
+    handleExport(item) {
+      exportFile({id: item.id}).then(res => {
+        if(res.data) {
+          window.open(this.imageURL + res.data);
+        }
+      })
+    },
+
+  }
+}
+</script>
+
+<style scoped>
+.tips {
+  font-size: 14px;
+  color: red;
+  line-height: 32px;
+  margin-left: 10px;
+}
+</style>

+ 484 - 107
src/views/notice/index.vue

@@ -2,21 +2,37 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
-      <div class="top clearfix">
-        <div class="title fl">条件筛选</div>
-      </div>
-      <el-form ref="screenForm" :model="screenForm" label-width="50px" size="small" label-position="left">
+      <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="标志" prop="readFlag">
-              <el-select v-model="screenForm.readFlag" placeholder="全部标志" size="small">
-                <el-option label="全部" value=""></el-option>
-                <el-option label="未读" value="false"></el-option>
-                <el-option label="已读" value="true"></el-option>
-              </el-select>
+            <el-form-item label="通知类型" prop="type">
+              <el-input v-model="screenForm.type" placeholder="请输入通知类型"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="文件编码" prop="code">
+              <el-input v-model="screenForm.code" placeholder="请输入文件编码"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="文件标题" prop="title">
+              <el-input v-model="screenForm.title" placeholder="请输入文件标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="发布日期" prop="date">
+              <el-date-picker
+                v-model="screenForm.date"
+                type="datetimerange"
+                range-separator="至"
+                style="width: 100%;"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="18" class="tr">
+          <el-col :xs="24" :sm="24" :lg="24" class="tr">
             <el-form-item label="">
               <el-button size="small" @click="resetScreenForm">清空</el-button>
               <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -29,39 +45,33 @@
     <div class="mymain-container">
       <div class="btn-group clearfix">
         <div class="fl">
-          <el-button size="small" @click="changeReadFlag('ALL')">全部标为已读</el-button>
-          <el-button size="small" @click="changeReadFlag('SEL')">标为已读消息</el-button>
+          <el-button class="fl" size="small" type="primary" icon="el-icon-plus" @click="openMainForm()">新增</el-button>
+          <el-button class="fl" size="small" type="danger" icon="el-icon-minus" @click="batchDelete()">批量删除</el-button>
         </div>
       </div>
-
       <div class="table">
-        <el-table ref="noticeTable" v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
-          <el-table-column align="center" type="selection" width="40" :selectable="checkSelRow"></el-table-column>
-          <el-table-column align="center" label="消息编号" prop="noticeId" min-width="180"></el-table-column>
-          <el-table-column align="center" label="订单编号" prop="objId" min-width="180"></el-table-column>
-          <el-table-column align="center" label="标题" prop="title" min-width="80"></el-table-column>
-          <el-table-column align="center" label="消息类型" prop="type">
-            <template slot-scope="scope">
-              {{ scope.row.type | NOTICE_CURRENT_TYPE_FILTER }}
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="消息内容" prop="content" min-width="200"></el-table-column>
-          <el-table-column align="center" label="状态" class-name="status-col">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe @selection-change="handleSelectionChange">
+          <el-table-column align="center" label="操作" fixed="right" width="120">
             <template slot-scope="scope">
-              <el-tag :type="scope.row.readFlag ? 'success' : 'danger'">{{ scope.row.readFlag ? '已读' : '未读'}}</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
-          <el-table-column align="center" label="操作" fixed="right" width="100">
-            <template slot-scope="scope">
-              <template v-if="checkBtnRole('status')">
-                <el-button type="text" v-if="scope.row.type === 1" @click="goOrderDetail(scope.row)">查看记录</el-button>
-              </template>
+              <el-button type="text" @click="openDetail(scope.row.id)" v-if="checkBtnRole('edit')">浏览</el-button>
+              <el-popconfirm style="margin-left: 10px;" title="确定删除吗?" @onConfirm="deleteData(scope.row.noticeId)">
+                <el-button slot="reference" type="text">删除</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
+          <el-table-column align="center" type="selection" width="55"></el-table-column>
+          <el-table-column align="center" label="通知类型" prop="type" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="文件编码" prop="code" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="文件标题" prop="title" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="接收人" prop="adminNickName" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发送人" prop="issueNickName" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发送人编号" prop="issueUserId" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发布日期" prop="issueTime" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="创建时间" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
+          <!-- <el-table-column align="center" label="已确认" prop="readFlag" min-width="140" show-overflow-tooltip></el-table-column> -->
         </el-table>
       </div>
-
+      
       <div class="pagination clearfix">
         <div class="fr">
           <el-pagination
@@ -76,116 +86,483 @@
         </div>
       </div>
     </div>
+
+    <!-- 新增 -->
+    <el-dialog title="新增" :visible.sync="mainFormDialog" :show-close="false" width="60%" :close-on-click-modal="false">
+      <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-position="right" label-width="90px">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="通知类型" prop="type">
+              <el-input v-model="mainForm.type" placeholder="请输入通知类型"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="文件编号" prop="code">
+              <el-input v-model="mainForm.code" placeholder="请输入文件编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="文件标题" prop="title">
+              <el-input v-model="mainForm.title" placeholder="请输入文件标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="来源" prop="source">
+              <el-input v-model="mainForm.source" placeholder="请输入来源"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="发布日期" prop="date">
+              <el-date-picker
+                v-model="mainForm.date"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                style="width: 100%"
+                placeholder="选择发布日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="发布内容" prop="content">
+              <el-input type="textarea" v-model="mainForm.content" placeholder="请输入发布内容" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="接收人" prop="department">
+              <el-tree
+                :data="departmentList"
+                show-checkbox
+                node-key="adminWebsitId"
+                ref="tree"
+                highlight-current
+                :props="props">
+              </el-tree>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="上传附件" prop="fileUrl">
+          <ImageUpload :fileList="fileList" :multiple="true" />
+        </el-form-item>
+        
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeMainForm">取 消</el-button>
+        <el-button type="primary" @click="submitMainForm">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 已阅记录 -->
+    <el-dialog title="已阅记录" :visible.sync="recordDialog" :show-close="false" width="70%" :close-on-click-modal="false">
+      <div class="table" style="margin: 10px 0 20px;">
+        <el-table 
+          v-loading="detailTable_listLoading" 
+          :data="detailTable_dataList" 
+          element-loading-text="Loading" 
+          tooltip-effect="dark" 
+          style="width: 100%" 
+          max-height="270">
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" prop="title" label="标题" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="websitNumber" label="网点名称" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.websitName}}({{scope.row.websitNumber}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="createTime" label="下载时间" min-width="160"></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="detailTableCurrentChange"
+            :current-page="detailTable_currentPage"
+            :page-size="detailTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="detailTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="recordDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 详情 -->
+    <el-dialog title="浏览" :visible.sync="detailDialog" width="60%" :close-on-click-modal="false">
+      <div class="detail-container">
+        <div class="title">{{detailData.title}}</div>
+        <div class="text">发布人:{{detailData.issueNickName}}<el-divider direction="vertical"></el-divider>发布时间:{{detailData.issueTime}}</div>
+        <el-divider></el-divider>
+        <div class="content">{{detailData.content}}</div>
+        <el-divider v-if="detailData.files && detailData.files.length > 0"></el-divider>
+        <div class="file" v-if="detailData.files && detailData.files.length > 0">
+          <div>附件:</div>
+          <div class="file-list">
+            <div v-for="(item, index) in detailData.files" :key="index" class="item">
+              <el-image v-if="checkFileType(item.url) == 'image'" class="img" :src="imageURL + item.url" :preview-src-list="[imageURL + item.url]"></el-image>
+              <div v-else class="box2" @click="openLink(item.url)">
+                <img src="@/assets/common/word.png" v-if="checkFileType(item.url) == 'word'" />
+                <img src="@/assets/common/excel.png" v-if="checkFileType(item.url) == 'excel'" />
+                <img src="@/assets/common/ppt.png" v-if="checkFileType(item.url) == 'ppt'" />
+                <img src="@/assets/common/pdf.png" v-if="checkFileType(item.url) == 'pdf'" />
+                <div class="name ellipsis-3">{{ item.name }}</div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="confirmCheck(detailData.id)" v-if="!detailData.readFlag">确认接收</el-button>
+        <el-button @click="detailDialog = false" v-if="detailData.readFlag">关 闭</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import { getNoticeList, changeAllReadFlag, changeReadFlag } from "@/api/notice";
+import { getList, getDownloadList, deleteData, addData, getDepartmentList, getDetail, confirmCheck } from '@/api/notice'
+import { getFileUrl } from '@/api/common';
+import ImageUpload from '@/components/Common/image-upload.vue'
 
 export default {
-  name: "index",
+  components: {
+    ImageUpload
+  },
   data() {
     return {
+      imageURL: this.$imageUrl,
       dataList: null, // 列表数据
       listLoading: true, // 列表加载loading
-      screenForm: { // 筛选表单数据
-        readFlag: '' //
-      },
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
-      listTotal: 0 // 列表总数
+      listTotal: 0, // 列表总数
+      screenForm: { // 筛选表单数据
+        type: '',
+        code: '',
+        title: '',
+        date: '',
+      },
+      mainForm: {
+        type: '',
+        code: '',
+        title: '',
+        source: '',
+        department: '',
+        date: '',
+        content: '',
+      },
+      mainFormRules: {
+        type: [
+          { required: true, message: '请输入通知类型', trigger: 'blur' }
+        ],
+        title: [
+          { required: true, message: '请输入文件标题', trigger: 'blur' }
+        ],
+        date: [
+          { required: true, message: '请选择发布日期', trigger: 'change' }
+        ],
+        content: [
+          { required: true, message: '请输入发布内容', trigger: 'blur' }
+        ],
+      },
+      mainFormDialog: false,
+      fileList: [],
+
+      departmentList: [],
+      props: {
+        multiple: true,
+        value: 'adminWebsitId',
+        label: 'name',
+        children: 'children',
+      },
+
+      detailDialog: false, // 详情 - 弹窗
+      detailData: {},
+
+      multipleSelection: [],
+
+      recordDialog: false, // 已阅记录 - 弹窗
+      detailTable_dataList: null, // 已阅记录 - 列表数据
+      detailTable_listLoading: true, // 已阅记录 - 列表加载loading
+      detailTable_currentPage: 1, // 已阅记录 - 当前页码
+      detailTable_pageSize: 10, // 已阅记录 - 每页数量
+      detailTable_listTotal: 0, // 已阅记录 - 列表总数
     }
   },
+  computed: {
+    
+  },
   created() {
-    this.getList()
+    this.getList();
   },
   methods: {
     // 查询按钮权限
     checkBtnRole(value) {
-      // let btnRole = this.$route.meta.roles;
-      // if(!btnRole) {return true}
-      // let index = btnRole.indexOf(value);
-      // return index >= 0 ? true : false;
-      return true
+      return true;
+      let btnRole = this.$route.meta.roles;
+      if(!btnRole) {return true}
+      let index = btnRole.indexOf(value);
+      return index >= 0 ? true : false;
+    },
+
+    // 获取部门列表
+    getTree() {
+      getDepartmentList().then(res => {
+        this.departmentList = res.data;
+      })
     },
+
+    // 获取列表
     getList() {
+      this.listLoading = true;
       let params = {
-        readFlag: this.screenForm.readFlag,
         pageNum: this.currentPage,
-        pageSize: this.pageSize
+        pageSize: this.pageSize,
+        type: this.screenForm.type,
+        code: this.screenForm.code,
+        title: this.screenForm.title,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       }
-
-      getNoticeList(params).then(res => {
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
+      getList(params).then(res => {
+        this.listLoading = false;
+        this.dataList = res.data ? res.data.records : [];
+        this.listTotal = res.data ? res.data.total : 0;
       })
     },
-    // 检查行能否选中
-    checkSelRow(row) {
-      return !row.readFlag
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
     },
+
     // 提交筛选表单
     submitScreenForm() {
-      this.currentPage = 1
-      this.getList()
+      this.currentPage = 1;
+      this.getList();
     },
+
     // 重置筛选表单
     resetScreenForm() {
-      this.$refs.screenForm.resetFields()
-      this.currentPage = 1
-      this.getList()
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
     },
-    // 更改每页数量
-    handleSizeChange(val) {
-      this.pageSize = val
-      this.currentPage = 1
-      this.getList()
+
+    // 表格选择
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
     },
-    // 更改当前页
-    handleCurrentChange(val) {
-      this.currentPage = val
-      this.getList()
-    },
-    changeReadFlag(type) {
-      if (type === 'ALL') {
-        changeAllReadFlag().then(() => {
-          this.getList()
-          this.$successMsg('全部标为已读成功')
+
+    // 批量删除
+    batchDelete() {
+      if(this.multipleSelection.length < 1) {
+        return this.$errorMsg('请选择信息');
+      }
+      this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let ids = [];
+        this.multipleSelection.forEach(item => {
+          ids.push(item.noticeId);
+        });
+        deleteData({noticeIds: ids.join(',')}).then(res => {
+          this.$successMsg('删除成功');
+          this.getList();
         })
-      } else {
-        if (this.$refs['noticeTable'].selection.length > 0) {
-          let noticeIds = []
-          this.$refs['noticeTable'].selection.forEach(row => {
-            noticeIds.push(row.noticeId)
-          })
-          changeReadFlag(noticeIds).then(() => {
-            this.getList()
-            this.$successMsg('标为已读成功')
+      }).catch(() => {});
+    },
+
+    // 操作 - 删除
+    deleteData(id) {
+      deleteData({noticeIds: id}).then(res => {
+        this.$successMsg('删除成功');
+        this.getList();
+      })
+    },
+
+    // 详情 - 打开弹窗
+    openDetail(id) {
+      getDetail({id}).then(res => {
+        this.detailData = res.data;
+        this.detailDialog = true;
+      })
+    },
+
+    // 检查文件类型
+    checkFileType(url) {
+      if(!url) return '';
+			const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
+
+			if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+				return 'image';
+			}else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+				return 'word';
+			}else if(['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+				return 'excel';
+			}else if(['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+				return 'ppt';
+			}else if(['pdf'].includes(fileSuffix)) {
+				return 'pdf';
+			}else {
+        return '';
+      }
+		},
+
+    // 打开链接
+    openLink(url) {
+      getFileUrl({key: url}).then(res => {
+        window.open(res.data);
+      })
+    },
+
+    // 确认查收
+    confirmCheck(id) {
+      confirmCheck({noticeIds: id}).then(res => {
+        this.$successMsg('查收成功');
+        this.detailDialog = false;
+        this.getList();
+      })
+    },
+
+    // 已阅记录 - 获取列表
+    getDownloadList() {
+      getDownloadList({
+        pageNo: this.detailTable_currentPage,
+        pageSize: this.detailTable_pageSize,
+        id: this.recordId
+      }).then(res => {
+        this.detailTable_dataList = res.data.records;
+        this.detailTable_listTotal = res.data.total;
+        this.detailTable_listLoading = false;
+      })
+    },
+
+    // 已阅记录 - 打开弹窗
+    openRecord(id) {
+      this.recordId = id;
+      this.recordDialog = true;
+      this.detailTable_currentPage = 1;
+      this.getDownloadList();
+    },
+
+    // 已阅记录 - 更改列表当前页
+    detailTableCurrentChange(val) {
+      this.detailTable_currentPage = val;
+      this.getDownloadList();
+    },
+
+    // 打开 表单
+    openMainForm() {
+      this.getTree();
+      this.mainFormDialog = true;
+    },
+
+    // 关闭 表单
+    closeMainForm(){
+      this.mainFormDialog = false;
+      this.fileList = [];
+      this.$refs.mainForm.resetFields();
+    },
+
+    // 提交 表单
+    async submitMainForm() {
+      this.$refs.mainForm.validate((valid) => {
+        if (valid) {
+          let params = {
+            type: this.mainForm.type,
+            code: this.mainForm.code,
+            title: this.mainForm.title,
+            source: this.mainForm.source,
+            issueTime: this.mainForm.date,
+            content: this.mainForm.content,
+            adminWebsitIds: this.$refs.tree.getCheckedKeys(),
+            files: this.fileList,
+          };
+          addData(params).then(res => {
+            this.closeMainForm();
+            this.getList();
+            this.mainFormDialog = false;
           })
-        } else {
-          this.$errorMsg("请先选择消息!")
         }
-      }
+      })
     },
-    goOrderDetail(row) {
-      let noticeIds = []
-      noticeIds.push(row.noticeId)
-      changeReadFlag(noticeIds)
-      let {href} = this.$router.resolve({path: `/order/detail?orderId=${row.objId}`});
-      window.open(href, '_blank');
-      // this.$router.push({
-      //   path: '/order/detail',
-      //   query: {
-      //     orderId: row.objId,
-      //     type: 'notice'
-      //   }
-      // })
-    }
+
   }
 }
 </script>
 
-<style scoped>
-
-</style>
+<style scoped lang="scss">
+  .detail-container {
+    .title {
+      font-size: 16px;
+      color: #333333;
+      font-weight: 600;
+    }
+    .text {
+      font-size: 14px;
+      color: #999999;
+      margin-top: 10px;
+    }
+    .content {
+      font-size: 14px;
+      color: #666666;
+      line-height: 20px;
+    }
+    .file {
+      .file-list {
+        display: flex;
+        .item {
+          margin-top: 10px;
+          margin-right: 10px;
+        }
+      }
+      .img {
+        width: 80px;
+        height: 80px;
+        display: block;
+        border: 1px solid #e4e7ed;
+      }
+      .box2 {
+        flex: 1;
+        display: flex;
+        padding: 10px;
+        align-items: center;
+        border: 1px solid #e4e7ed;
+        width: 240px;
+        height: 80px;
+        cursor: pointer;
+        img {
+          width: 40px;
+          height: 40px;
+          display: block;
+        }
+        .name {
+          flex: 1;
+          color: #222;
+          font-weight: 600;
+          margin-left: 10px;
+        }
+      }
+    }
+  }
+  .el-divider--horizontal {
+    margin: 16px 0;
+  }
+</style>

+ 23 - 16
src/views/sales_policy/components/AddCondition.vue

@@ -13,12 +13,12 @@
               <el-row class="pdt">
                 <el-button
                   type="primary"
-                  size="default"
+                  size="small"
                   @click="centerDialogVisible = true"
                   >添加机型</el-button
                 >
 
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small" @click=""
                   >删除机型</el-button
                 >
               </el-row>
@@ -38,10 +38,10 @@
           <el-col :xs="24" :sm="12" :lg="12" class="mgb">
             <el-row>
               <el-row class="pdt">
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small" @click=""
                   >添加机型</el-button
                 >
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small" @click=""
                   >删除机型</el-button
                 >
               </el-row>
@@ -60,17 +60,24 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :xs="24" :sm="4" :lg="4" class="mgb">配置比例设置</el-col>
-          <el-col :xs="24" :sm="4" :lg="4" class="mgb">限定机型</el-col>
-          <el-col :xs="24" :sm="6" :lg="4" class="mgb">
-            <input type="text" :value="1"
-          /></el-col>
-          <el-col :xs="24" :sm="4" :lg="4" class="mgb">配提比例</el-col>
-          <el-col :xs="24" :sm="4" :lg="4" class="mgb">
-            <input type="text" :value="1"
-          /></el-col>
+          <el-form label-width="120px" :inline="false" size="small">
+            <el-col :xs="24" :sm="2" :lg="2">
+              <el-form-item label="配置比例设置"> </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="9" :lg="9">
+              <el-form-item label="限定机型">
+                <el-input size="small"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="9" :lg="9">
+              <el-form-item label="配提比例">
+                <el-input size="small"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+
           <el-col class="text_rihgt" v-if="false">
-            <el-button type="primary" size="default" @click=""
+            <el-button type="primary" size="small" @click=""
               >添加限定条件</el-button
             ></el-col
           >
@@ -79,8 +86,8 @@
       </el-row>
     </el-main>
     <el-footer height="100px">
-      <el-button type="primary" size="default" @click="">保存</el-button>
-      <el-button type="primary" size="default" @click="">重置</el-button>
+      <el-button type="primary" size="small" @click="">保存</el-button>
+      <el-button type="primary" size="small" @click="">重置</el-button>
     </el-footer>
     <AddModel :centerDialogVisible="centerDialogVisible" />
   </el-container>

+ 103 - 75
src/views/sales_policy/components/AddPolicy.vue

@@ -1,6 +1,6 @@
 <template>
-  <el-container :direction="vertical">
-    <el-header height="" class="pdt">
+  <div class="app-container">
+    <div class="screen-container">
       <h4>销售政策信息</h4>
       <el-divider></el-divider>
       <el-form
@@ -8,11 +8,11 @@
         :rules="rules"
         ref="ruleForm"
         label-width="120px"
-         size="small" label-position="left"
+        size="small"
         class="demo-ruleForm"
       >
-        <el-row type="flex">
-          <el-col :span="9">
+        <el-row>
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="销售政策编号" prop="name">
               <el-input
                 v-model="ruleForm.name"
@@ -20,7 +20,7 @@
               ></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="15">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="销售政策说明" prop="name">
               <el-input
                 v-model="ruleForm.name"
@@ -28,9 +28,7 @@
               ></el-input>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row type="flex">
-          <el-col :span="9">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="销售政策类型" prop="name">
               <el-select v-model="value" placeholder="请选择">
                 <el-option
@@ -43,7 +41,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="9">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="支付钱包类型" prop="name">
               <el-select v-model="value" placeholder="请选择">
                 <el-option
@@ -56,69 +54,71 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
-          <el-form-item label="表头备注" prop="name">
-            <el-input
-              v-model="ruleForm.name"
-              placeholder="新风机变频挂机。按提货数量1:3开单"
-            ></el-input>
-          </el-form-item>
-        </el-row>
-        <el-row type="flex">
-          <el-col :span="9">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="制单人" prop="name">
               <el-input
                 v-model="ruleForm.name"
                 placeholder=""
               ></el-input> </el-form-item
           ></el-col>
-          <el-col :span="9">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="制单日期" prop="name">
               <el-input
                 v-model="ruleForm.name"
                 placeholder="如未填写,则系统自动生成"
               ></el-input> </el-form-item
           ></el-col>
-        </el-row>
-        <el-row type="flex">
-          <el-col :span="9">
+
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="生效日期" prop="name">
               <el-input
                 v-model="ruleForm.name"
                 placeholder=""
               ></el-input> </el-form-item
           ></el-col>
-          <el-col :span="9">
+          <el-col :xs="24" :ms="12" :lg="12">
             <el-form-item label="失效日期" prop="name">
               <el-input
                 v-model="ruleForm.name"
                 placeholder=""
               ></el-input> </el-form-item
           ></el-col>
-        </el-row>
-        <el-row>
-          <el-form-item label="政策封面图">
-            <el-upload
-              class="avatar-uploader"
-              action="https://jsonplaceholder.typicode.com/posts/"
-              :show-file-list="false"
-              :on-success="handleAvatarSuccess"
-              :before-upload="beforeAvatarUpload"
-            >
-              <img v-if="imageUrl" :src="imageUrl" class="avatar" />
-              <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-            </el-upload>
-          </el-form-item>
+          <el-col :xs="24" :ms="24" :lg="24">
+            <el-form-item label="表头备注" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="新风机变频挂机。按提货数量1:3开单"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="24" :lg="24">
+            <el-form-item label="政策封面图">
+              <el-upload
+                class="avatar-uploader"
+                action="https://jsonplaceholder.typicode.com/posts/"
+                :show-file-list="false"
+                :on-success="handleAvatarSuccess"
+                :before-upload="beforeAvatarUpload"
+              >
+                <img v-if="imageUrl" :src="imageUrl" class="avatar" />
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
-    </el-header>
-    <el-main>
+    </div>
+    <div class="mymian-container">
       <el-row>
         <el-divider></el-divider>
-        <el-row type="flex" align="middle">
-          <el-col :span="2"> <h4>货品信息</h4> </el-col
-          ><el-button> 导入货品价格表</el-button>
+        <el-row type="flex">
+          <el-col :span="12">
+            <h4 style="display: inline-block; margin-right: 20px">货品信息</h4>
+            <el-button size="small"> 导入货品价格表</el-button></el-col
+          >
+          <el-col :span="12" class="tr">
+            <el-button size="small">管理条件</el-button>
+          </el-col>
         </el-row>
         <el-divider></el-divider>
       </el-row>
@@ -139,26 +139,11 @@
           align="center"
         >
         </el-table-column>
-        <el-table-column
-          prop="name"
-          label="货品编码"
-          width="120"
-          align="center"
-        >
+        <el-table-column prop="name" label="货品编码" align="center">
         </el-table-column>
-        <el-table-column
-          prop="province"
-          label="货品名称"
-          width="120"
-          align="center"
-        >
+        <el-table-column prop="province" label="货品名称" align="center">
         </el-table-column>
-        <el-table-column
-          prop="city"
-          label="规格型号"
-          width="120"
-          align="center"
-        >
+        <el-table-column prop="city" label="规格型号" align="center">
         </el-table-column>
         <el-table-column
           prop="address"
@@ -167,23 +152,62 @@
           align="center"
         >
         </el-table-column>
-        <el-table-column prop="zip" label="销售类型" width="120" align="center">
+        <el-table-column prop="zip" label="销售类型" align="center">
         </el-table-column>
-        <el-table-column prop="zip" label="单价" width="120" align="center">
+        <el-table-column prop="zip" label="单价" align="center">
         </el-table-column>
-        <el-table-column prop="zip" label="返利比例" width="120" align="center">
+        <el-table-column prop="zip" label="支付钱包" align="center">
         </el-table-column>
-        <el-table-column prop="zip" label="表体备注" width="120" align="center">
+        <el-table-column fixed="right" label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button type="text" size="small">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <Pagination />
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex">
+          <el-col :span="12">
+            <h4 style="display: inline-block; margin-right: 20px">条件信息</h4>
+            <el-button size="small">添加</el-button></el-col
+          >
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column
+          fixed
+          prop="num"
+          label="序号"
+          width="50"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="name" label="限定条件" align="center">
+        </el-table-column>
+        <el-table-column prop="province" label="限定机型" align="center">
+        </el-table-column>
+        <el-table-column prop="city" label="配体机型" align="center">
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center">
           <template slot-scope="scope">
+            <el-button type="text" size="small">编辑</el-button>
             <el-button type="text" size="small">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
-    </el-main>
-    <Pagination />
-    <el-footer height="" class="footer">
+    </div>
+
+    <div>
       <el-row>
         <el-divider></el-divider>
         <el-row type="flex" align="middle">
@@ -199,13 +223,13 @@
         <el-radio v-model="radio" label="1">地区</el-radio>
         <el-radio v-model="radio" label="2">指定</el-radio>
       </el-row>
-      <Transfer/>
-    </el-footer>
-  </el-container>
+      <Transfer />
+    </div>
+  </div>
 </template>
 
 <script>
-import Pagination from "./Pagination";
+import Pagination from "@/components/Pagination";
 import Transfer from "./Transfer";
 export default {
   data() {
@@ -222,7 +246,7 @@ export default {
           { min: 3, max: 5, message: "", trigger: "click" },
         ],
       },
-
+      imageUrl: "",
       dataList: [
         {
           num: "2",
@@ -282,6 +306,8 @@ export default {
         },
       ],
       radio: "",
+      options: {},
+      value: "",
     };
   },
 
@@ -289,6 +315,8 @@ export default {
     handelLeftCheck(e) {
       console.log(e);
     },
+    beforeAvatarUpload() {},
+    handleAvatarSuccess() {},
   },
   components: {
     Transfer,

+ 2 - 1
src/views/sales_policy/components/Distributor.vue

@@ -6,7 +6,8 @@
         :rules="rules"
         ref="ruleForm"
         label-width="120px"
-         size="small" label-position="left"
+        size="small"
+        label-position="left"
         class="demo-ruleForm"
       >
         <el-row type="flex">

+ 277 - 0
src/views/sales_policy/components/Examine.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="app-container">
+    <div class="descriptions">
+      <el-row>
+        <el-col :span="4">销售政策编号</el-col>
+        <el-col :span="4">1</el-col>
+        <el-col :span="4">销售政策说明</el-col>
+        <el-col :span="4">1</el-col>
+        <el-col :span="4">状态</el-col>
+        <el-col :span="4">1</el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="4">销售政策类型</el-col>
+        <el-col :span="4">1</el-col>
+        <el-col :span="4">支付钱包</el-col>
+        <el-col :span="4">1</el-col>
+        <el-col :span="4">家用空调</el-col>
+        <el-col :span="4">1</el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="4">备注</el-col>
+        <el-col :span="20">1</el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="3">制单人</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">制单日期</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">生效日期</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">失败日期</el-col>
+        <el-col :span="3">1</el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="3">审核人</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">审核日期</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">关闭人</el-col>
+        <el-col :span="3">1</el-col>
+        <el-col :span="3">关闭日期</el-col>
+        <el-col :span="3">1</el-col>
+      </el-row>
+    </div>
+    <div class="mymain-container">
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex">
+          <el-col :span="12">
+            <h4 style="display: inline-block; margin-right: 20px">货品信息</h4>
+            <el-button size="small">查看</el-button></el-col
+          >
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column
+          fixed
+          prop="num"
+          label="序号"
+          width="50"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="name" label="货品编码" align="center">
+        </el-table-column>
+        <el-table-column prop="province" label="货品名称" align="center">
+        </el-table-column>
+        <el-table-column prop="city" label="规格型号" align="center">
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="销售类型编码"
+          width="500"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="zip" label="销售类型" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="单价" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="支付钱包" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="备注" align="center">
+        </el-table-column>
+      </el-table>
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex">
+          <el-col :span="12">
+            <h4 style="display: inline-block; margin-right: 20px">条件信息</h4>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column
+          fixed
+          prop="num"
+          label="序号"
+          width="50"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="name" label="限定条件" align="center">
+        </el-table-column>
+        <el-table-column prop="province" label="限定机型" align="center">
+        </el-table-column>
+        <el-table-column prop="city" label="配体机型" align="center">
+        </el-table-column>
+        <el-table-column fixed="right" label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button type="text" size="small">查看</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex">
+          <el-col :span="12">
+            <h4 style="display: inline-block; margin-right: 20px">
+              经销商使用范围
+            </h4>
+            <el-button size="small">添加</el-button></el-col
+          >
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column
+          fixed
+          prop="num"
+          label="序号"
+          width="50"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="name" label="经销商编码" align="center">
+        </el-table-column>
+        <el-table-column prop="province" label="经销商名称" align="center">
+        </el-table-column>
+
+      </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "examine",
+  data() {
+    return {
+      input: "",
+
+      ruleForm: {
+        name: "",
+      },
+      listLoading: false,
+      rules: {
+        name: [
+          { required: true, message: "", trigger: "click" },
+          { min: 3, max: 5, message: "", trigger: "click" },
+        ],
+      },
+      imageUrl: "",
+      dataList: [
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          num: "2",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+      ],
+      radio: "",
+      options: {},
+      value: "",
+    };
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.descriptions {
+  // border: #EBEEF5;
+  border: 1px solid #ebeef5;
+  border-bottom: none;
+  .el-row {
+    height: 40px;
+    line-height: 40px;
+  }
+  .el-col:nth-child(odd) {
+    background-color: #ebeef5;
+  }
+  .el-col {
+    padding: 0 15px;
+    height: 100%;
+    border-bottom: 1px solid #ebeef5;
+  }
+}
+.el-divider--horizontal {
+  margin: 20px 0;
+}
+</style>

+ 63 - 61
src/views/sales_policy/components/TabelTransfer.vue

@@ -1,57 +1,59 @@
 <template>
-  <el-container :direction="vertical">
+  <el-container>
     <el-header height="">
-      <el-row :gutter="20">
-        <el-col :span="8" :offset="0">
-          <el-input
-            v-model="input"
-            placeholder="产品编码"
-            size="normal"
-            clearable
-            @change=""
-          ></el-input>
-        </el-col>
-        <el-col :span="8" :offset="0">
-          <el-input
-            v-model="input"
-            placeholder="产品名称"
-            size="normal"
-            clearable
-            @change=""
-          ></el-input>
-        </el-col>
-        <el-col :span="8" :offset="0">
-          <el-input
-            v-model="input"
-            placeholder="产品型号"
-            size="normal"
-            clearable
-            @change=""
-          ></el-input>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20" class="pdt">
-        <el-col :span="8" :offset="0">
-          <el-date-picker
-            v-model="value1"
-            type="datetimerange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-          >
-          </el-date-picker
-        ></el-col>
-      </el-row>
-      <el-row :gutter="20" class="query">
-        <el-button type="primary" class="query_btn" size="default" @click=""
-          >查询</el-button
-        >
-      </el-row>
+      <el-form label-width="0" :inline="false" size="small">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="8" :lg="8" :offset="0">
+            <el-form-item label="" >
+              <el-input
+                v-model="input"
+                placeholder="产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8" :offset="0">
+            <el-form-item label="" >
+              <el-input
+                v-model="input"
+                placeholder="产品名称"
+
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8" :offset="0">
+            <el-form-item label="" >
+              <el-input
+                v-model="input"
+                placeholder="产品型号"
+
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="8" :lg="8" :offset="0">
+            <el-form-item label="" >
+              <el-date-picker
+                v-model="value1"
+                type="datetimerange"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-form-item label="" >
+            <el-button type="primary"  size="small " @click=""
+              >查询</el-button
+            >
+          </el-form-item>
+        </el-row>
+      </el-form>
     </el-header>
     <el-main height="">
       <el-row>
         <el-row :gutter="50">
-          <el-col :span="10">
+          <el-col :xs="10" :ms="10" :lg="10">
             <el-row>
               <el-row> </el-row>
               <el-row>
@@ -67,36 +69,36 @@
                   </el-table-column>
                 </el-table>
                 <el-row class="mg">
-                     <Pagination/>
+                  <Pagination />
                 </el-row>
               </el-row>
             </el-row>
           </el-col>
-          <el-col :span="4" class="middle">
+          <el-col :xs="4" :ms="4" :lg="4" class="middle">
             <el-row :gutter="20" justify="center" align="middle">
               <el-row class="btn">
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small " @click=""
                   >全部添加</el-button
                 >
               </el-row>
               <el-row class="btn">
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small " @click=""
                   >增加</el-button
                 >
               </el-row>
               <el-row class="btn">
-                <el-button type="primary" size="default" @click=""
+                <el-button type="primary" size="small " @click=""
                   >删除</el-button
                 ></el-row
               >
               <el-row class="btn"
-                ><el-button type="primary" size="default" @click=""
+                ><el-button type="primary" size="small  " @click=""
                   >全部删除</el-button
                 ></el-row
               >
             </el-row>
           </el-col>
-          <el-col :span="10">
+          <el-col :xs="10" :ms="10" :lg="10">
             <el-row>
               <el-row> </el-row>
               <el-row>
@@ -110,8 +112,8 @@
                   <el-table-column prop="name" label="姓名" align="center">
                   </el-table-column>
                 </el-table>
-                   <el-row class="mg">
-                     <Pagination/>
+                <el-row class="mg">
+                  <Pagination />
                 </el-row>
               </el-row>
             </el-row>
@@ -287,9 +289,9 @@ export default {
       }
     },
   },
-  components:{
-    Pagination
-  }
+  components: {
+    Pagination,
+  },
 };
 </script>
 
@@ -301,7 +303,7 @@ export default {
 .query_btn {
   margin-left: 0;
 }
-.mg{
+.mg {
   margin: 20px;
 }
 .pdt {

+ 9 - 7
src/views/sales_policy/components/Transfer.vue

@@ -3,7 +3,7 @@
     <slot name="header">
       <el-row type="flex">
         <el-col>
-          <el-select v-model="value" class="select_height" placeholder="请选择">
+          <el-select size="small" v-model="value" class="select_height" placeholder="请选择">
             <el-option
               v-for="item in options"
               :key="item.value"
@@ -13,7 +13,7 @@
             </el-option>
           </el-select>
         </el-col>
-        <el-col><el-button>确定</el-button></el-col>
+        <el-col><el-button size="small">确定</el-button></el-col>
       </el-row>
     </slot>
     <div>
@@ -36,18 +36,19 @@
         <el-col class="middle_box" :span="6">
           <el-row>
             <el-col>
-              <el-button :disabled="isDisabled" @click="handleJudge('AddAll')"
+              <el-button :disabled="isDisabled" size="small" @click="handleJudge('AddAll')"
                 >全部添加</el-button
               ></el-col
             >
             <el-col>
-              <el-button :disabled="isDisabled" @click="handleJudge('AddPart')"
+              <el-button :disabled="isDisabled" size="small" @click="handleJudge('AddPart')"
                 >增加</el-button
               ></el-col
             >
             <el-col>
               <el-button
                 :disabled="isDisabled"
+                size="small"
                 @click="handleJudge('DeletePart')"
                 >删除</el-button
               ></el-col
@@ -55,6 +56,7 @@
             <el-col>
               <el-button
                 :disabled="isDisabled"
+                size="small"
                 @click="handleJudge('DeleteAll')"
                 >全部删除</el-button
               ></el-col
@@ -77,9 +79,9 @@
 
     <slot name="footer">
       <el-row>
-        <el-button type="primary" size="default" @click="">保存</el-button>
-        <el-button type="primary" size="default" @click="">提交审核</el-button>
-        <el-button type="primary" size="default" @click="">重置</el-button>
+        <el-button type="primary" size="small" @click="">保存</el-button>
+        <el-button type="primary" size="small" @click="">提交审核</el-button>
+        <el-button type="primary" size="small" @click="">重置</el-button>
       </el-row>
     </slot>
   </div>

+ 82 - 93
src/views/sales_policy/marketing_list.vue

@@ -1,102 +1,79 @@
 <template>
-  <el-container v-if="isShow">
-    <el-header height="100%" class="mg">
-      <el-row>
-        <el-col :span="12">
-          <el-input
-            v-model="input"
-            placeholder="销售政策编号"
-            size="normal"
-            clearable
-            @change=""
-          ></el-input>
-        </el-col>
+  <div class="app-container" v-if="isShow == 1">
+    <div class="screen-container">
+      <el-form :model="form" ref="form" :inline="false">
+        <el-row :gutter="20">
+          <el-col :xs="24" :ms="12" :lg="12">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="营销活动管理"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
 
+          <el-col :xs="24" :ms="12" :lg="12" class="tr">
+            <el-form-item>
+              <el-button type="primary" size="small">查询</el-button>
+              <el-button size="small">重置</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="btn-group">
+      <el-row type="flex">
+        <el-button type="primary" class="btn" size="small">导出</el-button>
+        <el-button type="text" size="small">打印</el-button>
       </el-row>
-      <el-row class="mg">
-        <el-button type="primary" size="default" @click="">查询</el-button>
-        <el-button type="primary" size="default" @click="">重置</el-button>
-        <el-button type="primary" size="default" @click="">新增</el-button>
-        <el-button type="primary" size="default" @click="">打印</el-button>
+    </div>
+    <div class="mymain-container">
+      <el-table :data="tableData" border style="width: 100%">
+        <el-table-column fixed="left" label="操作" width="120" align="center">
+          <template slot-scope="scope">
+            <el-button type="text" size="small">编辑</el-button>
+            <el-button type="text" size="small">删除</el-button>
+          </template>
+        </el-table-column>
+        <el-table-column prop="name" label="状态" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="province" label="营销活动" align="center">
+        </el-table-column>
+        <el-table-column prop="city" label="生效时间" align="center">
+        </el-table-column>
+        <el-table-column prop="address" label="结束时间" align="center">
+        </el-table-column>
 
-      </el-row>
-    </el-header>
-    <el-main>
-    <el-table
-    ref="multipleTable"
-    :data="tableData"
-    border
-    tooltip-effect="dark"
-    style="width: 100%"
-    @selection-change="handleSelectionChange">
-    <el-table-column
-      type="selection"
-      align="center"
-      width="55">
-    </el-table-column>
-    <el-table-column
-      label="营销活动"
-      align="center"
-     >
-      <template slot-scope="scope">{{ scope.row.date }}</template>
-    </el-table-column>
-    <el-table-column
-      prop="name"
-      label="生效时间"
-      align="center"
-     >
-    </el-table-column>
-    <el-table-column
-      prop="address"
-      label="结束时间"
-      align="center"
-      show-overflow-tooltip>
-    </el-table-column>
-        <el-table-column
-      prop="name"
-      label="创建者"
-      align="center"
-     >
-    </el-table-column>
-        <el-table-column
-      prop="name"
-      label="创建时间"
-      align="center"
-     >
-    </el-table-column>
-        <el-table-column
-      prop="name"
-      label="更新者"
-      align="center"
-     >
-    </el-table-column>
-        <el-table-column
-      prop="name"
-      label="更新时间"
-      align="center"
-     >
-    </el-table-column>
-        <el-table-column
-      prop="name"
-      label="创建者"
-      align="center"
-     >
-    </el-table-column>
-  </el-table>
-    </el-main>
-    <Pagination />
-  </el-container>
-  <NewInfo v-else/>
+        <el-table-column prop="zip" label="创建者" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="创建时间" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="更新者" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="更新时间" align="center">
+        </el-table-column>
+      </el-table>
+      <Pagination />
+    </div>
+  </div>
+  <AddPolicy v-else-if="isShow == 2" />
+  <AddCondition v-else-if="isShow == 3" />
+  <Examine v-else-if="isShow == 4" />
+  <AddModel v-else />
 </template>
 
 <script>
-import Pagination from "./components/Pagination";
-import NewInfo from './components/NewInfo'
+import AddPolicy from "./components/AddPolicy";
+import AddModel from "./components/AddModel";
+import Pagination from "@/components/Pagination";
+import AddCondition from "./components/AddCondition";
+import Examine from "./components/Examine";
 export default {
   data() {
     return {
-      isShow:false,
       input: "",
+      isShow: 1,
       tableData: [
         {
           date: "2016-05-02",
@@ -131,20 +108,32 @@ export default {
           zip: 200333,
         },
       ],
+      form: {},
+      options: {},
+      value: "",
+      imageUrl: "",
     };
   },
   components: {
+    Examine,
+    AddModel,
+    AddPolicy,
     Pagination,
-    NewInfo
+    AddCondition,
   },
 };
 </script>
 
 <style lang="scss" scoped>
-.mg {
-  margin: 20px 0;
-}
 .btn {
-  text-align: right;
+  width: 80px;
+}
+
+.mpd {
+  padding: 20px 0 0 0;
+}
+
+.select_height {
+  width: 100%;
 }
 </style>

+ 161 - 94
src/views/sales_policy/policy_list.vue

@@ -1,92 +1,157 @@
 <template>
-  <el-container v-if="isShow == 1">
-    <el-header class="header_" height="100%">
-      <el-row type="flex" gutter="20" class="header_input">
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="销售政策编号"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="销售政策说明"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="表头备注"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="生效日期"></el-input>
-        </el-col>
-      </el-row>
-      <el-row type="flex" gutter="20" class="header_input">
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="结束日期"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="制表日期"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="制表人"></el-input>
-        </el-col>
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="审核人"></el-input>
-        </el-col>
-      </el-row>
-      <el-row type="flex" gutter="20">
-        <el-col :span="6"
-          ><el-input v-model="input" placeholder="关闭人"></el-input>
-        </el-col>
-        <el-col :span="6">
-          <el-select
-            v-model="value"
-            disabled
-            placeholder="状态"
-            class="select_height"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
-        </el-col>
-        <el-col :span="6">
-          <el-select
-            v-model="value"
-            disabled
-            placeholder="销售政策类型"
-            class="select_height"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
-        </el-col>
-        <!-- <el-col :span="6">
-          <el-row type="flex" gutter="20" justify="space-between">
-            <el-col>
-              <el-button type="primary" class="btn">查询</el-button>
-            </el-col>
-            <el-col>
-              <el-button type="primary" class="btn" icon=""
-                ><i class="el-icon-delete"></i> </el-button
-            ></el-col>
-          </el-row>
-        </el-col> -->
-      </el-row>
-      <el-row type="flex" class="mpd">
-        <el-button type="primary" class="btn">新增</el-button>
-        <el-button type="primary" class="btn">导出</el-button>
-        <el-button type="primary" class="btn">查询</el-button>
-        <el-button type="primary" class="btn" icon=""
+  <div class="app-container" v-if="isShow == 1">
+    <div class="screen-container">
+      <el-form :model="form" ref="form" :inline="false">
+        <el-row :gutter="20">
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售政策编号"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售政策说明"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="表头备注"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="生效日期"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="结束日期"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="制表日期"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="制表人"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="审核人"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="关闭人"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-select
+                size="small"
+                v-model="value"
+                disabled
+                placeholder="状态"
+                class="select_height"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-select
+                size="small"
+                v-model="value"
+                disabled
+                placeholder="销售政策类型"
+                class="select_height"
+              >
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6" class="tr">
+            <el-form-item>
+              <el-button type="primary" size="small">查询</el-button>
+              <el-button size="small">重置</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="btn-group">
+      <el-row type="flex">
+        <el-button type="primary" class="btn" size="small">新增</el-button>
+        <el-button type="primary" class="btn" size="small">导出</el-button>
+        <el-button type="primary" class="btn" size="small">查询</el-button>
+        <el-button type="primary" class="btn" icon="" size="small"
           ><i class="el-icon-delete"></i>
         </el-button>
       </el-row>
-    </el-header>
-    <el-main>
+    </div>
+    <div class="mymain-container">
       <el-table :data="tableData" border style="width: 100%" height="600">
         <el-table-column fixed="left" label="操作" width="200" align="center">
           <template slot-scope="scope">
@@ -133,11 +198,12 @@
         <el-table-column prop="zip" label="关闭日期" width="120" align="center">
         </el-table-column>
       </el-table>
-    </el-main>
+    </div>
     <Pagination />
-  </el-container>
+  </div>
   <AddPolicy v-else-if="isShow == 2" />
   <AddCondition v-else-if="isShow == 3" />
+  <Examine v-else-if="isShow == 4"/>
   <AddModel v-else />
 </template>
 
@@ -146,11 +212,12 @@ import AddPolicy from "./components/AddPolicy";
 import AddModel from "./components/AddModel";
 import Pagination from "./components/Pagination";
 import AddCondition from "./components/AddCondition";
+import Examine from './components/Examine'
 export default {
   data() {
     return {
       input: "",
-      isShow: 3,
+      isShow: 4,
       tableData: [
         {
           date: "2016-05-02",
@@ -185,9 +252,14 @@ export default {
           zip: 200333,
         },
       ],
+      form: {},
+      options: {},
+      value: "",
+      imageUrl:''
     };
   },
   components: {
+    Examine,
     AddModel,
     AddPolicy,
     Pagination,
@@ -200,16 +272,11 @@ export default {
 .btn {
   width: 80px;
 }
+
 .mpd {
   padding: 20px 0 0 0;
 }
 
-.header_ {
-  margin-top: 20px;
-  &input {
-    padding-bottom: 10px;
-  }
-}
 .select_height {
   width: 100%;
 }

+ 231 - 0
src/views/sales_rebate/rebate_list.vue

@@ -0,0 +1,231 @@
+<template>
+  <div class="app-container">
+    <div class="screen-container">
+      <el-form
+        :model="screenForm"
+        ref="screenForm"
+        :inline="false"
+        size="normal"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="返利品类名称"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="返利品类"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售类型编码"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售类型名称"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <!-- <el-select v-model="select" placeholder="请选择" size="small">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> -->
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="18" :lg="18" class="tr">
+            <el-form-item>
+              <el-button type="primary" size="small" @click="submitScreenForm"
+                >查询</el-button
+              >
+              <el-button type="primary" size="small" @click="resetScreenForm"
+                >重置</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="btn-group">
+      <el-button type="primary" size="small" @click="dialogVisible = true"
+        >新增</el-button
+      >
+      <el-button type="primary" size="small" @click="dialogVisible = true"
+        >编辑</el-button
+      >
+      <el-button type="primary" size="small" @click="">删除</el-button>
+      <el-button type="primary" size="small" @click="">导入</el-button>
+      <el-button type="primary" size="small" @click="">导出</el-button>
+    </div>
+    <div class="mymain-container">
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column type="selection" width="55" align="center">
+        </el-table-column>
+        <template v-for="col in columns">
+          <el-table-column
+            align="center"
+            :label="col.lable"
+            :prop="col.prop"
+            :min-width="col.widht"
+            show-overflow-tooltip
+            v-if="col.prop == 'status'"
+          >
+            <template slot-scope="scope">
+              <el-switch
+                v-model="isSwitch"
+                disabled
+                :active-text="isSwitch ? '已啓用' : '已禁用'"
+              >
+              </el-switch>
+            </template>
+          </el-table-column>
+          <el-table-column
+            v-else
+            align="center"
+            :label="col.lable"
+            :prop="col.prop"
+            :min-width="col.widht"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+        </template>
+
+        <el-table-column
+          align="center"
+          fixed="right"
+          label="操作"
+          min-width="160"
+        >
+          <template slot-scope="scope">
+            <el-button type="text" size="small">查看</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <Pagination @pagination="pagination" />
+    </div>
+    <div>
+      <el-dialog :visible.sync="dialogVisible" width="50%">
+        <el-form
+          :model="dialogForm"
+          ref="dialogForm"
+          label-width="120px"
+          :inline="false"
+          size="normal"
+        >
+          <el-form-item label="返利使用钱包">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="产品使用品类">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="销售类型编码">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="销售类型名称">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="返利折扣比例">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="状态">
+            <el-switch :active-text="true ? '启用' : ''"> </el-switch>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="hanleCancel">取 消</el-button>
+          <el-button type="primary" @click="handelInfo">确 定</el-button>
+        </span>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import Mixin from "@/mixin/index";
+import Pagination from "@/components/Pagination";
+export default {
+  mixins: [Mixin],
+  data() {
+    return {
+      input: "",
+      select: "",
+      isSwitch: true,
+      screenForm: {},
+      dialogForm: { name: "" },
+
+      dataList: [
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          label: "姓名",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+      ],
+      columns: [
+        { prop: "name", lable: "销售类型编码", widht: 160 },
+        { prop: "date", lable: "销售类型名称", widht: 160 },
+        { prop: "date", lable: "返利使用钱包", widht: 160 },
+        { prop: "date", lable: "返利折扣比例", widht: 160 },
+        { prop: "status", lable: "状态", widht: 160 },
+        { prop: "date", lable: "创建人", widht: 160 },
+        { prop: "date", lable: "创建时间", widht: 160 },
+        { prop: "date", lable: "更新人", widht: 160 },
+        { prop: "date", lable: "更新时间", widht: 160 },
+      ],
+    };
+  },
+  methods: {
+    getList() {},
+    pagination(val) {
+      console.log(val, 123);
+      // this.handleCurrentChange(val)
+      // this.handleSizeChange()
+    },
+    handelInfo() {
+      this.dialogVisible = false;
+    },
+    hanleCancel() {
+      this.dialogVisible = false;
+    },
+  },
+  components: {
+    Pagination,
+  },
+};
+</script>
+
+<style scoped></style>

+ 203 - 0
src/views/sales_rebate/salestype_list.vue

@@ -0,0 +1,203 @@
+<template>
+  <div class="app-container">
+    <div class="screen-container">
+      <el-form
+        :model="screenForm"
+        ref="screenForm"
+        :inline="false"
+        size="normal"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售类型编码"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <el-input
+                v-model="input"
+                placeholder="销售类型名称"
+                size="small"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6">
+            <el-form-item label="">
+              <!-- <el-select v-model="select" placeholder="请选择" size="small">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select> -->
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :ms="6" :lg="6" class="tr">
+            <el-form-item>
+              <el-button type="primary" size="small" @click="submitScreenForm"
+                >查询</el-button
+              >
+              <el-button type="primary" size="small" @click="resetScreenForm"
+                >重置</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="btn-group">
+      <el-button type="primary" size="small" @click="dialogVisible = true"
+        >新增</el-button
+      >
+      <el-button type="primary" size="small" @click="dialogVisible = true"
+        >编辑</el-button
+      >
+      <el-button type="primary" size="small" @click="">删除</el-button>
+      <el-button type="primary" size="small" @click="">导入</el-button>
+      <el-button type="primary" size="small" @click="">导出</el-button>
+    </div>
+    <div class="mymain-container">
+      <el-table
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+      >
+        <el-table-column type="selection" width="55" align="center">
+        </el-table-column>
+        <template v-for="col in columns">
+          <el-table-column
+            align="center"
+            :label="col.lable"
+            :prop="col.prop"
+            :min-width="col.widht"
+            show-overflow-tooltip
+            v-if="col.prop == 'status'"
+          >
+            <template slot-scope="scope">
+              <el-switch
+                v-model="isSwitch"
+                disabled
+                :active-text="isSwitch ? '已啓用' : '已禁用'"
+              >
+              </el-switch>
+            </template>
+          </el-table-column>
+          <el-table-column
+            v-else
+            align="center"
+            :label="col.lable"
+            :prop="col.prop"
+            :min-width="col.widht"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+        </template>
+
+        <el-table-column
+          align="center"
+          fixed="right"
+          label="操作"
+          min-width="160"
+        >
+          <template slot-scope="scope">
+            <el-button type="text" size="small">查看</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <Pagination @pagination="pagination" />
+    </div>
+    <div>
+      <el-dialog :visible.sync="dialogVisible" width="50%">
+        <el-form
+          :model="dialogForm"
+          ref="dialogForm"
+          label-width="120px"
+          :inline="false"
+          size="normal"
+        >
+          <el-form-item label="销售类型编码">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="销售类型名称">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="品类">
+            <el-input v-model="dialogForm.name"></el-input>
+          </el-form-item>
+          <el-form-item label="状态">
+            <el-switch :active-text="true ? '启用' : ''"> </el-switch>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="dialogVisible = false">取 消</el-button>
+          <el-button type="primary" @click="dialogVisible = false"
+            >确 定</el-button
+          >
+        </span>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import Mixin from "@/mixin/index";
+import Pagination from "@/components/Pagination";
+
+export default {
+  mixins: [Mixin],
+  data() {
+    return {
+      input: "",
+      select: "",
+      isSwitch: true,
+      screenForm: {},
+      dialogForm: { name: "" },
+      dataList: [
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          label: "姓名",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+      ],
+      columns: [
+        { prop: "name", lable: "销售类型编码", widht: 160 },
+        { prop: "date", lable: "销售类型名称", widht: 160 },
+        { prop: "date", lable: "出库类型", widht: 160 },
+        { prop: "date", lable: "品类", widht: 160 },
+        { prop: "status", lable: "状态", widht: 160 },
+        { prop: "date", lable: "创建人", widht: 160 },
+        { prop: "date", lable: "创建时间", widht: 160 },
+        { prop: "date", lable: "更新人", widht: 160 },
+        { prop: "date", lable: "更新时间", widht: 160 },
+      ],
+    };
+  },
+  methods: {
+    getList() {},
+    pagination(val) {
+      console.log(val, 123);
+      // this.handleCurrentChange(val)
+      // this.handleSizeChange()
+    },
+  },
+  components: {
+    Pagination,
+  },
+};
+</script>
+
+<style scoped></style>

+ 53 - 60
src/views/supply/purchase/components/enter_detail.vue

@@ -4,83 +4,63 @@
 
     <div id="printData">
       <div class="main-title">
-        <div class="title">入库单</div>
+        <div class="title">采购入库单</div>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">入库单号</div>
-            <div class="value">212212121212121</div>
+            <div class="label">入库单号</div>
+            <div class="value">{{detailData.billNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">入库日期</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">入库日期</div>
+            <div class="value">{{detailData.fdate | dateToDayFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">仓库</div>
-            <div class="value">212212121212121</div>
+            <div class="label">仓库</div>
+            <div class="value">{{detailData.stockId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">供货单位</div>
-            <div class="value">212212121212121</div>
+            <div class="label">供货单位</div>
+            <div class="value">{{detailData.supplyName}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">审核日期</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">审核日期</div>
+            <div class="value">{{detailData.approveDate}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">备注</div>
-            <div class="value">212212121212121</div>
+            <div class="label">备注</div>
+            <div class="value">{{detailData.abcdRemarks}}</div>
           </el-col>
         </el-row>
       </div>
 
-      <div class="diy-table-2">
-        <div class="head">
-          <el-row :gutter="20">
-            <el-col :span="2">序号</el-col>
-            <el-col :span="4">产品编号</el-col>
-            <el-col :span="8">产品名称</el-col>
-            <el-col :span="2">规格型号</el-col>
-            <el-col :span="2">内机编码</el-col>
-            <el-col :span="2">外机编码</el-col>
-            <el-col :span="2">单位</el-col>
-            <el-col :span="2">数量</el-col>
-          </el-row>
-        </div>
-        <div class="body">
-          <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
-            <el-col :span="2">{{ index + 1 }}</el-col>
-            <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
-            <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
-            <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
-            <el-col :span="2">{{ item.price || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-          </el-row>
-        </div>
-        <div class="foot">
-          <el-row :gutter="20">
-            <el-col :span="24">合计</el-col>
-          </el-row>
-        </div>
+      <div class="table" style="margin-top: 20px; margin-bottom: 20px">
+        <el-table :data="detailData.kingDeePurchaseStockInItems" element-loading-text="Loading" border fit highlight-current-row stripe max-height="400">
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" label="存货编号" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="规格型号" prop="model" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="主计量单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币税额" prop="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="税率" prop="entryTaxRate" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">制单人</div>
-            <div class="value">张三</div>
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.createBy}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">审核人:</div>
-            <div class="value">李四</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">现存量:</div>
-            <div class="value">200</div>
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverName}}</div>
           </el-col>
         </el-row>
       </div>
@@ -101,7 +81,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getList } from "@/api/supply/purchase";
+import { getEnterDetail } from "@/api/supply/purchase";
 
 export default {
   name: 'EnterDetail',
@@ -110,14 +90,20 @@ export default {
   directives: {
     print
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       printObj: {
         id: 'printData'
       },
-      goodsList: [{
-        goodsId: 1,
-      }]
+      detailData: {},
     }
   },
 
@@ -134,7 +120,7 @@ export default {
   },
 
   created() {
-
+    this.getDetail();
   },
 
   methods: {
@@ -142,6 +128,13 @@ export default {
     goBack() {
       this.$emit('backListFormDetail');
     },
+
+    // 获取详情
+    getDetail() {
+      getEnterDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
   }
 }
 </script>

+ 66 - 81
src/views/supply/purchase/components/purchase_detail.vue

@@ -4,115 +4,87 @@
 
     <div id="printData">
       <div class="main-title">
-        <div class="title">入库单</div>
+        <div class="title">采购订单</div>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">业务类型</div>
-            <div class="value">212212121212121</div>
+            <div class="label">业务类型</div>
+            <div class="value">{{detailData.businessType}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">订单日期:</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">采购日期</div>
+            <div class="value">{{detailData.fdate | dateToDayFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">订单编号</div>
-            <div class="value">212212121212121</div>
+            <div class="label">订单编号</div>
+            <div class="value">{{detailData.billNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">采购类型</div>
-            <div class="value">212212121212121</div>
+            <div class="label">采购类型</div>
+            <div class="value">{{detailData.businessType | businessTypeFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">供应商</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">供应商</div>
+            <div class="value">{{detailData.assignSupplierId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">部门</div>
-            <div class="value">212212121212121</div>
+            <div class="label">部门</div>
+            <div class="value">{{detailData.purchaseDeptId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">业务员</div>
-            <div class="value">212212121212121</div>
+            <div class="label">业务员</div>
+            <div class="value">{{detailData.purchaserId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">税率</div>
-            <div class="value">212212121212121</div>
+            <div class="label">税率</div>
+            <div class="value">{{detailData.billTaxAmount}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">付款条件</div>
-            <div class="value">212212121212121</div>
+            <div class="label">付款条件</div>
+            <div class="value">{{detailData.payConditionId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">币种</div>
-            <div class="value">212212121212121</div>
+            <div class="label">币种</div>
+            <div class="value">{{detailData.settleCurr}}</div>
           </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">任务日期:</div>
-            <div class="value">212212121212121</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">备注:</div>
-            <div class="value">212212121212121</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">登录编号:</div>
-            <div class="value">212212121212121</div>
+          <el-col :span="16" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.abcdRemarks}}</div>
           </el-col>
         </el-row>
       </div>
 
-      <div class="diy-table-2">
-        <div class="head">
-          <el-row :gutter="20">
-            <el-col :span="2">序号</el-col>
-            <el-col :span="4">产品编号</el-col>
-            <el-col :span="8">产品名称</el-col>
-            <el-col :span="2">规格型号</el-col>
-            <el-col :span="2">内机编码</el-col>
-            <el-col :span="2">外机编码</el-col>
-            <el-col :span="2">单位</el-col>
-            <el-col :span="2">数量</el-col>
-          </el-row>
-        </div>
-        <div class="body">
-          <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
-            <el-col :span="2">{{ index + 1 }}</el-col>
-            <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
-            <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
-            <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
-            <el-col :span="2">{{ item.price || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-          </el-row>
-        </div>
-        <div class="foot">
-          <el-row :gutter="20">
-            <el-col :span="24">合计</el-col>
-          </el-row>
-        </div>
+      <div class="table" style="margin-top: 20px; margin-bottom: 20px">
+        <el-table :data="detailData.kingDeePurchaseOrderItems" element-loading-text="Loading" border fit highlight-current-row stripe max-height="400">
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" label="存货编号" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="规格型号" prop="model" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="主计量单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币税额" prop="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="采购单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
-          <el-col :span="8" class="item">
-            <div class="label">制单人:</div>
-            <div class="value">张三</div>
-          </el-col>
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">审核人:</div>
-            <div class="value">李四</div>
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.createBy}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">变更人:</div>
-            <div class="value">李四</div>
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverName}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">现存量:</div>
-            <div class="value">200</div>
+            <div class="label">变更人</div>
+            <div class="value">{{detailData.changerName}}</div>
           </el-col>
         </el-row>
       </div>
@@ -133,7 +105,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getList } from "@/api/supply/purchase";
+import { getPurchaseDetail } from "@/api/supply/purchase";
 
 export default {
   name: 'PurchaseDetail',
@@ -142,14 +114,20 @@ export default {
   directives: {
     print
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       printObj: {
         id: 'printData'
       },
-      goodsList: [{
-        goodsId: 1,
-      }]
+      detailData: {},
     }
   },
 
@@ -166,7 +144,7 @@ export default {
   },
 
   created() {
-
+    this.getDetail();
   },
 
   methods: {
@@ -174,6 +152,13 @@ export default {
     goBack() {
       this.$emit('backListFormDetail');
     },
+
+    // 获取详情
+    getDetail() {
+      getPurchaseDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
   }
 }
 </script>

+ 43 - 60
src/views/supply/purchase/enter_list.vue

@@ -38,18 +38,8 @@
                 <el-input v-model="screenForm.company" placeholder="请输入供货单位"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="厂对应单号" prop="factoryNum">
-                <el-input v-model="screenForm.factoryNum" placeholder="请输入厂对应单号"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="厂产品代码" prop="factoryCode">
-                <el-input v-model="screenForm.factoryCode" placeholder="请输入厂产品代码"></el-input>
-              </el-form-item>
-            </el-col>
             
-            <el-col :xs="24" :sm="12" :lg="6" class="tr">
+            <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm">清空</el-button>
                 <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -67,30 +57,31 @@
         </div>
         <div class="table">
           <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
-            <el-table-column align="center" label="入库单号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="入库日期" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="仓库" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="供货单位" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核日期" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="备注" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="厂对应单号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="厂产品代码" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="存货编码" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="存货名称" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="规格型号" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="主计量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="数量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币含税单价" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币金额" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币税额" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币价税合计" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="税率" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="制单人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="现存量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <el-table-column align="center" label="入库单号" prop="billNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="入库日期" prop="fdate" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.fdate | dateToDayFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="仓库" prop="stockId" min-width="140" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="供货单位" prop="supplyName" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核日期" prop="approveDate" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="备注" prop="abcdRemarks" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货编码" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货名称" prop="materialName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="规格型号" prop="uom" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="主计量" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="数量" prop="auxUnitQty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币金额" prop="amount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币税额" prop="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币价税合计" prop="allAmount" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="税率" prop="entryTaxRate" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="制单人" prop="createBy" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核人" prop="approverId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="操作" width="100" fixed="right">
               <template slot-scope="scope">
-                <el-button type="text" @click="toDetail('detail', scope.row)">详情</el-button>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -117,8 +108,7 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getEnterList } from "@/api/supply/purchase";
 import EnterDetail from "@/views/supply/purchase/components/enter_detail";
 
 export default {
@@ -134,19 +124,12 @@ export default {
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
         orderNum: '',
-        jxsName: '',
         chName: '',
-        model: '',
+        chNum: '',
         date: '',
-        jxsNum: '',
-        status: '',
+        company: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
 
-      jumpType: '',
       queryItem: {},
     }
   },
@@ -154,15 +137,16 @@ export default {
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        supplyName: this.screenForm.company,
       }
     },
     isShowDetail() {
-      return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'detail';
+      return this.queryItem.hasOwnProperty('id');
     },
   },
 
@@ -187,13 +171,14 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        supplyName: this.screenForm.company,
       };
-      getList(params).then((res) => {
+      getEnterList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -227,13 +212,11 @@ export default {
     },
 
     // 进入详情
-    toDetail(type, item) {
-      this.jumpType = type;
+    toDetail(item) {
       this.queryItem = item;
     },
 
     backList() {
-      this.jumpType = '';
       this.queryItem = {};
     },
   }

+ 61 - 73
src/views/supply/purchase/purchase_list.vue

@@ -3,25 +3,20 @@
     <div v-show="!isShowDetail">
       <!-- 筛选条件 -->
       <div class="screen-container">
-        <el-form ref="screenForm" :model="screenForm" label-width="90px" size="small" label-position="left">
+        <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务类型" prop="orderNum">
-                <el-input v-model="screenForm.orderNum" placeholder="请输入业务类型"></el-input>
+              <el-form-item label="业务类型" prop="business">
+                <el-input v-model="screenForm.business" placeholder="请输入业务类型"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="采购类型" prop="chName">
-                <el-input v-model="screenForm.chName" placeholder="请输入采购类型"></el-input>
+              <el-form-item label="供应商" prop="supplier">
+                <el-input v-model="screenForm.supplier" placeholder="请输入供应商"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="供应商" prop="chName">
-                <el-input v-model="screenForm.chName" placeholder="请输入供应商"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="订单日期" prop="date">
+              <el-form-item label="采购日期" prop="date">
                 <el-date-picker
                   v-model="screenForm.date"
                   type="datetimerange"
@@ -34,7 +29,7 @@
               </el-form-item>
             </el-col>
             
-            <el-col :xs="24" :sm="24" :lg="24" class="tr">
+            <el-col :xs="24" :sm="12" :lg="6" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm">清空</el-button>
                 <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -52,40 +47,39 @@
         </div>
         <div class="table">
           <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
-            <el-table-column align="center" label="业务类型" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="订单日期" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="订单编号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="采购类型" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="供应商" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="部门" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="业务员" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="税率" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="付款条件" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="币种" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="任务日期" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="备注" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="登录编号" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="厂对应单号" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="存货编码" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="存货名称" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="规格型号" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="主计量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="数量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币含税单价" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币单价" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币税额" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="原币价税合计" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="采购单价" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="计划到货日期" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="行关闭人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="预留" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="制单人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="变更人" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="现存量" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <el-table-column align="center" label="业务类型" prop="businessType" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.businessType | businessTypeFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="采购日期" prop="fdate" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <el-button type="text" @click="toDetail('detail', scope.row)">详情</el-button>
+                {{scope.row.fdate | dateToDayFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="订单编号" prop="billNo" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="供应商" prop="assignSupplierId" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="部门" prop="purchaseDeptId" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="业务员" prop="purchaserId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="付款条件" prop="payConditionId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="币种" prop="settleCurr" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="备注" prop="abcdRemarks" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货编码" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="规格型号" prop="model" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="主计量" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币税额" prop="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="采购单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="制单人" prop="createBy" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核人" prop="approverName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="变更人" prop="changerName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="操作" width="100" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -112,14 +106,21 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getPurchaseList } from "@/api/supply/purchase";
 import PurchaseDetail from "@/views/supply/purchase/components/purchase_detail";
 
 export default {
   components: {
     PurchaseDetail,
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -128,20 +129,11 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
-        orderNum: '',
-        jxsName: '',
-        chName: '',
-        model: '',
+        business: '',
+        supplier: '',
         date: '',
-        jxsNum: '',
-        status: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
 
-      jumpType: '',
       queryItem: {},
     }
   },
@@ -149,15 +141,14 @@ export default {
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        businessType: this.screenForm.business,
+        assignSupplierId: this.screenForm.supplier,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       }
     },
     isShowDetail() {
-      return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'detail';
+      return this.queryItem.hasOwnProperty('id');
     },
   },
 
@@ -182,13 +173,12 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        businessType: this.screenForm.business,
+        assignSupplierId: this.screenForm.supplier,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       };
-      getList(params).then((res) => {
+      getPurchaseList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -222,13 +212,11 @@ export default {
     },
 
     // 进入详情
-    toDetail(type, item) {
-      this.jumpType = type;
+    toDetail(item) {
       this.queryItem = item;
     },
 
     backList() {
-      this.jumpType = '';
       this.queryItem = {};
     },
   }