Commit f44509ae by caoyanzhi

Merge branch 'feature/6月迭代-抖音' into dev

# Conflicts:
#	dist/static/js/manifest.cdeb591d1beb41b20702.js.map
parents 2105be34 0d1ba723
{"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":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,GAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAA,SAAApB,GACA,IAAAqB,EAAAhB,EAAAL,GACA,OAAAqB,EACA,WAAAC,QAAA,SAAAC,GAA0CA,MAI1C,GAAAF,EACA,OAAAA,EAAA,GAIA,IAAAG,EAAA,IAAAF,QAAA,SAAAC,EAAAE,GACAJ,EAAAhB,EAAAL,IAAAuB,EAAAE,KAEAJ,EAAA,GAAAG,EAGA,IAAAE,EAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,UACAD,EAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EACAJ,EAAAK,QAAA,KAEArB,EAAAsB,IACAN,EAAAO,aAAA,QAAAvB,EAAAsB,IAEAN,EAAAQ,IAAAxB,EAAAyB,EAAA,aAAAtC,EAAA,KAAwEuC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAssClF,GAAA,MAC9wC,IAAAkC,EAAAiD,WAAAC,EAAA,MAEA,SAAAA,IAEAvD,EAAAwD,QAAAxD,EAAAyD,OAAA,KACAC,aAAArD,GACA,IAAAsD,EAAAnF,EAAAL,GACA,IAAAwF,IACAA,GACAA,EAAA,OAAAC,MAAA,iBAAAzF,EAAA,aAEAK,EAAAL,QAAA0F,GAKA,OAfA7D,EAAAwD,QAAAxD,EAAAyD,OAAAF,EAaA1D,EAAAiE,YAAA9D,GAEAL,GAIAX,EAAA+E,EAAAjF,EAGAE,EAAAgF,EAAA9E,EAGAF,EAAAiF,EAAA,SAAA7E,EAAA8E,EAAAC,GACAnF,EAAAoF,EAAAhF,EAAA8E,IACAxF,OAAA2F,eAAAjF,EAAA8E,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAnF,EAAAyF,EAAA,SAAApF,GACA,IAAA8E,EAAA9E,KAAAqF,WACA,WAA2B,OAAArF,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAiF,EAAAE,EAAA,IAAAA,GACAA,GAIAnF,EAAAoF,EAAA,SAAAO,EAAAC,GAAsD,OAAAlG,OAAAC,UAAAC,eAAAC,KAAA8F,EAAAC,IAGtD5F,EAAAyB,EAAA,KAGAzB,EAAA6F,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","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
...@@ -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>
<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.01"></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.01"></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: 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> </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: 178px; width: 115px;
padding: 0 10px; padding: 0 5px;
.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;
......
...@@ -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',
......
...@@ -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-20">
<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.01" :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.01" :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-20">
<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.01"></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.01"></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: 178px; width: 115px;
padding: 0 10px; padding: 0 5px;
.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;
......
...@@ -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: true, //渠道配置是否启用 1启用 0停用 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托管)
...@@ -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: true, //渠道配置是否启用 1启用 0停用 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托管)
...@@ -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: true, //渠道配置是否启用 1启用 0停用 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托管)
...@@ -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: 24px 32px; padding: 20px;
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: 178px; width: 115px;
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: 20px;
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;
} }
......
...@@ -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;
......
...@@ -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-20">
<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.01" :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.01" :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-20">
<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.01"></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.01"></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: 178px; width: 115px;
padding: 0 10px; padding: 0 5px;
.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 10px 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;
} }
......
...@@ -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-20">
<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.01" :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;" style="font-size: 12px;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-20">
<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.01" :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.01" :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-20">
<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.01"></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.01"></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: 24px 32px; padding: 20px;
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: 178px; width: 115px;
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 10px 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/ {
......
...@@ -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>
......
...@@ -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
}, },
mounted() { activated() {
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: 13px; font-size: 12px;
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: 24px 24px 22px 0; padding: 20px 0;
} }
.table-contain { .table-contain {
padding: 0 24px 24px; padding: 0 24px 24px;
......
...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment