Commit b7c6e416 by zhangmeng

docs:加了一些注释

parent a44d796d
......@@ -28,7 +28,7 @@ module.exports = {
],
// allow async-await
'generator-star-spacing': 'off',
'no-console': process.env.NODE_ENV === 'production' ? 2 : 0,
'no-console': 0,
'no-alert': process.env.NODE_ENV === 'production' ? 2 : 0, //禁止使用alert confirm prompt
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
// --------------------静态检测-----------------------------
......
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}("undefined"!=typeof self?self:this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/com/",e(e.s=143)}([function(t,e){t.exports=function(t,e,r,n,o,i){var a,c=t=t||{},s=typeof t.default;"object"!==s&&"function"!==s||(a=t,c=t.default);var u="function"==typeof c?c.options:c;e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId=o);var l;if(i?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=l):n&&(l=n),l){var f=u.functional,d=f?u.render:u.beforeCreate;f?(u._injectStyles=l,u.render=function(t,e){return l.call(e),d(t,e)}):u.beforeCreate=d?[].concat(d,l):[l]}return{esModule:a,exports:c,options:u}}},function(t,e,r){"use strict";var n=r(31),o=r(32),i=r(13);t.exports={formats:i,parse:o,stringify:n}},function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e){var r=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=r)},,,,function(t,e,r){var n=r(8);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,r){t.exports=!r(16)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,r){var n=r(2),o=r(3),i=r(21),a=r(11),c=r(17),s=function(t,e,r){var u,l,f,d=t&s.F,p=t&s.G,h=t&s.S,v=t&s.P,y=t&s.B,g=t&s.W,m=p?o:o[e]||(o[e]={}),b=m.prototype,x=p?n:h?n[e]:(n[e]||{}).prototype;p&&(r=e);for(u in r)(l=!d&&x&&void 0!==x[u])&&c(m,u)||(f=l?x[u]:r[u],m[u]=p&&"function"!=typeof x[u]?r[u]:y&&l?i(f,n):g&&x[u]==f?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((m.virtual||(m.virtual={}))[u]=f,t&s.R&&b&&!b[u]&&a(b,u,f)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e,r){var n=r(23),o=r(33);t.exports=r(9)?function(t,e,r){return n.f(t,e,o(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){"use strict";var n=Object.prototype.hasOwnProperty,o=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),i=function(t){for(var e;t.length;){var r=t.pop();if(e=r.obj[r.prop],Array.isArray(e)){for(var n=[],o=0;o<e.length;++o)void 0!==e[o]&&n.push(e[o]);r.obj[r.prop]=n}}return e},a=function(t,e){for(var r=e&&e.plainObjects?Object.create(null):{},n=0;n<t.length;++n)void 0!==t[n]&&(r[n]=t[n]);return r},c=function t(e,r,o){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(o.plainObjects||o.allowPrototypes||!n.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var i=e;return Array.isArray(e)&&!Array.isArray(r)&&(i=a(e,o)),Array.isArray(e)&&Array.isArray(r)?(r.forEach(function(r,i){n.call(e,i)?e[i]&&"object"==typeof e[i]?e[i]=t(e[i],r,o):e.push(r):e[i]=r}),e):Object.keys(r).reduce(function(e,i){var a=r[i];return n.call(e,i)?e[i]=t(e[i],a,o):e[i]=a,e},i)},s=function(t,e){return Object.keys(e).reduce(function(t,r){return t[r]=e[r],t},t)},u=function(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t}},l=function(t){if(0===t.length)return t;for(var e="string"==typeof t?t:String(t),r="",n=0;n<e.length;++n){var i=e.charCodeAt(n);45===i||46===i||95===i||126===i||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?r+=e.charAt(n):i<128?r+=o[i]:i<2048?r+=o[192|i>>6]+o[128|63&i]:i<55296||i>=57344?r+=o[224|i>>12]+o[128|i>>6&63]+o[128|63&i]:(n+=1,i=65536+((1023&i)<<10|1023&e.charCodeAt(n)),r+=o[240|i>>18]+o[128|i>>12&63]+o[128|i>>6&63]+o[128|63&i])}return r},f=function(t){for(var e=[{obj:{o:t},prop:"o"}],r=[],n=0;n<e.length;++n)for(var o=e[n],a=o.obj[o.prop],c=Object.keys(a),s=0;s<c.length;++s){var u=c[s],l=a[u];"object"==typeof l&&null!==l&&-1===r.indexOf(l)&&(e.push({obj:a,prop:u}),r.push(l))}return i(e)},d=function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},p=function(t){return null!==t&&void 0!==t&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))};t.exports={arrayToObject:a,assign:s,compact:f,decode:u,encode:l,isBuffer:p,isRegExp:d,merge:c}},function(t,e,r){"use strict";var n=String.prototype.replace,o=/%20/g;t.exports={default:"RFC3986",formatters:{RFC1738:function(t){return n.call(t,o,"+")},RFC3986:function(t){return t}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(t,e){function r(t,e){var r=t[1]||"",o=t[3];if(!o)return r;if(e&&"function"==typeof btoa){var i=n(o);return[r].concat(o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"})).concat([i]).join("\n")}return[r].join("\n")}function n(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=r(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,r){"string"==typeof t&&(t=[[null,t,""]]);for(var n={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(n[i]=!0)}for(o=0;o<t.length;o++){var a=t[o];"number"==typeof a[0]&&n[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),e.push(a))}},e}},function(t,e,r){function n(t){for(var e=0;e<t.length;e++){var r=t[e],n=l[r.id];if(n){n.refs++;for(var o=0;o<n.parts.length;o++)n.parts[o](r.parts[o]);for(;o<r.parts.length;o++)n.parts.push(i(r.parts[o]));n.parts.length>r.parts.length&&(n.parts.length=r.parts.length)}else{for(var a=[],o=0;o<r.parts.length;o++)a.push(i(r.parts[o]));l[r.id]={id:r.id,refs:1,parts:a}}}}function o(){var t=document.createElement("style");return t.type="text/css",f.appendChild(t),t}function i(t){var e,r,n=document.querySelector("style["+g+'~="'+t.id+'"]');if(n){if(h)return v;n.parentNode.removeChild(n)}if(m){var i=p++;n=d||(d=o()),e=a.bind(null,n,i,!1),r=a.bind(null,n,i,!0)}else n=o(),e=c.bind(null,n),r=function(){n.parentNode.removeChild(n)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else r()}}function a(t,e,r,n){var o=r?"":n.css;if(t.styleSheet)t.styleSheet.cssText=b(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function c(t,e){var r=e.css,n=e.media,o=e.sourceMap;if(n&&t.setAttribute("media",n),y.ssrId&&t.setAttribute(g,e.id),o&&(r+="\n/*# sourceURL="+o.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var s="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!s)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var u=r(25),l={},f=s&&(document.head||document.getElementsByTagName("head")[0]),d=null,p=0,h=!1,v=function(){},y=null,g="data-vue-ssr-id",m="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,r,o){h=r,y=o||{};var i=u(t,e);return n(i),function(e){for(var r=[],o=0;o<i.length;o++){var a=i[o],c=l[a.id];c.refs--,r.push(c)}e?(i=u(t,e),n(i)):i=[];for(var o=0;o<r.length;o++){var c=r[o];if(0===c.refs){for(var s=0;s<c.parts.length;s++)c.parts[s]();delete l[c.id]}}}};var b=function(){var t=[];return function(e,r){return t[e]=r,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e,r){var n=r(34),o=r(20);t.exports=function(t){return n(o(t))}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(22);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,r){var n=r(7),o=r(40),i=r(41),a=Object.defineProperty;e.f=r(9)?Object.defineProperty:function(t,e,r){if(n(t),e=i(e,!0),n(r),o)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e){t.exports=function(t,e){for(var r=[],n={},o=0;o<e.length;o++){var i=e[o],a=i[0],c=i[1],s=i[2],u=i[3],l={id:t+":"+o,css:c,media:s,sourceMap:u};n[a]?n[a].parts.push(l):r.push(n[a]={id:a,parts:[l]})}return r}},function(t,e){t.exports=!0},function(t,e,r){var n=r(8),o=r(2).document,i=n(o)&&n(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},,function(t,e,r){var n=r(42),o=r(38);t.exports=Object.keys||function(t){return n(t,o)}},function(t,e,r){var n=r(36)("keys"),o=r(37);t.exports=function(t){return n[t]||(n[t]=o(t))}},function(t,e,r){"use strict";var n=r(12),o=r(13),i={brackets:function(t){return t+"[]"},indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},a=Date.prototype.toISOString,c={delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,serializeDate:function(t){return a.call(t)},skipNulls:!1,strictNullHandling:!1},s=function t(e,r,o,i,a,s,u,l,f,d,p,h){var v=e;if("function"==typeof u)v=u(r,v);else if(v instanceof Date)v=d(v);else if(null===v){if(i)return s&&!h?s(r,c.encoder):r;v=""}if("string"==typeof v||"number"==typeof v||"boolean"==typeof v||n.isBuffer(v)){if(s){return[p(h?r:s(r,c.encoder))+"="+p(s(v,c.encoder))]}return[p(r)+"="+p(String(v))]}var y=[];if(void 0===v)return y;var g;if(Array.isArray(u))g=u;else{var m=Object.keys(v);g=l?m.sort(l):m}for(var b=0;b<g.length;++b){var x=g[b];a&&null===v[x]||(y=Array.isArray(v)?y.concat(t(v[x],o(r,x),o,i,a,s,u,l,f,d,p,h)):y.concat(t(v[x],r+(f?"."+x:"["+x+"]"),o,i,a,s,u,l,f,d,p,h)))}return y};t.exports=function(t,e){var r=t,a=e?n.assign({},e):{};if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw new TypeError("Encoder has to be a function.");var u=void 0===a.delimiter?c.delimiter:a.delimiter,l="boolean"==typeof a.strictNullHandling?a.strictNullHandling:c.strictNullHandling,f="boolean"==typeof a.skipNulls?a.skipNulls:c.skipNulls,d="boolean"==typeof a.encode?a.encode:c.encode,p="function"==typeof a.encoder?a.encoder:c.encoder,h="function"==typeof a.sort?a.sort:null,v=void 0!==a.allowDots&&a.allowDots,y="function"==typeof a.serializeDate?a.serializeDate:c.serializeDate,g="boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:c.encodeValuesOnly;if(void 0===a.format)a.format=o.default;else if(!Object.prototype.hasOwnProperty.call(o.formatters,a.format))throw new TypeError("Unknown format option provided.");var m,b,x=o.formatters[a.format];"function"==typeof a.filter?(b=a.filter,r=b("",r)):Array.isArray(a.filter)&&(b=a.filter,m=b);var w=[];if("object"!=typeof r||null===r)return"";var C;C=a.arrayFormat in i?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":"indices";var _=i[C];m||(m=Object.keys(r)),h&&m.sort(h);for(var j=0;j<m.length;++j){var O=m[j];f&&null===r[O]||(w=w.concat(s(r[O],O,_,l,f,d?p:null,b,h,v,y,x,g)))}var T=w.join(u),S=!0===a.addQueryPrefix?"?":"";return T.length>0?S+T:""}},function(t,e,r){"use strict";var n=r(12),o=Object.prototype.hasOwnProperty,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:n.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},a=function(t,e){for(var r={},n=e.ignoreQueryPrefix?t.replace(/^\?/,""):t,a=e.parameterLimit===1/0?void 0:e.parameterLimit,c=n.split(e.delimiter,a),s=0;s<c.length;++s){var u,l,f=c[s],d=f.indexOf("]="),p=-1===d?f.indexOf("="):d+1;-1===p?(u=e.decoder(f,i.decoder),l=e.strictNullHandling?null:""):(u=e.decoder(f.slice(0,p),i.decoder),l=e.decoder(f.slice(p+1),i.decoder)),o.call(r,u)?r[u]=[].concat(r[u]).concat(l):r[u]=l}return r},c=function(t,e,r){for(var n=e,o=t.length-1;o>=0;--o){var i,a=t[o];if("[]"===a)i=[],i=i.concat(n);else{i=r.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,s=parseInt(c,10);!isNaN(s)&&a!==c&&String(s)===c&&s>=0&&r.parseArrays&&s<=r.arrayLimit?(i=[],i[s]=n):i[c]=n}n=i}return n},s=function(t,e,r){if(t){var n=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,i=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,s=i.exec(n),u=s?n.slice(0,s.index):n,l=[];if(u){if(!r.plainObjects&&o.call(Object.prototype,u)&&!r.allowPrototypes)return;l.push(u)}for(var f=0;null!==(s=a.exec(n))&&f<r.depth;){if(f+=1,!r.plainObjects&&o.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;l.push(s[1])}return s&&l.push("["+n.slice(s.index)+"]"),c(l,e,r)}};t.exports=function(t,e){var r=e?n.assign({},e):{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.ignoreQueryPrefix=!0===r.ignoreQueryPrefix,r.delimiter="string"==typeof r.delimiter||n.isRegExp(r.delimiter)?r.delimiter:i.delimiter,r.depth="number"==typeof r.depth?r.depth:i.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:i.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:i.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:i.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:i.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:i.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:i.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:i.strictNullHandling,""===t||null===t||void 0===t)return r.plainObjects?Object.create(null):{};for(var o="string"==typeof t?a(t,r):t,c=r.plainObjects?Object.create(null):{},u=Object.keys(o),l=0;l<u.length;++l){var f=u[l],d=s(f,o[f],r);c=n.merge(c,d,r)}return n.compact(c)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(24);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e,r){var n=r(19),o=Math.min;t.exports=function(t){return t>0?o(n(t),9007199254740991):0}},function(t,e,r){var n=r(3),o=r(2),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:n.version,mode:r(26)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+n).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(20);t.exports=function(t){return Object(n(t))}},function(t,e,r){t.exports=!r(9)&&!r(16)(function(){return 7!=Object.defineProperty(r(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,r){var n=r(8);t.exports=function(t,e){if(!n(t))return t;var r,o;if(e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!n(o=r.call(t)))return o;if(!e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,r){var n=r(17),o=r(18),i=r(43)(!1),a=r(30)("IE_PROTO");t.exports=function(t,e){var r,c=o(t),s=0,u=[];for(r in c)r!=a&&n(c,r)&&u.push(r);for(;e.length>s;)n(c,r=e[s++])&&(~i(u,r)||u.push(r));return u}},function(t,e,r){var n=r(18),o=r(35),i=r(44);t.exports=function(t){return function(e,r,a){var c,s=n(e),u=o(s.length),l=i(a,u);if(t&&r!=r){for(;u>l;)if((c=s[l++])!=c)return!0}else for(;u>l;l++)if((t||l in s)&&s[l]===r)return t||l||0;return!t&&-1}}},function(t,e,r){var n=r(19),o=Math.max,i=Math.min;t.exports=function(t,e){return t=n(t),t<0?o(t+e,0):i(t,e)}},,,,function(t,e){e.f={}.propertyIsEnumerable},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";var n=r(147),o=r.n(n),i=r(151),a=r.n(i),c=r(1),s=r.n(c),u=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy-MM-dd-HH-mm-ss";return t?("number"==typeof t&&(t=new Date(t)),"string"==typeof t?t:(e.indexOf("yyyy")>=0?l(t.getFullYear()):"")+(e.indexOf("MM")>=0?"-"+l(t.getMonth()+1):"")+(e.indexOf("dd")>=0?"-"+l(t.getDate()):"")+(e.indexOf("HH")>=0?" "+l(t.getHours()):"")+(e.indexOf("mm")>=0?":"+l(t.getMinutes()):"")+(e.indexOf("ss")>=0?":"+l(t.getSeconds()):"")):""},l=function(t){return t*=1,t<10?"0"+t:t};e.a={name:"vue-gic-card",props:{disabledList:{type:Array,default:function(){return[]}},showCardDialog:{type:Boolean,default:!1},projectName:{type:String,default:""},cardLimit:{type:[String,Number],default:0},cardType:{type:[String,Number],default:null}},computed:{limitTips:function(){return 2===this.cardLimitType?"领取限制领取1~100的卡券,系统已过滤,符合条件共":3===this.cardLimitType?"领取限制领取<100的卡券不支持选择,系统已过滤,符合条件共":"领取限制>1的卡券不支持选择,系统已过滤,符合条件共"}},data:function(){return{repProjectName:"gic-web",searchText:"",cardData:[],currentRow:null,radio:null,dialogCard:!1,cardCurrentPage:1,cardPageSize:5,total:0,cardLimitType:"",cardTypes:"",baseUrl:"",formateDateTimeByType:u}},beforeMount:function(){var t=window.location.origin;console.log("当前host:",t),"-1"!=t.indexOf("localhost")?this.baseUrl="http://gicdev.demogic.com":this.baseUrl=t},methods:{add:function(){window.open("/marketing/#/card/add")},refresh:function(){this.cardCurrentPage=1,this.getCardList()},handleCurrentChangeTable:function(t){t.disabled||(this.radio=t.coupCardId,this.currentRow=t)},cardCurrentChange:function(t){this.cardCurrentPage=t,this.getCardList()},setNewData:function(t){this.dialogCard=t},toSearchInput:function(t){this.cardCurrentPage=1,this.getCardList()},clearInput:function(t){this.cardCurrentPage=1,this.getCardList()},dialogCardConfirm:function(){if(!this.currentRow||!a()(this.currentRow).length||!o()(this.currentRow).length)return void this.$message.error({duration:1e3,message:"请选择卡券"});this.$emit("selectCard",this.currentRow),this.currentRow={},this.radio=null},handleCardClose:function(){this.dialogCardcancel()},dialogCardcancel:function(){var t=this;this.$confirm("确认关闭?","",{confirmButtonText:"确定",cancelButtonText:"取消",type:""}).then(function(){console.log("点击确认"),t.currentRow={},t.radio=null,t.$emit("selectCard")}).catch(function(){console.log("取消 取消关闭")})},getCardList:function(){var t=this,e={currentPage:this.cardCurrentPage,pageSize:this.cardPageSize,searchParam:this.searchText||"",requestProject:this.repProjectName,cardLimitType:this.cardLimitType,cardTypes:this.cardTypes};this.axios.post(this.baseUrl+"/api-plug/get-coupon-list",s.a.stringify(e)).then(function(e){console.log(e,e.data,e.data.errorCode);var r=e.data;0==r.errorCode?r.result&&(r.result.result&&(r.result.result.forEach(function(e,r){e.beginDate&&(e.beginDate=t.formatDate(e.beginDate,".")),e.endDate&&(e.endDate=t.formatDate(e.endDate,".")),console.log(e),e.disabled=t.disabledList.indexOf(e.coupCardId)>=0}),t.cardData=r.result.result),t.total=r.result.totalCount):t.$message.error({duration:1e3,message:r.message})}).catch(function(e){t.$message.error({duration:1e4,message:e.message})})},formatDate:function(t,e){function r(t){return t>9?""+t:"0"+t}var n=new Date(t),o=n.getFullYear(),i=n.getMonth()+1,a=n.getDate();return o+e+r(i)+e+r(a)+e}},watch:{showCardDialog:function(t,e){this.setNewData(t)},projectName:function(t,e){this.repProjectName=t||"gic-web"},cardLimit:function(t,e){this.cardLimitType=t},cardType:function(t,e){this.cardTypes=t}},mounted:function(){this.repProjectName=this.projectName||"gic-web",this.cardLimitType=this.cardLimit,this.cardTypes=this.cardType,this.getCardList(),this.setNewData(this.showCardDialog)},filters:{filterCardTips:function(t){var e="";switch(t){case 1:e="限制领取1张的卡券,系统已自动过滤";break;case 2:e="限制领取1~100的卡券,系统已自动过滤";break;case 3:e="限制领取>=100的卡券,系统已自动过滤";break;case-1:default:e="卡券领取无限制"}return e}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(144),o={install:function(t,e){t.component(n.a.name,n.a)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(o),e.default=o},function(t,e,r){"use strict";function n(t){r(145)}var o=r(76),i=r(155),a=r(0),c=n,s=a(o.a,i.a,!1,c,"data-v-1bd6577e",null);e.a=s.exports},function(t,e,r){var n=r(146);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r(15)("1eed93cf",n,!0,{})},function(t,e,r){e=t.exports=r(14)(!1),e.push([t.i,"#wrap[data-v-1bd6577e]{background:#fff}.search-input[data-v-1bd6577e]{width:200px}.attention-textAndImg-wrap[data-v-1bd6577e] .text-img-search{font-size:14px;color:#292929;height:36px;padding-bottom:22px;line-height:36px}.attention-textAndImg-wrap[data-v-1bd6577e] .text-img-search>span{float:left;margin-right:10px}.attention-textAndImg-wrap[data-v-1bd6577e] .text-img-search /deep/.search-input{width:200px}.attention-textAndImg-wrap[data-v-1bd6577e] .text-img-search .search-btn{margin-left:4px}.attention-textAndImg-wrap[data-v-1bd6577e] .text-img-search .limit-text{color:#909399;font-size:12px;line-height:1;padding-top:4px;display:inline-block}.attention-textAndImg-wrap[data-v-1bd6577e] .pic-list-box .list-img{width:80px;height:80px}.attention-textAndImg-wrap[data-v-1bd6577e] .pic-list-box .list-img img{width:100%;height:100%}.attention-textAndImg-wrap[data-v-1bd6577e] .pic-list-box .card-table{position:relative}.attention-textAndImg-wrap[data-v-1bd6577e] .el-table thead th,.attention-textAndImg-wrap[data-v-1bd6577e] .el-table thead tr{background:#f1f3f7}.pagination[data-v-1bd6577e]{text-align:right;margin-top:20px}.pic-list-box[data-v-1bd6577e] .el-table__row{cursor:pointer}.attention-textAndImg-wrap[data-v-1bd6577e] .el-dialog__body{padding:10px 20px}",""])},function(t,e,r){t.exports={default:r(148),__esModule:!0}},function(t,e,r){r(149),t.exports=r(3).Object.values},function(t,e,r){var n=r(10),o=r(150)(!1);n(n.S,"Object",{values:function(t){return o(t)}})},function(t,e,r){var n=r(29),o=r(18),i=r(48).f;t.exports=function(t){return function(e){for(var r,a=o(e),c=n(a),s=c.length,u=0,l=[];s>u;)i.call(a,r=c[u++])&&l.push(t?[r,a[r]]:a[r]);return l}}},function(t,e,r){t.exports={default:r(152),__esModule:!0}},function(t,e,r){r(153),t.exports=r(3).Object.keys},function(t,e,r){var n=r(39),o=r(29);r(154)("keys",function(){return function(t){return o(n(t))}})},function(t,e,r){var n=r(10),o=r(3),i=r(16);t.exports=function(t,e){var r=(o.Object||{})[t]||Object[t],a={};a[t]=e(r),n(n.S+n.F*i(function(){r(1)}),"Object",a)}},function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"attention-textAndImg-wrap"},[r("el-dialog",{attrs:{title:"选择卡券",visible:t.dialogCard,width:"820px","before-close":t.handleCardClose},on:{"update:visible":function(e){t.dialogCard=e}}},[r("div",{staticClass:"text-img-search clearfix"},[r("div",{staticClass:"fl"},[r("el-input",{staticClass:"search-input",attrs:{placeholder:"请输入卡券名/备注名","prefix-icon":"el-icon-search",clearable:""},on:{clear:t.clearInput},nativeOn:{keyup:function(e){return function(e){return t.toSearchInput(e)}(e)}},model:{value:t.searchText,callback:function(e){t.searchText=e},expression:"searchText"}}),t._v(" "),r("span",{staticClass:"limit-text"},[t._v(t._s(t.limitTips)+t._s(t.total)+"张。 ")])],1),t._v(" "),r("div",{staticClass:"fr"},[r("el-button",{attrs:{type:"primary"},on:{click:t.add}},[t._v("新建卡券")]),t._v(" "),r("el-button",{on:{click:t.refresh}},[t._v("刷新列表")])],1)]),t._v(" "),r("div",{staticClass:"pic-list-box"},[r("el-table",{ref:"multipleTable",staticClass:"card-table",staticStyle:{width:"100%"},attrs:{data:t.cardData,"tooltip-effect":"dark"},on:{"row-click":t.handleCurrentChangeTable}},[r("el-table-column",{attrs:{label:"",width:"55"},scopedSlots:t._u([{key:"default",fn:function(e){return[r("el-radio",{staticClass:"radio-style",attrs:{label:e.row.coupCardId,disabled:e.row.disabled},model:{value:t.radio,callback:function(e){t.radio=e},expression:"radio"}})]}}])}),t._v(" "),r("el-table-column",{attrs:{"show-overflow-tooltip":!0,"min-width":100,align:"left",prop:"cardName",label:"卡券名称"}}),t._v(" "),r("el-table-column",{attrs:{"show-overflow-tooltip":!0,"min-width":100,align:"left",prop:"subName",label:"备注名"}}),t._v(" "),r("el-table-column",{attrs:{prop:"",label:"有效期","min-width":100,"show-overflow-tooltip":!1},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.cardEffectiveMode?r("div",[t._v("固定日期:"+t._s(t.formateDateTimeByType(e.row.beginDate,"yyyy-MM-dd")+"至"+t.formateDateTimeByType(e.row.endDate,"yyyy-MM-dd")))]):t._e(),t._v(" "),1==e.row.cardEffectiveMode?r("div",[t._v("领取后"+t._s((0===e.row.startDay?"当":e.row.startDay)+"天,有效天数"+e.row.limitDay)+"天")]):t._e()]}}])}),t._v(" "),r("el-table-column",{attrs:{prop:"cardLimit","show-overflow-tooltip":!1,label:"领取限制",width:"90"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.cardLimit)+"张/人\n ")]}}])}),t._v(" "),r("el-table-column",{attrs:{"show-overflow-tooltip":!1,width:90,align:"left",prop:"storeMode",label:"适用门店"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(0===e.row.storeMode?"所有门店":1===e.row.storeMode?"部分分组":"部分门店")+"\n ")]}}])}),t._v(" "),r("el-table-column",{attrs:{"show-overflow-tooltip":!1,width:100,align:"left",prop:"couponStock",label:"库存"}})],1),t._v(" "),t.total>0?r("div",{staticClass:"pagination"},[r("el-pagination",{attrs:{"current-page":t.cardCurrentPage,"page-size":t.cardPageSize,layout:"prev, pager, next",total:t.total},on:{"current-change":t.cardCurrentChange}})],1):t._e()],1),t._v(" "),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{on:{click:t.dialogCardcancel}},[t._v("关 闭")]),t._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:t.dialogCardConfirm}},[t._v("确 定")])],1)])],1)},o=[],i={render:n,staticRenderFns:o};e.a=i}])});
\ No newline at end of file
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}("undefined"!=typeof self?self:this,function(){return function(e){function t(o){if(r[o])return r[o].exports;var a=r[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/com/",t(t.s=156)}({0:function(e,t){e.exports=function(e,t,r,o,a,i){var n,s=e=e||{},l=typeof e.default;"object"!==l&&"function"!==l||(n=e,s=e.default);var d="function"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),r&&(d.functional=!0),a&&(d._scopeId=a);var c;if(i?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=c):o&&(c=o),c){var u=d.functional,f=u?d.render:d.beforeCreate;u?(d._injectStyles=c,d.render=function(e,t){return c.call(t),f(e,t)}):d.beforeCreate=f?[].concat(f,c):[c]}return{esModule:n,exports:s,options:d}}},1:function(e,t,r){"use strict";var o=r(31),a=r(32),i=r(13);e.exports={formats:i,parse:a,stringify:o}},12:function(e,t,r){"use strict";var o=Object.prototype.hasOwnProperty,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),i=function(e){for(var t;e.length;){var r=e.pop();if(t=r.obj[r.prop],Array.isArray(t)){for(var o=[],a=0;a<t.length;++a)void 0!==t[a]&&o.push(t[a]);r.obj[r.prop]=o}}return t},n=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},o=0;o<e.length;++o)void 0!==e[o]&&(r[o]=e[o]);return r},s=function e(t,r,a){if(!r)return t;if("object"!=typeof r){if(Array.isArray(t))t.push(r);else{if("object"!=typeof t)return[t,r];(a.plainObjects||a.allowPrototypes||!o.call(Object.prototype,r))&&(t[r]=!0)}return t}if("object"!=typeof t)return[t].concat(r);var i=t;return Array.isArray(t)&&!Array.isArray(r)&&(i=n(t,a)),Array.isArray(t)&&Array.isArray(r)?(r.forEach(function(r,i){o.call(t,i)?t[i]&&"object"==typeof t[i]?t[i]=e(t[i],r,a):t.push(r):t[i]=r}),t):Object.keys(r).reduce(function(t,i){var n=r[i];return o.call(t,i)?t[i]=e(t[i],n,a):t[i]=n,t},i)},l=function(e,t){return Object.keys(t).reduce(function(e,r){return e[r]=t[r],e},e)},d=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},c=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),r="",o=0;o<t.length;++o){var i=t.charCodeAt(o);45===i||46===i||95===i||126===i||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?r+=t.charAt(o):i<128?r+=a[i]:i<2048?r+=a[192|i>>6]+a[128|63&i]:i<55296||i>=57344?r+=a[224|i>>12]+a[128|i>>6&63]+a[128|63&i]:(o+=1,i=65536+((1023&i)<<10|1023&t.charCodeAt(o)),r+=a[240|i>>18]+a[128|i>>12&63]+a[128|i>>6&63]+a[128|63&i])}return r},u=function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],o=0;o<t.length;++o)for(var a=t[o],n=a.obj[a.prop],s=Object.keys(n),l=0;l<s.length;++l){var d=s[l],c=n[d];"object"==typeof c&&null!==c&&-1===r.indexOf(c)&&(t.push({obj:n,prop:d}),r.push(c))}return i(t)},f=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},p=function(e){return null!==e&&void 0!==e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))};e.exports={arrayToObject:n,assign:l,compact:u,decode:d,encode:c,isBuffer:p,isRegExp:f,merge:s}},13:function(e,t,r){"use strict";var o=String.prototype.replace,a=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return o.call(e,a,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},14:function(e,t){function r(e,t){var r=e[1]||"",a=e[3];if(!a)return r;if(t&&"function"==typeof btoa){var i=o(a);return[r].concat(a.sources.map(function(e){return"/*# sourceURL="+a.sourceRoot+e+" */"})).concat([i]).join("\n")}return[r].join("\n")}function o(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var o=r(t,e);return t[2]?"@media "+t[2]+"{"+o+"}":o}).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},a=0;a<this.length;a++){var i=this[a][0];"number"==typeof i&&(o[i]=!0)}for(a=0;a<e.length;a++){var n=e[a];"number"==typeof n[0]&&o[n[0]]||(r&&!n[2]?n[2]=r:r&&(n[2]="("+n[2]+") and ("+r+")"),t.push(n))}},t}},15:function(e,t,r){function o(e){for(var t=0;t<e.length;t++){var r=e[t],o=c[r.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](r.parts[a]);for(;a<r.parts.length;a++)o.parts.push(i(r.parts[a]));o.parts.length>r.parts.length&&(o.parts.length=r.parts.length)}else{for(var n=[],a=0;a<r.parts.length;a++)n.push(i(r.parts[a]));c[r.id]={id:r.id,refs:1,parts:n}}}}function a(){var e=document.createElement("style");return e.type="text/css",u.appendChild(e),e}function i(e){var t,r,o=document.querySelector("style["+g+'~="'+e.id+'"]');if(o){if(m)return h;o.parentNode.removeChild(o)}if(v){var i=p++;o=f||(f=a()),t=n.bind(null,o,i,!1),r=n.bind(null,o,i,!0)}else o=a(),t=s.bind(null,o),r=function(){o.parentNode.removeChild(o)};return t(e),function(o){if(o){if(o.css===e.css&&o.media===e.media&&o.sourceMap===e.sourceMap)return;t(e=o)}else r()}}function n(e,t,r,o){var a=r?"":o.css;if(e.styleSheet)e.styleSheet.cssText=w(t,a);else{var i=document.createTextNode(a),n=e.childNodes;n[t]&&e.removeChild(n[t]),n.length?e.insertBefore(i,n[t]):e.appendChild(i)}}function s(e,t){var r=t.css,o=t.media,a=t.sourceMap;if(o&&e.setAttribute("media",o),b.ssrId&&e.setAttribute(g,t.id),a&&(r+="\n/*# sourceURL="+a.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var l="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!l)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var d=r(25),c={},u=l&&(document.head||document.getElementsByTagName("head")[0]),f=null,p=0,m=!1,h=function(){},b=null,g="data-vue-ssr-id",v="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,r,a){m=r,b=a||{};var i=d(e,t);return o(i),function(t){for(var r=[],a=0;a<i.length;a++){var n=i[a],s=c[n.id];s.refs--,r.push(s)}t?(i=d(e,t),o(i)):i=[];for(var a=0;a<r.length;a++){var s=r[a];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete c[s.id]}}}};var w=function(){var e=[];return function(t,r){return e[t]=r,e.filter(Boolean).join("\n")}}()},156:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(157),a={install:function(e,t){e.component(o.a.name,o.a)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(a),t.default=a},157:function(e,t,r){"use strict";function o(e){r(158)}var a=r(77),i=r(164),n=r(0),s=o,l=n(a.a,i.a,!1,s,"data-v-0b9df33a",null);t.a=l.exports},158:function(e,t,r){var o=r(159);"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r(15)("bb1a21f2",o,!0,{})},159:function(e,t,r){var o=r(160);t=e.exports=r(14)(!1),t.push([e.i,".navheader[data-v-0b9df33a]{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;left:0;width:100%;height:64px;line-height:64px;font-size:14px;background-color:#fff;padding:0;z-index:99;color:#fff}.navheader .fl[data-v-0b9df33a]{float:left}.navheader .fr[data-v-0b9df33a]{float:right}.navheader-logo[data-v-0b9df33a]{-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px;width:200px;height:64px;float:left;text-align:center;background:url("+o(r(161))+') no-repeat 50% #04143a}.navheader-pic[data-v-0b9df33a]{vertical-align:middle}.navheader-item[data-v-0b9df33a]{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-shadow:5px -1px 10px #ddd;box-shadow:5px -1px 10px #ddd}.navheader .itemlink[data-v-0b9df33a]{float:left;padding:0 20px;display:inline-block;height:62px;cursor:pointer;color:#606266}.navheader .itemlink[data-v-0b9df33a]:hover{color:#1890ff}.navheader .bottom[data-v-0b9df33a]:hover{border-bottom:2px solid #1890ff}.navheader .current-module.bottom[data-v-0b9df33a]{color:#1890ff;border-bottom:2px solid #1890ff;font-weight:500}.navheader .moveleft[data-v-0b9df33a]{margin-left:-136px;-webkit-transition:all .3s ease;transition:all .3s ease;background-position:151px 10px}.navheader .moveright[data-v-0b9df33a]{margin-left:0;-webkit-transition:all .2s ease;transition:all .2s ease}.navheader .arrowico[data-v-0b9df33a]{position:absolute;-webkit-transition:all .5s;transition:all .5s;right:0;top:25px}.navheader .arrow-icon-down[data-v-0b9df33a]{position:relative;-webkit-transition:all .5s;transition:all .5s}.navheader .el-dialog__wrapper[data-v-0b9df33a] .el-dialog{min-width:425px;width:425px}.navheader .el-dialog__body[data-v-0b9df33a]{padding:0 20px}.navheader__status[data-v-0b9df33a]{color:#999;cursor:pointer}.navheader__status a[data-v-0b9df33a]{color:#f5222d}.navheader__status[data-v-0b9df33a] .el-button--danger{background:#fff}.navheader__status[data-v-0b9df33a] .el-button--danger:active,.navheader__status[data-v-0b9df33a] .el-button--danger:focus,.navheader__status[data-v-0b9df33a] .el-button--danger:hover{color:#f5222d}.navheader__status[data-v-0b9df33a] .el-button--warning{background:#fff}.navheader__status[data-v-0b9df33a] .el-button--warning:active,.navheader__status[data-v-0b9df33a] .el-button--warning:focus,.navheader__status[data-v-0b9df33a] .el-button--warning:hover{color:#faad14}.itemlink-gic[data-v-0b9df33a]{float:left;display:inline-block;height:62px;padding:0 20px;position:relative;color:#606266;cursor:pointer}.itemlink-gic[data-v-0b9df33a]:hover{color:#1890ff}.itemlink-gic:hover .arrow-icon-down[data-v-0b9df33a]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.itemlink-gic:hover .itempanel[data-v-0b9df33a]{display:block}.itemlink-gic .curitemlink[data-v-0b9df33a]{border-bottom:2px solid #1890ff}.itemlink-gic .itempanel[data-v-0b9df33a]{display:none}.itemlink-gic .containers-listlik.current-rout[data-v-0b9df33a]{color:#1890ff}.itemlink-gic .containers-listlik-a[data-v-0b9df33a]{display:block}.itemlink-gic .gicnavlink[data-v-0b9df33a]{position:absolute;left:-100px;top:60px;width:966px;min-height:550px;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px 0 25px 30px;z-index:9999;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .gicnavarrow[data-v-0b9df33a]{position:absolute;left:50%;top:50px;-webkit-transform:translate(-50%);transform:translate(-50%);z-index:3}.itemlink-gic .gicnavarrow .arrow[data-v-0b9df33a]{position:relative;display:block;background-color:#fff;width:6px;height:6px;border:0;border-top:1px solid #ebeef5;border-right:1px solid #ebeef5;-webkit-transform:translateY(7px) rotate(-45deg);transform:translateY(7px) rotate(-45deg);-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.itemlink-gic .gicnavarrow .arrow[data-v-0b9df33a]:after{position:absolute;left:0;top:-2px;width:10px;height:1px;content:"";border-radius:2px;background-color:#fff;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.itemlink-gic .containers[data-v-0b9df33a]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:0;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;margin:0}.itemlink-gic .containers-ul[data-v-0b9df33a]{line-height:40px}.itemlink-gic .containers-title[data-v-0b9df33a]{color:#303133;font-size:14px;font-weight:700;padding:0;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .containers-listlik[data-v-0b9df33a]{font-size:12px;color:#606266;line-height:30px}.itemlink-gic .containers-listlik[data-v-0b9df33a]:hover{color:#1890ff}.itemlink-gic .containers-item[data-v-0b9df33a]{-webkit-box-flex:0;-ms-flex:0 0 185px;flex:0 0 185px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.itemlink-gic .curactive[data-v-0b9df33a]{color:#fede29}li[data-v-0b9df33a]{list-style:none}.navuserinfo[data-v-0b9df33a]{width:140px;text-align:center}.navuserinfo[data-v-0b9df33a] a{color:#606266}.navuserinfo[data-v-0b9df33a] .navusername{position:relative;display:inline-block;padding:0 20px;height:48px}.navuserinfo[data-v-0b9df33a] .navusername:hover{color:#1890ff}.navuserinfo[data-v-0b9df33a] .navusername:hover .arrowico{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.navsuerwrap[data-v-0b9df33a] .useritem{position:relative;line-height:35px;height:35px;margin-bottom:10px;text-align:center;color:#606266}.navsuerwrap[data-v-0b9df33a] .useritem a{color:#606266}.navsuerwrap[data-v-0b9df33a] .useritem:hover .usertext{display:block;width:119px;margin-left:-12px;color:#1890ff;background-color:#ecf5ff;cursor:pointer}.navsuerwrap[data-v-0b9df33a] .loginout{border-top:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box;padding:15px 0;margin-bottom:20px}.el-popover.user-header-pop[data-v-0b9df33a],.el-popover[data-v-0b9df33a],.user-header-pop[data-v-0b9df33a]{min-width:95px}.el-dialog__wrapper[data-v-0b9df33a] .el-dialog{min-width:425px;width:425px}.el-dialog__wrapper[data-v-0b9df33a] .el-dialog /deep/ .el-dialog__body{padding:0 20px}.user-form-dialog[data-v-0b9df33a] .el-dialog{min-width:425px}.user-form-dialog[data-v-0b9df33a] .el-dialog__body{padding:0 20px}.user-form-dialog[data-v-0b9df33a] .el-input{width:260px}.pass-form-dialog[data-v-0b9df33a] .el-dialog{min-width:425px}.pass-form-dialog[data-v-0b9df33a] .el-dialog__body{padding:0 20px}.el-input[data-v-0b9df33a]{width:260px}@media screen and (max-width:1280px){.navheader[data-v-0b9df33a]{min-width:1280px}}@media screen and (min-width:1280px) and (max-width:1366px){.navheader[data-v-0b9df33a]{min-width:1280px}}@media screen and (min-width:1366px) and (max-width:1440px){.navheader[data-v-0b9df33a]{min-width:1366px}}@media screen and (min-width:1440px) and (max-width:1920px){.navheader[data-v-0b9df33a]{min-width:1440px}}.dialog-footer[data-v-0b9df33a]{line-height:1}',""])},160:function(e,t){e.exports=function(e){return"string"!=typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)?'"'+e.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':e)}},161:function(e,t,r){e.exports=r.p+"logo.png?567d2bcb0ba7ec281f5613c41ce4b7c6"},162:function(e,t,r){e.exports={default:r(163),__esModule:!0}},163:function(e,t,r){var o=r(3),a=o.JSON||(o.JSON={stringify:JSON.stringify});e.exports=function(e){return a.stringify.apply(a,arguments)}},164:function(e,t,r){"use strict";var o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"navheader"},[r("div",{staticClass:"navheader-logo fl",class:e.isCollapse?"moveleft":"moveright"}),e._v(" "),r("div",{staticClass:"navheader-item fl"},[r("a",{staticClass:"itemlink",on:{click:e.handleCollapse}},[r("i",{staticClass:"iconfont",class:e.isCollapse?"icon-zhankai":"icon-shouqi"})]),e._v(" "),r("a",{class:["itemlink","bottom","menu-all","/memberSummary"==e.summaryName?"current-module":""],attrs:{href:e.origin+"/report/#/memberSummary"}},[e._v("总览")]),e._v(" "),r("div",{class:["itemlink-gic","bottom","gic-web"==e.pathName?"current-module":""],on:{mouseover:e.showChild,mouseout:e.hideChild}},[e._v("\n GIC商户后台\n "),r("i",{staticClass:"el-icon-arrow-down arrow-icon-down"}),e._v(" "),r("div",{staticClass:"itempanel",style:{display:e.showItem},attrs:{id:"itempanel"}},[r("div",{staticClass:"gicnavlink"},[r("div",{staticClass:"containers"},e._l(e.menuHeadRouter,function(t,o){return r("div",{key:o,staticClass:"containers-item"},[r("ul",{staticClass:"containers-ul"},[r("h1",{staticClass:"containers-title"},[e._v(e._s(t.menuName))]),e._v(" "),e._l(t.children,function(t,o){return[t.isRouter?r("li",{key:o,class:["containers-listlik",e.activeCode==t.menuCode?"current-rout":""],on:{click:function(r){e.toRouter(t.menuUrl,t.menuName,t.menuCode)}}},[e._v(e._s(t.menuName))]):e._e(),e._v(" "),t.isRouter?e._e():r("a",{key:o,staticClass:"containers-listlik containers-listlik-a",attrs:{href:t.menuUrl,target:1==t.target?"_blank":""}},[e._v(e._s(t.menuName))])]})],2)])}),0)]),e._v(" "),e._m(0)])]),e._v(" "),e._l(e.menuHead,function(t){return[r("a",{class:["itemlink","bottom","menu-mall",e.pathName==t.project?"current-module":""],attrs:{href:e.origin+t.menuUrl,target:1==t.target?"_blank":""}},[e._v(e._s(t.menuName))])]}),e._v(" "),r("div",{staticClass:"navuserinfo fr"},[r("el-popover",{staticStyle:{"min-width":"95px"},attrs:{placement:"bottom",title:"",width:"95",trigger:"hover","popper-class":"user-header-pop"}},[r("ul",{staticClass:"navsuerwrap"},[r("li",{staticClass:"useritem",on:{click:e.toUserInfo}},[r("a",{staticClass:"usertext"},[e._v("账户信息")])]),e._v(" "),r("li",{staticClass:"useritem",on:{click:e.toModifyInfo}},[r("a",{staticClass:"usertext"},[e._v("修改密码")])]),e._v(" "),r("li",{staticClass:"useritem loginout",on:{click:e.toLoginOut}},[r("a",{staticClass:"usertext"},[e._v("退出登录")])])]),e._v(" "),r("a",{staticClass:"navusername",attrs:{slot:"reference"},slot:"reference"},[e._v(e._s(e.userInfo.realName)+"\n "),r("i",{staticClass:"el-icon-arrow-down arrowico"})])])],1),e._v(" "),2===e.accountStatus||3===e.accountStatus?r("div",{staticClass:"navheader__status fr"},[r("el-tooltip",{attrs:{effect:"dark",placement:"bottom-start","popper-class":"navheader__status--tooltip"}},[r("div",{staticClass:"w200",attrs:{slot:"content"},slot:"content"},[e._v("\n "+e._s(2===e.accountStatus?"当前账户已欠费,授信欠费额度5000,如不及时充值将无法使用营销管理-短信营销、营销管理-智能营销、双向呼叫、短信语音验证码等模块,为了保障您的权益,请尽快充值。":"账户余额超出欠费额度,当前无法使用营销管理-短信营销、营销管理-智能营销、双向呼叫、短信语音验证码等模块,为了保障您的权益,请尽快充值。")+"\n ")]),e._v(" "),r("el-button",{attrs:{size:"medium",type:2===e.accountStatus?"warning":"danger",plain:"",round:""},on:{click:e.toRecharge}},[e._v(e._s(2===e.accountStatus?"账户已欠费":"账户异常"))])],1)],1):e._e()],2),e._v(" "),r("el-dialog",{staticClass:"user-form-dialog",attrs:{title:"账户信息",visible:e.userFormVisible,width:"425px","modal-append-to-body":!1,"before-close":e.userFormClose}},[r("el-form",{ref:"userForm",attrs:{model:e.userInfoForm,"before-close":e.userFormClose,rules:e.userFormRules}},[r("el-form-item",{attrs:{label:"姓名","label-width":e.formLabelWidth,prop:"realName"}},[r("el-input",{model:{value:e.userInfoForm.realName,callback:function(t){e.$set(e.userInfoForm,"realName",t)},expression:"userInfoForm.realName"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"性别","label-width":e.formLabelWidth,prop:"gender"}},[r("el-radio-group",{model:{value:e.userInfoForm.gender,callback:function(t){e.$set(e.userInfoForm,"gender",t)},expression:"userInfoForm.gender"}},[r("el-radio",{attrs:{label:1}},[e._v("男")]),e._v(" "),r("el-radio",{attrs:{label:2}},[e._v("女")])],1)],1),e._v(" "),r("el-form-item",{attrs:{label:"员工代码","label-width":e.formLabelWidth,prop:"clerkCode"}},[r("el-input",{model:{value:e.userInfoForm.clerkCode,callback:function(t){e.$set(e.userInfoForm,"clerkCode",t)},expression:"userInfoForm.clerkCode"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"手机号码","label-width":e.formLabelWidth,prop:"phoneNumber"}},[r("el-input",{attrs:{type:"text",maxlength:11},model:{value:e.userInfoForm.phoneNumber,callback:function(t){e.$set(e.userInfoForm,"phoneNumber",t)},expression:"userInfoForm.phoneNumber"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"职位","label-width":e.formLabelWidth,prop:"positionName"}},[r("el-input",{model:{value:e.userInfoForm.positionName,callback:function(t){e.$set(e.userInfoForm,"positionName",t)},expression:"userInfoForm.positionName"}})],1)],1),e._v(" "),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{on:{click:e.cancelModUserInfo}},[e._v("取 消")]),e._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:function(t){e.confirmModUserInfo("userForm")}}},[e._v("确 定")])],1)],1),e._v(" "),r("el-dialog",{staticClass:"pass-form-dialog",attrs:{title:"修改密码",visible:e.passFormVisible,width:"425px","modal-append-to-body":!1,"before-close":e.passFormClose}},[r("el-form",{ref:"passForm",attrs:{model:e.passwordForm,"before-close":e.passFormClose,rules:e.passFormRules}},[r("el-form-item",{attrs:{label:"旧密码","label-width":e.formLabelWidth,prop:"oldPassword"}},[r("el-input",{attrs:{"auto-complete":"off"},model:{value:e.passwordForm.oldPassword,callback:function(t){e.$set(e.passwordForm,"oldPassword",t)},expression:"passwordForm.oldPassword"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"新密码","label-width":e.formLabelWidth,prop:"newPassword"}},[r("el-input",{model:{value:e.passwordForm.newPassword,callback:function(t){e.$set(e.passwordForm,"newPassword",t)},expression:"passwordForm.newPassword"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"确认密码","label-width":e.formLabelWidth,prop:"confirmNewPassword"}},[r("el-input",{model:{value:e.passwordForm.confirmNewPassword,callback:function(t){e.$set(e.passwordForm,"confirmNewPassword",t)},expression:"passwordForm.confirmNewPassword"}})],1)],1),e._v(" "),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{on:{click:e.cancelModPass}},[e._v("取 消")]),e._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:function(t){e.confirmModPass("passForm")}}},[e._v("确 定")])],1)],1)],1)},a=[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"gicnavarrow"},[r("span",{staticClass:"arrow"})])}],i={render:o,staticRenderFns:a};t.a=i},25:function(e,t){e.exports=function(e,t){for(var r=[],o={},a=0;a<t.length;a++){var i=t[a],n=i[0],s=i[1],l=i[2],d=i[3],c={id:e+":"+a,css:s,media:l,sourceMap:d};o[n]?o[n].parts.push(c):r.push(o[n]={id:n,parts:[c]})}return r}},3:function(e,t){var r=e.exports={version:"2.6.2"};"number"==typeof __e&&(__e=r)},31:function(e,t,r){"use strict";var o=r(12),a=r(13),i={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},n=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:o.encode,encodeValuesOnly:!1,serializeDate:function(e){return n.call(e)},skipNulls:!1,strictNullHandling:!1},l=function e(t,r,a,i,n,l,d,c,u,f,p,m){var h=t;if("function"==typeof d)h=d(r,h);else if(h instanceof Date)h=f(h);else if(null===h){if(i)return l&&!m?l(r,s.encoder):r;h=""}if("string"==typeof h||"number"==typeof h||"boolean"==typeof h||o.isBuffer(h)){if(l){return[p(m?r:l(r,s.encoder))+"="+p(l(h,s.encoder))]}return[p(r)+"="+p(String(h))]}var b=[];if(void 0===h)return b;var g;if(Array.isArray(d))g=d;else{var v=Object.keys(h);g=c?v.sort(c):v}for(var w=0;w<g.length;++w){var x=g[w];n&&null===h[x]||(b=Array.isArray(h)?b.concat(e(h[x],a(r,x),a,i,n,l,d,c,u,f,p,m)):b.concat(e(h[x],r+(u?"."+x:"["+x+"]"),a,i,n,l,d,c,u,f,p,m)))}return b};e.exports=function(e,t){var r=e,n=t?o.assign({},t):{};if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");var d=void 0===n.delimiter?s.delimiter:n.delimiter,c="boolean"==typeof n.strictNullHandling?n.strictNullHandling:s.strictNullHandling,u="boolean"==typeof n.skipNulls?n.skipNulls:s.skipNulls,f="boolean"==typeof n.encode?n.encode:s.encode,p="function"==typeof n.encoder?n.encoder:s.encoder,m="function"==typeof n.sort?n.sort:null,h=void 0!==n.allowDots&&n.allowDots,b="function"==typeof n.serializeDate?n.serializeDate:s.serializeDate,g="boolean"==typeof n.encodeValuesOnly?n.encodeValuesOnly:s.encodeValuesOnly;if(void 0===n.format)n.format=a.default;else if(!Object.prototype.hasOwnProperty.call(a.formatters,n.format))throw new TypeError("Unknown format option provided.");var v,w,x=a.formatters[n.format];"function"==typeof n.filter?(w=n.filter,r=w("",r)):Array.isArray(n.filter)&&(w=n.filter,v=w);var y=[];if("object"!=typeof r||null===r)return"";var k;k=n.arrayFormat in i?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var _=i[k];v||(v=Object.keys(r)),m&&v.sort(m);for(var N=0;N<v.length;++N){var C=v[N];u&&null===r[C]||(y=y.concat(l(r[C],C,_,c,u,f?p:null,w,m,h,b,x,g)))}var F=y.join(d),j=!0===n.addQueryPrefix?"?":"";return F.length>0?j+F:""}},32:function(e,t,r){"use strict";var o=r(12),a=Object.prototype.hasOwnProperty,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:o.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},n=function(e,t){for(var r={},o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,n=t.parameterLimit===1/0?void 0:t.parameterLimit,s=o.split(t.delimiter,n),l=0;l<s.length;++l){var d,c,u=s[l],f=u.indexOf("]="),p=-1===f?u.indexOf("="):f+1;-1===p?(d=t.decoder(u,i.decoder),c=t.strictNullHandling?null:""):(d=t.decoder(u.slice(0,p),i.decoder),c=t.decoder(u.slice(p+1),i.decoder)),a.call(r,d)?r[d]=[].concat(r[d]).concat(c):r[d]=c}return r},s=function(e,t,r){for(var o=t,a=e.length-1;a>=0;--a){var i,n=e[a];if("[]"===n)i=[],i=i.concat(o);else{i=r.plainObjects?Object.create(null):{};var s="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,l=parseInt(s,10);!isNaN(l)&&n!==s&&String(l)===s&&l>=0&&r.parseArrays&&l<=r.arrayLimit?(i=[],i[l]=o):i[s]=o}o=i}return o},l=function(e,t,r){if(e){var o=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/,n=/(\[[^[\]]*])/g,l=i.exec(o),d=l?o.slice(0,l.index):o,c=[];if(d){if(!r.plainObjects&&a.call(Object.prototype,d)&&!r.allowPrototypes)return;c.push(d)}for(var u=0;null!==(l=n.exec(o))&&u<r.depth;){if(u+=1,!r.plainObjects&&a.call(Object.prototype,l[1].slice(1,-1))&&!r.allowPrototypes)return;c.push(l[1])}return l&&c.push("["+o.slice(l.index)+"]"),s(c,t,r)}};e.exports=function(e,t){var r=t?o.assign({},t):{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.ignoreQueryPrefix=!0===r.ignoreQueryPrefix,r.delimiter="string"==typeof r.delimiter||o.isRegExp(r.delimiter)?r.delimiter:i.delimiter,r.depth="number"==typeof r.depth?r.depth:i.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:i.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:i.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:i.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:i.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:i.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:i.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:i.strictNullHandling,""===e||null===e||void 0===e)return r.plainObjects?Object.create(null):{};for(var a="string"==typeof e?n(e,r):e,s=r.plainObjects?Object.create(null):{},d=Object.keys(a),c=0;c<d.length;++c){var u=d[c],f=l(u,a[u],r);s=o.merge(s,f,r)}return o.compact(s)}},77:function(e,t,r){"use strict";var o=r(162),a=r.n(o),i=r(1),n=r.n(i);t.a={name:"vue-gic-header",props:["menuRouter","collapseFlag","projectName"],data:function(){return{repProjectName:"gic-web",activeCode:"",pathName:"",showItem:"none",summaryName:"",origin:"",cliqueFlag:"",isCollapse:!1,menuHeadRouter:[],menuHead:[],userInfo:{realName:"",gender:"",clerkCode:"",phoneNumber:"",positionName:""},userFormVisible:!1,formLabelWidth:"100px",userInfoForm:{realName:"",gender:"",clerkCode:"",phoneNumber:"",positionName:""},userFormRules:{realName:[{required:!0,message:"请输入姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],clerkCode:[{required:!0,message:"请输入员工代码",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[34578]\d{9}$/,message:"手机号码格式不正确"}],positionName:[{required:!0,message:"请输入职位",trigger:"blur"}]},passFormVisible:!1,passwordForm:{oldPassword:"",newPassword:"",confirmNewPassword:""},passFormRules:{oldPassword:[{required:!0,message:"请输入旧密码",trigger:"blur"}],newPassword:[{required:!0,message:"请输入新密码",trigger:"blur"}],confirmNewPassword:[{required:!0,message:"请输入确认密码",trigger:"blur"}]},baseUrl:"",routePathName:"",accountStatus:1}},beforeMount:function(){var e=window.location.origin;"-1"!=e.indexOf("localhost")?this.baseUrl="http://gicdev.demogic.com":this.baseUrl=e},methods:{getLeftMenu:function(){var e=this,t={project:this.repProjectName,path:this.routePathName,requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/get-current-memu-data",n.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return void(e.activeCode=r.result.level2.menuCode);e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:error.message})})},showChild:function(){this.showItem="block"},hideChild:function(){this.showItem="none"},setNewData:function(e){var t=[],r=[];e.forEach(function(e){e.parentCode?r.push(e):t.push(e)}),t.forEach(function(e){e.children=[],r.forEach(function(t){t.parentCode==e.menuCode&&e.children.push(t)})}),this.menuHeadRouter=t},handleCollapse:function(){this.isCollapse=!this.isCollapse,this.$emit("collapseTag",this.isCollapse)},toUserInfo:function(){var e=JSON.parse(a()(this.userInfo));this.userInfoForm.realName=e.realName,this.userInfoForm.gender=parseInt(e.gender),this.userInfoForm.clerkCode=e.clerkCode,this.userInfoForm.phoneNumber=e.phoneNumber,this.userInfoForm.positionName=e.positionName,this.userFormVisible=!0},modifyUserInfo:function(){var e=this,t={realName:this.userInfoForm.realName,gender:this.userInfoForm.gender,clerkCode:this.userInfoForm.clerkCode,phoneNumber:this.userInfoForm.phoneNumber,positionName:this.userInfoForm.positionName,requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/modify-user-info",n.a.stringify(t)).then(function(t){var r=t.data;0==r.errorCode?(e.userFormVisible=!1,e.$message({message:"修改成功",type:"success"})):e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})})},confirmModUserInfo:function(e){var t=this;this.$refs[e].validate(function(e){e&&t.modifyUserInfo()})},cancelModUserInfo:function(){this.userFormVisible=!1},toModifyInfo:function(){this.passFormVisible=!0,this.passwordForm.newPassword="",this.passwordForm.oldPassword="",this.passwordForm.confirmNewPassword=""},modifyUserPassword:function(){var e=this,t={oldPassword:this.passwordForm.oldPassword,newPassword:this.passwordForm.newPassword,requestProject:this.repProjectName};return this.passwordForm.oldPassword.trim()&&this.passwordForm.newPassword.trim()&&this.passwordForm.confirmNewPassword.trim()?this.passwordForm.newPassword.trim()!=this.passwordForm.confirmNewPassword.trim()?(this.$message.error({duration:1e3,message:"两次密码输入不一致!"}),!1):void this.axios.post(this.baseUrl+"/api-auth/modify-password",n.a.stringify(t)).then(function(t){var r=t.data;0==r.errorCode?(e.passFormVisible=!1,e.$message({message:"修改成功",type:"success"}),e.postLoginOut()):e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})}):(this.$message.error({duration:1e3,message:"请输入密码"}),!1)},confirmModPass:function(e){var t=this;this.$refs[e].validate(function(e){e||t.modifyUserPassword()})},cancelModPass:function(){this.passFormVisible=!1},userFormClose:function(){this.userFormVisible=!1},passFormClose:function(){this.passFormVisible=!1},toLoginOut:function(){var e=this;this.$confirm("确认退出吗?","提示",{type:"warning"}).then(function(){e.postLoginOut()}).catch(function(){e.$message.error({duration:1e3,message:error.message})})},postLoginOut:function(){var e=this;this.axios.post(this.baseUrl+"/api-auth/do-logout",{}).then(function(t){var r=t.data;if(0==r.errorCode)return e.$message({message:"退出成功",type:"success"}),void(window.location.href=window.location.origin+"/gic-web/#/");e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})})},isClique:function(){var e=this,t={requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/is-relevance-clique",n.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return void(e.cliqueFlag=r.result);e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})})},toRouter:function(e,t,r){this.showItem="none",this.activeCode=r;var o={path:"/"+e,name:t};this.$emit("toRouterView",o)},getUserInfo:function(){var e=this,t={requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/get-login-user-info",n.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return e.userInfo.realName=r.result.realName,e.userInfo.gender=r.result.clerkGender,e.userInfo.clerkCode=r.result.clerkCode,e.userInfo.phoneNumber=r.result.loginName,e.userInfo.positionName=r.result.positionName,void(document.title=r.result.enterpriseDTO.brandName||r.result.enterpriseDTO.enterpriseName);e.$message.error({duration:1e3,message:r.message})}).catch(function(e){this.$message.error({duration:1e3,message:e.message})})},getHeaderMenu:function(){var e=this,t={project:this.repProjectName,requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/login-clerk-menu",n.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return e.menuHeadRouter=r.result,void e.getLeftMenu();e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})})},getMenu:function(){var e=this,t={requestProject:this.repProjectName};this.axios.post(this.baseUrl+"/api-auth/login-clerk-top-project",n.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return void(e.menuHead=r.result);e.$message.error({duration:1e3,message:r.message})}).catch(function(t){e.$message.error({duration:1e3,message:t.message})})},getAccountStateInfo:function(){var e=this;this.axios.post(this.baseUrl+"/api-marketing/account-state-info",n.a.stringify({requestProject:"gic-web"})).then(function(t){0===t.data.errorCode&&(e.accountStatus=t.data.result.status||1,localStorage.setItem("accountStatus",e.accountStatus))})},toRecharge:function(){window.location.href="/marketing/#/recharge/do"}},watch:{$route:{handler:function(e,t){this.summaryName=e.path,"-1"!=this.summaryName.indexOf("memberSummary")&&(this.activeCode="")},deep:!0},collapseFlag:function(e,t){this.isCollapse=e},userInfo:function(e,t){this.userInfo=e},projectName:function(e,t){this.repProjectName=e||"gic-web"}},mounted:function(){this.summaryName=this.$route.path,this.routePathName=window.location.hash.split("/")[1],-1!=this.routePathName.indexOf("?")&&(this.routePathName=this.routePathName.split("?")[0]),-1!=this.routePathName.indexOf("/")&&(this.routePathName=this.routePathName.split("/")[0]),this.repProjectName=this.projectName||"gic-web",this.pathName=this.repProjectName,this.isCollapse=this.collapseFlag,this.getUserInfo(),this.getHeaderMenu(),this.origin=window.location.origin,this.getMenu(),this.getAccountStateInfo()}}}})});
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.dab2952454dc4742e476d242448b0300.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.07.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.15e47b251ca9f81106a4.js></script><script type=text/javascript src=/marketing/static/js/main.91b99d7f8d8cf4bd2ce2.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/marketing/static/css/main.d03563e9478456e92ff7e590f71edca5.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.07.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script type=text/javascript src=/marketing/static/js/manifest.0a85049e489e85ac5f0a.js></script><script type=text/javascript src=/marketing/static/js/vendor.15e47b251ca9f81106a4.js></script><script type=text/javascript src=/marketing/static/js/main.65f9180c778361a67583.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
import vueGicAsideMenu from './component.vue'; // 导入组件
const vueGicAside = {
install(Vue, options) {
Vue.component(vueGicAsideMenu.name, vueGicAsideMenu); // vueGicAsideMenu.name 组件的name属性
// 类似通过 this.$xxx 方式调用插件的 其实只是挂载到原型上而已
// Vue.prototype.$xxx // 最终可以在任何地方通过 this.$xxx 调用
// 虽然没有明确规定用$开头 但是大家都默认遵守这个规定
}
};
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.use(vueGicAside);
}
export default vueGicAside;
// export {
// vueGicAsideMenu
// }
......@@ -2,7 +2,7 @@
<div class="layout-container" :style="{ height: bodyHeight + 'px' }">
<vue-gic-header class="user-header-pop" style="z-index: 1999;" :projectName="projectName" :collapseFlag="collapseFlag" @collapseTag="collapseTagHandler" @toRouterView="toRouterView"></vue-gic-header>
<div class="layout">
<vue-gic-aside-menu class="layout-left" v-if="asideShow" :projectName="projectName" :leftModulesName="leftModulesName" :collapseFlag.sync="collapseFlag"></vue-gic-aside-menu>
<aside-menu class="layout-left" v-if="asideShow" :projectName="projectName" :leftModulesName="leftModulesName" :collapseFlag.sync="collapseFlag"></aside-menu>
<div class="layout-right" :class="[{ asideShow: asideShow }, { collapseFlag: asideShow && collapseFlag }]">
<div class="layout-title">
<el-breadcrumb class="dm-breadcrumb" separator="/">
......@@ -25,7 +25,11 @@
</div>
</template>
<script>
import asideMenu from '../aside-menu';
export default {
components: {
asideMenu
},
data() {
return {
collapseFlag: false,
......
......@@ -23,7 +23,7 @@
<el-table-column :show-overflow-tooltip="true" :min-width="100" align="left" prop="subName" label="备注名"></el-table-column>
<el-table-column prop="" label="有效期" :min-width="100" :show-overflow-tooltip="false">
<template slot-scope="scope">
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formateDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formateDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formatDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formatDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 1">领取后{{ (scope.row.startDay === 0 ? '当' : scope.row.startDay) + '天,有效天数' + scope.row.limitDay }}</div>
</template>
</el-table-column>
......@@ -45,7 +45,7 @@
<script>
import { getCardList } from '@/service/api/commonApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
props: {
activeId: {
......@@ -90,7 +90,7 @@ export default {
},
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
listParams: {
searchParam: '',
currentPage: 1,
......
......@@ -54,7 +54,7 @@
<script>
import { loadImgTextList, deleteImageText } from '@/service/api/wechatApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import syncImgtext from './syncImgtext';
export default {
props: {
......@@ -112,8 +112,8 @@ export default {
this.textImgList = res.result.result || [];
this.total = res.result.totalCount;
this.textImgList.map(v => {
v.createTimeStr = formateDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm');
v.updateTimeStr = formateDateTimeByType(v.updateTime, 'yyyy-MM-dd-HH-mm');
v.createTimeStr = formatDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm');
v.updateTimeStr = formatDateTimeByType(v.updateTime, 'yyyy-MM-dd-HH-mm');
if (this.activeId === v.imageTextWechatId) {
this.selectedData = v;
}
......
......@@ -59,8 +59,8 @@ export default {
},
submit() {
this.popoverShow = false;
console.log(this.newModel);
this.$emit('commit-store', this.newModel);
this.$store.commit('mutations_setStoreObj', this.newModel);
},
close() {
this.popoverShow = false;
......
......@@ -3,7 +3,7 @@
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import config from '@/config';
let baseUrl = window.location.protocol + '//' + window.location.host || '';
// if (config.api === '') {
......@@ -180,7 +180,7 @@ export default {
if (cardticket.cardEffectiveMode) {
html += `<p style="font-size: 12px; color:white;">领取后${cardticket.startDay} - ${cardticket.startDay + cardticket.limitDay}天</p>`;
} else {
html += `<p style="font-size: 12px; color:white;">${formateDateTimeByType(cardticket.beginDate, 'yyyy-MM-dd')}${formateDateTimeByType(cardticket.endDate, 'yyyy-MM-dd')}</p>`;
html += `<p style="font-size: 12px; color:white;">${formatDateTimeByType(cardticket.beginDate, 'yyyy-MM-dd')}${formatDateTimeByType(cardticket.endDate, 'yyyy-MM-dd')}</p>`;
}
html += '</div>';
......
......@@ -4,9 +4,7 @@ import router from './router';
import store from './store';
import { axios } from './service/api/index';
import directives from './directives';
import vueGicAsideMenu from '@/components/aside-menu';
Vue.config.productionTip = false;
Vue.use(vueGicAsideMenu);
Vue.prototype.axios = axios;
Vue.prototype.axios.withCredentials = true;
Object.keys(directives).map(item => Vue.directive(item, directives[item]));
......
import Vue from 'vue';
export default {
methods: {
nonnegative(val) {
if (val < 0) {
val = 0;
this.$tips({ type: 'warning', message: '不能为负值' });
}
}
}
};
......@@ -58,7 +58,7 @@ export default {
name: '大转盘查看',
component: dzpForm,
meta: {
type: 'detail',
type: 'info',
path: '/game/dzp'
}
},
......@@ -101,7 +101,7 @@ export default {
name: '刮刮卡详情',
component: ggkForm,
meta: {
type: 'detail',
type: 'info',
path: '/game/ggk'
}
},
......
// 短信营销
import message from '../../views/message';
import addRecord from '../../views/message/addRecord';
import form from '../../views/message/form';
import record from '../../views/message/record';
import temp from '../../views/message/temp';
import addTemp from '../../views/message/addTemp';
......@@ -50,7 +50,7 @@ export default {
{
path: 'record/add',
name: '新建群发',
component: addRecord,
component: form,
meta: {
path: '/message/record'
}
......
import test from '@/test';
import staticCom from '@/test/example/static-com';
import marketingEvent from '@/test/example/marketing-event';
import storeNew from '@/test/example/store-new';
import card from '@/test/example/card';
import linkTools from '@/test/example/link-tools';
import dmTable from '@/test/example/dm-table';
import wxText from '@/test/example/wx-text';
export default {
path: '/test',
name: '测试组件',
component: test,
redirect: '/test/marketingEvent',
children: [
{
path: 'staticcom',
name: '静态组件',
component: staticCom
},
{
path: 'storeNew',
name: '门店组件',
component: storeNew
},
{
path: 'marketingEvent',
name: '营销事件组件',
component: marketingEvent
},
{
path: 'card',
name: '卡券弹窗组件',
component: card
},
{
path: 'linktools',
name: '链接小工具',
component: linkTools
},
{
path: 'table',
name: '表格封装',
component: dmTable
},
{
path: 'wxtext',
name: '微信文本编辑器',
component: wxText
}
]
};
......@@ -4,8 +4,6 @@ import page403 from '@/views/error/403';
import page404 from '@/views/error/404';
import page500 from '@/views/error/500';
// import test from './modules/test';
//微信营销
import wechat from './modules/wechat';
//游戏营销
......@@ -55,5 +53,4 @@ export default [
name: '未知领域',
component: page404
}
// test
];
......@@ -59,10 +59,6 @@ const mutations = {
}
}
},
mutations_setStoreObj(state, val) {
state.storeObj = val;
},
aside_handler(state, val) {
state.asideShow = val;
},
......
......@@ -31,7 +31,7 @@ export const fillZero = num => {
* @param {*时间} date
* @param {*转换的格式} type
*/
export const formateDateTimeByType = (date, type = 'yyyy-MM-dd-HH-mm-ss') => {
export const formatDateTimeByType = (date, type = 'yyyy-MM-dd-HH-mm-ss') => {
if (!date) {
return '';
}
......
<template>
<section class="dm-wrap">
<div class="pb22 clearfix">
<el-date-picker v-model="dateTime" :picker-options="pickerOptions" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="callLogList"></el-date-picker>
<el-select class="dm-select" clearable="" v-model="listParams.callStatus" placeholder="选择通话状态" @change="callLogList">
<el-date-picker v-model="dateTime" :picker-options="pickerOptions" class="w250" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getTableList"></el-date-picker>
<el-select class="dm-select" clearable="" v-model="listParams.callStatus" placeholder="选择通话状态" @change="getTableList">
<el-option v-for="(v, i) in callStatusOption" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-select class="dm-select" clearable v-model="listParams.telTaskType" placeholder="选择类型" @change="callLogList">
<el-select class="dm-select" clearable v-model="listParams.telTaskType" placeholder="选择类型" @change="getTableList">
<el-option v-for="(v, i) in telTaskTypeOption" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-input v-model="listParams.phoneNumber" class="w200" placeholder="输入号码查询" clearable @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-input v-model="listParams.phoneNumber" class="w200" placeholder="输入号码查询" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading">
<el-table-column align="left" width="160" prop="callBeginTime" label="呼叫时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.callBeginTime, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.callBeginTime, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column align="left" min-width="150" prop="clerkName" label="主叫">
......@@ -60,15 +60,16 @@
</template>
<script>
import { callLogList } from '@/service/api/calllogApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import tableMethods from '@/mixins/tableMethods.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
name: 'call-log',
mixins: [filterAvatar],
mixins: [filterAvatar, tableMethods],
data() {
const _vm = this;
const that = this;
return {
formateDateTimeByType,
formatDateTimeByType,
defaultAvatar: require('../../assets/img/head_default.png'),
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
callStatusOption: [{ value: '', label: '全部' }, { value: 1, label: '未接通' }, { value: 2, label: '接通' }],
......@@ -80,9 +81,9 @@ export default {
pickerOptions: {
onPick({ maxDate, minDate }) {
if (new Date(maxDate).getTime() - new Date(minDate).getTime() > 90 * 24 * 60 * 60 * 1000) {
_vm.$tips({ type: 'warning', message: '时间范围不能大于90天' });
_vm.$nextTick(_ => {
_vm.dateTime = ['', ''];
that.$tips({ type: 'warning', message: '时间范围不能大于90天' });
that.$nextTick(_ => {
that.dateTime = ['', ''];
});
}
},
......@@ -95,27 +96,14 @@ export default {
created() {
this.$store.commit('aside_handler', false);
this.$store.commit('mutations_breadcrumb', [{ name: '会员管理', path: '' }, { name: '通话记录', path: '' }]);
this.callLogList();
this.getTableList();
},
methods: {
/**表格方法 */
search() {
this.listParams.currentPage = 1;
this.callLogList();
},
handleSizeChange(val) {
this.listParams.pageSize = val;
this.callLogList();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.callLogList();
},
//列表请求
async callLogList() {
async getTableList() {
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
......
......@@ -26,7 +26,7 @@
</template>
<script>
import { cardChannelAnalysis, cardTrendEchart } from '@/service/api/cardApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import VeLine from 'v-charts/lib/line.common';
import G2 from '@antv/g2';
import DataSet from '@antv/data-set';
......@@ -37,7 +37,7 @@ export default {
xAxisType: 'time'
};
return {
formateDateTimeByType,
formatDateTimeByType,
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
dateTime2: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
loading: false,
......@@ -130,8 +130,8 @@ export default {
endTime: ''
};
if (this.dateTime2) {
params.beginTime = formateDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
params.endTime = formateDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
params.beginTime = formatDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
params.endTime = formatDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
} else {
params.beginTime = '';
params.endTime = '';
......@@ -150,8 +150,8 @@ export default {
//加载图表
async cardTrendEchart() {
if (this.dateTime) {
this.chartParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.chartParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.chartParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.chartParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.chartParams.beginTime = '';
this.chartParams.endTime = '';
......@@ -188,6 +188,7 @@ export default {
console.log(err);
}
},
// 画图方法
initCharts(data) {
var chart = new G2.Chart({
container: 'mountNode',
......
......@@ -4,7 +4,7 @@
<el-input v-model="listParams.searchParam" class="w300" placeholder="请输入订单信息" @change="search"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<span class="fz12 gray pl20">*仅显示满足核销条件的订单 </span>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" @row-click="chooseCard">
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" @row-click="rowClick">
<el-table-column :show-overflow-tooltip="false" :width="60" align="left" prop="orderId" label="选择">
<template slot-scope="scope">
<div class="sms-record_left label-hidden">
......@@ -25,8 +25,10 @@
<script>
import { listCoupcardOrder, writeOffCard } from '@/service/api/cardApi.js';
import tableMethods from '@/mixins/tableMethods.js';
export default {
name: 'card-order',
mixins: [tableMethods],
props: {
obj: {
type: Object,
......@@ -63,24 +65,12 @@ export default {
show(val) {
this.listParams.coupLogId = this.obj.coupLogId;
this.listParams.memberId = this.obj.memberId;
if (val) this.listCoupcardOrder();
if (val) this.getTableList();
}
},
methods: {
search() {
this.listParams.currentPage = 1;
this.listCoupcardOrder();
},
handleSizeChange(val) {
this.listParams.pageSize = val;
this.listCoupcardOrder();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.listCoupcardOrder();
},
// 加载列表
async listCoupcardOrder() {
async getTableList() {
this.loading = true;
try {
let res = await listCoupcardOrder(this.listParams);
......@@ -94,7 +84,8 @@ export default {
close() {
this.$emit('update:show', false);
},
chooseCard(row) {
// 点击行选择卡券
rowClick(row) {
this.selectedId = row.orderId;
this.selectedObj = row;
},
......
......@@ -8,7 +8,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column :show-overflow-tooltip="true" width="160" align="left" prop="createTime" label="操作时间">
<template slot-scope="scope">
<p>{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
<p>{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" width="160" align="left" prop="orderNumber" label="订单流水号">
......@@ -61,14 +61,14 @@
</template>
<script>
import { coupcardCheckList, exportCoupcardCheckExcel } from '@/service/api/cardApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import talbeMethods from '@/mixins/tableMethods.js';
export default {
name: 'card-check',
mixins: [talbeMethods],
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
defaultAvatar: require('../../assets/img/head_default.png'),
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
listParams: {
......@@ -120,8 +120,8 @@ export default {
/**-------辅助方法---------- */
dataTimeFormat() {
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
......
/**
* 卡券新增编辑
*/
import dmUploadImg from '../../components/upload/img';
import dmUploadImg from '@/components/upload/img';
import imgTextDrag from './partials/imgtext-drag';
import { formateDateTimeByType } from '../../utils/index.js';
import { cardGetShelfs, getCardDetail, saveUpdateCard, copyCardDetailService } from '../../service/api/cardApi.js';
import dmGoodsInput from '../../components/goods-input/index.vue';
import { formatDateTimeByType } from '@/utils/index.js';
import { cardGetShelfs, getCardDetail, saveUpdateCard, copyCardDetailService } from '@/service/api/cardApi.js';
import dmGoodsInput from '@/components/goods-input/index.vue';
const initForm = {
auditingStatus: '',
cardType: 0, // 1.卡券类型: 抵金券: 0; 折扣券: 1; 兑换券: 2
......@@ -468,8 +468,8 @@ export default {
if (!this.form.dateTime) {
card.beginDate = card.endDate = '';
} else {
card.beginDate = formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd');
card.endDate = formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd');
card.beginDate = formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd');
card.endDate = formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd');
}
} else {
card.startDay = this.form.startDay || 0;
......
......@@ -147,7 +147,7 @@
import { checkPutonMemberIds, saveUpdatePutonCard, getCardDetail, getCardPutonDetail } from '@/service/api/cardApi.js';
import { listTemplateVariables } from '@/service/api/msgApi.js';
import { sceneSettingList } from '@/service/api/commonApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import itemCard from './partials/item-card.vue';
import varDialog from './partials/variables.vue';
export default {
......@@ -573,7 +573,7 @@ export default {
params.memberIds = this.form.openIds; // 指定会员:memberType = 1, 多个会员memberId用逗号拼接
}
if (this.form.putOnType) {
params.putOnTime = formateDateTimeByType(this.form.putOnTime, 'yyyy-MM-dd-HH-mm-ss');
params.putOnTime = formatDateTimeByType(this.form.putOnTime, 'yyyy-MM-dd-HH-mm-ss');
}
if (this.$route.meta.type === 'edit') {
params.coupCardPutOnId = this.$route.params.id; // 投放主键ID, 新建不传; 修改传
......
......@@ -9,10 +9,10 @@
<el-button @click="sortList('col4')">核销率<i class="el-icon--right" :class="listParams.sortBy === 'col4' ? 'el-icon-caret-top' : listParams.sortBy === 'col4 desc' ? 'el-icon-caret-bottom' : 'el-icon-d-caret'"></i></el-button>
<el-button @click="sortList('col5')">核销额<i class="el-icon--right" :class="listParams.sortBy === 'col5' ? 'el-icon-caret-top' : listParams.sortBy === 'col5 desc' ? 'el-icon-caret-bottom' : 'el-icon-d-caret'"></i></el-button>
</el-button-group>
<el-select class="dm-select" v-model="listParams.cardType" placeholder="选择卡券类型" @change="cardPageList">
<el-select class="dm-select" v-model="listParams.cardType" placeholder="选择卡券类型" @change="refresh">
<el-option v-for="(item, index) in cardTypeOptions" :key="index" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input v-model="listParams.searchParam" class="w200 vertical-middle" placeholder="输入卡券名称/备注" clearable @change="cardPageList"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-input v-model="listParams.searchParam" class="w200 vertical-middle" placeholder="输入卡券名称/备注" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button class="fr" type="primary" @click="$router.push('/card/add')">新增卡券</el-button>
</div>
<ul class="clearfix" v-loading="loading" element-loading-text="拼命加载中">
......@@ -30,8 +30,10 @@
import { cardPageList, deleteCard } from '@/service/api/cardApi.js';
import adjustStock from './partials/adjust-Stock';
import cardItem from './partials/card-item';
import tableMethods from '@/mixins/tableMethods.js';
export default {
name: 'card-list',
mixins: [tableMethods],
data() {
return {
listParams: {
......@@ -57,7 +59,7 @@ export default {
},
created() {
window.scrollTo(0, 0);
this.cardPageList();
this.getTableList();
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '卡券营销', path: '' }, { name: '卡券库', path: '' }]);
},
methods: {
......@@ -73,17 +75,9 @@ export default {
sortList(val) {
this.sortFlag = !this.sortFlag;
this.listParams.sortBy = this.sortFlag ? val + ' desc' : val;
this.cardPageList();
this.refresh();
},
handleSizeChange(val) {
this.listParams.pageSize = val;
this.cardPageList();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.cardPageList();
},
async cardPageList() {
async getTableList() {
this.loading = true;
try {
let res = await cardPageList(this.listParams);
......@@ -110,7 +104,7 @@ export default {
async deleteCard(coupCardId) {
await deleteCard({ coupCardId });
this.$tips({ type: 'success', message: '删除成功!' });
this.cardPageList();
this.getTableList();
}
}
};
......
......@@ -48,6 +48,7 @@ export default {
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '卡券营销', path: '' }, { name: '卡券展架', path: '/card/shelf' }, { name: '卡券展架管理', path: '' }]);
},
methods: {
// 加载列表
async getTableList() {
this.loading = true;
try {
......
......@@ -26,7 +26,7 @@
<div class="card-item__detail">
<p class="ellipsis-100">
有效期:<span v-if="item.cardEffectiveMode !== 0">领取后第{{ item.startDay + 1 }}-{{ item.limitDay + item.startDay }}</span>
<span v-if="item.cardEffectiveMode === 0">{{ formateDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formateDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</span>
<span v-if="item.cardEffectiveMode === 0">{{ formatDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formatDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</span>
</p>
<p class="ellipsis-100">
使用条件:<el-popover placement="top-start" width="200" trigger="hover" :content="item.useCondition | filterUseCondition">
......@@ -61,7 +61,7 @@
<script>
import renderTemp from './status-render.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
props: {
item: {
......@@ -80,7 +80,7 @@ export default {
},
data() {
return {
formateDateTimeByType
formatDateTimeByType
};
},
components: {
......
......@@ -47,8 +47,9 @@
<script>
import draggable from 'vuedraggable';
import elUploadWrap from '../../../components/upload/el-upload-wrap';
import elUploadWrap from '@/components/upload/el-upload-wrap';
export default {
name: 'imgtext-drag',
props: {
list: Array,
disabled: {
......
......@@ -5,7 +5,7 @@
<div class="inline-block">
<p class="dm-card__item__title">{{ item.cardName }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode !== 0">领取后第{{ item.startDay + 1 }}-{{ item.limitDay + item.startDay }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formateDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formateDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formatDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formatDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
</div>
</div>
<p class="dm-card__item--bottom">
......@@ -15,12 +15,12 @@
</template>
<script>
import { formateDateTimeByType } from '@/utils';
import { formatDateTimeByType } from '@/utils';
export default {
name: 'item-card',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
loadErrorImg: require('../../../assets/img/loaderror.png')
};
},
......
......@@ -16,7 +16,7 @@
<el-table-column :show-overflow-tooltip="true" :min-width="100" align="left" prop="subName" label="备注名"></el-table-column>
<el-table-column prop="" label="有效期" :min-width="100" :show-overflow-tooltip="false">
<template slot-scope="scope">
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formateDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formateDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formatDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formatDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 1">领取后{{ (scope.row.startDay === 0 ? '当' : scope.row.startDay) + '天,有效天数' + scope.row.limitDay }}</div>
</template>
</el-table-column>
......@@ -44,7 +44,7 @@
<script>
import { cardPageList, saveShelfCard } from '@/service/api/cardApi.js';
import { throttle } from '@/utils/index.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'shelf-add',
props: {
......@@ -65,7 +65,7 @@ export default {
data() {
return {
throttle,
formateDateTimeByType,
formatDateTimeByType,
loading: false,
listParams: {
currentPage: 1,
......
......@@ -19,7 +19,7 @@
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="135" align="left" prop="receiveTime" label="领取时间" fixed="left">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm') }}
{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm') }}
</template>
</el-table-column>
<el-table-column width="80" align="left" prop="cardTypeExcel" label="卡券类型"> </el-table-column>
......@@ -30,7 +30,7 @@
<el-table-column min-width="100" align="left" prop="attentionStatus" label="关注状态"> </el-table-column>
<el-table-column width="135" align="left" prop="transferDate" label="关注时间">
<template slot-scope="scope">
{{ scope.row.transferDate ? formateDateTimeByType(scope.row.transferDate, 'yyyy-MM-dd-HH-mm') : '--' }}
{{ scope.row.transferDate ? formatDateTimeByType(scope.row.transferDate, 'yyyy-MM-dd-HH-mm') : '--' }}
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" min-width="140" header-align="left" align="left" :key="Math.random()" prop="clerkId" label="会员信息">
......@@ -47,7 +47,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { templateReceiveCardPage, exportTemplateReceivedExcel } from '@/service/api/cardApi.js';
import tableMethods from '@/mixins/tableMethods.js';
export default {
......@@ -56,7 +56,7 @@ export default {
data() {
return {
defaultAvatar: require('../../assets/img/head_default.png'),
formateDateTimeByType,
formatDateTimeByType,
dateTime: [Date.now() - 3 * 30 * 24 * 60 * 60 * 1000, Date.now()],
dateTime2: ['', ''],
statusOptions: [{ value: '', label: '全部关注状态' }, { value: 0, label: '已关注' }, { value: 1, label: '未关注' }],
......@@ -105,15 +105,15 @@ export default {
async getTableList() {
this.recordLoading = true;
if (this.dateTime) {
this.listParams.receiveBeginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.receiveEndTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.receiveBeginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.receiveEndTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.receiveBeginTime = '';
this.listParams.receiveEndTime = '';
}
if (this.dateTime2) {
this.listParams.attentionBeginTime = formateDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.attentionEndTime = formateDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
this.listParams.attentionBeginTime = formatDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.attentionEndTime = formatDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
} else {
this.listParams.attentionBeginTime = '';
this.listParams.attentionEndTime = '';
......@@ -128,15 +128,15 @@ export default {
this.dialogVisible = true;
this.excelUrl = exportTemplateReceivedExcel;
if (this.dateTime) {
this.listParams.receiveBeginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.receiveEndTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.receiveBeginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.receiveEndTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.receiveBeginTime = '';
this.listParams.receiveEndTime = '';
}
if (this.dateTime2) {
this.listParams.attentionBeginTime = formateDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.attentionEndTime = formateDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
this.listParams.attentionBeginTime = formatDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.attentionEndTime = formatDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
} else {
this.listParams.attentionBeginTime = '';
this.listParams.attentionEndTime = '';
......
......@@ -15,12 +15,12 @@
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" v-loading="recordLoading" @sort-change="sortList">
<el-table-column width="135" align="left" prop="receiveTime" label="领取时间" fixed="left" sortable="custom">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm') }}
{{ formatDateTimeByType(scope.row.receiveTime, 'yyyy-MM-dd-HH-mm') }}
</template>
</el-table-column>
<el-table-column width="135" align="left" prop="writeOffTime" label="核销时间" fixed="left" sortable="custom">
<template slot-scope="scope">
{{ scope.row.useTime ? formateDateTimeByType(scope.row.useTime, 'yyyy-MM-dd-HH-mm') : '--' }}
{{ scope.row.useTime ? formatDateTimeByType(scope.row.useTime, 'yyyy-MM-dd-HH-mm') : '--' }}
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" min-width="140" header-align="left" align="left" :key="Math.random()" prop="clerkId" label="会员信息">
......@@ -77,7 +77,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { cardRecordPage, coupcardDestroy, exportReceivedRecordExcel } from '@/service/api/cardApi.js';
import cardOrder from './card-order';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -90,7 +90,7 @@ export default {
data() {
return {
defaultAvatar: require('../../assets/img/head_default.png'),
formateDateTimeByType,
formatDateTimeByType,
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
dateTime2: ['', ''],
cardStatusOptions: [{ value: '', label: '全部卡券状态' }, { value: 4, label: '待核销' }, { value: 5, label: '已核销' }, { value: 6, label: '已过期' }, { value: 7, label: '已销毁' }, { value: 8, label: '已占用' }],
......@@ -140,15 +140,15 @@ export default {
async getTableList() {
this.recordLoading = true;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
}
if (this.dateTime2) {
this.listParams.writeOffBeginTime = formateDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.writeOffEndTime = formateDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
this.listParams.writeOffBeginTime = formatDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.writeOffEndTime = formatDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
} else {
this.listParams.writeOffBeginTime = '';
this.listParams.writeOffEndTime = '';
......@@ -189,15 +189,15 @@ export default {
this.dialogVisible = true;
this.excelUrl = exportReceivedRecordExcel;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
}
if (this.dateTime2) {
this.listParams.writeOffBeginTime = formateDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.writeOffEndTime = formateDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
this.listParams.writeOffBeginTime = formatDateTimeByType(this.dateTime2[0], 'yyyy-MM-dd');
this.listParams.writeOffEndTime = formatDateTimeByType(this.dateTime2[1], 'yyyy-MM-dd');
} else {
this.listParams.writeOffBeginTime = '';
this.listParams.writeOffEndTime = '';
......
......@@ -6,7 +6,7 @@
<el-table tooltipEffect="light" :data="recordList" style="width: 100%" row-key="putonTime" v-loading="loading">
<el-table-column width="160" align="left" prop="putonTime" label="投放时间" fixed="left">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.putonTime, 'yyyy-MM-dd-HH-mm') }}
{{ formatDateTimeByType(scope.row.putonTime, 'yyyy-MM-dd-HH-mm') }}
</template>
</el-table-column>
<el-table-column width="150" align="left" prop="cardName" label="卡券名称">
......@@ -40,7 +40,7 @@
</template>
<script>
import { cardRecordPage, deleteCardPuton } from '@/service/api/cardApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import timeCounts from '@/components/timeCount/index.vue';
import tableMethods from '@/mixins/tableMethods.js';
export default {
......@@ -51,7 +51,7 @@ export default {
},
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
loading: false,
recordList: [],
recordHeader: [
......
<template>
<section class="dm-wrap">
<div class="pb22">
<vue-gic-store-group class="w200 pr4" :model="currentData" @commit-store="storeChange"></vue-gic-store-group>
<el-input class="w300" v-model="listParams.searchParam" clearable placeholder="输入门店名称/代码/地区名" @change="searchParam"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<store-group class="w200 pr4" :model="currentData" @commit-store="storeChange"></store-group>
<el-input class="w300" v-model="listParams.searchParam" clearable placeholder="输入门店名称/代码/地区名" @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" @sort-change="sortList">
<el-table-column min-width="140" align="left" prop="shelfName" label="门店名称">
......@@ -34,8 +34,10 @@
<script>
import { pageCardShelfs } from '@/service/api/cardApi.js';
import storeGroup from '@/components/storeGroup/index';
import tableMethods from '@/mixins/tableMethods.js';
export default {
name: 'card-record-send',
mixins: [tableMethods],
data() {
return {
loading: false,
......@@ -55,41 +57,34 @@ export default {
storeGroup
},
created() {
this.pageCardShelfs();
this.getTableList();
this.$store.commit('mutations_breadcrumb', [{ name: '营销管理', path: '' }, { name: '卡券营销', path: '' }, { name: '卡券展架', path: '' }]);
},
methods: {
//门店回调
storeChange(val) {
console.log(val);
this.currentData = val;
if (val.id) {
this.listParams.storeGroupId = val.id;
this.pageCardShelfs();
this.refresh();
}
},
searchParam() {
this.listParams.currentPage = 1;
this.pageCardShelfs();
},
handleSizeChange(val) {
this.listParams.pageSize = val;
this.pageCardShelfs();
},
handleCurrentChange(val) {
this.listParams.currentPage = val;
this.pageCardShelfs();
},
async pageCardShelfs() {
async getTableList() {
this.loading = true;
let res = await pageCardShelfs(this.listParams);
this.tableList = res.result.result;
this.total = res.result.totalCount;
this.loading = false;
try {
let res = await pageCardShelfs(this.listParams);
this.tableList = res.result.result || [];
this.total = res.result.totalCount || 0;
this.loading = false;
} catch (err) {
console.log(err);
}
},
//列表 排序
sortList(obj) {
this.listParams.sortBy = obj.order === 'descending' ? obj.prop + ' desc' : obj.prop;
this.pageCardShelfs();
this.getTableList();
}
}
};
......
......@@ -27,7 +27,7 @@
</template>
<script>
import { ecmBatchSendInfos } from '@/service/api/ecmApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import batchDialog from './batch-dialog';
export default {
......@@ -59,7 +59,7 @@ export default {
align: 'left',
fixed: 'left',
formatter(row) {
return formateDateTimeByType(row.execTime, 'yyyy-MM-dd-HH-mm');
return formatDateTimeByType(row.execTime, 'yyyy-MM-dd-HH-mm');
}
},
{
......@@ -123,8 +123,8 @@ export default {
async ecmBatchSendInfos() {
this.loading = true;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = this.listParams.senendTimedEndTime = '';
}
......@@ -139,7 +139,7 @@ export default {
this.dialogShow = true;
this.dialogId = row.ecmPlanQuartzLogId;
this.dialogEcmPlanName = this.$route.params.name;
this.dialogExecTime = formateDateTimeByType(row.execTime, 'yyyy-MM-dd-HH-mm-ss');
this.dialogExecTime = formatDateTimeByType(row.execTime, 'yyyy-MM-dd-HH-mm-ss');
console.log(this.dialogId);
}
}
......
......@@ -39,7 +39,7 @@
</template>
<script>
import { ecmCurrentSendInfos, ecmCurrentSendDetails, exportCurrentSendDetails } from '@/service/api/ecmApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import memberInfo from '@/components/member-info/index.vue';
const typeOptions = [{ value: '', label: '所有类型' }, { value: 'teletext', label: '图文' }, { value: 'text', label: '文本' }, { value: 'image', label: '图片' }, { value: 'card', label: '卡券' }, { value: 'wxa', label: '小程序' }, { value: 'message', label: '短信' }, { value: 'teltask', label: '话务' }];
export default {
......@@ -101,7 +101,7 @@ export default {
minWidth: '120',
align: 'left',
formatter(row) {
return formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm');
return formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm');
}
},
{ label: '会员信息', prop: 'marketingType', minWidth: '120', align: 'left', component: 'member-info' },
......@@ -206,8 +206,8 @@ export default {
/*-----------辅助方法-------------*/
formatterTimeFunc() {
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = this.listParams.senendTimedEndTime = '';
}
......
......@@ -254,7 +254,7 @@ import { sceneSettingList } from '@/service/api/commonApi.js';
import { checkMessageSendCount } from '@/service/api/messageApi.js';
import { klflStrategy } from '@/service/api/gameApi.js'; // 会员等级列表接口
import marketingEvent from './marketing-event/index.vue';
import { formateDateTimeByType, sleep } from '@/utils/index.js';
import { formatDateTimeByType, sleep } from '@/utils/index.js';
import itemCard from './partials/item-card.vue';
import varDialog from './partials/variables.vue';
export default {
......@@ -678,8 +678,8 @@ export default {
memberSearchDTO: this.form.memberType ? this.form.memberGroupIds : this.form.memberSearchDTO,
searchJson: this.getSaveData,
expireType: this.form.expireType,
beginDate: this.form.expireType ? formateDateTimeByType(this.form.beginDate, 'yyyy-MM-dd-HH-mm-ss') : '',
endDate: this.form.expireType ? formateDateTimeByType(this.form.endDate, 'yyyy-MM-dd-HH-mm-ss') : '',
beginDate: this.form.expireType ? formatDateTimeByType(this.form.beginDate, 'yyyy-MM-dd-HH-mm-ss') : '',
endDate: this.form.expireType ? formatDateTimeByType(this.form.endDate, 'yyyy-MM-dd-HH-mm-ss') : '',
cardNoticeType: this.form.cardNoticeType,
templateNoticeFlag: this.form.templateNoticeFlag,
......
......@@ -15,7 +15,7 @@ export const fillZero = num => {
* @param {*时间} date
* @param {*转换的格式} type
*/
export const formateDateTimeByType = (date, type = 'yyyy-MM-dd-HH-mm-ss') => {
export const formatDateTimeByType = (date, type = 'yyyy-MM-dd-HH-mm-ss') => {
if (!date) {
return '';
}
......
......@@ -5,7 +5,7 @@
<div class="inline-block">
<p class="dm-card__item__title">{{ item.cardName }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode !== 0">领取后第{{ item.startDay + 1 }}-{{ item.limitDay + item.startDay }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formateDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formateDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formatDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formatDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
</div>
</div>
<p class="dm-card__item--bottom">
......@@ -15,12 +15,12 @@
</template>
<script>
import { formateDateTimeByType } from '../assets/utils.js';
import { formatDateTimeByType } from '../assets/utils.js';
export default {
name: 'item-card',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
loadErrorImg: require('../assets/img/loaderror.png')
};
},
......
......@@ -22,7 +22,7 @@
<el-table-column :show-overflow-tooltip="true" :min-width="100" align="left" prop="subName" label="备注名"></el-table-column>
<el-table-column prop="" label="有效期" :min-width="100" :show-overflow-tooltip="false">
<template slot-scope="scope">
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formateDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formateDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 0">固定日期:{{ formatDateTimeByType(scope.row.beginDate, 'yyyy-MM-dd') + '至' + formatDateTimeByType(scope.row.endDate, 'yyyy-MM-dd') }}</div>
<div v-if="scope.row.cardEffectiveMode == 1">领取后{{ (scope.row.startDay === 0 ? '当' : scope.row.startDay) + '天,有效天数' + scope.row.limitDay }}</div>
</template>
</el-table-column>
......@@ -48,7 +48,7 @@
<script>
import { getCardList } from '../assets/api.js';
import { formateDateTimeByType } from '../assets/utils.js';
import { formatDateTimeByType } from '../assets/utils.js';
export default {
name: 'lib-card',
props: {
......@@ -74,7 +74,7 @@ export default {
},
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
listParams: {
searchParam: '',
currentPage: 1,
......
......@@ -48,7 +48,7 @@
<script>
import { loadImgTextList } from '../assets/api.js';
import { formateDateTimeByType } from '../assets/utils.js';
import { formatDateTimeByType } from '../assets/utils.js';
export default {
name: 'lib-teletext',
props: {
......@@ -81,8 +81,8 @@ export default {
this.textImgList = res.result.result || [];
this.total = res.result.totalCount;
this.textImgList.map(v => {
v.createTimeStr = formateDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm');
v.updateTimeStr = formateDateTimeByType(v.updateTime, 'yyyy-MM-dd-HH-mm');
v.createTimeStr = formatDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm');
v.updateTimeStr = formatDateTimeByType(v.updateTime, 'yyyy-MM-dd-HH-mm');
});
}
this.loading = false;
......
......@@ -5,7 +5,7 @@
<div class="inline-block">
<p class="dm-card__item__title">{{ item.cardName }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode !== 0">领取后第{{ item.startDay + 1 }}-{{ item.limitDay + item.startDay }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formateDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formateDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
<p class="dm-card__item__desc" v-if="item.cardEffectiveMode === 0">{{ formatDateTimeByType(item.beginDate, 'yyyy-MM-dd') }}{{ formatDateTimeByType(item.endDate, 'yyyy-MM-dd') }}</p>
</div>
</div>
<p class="dm-card__item--bottom">
......@@ -15,12 +15,12 @@
</template>
<script>
import { formateDateTimeByType } from '@/utils';
import { formatDateTimeByType } from '@/utils';
export default {
name: 'item-card',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
loadErrorImg: require('../../../assets/img/loaderror.png')
};
},
......
<template>
<section class="eval-charts">
<div class="dm-form__wrap">
<vue-gic-store-group width="240" class="pr5" :model="storeGroupData" @commit-store="getStoreGroup"></vue-gic-store-group>
<store-group width="240" class="pr5" :model="storeGroupData" @commit-store="getStoreGroup"></store-group>
<span class="pl10 danger-color">*以下数据取自近180天</span>
</div>
<div class="dm-form__wrap">
......@@ -59,9 +59,6 @@ import storeGroup from '@/components/storeGroup';
import { evaluateOverviewEchart } from '@/service/api/evaluationApi.js';
import detail from './detail';
import scoredetail from './scoredetail';
import demoData from './demo.js';
export default {
components: {
storeGroup,
......@@ -96,7 +93,6 @@ export default {
let res = await evaluateOverviewEchart({ currentStoreGroupId: id, chartType: type });
if (type === 1) {
const result = res.result;
// const result = demoData.result;
let list = [];
result.sundayList.map((v, i) => {
list.push({ day: v, name: '订单总数', temperature: result.yDataorders[i] });
......
export default {
errorCode: 0,
message: null,
detailError: null,
result: {
yDataorders: ['0', '0', '0', '0', '0', '0', '0', '0', '153', '522', '443', '370', '380', '352', '383', '307', '298', '270', '235', '199', '231', '214', '279', '358', '495', '305', '100'],
yDatagood: ['0', '0', '0', '0', '0', '0', '0', '0', '9', '35', '21', '13', '21', '18', '19', '20', '10', '13', '10', '10', '9', '9', '9', '9', '14', '15', '1'],
yDataevaluate: ['0', '0', '0', '0', '0', '0', '0', '0', '9', '35', '22', '13', '21', '18', '19', '20', '10', '13', '10', '10', '9', '9', '9', '9', '14', '15', '1'],
sundayList: ['2018-04-15', '2018-04-22', '2018-04-29', '2018-05-06', '2018-05-13', '2018-05-20', '2018-05-27', '2018-06-03', '2018-06-10', '2018-06-17', '2018-06-24', '2018-07-01', '2018-07-08', '2018-07-15', '2018-07-22', '2018-07-29', '2018-08-05', '2018-08-12', '2018-08-19', '2018-08-26', '2018-09-02', '2018-09-09', '2018-09-16', '2018-09-23', '2018-09-30', '2018-10-07', '2018-10-14'],
xDataevaluate: ['201815', '201816', '201817', '201818', '201819', '201820', '201821', '201822', '201823', '201824', '201825', '201826', '201827', '201828', '201829', '201830', '201831', '201832', '201833', '201834', '201835', '201836', '201837', '201838', '201839', '201840', '201841']
}
};
<template>
<el-dialog title="趋势详情" :visible.sync="show" width="70%" :before-close="close">
<vue-gic-store-group width="240" class="pb22" :model="storeGroupData" @commit-store="getStoreGroup"></vue-gic-store-group>
<store-group width="240" class="pb22" :model="storeGroupData" @commit-store="getStoreGroup"></store-group>
<el-table tooltipEffect="light" :data="tableList" height="350" style="width: 100%" v-loading="loading" @sort-change="sortList">
<el-table-column :show-overflow-tooltip="true" :min-width="140" align="left" prop="storeName" label="门店名称">
<template slot-scope="scope">
......
<template>
<section class="eval-newest dm-wrap">
<div class="clearfix pb22">
<vue-gic-store-group width="240" class="pr5" :model="storeGroupData" @commit-store="getStoreGroup"></vue-gic-store-group>
<store-group width="240" class="pr5" :model="storeGroupData" @commit-store="getStoreGroup"></store-group>
<el-date-picker v-if="$route.meta.type !== 'bad'" class="w250" v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="refresh"></el-date-picker>
<el-input v-model="listParams.searchName" class="w300" placeholder="订单号/门店名称/会员姓名/卡号" clearable @change="refresh"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
<el-button icon="iconfont icon-icon_yunxiazai fz14" v-if="$route.meta.type !== 'bad'" class="fr" type="primary" @click="exportLatestEvaluate"> 下载Excel</el-button>
......@@ -24,7 +24,7 @@
</el-table-column>
<el-table-column :show-overflow-tooltip="false" width="160" align="left" prop="createTime" label="评价时间">
<template slot-scope="scope">
<p>{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
<p>{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
<p class="fz13 gray">订单号:{{ scope.row.orderNumber }}</p>
</template>
</el-table-column>
......@@ -108,7 +108,7 @@
</template>
<script>
import { latestEvaluationList, evaluateBad, evaluationStoreExists, allocateEvaluation, changeShowStatus, exportLatestEvaluate } from '@/service/api/evaluationApi.js';
import { formateDateTimeByType, filterAvatar } from '@/utils/index.js';
import { formatDateTimeByType, filterAvatar } from '@/utils/index.js';
import reply from './reply';
import storeGroup from '@/components/storeGroup';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -118,7 +118,7 @@ export default {
data() {
return {
storeGroupData: {},
formateDateTimeByType,
formatDateTimeByType,
filterAvatar,
defaultAvatar: require('../../assets/img/head_default.png'),
loading: false,
......@@ -187,7 +187,7 @@ export default {
visiteStatus: 1,
memberId: row.memberId,
storeId: row.storeId,
createTime: formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss'),
createTime: formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss'),
evaluatedId: row.evaluatedId
});
if (res.errorCode === 0) {
......@@ -288,8 +288,8 @@ export default {
if (!this.dateTime) {
this.listParams.beginTime = this.listParams.endDate = '';
} else {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
}
}
}
......
......@@ -31,7 +31,7 @@
</div>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { getSuggestionsDetail, handleSuggestions } from '@/service/api/evaluationApi.js';
export default {
data() {
......@@ -86,7 +86,7 @@ export default {
try {
let res = await getSuggestionsDetail({ problemId: this.$route.params.id });
const result = res.result;
this.form.createTimeStr = formateDateTimeByType(result.createTime, 'yyyy-MM-dd-HH-mm-ss');
this.form.createTimeStr = formatDateTimeByType(result.createTime, 'yyyy-MM-dd-HH-mm-ss');
this.form.memberName = result.memberName || '';
this.form.thirdNickName = result.thirdNickName || '';
this.form.imgs = result.imgs || [];
......
<template>
<el-dialog title="门店评分" :visible.sync="show" width="70%" :before-close="close">
<vue-gic-store-group width="240" class="pb22" :model="storeGroupData" @commit-store="getStoreGroup"></vue-gic-store-group>
<store-group width="240" class="pb22" :model="storeGroupData" @commit-store="getStoreGroup"></store-group>
<el-table tooltipEffect="light" :data="tableList" height="350" style="width: 100%" v-loading="loading" @sort-change="sortList">
<el-table-column :show-overflow-tooltip="true" :min-width="140" align="left" prop="storeName" label="门店名称">
<template slot-scope="scope">
......
......@@ -13,7 +13,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading" element-loading-text="拼命加载中">
<el-table-column :show-overflow-tooltip="true" width="160" align="left" :key="Math.random()" prop="createTime" label="评价时间">
<template slot-scope="scope">
<p>{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
<p>{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm') }}</p>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" min-width="200" align="left" :key="Math.random()" prop="storeName" label="门店">
......@@ -54,12 +54,12 @@
</template>
<script>
import { pageSuggestionsList, exportProblemsCsv } from '@/service/api/evaluationApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'suggestion',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
defaultAvatar: require('../../assets/img/head_default.png'),
loading: false,
tableList: [],
......@@ -139,8 +139,8 @@ export default {
if (!this.dateTime) {
this.listParams.beginTime = this.listParams.endDate = '';
} else {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
}
}
}
......
......@@ -14,7 +14,7 @@
</template>
<script>
import VueQr from 'vue-qr';
import { formateDateTimeByType, downloadFile } from '@/utils/index.js';
import { formatDateTimeByType, downloadFile } from '@/utils/index.js';
export default {
name: 'links',
components: {
......@@ -59,7 +59,7 @@ export default {
downloadImg() {
const qrWrap = document.getElementById('qrWrap');
const qrImg = qrWrap && qrWrap.childNodes[0].src;
downloadFile(this.gameTypeName + '-' + this.obj.gameName + formateDateTimeByType(this.obj.gameStartTime, 'yyyy-MM-dd-HH-mm-ss') || '游戏链接', qrImg);
downloadFile(this.gameTypeName + '-' + this.obj.gameName + formatDateTimeByType(this.obj.gameStartTime, 'yyyy-MM-dd-HH-mm-ss') || '游戏链接', qrImg);
}
}
};
......
......@@ -110,14 +110,13 @@
<script>
import { detailLottery, saveLottery } from '@/service/api/gameApi.js';
import { numberToChinese, formateDateTimeByType } from '@/utils/index.js';
import { numberToChinese, formatDateTimeByType } from '@/utils/index.js';
import dmUploadAvatar from '@/components/upload/avatar';
import nonnegative from '@/mixins/nonnegative.js';
import editAlertMixin from '../common/editAlertMixin.js';
let key = Date.now();
let result = {};
export default {
mixins: [nonnegative, editAlertMixin],
mixins: [editAlertMixin],
data() {
const that = this;
return {
......@@ -177,7 +176,7 @@ export default {
gameIntegral: { type: 'number', required: true, message: '请输入消耗积分', trigger: 'blur' },
gameWinningRate: { type: 'number', required: true, message: '中奖概率不能为空', trigger: 'blur' }
},
isInfo: this.$route.meta.type === 'detail',
isInfo: this.$route.meta.type === 'info',
isEdit: this.$route.meta.type === 'edit',
isAdd: this.$route.meta.type === 'add',
pickerOptions: {
......@@ -319,8 +318,8 @@ export default {
let params = {
gameId: this.form.gameId, // 游戏主键ID (新建传空, 修改必传)
gameName: this.form.gameName, // 1.游戏名称
gameStartTimeStr: this.form.dateTime ? formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 startDate
gameEndTimeStr: this.form.dateTime ? formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 endDate
gameStartTimeStr: this.form.dateTime ? formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 startDate
gameEndTimeStr: this.form.dateTime ? formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 endDate
skinType: this.form.skinType, // 1.皮肤模板: 0-自定义 1-黑金 2-红色 3- 霓虹灯 (不为0时, banner图标和 背景颜色隐藏, 对应属性不用传值)
gameImageFieldCode: this.form.skinType === 0 ? this.form.gameImage.code : '', // 3.上传后返回的banner图标 code (skinType!=0 时为空)
gameImageUrl: this.form.skinType === 0 ? this.form.gameImage.imgUrl : '', // 3.上传后返回的banner图标 URL (skinType!=0为空)
......
......@@ -33,7 +33,7 @@
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { loadLotteryList, delLotteryService } from '@/service/api/gameApi.js';
import linksMixin from '../common/linksMixin.js';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -93,7 +93,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -103,7 +103,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '参与人数', prop: 'userCount', width: '80', align: 'left' },
......
......@@ -12,7 +12,7 @@
<el-table tooltipEffect="light" :data="recordList" style="width:100%" v-loading="loading">
<el-table-column :min-width="150" align="left" label="中奖时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.winDate, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.winDate, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column :min-width="150" align="left" label="会员信息">
......@@ -63,12 +63,12 @@
<script>
import { loadLotteryRecordList, exportLotteryExcel } from '@/service/api/gameApi.js';
import filterAvatar from '@/mixins/filterAvater.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
mixins: [filterAvatar],
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
prizeTypeOptions: [{ value: '', label: '所有类型' }, { value: 1, label: '积分' }, { value: 2, label: '卡券' }],
loading: false,
listParams: {
......@@ -103,8 +103,8 @@ export default {
this.loading = true;
try {
if (this.dateTime) {
this.listParams.startDate = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.startDate = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
}
let res = await loadLotteryRecordList(this.listParams);
this.recordList = res.result.result || [];
......@@ -128,8 +128,8 @@ export default {
if (!this.date) {
this.listParams.startDate = this.listParams.endDate = '';
} else {
this.listParams.startDate = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.startDate = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
}
this.params = {
searchParam: this.listParams.searchParam,
......
......@@ -100,13 +100,12 @@
<script>
import { detailLottery, saveLottery } from '@/service/api/gameApi.js';
import { numberToChinese, formateDateTimeByType } from '@/utils/index.js';
import { numberToChinese, formatDateTimeByType } from '@/utils/index.js';
import dmUploadAvatar from '@/components/upload/avatar';
import nonnegative from '@/mixins/nonnegative.js';
import editAlertMixin from '../common/editAlertMixin.js';
let result = {};
export default {
mixins: [nonnegative, editAlertMixin],
mixins: [editAlertMixin],
data() {
const that = this;
return {
......@@ -273,8 +272,8 @@ export default {
let params = {
gameId: this.form.gameId, // 游戏主键ID (新建传空, 修改必传)
gameName: this.form.gameName, // 1.游戏名称
gameStartTimeStr: this.form.dateTime ? formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 startDate
gameEndTimeStr: this.form.dateTime ? formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 endDate
gameStartTimeStr: this.form.dateTime ? formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 startDate
gameEndTimeStr: this.form.dateTime ? formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') : '', // 2.游戏时间 endDate
skinType: this.form.skinType, // 1.皮肤模板: 0-自定义 1-黑金 2-红色 3- 霓虹灯 (不为0时, banner图标和 背景颜色隐藏, 对应属性不用传值)
gameImageFieldCode: this.form.skinType === 0 ? this.form.gameImage.code : '', // 3.上传后返回的banner图标 code (skinType!=0 时为空)
gameImageUrl: this.form.skinType === 0 ? this.form.gameImage.imgUrl : '', // 3.上传后返回的banner图标 URL (skinType!=0为空)
......
......@@ -32,7 +32,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { loadLotteryList, delLotteryService } from '@/service/api/gameApi.js';
import linksMixin from '../common/linksMixin.js';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -92,7 +92,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -102,7 +102,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '参与人数', prop: 'userCount', width: '80', align: 'left' },
......
......@@ -12,7 +12,7 @@
<el-table tooltipEffect="light" :data="recordList" style="width:100%" v-loading="loading">
<el-table-column :min-width="150" align="left" label="中奖时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.winDate, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.winDate, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column :min-width="150" align="left" label="会员信息">
......@@ -62,13 +62,13 @@
</template>
<script>
import { loadLotteryRecordList, exportLotteryExcel } from '@/service/api/gameApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
mixins: [filterAvatar],
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
prizeTypeOptions: [{ value: '', label: '所有类型' }, { value: 1, label: '积分' }, { value: 2, label: '卡券' }],
loading: false,
listParams: {
......@@ -106,8 +106,8 @@ export default {
async loadLotteryRecordList() {
this.loading = true;
if (this.dateTime) {
this.listParams.startDate = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.startDate = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
}
let res = await loadLotteryRecordList(this.listParams);
this.recordList = res.result.result || [];
......@@ -128,8 +128,8 @@ export default {
if (!this.date) {
this.listParams.startDate = this.listParams.endDate = '';
} else {
this.listParams.startDate = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.startDate = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd-HH-mm-ss');
this.listParams.endDate = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd-HH-mm-ss');
}
this.params = {
searchParam: this.listParams.searchParam,
......
......@@ -193,7 +193,7 @@
<script>
import { klflDetail, klflSave, klflStrategyList, klflPrizeList, klflStrategySort, klflStrategyDel, klflDownTemp } from '@/service/api/gameApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import dmUploadImg from '@/components/upload/img';
import dmUploadAvatar from '@/components/upload/avatar';
import strategy from './strategy';
......@@ -538,8 +538,8 @@ export default {
backgroudImgFieldCode: this.currentBg.imgFieldCode,
buttonImgUrl: this.currentBtn.imageUrl,
buttonImgFieldCode: this.currentBtn.imgFieldCode,
gameStartTime: formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss'),
gameEndTime: formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss'),
gameStartTime: formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss'),
gameEndTime: formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss'),
gameIntroduction: this.form.gameIntroduction,
codeType: this.form.codeType,
singleCode: this.form.singleCode,
......
......@@ -34,7 +34,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { LoadKlflList, deleteGame, createQrCode, downloadQrCode } from '@/service/api/gameApi.js';
import linksMixin from '../common/linksMixin.js';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -76,7 +76,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -86,7 +86,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
......
......@@ -30,7 +30,7 @@
</template>
<script>
import { klflReportList, klflRecordExcel } from '@/service/api/gameApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
mixins: [filterAvatar],
......@@ -50,7 +50,7 @@ export default {
prop: 'createTime',
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '手机号码', prop: 'phoneNumber', align: 'left' },
......@@ -100,8 +100,8 @@ export default {
if (!this.date) {
this.listParams.startDate = this.listParams.endDate = '';
} else {
this.listParams.startDate = formateDateTimeByType(this.date[0], 'yyyy-MM-dd');
this.listParams.endDate = formateDateTimeByType(this.date[1], 'yyyy-MM-dd');
this.listParams.startDate = formatDateTimeByType(this.date[0], 'yyyy-MM-dd');
this.listParams.endDate = formatDateTimeByType(this.date[1], 'yyyy-MM-dd');
}
let res = await klflReportList(this.listParams);
this.rankList = res.result.result || [];
......@@ -122,8 +122,8 @@ export default {
if (!this.date) {
this.listParams.startDate = this.listParams.endDate = '';
} else {
this.listParams.startDate = formateDateTimeByType(this.date[0], 'yyyy-MM-dd');
this.listParams.endDate = formateDateTimeByType(this.date[1], 'yyyy-MM-dd');
this.listParams.startDate = formatDateTimeByType(this.date[0], 'yyyy-MM-dd');
this.listParams.endDate = formatDateTimeByType(this.date[1], 'yyyy-MM-dd');
}
this.params = {
searchParam: this.listParams.searchParam,
......
......@@ -164,9 +164,8 @@
<script>
import { ptyxDetail, savePtyx, getGameSystemMusic, downloadPtyxSkinPsd } from '@/service/api/gameApi.js';
import { numberToChinese, formateDateTimeByType } from '@/utils/index.js';
import { numberToChinese, formatDateTimeByType } from '@/utils/index.js';
import dmUploadAvatar from '@/components/upload/avatar';
import nonnegative from '@/mixins/nonnegative.js';
import editAlertMixin from '../common/editAlertMixin.js';
// import shareCom from '../common/share';
import ptyxSkin from './partials/ptyx-skin.vue';
......@@ -182,7 +181,7 @@ export default {
ptyxSkin,
audioUpload
},
mixins: [nonnegative, editAlertMixin],
mixins: [editAlertMixin],
data() {
const that = this;
return {
......@@ -424,8 +423,8 @@ export default {
gameInfo.gameName = this.form.gameName || '';
gameInfo.puzzleImgFieldCode = this.form.puzzleImg.code || '';
gameInfo.puzzleImgUrl = this.form.puzzleImg.imgUrl || '';
gameInfo.startTimeStr = formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') || '';
gameInfo.endTimeStr = formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') || '';
gameInfo.startTimeStr = formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm-ss') || '';
gameInfo.endTimeStr = formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm-ss') || '';
gameInfo.gameIntroduction = this.form.gameIntroduction || '';
gameInfo.logoImgFieldCode = this.form.logoImg.code || '';
gameInfo.logoImgUrl = this.form.logoImg.imgUrl || '';
......@@ -569,6 +568,13 @@ export default {
setAudioList(obj) {
this.customMusic = { ...obj, isPlay: false };
},
// 输入正整数
nonnegative(val) {
if (val < 0) {
val = 0;
this.$tips({ type: 'warning', message: '不能为负值' });
}
},
/**---------人群筛选器的方法------------- */
getData() {
this.$refs.peopleFilter.confirmSet();
......
......@@ -33,7 +33,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { LoadPtyxList, deleteGame } from '@/service/api/gameApi.js';
import config from './config';
import linksMixin from '../common/linksMixin.js';
......@@ -74,7 +74,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -84,7 +84,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
......
......@@ -52,7 +52,7 @@
</template>
<script>
import { LoadPtyxRecordList, exportPtyxExcel, ptyxCalcTitle } from '@/service/api/gameApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
mixins: [filterAvatar],
......@@ -80,7 +80,7 @@ export default {
prop: 'createTime',
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '手机号码', prop: 'memberPhone', align: 'left' },
......
......@@ -78,7 +78,7 @@
<script>
import { znmDetail, znmSave, znmStrategyList, znmStrategySort, znmStrategyDel } from '@/service/api/gameApi.js';
import { numberToChinese, formateDateTimeByType } from '@/utils/index.js';
import { numberToChinese, formatDateTimeByType } from '@/utils/index.js';
import dmUploadAvatar from '@/components/upload/avatar';
import strategy from './strategy';
import editAlertMixin from '../common/editAlertMixin.js';
......@@ -250,8 +250,8 @@ export default {
gameName: this.form.gameName, // 是 String 游戏名称
logoImgUrl: this.form.logoImg.imgUrl, // 是 String LOGO上传 url
logoImgFieldCode: this.form.logoImg.code, // 是 String LOGO上传 code
gameStartTime: formateDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm'), // 是 String 开始时间 “2018-05-23 11:00”
gameEndTime: formateDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm'), // 是 String 结束时间 2018-06-14 16:00
gameStartTime: formatDateTimeByType(this.form.dateTime[0], 'yyyy-MM-dd-HH-mm'), // 是 String 开始时间 “2018-05-23 11:00”
gameEndTime: formatDateTimeByType(this.form.dateTime[1], 'yyyy-MM-dd-HH-mm'), // 是 String 结束时间 2018-06-14 16:00
gameIntroduction: this.form.gameIntroduction, // 是 string 游戏说明
firstCouponId: this.firstStrategy.coupCardId, // 是 String 首次奖项设置 load-game-znm-strategy-list 返回的firstStrategy—prizeReferId卡券ID
strategyIds: this.tableList.map(v => v.gamePrizeStrategyId).join(','), // 否 String (不是必传)首次特殊策略 load-game-znm-strategy-list strategyList集合—gamePrizeStrategyId 多个用逗号隔开
......
......@@ -31,7 +31,7 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { LoadZnmList, deleteGame } from '@/service/api/gameApi.js';
import linksMixin from '../common/linksMixin.js';
import tableMethods from '@/mixins/tableMethods.js';
......@@ -68,7 +68,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameStartTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -78,7 +78,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.gameEndTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '参与人数', prop: 'cyrs', width: '80', align: 'left' },
......
......@@ -55,7 +55,7 @@
</template>
<script>
import { znmReportList, znmRankExcel, znmRecordExcel } from '@/service/api/gameApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
mixins: [filterAvatar],
......@@ -99,7 +99,7 @@ export default {
prop: 'createTime',
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{ label: '手机号码', prop: 'memberPhone', align: 'left' },
......
......@@ -21,7 +21,7 @@
</template>
<script>
import { znmStrategy, znmStrategySave } from '@/service/api/gameApi.js';
import { findAnyComponent, formateDateTimeByType, resetParams } from '@/utils/index.js';
import { findAnyComponent, formatDateTimeByType, resetParams } from '@/utils/index.js';
export default {
props: {
......
<template>
<div class="login">
<div class="header" id="top">
<div class="clearfix">
<div class="fl">
<a href="http://www.demogic.com/" class="logo"></a>
</div>
<a class="home-link fr border-1px" href="http://www.demogic.com/" translate="login.home">返回首页</a>
</div>
</div>
<div class="login_contetnt">
<h3 class="login-top">让信息连接一切</h3>
<h4 class="login-bottom">GIC商户后台</h4>
<div class="form">
<form class="login-form" id="optForm" method="post" action="../../uLogin.htm?operate=login">
<div class="form-control">
<label for="phone">账号</label>
<input id="userName" name="userName" type="text" v-model="account" autocomplete="off" />
</div>
<div class="form-control">
<label for="password">密码</label>
<input id="password" name="password" type="password" v-model="password" autocomplete="new-password" />
<p class="error" id="passwordError" v-show="error.flag">{{ error.msg }}</p>
</div>
<button type="button" class="submit" @click="submit">立即登录</button>
</form>
</div>
</div>
<footer id="footer">
<p class="copyright">Copyright 2017 Demogic.com All Rights Reserved 浙ICP备15033117号-1</p>
</footer>
</div>
</template>
<script>
import { login, loginEid } from '@/service/api/systemApi.js';
export default {
name: 'login',
data() {
return {
error: {
flag: false,
msg: ''
},
account: 'damogic',
password: 'damo2018'
};
},
created() {
// this.$http.get('api-marketing/list-clerk-department',{},(res) => {
// console.log(res)
// })
},
methods: {
async submit() {
if (!this.account || !this.password) {
this.$message.error('账号或者密码不能为空');
return;
}
let eidParams = {
loginName: this.account
};
let resEid = await loginEid(eidParams);
let params = {
loginName: this.account,
password: this.password,
eid: resEid.result[0].enterpriseId
// eid:'ff808081593917d90159398eca1a0014'
};
let resLogin = await login(params);
console.log(resLogin);
//先作跳转
this.$router.replace('/wechat');
}
}
};
</script>
<style scoped>
.login {
height: 100%;
background-image: url(../../assets/img/login_bg.jpg);
background-position: center top;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
background-color: rgba(255, 255, 255, 0.15);
text-align: center;
}
#top {
background: transparent;
position: relative;
width: 100%;
height: 80px;
background-color: #111111;
position: relative;
z-index: 2;
}
#top .logo {
display: block;
float: left;
margin-left: 100px;
width: 150px;
height: 80px;
background: url(../../assets/img/login_logo.png) left center no-repeat;
text-indent: -999px;
}
.home-link {
width: 80px;
height: 32px;
margin-top: 23px;
margin-right: 135px;
border-radius: 0;
text-align: center;
font-size: 14px;
line-height: 32px;
color: rgba(255, 255, 255, 0.6);
border: 1px solid #fede29;
background: 0 0;
}
.header {
position: fixed;
left: 0;
top: 0;
height: 80px;
width: 100%;
background: 0 0;
/* box-shadow: inset 0 -1px 0 0 rgba(81, 130, 228, .15); */
z-index: 1000;
}
.home-link {
width: 80px;
height: 32px;
margin-top: 23px;
margin-right: 135px;
border-radius: 0;
text-align: center;
font-size: 14px;
line-height: 32px;
color: rgba(255, 255, 255, 0.6);
border: 1px solid #fede29;
background: 0 0;
}
.login_contetnt {
width: 350px;
margin: 0 auto;
}
.login-top {
position: relative;
z-index: 1;
font-size: 24px;
font-weight: normal;
color: #ffffff;
margin: 70px 0 20px;
}
.login-bottom {
position: relative;
z-index: 1;
font-size: 16px;
font-weight: normal;
color: #fede29;
margin-bottom: 40px;
}
.form {
position: relative;
z-index: 3;
width: 350px;
margin: 0 auto;
}
#top {
background: transparent;
position: relative;
}
#top:hover {
background: transparent;
}
.form-control {
position: relative;
}
.form-control > label {
position: absolute;
/*top: 13px;*/
line-height: 46px;
left: 15px;
font-size: 14px;
color: #fff;
cursor: text;
}
.form-control > input {
font-size: 14px;
padding-left: 50px;
color: #fff;
font-weight: 100;
width: 298px;
height: 46px;
line-height: 14px;
text-indent: 15px;
background: rgba(0, 0, 0, 0.5);
outline: 0;
margin-bottom: 10px;
}
.form-control > input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px rgba(0, 0, 0, 0.5) inset;
}
.submit {
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
font-size: 16px;
margin-top: 30px;
margin-bottom: 36px;
}
.submit:active {
color: rgba(0, 0, 0, 0.6);
background-color: #e0bb26;
}
.submit,
.login-btn {
color: #000;
outline: 0;
border: 0;
background-color: #fede29;
cursor: pointer;
}
.header {
position: fixed;
left: 0;
top: 0;
height: 80px;
width: 100%;
background: 0 0;
/*box-shadow: inset 0 -1px 0 0 rgba(81, 130, 228, .15);*/
z-index: 1000;
}
.error {
color: #f64e4e;
font-size: 12px;
line-height: 12px;
text-align: left;
display: none;
}
.bottom-error {
margin-bottom: 10px;
}
#footer {
width: 100%;
position: absolute;
bottom: 20px;
background: transparent;
color: #fff;
text-align: center;
}
@media screen and (max-width: 767px) {
#top {
background: transparent;
position: relative;
}
.home-link {
width: 60px;
height: 20px;
margin-top: 9px;
margin-right: 15px;
border-radius: 0;
text-align: center;
font-size: 12px;
line-height: 20px;
color: rgba(255, 255, 255, 0.6);
border: 1px solid #fede29;
background: 0 0;
}
.login_contetnt {
width: 250px;
}
.form-control > label {
font-size: 13px;
}
.form-control > input {
width: 198px;
}
.form {
width: 250px;
}
.login-top {
font-size: 16px;
}
.login-bottom {
font-size: 12px;
}
#footer {
display: block;
}
}
</style>
......@@ -5,7 +5,7 @@
<el-row :gutter="20" class="message-detail__label">
<el-col :span="8">
<span class="primary-font-color">发送时间:</span>
<span class="regular-font-color">{{ formateDateTimeByType(info.sendTime, 'yyyy-MM-dd-HH-mm-ss') }}</span>
<span class="regular-font-color">{{ formatDateTimeByType(info.sendTime, 'yyyy-MM-dd-HH-mm-ss') }}</span>
</el-col>
<el-col :span="8">
<span class="primary-font-color">发送人数:</span>
......@@ -94,14 +94,14 @@
</template>
<script>
import { LoadMessageDetail, LoadMessageDetailList, exportSmsExcel } from '@/service/api/messageApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import errorCodeDialog from './errorCode';
import filterAvatar from '@/mixins/filterAvater.js';
export default {
mixins: [filterAvatar],
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
info: {
searchParams: '',
memberType: 0
......@@ -127,7 +127,7 @@ export default {
tooltip: true,
align: 'left',
formatter: function(row) {
return formateDateTimeByType(row.backTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.backTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......
......@@ -51,7 +51,7 @@
import { saveSendSmsService, checkMessageSendCount } from '@/service/api/messageApi.js';
import { sceneSettingList } from '@/service/api/wechatApi.js';
import smsTemp from '@/components/libs/smsTemp';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'add-record',
......@@ -196,7 +196,7 @@ export default {
params.openIds = this.info.openIds;
}
if (this.info.sendType) {
params.sendTime = formateDateTimeByType(this.info.sendTime, 'yyyy-MM-dd-HH-mm-ss');
params.sendTime = formatDateTimeByType(this.info.sendTime, 'yyyy-MM-dd-HH-mm-ss');
}
saveSendSmsService(params)
.then(res => {
......
......@@ -35,7 +35,7 @@
<script>
import { LoadMessageList, invalidsmsRecord } from '@/service/api/messageApi.js';
import { sceneSettingList } from '@/service/api/wechatApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import timeCounts from '@/components/timeCount/index.vue';
import tableMethods from '@/mixins/tableMethods.js';
export default {
......@@ -59,7 +59,7 @@ export default {
align: 'left',
fixed: 'left',
formatter(row) {
return formateDateTimeByType(row.sendTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.sendTime, 'yyyy-MM-dd-HH-mm-ss');
}
},
{
......@@ -125,8 +125,8 @@ export default {
try {
this.recordLoading = true;
if (this.dateTime) {
this.listParams.sendBeginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.sendEndTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.sendBeginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.sendEndTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.sendBeginTime = this.listParams.sendEndTime = '';
}
......
......@@ -25,7 +25,7 @@
<div class="sms-lib-item_bottom clearfix">
<div class="fl">
<span>{{ v.addUserName }}</span>
<span>创建于 {{ formateDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss') }}</span>
<span>创建于 {{ formatDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss') }}</span>
</div>
<div class="fr">
<el-button type="text" v-if="v.status === 2" @click="$router.push('/message/temp/edit/' + v.smsTemplateId)">修改</el-button>
......@@ -48,13 +48,13 @@
</section>
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { LoadLibList, delTempService } from '@/service/api/messageApi.js';
export default {
name: 'sms-lib',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
loading: false,
smsTempList: [],
libTypeOptions: [{ value: '', label: '全部' }, { value: 0, label: '普通短信模板' }, { value: 1, label: '营销短信模板' }, { value: 2, label: '验证码模板' }],
......@@ -92,8 +92,8 @@ export default {
async LoadLibList() {
this.loading = true;
if (this.dateTime) {
this.listParams.startTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.startTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.startTime = this.listParams.endTime = '';
}
......
......@@ -122,7 +122,7 @@
</template>
<script>
import { getTempDetail, listTemplateVariables, updateTempAdvice } from '@/service/api/msgApi.js';
import { formateDateTimeByType, checkUrl } from '@/utils/index.js';
import { formatDateTimeByType, checkUrl } from '@/utils/index.js';
import varDialog from './variables.vue';
import innerUrl from '@/components/innerUrl/innerUrl';
import linktoolspage from '@/components/linktools/linktoolspage.vue';
......@@ -150,7 +150,7 @@ export default {
dayOptions: Array(15)
.fill()
.map((v, i) => ({ value: i + 8, label: i + 8 + ':00' })),
formateDateTimeByType,
formatDateTimeByType,
options: [],
checked1: false,
checked2: false,
......
......@@ -38,7 +38,7 @@
</template>
<script>
import { pageTemplateMessage, syncWechatMessageTemplate, getLatestSyncTime, deleteTemplateAdvice } from '@/service/api/msgApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'sms-record',
data() {
......@@ -75,7 +75,7 @@ export default {
align: 'left',
sortable: 'custom',
formatter: function(row) {
return formateDateTimeByType(row.updateTime, 'yyyy-MM-dd-HH-mm-ss');
return formatDateTimeByType(row.updateTime, 'yyyy-MM-dd-HH-mm-ss');
}
}
],
......
......@@ -107,7 +107,7 @@
<script>
import { rechargeCenter, consumeRecord } from '@/service/api/rechargeApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'recharge',
......@@ -141,8 +141,8 @@ export default {
async consumeRecord() {
this.loading = true;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
......
......@@ -3,7 +3,7 @@
<div class="dm-wrap">日期:<el-date-picker v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="loadAll(false)"></el-date-picker></div>
<div class="dm-form__wrap">
<h3 class="dm-title__label">趋势分析图</h3>
<div class="text-center fz16">{{ formateDateTimeByType(dateTime[0], 'yyyy-MM-dd') }}{{ formateDateTimeByType(dateTime[1], 'yyyy-MM-dd') }} 成功发送:{{ sumCount || 0 }} 条 总计消费:{{ (sumFee / 1000).toFixed(2) }}</div>
<div class="text-center fz16">{{ formatDateTimeByType(dateTime[0], 'yyyy-MM-dd') }}{{ formatDateTimeByType(dateTime[1], 'yyyy-MM-dd') }} 成功发送:{{ sumCount || 0 }} 条 总计消费:{{ (sumFee / 1000).toFixed(2) }}</div>
<div>
<div id="mountNode" ref="mountNode" v-show="list.length"></div>
<div class="chart--nodata" v-show="!list.length"></div>
......@@ -19,7 +19,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading" v-if="$route.params.type === 'marketing'">
<el-table-column align="left" width="170" prop="sendTime" label="发送时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.sendTime, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.sendTime, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column align="left" width="150" prop="telephone" label="接收号码"></el-table-column>
......@@ -47,7 +47,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading" v-if="$route.params.type === 'sms'">
<el-table-column align="left" width="170" prop="createTime" label="发送时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column align="left" width="150" prop="receivePhone" label="接收号码"></el-table-column>
......@@ -71,7 +71,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading" v-if="$route.params.type === 'voice'">
<el-table-column align="left" prop="createTime" label="发送时间" width="170px">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column align="left" prop="receivePhone" label="接收号码"></el-table-column>
......@@ -91,7 +91,7 @@
<el-table tooltipEffect="light" :data="tableList" style="width:100%" v-loading="loading" v-if="$route.params.type === 'call'">
<el-table-column align="left" width="160" prop="createTime" label="呼叫时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.createTime, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" align="left" min-width="180" prop="storeName" label="主门店">
......@@ -142,7 +142,7 @@
</template>
<script>
import { messageMarketingChart, messageMarketingPage, smsData, voiceData, callData } from '@/service/api/rechargeApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import G2 from '@antv/g2';
import DataSet from '@antv/data-set';
export default {
......@@ -151,7 +151,7 @@ export default {
return {
list: [],
defaultAvatar: require('../../assets/img/head_default.png'),
formateDateTimeByType,
formatDateTimeByType,
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
loading: false,
tableList: [],
......@@ -185,8 +185,8 @@ export default {
},
loadAll(onlyList = false) {
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
......
......@@ -4,13 +4,13 @@
<el-table tooltipEffect="light" :data="tableList" style="width: 100%" v-loading="loading">
<el-table-column align="left" prop="timeEnd" label="充值时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.timeEnd, 'yyyy-MM-dd-HH-mm-ss') }}
{{ formatDateTimeByType(scope.row.timeEnd, 'yyyy-MM-dd-HH-mm-ss') }}
</template>
</el-table-column>
<el-table-column align="left" prop="transactionId" label="充值流水号"></el-table-column>
<el-table-column align="left" prop="payType" label="充值方式">
<template slot-scope="scope">
{{ scope.row.payType === 1 ? '微信' : '支付宝' }}
{{ scope.row.payType | filterPayType }}
</template>
</el-table-column>
<el-table-column label="金额" align="left" prop="totalFee">
......@@ -24,13 +24,13 @@
</template>
<script>
import { rechargeRecord } from '@/service/api/rechargeApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'recharge-record',
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
dateTime: [Date.now() - 30 * 24 * 60 * 60 * 1000, Date.now()],
loading: false,
tableList: [],
......@@ -60,8 +60,8 @@ export default {
async rechargeRecord() {
this.loading = true;
if (this.dateTime) {
this.listParams.beginTime = formateDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formateDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
this.listParams.beginTime = formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd');
this.listParams.endTime = formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd');
} else {
this.listParams.beginTime = '';
this.listParams.endTime = '';
......@@ -78,6 +78,26 @@ export default {
}
this.loading = false;
}
},
filters: {
filterPayType(val) {
let result = '';
switch (val) {
case 1:
result = '微信';
break;
case 2:
result = '支付宝';
break;
case 2:
result = '线下充值';
break;
default:
result = '未知';
break;
}
return result;
}
}
};
</script>
......
......@@ -14,7 +14,7 @@
</template>
<script>
import { loadAudioList, delAudioService } from '@/service/api/wechatApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import dmAudioItem from './audioItem';
import dmAudioDialog from './audioDialog';
......@@ -53,7 +53,7 @@ export default {
this.audioList = res.result.result || [];
this.audioList.map(v => {
if (typeof v.createTime === 'number') {
v.createTimeStr = formateDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss');
v.createTimeStr = formatDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss');
} else {
v.createTimeStr = '';
}
......
......@@ -253,7 +253,7 @@ export default {
});
},
methods: {
//editorInstance实例, API http://fex.baidu.com/ueditor/#api-common
//editorInstance实例
ready(editorInstance) {
this.editorInstance = editorInstance;
if (this.$route.meta.type === 'edit') {
......
......@@ -70,7 +70,7 @@
<el-table-column :show-overflow-tooltip="true" prop="remark" minWidth="180" label="备注"></el-table-column>
<el-table-column prop="updateTime" width="140" label="更新时间">
<template slot-scope="scope">
{{ formateDateTimeByType(scope.row.updateTime, 'yyyy-MM-dd-HH-mm') }}
{{ formatDateTimeByType(scope.row.updateTime, 'yyyy-MM-dd-HH-mm') }}
</template>
</el-table-column>
</el-table>
......@@ -84,7 +84,7 @@
<script>
import dmImgText from '@/components/libs/imgTextTemp';
import dmImgBox from '@/components/libs/imgTemp/index-box.vue';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import { checkMessageSendCount } from '@/service/api/messageApi.js';
import { sceneSettingList, sendRecordSaveService, wechatImageTextEdit, getWechatMarketingDetail } from '@/service/api/wechatApi.js';
import config from '@/config';
......@@ -115,7 +115,7 @@ export default {
sendTypeOptions: [{ value: 0, label: '立即发送' }, { value: 1, label: '选择时间发送' }],
customToolbar: [['link']],
currentImgText: { itemList: [] },
formateDateTimeByType,
formatDateTimeByType,
sceneSettingIdOptions: [],
// 人群筛选器可传参数
projectName: '', // 当前项目名
......@@ -346,7 +346,7 @@ export default {
params.mediaId = this.info.mediaId;
}
if (this.info.sendType) {
params.sendTime = formateDateTimeByType(this.info.sendTime, 'yyyy-MM-dd-HH-mm');
params.sendTime = formatDateTimeByType(this.info.sendTime, 'yyyy-MM-dd-HH-mm');
}
sendRecordSaveService(params)
.then(res => {
......
......@@ -9,7 +9,7 @@
<div class="msg_card_inner msg_card_inner_single wechat-item-previe-div" data-index="0" style="display: block;" @click="preview(true)">
<div class="card_cover_appmsg_title" style="margin: 6px;">
<p style="margin-bottom: 6px;" id="main-item-title">{{ firstImgText.titleName }}</p>
<p style="margin-bottom: 12px;color: #8c8c8c;font-size: 13px;">{{ formateDateTimeByType(firstImgText.updateTime, 'yyyy-MM-dd') }}</p>
<p style="margin-bottom: 12px;color: #8c8c8c;font-size: 13px;">{{ formatDateTimeByType(firstImgText.updateTime, 'yyyy-MM-dd') }}</p>
</div>
<div class="card_appmsg_item">
<img style="width: 243px;height: 120px;" id="main-item-img" :src="firstImgText.qcloudImageUrl || ''" />
......@@ -41,7 +41,7 @@
<div class="rich_media_area_primary">
<p class="rich_media_title"></p>
<div class="rich_media_meta_list">
<em class="rich_media_meta rich_media_meta_text">{{ formateDateTimeByType(activeImgText.updateTime, 'yyyy-MM-dd') }}</em> <em class="rich_media_meta rich_media_meta_text"></em> <span class="rich_media_meta rich_media_meta_link" id="content-authoer">{{ activeImgText.authorName }}</span>
<em class="rich_media_meta rich_media_meta_text">{{ formatDateTimeByType(activeImgText.updateTime, 'yyyy-MM-dd') }}</em> <em class="rich_media_meta rich_media_meta_text"></em> <span class="rich_media_meta rich_media_meta_link" id="content-authoer">{{ activeImgText.authorName }}</span>
</div>
<div class="rich_media_content" ref="richMediaContent" v-html="activeImgText.previewContent"></div>
</div>
......@@ -55,7 +55,7 @@
</template>
<script>
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
props: {
......@@ -68,7 +68,7 @@ export default {
},
data() {
return {
formateDateTimeByType,
formatDateTimeByType,
activeImgText: {},
contentHide: true
};
......
......@@ -49,7 +49,7 @@
<script>
import { sendRecordList, sceneSettingList, delWechatMarketingRecord, invalidWechatMarketingRecord } from '@/service/api/wechatApi.js';
import dmDialog from './dialog';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import timeCounts from '@/components/timeCount/index.vue';
export default {
name: 'wechat-record',
......@@ -72,7 +72,7 @@ export default {
align: 'left',
fixed: 'left',
formatter: function(row) {
return formateDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm');
return formatDateTimeByType(row.createTime, 'yyyy-MM-dd-HH-mm');
}
},
{ label: '用户名称', prop: 'clerkName', align: 'left', fixed: 'left' },
......
......@@ -17,7 +17,7 @@
</template>
<script>
import { loadVideoList, delVideoService } from '@/service/api/wechatApi.js';
import { formateDateTimeByType } from '@/utils/index.js';
import { formatDateTimeByType } from '@/utils/index.js';
import dmVideoItem from './videoItem';
export default {
......@@ -63,7 +63,7 @@ export default {
this.videoList = res.result.result || [];
this.videoList.map(v => {
if (typeof v.createTime === 'number') {
v.createTimeStr = formateDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss');
v.createTimeStr = formatDateTimeByType(v.createTime, 'yyyy-MM-dd-HH-mm-ss');
} else {
v.createTimeStr = '';
}
......
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