Commit dec9abf6 by 无尘

feat: 增加图表

parent ea26c387
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.28.css><link href=./static/css/app.ce721d69864f7e5a867fc73c5f1b72ec.css rel=stylesheet></head><body style="min-width: 1400px;" class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/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/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.0bef3b83717695b966f6.js></script><script type=text/javascript src=./static/js/vendor.a8492ff9b5740480be69.js></script><script type=text/javascript src=./static/js/app.263a0256aaf95634d13b.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.28.css><link href=./static/css/app.a3f96454f0d62f85baf76d521eadcd5e.css rel=stylesheet></head><body style="min-width: 1400px;" class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/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/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.f2d45869dc32f59f7507.js></script><script type=text/javascript src=./static/js/vendor.a8492ff9b5740480be69.js></script><script type=text/javascript src=./static/js/app.d8eb482241f0da336030.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.
webpackJsonp([10],{"7t+N":function(e,t,n){var r;
webpackJsonp([9],{"7t+N":function(e,t,n){var r;
/*!
* jQuery JavaScript Library v3.5.0
* https://jquery.com/
......
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,f,n){for(var r,t,o,i=0,u=[];i<a.length;i++)t=a[i],d[t]&&u.push(d[t][0]),d[t]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(c&&c(a,f,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=b(b.s=n[i]);return o};var a={},d={87:0};function b(c){if(a[c])return a[c].exports;var d=a[c]={i:c,l:!1,exports:{}};return e[c].call(d.exports,d,d.exports,b),d.l=!0,d.exports}b.e=function(e){var c=d[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,b){c=d[e]=[a,b]});c[2]=a;var f=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,b.nc&&n.setAttribute("nonce",b.nc),n.src=b.p+"static/js/"+e+"."+{0:"e30cf8a56a18238be7fb",1:"954a8a70c5f1171933ac",2:"bb6a4ddd179b46eb68a7",3:"01151ef9fc531b81549f",4:"66730828638470d76624",5:"389ada27408814c0575d",6:"203dd29ead4b4fd21238",7:"facffc398c23923c8192",8:"150642a7ce8ea22b2509",9:"6ec2c563cd440918e59a",10:"158f5bf11b4ab7406c3b",11:"dee95988fb8c3513b5a5",12:"836b84c97dd3f31ad412",13:"da84bfdef713838a5680",14:"cc777d4e374d0428a9f9",15:"1a4794eae71e5676b82a",16:"9ff89e3ae22fb695931f",17:"0ee5ffd1827c0ab14257",18:"fdb6aeb863dd5e05ebd6",19:"ceaa40d8aa6227ccaa7b",20:"41027a6d3a2c48820f68",21:"84030213364b58db7503",22:"0c064bd60d04e06ed470",23:"98704b1edcfc1ba44934",24:"1d1a70aa4ead2d8a5d7a",25:"e161c0baa6ab89bfb824",26:"2e5ee029ca46b7ddd881",27:"3a5a1be574888e1360d8",28:"73d23a3048d8afced278",29:"91560e8f5ec91586471e",30:"76c1a79ad79f14df278b",31:"1c0933eac601f8499001",32:"50e004b612099a57347b",33:"998784dc372c52552d8c",34:"206a7c971f4d6b2751b2",35:"9dc0750e31c8efc37280",36:"29ddecd42866feff9f72",37:"3df6b3a7d66c3d2234ee",38:"82af7a18ce0cdc03dc93",39:"bb391ba1a2b7449d04b6",40:"5046b945fdb05feecd09",41:"9f0127d3704386fdce91",42:"7b1bc1120e878803fb47",43:"2afe9b7d1892565e2b20",44:"e0f5a0e47a4d2eace226",45:"4b4571bc428c28299744",46:"8308ef1202640c780df2",47:"9ea1d70c86faebeef520",48:"4e9d9d5369a0b54095cb",49:"58ee00d4f47a32a7b23e",50:"d3b828f510b0ac9c3496",51:"8d3bc732a698489ca3ae",52:"a19fbe7202293c086e75",53:"3c6a83b6587b5b785cd3",54:"10ecc7ed2ff70a3e11be",55:"6a118b43483e9374a164",56:"bb0b9d43943587545513",57:"e35ce4c75d7e22e24818",58:"9640edd79e307e97e96c",59:"9d332e3455c94f2fa146",60:"6317369c9d3409692e42",61:"2e48b9d3256cb7f54155",62:"306973a81895e421b5f5",63:"74b1214cf352e180b2fd",64:"b99faeb9442209fdffca",65:"8fe40214176b9490ebb2",66:"fc119eb0bdd71478c0c8",67:"32a85dd6075ab53e30f3",68:"ee25f10153706bdc4cd1",69:"0dd9f4a371a5d245ede7",70:"7f76b2e827f2b39a22cf",71:"5c8b034751136de0ad41",72:"6bd08329b97338ac7b58",73:"d27ecc18ea52e56b8068",74:"708cb8cbb0f89ad7ce51",75:"a5db1c248ee474874dbb",76:"2c2ba05a38193f532032",77:"9568405fcd7f68bbbed2",78:"6c0dc47c4cd66828eea7",79:"0018729eec70a9546602",80:"189377999dd7e01b560e",81:"32879f43d7e376621672",82:"80e1bea9e7c52a0010e2",83:"8e92060d7042fa029dc4",84:"917d6e79a15c0ce10d4c"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=d[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),d[e]=void 0)}return n.onerror=n.onload=t,f.appendChild(n),a},b.m=e,b.c=a,b.d=function(e,c,a){b.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},b.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(c,"a",c),c},b.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},b.p="./",b.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,b,n){for(var r,t,o,i=0,u=[];i<a.length;i++)t=a[i],d[t]&&u.push(d[t][0]),d[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(a,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=f(f.s=n[i]);return o};var a={},d={87:0};function f(c){if(a[c])return a[c].exports;var d=a[c]={i:c,l:!1,exports:{}};return e[c].call(d.exports,d,d.exports,f),d.l=!0,d.exports}f.e=function(e){var c=d[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,f){c=d[e]=[a,f]});c[2]=a;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,f.nc&&n.setAttribute("nonce",f.nc),n.src=f.p+"static/js/"+e+"."+{0:"e30cf8a56a18238be7fb",1:"954a8a70c5f1171933ac",2:"ec41ead474f44aab5ca4",3:"01151ef9fc531b81549f",4:"66730828638470d76624",5:"389ada27408814c0575d",6:"203dd29ead4b4fd21238",7:"facffc398c23923c8192",8:"6c1d2dfe95dba3cca8ee",9:"f194e939f50c22abbac8",10:"1d0857d1e94ff89262fb",11:"03c37101384d7f8451c2",12:"d638d97b6e6f61545df9",13:"da84bfdef713838a5680",14:"cc777d4e374d0428a9f9",15:"1a4794eae71e5676b82a",16:"9ff89e3ae22fb695931f",17:"0ee5ffd1827c0ab14257",18:"fdb6aeb863dd5e05ebd6",19:"ceaa40d8aa6227ccaa7b",20:"41027a6d3a2c48820f68",21:"84030213364b58db7503",22:"0c064bd60d04e06ed470",23:"98704b1edcfc1ba44934",24:"1d1a70aa4ead2d8a5d7a",25:"e161c0baa6ab89bfb824",26:"2e5ee029ca46b7ddd881",27:"3a5a1be574888e1360d8",28:"73d23a3048d8afced278",29:"91560e8f5ec91586471e",30:"76c1a79ad79f14df278b",31:"1c0933eac601f8499001",32:"50e004b612099a57347b",33:"998784dc372c52552d8c",34:"206a7c971f4d6b2751b2",35:"9dc0750e31c8efc37280",36:"29ddecd42866feff9f72",37:"3df6b3a7d66c3d2234ee",38:"82af7a18ce0cdc03dc93",39:"bb391ba1a2b7449d04b6",40:"5046b945fdb05feecd09",41:"9f0127d3704386fdce91",42:"7b1bc1120e878803fb47",43:"2afe9b7d1892565e2b20",44:"e0f5a0e47a4d2eace226",45:"4b4571bc428c28299744",46:"8308ef1202640c780df2",47:"9ea1d70c86faebeef520",48:"4e9d9d5369a0b54095cb",49:"58ee00d4f47a32a7b23e",50:"d3b828f510b0ac9c3496",51:"8d3bc732a698489ca3ae",52:"a19fbe7202293c086e75",53:"3c6a83b6587b5b785cd3",54:"10ecc7ed2ff70a3e11be",55:"6a118b43483e9374a164",56:"bb0b9d43943587545513",57:"e35ce4c75d7e22e24818",58:"9640edd79e307e97e96c",59:"9d332e3455c94f2fa146",60:"6317369c9d3409692e42",61:"2e48b9d3256cb7f54155",62:"306973a81895e421b5f5",63:"74b1214cf352e180b2fd",64:"b99faeb9442209fdffca",65:"8fe40214176b9490ebb2",66:"fc119eb0bdd71478c0c8",67:"32a85dd6075ab53e30f3",68:"ee25f10153706bdc4cd1",69:"0dd9f4a371a5d245ede7",70:"7f76b2e827f2b39a22cf",71:"5c8b034751136de0ad41",72:"6bd08329b97338ac7b58",73:"d27ecc18ea52e56b8068",74:"708cb8cbb0f89ad7ce51",75:"a5db1c248ee474874dbb",76:"2c2ba05a38193f532032",77:"9568405fcd7f68bbbed2",78:"6c0dc47c4cd66828eea7",79:"0018729eec70a9546602",80:"189377999dd7e01b560e",81:"32879f43d7e376621672",82:"80e1bea9e7c52a0010e2",83:"8e92060d7042fa029dc4",84:"917d6e79a15c0ce10d4c"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=d[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),d[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),a},f.m=e,f.c=a,f.d=function(e,c,a){f.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},f.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(c,"a",c),c},f.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},f.p="./",f.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -4,7 +4,7 @@
* @Author: 无尘
* @Date: 2020-02-08 10:27:21
* @LastEditors: 无尘
* @LastEditTime: 2020-07-02 17:55:20
* @LastEditTime: 2020-07-02 17:58:37
-->
<!--
选择门店分组组件:
......@@ -42,7 +42,7 @@
<template v-for="(item, index) in groupIds">
<span class="el-tag el-tag--info el-tag--small" :key="index">
<span class="el-select__tags-text">{{ item.departmentName }}</span>
<i class="el-tag__close el-icon-close" @click.stop="delDepart(index, groupIds)"></i>
<!-- <i class="el-tag__close el-icon-close" @click.stop="delDepart(index, groupIds)"></i> -->
</span>
</template>
</span>
......
<!--
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2020-02-08 10:27:21
* @LastEditors: 无尘
* @LastEditTime: 2020-07-02 18:04:24
-->
<!--
选择门店分组组件:
<gic-select-group-mult
:selectData="selectData"
@checkGroupIds="checkGroupIds">
</gic-select-group-mult>
import gicSelectGroupMult from '@/components/login-data/gic-select-group-mult.vue';
checkGroupIds: function(nodes) {
const that = this;
that.conditionObj.groupIds = nodes;
},
-->
<template>
<el-popover placement="bottom" style="min-width: 357px" v-model="departmentVisible">
<div class="select-search">
<el-input placeholder="请输入内容" v-model="searchSelect" style="width: 100%;" @keyup.native="value => toInput(value, searchSelect)" @clear="clearSearch"> <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input>
</div>
<div class="select-tree-wrap m-t-10">
<!--:load="loadNode"-->
<el-tree :filter-node-method="filterNode" clearable :data="groupData" :default-checked-keys="checkedKeys" node-key="storeGroupId" ref="groupTree" show-checkbox default-expand-all :props="defaultProps" :expand-on-click-node="false" @check="checkGroup">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span :class="['font-14 p-r-10 iconfont', data.isStore == 1 ? 'icondianpu-kuai' : 'iconqiye-tianchong', data.bindFlag == 1 ? 'color-2f54eb' : 'color-dedfe6']"></span><span class="font-14 color-606266">{{ node.label }}</span>
</span>
</el-tree>
</div>
<div class="flex-column item-cell-select inline-block " slot="reference">
<div class="depart-item-wrap">
<div :style="{ width: width }" class="el-select el-select--large depart-item-content">
<span class="font-14 color-c0c4cc p-l-10" style="display: inline-block;line-height: 32px;color: #c0c4cc;" v-if="!groupIds.length">请选择门店分组</span>
<div class="el-select__tags" style="max-width: 348px;">
<span style="display:block">
<template v-for="(item, index) in groupIds">
<span class="el-tag el-tag--info el-tag--small" :key="index">
<span class="el-select__tags-text">{{ item.departmentName }}</span>
<!-- <i class="el-tag__close el-icon-close" @click.stop="delDepart(index, groupIds)"></i> -->
</span>
</template>
</span>
</div>
</div>
</div>
</div>
</el-popover>
</template>
<script>
import { getRequest } from '@/api/api';
import errMsg from '@/common/js/error';
import { _debounce } from '@/common/js/public';
export default {
name: 'gic-select-group',
props: {
width: {
type: String,
default() {
return '357px';
}
},
selectData: {
type: [Object, Array],
default() {
return [];
}
},
brandId: {
type: String,
default() {
return '';
}
}
},
data() {
return {
projectName: '', // 当前项目名
enterpriseId: this.brandId || this.$route.query.brandId,
searchSelect: '', // 搜索字段
departmentVisible: false,
groupIds: [],
groupData: [],
groupDataCopy: [],
defaultProps: {
children: 'children',
label: 'storeGroupName'
},
checkedKeys: this.selectData.length ? this.selectData.map(ele => ele.departmentId) : []
};
},
methods: {
filterNode(value, data) {
if (!value || !data.label) return true;
return data.label.indexOf(value) !== -1;
},
/**
* 加载更多
*/
async loadNode(node, resolve) {
// console.log(node, resolve);
const that = this;
if (node.level === 0) {
return resolve(that.getGroup());
} else {
await that.getGroup(node, node.data, resolve);
}
},
/**
* 输入
*/
toInput: _debounce(function(e, value) {
const that = this;
// that.getGroup();
if (!that.groupDataCopy.length) {
return false;
}
}, 500),
/**
* 清空
*/
clearSearch() {
const that = this;
that.groupData = JSON.parse(JSON.stringify(that.groupDataCopy));
},
/**
* 删除
*/
delDepart(index, arr) {
const that = this;
arr.splice(index, 1);
console.log(index, arr, that.groupIds);
const keys = arr.map(ele => ele.storeGroupId);
that.setCheckedKeys(keys);
},
/**
* 选择 tree 节点,获取选择节点信息
*/
checkGroup: function(e) {
const that = this;
that.groupIds = that.$refs.groupTree.getCheckedNodes();
that.$emit('checkGroupIds', that.$refs.groupTree.getCheckedNodes());
},
/**
* 设置 tree
*/
setCheckedKeys(keys) {
const that = this;
that.$refs.groupTree.setCheckedKeys(keys);
that.$emit('checkGroupIds', that.$refs.groupTree.getCheckedNodes());
},
/**
* 处理排序
*/
async handleSort(item) {
const that = this;
for (let i = 0; i < item.children.length; i++) {
item.children.sort(function(a, b) {
return a.storeGroupSort - b.storeGroupSort;
});
if (item.children[i].length) {
await that.handleSort(item.children[i]);
}
}
},
/**
* 简单数组-->父子数组对象
*/
async treeData(data) {
// const that = this;
let tree = data.filter(father => {
//循环所有项
let branchArr = data.filter(child => {
return father.storeGroupId == child.parentGroupId; //返回每一项的子级数组
});
if (branchArr.length > 0) {
father.children = branchArr; //如果存在子级,则给父级添加一个children属性,并赋值
}
return father.parentGroupId == 0; //返回第一层
});
// 排序
if (tree.length) {
tree.sort(function(a, b) {
return a.storeGroupSort - b.storeGroupSort;
});
}
/* for (let i = 0; i < tree[0].children.length; i++) {
if (tree[0].children[i].lenth) {
await that.handleSort(tree[0].children[i]);
}
} */
tree.forEach(function(ele, index) {
if (!!ele.children && ele.children.length) {
ele.children.sort(function(a, b) {
return a.storeGroupSort - b.storeGroupSort;
});
}
});
return tree;
},
/**
* 获取门店分组
*/
async getGroup() {
const that = this;
let para = {
enterpriseId: that.brandId || this.$route.query.brandId
};
getRequest('/haoban-manage3-web/gic-department-list', para)
.then(async res => {
let resData = res.data;
if (resData.errorCode == 1) {
if (!!resData.result && !!resData.result.length) {
resData.result.forEach(ele => {
ele.label = ele.storeGroupName;
ele.departmentName = ele.storeGroupName;
});
const data = await that.treeData(resData.result);
that.$nextTick(() => {
that.groupData = JSON.parse(JSON.stringify(data)) || [];
that.groupDataCopy = JSON.parse(JSON.stringify(that.groupData)) || [];
});
that.$forceUpdate();
}
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
}
},
watch: {
selectData: function(newData, oldData) {
let that = this;
if (!!newData.length) {
that.groupIds = newData;
} else {
that.groupIds = [];
}
},
searchSelect(val) {
this.$refs.groupTree.filter(val);
},
brandId(val) {
const that = this;
if (val) {
that.searchSelect = '';
that.groupIds = [];
that.groupData = [];
that.groupDataCopy = [];
that.getGroup();
}
}
},
mounted() {
const that = this;
// 对否有默认选中数据
if (!!that.selectData.length) {
that.groupIds = that.selectData;
} else {
that.groupIds = [];
}
that.getGroup();
}
};
</script>
<style lang="less" scoped>
.depart-item-content {
width: 213px;
height: 32px;
overflow: hidden;
white-space: nowrap;
border-radius: 2px;
border: 1px solid #c4c6cf;
cursor: pointer;
box-sizing: border-box;
}
.select-tree-wrap {
max-height: 300px;
overflow-y: auto;
}
.item-cell-select {
/deep/ .el-select__tags {
white-space: nowrap;
overflow: hidden;
}
.el-select {
.el-tag {
border-radius: 2px;
border: 1px solid rgba(220, 223, 230, 1);
background-color: #fff;
.el-tag__close {
top: 1px;
color: #909399;
&:hover {
background-color: transparent;
}
}
}
}
}
</style>
......@@ -4,7 +4,7 @@
* @Author: 无尘
* @Date: 2019-03-20 14:36:37
* @LastEditors: 无尘
* @LastEditTime: 2020-07-02 17:49:56
* @LastEditTime: 2020-07-02 18:04:49
-->
<template>
<div class="my-customer-wrap common-set-wrap">
......@@ -88,7 +88,7 @@
<script>
import navCrumb from '@/components/nav/nav.vue';
import areaChart from '@/components/login-data/area-chart.vue';
import gicSelectGroupMult from '@/components/common/gic-select-group-mult.vue';
import gicSelectGroupMult from '@/components/login-data/gic-select-group-mult.vue';
import { getRequest, postExcel } from '@/api/api';
import errMsg from '@/common/js/error';
......
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