Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
clique-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
clique
clique-web
Commits
f44509ae
Commit
f44509ae
authored
Jun 24, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/6月迭代-抖音' into dev
# Conflicts: # dist/static/js/manifest.cdeb591d1beb41b20702.js.map
parents
2105be34
0d1ba723
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1086 additions
and
422 deletions
+1086
-422
manifest.cdeb591d1beb41b20702.js.map
dist/static/js/manifest.cdeb591d1beb41b20702.js.map
+5
-2
index.html
index.html
+1
-0
point-form.vue
src/components/memberShip/point-form.vue
+123
-71
index.js
src/router/index.js
+4
-1
addIntegralSytem.vue
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
+98
-74
addPointSystem.vue
src/view/companyGroup/membershipSystem/addPointSystem.vue
+259
-70
MemberCardTable.vue
...panyGroup/membershipSystem/components/MemberCardTable.vue
+34
-6
editIntegralSytem.vue
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
+96
-56
editPointSystem.vue
src/view/companyGroup/membershipSystem/editPointSystem.vue
+208
-75
memberCardSet.vue
src/view/companyGroup/membershipSystem/memberCardSet.vue
+1
-0
pointSystem.vue
src/view/companyGroup/membershipSystem/pointSystem.vue
+253
-66
index.vue
src/view/index/index.vue
+4
-1
No files found.
dist/static/js/manifest.cdeb591d1beb41b20702.js.map
View file @
f44509ae
{"version":3,"sources":["webpack:///webpack/bootstrap d0fd28662d47f389cc98"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","46","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"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","file":"static/js/manifest.cdeb591d1beb41b20702.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t46: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"88da6cef2a2da8c0ac06\",\"1\":\"9cecaa6c9806ca9799db\",\"2\":\"bd54b86536f9ccb82ea1\",\"3\":\"352b3a449f18f3dc371f\",\"4\":\"fc1aa6d164c35271c42d\",\"5\":\"307b129f1a13ed13c71d\",\"6\":\"e6c86fd0100c3f880882\",\"7\":\"d55f58fa44f2860e9e48\",\"8\":\"0f3943c3b5490c246227\",\"9\":\"9e3105c825be19fecbdf\",\"10\":\"e595220b8f908da126fb\",\"11\":\"34ce7335b5c84a8f8337\",\"12\":\"f5fffa976b6bea3d79c1\",\"13\":\"27b91aa0ae95700cfa84\",\"14\":\"bf21f99ec45bc38c3caa\",\"15\":\"f62c6f37eb70267c9d80\",\"16\":\"54e18151bb7c6fa78089\",\"17\":\"214b2699697c8d262547\",\"18\":\"f7aa00758a5a88cdf277\",\"19\":\"76c2fa6beb5031af3234\",\"20\":\"ef938e3378ae39d9aa78\",\"21\":\"781564129abd9296748d\",\"22\":\"cbb007cf5f8436efd038\",\"23\":\"fae356d1c7dfeb020e7f\",\"24\":\"e6c6d1a06ae42536d947\",\"25\":\"3b9009a049ef9ad8f5c2\",\"26\":\"b43ebacd6ce40990eb1c\",\"27\":\"b2b2594bf42f908f17d1\",\"28\":\"d30cefac1b83e661b9e8\",\"29\":\"8f3f018c9b4e85492548\",\"30\":\"ae878be6f1930d0ef3e6\",\"31\":\"ec38906347011d5ee323\",\"32\":\"791aa646b04c6e599ab1\",\"33\":\"179e5d3ec4a8cd7eb837\",\"34\":\"fda28a1c54d0d2e301fa\",\"35\":\"eee174d768d66e948153\",\"36\":\"7a5df2b4b32cd7206f01\",\"37\":\"5a65b0174f843f0d8be9\",\"38\":\"91e212527125ab12b5b1\",\"39\":\"bae0c8006d56c96f1965\",\"40\":\"6e67f0e5fdc095d44edd\",\"41\":\"d6cef65dd8fa6e92f28d\",\"42\":\"0f52d0981564c135a4fe\",\"43\":\"c15d634a3b283251085f\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d0fd28662d47f389cc98"],"sourceRoot":""}
<<<<<<< HEAD:dist/static/js/manifest.cdeb591d1beb41b20702.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap d0fd28662d47f389cc98"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","46","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"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","file":"static/js/manifest.cdeb591d1beb41b20702.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t46: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"88da6cef2a2da8c0ac06\",\"1\":\"9cecaa6c9806ca9799db\",\"2\":\"bd54b86536f9ccb82ea1\",\"3\":\"352b3a449f18f3dc371f\",\"4\":\"fc1aa6d164c35271c42d\",\"5\":\"307b129f1a13ed13c71d\",\"6\":\"e6c86fd0100c3f880882\",\"7\":\"d55f58fa44f2860e9e48\",\"8\":\"0f3943c3b5490c246227\",\"9\":\"9e3105c825be19fecbdf\",\"10\":\"e595220b8f908da126fb\",\"11\":\"34ce7335b5c84a8f8337\",\"12\":\"f5fffa976b6bea3d79c1\",\"13\":\"27b91aa0ae95700cfa84\",\"14\":\"bf21f99ec45bc38c3caa\",\"15\":\"f62c6f37eb70267c9d80\",\"16\":\"54e18151bb7c6fa78089\",\"17\":\"214b2699697c8d262547\",\"18\":\"f7aa00758a5a88cdf277\",\"19\":\"76c2fa6beb5031af3234\",\"20\":\"ef938e3378ae39d9aa78\",\"21\":\"781564129abd9296748d\",\"22\":\"cbb007cf5f8436efd038\",\"23\":\"fae356d1c7dfeb020e7f\",\"24\":\"e6c6d1a06ae42536d947\",\"25\":\"3b9009a049ef9ad8f5c2\",\"26\":\"b43ebacd6ce40990eb1c\",\"27\":\"b2b2594bf42f908f17d1\",\"28\":\"d30cefac1b83e661b9e8\",\"29\":\"8f3f018c9b4e85492548\",\"30\":\"ae878be6f1930d0ef3e6\",\"31\":\"ec38906347011d5ee323\",\"32\":\"791aa646b04c6e599ab1\",\"33\":\"179e5d3ec4a8cd7eb837\",\"34\":\"fda28a1c54d0d2e301fa\",\"35\":\"eee174d768d66e948153\",\"36\":\"7a5df2b4b32cd7206f01\",\"37\":\"5a65b0174f843f0d8be9\",\"38\":\"91e212527125ab12b5b1\",\"39\":\"bae0c8006d56c96f1965\",\"40\":\"6e67f0e5fdc095d44edd\",\"41\":\"d6cef65dd8fa6e92f28d\",\"42\":\"0f52d0981564c135a4fe\",\"43\":\"c15d634a3b283251085f\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d0fd28662d47f389cc98"],"sourceRoot":""}
=======
{"version":3,"sources":["webpack:///webpack/bootstrap 683be827eebe38426cb4"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","46","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"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","file":"static/js/manifest.cdeb591d1beb41b20702.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t46: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"88da6cef2a2da8c0ac06\",\"1\":\"9cecaa6c9806ca9799db\",\"2\":\"bd54b86536f9ccb82ea1\",\"3\":\"352b3a449f18f3dc371f\",\"4\":\"fc1aa6d164c35271c42d\",\"5\":\"307b129f1a13ed13c71d\",\"6\":\"e6c86fd0100c3f880882\",\"7\":\"d55f58fa44f2860e9e48\",\"8\":\"0f3943c3b5490c246227\",\"9\":\"9e3105c825be19fecbdf\",\"10\":\"e595220b8f908da126fb\",\"11\":\"34ce7335b5c84a8f8337\",\"12\":\"f5fffa976b6bea3d79c1\",\"13\":\"27b91aa0ae95700cfa84\",\"14\":\"bf21f99ec45bc38c3caa\",\"15\":\"f62c6f37eb70267c9d80\",\"16\":\"54e18151bb7c6fa78089\",\"17\":\"214b2699697c8d262547\",\"18\":\"f7aa00758a5a88cdf277\",\"19\":\"76c2fa6beb5031af3234\",\"20\":\"ef938e3378ae39d9aa78\",\"21\":\"781564129abd9296748d\",\"22\":\"cbb007cf5f8436efd038\",\"23\":\"fae356d1c7dfeb020e7f\",\"24\":\"e6c6d1a06ae42536d947\",\"25\":\"3b9009a049ef9ad8f5c2\",\"26\":\"b43ebacd6ce40990eb1c\",\"27\":\"b2b2594bf42f908f17d1\",\"28\":\"d30cefac1b83e661b9e8\",\"29\":\"8f3f018c9b4e85492548\",\"30\":\"ae878be6f1930d0ef3e6\",\"31\":\"ec38906347011d5ee323\",\"32\":\"791aa646b04c6e599ab1\",\"33\":\"179e5d3ec4a8cd7eb837\",\"34\":\"fda28a1c54d0d2e301fa\",\"35\":\"eee174d768d66e948153\",\"36\":\"7a5df2b4b32cd7206f01\",\"37\":\"5a65b0174f843f0d8be9\",\"38\":\"91e212527125ab12b5b1\",\"39\":\"bae0c8006d56c96f1965\",\"40\":\"6e67f0e5fdc095d44edd\",\"41\":\"d6cef65dd8fa6e92f28d\",\"42\":\"0f52d0981564c135a4fe\",\"43\":\"c15d634a3b283251085f\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 683be827eebe38426cb4"],"sourceRoot":""}
>>>>>>> feature/6月迭代-抖音:dist/static/js/manifest.9eebeaf786b210c159cd.js.map
index.html
View file @
f44509ae
...
@@ -32,5 +32,6 @@
...
@@ -32,5 +32,6 @@
<script src="//web-1251519181.file.myqcloud.com/components/input.2.0.00.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/input.2.0.00.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/export.1.0.1.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/export.1.0.1.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/store-new.2.0.46.js"></script> -->
<script src="//web-1251519181.file.myqcloud.com/components/store-new.2.0.46.js"></script> -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js"
></script>
</body>
</body>
</html>
</html>
src/components/memberShip/point-form.vue
View file @
f44509ae
<
template
>
<
template
>
<div
class=
"form-wrap"
>
<div>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<div
class=
"form-wrap"
style=
"margin-bottom:180px;"
>
<el-form-item
label=
"积分获取规则"
prop=
""
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"90px"
class=
"demo-ruleForm"
>
<dm-sub-title
type=
"fill"
text=
"积分获取策略"
style=
"margin-bottom: 20px;margin-top:10px;"
/>
<el-form-item
label=
"获取规则:"
prop=
"integralGetStatus"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
>
不获取积分
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGet.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralGet.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元,获取
</label>
<label>
元,获取
</label>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1
"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
step-strictly
:controls=
"false
"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralGet.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分。取整策略为
</label>
<!--
<el-input
v-model=
"ruleForm.integralGet.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分。取整策略为
</label>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
style=
"width:115px;margin-left:5px;"
>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select><br/>
<span
style=
"color: #909399;font-size:12px; padding-left:22px;"
>
例:根据消费金额计算出积分为4.3,选择「四舍五入」和「进位制」时为5积分,选择「抹零」则为4积分
</span>
</div>
</div>
<div>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
class=
"margin-20"
>
不获取积分
</el-radio>
<el-form-item
label=
"折扣控制:"
prop=
""
label-width=
"100px"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralGetDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralGetDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
<el-form-item
label=
"积分冻结期:"
prop=
"name"
label-width=
"100px"
class=
"padding-bottom-20 margin-20"
>
<label>
自获取之日起
</label>
<el-input
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInput($event)"
></el-input>
<label>
天
</label>
<span
style=
"font-size: 12px;color: #828282;padding-left: 10px;"
>
仅对通过订单获取的积分生效,活动类获取的积分没有冻结期
</span></el-form-item>
</div>
</div>
</el-form-item>
</el-form-item>
<div
class=
"form-child"
v-if=
"ruleForm.integralGetStatus == 1"
>
<dm-sub-title
type=
"fill"
text=
"积分抵现策略"
style=
"margin-bottom: 20px;margin-top:30px; "
/>
<el-form-item
label=
"折扣控制"
prop=
""
>
<el-form-item
label=
"抵现规则:"
prop=
"integralUseStatus"
class=
"margin-20"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGetDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGetDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</el-form-item>
<el-form-item
label=
"积分冻结期"
prop=
"name"
class=
"padding-0"
>
<el-input
style=
"padding-left: 0"
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
</el-form-item>
<el-form-item
label=
"积分有效期"
prop=
"name"
class=
"padding-0"
>
<el-input
style=
"padding-left: 0"
v-model=
"ruleForm.effectiveTime"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
</el-form-item>
</div>
<el-form-item
label=
"积分抵现规则"
prop=
"region"
class=
"margin-20"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralUse.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUse.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1
"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.integral"
step-strictly
:controls=
"false
"
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralUse.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUse.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"积分成本"
>
<label>
每使用
</label>
<el-input-number
v-model=
"ruleForm.integralCost.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralCost.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分,承担
</label>
<!--
<el-input
v-model=
"ruleForm.integralCost.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralCost.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralUseStatus == 1"
>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralUseStatus == 1"
>
<el-form-item
label=
"折扣控制"
prop=
"region"
>
<el-form-item
label=
"折扣控制
:
"
prop=
"region"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
商品都适用
</label>
<label>
折
商品都适用
</label>
<span
style=
"font-size: 1
3px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 1
2px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制
"
prop=
"name
"
>
<el-form-item
label=
"比例限制
:"
prop=
"name"
class=
"padding-bottom-20 margin-20
"
>
<label>
最多可抵用商品金额的
</label>
<label>
最多可抵用商品金额的
</label>
<el-input
v-model=
"ruleForm.useProportionalRestriction"
@
keyup
.
native=
"formatInput($event)"
>
<el-input
placeholder=
"请输入"
v-model=
"ruleForm.useProportionalRestriction"
@
keyup
.
native=
"formatInput($event)"
></el-input>
%
<template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<el-form-item
label=
"积分说明"
prop=
"desc"
class=
"margin-20"
>
</el-form-item>
<el-form-item
label=
"积分成本:"
required
>
<label>
每使用
</label>
<el-input-number
v-model=
"ruleForm.integralCost.integral"
step-strictly
:controls=
"false"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralCost.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分,承担
</label>
<!--
<el-input
v-model=
"ruleForm.integralCost.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralCost.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"积分有效期"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"有效期:"
prop=
"effectiveTime"
class=
"padding-0"
>
<label>
自获取之日起
</label>
<el-input
v-model=
"ruleForm.effectiveTime"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
适用于所有方式获取的积分
</span>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"积分说明"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
""
label-width=
"0"
prop=
"desc"
class=
"margin-20"
>
<div
class=
"tinymce-wrap"
>
<div
class=
"tinymce-wrap"
>
<editor
id=
"tinymce"
v-model=
"ruleForm.integralScript"
:init=
"init"
></editor>
<editor
id=
"tinymce"
v-model=
"ruleForm.integralScript"
:init=
"init"
></editor>
</div>
</div>
<!--
<div
v-html=
'tinymceHtml'
></div>
-->
<!--
<div
v-html=
'tinymceHtml'
></div>
-->
</el-form-item>
</el-form-item>
<el-form-item
style=
"margin-bottom: 48px"
>
<el-button
:disabled=
"contactBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保存
</el-button>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
<div
class=
"bottom"
>
<el-button
:disabled=
"contactBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
style=
"margin:13px 0 0 -220px;"
>
保存
</el-button>
</div>
</div>
</
template
>
</
template
>
<
script
type=
"text/javascript"
>
<
script
type=
"text/javascript"
>
import
{
postRequest
,
postForm
}
from
'@/api/api'
;
import
{
postRequest
,
postForm
}
from
'@/api/api'
;
...
@@ -151,16 +161,31 @@ export default {
...
@@ -151,16 +161,31 @@ export default {
integralUseStatus
:
'1'
,
//积分使用开启(0:否,1:是)
integralUseStatus
:
'1'
,
//积分使用开启(0:否,1:是)
effectiveTime
:
'100'
,
//积分有效期
effectiveTime
:
'100'
,
//积分有效期
integralGetDiscountControl
:
'2'
,
integralGetDiscountControl
:
'2'
,
integralGetDiscountControlUpper
:
'
0.0
'
,
// 折扣控制 折扣范围 下限
integralGetDiscountControlUpper
:
' '
,
// 折扣控制 折扣范围 下限
integralGetDiscountControlLower
:
'
0.0
'
,
// 折扣控制 折扣范围 上限
integralGetDiscountControlLower
:
''
,
// 折扣控制 折扣范围 上限
integralGetFreezeDays
:
'1'
,
// 获取积分冻结天数
integralGetFreezeDays
:
'1'
,
// 获取积分冻结天数
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'
0.0
'
,
integralUseDiscountControlUpper
:
''
,
integralUseDiscountControlLower
:
'
0.0
'
,
integralUseDiscountControlLower
:
''
,
useProportionalRestriction
:
'90'
,
//抵现比例限制
useProportionalRestriction
:
'90'
,
//抵现比例限制
integralCost
:
{
fee
:
'1'
,
integral
:
'1'
}
//积分成本
integralCost
:
{
fee
:
'1'
,
integral
:
'1'
}
//积分成本
},
},
rules
:
{},
rules
:
{
integralGetStatus
:
[
{
required
:
true
,
message
:
'请选择积分获取规则'
,
trigger
:
'blur'
},
],
integralUseStatus
:
[
{
required
:
true
,
message
:
'请选择抵现规则'
,
trigger
:
'blur'
},
],
effectiveTime
:
[
{
required
:
true
,
message
:
'请填写有效期'
,
trigger
:
'blur'
},
],
// strategyName: [
// { required: true, message: '请填写策略名称', trigger: 'blur' },
// ],strategyName: [
// { required: true, message: '请填写策略名称', trigger: 'blur' },
// ]
},
// tinymce
// tinymce
tinymceHtml
:
'请输入内容'
,
tinymceHtml
:
'请输入内容'
,
...
@@ -282,7 +307,7 @@ export default {
...
@@ -282,7 +307,7 @@ export default {
if
(
data
.
integralGetStatus
==
1
&&
data
.
integralGetDiscountControl
==
2
)
{
if
(
data
.
integralGetStatus
==
1
&&
data
.
integralGetDiscountControl
==
2
)
{
let
flagA
=
Number
(
data
.
integralGetDiscountControlUpper
)
<=
Number
(
data
.
integralGetDiscountControlLower
);
let
flagA
=
Number
(
data
.
integralGetDiscountControlUpper
)
<=
Number
(
data
.
integralGetDiscountControlLower
);
if
(
!
data
.
integralGetDiscountControlLower
||
!
data
.
integralGetDiscountControlUpper
)
{
if
(
!
data
.
integralGetDiscountControlLower
||
!
data
.
integralGetDiscountControlUpper
)
{
that
.
$message
.
error
(
'
积分获取规则中的折扣不能为空
'
);
that
.
$message
.
error
(
'
请输入商品折扣值
'
);
return
;
return
;
}
}
if
(
flagA
)
{
if
(
flagA
)
{
...
@@ -293,7 +318,7 @@ export default {
...
@@ -293,7 +318,7 @@ export default {
if
(
data
.
integralUseStatus
==
1
&&
data
.
integralUseDiscountControl
==
2
)
{
if
(
data
.
integralUseStatus
==
1
&&
data
.
integralUseDiscountControl
==
2
)
{
let
flagB
=
Number
(
data
.
integralUseDiscountControlUpper
)
<=
Number
(
data
.
integralUseDiscountControlLower
);
let
flagB
=
Number
(
data
.
integralUseDiscountControlUpper
)
<=
Number
(
data
.
integralUseDiscountControlLower
);
if
(
!
data
.
integralUseDiscountControlLower
||
!
data
.
integralUseDiscountControlUpper
)
{
if
(
!
data
.
integralUseDiscountControlLower
||
!
data
.
integralUseDiscountControlUpper
)
{
that
.
$message
.
error
(
'
积分抵现规则中的折扣不能为空
'
);
that
.
$message
.
error
(
'
请输入商品折扣值
'
);
return
;
return
;
}
}
if
(
flagB
)
{
if
(
flagB
)
{
...
@@ -313,9 +338,9 @@ export default {
...
@@ -313,9 +338,9 @@ export default {
}
}
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
data
.
integralGet
=
JSON
.
stringify
(
data
.
integralGet
);
data
.
integralGet
=
JSON
.
stringify
(
data
.
integralGet
)
?
JSON
.
stringify
(
data
.
integralGet
):
that
.
ruleForm
.
integralGet
;
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
);
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
)
?
JSON
.
stringify
(
data
.
integralUse
):
that
.
ruleForm
.
integralUse
;
data
.
integralCost
=
JSON
.
stringify
(
data
.
integralCost
);
data
.
integralCost
=
JSON
.
stringify
(
data
.
integralCost
)
?
JSON
.
stringify
(
data
.
integralCost
):
that
.
ruleForm
.
integralCost
;
that
.
saveInfo
(
data
);
that
.
saveInfo
(
data
);
}
else
{
}
else
{
// log('error submit!!');
// log('error submit!!');
...
@@ -379,6 +404,11 @@ export default {
...
@@ -379,6 +404,11 @@ export default {
// 输入框输入校验数字
// 输入框输入校验数字
formatInput
(
e
)
{
formatInput
(
e
)
{
let
that
=
this
;
let
that
=
this
;
that
.
ruleForm
.
integralUse
.
fee
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralUse
.
fee
).
replace
(
/
[^\d]
/g
,
''
),
6
)
||
'0'
that
.
ruleForm
.
integralUse
.
integral
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralUse
.
integral
).
replace
(
/
[^\d]
/g
,
''
),
8
)
||
'0'
that
.
ruleForm
.
integralCost
.
fee
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralCost
.
fee
).
replace
(
/
[^\d]
/g
,
''
),
6
)
||
'0'
that
.
ruleForm
.
integralCost
.
integral
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralCost
.
integral
).
replace
(
/
[^\d]
/g
,
''
),
8
)
||
'0'
that
.
ruleForm
.
integralGetFreezeDays
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralGetFreezeDays
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
integralGetFreezeDays
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralGetFreezeDays
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
effectiveTime
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
effectiveTime
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
effectiveTime
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
effectiveTime
).
replace
(
/
[^\d]
/g
,
''
),
4
);
...
@@ -401,6 +431,10 @@ export default {
...
@@ -401,6 +431,10 @@ export default {
// log("新数据:",newData,oldData)
// log("新数据:",newData,oldData)
if
(
newData
)
{
if
(
newData
)
{
that
.
ruleForm
=
newData
;
that
.
ruleForm
=
newData
;
// 给定一个默认值
if
(
newData
.
integralGetDiscountControl
==
0
)
{
this
.
ruleForm
.
integralGetDiscountControl
=
'1'
;
}
}
}
}
}
},
},
...
@@ -420,11 +454,25 @@ export default {
...
@@ -420,11 +454,25 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.bottom
{
position
:
fixed
;
bottom
:
0px
;
left
:
200px
;
width
:
100%
;
height
:
55px
;
//
margin
:
25px
;
text-align
:
center
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -432,13 +480,16 @@ export default {
...
@@ -432,13 +480,16 @@ export default {
/
deep
/
.el-form
{
/
deep
/
.el-form
{
.
el-form-item
:
last-child
{
.
el-form-item
:
last-child
{
/*margin-bottom: 0;*/
margin-bottom
:
0
;
}
}
}
}
.padding-0
{
.padding-0
{
padding
:
0
;
padding
:
0
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
...
@@ -454,7 +505,8 @@ export default {
...
@@ -454,7 +505,8 @@ export default {
}
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
890px
;
width
:
1000px
;
height
:
254px
;
/deep/
.mce-tinymce
{
/deep/
.mce-tinymce
{
-webkit-box-shadow
:
none
;
-webkit-box-shadow
:
none
;
...
...
src/router/index.js
View file @
f44509ae
...
@@ -93,7 +93,10 @@ export const constantRouterMap = [
...
@@ -93,7 +93,10 @@ export const constantRouterMap = [
{
{
path
:
'/pointSystem'
,
path
:
'/pointSystem'
,
name
:
'积分制度'
,
name
:
'积分制度'
,
component
:
_import
(
'companyGroup/membershipSystem'
,
'pointSystem'
)
component
:
_import
(
'companyGroup/membershipSystem'
,
'pointSystem'
),
meta
:
{
keepAlive
:
true
}
},
},
{
{
path
:
'/addPointSystem'
,
path
:
'/addPointSystem'
,
...
...
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
View file @
f44509ae
...
@@ -12,16 +12,18 @@
...
@@ -12,16 +12,18 @@
label-width=
"100px"
label-width=
"100px"
class=
"demo-ruleForm"
class=
"demo-ruleForm"
>
>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<dm-sub-title
type=
"fill"
text=
"基本信息"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"策略名称:"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-input
<el-input
placeholder=
"请输入策略名称"
v-model=
"ruleForm.strategyName"
v-model=
"ruleForm.strategyName"
class=
"w-340 padding-0"
class=
"w-340 padding-0"
@
keyup
.
native=
"value => toInput(value)"
@
keyup
.
native=
"value => toInput(value)"
></el-input>
></el-input>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用对象"
prop
class=
"margin-20"
>
<el-form-item
label=
"适用对象
:
"
prop
class=
"margin-20"
>
<el-select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择"
class=
"w340"
>
<el-option
<el-option
v-for=
"item in applyObjOption"
v-for=
"item in applyObjOption"
:key=
"item.value"
:key=
"item.value"
...
@@ -30,25 +32,27 @@
...
@@ -30,25 +32,27 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"人群定向"
v-if=
"ruleForm.useCrowd == 2"
prop
class=
"padding-0"
>
<el-form-item
label=
"人群定向
:
"
v-if=
"ruleForm.useCrowd == 2"
prop
class=
"padding-0"
>
<el-button
@
click=
"showPeople"
>
已设置
{{
selectCount
}}
项筛选
</el-button>
<el-button
@
click=
"showPeople"
>
已设置
{{
selectCount
}}
项筛选
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<el-form-item
label=
"适用条件
:
"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
</el-form-item>
<!-- 只获取微信的 -->
<dm-sub-title
type=
"fill"
text=
"渠道配置"
style=
"margin-bottom: 20px; margin-top:30px;"
/>
<!-- 只获取微信的 微信改为达摩微商城-->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"
适用微信商城
"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微商城:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在达摩微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus
== 1
"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
<el-select
v-model=
"item.enterpriseRelationIdArr"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
placeholder=
"请选择"
multiple
multiple
size=
"small"
size=
"small"
class=
"w240"
>
>
<el-option
<el-option
v-for=
"item in mechantOption"
v-for=
"item in mechantOption"
...
@@ -58,9 +62,9 @@
...
@@ -58,9 +62,9 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
class=
"padding-
0"
>
<el-form-item
label=
"适用商品
:"
class=
"margin-2
0"
>
<el-select
<el-select
class=
"fl"
class=
"fl
w240
"
style=
"margin-right: 10px;"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -76,7 +80,7 @@
...
@@ -76,7 +80,7 @@
<!-- 商品品牌 -->
<!-- 商品品牌 -->
<el-select
<el-select
size=
"small"
size=
"small"
class=
"fl"
class=
"fl
w240
"
@
change=
"selectGoodsStoreWx"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx"
v-model=
"valueWx"
...
@@ -106,86 +110,91 @@
...
@@ -106,86 +110,91 @@
@
click=
"showGoodsDialog('wx')"
@
click=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20
padding-bottom-20
"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
<el-input-number
placeholder=
"请输入"
v-model=
"item.integralUseDiscountControlLower"
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
<el-input-number
placeholder=
"请输入"
v-model=
"item.integralUseDiscountControlUpper"
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道
:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true
"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == 1
"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w240"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺"
>
<el-form-item
label=
"选择店铺
:"
class=
"margin-20
"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
class=
"w240"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品
"
class=
"padding-
0"
>
<el-form-item
label=
"微盟商品
:"
class=
"margin-2
0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
class=
"w240"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region"
class=
"input-margin-b
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.0
1"
></el-input-number>
<el-input-number
placeholder=
"请输入"
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.0
1"
></el-input-number>
<el-input-number
placeholder=
"请输入"
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<dm-sub-title
type=
"fill"
text=
"规则配置"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"抵现规则
"
prop
class=
"margin-20
"
>
<el-form-item
label=
"抵现规则
:"
prop=
"integralUseStatus"
class=
"margin-20"
label-width=
"110px
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-input-number
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralUse.integral"
v-model=
"ruleForm.integralUse.integral"
:precision=
"1"
:controls=
"false"
:controls=
"false"
:max=
"10000.0"
step-strictly
:min=
"0.1"
></el-input-number>
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<el-input-number
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralUse.fee"
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:precision=
"1"
:controls=
"false"
:controls=
"false"
...
@@ -194,25 +203,23 @@
...
@@ -194,25 +203,23 @@
></el-input-number>
></el-input-number>
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
class=
"margin-20"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制
"
prop=
"name
"
>
<el-form-item
label=
"比例限制
:"
prop=
""
label-width=
"110px"
:rules=
"{ required: true, message: '请选择抵现规则', trigger: 'blur' }
"
>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<el-input
<el-input
placeholder=
"请输入"
@
keyup
.
native=
"formatInputNum($event)"
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
>
></el-input>
%
<
template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop=
"
"
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag"
label-width=
"110px
"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
在该时段内有效
</el-radio>
<div
style=
"marginTop: 10px"
>
<el-date-picker
<el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
...
@@ -223,19 +230,12 @@
...
@@ -223,19 +230,12 @@
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
>
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-date-picker>
</el-radio>
</div>
</el-form-item>
<el-form-item>
<el-row>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保 存
</el-button>
<el-button
@
click=
"goBack"
>
返 回
</el-button>
</el-row>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"bottom"
>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
style=
"margin:13px 0 0 -220px;"
>
保 存
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -319,12 +319,14 @@ export default {
...
@@ -319,12 +319,14 @@ export default {
path
:
'/pointSystem'
path
:
'/pointSystem'
},
},
{
{
name
:
'
添加
积分抵现策略'
,
name
:
'
新增
积分抵现策略'
,
path
:
''
path
:
''
}
}
],
],
rules
:
{
rules
:
{
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}]
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}],
integralUseStatus
:
[{
required
:
true
,
message
:
'请输入积分抵现比例限制'
,
trigger
:
'blur'
}],
perpetualFlag
:
[{
required
:
true
,
message
:
'请选择策略有效期'
,
trigger
:
'blur'
}],
},
},
// 添加商品弹窗
// 添加商品弹窗
goodShow
:
false
,
goodShow
:
false
,
...
@@ -396,15 +398,15 @@ export default {
...
@@ -396,15 +398,15 @@ export default {
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
openStatus
:
0
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlUpper
:
undefined
,
integralUseDiscountControlLower
:
'0.0'
,
integralUseDiscountControlLower
:
undefined
,
useProportionalRestriction
:
'
0.0
'
,
// 抵现比例限制
useProportionalRestriction
:
''
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
enterpriseRelationIdArr
:
[]
//商户
...
@@ -414,15 +416,15 @@ export default {
...
@@ -414,15 +416,15 @@ export default {
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
openStatus
:
0
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlUpper
:
undefined
,
integralUseDiscountControlLower
:
'0.0'
,
integralUseDiscountControlLower
:
undefined
,
useProportionalRestriction
:
'
0.0
'
,
// 抵现比例限制
useProportionalRestriction
:
''
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
enterpriseRelationIdArr
:
[]
//商户
...
@@ -1036,8 +1038,21 @@ export default {
...
@@ -1036,8 +1038,21 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.bottom
{
position
:
fixed
;
bottom
:
0px
;
left
:
200px
;
width
:
100%
;
height
:
55px
;
text-align
:
center
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.right-box
{
.right-box
{
padding
:
24px
32px
;
padding
:
20px
;
}
.w340
{
width
:
340px
;
}
}
.attention-wrap
{
.attention-wrap
{
.item-label
{
.item-label
{
...
@@ -1060,15 +1075,18 @@ export default {
...
@@ -1060,15 +1075,18 @@ export default {
font-size
:
12px
;
font-size
:
12px
;
color
:
#888
;
color
:
#888
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -1105,9 +1123,9 @@ export default {
...
@@ -1105,9 +1123,9 @@ export default {
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
padding
:
15px
20px
10px
0px
;
padding
:
20px
20px
0
0
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin
:
22px
0
;
margin
-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -1120,6 +1138,9 @@ export default {
...
@@ -1120,6 +1138,9 @@ export default {
.margin-20
{
.margin-20
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
780px
;
width
:
780px
;
...
@@ -1156,6 +1177,9 @@ export default {
...
@@ -1156,6 +1177,9 @@ export default {
.margin-r-6
{
.margin-r-6
{
margin-right
:
6px
;
margin-right
:
6px
;
}
}
.w240
{
width
:
240px
;
}
.right-box
/
deep
/
.el-input__inner
{
.right-box
/
deep
/
.el-input__inner
{
padding-right
:
12px
;
padding-right
:
12px
;
...
...
src/view/companyGroup/membershipSystem/addPointSystem.vue
View file @
f44509ae
...
@@ -5,22 +5,24 @@
...
@@ -5,22 +5,24 @@
<div
class=
"right-box"
>
<div
class=
"right-box"
>
<div
class=
"attention-wrap"
>
<div
class=
"attention-wrap"
>
<div
class=
"form-wrap"
>
<div
class=
"form-wrap"
>
<el-form
:model=
"ruleForm"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"策略名称"
prop=
""
>
<dm-sub-title
text=
"基本信息"
type=
"fill"
style=
"margin-bottom: 20px"
></dm-sub-title>
<el-input
v-model=
"ruleForm.strategyName"
class=
"w-340"
@
keyup
.
native=
"value => toInput(value)"
>
</el-input>
<el-form-item
label=
"策略名称:"
prop=
"strategyName"
>
<el-input
v-model=
"ruleForm.strategyName"
class=
"w-340"
placeholder=
"请输入策略名称"
@
keyup
.
native=
"value => toInput(value)"
>
</el-input>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
</el-form-item>
</el-form-item>
<dm-sub-title
text=
"渠道配置"
type=
"fill"
style=
"margin: 40px 0 20px 0"
></dm-sub-title>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<!-- 线下渠道 -->
<!-- 线下渠道 -->
<template
v-if=
"item.channelType == 3"
>
<template
v-if=
"item.channelType == 3"
>
<el-form-item
label=
"
适用线下渠道
"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
线下渠道:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
class=
"setting-tips"
>
客户在线下门店产生的订单
</span
>
<div
class=
"form-child"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"消费门店
"
prop=
"region
"
>
<el-form-item
label=
"消费门店
:"
prop=
"region"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<dm-store-selector
:isClique=
"true"
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"uuid"
ref=
"storeGroup"
></dm-store-selector>
<dm-store-selector
:isClique=
"true"
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"uuid"
ref=
"storeGroup"
></dm-store-selector>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
prop=
"name"
class=
"padding-0
"
>
<el-form-item
label=
"适用商品
:"
prop=
"name"
class=
"padding-0"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
...
@@ -30,34 +32,35 @@
...
@@ -30,34 +32,35 @@
<treeselect
v-if=
"item.channelRelationProType == 2 || item.channelRelationProType == 3"
placeholder=
""
noOptionsText=
"暂无数据"
noResultsText=
"无数据"
:multiple=
"true"
:always-open=
"goodsOpen"
:options=
"goodsTreeOptions"
:value-consists-of=
"valueConsistsOf"
v-model=
"item.strategyGoodsRelationIdArr"
/>
<treeselect
v-if=
"item.channelRelationProType == 2 || item.channelRelationProType == 3"
placeholder=
""
noOptionsText=
"暂无数据"
noResultsText=
"无数据"
:multiple=
"true"
:always-open=
"goodsOpen"
:options=
"goodsTreeOptions"
:value-consists-of=
"valueConsistsOf"
v-model=
"item.strategyGoodsRelationIdArr"
/>
<el-button
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
<el-button
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
label-width=
"85px
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01"
:step=
"0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
:step=
"0.01"
placeholder=
"请输入"
style=
"width: 115px
"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
placeholder=
"请输入"
style=
"width: 115px
"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<
template
v-if=
"item.channelType == 1"
>
<
template
v-if=
"item.channelType == 1"
>
<!--
微信
商城 -->
<!--
达摩微
商城 -->
<el-form-item
label=
"
适用微信商城
"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微商城:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
class=
"setting-tips"
>
客户在达摩微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
class=
"padding-0
"
>
<el-form-item
label=
"适用商品
:"
class=
"padding-0"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
...
@@ -68,93 +71,190 @@
...
@@ -68,93 +71,190 @@
<!--model=item.strategyGoodsRelationIdArr和上一个相同会有问题 -->
<!--model=item.strategyGoodsRelationIdArr和上一个相同会有问题 -->
<el-button
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
<el-button
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
style=
"width: 115px
"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
style=
"width: 115px
"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道
:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
class=
"setting-tips"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
@
change=
"onStoreChange(item)"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺
"
>
<el-form-item
v-if=
"Array.isArray(item.enterpriseRelationIdArr) && item.enterpriseRelationIdArr.length > 0"
label=
"消费门店:"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0
"
>
<el-form-item
v-if=
"Array.isArray(item.enterpriseRelationIdArr) && item.enterpriseRelationIdArr.length > 0"
label=
"适用商品:"
class=
"padding-0"
label-width=
"85px"
style=
"margin-bottom: 20px
"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
class=
"input-margin-b"
>
<el-form-item
label=
"折扣控制:"
prop=
"region"
class=
"input-margin-b"
label-width=
"85px"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
折商品都适用
</label>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
<!-- 天猫 -->
<
template
v-if=
"item.channelType == 8"
>
<el-form-item
label=
"天猫渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
class=
"setting-tips"
>
客户在天猫店铺产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
折商品都适用
</label>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
<!-- 抖音 11 -->
<
template
v-if=
"item.channelType == 11"
>
<el-form-item
label=
"抖音渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
class=
"setting-tips"
>
客户在抖音店铺产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
style=
"width: 115px"
></el-input-number>
<label>
折商品都适用
</label>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
<!-- 其他 10 -->
<
template
v-if=
"item.channelType == 10"
>
<el-form-item
label=
"其他渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
class=
"setting-tips"
>
客户在其它渠道产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
label-width=
"85px"
style=
"margin-bottom: 20px"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
style=
"width: 115px
"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.01
"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
1"
style=
"width: 115px
"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
class=
"setting-tips"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<el-form-item
label=
"适用对象"
prop=
""
class=
"margin-20"
>
<dm-sub-title
text=
"规则配置"
type=
"fill"
style=
"margin: 40px 0 20px"
></dm-sub-title>
<el-select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择"
>
<el-form-item
label=
"适用对象:"
prop=
"useCrowd"
class=
"margin-20"
>
<!-- <el-select v-model="ruleForm.useCrowd" placeholder="请选择">
<el-option v-for="item in applyObjOption" :key="item.value" :label="item.label" :value="item.value"> </el-option>
<el-option v-for="item in applyObjOption" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
</el-select> -->
<el-radio-group
v-model=
"ruleForm.useCrowd"
>
<el-radio
v-for=
"el in applyObjOption"
:key=
"el.value"
:label=
"el.value"
>
{{ el.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"人群定向"
v-if=
"ruleForm.useCrowd == 2"
prop=
""
class=
"padding-0"
>
<el-form-item
label=
"人群定向
:
"
v-if=
"ruleForm.useCrowd == 2"
prop=
""
class=
"padding-0"
>
<el-button
style=
"width: 214px;"
@
click=
"showPeople"
>
已设置{{ selectCount }}项筛选
</el-button>
<el-button
style=
"width: 214px;"
@
click=
"showPeople"
>
已设置{{ selectCount }}项筛选
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"获取规则
"
prop=
"
"
>
<el-form-item
label=
"获取规则
:"
prop=
"integralGetStatus
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
>
不获取积分
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
style=
"width: 115px"
></el-input-number>
<label>
元,获取
</label>
<label>
元,获取
</label>
<!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> -->
<!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralGet.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
style=
"width: 115px"
></el-input-number>
<label>
积分。取整策略为
</label>
<label>
积分。取整策略为
</label>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
style=
"width: 115px"
>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
<p
class=
"setting-tips"
style=
"margin: 6px 0 0"
>
例:根据消费金额计算出积分为4.3,选择「四舍五入」和「进位制」时为5积分,选择「抹零」则为4积分
</p>
</div>
</div>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
class=
"margin-20"
>
不获取积分
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"积分冻结期"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-input
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInputNum($event)"
></el-input><label>
天
</label>
</el-form-item>
<el-form-item
label=
"积分冻结期:"
v-if=
"ruleForm.integralGetStatus == 1"
prop=
"integralGetFreezeDays"
>
<el-form-item
label=
"积分有效期"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-input
v-model=
"ruleForm.integralGetEffectiveDays"
@
keyup
.
native=
"formatInputNum($event)"
></el-input><label>
天
</label>
</el-form-item>
自获取之日起
<el-input
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInputNum($event)"
style=
"width: 115px"
></el-input><label>
天
</label>
<span
class=
"setting-tips"
>
仅对通过订单获取的积分生效,活动类获取的积分没有冻结期
</span>
</el-form-item>
<el-form-item
label=
"积分有效期:"
v-if=
"ruleForm.integralGetStatus == 1"
prop=
"integralGetEffectiveDays"
>
自获取之日起
<el-input
v-model=
"ruleForm.integralGetEffectiveDays"
@
keyup
.
native=
"formatInputNum($event)"
style=
"width: 115px"
></el-input><label>
天
</label>
<span
class=
"setting-tips"
>
适用于所有方式获取的积分
</span>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop=
"
"
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag
"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
在该时段内有效
<el-date-picker
</el-radio>
<div
style=
"marginTop:10px;"
><el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
type=
"datetimerange"
type=
"datetimerange"
...
@@ -163,14 +263,16 @@
...
@@ -163,14 +263,16 @@
format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
>
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-date-picker></div>
</el-radio>
</el-form-item>
</el-form-item>
<
el-form-item
>
<
!-- <el-form-item style="bottom"
>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保 存
</el-button>
<el-button :disabled="tpnEditBool" type="primary" @click="submitForm('ruleForm')"
style="margin:13px 0 0 -220px;"
>保 存</el-button>
<el-button @click="goBack">返 回</el-button>
<el-button @click="goBack">返 回</el-button>
</el-form-item>
</el-form-item>
-->
</el-form>
</el-form>
<div
class=
"bottom"
>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
style=
"margin:13px 0 0 -220px;"
>
保 存
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -238,7 +340,7 @@ export default {
...
@@ -238,7 +340,7 @@ export default {
path
:
'/pointSystem'
path
:
'/pointSystem'
},
},
{
{
name
:
'
添加
积分获取策略'
,
name
:
'
新增
积分获取策略'
,
path
:
''
path
:
''
}
}
],
],
...
@@ -392,7 +494,7 @@ export default {
...
@@ -392,7 +494,7 @@ export default {
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'3'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'3'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
tru
e
,
//渠道配置是否启用 1启用 0停用
openStatus
:
fals
e
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
@@ -410,7 +512,7 @@ export default {
...
@@ -410,7 +512,7 @@ export default {
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
tru
e
,
//渠道配置是否启用 1启用 0停用
openStatus
:
fals
e
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
@@ -428,8 +530,26 @@ export default {
...
@@ -428,8 +530,26 @@ export default {
integralStrategyChannelId
:
''
,
//id
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
false
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
useProportionalRestriction
:
'0.0'
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
},
{
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
channelType
:
'8'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'8'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
tru
e
,
//渠道配置是否启用 1启用 0停用
openStatus
:
fals
e
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
@@ -446,8 +566,26 @@ export default {
...
@@ -446,8 +566,26 @@ export default {
integralStrategyChannelId
:
''
,
//id
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
integralStrategyId
:
''
,
//策略id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'11'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
openStatus
:
false
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
useProportionalRestriction
:
'0.0'
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
},
{
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
channelType
:
'10'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
false
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
@@ -466,6 +604,14 @@ export default {
...
@@ -466,6 +604,14 @@ export default {
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
23
,
59
,
59
).
getTime
()
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
23
,
59
,
59
).
getTime
()
]
]
},
},
rules
:
{
strategyName
:
{
required
:
true
,
message
:
'请输入策略名称'
,
trigger
:
'blur'
},
useCrowd
:
{
required
:
true
,
message
:
'请选择适用对象'
,
trigger
:
'blur'
},
integralGetStatus
:
{
required
:
true
,
message
:
'请选择获取规则'
,
trigger
:
'blur'
},
integralGetFreezeDays
:
{
required
:
true
,
message
:
'请输入积分冻结期'
,
trigger
:
'blur'
},
integralGetEffectiveDays
:
{
required
:
true
,
message
:
'请输入积分有效期'
,
trigger
:
'blur'
},
perpetualFlag
:
{
required
:
true
,
message
:
'请选择策略有效期'
,
trigger
:
'blur'
}
},
cateOptions
:
[
cateOptions
:
[
{
{
value
:
'1'
,
value
:
'1'
,
...
@@ -502,6 +648,14 @@ export default {
...
@@ -502,6 +648,14 @@ export default {
},
},
methods
:
{
methods
:
{
onStoreChange
(
item
)
{
if
(
item
.
channelType
==
3
)
{
this
.
uuid
=
''
;
}
else
if
(
item
.
channelType
==
9
)
{
this
.
wmuuid
=
''
;
}
item
.
channelRelationProType
=
'1'
;
},
// 返回
// 返回
goBack
()
{
goBack
()
{
this
.
$router
.
go
(
-
1
);
this
.
$router
.
go
(
-
1
);
...
@@ -546,13 +700,30 @@ export default {
...
@@ -546,13 +700,30 @@ export default {
}
}
if
(
data
.
channelList
[
i
].
channelType
==
1
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
if
(
data
.
channelList
[
i
].
channelType
==
1
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
obj
.
text
=
'请选择达摩微商城的商户'
;
return
obj
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
9
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
if
(
data
.
channelList
[
i
].
channelType
==
9
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
obj
.
text
=
'请选择微盟渠道的商户'
;
return
obj
;
}
if
(
data
.
channelList
[
i
].
channelType
==
8
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择天猫渠道的商户'
;
return
obj
;
}
if
(
data
.
channelList
[
i
].
channelType
==
11
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择抖音渠道的商户'
;
return
obj
;
}
if
(
data
.
channelList
[
i
].
channelType
==
10
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择其他渠道的商户'
;
return
obj
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
3
)
{
if
(
data
.
channelList
[
i
].
channelType
==
3
&&
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
>
0
)
{
const
storeGroupDom
=
this
.
$refs
.
storeGroup
;
const
storeGroupDom
=
this
.
$refs
.
storeGroup
;
let
flag
=
null
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
if
(
storeGroupDom
instanceof
Array
)
{
...
@@ -976,7 +1147,7 @@ export default {
...
@@ -976,7 +1147,7 @@ export default {
log
(
'商户列表:'
,
that
.
mechantOption
);
log
(
'商户列表:'
,
that
.
mechantOption
);
// showMsg.showmsg('设置成功','success')
// showMsg.showmsg('设置成功','success')
that
.
ruleForm
.
channelList
[
0
].
enterpriseRelationIdArr
=
[
data
[
0
].
enterpriseId
];
//
that.ruleForm.channelList[0].enterpriseRelationIdArr = [data[0].enterpriseId];
return
;
return
;
}
}
errMsg
.
errorMsg
(
resData
);
errMsg
.
errorMsg
(
resData
);
...
@@ -1109,8 +1280,28 @@ export default {
...
@@ -1109,8 +1280,28 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.bottom
{
position
:
fixed
;
bottom
:
0px
;
left
:
200px
;
width
:
100%
;
height
:
55px
;
text-align
:
center
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.el-radio
{
margin-right
:
0
;
}
.setting-tips
{
margin-left
:
16px
;
font-size
:
12px
;
font-weight
:
400
;
color
:
#909399
;
line-height
:
17px
;
}
.attention-wrap
{
.attention-wrap
{
padding
:
2
4px
32
px
;
padding
:
2
0
px
;
background
:
#fff
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
...
@@ -1130,13 +1321,13 @@ export default {
...
@@ -1130,13 +1321,13 @@ export default {
vertical-align
:
top
;
vertical-align
:
top
;
width
:
300px
;
width
:
300px
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-input
{
.el-input
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10px
;
padding
:
0
10px
;
&.w-300
{
&.w-300
{
width
:
300px
;
width
:
300px
;
...
@@ -1169,11 +1360,9 @@ export default {
...
@@ -1169,11 +1360,9 @@ export default {
}
}
.form-child
{
.form-child
{
padding
:
15px
20px
10px
0px
;
padding
:
2
0px
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin
:
22px
0
;
margin-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
...
...
src/view/companyGroup/membershipSystem/components/MemberCardTable.vue
View file @
f44509ae
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
postRequest
,
postJson
}
from
'@/api/api'
;
import
{
postRequest
,
postJson
,
getRequest
}
from
'@/api/api'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
errMsg
from
'@/common/js/error'
;
import
Sortable
from
'sortablejs'
;
import
Sortable
from
'sortablejs'
;
...
@@ -131,6 +131,7 @@ export default {
...
@@ -131,6 +131,7 @@ export default {
mounted
()
{
mounted
()
{
if
(
this
.
type
==
1
)
{
if
(
this
.
type
==
1
)
{
this
.
rowDrop
();
//行拖拽排序
this
.
rowDrop
();
//行拖拽排序
this
.
getOpenThird
();
}
}
},
},
data
()
{
data
()
{
...
@@ -139,9 +140,32 @@ export default {
...
@@ -139,9 +140,32 @@ export default {
loading
:
false
,
loading
:
false
,
isEditSort
:
false
,
isEditSort
:
false
,
sortTable
:
null
,
sortTable
:
null
,
isExist
:
false
,
};
};
},
},
methods
:
{
methods
:
{
getOpenThird
()
{
getRequest
(
'/api-admin/judge-enterprise-third-channel'
,
{}).
then
(
res
=>
{
res
.
data
.
result
.
isExist
=
true
const
{
result
}
=
res
.
data
||
{};
this
.
isExist
=
result
.
isExist
;
});
},
checkOpenThird
()
{
// 未开通的商户,不提示
// 开通的商户才提示
// 点击已完成才进行下一步操作
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
isExist
&&
this
.
type
==
1
)
{
this
.
$confirm
(
'您已对接「天猫」、「抖音」渠道的会员等级,为确保每个渠道的会员等级对应关系一致,在调整会员等级顺序或者新增会员等级前请联系运营经理确认是否对应渠道的会员等级关系已维护完成!'
,
'提示'
,
{
cancelButtonText
:
'未完成'
,
confirmButtonText
:
'已完成'
}).
then
(
resolve
);
return
;
}
resolve
();
});
},
// 编辑集团
// 编辑集团
editCliqueLevel
(
index
,
row
,
obj
,
type
)
{
editCliqueLevel
(
index
,
row
,
obj
,
type
)
{
this
.
$emit
(
'edit'
,
row
,
type
);
this
.
$emit
(
'edit'
,
row
,
type
);
...
@@ -167,13 +191,17 @@ export default {
...
@@ -167,13 +191,17 @@ export default {
});
});
},
},
addCard
(
type
)
{
addCard
(
type
)
{
if
(
this
.
tableData
.
length
>=
20
)
return
this
.
$message
.
warning
(
'每个卡类型最多可创建20张会员卡'
)
this
.
checkOpenThird
().
then
(()
=>
{
this
.
$emit
(
'add'
,
type
);
if
(
this
.
tableData
.
length
>=
20
)
return
this
.
$message
.
warning
(
'每个卡类型最多可创建20张会员卡'
)
this
.
$emit
(
'add'
,
type
);
});
},
},
editSort
()
{
editSort
()
{
if
(
!
this
.
list
.
length
)
return
this
.
$message
.
warning
(
`暂无
${
this
.
$options
.
filters
.
typeFilter
(
this
.
type
)}
!`
);
this
.
checkOpenThird
().
then
(()
=>
{
this
.
isEditSort
=
true
;
if
(
!
this
.
list
.
length
)
return
this
.
$message
.
warning
(
`暂无
${
this
.
$options
.
filters
.
typeFilter
(
this
.
type
)}
!`
);
this
.
sortTable
.
option
(
'sort'
,
true
);
this
.
isEditSort
=
true
;
this
.
sortTable
.
option
(
'sort'
,
true
);
});
},
},
cancelEditSort
()
{
cancelEditSort
()
{
this
.
isEditSort
=
false
;
this
.
isEditSort
=
false
;
...
...
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
View file @
f44509ae
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
label-width=
"100px"
label-width=
"100px"
class=
"demo-ruleForm"
class=
"demo-ruleForm"
>
>
<dm-sub-title
type=
"fill"
text=
"基本信息"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-input
<el-input
v-model=
"ruleForm.strategyName"
v-model=
"ruleForm.strategyName"
...
@@ -38,19 +39,21 @@
...
@@ -38,19 +39,21 @@
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"渠道配置"
style=
"margin-bottom: 20px; margin-top:30px;"
/>
<!-- 只获取微信的 -->
<!-- 只获取微信的 -->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"
适用微信
商城"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微
商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在达摩微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus
== 1
"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户"
>
<el-select
<el-select
v-model=
"item.enterpriseRelationIdArr"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
placeholder=
"请选择"
multiple
multiple
size=
"small"
size=
"small"
class=
"w240"
>
>
<el-option
<el-option
v-for=
"item in mechantOption"
v-for=
"item in mechantOption"
...
@@ -61,9 +64,9 @@
...
@@ -61,9 +64,9 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品"
class=
"
padding-
0"
>
<el-form-item
label=
"适用商品"
class=
"
margin-2
0"
>
<el-select
<el-select
class=
"fl"
class=
"fl
w240
"
style=
"margin-right: 10px;"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -80,7 +83,7 @@
...
@@ -80,7 +83,7 @@
<!-- 商品品牌 -->
<!-- 商品品牌 -->
<el-select
<el-select
size=
"small"
size=
"small"
class=
"fl"
class=
"fl
w240
"
@
change=
"selectGoodsStoreWx"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx"
v-model=
"valueWx"
...
@@ -113,11 +116,11 @@
...
@@ -113,11 +116,11 @@
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20
padding-bottom-20
"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlLower')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlLower"
></el-input>
-->
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlLower')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlLower"
></el-input>
-->
<el-input-number
<el-input-number
...
@@ -125,7 +128,7 @@
...
@@ -125,7 +128,7 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlUpper')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlUpper"
></el-input>
-->
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlUpper')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlUpper"
></el-input>
-->
...
@@ -134,84 +137,82 @@
...
@@ -134,84 +137,82 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus
== 1
"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w240"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺"
>
<el-form-item
label=
"选择店铺"
class=
"margin-20"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
class=
"w240"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"
padding-
0"
>
<el-form-item
label=
"微盟商品"
class=
"
margin-2
0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
class=
"w240"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region"
class=
"input-margin-b
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<dm-sub-title
type=
"fill"
text=
"规则配置"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"抵现规则
"
prop=
""
class=
"margin-20
"
>
<el-form-item
label=
"抵现规则
:"
prop=
"integralUseStatus"
class=
"margin-20"
label-width=
"110px
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> -->
<!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:
precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:
controls=
"false"
step-strictly
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<!-- <el-input @blur="formatInputNumBlur($event)" v-model="ruleForm.integralUse.fee"></el-input> -->
<!-- <el-input @blur="formatInputNumBlur($event)" v-model="ruleForm.integralUse.fee"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
class=
"margin-20"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制
"
prop=
"name
"
>
<el-form-item
label=
"比例限制
:"
label-width=
"110px"
prop=
""
:rules=
"{ required: true, message: '请选择抵现规则', trigger: 'blur' }
"
>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<el-input
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
>
<el-input
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
></el-input>
%
<
template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag"
label-width=
"110px"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
在该时段内有效
</el-radio>
<div
style=
"margin-top:10px;"
>
<el-date-picker
<el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
...
@@ -222,15 +223,12 @@
...
@@ -222,15 +223,12 @@
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item>
<el-row>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保 存
</el-button>
<el-button
@
click=
"goBack"
>
返 回
</el-button>
</el-row>
</el-form-item>
</el-form>
</el-form>
<div
class=
"bottom"
>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
style=
"margin:13px 0 0 -220px;"
>
保 存
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -304,7 +302,9 @@ export default {
...
@@ -304,7 +302,9 @@ export default {
}
}
],
],
rules
:
{
rules
:
{
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}]
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}],
integralUseStatus
:
[{
required
:
true
,
message
:
'请输入积分抵现比例限制'
,
trigger
:
'blur'
}],
perpetualFlag
:
[{
required
:
true
,
message
:
'请选择策略有效期'
,
trigger
:
'blur'
}],
},
},
// 添加商品弹窗
// 添加商品弹窗
goodShow
:
false
,
goodShow
:
false
,
...
@@ -377,7 +377,7 @@ export default {
...
@@ -377,7 +377,7 @@ export default {
enterpriseId
:
'ff8080815dacd3a2015dacd3ef5c0000'
,
enterpriseId
:
'ff8080815dacd3a2015dacd3ef5c0000'
,
integralStrategyId
:
'ff80808163a7a09b0163b01171e202db'
,
//策略id
integralStrategyId
:
'ff80808163a7a09b0163b01171e202db'
,
//策略id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
openStatus
:
1
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
@@ -389,7 +389,25 @@ export default {
...
@@ -389,7 +389,25 @@ export default {
strategyGoodsRelationIdArr
:
[],
// 商品
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
enterpriseRelationIdArr
:
[]
//商户
}
},
{
integralStrategyChannelId
:
""
,
//id
enterpriseId
:
""
,
integralStrategyId
:
""
,
//策略id
channelType
:
"9"
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
1
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
"1"
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
"1"
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
"-1"
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
"1"
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
"1"
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
"0.0"
,
integralUseDiscountControlLower
:
"0.0"
,
useProportionalRestriction
:
"0.0"
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
},
],
],
perpetualDate
:
[
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
0
,
0
,
0
).
getTime
(),
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
23
,
59
,
59
).
getTime
()]
perpetualDate
:
[
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
0
,
0
,
0
).
getTime
(),
new
Date
(
timeStramp
.
year
,
timeStramp
.
month
,
timeStramp
.
day
,
23
,
59
,
59
).
getTime
()]
},
},
...
@@ -1120,8 +1138,21 @@ export default {
...
@@ -1120,8 +1138,21 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.bottom
{
position
:
fixed
;
bottom
:
0px
;
left
:
200px
;
width
:
100%
;
height
:
55px
;
text-align
:
center
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.right-box
{
.right-box
{
padding
:
24px
32px
;
padding
:
20px
;
}
.w340
{
width
:
340px
;
}
}
.attention-wrap
{
.attention-wrap
{
.item-label
{
.item-label
{
...
@@ -1144,15 +1175,18 @@ export default {
...
@@ -1144,15 +1175,18 @@ export default {
font-size
:
12px
;
font-size
:
12px
;
color
:
#888
;
color
:
#888
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -1197,8 +1231,9 @@ export default {
...
@@ -1197,8 +1231,9 @@ export default {
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
padding
:
15px
20px
1
0px
0px
;
padding
:
20px
20px
0px
0px
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -1211,6 +1246,9 @@ export default {
...
@@ -1211,6 +1246,9 @@ export default {
.margin-20
{
.margin-20
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
780px
;
width
:
780px
;
...
@@ -1247,7 +1285,9 @@ export default {
...
@@ -1247,7 +1285,9 @@ export default {
.margin-r-6
{
.margin-r-6
{
margin-right
:
6px
;
margin-right
:
6px
;
}
}
.w240
{
width
:
240px
;
}
.right-box
/
deep
/
.el-input__inner
{
.right-box
/
deep
/
.el-input__inner
{
padding-right
:
12px
;
padding-right
:
12px
;
}
}
...
...
src/view/companyGroup/membershipSystem/editPointSystem.vue
View file @
f44509ae
...
@@ -5,9 +5,11 @@
...
@@ -5,9 +5,11 @@
<div
class=
"right-box"
>
<div
class=
"right-box"
>
<div
class=
"attention-wrap"
>
<div
class=
"attention-wrap"
>
<div
class=
"form-wrap"
>
<div
class=
"form-wrap"
>
<el-form
:model=
"ruleForm"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
ref=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
:rules=
"rules"
>
<el-form-item
label=
"策略名称"
prop
>
<dm-sub-title
type=
"fill"
text=
"基本信息"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"策略名称:"
prop=
"strategyName"
>
<el-input
<el-input
placeholder=
"请输入策略名称"
v-model=
"ruleForm.strategyName"
v-model=
"ruleForm.strategyName"
class=
"w-340"
class=
"w-340"
@
keyup
.
native=
"value => toInput(value)"
@
keyup
.
native=
"value => toInput(value)"
...
@@ -16,15 +18,15 @@
...
@@ -16,15 +18,15 @@
</el-input>
</el-input>
<label
class=
"input-label"
>
{{ cateNameLength }}/20
</label>
<label
class=
"input-label"
>
{{ cateNameLength }}/20
</label>
</el-form-item>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"渠道配置"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<
template
v-for=
"(item, index) in ruleForm.channelList"
>
<
template
v-for=
"(item, index) in ruleForm.channelList"
>
<!-- 线下渠道 -->
<!-- 线下渠道 -->
<template
v-if=
"item.channelType == 3"
>
<template
v-if=
"item.channelType == 3"
>
<el-form-item
label=
"
适用线下渠道
"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
线下渠道:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
></el-switch>
<el-switch
v-model=
"item.openStatus"
></el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在线下门店产生的订单
</span
>
<div
class=
"form-child"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"消费门店"
prop=
"region"
>
<el-form-item
label=
"消费门店
:
"
prop=
"region"
>
<dm-store-selector
<dm-store-selector
:scenesVal=
"scencs"
:scenesVal=
"scencs"
:options=
"options"
:options=
"options"
...
@@ -34,8 +36,9 @@
...
@@ -34,8 +36,9 @@
ref=
"storeGroup"
ref=
"storeGroup"
></dm-store-selector>
></dm-store-selector>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
prop=
"name"
class=
"padding-
0"
>
<el-form-item
label=
"适用商品
:"
prop=
"name"
class=
"margin-2
0"
>
<el-select
<el-select
class=
" w215"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
@
change=
"changeGood($event)"
@
change=
"changeGood($event)"
...
@@ -81,7 +84,7 @@
...
@@ -81,7 +84,7 @@
@
click=
"showGoodsDialog"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
>
已选0件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
...
@@ -93,8 +96,7 @@
...
@@ -93,8 +96,7 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"0.01"
:min=
"1"
:step=
"0.01"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
v-model=
"item.integralUseDiscountControlUpper"
@
focus=
"inputFocus(item)"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<!--
<el-input
v-model=
"item.integralUseDiscountControlUpper"
@
focus=
"inputFocus(item)"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
...
@@ -103,25 +105,27 @@
...
@@ -103,25 +105,27 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 1
3
px;color: #828282;line-height: 1;padding-left: 10px;"
style=
"font-size: 1
2
px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<
template
v-if=
"item.channelType == 1"
>
<
template
v-if=
"item.channelType == 1"
>
<!-- 微信商城 -->
<!-- 微信商城 -->
<el-form-item
label=
"
适用微信
商城"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微
商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
></el-switch>
<el-switch
v-model=
"item.openStatus"
></el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在达摩微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
<el-select
class=
"w215"
size=
"small"
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -136,8 +140,9 @@
...
@@ -136,8 +140,9 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
class=
"padding-
0"
>
<el-form-item
label=
"适用商品
:"
class=
"margin-2
0"
>
<el-select
<el-select
class=
"w215"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
@
change=
"changeGood($event)"
@
change=
"changeGood($event)"
...
@@ -182,7 +187,7 @@
...
@@ -182,7 +187,7 @@
@
click=
"showGoodsDialog"
@
click=
"showGoodsDialog"
>
已选0件商品
</el-button>
>
已选0件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
...
@@ -194,7 +199,7 @@
...
@@ -194,7 +199,7 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
v-model=
"item.integralUseDiscountControlUpper"
@
focus=
"inputFocus(item)"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<!--
<el-input
v-model=
"item.integralUseDiscountControlUpper"
@
focus=
"inputFocus(item)"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
...
@@ -203,15 +208,14 @@
...
@@ -203,15 +208,14 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<
template
v-if=
"false"
>
<
template
v-if=
"false"
>
...
@@ -263,88 +267,165 @@
...
@@ -263,88 +267,165 @@
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道
:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w215"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺"
>
<el-form-item
label=
"选择店铺
:"
class=
"margin-20
"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
class=
"w215"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店
:
"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品
"
class=
"padding-
0"
>
<el-form-item
label=
"微盟商品
:"
class=
"margin-2
0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
class=
"w215"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region"
class=
"input-margin-b
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
<!-- 天猫渠道-->
<
template
v-if=
"item.channelType == 8"
>
<el-form-item
label=
"天猫渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在天猫店铺产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w215"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
<!-- 天猫渠道-->
<
template
v-if=
"item.channelType == 11"
>
<el-form-item
label=
"抖音渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在抖音店铺产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w215"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
<!-- 其他渠道-->
<
template
v-if=
"item.channelType == 10"
>
<el-form-item
label=
"其他渠道:"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在其他渠道产生的订单
</span>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户:"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w215"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<dm-sub-title
text=
"规则配置"
type=
"fill"
style=
"margin: 40px 0 20px"
></dm-sub-title>
<el-form-item
label=
"适用对象
"
prop=
"
"
class=
"margin-20"
>
<el-form-item
label=
"适用对象
:"
prop=
"useCrowd
"
class=
"margin-20"
>
<el-
select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择
"
>
<el-
radio-group
v-model=
"ruleForm.useCrowd
"
>
<el-
option
v-for=
"item in applyObjOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
>
<el-
radio
v-for=
"item in applyObjOption"
:key=
"item.value"
:label=
"item.value"
>
{{ item.label }}
</el-radio
>
</el-
select
>
</el-
radio-group
>
</el-form-item>
</el-form-item>
<el-form-item
label=
"人群定向"
v-if=
"ruleForm.useCrowd == 2"
prop=
""
class=
"padding-0"
>
<el-form-item
label=
"人群定向"
v-if=
"ruleForm.useCrowd == 2"
prop=
""
class=
"padding-0"
>
<el-button
style=
"width: 214px;"
@
click=
"showPeople"
>
已设置{{ selectCount }}项筛选
</el-button>
<el-button
style=
"width: 214px;"
@
click=
"showPeople"
>
已设置{{ selectCount }}项筛选
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"获取规则
"
prop=
"
"
>
<el-form-item
label=
"获取规则
:"
prop=
"integralGetStatus
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
>
不获取积分
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<!-- <el-input v-model="ruleForm.integralGet.fee" @blur="formatInputNumBlur($event)"></el-input> -->
<!-- <el-input v-model="ruleForm.integralGet.fee" @blur="formatInputNumBlur($event)"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元,获取
</label>
<label>
元,获取
</label>
<!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> -->
<!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralGet.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1
"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
step-strictly
:controls=
"false
"
></el-input-number>
<label>
积分。取整策略为
</label>
<label>
积分。取整策略为
</label>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
style=
"width:115px;"
>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</div>
<p
style=
"color: #909399;font-size:12px;"
>
例:根据消费金额计算出积分为4.3,选择「四舍五入」和「进位制」时为5积分,选择「抹零」则为4积分
</p>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
class=
"margin-20"
>
不获取积分
</el-radio>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"积分冻结期"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-form-item
label=
"积分冻结期:"
v-if=
"ruleForm.integralGetStatus == 1"
prop=
"integralGetFreezeDays"
>
<el-input
<label>
自获取之日起
</label><el-input
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInputNum($event)"
></el-input><label>
天
</label>
v-model=
"ruleForm.integralGetFreezeDays"
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
仅对通过订单获取的积分生效,活动类获取的积分没有冻结期
</span>
@
keyup
.
native=
"formatInputNum($event)"
></el-input>
<label>
天
</label>
</el-form-item>
</el-form-item>
<el-form-item
label=
"积分有效期"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-form-item
label=
"积分有效期:"
v-if=
"ruleForm.integralGetStatus == 1"
prop=
"integralGetEffectiveDays"
>
<el-input
<label>
自获取之日起
</label><el-input
v-model=
"ruleForm.integralGetEffectiveDays"
@
keyup
.
native=
"formatInputNum($event)"
></el-input><label>
天
</label>
v-model=
"ruleForm.integralGetEffectiveDays"
<span
style=
"font-size: 12px;color: #828282;;padding-left: 10px;"
>
适用于所有方式获取的积分
</span>
@
keyup
.
native=
"formatInputNum($event)"
></el-input>
<label>
天
</label>
</el-form-item>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
</el-radio>
在该时段内有效
<div
style=
"marginTop:10px;"
>
<el-date-picker
<el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
...
@@ -355,13 +436,16 @@
...
@@ -355,13 +436,16 @@
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</
el-radio
>
</
div
>
</el-form-item>
</el-form-item>
<el-form-item>
<
!-- <
el-form-item>
<el-button :disabled="tpnEditBool" type="primary" @click.stop="submitForm('ruleForm')">保 存</el-button>
<el-button :disabled="tpnEditBool" type="primary" @click.stop="submitForm('ruleForm')">保 存</el-button>
<el-button @click="goBack">返 回</el-button>
<el-button @click="goBack">返 回</el-button>
</el-form-item>
</el-form-item>
-->
</el-form>
</el-form>
<div
class=
"bottom"
>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click
.
stop=
"submitForm('ruleForm')"
style=
"margin:13px 0 0 -220px;"
>
保 存
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -567,6 +651,14 @@ export default {
...
@@ -567,6 +651,14 @@ export default {
],
],
// 长度
// 长度
cateNameLength
:
0
,
cateNameLength
:
0
,
rules
:
{
strategyName
:
{
required
:
true
,
message
:
'请输入策略名称'
,
trigger
:
'blur'
},
useCrowd
:
{
required
:
true
,
message
:
'请选择适用对象'
,
trigger
:
'blur'
},
integralGetStatus
:
{
required
:
true
,
message
:
'请选择获取规则'
,
trigger
:
'blur'
},
integralGetFreezeDays
:
{
required
:
true
,
message
:
'请输入积分冻结期'
,
trigger
:
'blur'
},
integralGetEffectiveDays
:
{
required
:
true
,
message
:
'请输入积分有效期'
,
trigger
:
'blur'
},
perpetualFlag
:
{
required
:
true
,
message
:
'请选择策略有效期'
,
trigger
:
'blur'
}
},
ruleForm
:
{
ruleForm
:
{
// 积分获取规则
// 积分获取规则
...
@@ -1093,6 +1185,14 @@ export default {
...
@@ -1093,6 +1185,14 @@ export default {
that
.
useId
=
item
.
selectorParamsId
;
that
.
useId
=
item
.
selectorParamsId
;
that
.
hasSearchData
=
item
.
crowdJson
;
that
.
hasSearchData
=
item
.
crowdJson
;
}
}
// 对channelList进行排序
const
channelListSort
=
[
3
,
1
,
9
,
8
,
11
,
10
]
let
channelList
=
channelListSort
.
map
(
el
=>
item
.
channelList
.
find
(
item
=>
item
.
channelType
==
el
));
// 将channelListSort中不存在的渠道拼到channelList上
channelList
=
channelList
.
concat
(
item
.
channelList
.
filter
(
el
=>
!
channelListSort
.
some
(
item
=>
el
.
channelType
==
item
)));
item
.
channelList
=
channelList
;
that
.
ruleForm
=
that
.
formatData
(
item
);
that
.
ruleForm
=
that
.
formatData
(
item
);
that
.
$set
(
that
.
ruleForm
,
'perpetualDate'
,
[]);
that
.
$set
(
that
.
ruleForm
,
'perpetualDate'
,
[]);
...
@@ -1125,7 +1225,7 @@ export default {
...
@@ -1125,7 +1225,7 @@ export default {
}
}
let
channelType
=
[];
let
channelType
=
[];
if
(
!!
item
.
channelList
.
length
)
{
if
(
!!
item
.
channelList
.
length
)
{
item
.
channelList
[
0
]
=
item
.
channelList
.
splice
(
1
,
1
,
item
.
channelList
[
0
])[
0
];
// 第一个与第二个互换位置
//
item.channelList[0] = item.channelList.splice(1, 1, item.channelList[0])[0]; // 第一个与第二个互换位置
item
.
channelList
.
forEach
((
ele
,
index
)
=>
{
item
.
channelList
.
forEach
((
ele
,
index
)
=>
{
ele
.
openStatus
=
ele
.
openStatus
==
0
?
false
:
true
;
ele
.
openStatus
=
ele
.
openStatus
==
0
?
false
:
true
;
ele
.
channelType
=
String
(
ele
.
channelType
);
ele
.
channelType
=
String
(
ele
.
channelType
);
...
@@ -1398,8 +1498,26 @@ export default {
...
@@ -1398,8 +1498,26 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.bottom
{
position
:
fixed
;
bottom
:
0px
;
left
:
200px
;
width
:
100%
;
height
:
55px
;
text-align
:
center
;
background
:
#FFFFFF
;
box-shadow
:
1px
-2px
8px
0px
rgba
(
220
,
223
,
230
,
0.6
);
}
.w215
{
width
:
215px
;
}
/
deep
/
.dm-store
{
.w200
{
width
:
240px
!important
;
}
}
.attention-wrap
{
.attention-wrap
{
padding
:
2
4px
32
px
;
padding
:
2
0
px
;
background
:
#fff
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
...
@@ -1419,13 +1537,16 @@ export default {
...
@@ -1419,13 +1537,16 @@ export default {
vertical-align
:
top
;
vertical-align
:
top
;
width
:
300px
;
width
:
300px
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
{
.el-input
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10px
;
padding
:
0
10px
;
&.w-300
{
&.w-300
{
width
:
300px
;
width
:
300px
;
...
@@ -1458,9 +1579,9 @@ export default {
...
@@ -1458,9 +1579,9 @@ export default {
}
}
.form-child
{
.form-child
{
padding
:
15px
20px
1
0px
0px
;
padding
:
20px
20px
0px
0px
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin
:
22px
0
;
margin
-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -1469,11 +1590,23 @@ export default {
...
@@ -1469,11 +1590,23 @@ export default {
.margin-20
{
.margin-20
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
780px
;
width
:
780px
;
}
}
}
}
/
deep
/
.el-input-number
{
width
:
115px
;
padding
:
0
10px
;
.el-input{
margin
:
0
;
.el-input__inner{
text-align
:
left
;
}
}
}
/*树形*/
/*树形*/
.vue-treeselect
/
deep
/
{
.vue-treeselect
/
deep
/
{
...
...
src/view/companyGroup/membershipSystem/memberCardSet.vue
View file @
f44509ae
...
@@ -716,6 +716,7 @@ export default {
...
@@ -716,6 +716,7 @@ export default {
that
.
getMemberSetInfo
();
that
.
getMemberSetInfo
();
that
.
getTempInfo
();
that
.
getTempInfo
();
that
.
getEnterprise
();
that
.
getEnterprise
();
this
.
getOpenThird
();
}
}
};
};
</
script
>
</
script
>
...
...
src/view/companyGroup/membershipSystem/pointSystem.vue
View file @
f44509ae
...
@@ -3,27 +3,19 @@
...
@@ -3,27 +3,19 @@
<topNavNew
:navpath=
"navpath"
></topNavNew>
<topNavNew
:navpath=
"navpath"
></topNavNew>
<div
class=
"right-content"
>
<div
class=
"right-content"
>
<div
class=
"right-box"
>
<div
class=
"right-box"
>
<div
class=
"attention-wrap"
>
<div
class=
"attention-wrap"
style=
"padding:20px;"
>
<!-- 积分制度 -->
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<div
class=
"point-cell point-form"
>
<el-tab-pane
label=
"通用积分策略"
name=
"first"
>
<div
class=
"point-cell-wrap"
>
<point-form
:pointInfo=
"pointInfo"
:projectName=
"projectName"
></point-form>
<point-form
:pointInfo=
"pointInfo"
:projectName=
"projectName"
></point-form>
</div>
</el-tab-pane>
</div>
<el-tab-pane
label=
"特殊积分获取策略"
name=
"second"
>
<div
class=
"height-24"
></div>
<div
style=
"font-size: 12px;color: #828282;"
>
订单命中特殊积分获取策略时,则执行特殊积分获取策略;订单命中多个特殊积分获取策略时,则按照最优的积分策略(赠送积分最多)进行计算
</div>
<!-- 特殊积分获取策略 -->
<div
style=
"float: left;"
class=
"btn-r-wrap"
>
<div
class=
"point-cell point-table"
>
<el-input
placeholder=
"请输入策略名称"
clearable
v-model=
"keywords"
@
change=
"onSearch"
prefix-icon=
"el-icon-search"
style=
"width:260px;"
></el-input>
<div
class=
"flex table-top title-wrap"
>
<div
class=
"flex-1 flex-l"
>
<p
class=
"flex-title"
>
特殊积分获取策略
</p>
<div
class=
"flex-lable"
>
设置除通用积分获取规则以外的特殊策略
</div>
</div>
</div>
</div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('point')"
>
新增策略
</el-button></div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('point')"
>
新增策略
</el-button></div>
<!-- table border-->
<div
class=
"table-contain"
>
<el-table
class=
"table-no-line-wrap"
:data=
"achieveTableData"
style=
"width: 100%"
>
<el-table
class=
"table-no-line-wrap"
:data=
"achieveTableData"
style=
"width: 100%"
>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
>
</el-table-column>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
:show-overflow-tooltip=
"true"
min-width=
"126"
>
</el-table-column>
<el-table-column
prop=
""
label=
"线下渠道"
>
<el-table-column
prop=
""
label=
"线下渠道"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 3"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 3"
:key=
"index"
>
...
@@ -35,7 +27,7 @@
...
@@ -35,7 +27,7 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"
微信
商城"
>
<el-table-column
prop=
""
label=
"
达摩微
商城"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
...
@@ -46,7 +38,7 @@
...
@@ -46,7 +38,7 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"微盟"
>
<el-table-column
prop=
""
label=
"微盟
渠道
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
...
@@ -57,7 +49,40 @@
...
@@ -57,7 +49,40 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"适用对象"
>
<el-table-column
prop=
""
label=
"天猫渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 8"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"抖音渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 11"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"其他渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 10"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"适用对象"
min-width=
"70px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
</
template
>
</
template
>
...
@@ -100,22 +125,59 @@
...
@@ -100,22 +125,59 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
<dm-pagination
</div>
@
size-change=
"handleSizeChange"
<div
class=
"height-24"
></div>
@
current-change=
"handleCurrentChange"
<!-- 特殊积分抵现策略 -->
:current-page=
"pageNum"
<div
class=
"point-cell point-table"
>
:page-size=
"pageSize"
<div
class=
"flex table-top title-wrap"
>
:total=
"totalCount"
<div
class=
"flex-1 flex-l"
>
:page-sizes=
"[20, 40, 60, 80]"
<p
class=
"flex-title"
>
特殊积分抵现策略
</p>
layout=
"total, sizes, prev, pager, next"
<div
class=
"flex-lable"
>
设置消费时使用积分抵现的规则(仅用于微信商城结算)
</div>
background
style=
"text-align: right; margin-top:20px;"
></dm-pagination>
</el-tab-pane>
<el-tab-pane
label=
"特殊积分抵现策略"
name=
"third"
>
<div
style=
"font-size: 12px;color: #828282;"
>
设置消费时使用积分抵现的规则,线下渠道和微盟渠道开启时需要做接口对接后生效
</div>
<div
style=
"float: left;"
class=
"btn-r-wrap"
>
<el-input
placeholder=
"请输入策略名称"
clearable
v-model=
"keywords1"
@
change=
"onSearch1"
prefix-icon=
"el-icon-search"
style=
"width:260px;"
></el-input>
</div>
</div>
</div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('integ')"
>
新增策略
</el-button></div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('integ')"
>
新增策略
</el-button></div>
<!-- table -->
<!-- table -->
<div
class=
"table-contain"
>
<el-table
:data=
"exchangeTableData"
style=
"width: 100%"
>
<el-table
:data=
"exchangeTableData"
style=
"width: 100%"
>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
>
</el-table-column>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
:show-overflow-tooltip=
"true"
min-width=
"126"
>
</el-table-column>
<!-- <el-table-column prop="" label="线下渠道">
<template slot-scope="scope">
<span v-for="(item, index) in scope.row.channelList" v-show="item.channelType == 3" :key="index">
<span v-if="item.openStatus == 0">关闭</span>
<span v-else>
<span v-if="item.channelRelationProType == 1 && item.channelRelationStoreType == 1">通用</span>
<span v-if="item.channelRelationProType != 1 || item.channelRelationStoreType != 1">自定义配置</span>
</span>
</span>
</template>
</el-table-column> -->
<el-table-column
prop=
""
label=
"达摩微商城"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1 && item.channelRelationStoreType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1 || item.channelRelationStoreType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"微盟渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1 && item.channelRelationStoreType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1 || item.channelRelationStoreType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"useCrowd"
label=
"适用对象"
>
<el-table-column
prop=
"useCrowd"
label=
"适用对象"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
...
@@ -131,7 +193,7 @@
...
@@ -131,7 +193,7 @@
<el-table-column
prop=
""
label=
"折扣控制"
>
<el-table-column
prop=
""
label=
"折扣控制"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
<span
v-if=
"item.channelType == 1"
>
{{
item
.
integralUseDiscountControl
==
1
?
"不限制"
:
(
item
.
integralUseDiscountControlLower
+
'
:
'
+
item
.
integralUseDiscountControlUpper
)
}}
</span>
<span
v-if=
"item.channelType == 1"
>
{{
item
.
integralUseDiscountControl
==
1
?
"不限制"
:
(
item
.
integralUseDiscountControlLower
+
'
:
'
+
item
.
integralUseDiscountControlUpper
)
}}
</span>
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -179,8 +241,18 @@
...
@@ -179,8 +241,18 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
<dm-pagination
</div>
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNum1"
:page-size=
"pageSize1"
:total=
"totalCount1"
:page-sizes=
"[20, 40, 60, 80]"
layout=
"total, sizes, prev, pager, next"
background
style=
"text-align: right; margin-top:20px;"
></dm-pagination>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -199,7 +271,16 @@ export default {
...
@@ -199,7 +271,16 @@ export default {
name
:
'pointSystem'
,
name
:
'pointSystem'
,
data
()
{
data
()
{
return
{
return
{
activeName
:
'first'
,
projectName
:
'gic-clique'
,
// 当前项目名
projectName
:
'gic-clique'
,
// 当前项目名
keywords
:
''
,
// 关键字查询
pageNum
:
1
,
pageSize
:
20
,
totalCount
:
0
,
keywords1
:
''
,
// 关键字查询
pageNum1
:
1
,
pageSize1
:
20
,
totalCount1
:
0
,
navpath
:
[
navpath
:
[
{
{
name
:
'集团管理'
,
name
:
'集团管理'
,
...
@@ -248,6 +329,15 @@ export default {
...
@@ -248,6 +329,15 @@ export default {
// this.selectReplayStyle()
// this.selectReplayStyle()
},
},
methods
:
{
methods
:
{
// 搜索
onSearch
()
{
this
.
pageNum
=
1
;
this
.
getPointInfo
();
},
onSearch1
()
{
this
.
pageNum1
=
1
;
this
.
getIntefralInfo
();
},
// 新增
// 新增
handleAdd
(
flag
)
{
handleAdd
(
flag
)
{
if
(
!
this
.
tpnEditBool
)
{
if
(
!
this
.
tpnEditBool
)
{
...
@@ -285,34 +375,67 @@ export default {
...
@@ -285,34 +375,67 @@ export default {
});
});
});
});
},
},
// 通用积分
getPointInfos
()
{
var
that
=
this
var
param
=
{
requestProject
:
that
.
projectName
}
postRequest
(
'/api-admin/get-member-integral-setting'
,
param
)
.
then
((
res
)
=>
{
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
0
)
{
that
.
pointInfo
=
that
.
handleData
(
resData
.
result
.
memberIntegral
)
return
;
}
errMsg
.
errorMsg
(
resData
)
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
});
},
// 获取积分制度
// 获取积分制度
getPointInfo
()
{
getPointInfo
()
{
let
that
=
this
;
let
that
=
this
;
let
param
=
{
let
param
=
{
requestProject
:
that
.
projectName
requestProject
:
that
.
projectName
,
keyword
:
that
.
keywords
,
strategyType
:
1
};
};
postRequest
(
'/api-admin/get-member-integral-setting'
,
param
)
// postRequest('/api-admin/get-member-integral-setting', param)
postRequest
(
'/api-admin/query-integral-setting'
,
param
)
.
then
(
res
=>
{
.
then
(
res
=>
{
let
resData
=
res
.
data
;
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
if
(
resData
.
errorCode
==
0
)
{
if
(
!!
resData
.
result
.
strategyList
&&
!!
resData
.
result
.
strategyList
.
length
)
{
// if (!!resData.result.strategyList && !!resData.result.strategyList.length) {
let
arr
=
resData
.
result
.
strategyList
;
// let arr = resData.result.strategyList;
// 积分策略
// // 积分策略
arr
.
forEach
(
function
(
ele
,
index
)
{
// arr.forEach(function(ele, index) {
ele
.
integralGet
=
JSON
.
parse
(
ele
.
integralGet
);
// ele.integralGet = JSON.parse(ele.integralGet);
ele
.
integralUse
=
JSON
.
parse
(
ele
.
integralUse
);
// ele.integralUse = JSON.parse(ele.integralUse);
if
(
ele
.
strategyType
==
1
)
{
// if (ele.strategyType == 1) {
that
.
achieveTableData
.
push
(
ele
);
// that.achieveTableData.push(ele);
}
else
{
// } else {
that
.
exchangeTableData
.
push
(
ele
);
// that.exchangeTableData.push(ele);
}
// }
});
// });
}
// }
// form
// // form
if
(
!!
resData
.
result
.
memberIntegral
)
{
// if (!!resData.result.memberIntegral) {
that
.
pointInfo
=
that
.
handleData
(
resData
.
result
.
memberIntegral
);
// that.pointInfo = that.handleData(resData.result.memberIntegral);
}
// }
return
;
// return;
// 6月迭代抖音修改
that
.
totalCount
=
resData
.
result
.
totalCount
;
that
.
pageSize
=
resData
.
result
.
pageSize
;
that
.
pageNum
=
resData
.
result
.
pageNum
;
that
.
achieveTableData
=
resData
.
result
.
result
;
that
.
achieveTableData
.
forEach
((
ele
,
index
)
=>
{
ele
.
integralGet
=
JSON
.
parse
(
ele
.
integralGet
);
ele
.
integralUse
=
JSON
.
parse
(
ele
.
integralUse
);
})
}
}
errMsg
.
errorMsg
(
resData
);
errMsg
.
errorMsg
(
resData
);
})
})
...
@@ -320,6 +443,38 @@ export default {
...
@@ -320,6 +443,38 @@ export default {
log
(
error
);
log
(
error
);
});
});
},
},
// 抵现策略
getIntefralInfo
()
{
var
that
=
this
// 积分抵现策略
var
params
=
{
requestProject
:
that
.
projectName
,
keyword
:
that
.
keywords1
,
strategyType
:
2
}
postRequest
(
'/api-admin/query-integral-setting'
,
params
)
// postRequest('/api-admin/get-member-integral-setting',param)
.
then
((
res
)
=>
{
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
0
)
{
// 6月迭代修改
that
.
totalCount1
=
resData
.
result
.
totalCount
;
that
.
pageSize1
=
resData
.
result
.
pageSize
;
that
.
pageNum1
=
resData
.
result
.
pageNum
;
that
.
exchangeTableData
=
resData
.
result
.
result
;
that
.
exchangeTableData
.
forEach
((
ele
,
index
)
=>
{
ele
.
integralGet
=
JSON
.
parse
(
ele
.
integralGet
);
ele
.
integralUse
=
JSON
.
parse
(
ele
.
integralUse
);
})
}
// that.userFormVisible = false;
// console.log(resData);
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
});
},
// 处理表单中数据
// 处理表单中数据
handleData
(
item
)
{
handleData
(
item
)
{
item
.
integralGetStatus
=
String
(
item
.
integralGetStatus
);
item
.
integralGetStatus
=
String
(
item
.
integralGetStatus
);
...
@@ -332,14 +487,43 @@ export default {
...
@@ -332,14 +487,43 @@ export default {
item
.
integralUseDiscountControlUpper
=
String
(
item
.
integralUseDiscountControlUpper
);
item
.
integralUseDiscountControlUpper
=
String
(
item
.
integralUseDiscountControlUpper
);
item
.
integralUseDiscountControlLower
=
String
(
item
.
integralUseDiscountControlLower
);
item
.
integralUseDiscountControlLower
=
String
(
item
.
integralUseDiscountControlLower
);
item
.
integralGet
=
JSON
.
parse
(
item
.
integralGet
);
// item.integralGet = JSON.parse(item.integralGet);
item
.
integralUse
=
JSON
.
parse
(
item
.
integralUse
);
// item.integralUse = JSON.parse(item.integralUse);
item
.
integralCost
=
JSON
.
parse
(
item
.
integralCost
);
// item.integralCost = JSON.parse(item.integralCost);
let
isJSONBool1
=
this
.
isJSON
(
item
.
integralGet
);
let
isJSONBool2
=
this
.
isJSON
(
item
.
integralUse
);
let
isJSONBool3
=
this
.
isJSON
(
item
.
integralCost
);
if
(
isJSONBool1
){
item
.
integralGet
=
JSON
.
parse
(
item
.
integralGet
);
}
else
{
// 不是json 先转成对象再转成json
item
.
integralGet
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralGet
+
')'
)))
}
if
(
isJSONBool2
){
item
.
integralUse
=
JSON
.
parse
(
item
.
integralUse
);
}
else
{
item
.
integralUse
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralUse
+
')'
)))
}
if
(
isJSONBool3
){
item
.
integralCost
=
JSON
.
parse
(
item
.
integralCost
);
}
else
{
item
.
integralCost
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralCost
+
')'
)))
}
item
.
integralGet
.
fee
=
Number
(
item
.
integralGet
.
fee
/
10
).
toFixed
(
1
);
item
.
integralGet
.
fee
=
Number
(
item
.
integralGet
.
fee
/
10
).
toFixed
(
1
);
item
.
integralGet
.
integral
=
Number
(
item
.
integralGet
.
integral
/
10
);
item
.
integralGet
.
integral
=
Number
(
item
.
integralGet
.
integral
/
10
);
return
item
;
return
item
;
},
},
isJSON
(
str
)
{
if
(
typeof
str
==
'string'
)
{
try
{
// var obj=JSON.parse(str);
// console.log('转换成功:'+obj);
return
true
;
}
catch
(
e
)
{
// console.log('error:'+str+'!!!'+e);
return
false
;
}
}
},
changeRoute
(
route
)
{
changeRoute
(
route
)
{
this
.
$router
.
push
(
route
);
this
.
$router
.
push
(
route
);
},
},
...
@@ -385,9 +569,11 @@ export default {
...
@@ -385,9 +569,11 @@ export default {
topNavNew
,
topNavNew
,
pointForm
pointForm
},
},
moun
ted
()
{
activa
ted
()
{
let
that
=
this
;
let
that
=
this
;
that
.
getPointInfo
();
that
.
getPointInfo
();
that
.
getPointInfos
();
that
.
getIntefralInfo
();
that
.
getLoginInfo
();
that
.
getLoginInfo
();
}
}
};
};
...
@@ -409,8 +595,8 @@ export default {
...
@@ -409,8 +595,8 @@ export default {
width
:
80px
;
width
:
80px
;
}
}
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.attention-wrap
{
.attention-wrap
{
...
@@ -444,8 +630,9 @@ export default {
...
@@ -444,8 +630,9 @@ export default {
}
}
.flex-lable
{
.flex-lable
{
font-size
:
1
3
px
;
font-size
:
1
2
px
;
color
:
#828282
;
color
:
#828282
;
line-height
:
20px
;
}
}
.flex-l
{
.flex-l
{
...
@@ -468,7 +655,7 @@ export default {
...
@@ -468,7 +655,7 @@ export default {
padding
:
20px
32px
15px
;
padding
:
20px
32px
15px
;
}
}
.btn-r-wrap
{
.btn-r-wrap
{
padding
:
2
4px
24px
22
px
0
;
padding
:
2
0
px
0
;
}
}
.table-contain
{
.table-contain
{
padding
:
0
24px
24px
;
padding
:
0
24px
24px
;
...
...
src/view/index/index.vue
View file @
f44509ae
...
@@ -8,7 +8,10 @@
...
@@ -8,7 +8,10 @@
<vue-gic-aside-menu
:projectName=
"projectName"
:leftModulesName=
"leftModulesName"
:collapseFlag=
"collapseFlag"
></vue-gic-aside-menu>
<vue-gic-aside-menu
:projectName=
"projectName"
:leftModulesName=
"leftModulesName"
:collapseFlag=
"collapseFlag"
></vue-gic-aside-menu>
</div>
</div>
<div
class=
"right-right"
:class=
"
{ margin64: collapseFlag }">
<div
class=
"right-right"
:class=
"
{ margin64: collapseFlag }">
<router-view></router-view>
<keep-alive>
<router-view
v-if=
"$route.meta.keepAlive"
></router-view>
</keep-alive>
<router-view
v-if=
"!$route.meta.keepAlive"
></router-view>
</div>
</div>
<!--
<transition
name=
"fade"
mode=
"out-in"
>
<!--
<transition
name=
"fade"
mode=
"out-in"
>
<router-view></router-view>
<router-view></router-view>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment