Commit e90096eb by zhangmeng

init

parents
{
"presets": [
["env", { "modules": false }],
"stage-3"
]
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
# vue 插件—-门店选择联动
<<<<<<< HEAD
> A Vue.js Store select Plugin
## Install
```shell
npm install @gic-test/vue-gic-store-linkage -S
```
## how to use
```
// main.js
import vueGicStoreLinkage from '@gic-test/vue-gic-store-linkage'
Vue.use(vueGicStoreLinkage)
// 使用页面
<vue-gic-store-linkage :msg="sendChildData" ref="selectTree" @sendSelectGroupData="getSelectGroupData"></vue-gic-store-linkage>
data() {
return {
// 可传参数
sendChildData:{}, // 向子元素传递的对象
}
}
methods: {
//获得子元素传递的数据
getSelectGroupData() {
console.log(val)
}
},
```
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("vue-gic-store-group",[],t):"object"==typeof exports?exports["vue-gic-store-group"]=t():e["vue-gic-store-group"]=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},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="/dist/",t(t.s=3)}([function(e,t,r){"use strict";var n=r(11);r.n(n);t.a={name:"vue-gic-store-group",props:{placeholder:{type:String,default:"请选择门店分组"},model:{type:Object,default:function(){return{}}},width:{type:String,default:"200"}},data:function(){return{popoverShow:!1,treeData:[],newModel:Object.assign({},this.model)}},created:function(){this.storeGroupList()},methods:{storeGroupList:function(){var e=this;this.axios.post("api-admin/store-group-list",Object(n.stringify)({requestProject:"gic-web"})).then(function(t){function r(e){e.map(function(e){e.label=e.storeGroupName,e.id=e.storeGroupId,e.children instanceof Array&&e.children.length>0&&r(e.children)})}var n=t.data.result;r(n),e.treeData=n,e.$nextTick(function(t){e.$refs.tree.setCurrentKey(e.newModel.id)})})},handleNodeClick:function(e,t,r){this.newModel=e},submit:function(){this.popoverShow=!1,this.$emit("commit-store",this.newModel)},close:function(){this.popoverShow=!1}}}},function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty,o=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 n=[],o=0;o<t.length;++o)void 0!==t[o]&&n.push(t[o]);r.obj[r.prop]=n}}return t},a=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)void 0!==e[n]&&(r[n]=e[n]);return r},s=function e(t,r,o){if(!r)return t;if("object"!=typeof r){if(Array.isArray(t))t.push(r);else{if("object"!=typeof t)return[t,r];(o.plainObjects||o.allowPrototypes||!n.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=a(t,o)),Array.isArray(t)&&Array.isArray(r)?(r.forEach(function(r,i){n.call(t,i)?t[i]&&"object"==typeof t[i]?t[i]=e(t[i],r,o):t.push(r):t[i]=r}),t):Object.keys(r).reduce(function(t,i){var a=r[i];return n.call(t,i)?t[i]=e(t[i],a,o):t[i]=a,t},i)},l=function(e,t){return Object.keys(t).reduce(function(e,r){return e[r]=t[r],e},e)},c=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},u=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),r="",n=0;n<t.length;++n){var i=t.charCodeAt(n);45===i||46===i||95===i||126===i||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?r+=t.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&t.charCodeAt(n)),r+=o[240|i>>18]+o[128|i>>12&63]+o[128|i>>6&63]+o[128|63&i])}return r},p=function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],n=0;n<t.length;++n)for(var o=t[n],a=o.obj[o.prop],s=Object.keys(a),l=0;l<s.length;++l){var c=s[l],u=a[c];"object"==typeof u&&null!==u&&-1===r.indexOf(u)&&(t.push({obj:a,prop:c}),r.push(u))}return i(t)},f=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},d=function(e){return null!==e&&void 0!==e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))};e.exports={arrayToObject:a,assign:l,compact:p,decode:c,encode:u,isBuffer:d,isRegExp:f,merge:s}},function(e,t,r){"use strict";var n=String.prototype.replace,o=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return n.call(e,o,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(4),o={install:function(e,t){e.component(n.a.name,n.a)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(o),t.default=o},function(e,t,r){"use strict";function n(e){r(5)}var o=r(0),i=r(14),a=r(10),s=n,l=a(o.a,i.a,!1,s,null,null);t.a=l.exports},function(e,t,r){var n=r(6);"string"==typeof n&&(n=[[e.i,n,""]]),n.locals&&(e.exports=n.locals);r(8)("f03d5fe8",n,!0,{})},function(e,t,r){t=e.exports=r(7)(!1),t.push([e.i,".plug-sg{display:inline-block;width:200px}.plug-sg__popover{padding:10px 0 0}.plug-sg__btn{height:36px;padding:0 10px;border-top:1px solid #ebeef5;line-height:34px;text-align:right}.plug-sg__btn--cancel{color:#606266}.plug-sg__tree{height:260px;width:200px;overflow-y:auto}.plug-sg__tree .el-tree-node__label{text-overflow:ellipsis;display:inline-block;white-space:nowrap;width:100%;overflow:hidden}.plug-sg__tree::-webkit-scrollbar{width:0;height:0}",""])},function(e,t){function r(e,t){var r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=n(o);return[r].concat(o.sources.map(function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"})).concat([i]).join("\n")}return[r].join("\n")}function n(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 n=r(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(n[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];"number"==typeof a[0]&&n[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),t.push(a))}},t}},function(e,t,r){function n(e){for(var t=0;t<e.length;t++){var r=e[t],n=u[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]));u[r.id]={id:r.id,refs:1,parts:a}}}}function o(){var e=document.createElement("style");return e.type="text/css",p.appendChild(e),e}function i(e){var t,r,n=document.querySelector("style["+g+'~="'+e.id+'"]');if(n){if(y)return h;n.parentNode.removeChild(n)}if(b){var i=d++;n=f||(f=o()),t=a.bind(null,n,i,!1),r=a.bind(null,n,i,!0)}else n=o(),t=s.bind(null,n),r=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else r()}}function a(e,t,r,n){var o=r?"":n.css;if(e.styleSheet)e.styleSheet.cssText=m(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function s(e,t){var r=t.css,n=t.media,o=t.sourceMap;if(n&&e.setAttribute("media",n),v.ssrId&&e.setAttribute(g,t.id),o&&(r+="\n/*# sourceURL="+o.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),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 c=r(9),u={},p=l&&(document.head||document.getElementsByTagName("head")[0]),f=null,d=0,y=!1,h=function(){},v=null,g="data-vue-ssr-id",b="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,r,o){y=r,v=o||{};var i=c(e,t);return n(i),function(t){for(var r=[],o=0;o<i.length;o++){var a=i[o],s=u[a.id];s.refs--,r.push(s)}t?(i=c(e,t),n(i)):i=[];for(var o=0;o<r.length;o++){var s=r[o];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete u[s.id]}}}};var m=function(){var e=[];return function(t,r){return e[t]=r,e.filter(Boolean).join("\n")}}()},function(e,t){e.exports=function(e,t){for(var r=[],n={},o=0;o<t.length;o++){var i=t[o],a=i[0],s=i[1],l=i[2],c=i[3],u={id:e+":"+o,css:s,media:l,sourceMap:c};n[a]?n[a].parts.push(u):r.push(n[a]={id:a,parts:[u]})}return r}},function(e,t){e.exports=function(e,t,r,n,o,i){var a,s=e=e||{},l=typeof e.default;"object"!==l&&"function"!==l||(a=e,s=e.default);var c="function"==typeof s?s.options:s;t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId=o);var u;if(i?(u=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__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=u):n&&(u=n),u){var p=c.functional,f=p?c.render:c.beforeCreate;p?(c._injectStyles=u,c.render=function(e,t){return u.call(t),f(e,t)}):c.beforeCreate=f?[].concat(f,u):[u]}return{esModule:a,exports:s,options:c}}},function(e,t,r){"use strict";var n=r(12),o=r(13),i=r(2);e.exports={formats:i,parse:o,stringify:n}},function(e,t,r){"use strict";var n=r(1),o=r(2),i={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},l=function e(t,r,o,i,a,l,c,u,p,f,d,y){var h=t;if("function"==typeof c)h=c(r,h);else if(h instanceof Date)h=f(h);else if(null===h){if(i)return l&&!y?l(r,s.encoder):r;h=""}if("string"==typeof h||"number"==typeof h||"boolean"==typeof h||n.isBuffer(h)){if(l){return[d(y?r:l(r,s.encoder))+"="+d(l(h,s.encoder))]}return[d(r)+"="+d(String(h))]}var v=[];if(void 0===h)return v;var g;if(Array.isArray(c))g=c;else{var b=Object.keys(h);g=u?b.sort(u):b}for(var m=0;m<g.length;++m){var w=g[m];a&&null===h[w]||(v=Array.isArray(h)?v.concat(e(h[w],o(r,w),o,i,a,l,c,u,p,f,d,y)):v.concat(e(h[w],r+(p?"."+w:"["+w+"]"),o,i,a,l,c,u,p,f,d,y)))}return v};e.exports=function(e,t){var r=e,a=t?n.assign({},t):{};if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw new TypeError("Encoder has to be a function.");var c=void 0===a.delimiter?s.delimiter:a.delimiter,u="boolean"==typeof a.strictNullHandling?a.strictNullHandling:s.strictNullHandling,p="boolean"==typeof a.skipNulls?a.skipNulls:s.skipNulls,f="boolean"==typeof a.encode?a.encode:s.encode,d="function"==typeof a.encoder?a.encoder:s.encoder,y="function"==typeof a.sort?a.sort:null,h=void 0!==a.allowDots&&a.allowDots,v="function"==typeof a.serializeDate?a.serializeDate:s.serializeDate,g="boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:s.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 b,m,w=o.formatters[a.format];"function"==typeof a.filter?(m=a.filter,r=m("",r)):Array.isArray(a.filter)&&(m=a.filter,b=m);var x=[];if("object"!=typeof r||null===r)return"";var j;j=a.arrayFormat in i?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":"indices";var O=i[j];b||(b=Object.keys(r)),y&&b.sort(y);for(var _=0;_<b.length;++_){var C=b[_];p&&null===r[C]||(x=x.concat(l(r[C],C,O,u,p,f?d:null,m,y,h,v,w,g)))}var A=x.join(c),N=!0===a.addQueryPrefix?"?":"";return A.length>0?N+A:""}},function(e,t,r){"use strict";var n=r(1),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(e,t){for(var r={},n=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,s=n.split(t.delimiter,a),l=0;l<s.length;++l){var c,u,p=s[l],f=p.indexOf("]="),d=-1===f?p.indexOf("="):f+1;-1===d?(c=t.decoder(p,i.decoder),u=t.strictNullHandling?null:""):(c=t.decoder(p.slice(0,d),i.decoder),u=t.decoder(p.slice(d+1),i.decoder)),o.call(r,c)?r[c]=[].concat(r[c]).concat(u):r[c]=u}return r},s=function(e,t,r){for(var n=t,o=e.length-1;o>=0;--o){var i,a=e[o];if("[]"===a)i=[],i=i.concat(n);else{i=r.plainObjects?Object.create(null):{};var s="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,l=parseInt(s,10);!isNaN(l)&&a!==s&&String(l)===s&&l>=0&&r.parseArrays&&l<=r.arrayLimit?(i=[],i[l]=n):i[s]=n}n=i}return n},l=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,l=i.exec(n),c=l?n.slice(0,l.index):n,u=[];if(c){if(!r.plainObjects&&o.call(Object.prototype,c)&&!r.allowPrototypes)return;u.push(c)}for(var p=0;null!==(l=a.exec(n))&&p<r.depth;){if(p+=1,!r.plainObjects&&o.call(Object.prototype,l[1].slice(1,-1))&&!r.allowPrototypes)return;u.push(l[1])}return l&&u.push("["+n.slice(l.index)+"]"),s(u,t,r)}};e.exports=function(e,t){var r=t?n.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||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,""===e||null===e||void 0===e)return r.plainObjects?Object.create(null):{};for(var o="string"==typeof e?a(e,r):e,s=r.plainObjects?Object.create(null):{},c=Object.keys(o),u=0;u<c.length;++u){var p=c[u],f=l(p,o[p],r);s=n.merge(s,f,r)}return n.compact(s)}},function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"plug-sg",style:"width:"+e.width+"px;"},[r("el-popover",{attrs:{"popper-class":"plug-sg__popover",placement:"bottom",trigger:"click"},model:{value:e.popoverShow,callback:function(t){e.popoverShow=t},expression:"popoverShow"}},[r("el-input",{attrs:{slot:"reference","suffix-icon":"el-icon-arrow-down",value:e.newModel.label,placeholder:e.newModel.label?"":e.placeholder},slot:"reference"}),e._v(" "),r("el-tree",{ref:"tree",staticClass:"plug-sg__tree",style:"width:"+e.width+"px;",attrs:{"default-expand-all":!0,"node-key":"id",data:e.treeData,"highlight-current":!0},on:{"node-click":e.handleNodeClick}}),e._v(" "),r("div",{staticClass:"plug-sg__btn"},[r("el-button",{staticClass:"plug-sg__btn--cancel",attrs:{size:"mini",type:"text"},on:{click:e.close}},[e._v("取消")]),e._v(" "),r("el-button",{attrs:{size:"mini",type:"text"},on:{click:e.submit}},[e._v("确定")])],1)],1)],1)},o=[],i={render:n,staticRenderFns:o};t.a=i}])});
//# sourceMappingURL=build.js.map
\ No newline at end of file
{"version":3,"file":"build.js","sources":["webpack:///build.js"],"mappings":"AAAA","sourceRoot":""}
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>vue-gic-store</title>
</head>
<body>
<div id="app"></div>
<script src="/dist/build.js"></script>
<!-- <script src="/dist/vue-gic-store.js"></script> -->
</body>
</html>
{
"_from": "@gic-test/vue-gic-store-group@^1.0.3",
"_id": "@gic-test/vue-gic-store-group@1.0.4",
"_inBundle": false,
"_integrity": "sha1-Ak5uUtJJstlqYY5RCAgCJSV3+jk=",
"_location": "/@gic-test/vue-gic-store-group",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@gic-test/vue-gic-store-group@^1.0.3",
"name": "@gic-test/vue-gic-store-group",
"escapedName": "@gic-test%2fvue-gic-store-group",
"scope": "@gic-test",
"rawSpec": "^1.0.3",
"saveSpec": null,
"fetchSpec": "^1.0.3"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "http://www.gicdev.com:7001/@gic-test/vue-gic-store-group/download/@gic-test/vue-gic-store-group-1.0.4.tgz",
"_shasum": "024e6e52d249b2d96a618e51080802252577fa39",
"_spec": "@gic-test/vue-gic-store-group@^1.0.3",
"_where": "C:\\Users\\Administrator\\Desktop\\private",
"bundleDependencies": false,
"dependencies": {
"axios": "^0.18.0",
"vue": "^2.5.11"
},
"deprecated": false,
"description": "vue-gic-store-group Plugin",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"babel-preset-stage-3": "^6.24.1",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"element-ui": "^2.4.6",
"file-loader": "^1.1.4",
"less-loader": "^4.1.0",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
"url-loader": "^1.1.1",
"vue-loader": "^13.0.5",
"vue-template-compiler": "^2.4.4",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
},
"license": "MIT",
"main": "dist/build.js",
"name": "@gic-test/vue-gic-store-group",
"private": false,
"scripts": {
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot"
},
"version": "1.0.4"
}
<template>
<div style="padding:20px;">
<vue-gic-store-group :model="storeGroupData" @commit-store="getStoreGroup" width="200"></vue-gic-store-group>
</div>
</template>
<script>
import vueGicStoreGroup from './lib/component.vue'
export default {
name: 'app',
data () {
return {
storeGroupData:{"storeGroupId":"ff80808164c7266b0164cb9ee1550039","parentGroupId":"ff808081593917d90159398eca480016","groupLevel":2,"children":[],"storeGroupName":"给对方","label":"给对方","id":"ff80808164c7266b0164cb9ee1550039"}
}
},
components: {
vueGicStoreGroup
},
methods: {
getStoreGroup(val) {
console.log(JSON.stringify(val))
}
}
}
</script>
<style lang="scss">
* {
margin: 0;
padding: 0;
}
</style>
.fl {
float: left;
}
.fr {
float: right;
}
\ No newline at end of file
import axios from 'axios';
import qs from 'qs';
axios.defaults.timeout = 10000;
let base = "http://192.168.1.164:8282/gic/";
const timeout = 10000;
let token = ''//sessionStorage.getItem('user');
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
return axios({
method: 'get',
url: `${base}${url}`,
data: {},
params: params,
headers: {'content-type': 'application/x-www-form-urlencoded'},// "token": token
});
}
<template>
<div class="plug-sg" :style="'width:'+width+'px;'">
<el-popover popper-class="plug-sg__popover" placement="bottom" trigger="click" v-model="popoverShow">
<el-input slot="reference" suffix-icon="el-icon-arrow-down" :value="newModel.label" :placeholder="newModel.label?'':placeholder"></el-input>
<el-tree
class="plug-sg__tree"
:style="'width:'+width+'px;'"
ref="tree"
:default-expand-all="true"
node-key="id"
:data="treeData"
:highlight-current="true"
@node-click="handleNodeClick">
</el-tree>
<div class="plug-sg__btn">
<el-button class="plug-sg__btn--cancel" size="mini" type="text" @click="close">取消</el-button>
<el-button size="mini" type="text" @click="submit">确定</el-button>
</div>
</el-popover>
</div>
</template>
<script>
import {stringify} from 'qs';
export default {
name:'vue-gic-store-group',
props:{
placeholder:{
type:String,
default:'请选择门店分组'
},
model:{
type:Object,
default(){
return {}
}
},
width:{
type:String,
default:'200'
},
},
data() {
return {
popoverShow:false,
treeData:[],
newModel:Object.assign({},this.model)
}
},
created(){
this.storeGroupList();
},
methods:{
storeGroupList() {
this.axios.post('api-admin/store-group-list',stringify({requestProject:'gic-web'})).then(res => {
const result = res.data.result;
function _rec(list) {
list.map(v => {
v.label = v.storeGroupName;
v.id = v.storeGroupId;
if (v.children instanceof Array && v.children.length>0) {
_rec(v.children);
}
})
}
_rec(result);
this.treeData = result;
this.$nextTick(_ => {
this.$refs.tree.setCurrentKey(this.newModel.id);
})
});
},
handleNodeClick(data,node,comp){
this.newModel = data;
},
submit(){
this.popoverShow = false;
this.$emit('commit-store',this.newModel);
},
close(){
this.popoverShow = false;
}
}
}
</script>
<style lang="scss">
.plug-sg {
display: inline-block;
width: 200px;
&__popover{
padding:10px 0 0 0;
}
&__btn{
height: 36px;
padding: 0 10px;
border-top:1px solid #ebeef5;
line-height: 34px;
text-align:right;
&--cancel {
color: #606266;
}
}
&__tree {
height: 260px;
width: 200px;
overflow-y: auto;
.el-tree-node__label {
text-overflow: ellipsis;
display: inline-block;
white-space: nowrap;
width: 100%;
overflow: hidden;
}
&::-webkit-scrollbar {
width: 0px;
height: 0px;
}
}
}
</style>
import component from './component.vue'
const install = {
install(Vue, options) {
Vue.component(component.name, component)
}
}
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.use(install);
}
export default install;
\ No newline at end of file
import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import './assets/style.scss';
import axios from 'axios'
axios.defaults.baseURL = 'http://gicdev.demogic.com';
Vue.use(ElementUI);
axios.defaults.withCredentials = true
Vue.prototype.axios = axios
new Vue({
el: '#app',
render: h => h(App)
})
\ No newline at end of file
var path = require('path')
var webpack = require('webpack')
var isDev = process.env.NODE_ENV === 'development'
module.exports = {
entry: isDev ? './src/main.js' : './src/lib/index.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js',
library: 'vue-gic-store-group',
libraryTarget: 'umd',
umdNamedDefine: true
},
module: {
rules: [{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
],
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
],
},
{
test: /\.sass$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
],
},
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
// the "scss" and "sass" values for the lang attribute to the right configs here.
// other preprocessors should work out of the box, no loader config like this necessary.
'scss': [
'vue-style-loader',
'css-loader',
'sass-loader'
],
'sass': [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
]
}
// other vue-loader options go here
}
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
// options: {
// limit: 10000,
// name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
// }
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['*', '.js', '.vue', '.json']
},
devServer: {
historyApiFallback: true,
noInfo: true,
overlay: true
},
performance: {
hints: false
},
devtool: '#eval-source-map'
}
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#cheap-module-source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
])
}
\ No newline at end of file
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