Explorar o código

Merge branch 'feature/Feature-sales' into develop

# Conflicts:
#	package-lock.json
莫绍宝 %!s(int64=3) %!d(string=hai) anos
pai
achega
0b325a04f0

+ 180 - 39
package-lock.json

@@ -24,7 +24,8 @@
         "vue-print-nb": "^1.7.5",
         "vue-quill-editor": "^3.0.6",
         "vue-router": "3.0.6",
-        "vuex": "3.1.0"
+        "vuex": "3.1.0",
+        "yarn": "^1.22.18"
       },
       "devDependencies": {
         "@vue/cli-plugin-babel": "4.4.4",
@@ -3982,7 +3983,11 @@
       "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"
@@ -4185,7 +4190,11 @@
       "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",
@@ -5325,7 +5334,11 @@
       "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"
       }
@@ -5334,7 +5347,11 @@
       "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"
       }
@@ -5442,7 +5459,11 @@
       "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"
       },
@@ -5903,7 +5924,11 @@
       "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",
@@ -9227,7 +9252,11 @@
       "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",
@@ -9251,7 +9280,11 @@
       "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"
       },
@@ -9611,7 +9644,10 @@
       "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": [
@@ -9782,7 +9818,11 @@
       "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"
       },
@@ -10992,7 +11032,11 @@
       "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"
       },
@@ -11174,7 +11218,11 @@
       "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"
       }
@@ -11213,7 +11261,11 @@
       "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"
       },
@@ -11237,7 +11289,11 @@
       "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"
       }
@@ -13712,7 +13768,10 @@
       "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": {
@@ -13999,7 +14058,11 @@
       "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"
       }
@@ -14713,7 +14776,11 @@
       "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",
@@ -14815,7 +14882,11 @@
       "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"
       },
@@ -16246,7 +16317,11 @@
       "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"
       },
@@ -16427,7 +16502,11 @@
       "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",
@@ -18907,7 +18986,11 @@
       "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"
       },
@@ -19428,7 +19511,11 @@
       "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": "*"
@@ -19746,6 +19833,7 @@
         "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",
@@ -19759,6 +19847,8 @@
       "resolved": "https://registry.npmmirror.com/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",
@@ -19865,7 +19955,10 @@
       "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"
@@ -19875,7 +19968,10 @@
       "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",
@@ -19886,7 +19982,10 @@
       "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"
@@ -19899,7 +19998,10 @@
       "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"
@@ -19909,7 +20011,10 @@
       "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",
@@ -19932,7 +20037,10 @@
       "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",
@@ -19955,7 +20063,10 @@
       "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",
@@ -19972,7 +20083,10 @@
       "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": [
@@ -19990,7 +20104,10 @@
       "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",
@@ -20001,7 +20118,10 @@
       "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"
@@ -20014,7 +20134,10 @@
       "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"
@@ -20027,7 +20150,10 @@
       "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"
@@ -20040,7 +20166,10 @@
       "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",
@@ -20056,7 +20185,10 @@
       "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",
@@ -20071,7 +20203,10 @@
       "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"
@@ -20081,7 +20216,10 @@
       "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",
@@ -21033,6 +21171,22 @@
         "node": ">=6"
       }
     },
+<<<<<<< HEAD
+=======
+    "node_modules/yarn": {
+      "version": "1.22.18",
+      "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz",
+      "integrity": "sha512-oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ==",
+      "hasInstallScript": true,
+      "bin": {
+        "yarn": "bin/yarn.js",
+        "yarnpkg": "bin/yarn.js"
+      },
+      "engines": {
+        "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",
@@ -24133,7 +24287,7 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -24293,7 +24447,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==",
-      "dev": true
+      "devOptional": true
     },
     "async-limiter": {
       "version": "1.0.1",
@@ -25214,13 +25368,13 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "dev": true
+      "devOptional": true
     },
     "bindings": {
       "version": "1.5.0",
       "resolved": "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz",
       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "file-uri-to-path": "1.0.0"
       }
@@ -25322,7 +25476,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "fill-range": "^7.0.1"
       }
@@ -25693,7 +25847,7 @@
       "version": "3.5.3",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
       "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -28362,7 +28516,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==",
-      "dev": true
+      "devOptional": true
     },
     "filename-regex": {
       "version": "2.0.1",
@@ -28380,7 +28534,7 @@
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "to-regex-range": "^5.0.1"
       }
@@ -28694,7 +28848,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
       "optional": true
     },
     "function-bind": {
@@ -28821,7 +28974,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "is-glob": "^4.0.1"
       }
@@ -29768,7 +29921,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==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "binary-extensions": "^2.0.0"
       }
@@ -29895,7 +30048,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "devOptional": true
     },
     "is-finite": {
       "version": "1.1.0",
@@ -29919,7 +30072,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -29934,7 +30087,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true
+      "devOptional": true
     },
     "is-number-object": {
       "version": "1.0.7",
@@ -31942,7 +32095,6 @@
       "version": "2.16.0",
       "resolved": "https://registry.npmmirror.com/nan/-/nan-2.16.0.tgz",
       "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==",
-      "dev": true,
       "optional": true
     },
     "nanomatch": {
@@ -32194,7 +32346,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
+      "devOptional": true
     },
     "normalize-range": {
       "version": "0.1.2",
@@ -32747,7 +32899,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz",
       "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
-      "dev": true
+      "devOptional": true
     },
     "path-exists": {
       "version": "4.0.0",
@@ -32833,7 +32985,7 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "dev": true
+      "devOptional": true
     },
     "pify": {
       "version": "4.0.1",
@@ -34035,7 +34187,7 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "picomatch": "^2.2.1"
       }
@@ -34178,7 +34330,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==",
-      "dev": true
+      "devOptional": true
     },
     "repeat-element": {
       "version": "1.1.4",
@@ -36258,7 +36410,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==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "is-number": "^7.0.0"
       }
@@ -36607,7 +36759,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz",
       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
+      "devOptional": true
     },
     "upper-case": {
       "version": "1.1.3",
@@ -36980,7 +37132,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
       "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
       "optional": true,
       "requires": {
         "chokidar": "^2.1.8"
@@ -36990,7 +37141,6 @@
           "version": "2.0.0",
           "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz",
           "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
           "optional": true,
           "requires": {
             "micromatch": "^3.1.4",
@@ -37001,7 +37151,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==",
-              "dev": true,
               "optional": true,
               "requires": {
                 "remove-trailing-separator": "^1.0.1"
@@ -37013,14 +37162,12 @@
           "version": "1.13.1",
           "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz",
           "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true,
           "optional": true
         },
         "braces": {
           "version": "2.3.2",
           "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz",
           "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
           "optional": true,
           "requires": {
             "arr-flatten": "^1.1.0",
@@ -37039,7 +37186,6 @@
           "version": "2.1.8",
           "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz",
           "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
           "optional": true,
           "requires": {
             "anymatch": "^2.0.0",
@@ -37060,7 +37206,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==",
-          "dev": true,
           "optional": true,
           "requires": {
             "extend-shallow": "^2.0.1",
@@ -37073,7 +37218,6 @@
           "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",
@@ -37084,7 +37228,6 @@
           "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==",
-          "dev": true,
           "optional": true,
           "requires": {
             "is-glob": "^3.1.0",
@@ -37095,7 +37238,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==",
-              "dev": true,
               "optional": true,
               "requires": {
                 "is-extglob": "^2.1.0"
@@ -37107,7 +37249,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz",
           "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
-          "dev": true,
           "optional": true,
           "requires": {
             "binary-extensions": "^1.0.0"
@@ -37117,7 +37258,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz",
           "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-          "dev": true,
           "optional": true,
           "requires": {
             "kind-of": "^3.0.2"
@@ -37127,7 +37267,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==",
-          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -37143,7 +37282,6 @@
           "version": "2.2.1",
           "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz",
           "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
           "optional": true,
           "requires": {
             "graceful-fs": "^4.1.11",
@@ -37155,7 +37293,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==",
-          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -37165,7 +37302,6 @@
           "version": "2.1.1",
           "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz",
           "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
-          "dev": true,
           "optional": true,
           "requires": {
             "is-number": "^3.0.0",
@@ -37943,6 +38079,11 @@
         }
       }
     },
+    "yarn": {
+      "version": "1.22.18",
+      "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz",
+      "integrity": "sha512-oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ=="
+    },
     "yorkie": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz",

+ 2 - 1
package.json

@@ -29,7 +29,8 @@
     "vue-print-nb": "^1.7.5",
     "vue-quill-editor": "^3.0.6",
     "vue-router": "3.0.6",
-    "vuex": "3.1.0"
+    "vuex": "3.1.0",
+    "yarn": "^1.22.18"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "4.4.4",

+ 149 - 0
src/views/sales_policy/codealer_list.vue

@@ -0,0 +1,149 @@
+<template>
+  <el-container v-if="isShow">
+    <el-header height="100%" class="mg">
+      <el-row>
+        <el-col :span="6">
+          <el-input
+            v-model="input"
+            placeholder="销售政策编号"
+            size="normal"
+            clearable
+            @change=""
+          ></el-input>
+        </el-col>
+        <el-col :span="6" :push="1">
+          <el-input
+            v-model="input"
+            placeholder="销售政策说明"
+            size="normal"
+            clearable
+            @change=""
+          ></el-input>
+        </el-col>
+        <el-col :span="6" :push="2">
+          <el-input
+            v-model="input"
+            placeholder="表头备注"
+            size="normal"
+            clearable
+            @change=""
+          ></el-input>
+        </el-col>
+        <!-- <el-col :span="6" class="btn">
+
+        </el-col> -->
+      </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-row>
+    </el-header>
+    <el-main>
+      <el-table :data="tableData" border style="width: 100%">
+        <el-table-column prop="name" label="操作" width="120" align="center">
+        </el-table-column>
+        <el-table-column
+          prop="province"
+          label="状态"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="city"
+          label="销售政策编号"
+          width="150"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="销售政策说明"
+          width="400"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="zip" label="表头备注" width="200" align="center">
+        </el-table-column>
+        <el-table-column
+          prop="zip"
+          label="关联经销商"
+          width="150"
+          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-main>
+    <Pagination />
+  </el-container>
+  <Distributor v-else/>
+</template>
+
+<script>
+import Pagination from "./components/Pagination";
+import Distributor from './components/Distributor'
+export default {
+  data() {
+    return {
+      isShow:false,
+      input: "",
+      tableData: [
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-04",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1517 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-01",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1519 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-03",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1516 弄",
+          zip: 200333,
+        },
+      ],
+    };
+  },
+  components: {
+    Pagination,
+    Distributor
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.mg {
+  margin: 20px 0;
+}
+.btn {
+  text-align: right;
+}
+</style>

+ 171 - 0
src/views/sales_policy/components/AddCondition.vue

@@ -0,0 +1,171 @@
+<template>
+  <el-container>
+    <el-header class="header">
+      <el-divider></el-divider>
+      <h4>限定条件</h4>
+      <el-divider></el-divider>
+    </el-header>
+    <el-main>
+      <el-row>
+        <el-row :gutter="50">
+          <el-col :xs="24" :sm="12" :lg="12" class="mgb">
+            <el-row>
+              <el-row class="pdt">
+                <el-button
+                  type="primary"
+                  size="default"
+                  @click="centerDialogVisible = true"
+                  >添加机型</el-button
+                >
+
+                <el-button type="primary" size="default" @click=""
+                  >删除机型</el-button
+                >
+              </el-row>
+              <el-row>
+                <el-table style="width: 100%" :data="tableData" border>
+                  <el-table-column type="selection" width="55" align="center">
+                  </el-table-column>
+                  <el-table-column label="日期" width="120" 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>
+              </el-row>
+            </el-row>
+          </el-col>
+          <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
+                >
+                <el-button type="primary" size="default" @click=""
+                  >删除机型</el-button
+                >
+              </el-row>
+              <el-row>
+                <el-table style="width: 100%" :data="tableData" border>
+                  <el-table-column type="selection" width="55" align="center">
+                  </el-table-column>
+                  <el-table-column label="日期" width="120" 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>
+              </el-row>
+            </el-row>
+          </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-col class="text_rihgt" v-if="false">
+            <el-button type="primary" size="default" @click=""
+              >添加限定条件</el-button
+            ></el-col
+          >
+        </el-row>
+        <el-divider></el-divider>
+      </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-footer>
+    <AddModel :centerDialogVisible="centerDialogVisible" />
+  </el-container>
+</template>
+
+<script>
+import AddModel from "./AddModel";
+export default {
+  data() {
+    return {
+      centerDialogVisible: false,
+      tableData: [
+        {
+          date: "2016-05-03",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-04",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-01",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-08",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-06",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-07",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+      ],
+      multipleSelection: [],
+    };
+  },
+  methods: {
+    toggleSelection(rows) {
+      if (rows) {
+        rows.forEach((row) => {
+          this.$refs.multipleTable.toggleRowSelection(row);
+        });
+      } else {
+        this.$refs.multipleTable.clearSelection();
+      }
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+  },
+  components: {
+    AddModel,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.mgb {
+  margin-bottom: 20px;
+}
+.pdt {
+  padding-bottom: 20px;
+}
+.text_rihgt {
+  text-align: right;
+}
+.header {
+  margin-bottom: 40px;
+}
+.el-main {
+  overflow: hidden;
+}
+</style>

+ 41 - 0
src/views/sales_policy/components/AddModel.vue

@@ -0,0 +1,41 @@
+<template>
+  <el-dialog
+    :visible.sync="centerDialogVisible"
+    width="70%"
+    center
+  >
+    <div>
+      <TabelTransfer />
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="centerDialogVisible = false">取 消</el-button>
+      <el-button type="primary" @click="centerDialogVisible = false"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+import TabelTransfer from "./TabelTransfer.vue";
+export default {
+  data() {
+    return {};
+  },
+  props: {
+    centerDialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  components: {
+    TabelTransfer,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+  .el-dialog{
+    overflow: hidden;
+  }
+</style>

+ 325 - 0
src/views/sales_policy/components/AddPolicy.vue

@@ -0,0 +1,325 @@
+<template>
+  <el-container :direction="vertical">
+    <el-header height="" class="pdt">
+      <h4>销售政策信息</h4>
+      <el-divider></el-divider>
+      <el-form
+        :model="ruleForm"
+        :rules="rules"
+        ref="ruleForm"
+        label-width="120px"
+         size="small" label-position="left"
+        class="demo-ruleForm"
+      >
+        <el-row type="flex">
+          <el-col :span="9">
+            <el-form-item label="销售政策编号" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="如未填写,则系统自动生成"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="15">
+            <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-form-item label="销售政策类型" prop="name">
+              <el-select v-model="value" placeholder="请选择">
+                <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 :span="9">
+            <el-form-item label="支付钱包类型" prop="name">
+              <el-select v-model="value" placeholder="请选择">
+                <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-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-form-item label="制单人" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder=""
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <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-form-item label="生效日期" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder=""
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <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-row>
+      </el-form>
+    </el-header>
+    <el-main>
+      <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>
+        <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="货品编码"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="province"
+          label="货品名称"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="city"
+          label="规格型号"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="销售类型编码"
+          width="500"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="zip" label="销售类型" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="单价" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="返利比例" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="表体备注" width="120" 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-main>
+    <Pagination />
+    <el-footer height="" class="footer">
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex" align="middle">
+          <el-col :span="2">
+            <h4>货品信息</h4>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+      <el-row class="radio">
+        <el-radio v-model="radio" label="1">全部经销商</el-radio>
+        <el-radio v-model="radio" label="2">品类</el-radio>
+        <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>
+</template>
+
+<script>
+import Pagination from "./Pagination";
+import Transfer from "./Transfer";
+export default {
+  data() {
+    return {
+      input: "",
+
+      ruleForm: {
+        name: "",
+      },
+      listLoading: false,
+      rules: {
+        name: [
+          { required: true, message: "", trigger: "click" },
+          { min: 3, max: 5, message: "", trigger: "click" },
+        ],
+      },
+
+      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: "",
+    };
+  },
+
+  methods: {
+    handelLeftCheck(e) {
+      console.log(e);
+    },
+  },
+  components: {
+    Transfer,
+    Pagination,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+h4 {
+  margin: 0;
+}
+.pdt {
+  padding-top: 20px;
+}
+
+.radio {
+  padding: 20px 0;
+}
+.el-divider--horizontal {
+  margin: 20px 0;
+}
+.el-container .el-divider--horizontal {
+  margin: 10px;
+}
+
+.el-select {
+  width: 100%;
+}
+
+.footer {
+  margin-bottom: 20px;
+}
+</style>

+ 299 - 0
src/views/sales_policy/components/Distributor.vue

@@ -0,0 +1,299 @@
+<template>
+  <el-container :direction="vertical">
+    <el-header height="" class="pdt">
+      <el-form
+        :model="ruleForm"
+        :rules="rules"
+        ref="ruleForm"
+        label-width="120px"
+         size="small" label-position="left"
+        class="demo-ruleForm"
+      >
+        <el-row type="flex">
+          <el-col :span="9">
+            <el-form-item label="销售政策编号" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="如未填写,则系统自动生成"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="15">
+            <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-form-item label="销售政策类型" prop="name">
+              <el-select v-model="value" placeholder="请选择">
+                <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 :span="9">
+            <el-form-item label="部门" prop="name">
+              <el-select v-model="value" placeholder="请选择">
+                <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-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>
+          <el-col :span="9">
+            <el-form-item label="制单人" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="新风机变频挂机。按提货数量1:3开单"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="9">
+            <el-form-item label="制单日期" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="2020-01-23"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-header>
+    <el-main>
+      <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="经销商编码"
+          width="300"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-input
+              v-model="input"
+              placeholder=""
+              size="normal"
+              clearable
+              @change=""
+            ></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="province"
+          label="经销商名称"
+          width="300"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-input
+              v-model="input"
+              placeholder=""
+              size="normal"
+              clearable
+              @change=""
+            ></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="city"
+          label="最多提货套数"
+          width="300"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-input
+              v-model="input"
+              placeholder=""
+              size="normal"
+              clearable
+              @change=""
+            ></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="表体备注"
+          width="300"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-input
+              v-model="input"
+              placeholder=""
+              size="normal"
+              clearable
+              @change=""
+            ></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="zip"
+          label="最近订货时间"
+          width="300"
+          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-main>
+    <el-footer>
+      <el-row>
+        <el-col :span="12">
+          <el-button type="primary" size="default" @click="">保存</el-button>
+          <el-button type="primary" size="default" @click="">重置</el-button>
+        </el-col>
+        <el-col :span="12" class="text_right">
+          <el-button type="primary" size="default" @click="">添加</el-button>
+          <el-button type="primary" size="default" @click="">删除</el-button>
+        </el-col>
+      </el-row>
+      <!-- <Pagination /> -->
+    </el-footer>
+  </el-container>
+</template>
+
+<script>
+import Pagination from "./Pagination";
+import Transfer from "./Transfer";
+export default {
+  data() {
+    return {
+      input: "",
+
+      ruleForm: {
+        name: "",
+      },
+      listLoading: false,
+      rules: {
+        name: [
+          { required: true, message: "", trigger: "click" },
+          { min: 3, max: 5, message: "", trigger: "click" },
+        ],
+      },
+
+      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: "",
+    };
+  },
+
+  methods: {
+    handelLeftCheck(e) {
+      console.log(e);
+    },
+  },
+  components: {
+    Transfer,
+    Pagination,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.pdt {
+  padding-top: 20px;
+}
+
+.text_right {
+  text-align: right;
+}
+</style>

+ 271 - 0
src/views/sales_policy/components/NewInfo.vue

@@ -0,0 +1,271 @@
+<template>
+  <el-container :direction="vertical">
+    <el-header height="" class="pdt">
+      <h4>销售政策信息</h4>
+      <el-divider></el-divider>
+      <el-form
+        :model="ruleForm"
+        :rules="rules"
+        ref="ruleForm"
+        label-width="120px"
+         size="small" label-position="left"
+        class="demo-ruleForm"
+      >
+        <el-row type="flex">
+          <el-col :span="8">
+            <el-form-item label="营销活动" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="如未填写,则系统自动生成"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="营销活动标题" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder="销售政策说明"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <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="表头备注" prop="name">
+            <el-input
+              v-model="ruleForm.name"
+              placeholder="新风机变频挂机。按提货数量1:3开单"
+            ></el-input>
+          </el-form-item>
+        </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-row>
+
+        <el-row type="flex">
+          <el-col :span="9">
+            <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-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-form-item label="生效日期" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder=""
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="9">
+            <el-form-item label="失效日期" prop="name">
+              <el-input
+                v-model="ruleForm.name"
+                placeholder=""
+              ></el-input> </el-form-item
+          ></el-col>
+        </el-row>
+      </el-form>
+    </el-header>
+    <el-main>
+      <el-row>
+        <el-divider></el-divider>
+        <el-row type="flex" align="middle">
+          <el-col :span="2">
+            <h4>货品信息</h4>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+      </el-row>
+
+      <Transfer>
+        <template #header>
+          <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">
+              <el-button type="primary" size="default" @click=""
+                >确定</el-button
+              >
+              <el-button type="primary" size="default" @click=""
+                >重置</el-button
+              >
+            </el-col>
+          </el-row>
+        </template>
+        <template #footer>
+          <el-row>
+            <el-button type="primary" size="default" @click="">保存</el-button>
+
+            <el-button type="primary" size="default" @click="">重置</el-button>
+          </el-row>
+        </template>
+      </Transfer>
+    </el-main>
+
+    <el-footer height="" class="footer"> </el-footer>
+  </el-container>
+</template>
+
+<script>
+import Pagination from "./Pagination";
+import Transfer from "./Transfer";
+export default {
+  data() {
+    return {
+      input: "",
+
+      ruleForm: {
+        name: "",
+      },
+      listLoading: false,
+      rules: {
+        name: [
+          { required: true, message: "", trigger: "click" },
+          { min: 3, max: 5, message: "", trigger: "click" },
+        ],
+      },
+
+      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: "",
+    };
+  },
+
+  methods: {
+    handelLeftCheck(e) {
+      console.log(e);
+    },
+  },
+  components: {
+    Transfer,
+    Pagination,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+h4 {
+  margin: 0;
+}
+.pdt {
+  padding-top: 20px;
+}
+
+.radio {
+  padding: 20px 0;
+}
+.el-divider--horizontal {
+  margin: 20px 0;
+}
+.el-container .el-divider--horizontal {
+  margin: 10px;
+}
+
+.el-select {
+  width: 100%;
+}
+
+.footer {
+  margin-bottom: 20px;
+}
+</style>

+ 51 - 0
src/views/sales_policy/components/Pagination.vue

@@ -0,0 +1,51 @@
+<template>
+ <div class="pagination clearfix pd">
+      <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>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+    isOpen: false, // 是否展开条件筛选
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+    }
+  },
+  methods: {
+      // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+}
+</script>
+
+<style lang="scss">
+.pd{
+    margin: 0 20px 20px 0;
+}
+    .el-pagination {
+  text-align: right;
+}
+</style>

+ 327 - 0
src/views/sales_policy/components/TabelTransfer.vue

@@ -0,0 +1,327 @@
+<template>
+  <el-container :direction="vertical">
+    <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-header>
+    <el-main height="">
+      <el-row>
+        <el-row :gutter="50">
+          <el-col :span="10">
+            <el-row>
+              <el-row> </el-row>
+              <el-row>
+                <el-row class="title"> 可选产品列表 </el-row>
+
+                <el-table style="width: 100%" :data="tableData" border>
+                  <el-table-column type="selection" width="55" align="center">
+                  </el-table-column>
+                  <el-table-column label="日期" width="120" 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>
+                <el-row class="mg">
+                     <Pagination/>
+                </el-row>
+              </el-row>
+            </el-row>
+          </el-col>
+          <el-col :span="4" class="middle">
+            <el-row :gutter="20" justify="center" align="middle">
+              <el-row class="btn">
+                <el-button type="primary" size="default" @click=""
+                  >全部添加</el-button
+                >
+              </el-row>
+              <el-row class="btn">
+                <el-button type="primary" size="default" @click=""
+                  >增加</el-button
+                >
+              </el-row>
+              <el-row class="btn">
+                <el-button type="primary" size="default" @click=""
+                  >删除</el-button
+                ></el-row
+              >
+              <el-row class="btn"
+                ><el-button type="primary" size="default" @click=""
+                  >全部删除</el-button
+                ></el-row
+              >
+            </el-row>
+          </el-col>
+          <el-col :span="10">
+            <el-row>
+              <el-row> </el-row>
+              <el-row>
+                <el-row class="title"> 已选产品列表 </el-row>
+                <el-table style="width: 100%" :data="tableData" border>
+                  <el-table-column type="selection" width="55" align="center">
+                  </el-table-column>
+                  <el-table-column label="日期" width="120" 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>
+                   <el-row class="mg">
+                     <Pagination/>
+                </el-row>
+              </el-row>
+            </el-row>
+          </el-col>
+        </el-row>
+      </el-row>
+    </el-main>
+  </el-container>
+</template>
+
+<script>
+import Pagination from "./Pagination";
+export default {
+  data() {
+    return {
+      input: "",
+      leftData: [],
+      rightData: [],
+      centerDialogVisible: false,
+      value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
+      tableData: [
+        {
+          date: "2016-05-03",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-04",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-01",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-08",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-06",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+        {
+          date: "2016-05-07",
+          name: "王小虎",
+          address: "上海市普陀区金沙江路 1518 弄",
+        },
+      ],
+      leftData: [],
+      dataL: [1, 3, 2],
+      dataR: [],
+      rightData: [],
+      multipleSelection: [],
+    };
+  },
+  methods: {
+    handelLeftCheck(e) {
+      console.log(e);
+    },
+    handelLeftCheck(direction) {},
+    //添加全部数据
+    handleAllData(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataR = [...this.dataR, ...this.dataL];
+        this.dataL = [];
+        this.leftData = [];
+      } else {
+        if (!this.dataR.length) return;
+        this.dataL = [...this.dataL, ...this.dataR];
+        this.dataR = [];
+        this.rightData = [];
+      }
+    },
+    //添加部分或单个数据
+    handlePartData(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataR = [...this.dataR, ...this.leftData];
+        this.dataL.forEach((k, d) => {
+          this.leftData.forEach((e) => {
+            if (e == k) {
+              this.dataL.splice(d, 1);
+              this.leftData = [];
+              return;
+            }
+          });
+        });
+      } else {
+        if (!this.dataL.length) return;
+        this.dataL = [...this.dataL, ...this.rightData];
+        this.dataR.forEach((k, d) => {
+          this.rightData.forEach((e) => {
+            if (e == k) {
+              this.dataR.splice(d, 1);
+              this.rightData = [];
+              return;
+            }
+          });
+        });
+      }
+    },
+    //删除全部数据
+    handleAllDelete(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataL = [];
+        this.leftData = [];
+      } else {
+        if (!this.dataR.length) return;
+        this.dataR = [];
+        this.rightData = [];
+      }
+    },
+    //删除部分或单个数据
+    handlePartDelete(direction) {
+      if (direction === "left") {
+        this.dataL.forEach((k, d) => {
+          this.leftData.forEach((e) => {
+            if (e == k) {
+              this.dataL.splice(d, 1);
+              this.leftData = [];
+              return;
+            }
+          });
+        });
+      } else {
+        this.dataR.forEach((k, d) => {
+          this.rightData.forEach((e) => {
+            if (e == k) {
+              this.dataR.splice(d, 1);
+              this.rightData = [];
+              return;
+            }
+          });
+        });
+      }
+    },
+    // 判断能操作那边框
+    handleJudge(type) {
+      if (this.leftDisabled) {
+        // 左边框功能操作
+        this.hanleType(type, "left");
+      } else {
+        // 右边框功能操作
+        this.hanleType(type, "right");
+      }
+    },
+    // 获取事件类型
+    hanleType(type, direction) {
+      switch (type) {
+        case "AddAll":
+          this.handleAllData(direction);
+          break;
+        case "AddPart":
+          this.handlePartData(direction);
+          break;
+        case "DeleteAll":
+          this.handleAllDelete(direction);
+          break;
+        case "DeletePart":
+          this.handlePartDelete(direction);
+          break;
+      }
+    },
+  },
+  components:{
+    Pagination
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.btn {
+  margin: 20px 0;
+  text-align: center;
+}
+.query_btn {
+  margin-left: 0;
+}
+.mg{
+  margin: 20px;
+}
+.pdt {
+  margin: 20px 0;
+}
+.el-main {
+  overflow: hidden;
+}
+.middle {
+  height: 430px;
+  display: flex;
+  align-content: center;
+  justify-content: center;
+  align-items: center;
+}
+.title {
+  padding: 10px 0;
+  text-align: center;
+  border-left: 1px solid #ebeef5;
+  border-right: 1px solid #ebeef5;
+  border-top: 1px solid #ebeef5;
+}
+</style>

+ 303 - 0
src/views/sales_policy/components/Transfer.vue

@@ -0,0 +1,303 @@
+<template>
+  <div>
+    <slot name="header">
+      <el-row type="flex">
+        <el-col>
+          <el-select v-model="value" class="select_height" placeholder="请选择">
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col><el-button>确定</el-button></el-col>
+      </el-row>
+    </slot>
+    <div>
+      <el-row type="flex" align="moddle" class="transfer">
+        <el-col class="left_box" :span="9">
+          <h4 class="transfer_title">可选经销商</h4>
+          <el-checkbox-group
+            v-model="leftData"
+            class="left_box_flex"
+            @change="handelLeftCheck"
+          >
+            <el-checkbox
+              v-for="(item, index) in dataL"
+              :key="index"
+              :label="item"
+              :disabled="rightDisabled"
+            ></el-checkbox>
+          </el-checkbox-group>
+        </el-col>
+        <el-col class="middle_box" :span="6">
+          <el-row>
+            <el-col>
+              <el-button :disabled="isDisabled" @click="handleJudge('AddAll')"
+                >全部添加</el-button
+              ></el-col
+            >
+            <el-col>
+              <el-button :disabled="isDisabled" @click="handleJudge('AddPart')"
+                >增加</el-button
+              ></el-col
+            >
+            <el-col>
+              <el-button
+                :disabled="isDisabled"
+                @click="handleJudge('DeletePart')"
+                >删除</el-button
+              ></el-col
+            >
+            <el-col>
+              <el-button
+                :disabled="isDisabled"
+                @click="handleJudge('DeleteAll')"
+                >全部删除</el-button
+              ></el-col
+            >
+          </el-row>
+        </el-col>
+        <el-col class="right_box" :span="9">
+          <h4 class="transfer_title">已选经销商</h4>
+          <el-checkbox-group v-model="rightData" class="right_box_flex">
+            <el-checkbox
+              v-for="(item, index) in dataR"
+              :key="index"
+              :label="item"
+              :disabled="leftDisabled"
+            ></el-checkbox>
+          </el-checkbox-group>
+        </el-col>
+      </el-row>
+    </div>
+
+    <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-row>
+    </slot>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      leftData: [],
+      dataL: [1, 3, 2],
+      dataR: [],
+      rightData: [],
+      options: [
+        {
+          value: "选项1",
+          label: "黄金糕",
+        },
+        {
+          value: "选项2",
+          label: "双皮奶",
+        },
+        {
+          value: "选项3",
+          label: "蚵仔煎",
+        },
+        {
+          value: "选项4",
+          label: "龙须面",
+        },
+        {
+          value: "选项5",
+          label: "北京烤鸭",
+        },
+      ],
+      value: "",
+    };
+  },
+  computed: {
+    /**
+     * @return(bool)  isDisabled
+     *  禁用功能按钮
+     */
+    isDisabled() {
+      return !(this.leftData.length || this.rightData.length);
+    },
+    /**
+     * @return(bool)  leftDisabled
+     *  禁用左边框选择
+     */
+    leftDisabled() {
+      return this.leftData.some((i) => i !== "");
+    },
+    /**
+     * @return(bool)  rightDisabled
+     *  禁用右边框选择
+     */
+    rightDisabled() {
+      return this.rightData.some((i) => i !== "");
+    },
+  },
+  methods: {
+    handelLeftCheck(direction) {},
+    //添加全部数据
+    handleAllData(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataR = [...this.dataR, ...this.dataL];
+        this.dataL = [];
+        this.leftData = [];
+      } else {
+        if (!this.dataR.length) return;
+        this.dataL = [...this.dataL, ...this.dataR];
+        this.dataR = [];
+        this.rightData = [];
+      }
+    },
+    //添加部分或单个数据
+    handlePartData(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataR = [...this.dataR, ...this.leftData];
+        this.dataL.forEach((k, d) => {
+          this.leftData.forEach((e) => {
+            if (e == k) {
+              this.dataL.splice(d, 1);
+              this.leftData = [];
+              return;
+            }
+          });
+        });
+      } else {
+        if (!this.dataL.length) return;
+        this.dataL = [...this.dataL, ...this.rightData];
+        this.dataR.forEach((k, d) => {
+          this.rightData.forEach((e) => {
+            if (e == k) {
+              this.dataR.splice(d, 1);
+              this.rightData = [];
+              return;
+            }
+          });
+        });
+      }
+    },
+    //删除全部数据
+    handleAllDelete(direction) {
+      if (direction === "left") {
+        if (!this.dataL.length) return;
+        this.dataL = [];
+        this.leftData = [];
+      } else {
+        if (!this.dataR.length) return;
+        this.dataR = [];
+        this.rightData = [];
+      }
+    },
+    //删除部分或单个数据
+    handlePartDelete(direction) {
+      if (direction === "left") {
+        this.dataL.forEach((k, d) => {
+          this.leftData.forEach((e) => {
+            if (e == k) {
+              this.dataL.splice(d, 1);
+              this.leftData = [];
+              return;
+            }
+          });
+        });
+      } else {
+        this.dataR.forEach((k, d) => {
+          this.rightData.forEach((e) => {
+            if (e == k) {
+              this.dataR.splice(d, 1);
+              this.rightData = [];
+              return;
+            }
+          });
+        });
+      }
+    },
+    // 判断能操作那边框
+    handleJudge(type) {
+      if (this.leftDisabled) {
+        // 左边框功能操作
+        this.hanleType(type, "left");
+      } else {
+        // 右边框功能操作
+        this.hanleType(type, "right");
+      }
+    },
+    // 获取事件类型
+    hanleType(type, direction) {
+      switch (type) {
+        case "AddAll":
+          this.handleAllData(direction);
+          break;
+        case "AddPart":
+          this.handlePartData(direction);
+          break;
+        case "DeleteAll":
+          this.handleAllDelete(direction);
+          break;
+        case "DeletePart":
+          this.handlePartDelete(direction);
+          break;
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+// 穿梭框
+.transfer {
+  margin: 20px 0;
+  &_title {
+    margin: 20px 20px 0 20px;
+  }
+  .left_box {
+    width: 430px;
+    height: 450px;
+    border: 1px solid #eee;
+    &_flex {
+      display: flex;
+      flex-direction: column;
+      margin: 20px;
+      .el-checkbox {
+        padding: 10px 0;
+      }
+    }
+  }
+  .right_box {
+    width: 430px;
+    height: 450px;
+    border: 1px solid #eee;
+    &_flex {
+      display: flex;
+      flex-direction: column;
+      margin: 20px;
+      .el-checkbox {
+        padding: 10px 0;
+      }
+    }
+  }
+}
+.middle_box {
+  text-align: center;
+  height: 430px;
+  display: flex;
+  align-content: center;
+  justify-content: center;
+  align-items: center;
+}
+.el-row .el-col {
+  margin: 20px 0;
+}
+.select_height {
+  width: 100%;
+}
+</style>

+ 150 - 0
src/views/sales_policy/marketing_list.vue

@@ -0,0 +1,150 @@
+<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>
+
+      </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>
+
+      </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/>
+</template>
+
+<script>
+import Pagination from "./components/Pagination";
+import NewInfo from './components/NewInfo'
+export default {
+  data() {
+    return {
+      isShow:false,
+      input: "",
+      tableData: [
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-04",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1517 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-01",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1519 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-03",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1516 弄",
+          zip: 200333,
+        },
+      ],
+    };
+  },
+  components: {
+    Pagination,
+    NewInfo
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.mg {
+  margin: 20px 0;
+}
+.btn {
+  text-align: right;
+}
+</style>

+ 216 - 0
src/views/sales_policy/policy_list.vue

@@ -0,0 +1,216 @@
+<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=""
+          ><i class="el-icon-delete"></i>
+        </el-button>
+      </el-row>
+    </el-header>
+    <el-main>
+      <el-table :data="tableData" border style="width: 100%" height="600">
+        <el-table-column fixed="left" label="操作" width="200" align="center">
+          <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>
+            <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="销售政策编号"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="city"
+          label="销售政策说明"
+          width="120"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column prop="address" label="部门" width="300" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="表头备注" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="生效日期" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="结束日期" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="制表人" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="制表日期" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="审核人" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="审核日期" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="关闭人" width="120" align="center">
+        </el-table-column>
+        <el-table-column prop="zip" label="关闭日期" width="120" align="center">
+        </el-table-column>
+      </el-table>
+    </el-main>
+    <Pagination />
+  </el-container>
+  <AddPolicy v-else-if="isShow == 2" />
+  <AddCondition v-else-if="isShow == 3" />
+  <AddModel v-else />
+</template>
+
+<script>
+import AddPolicy from "./components/AddPolicy";
+import AddModel from "./components/AddModel";
+import Pagination from "./components/Pagination";
+import AddCondition from "./components/AddCondition";
+export default {
+  data() {
+    return {
+      input: "",
+      isShow: 3,
+      tableData: [
+        {
+          date: "2016-05-02",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1518 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-04",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1517 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-01",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1519 弄",
+          zip: 200333,
+        },
+        {
+          date: "2016-05-03",
+          name: "王小虎",
+          province: "上海",
+          city: "普陀区",
+          address: "上海市普陀区金沙江路 1516 弄",
+          zip: 200333,
+        },
+      ],
+    };
+  },
+  components: {
+    AddModel,
+    AddPolicy,
+    Pagination,
+    AddCondition,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.btn {
+  width: 80px;
+}
+.mpd {
+  padding: 20px 0 0 0;
+}
+
+.header_ {
+  margin-top: 20px;
+  &input {
+    padding-bottom: 10px;
+  }
+}
+.select_height {
+  width: 100%;
+}
+</style>