2 lines
8.8 KiB
JavaScript
2 lines
8.8 KiB
JavaScript
var N=Object.defineProperty;var A=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;var R=(t,e,a)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,y=(t,e)=>{for(var a in e||(e={}))q.call(e,a)&&R(t,a,e[a]);if(A)for(var a of A(e))S.call(e,a)&&R(t,a,e[a]);return t};var u=(t,e,a)=>new Promise((p,f)=>{var h=n=>{try{c(a.next(n))}catch(i){f(i)}},k=n=>{try{c(a.throw(n))}catch(i){f(i)}},c=n=>n.done?p(n.value):Promise.resolve(n.value).then(h,k);c((a=a.apply(t,e)).next())});import{bF as T,ar as F,$ as Z,av as w}from"./bootstrap-DbEPETmd.js";import"./vxe-table-CtpSpFEw.js";import{a as C}from"./customer-DRWQ9v3y.js";import{bZ as r,cT as W,dj as L,dk as X,d9 as G,m as V,b9 as I,v as O,ab as _,b2 as x,bJ as v,j as d,u as s,ad as B,I as $,bb as E}from"../jse/index-index-CpE3Y1Uf.js";import{g as j}from"./index-6T0nFPS-.js";import{g as U}from"./rangePickerProps-DMaKEpPe.js";import{_ as H}from"./content-wrap.vue_vue_type_script_setup_true_lang-D4v0Ak7H.js";import{u as J,_ as K}from"./use-echarts-ufbsdnzG.js";import{_ as M}from"./page.vue_vue_type_script_setup_true_lang-CdIpwqHD.js";import{u as Q}from"./use-vxe-grid-CId3fC0d.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-Bse3ymeD.js";const b=(t={})=>y({top:10},t),g=(t={})=>y({left:20,right:20,bottom:20,containLabel:!0},t),l=()=>({trigger:"axis",axisPointer:{type:"shadow"}});function P(t,e){switch(t){case"contactCountRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:g(),legend:b(),series:[{name:"新增联系人数排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"新增联系人数排行"}}},tooltip:l(),xAxis:{type:"value",name:"新增联系人数(个)"},yAxis:{type:"category",name:"创建人"}};case"contractCountRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:g(),legend:b(),series:[{name:"签约合同排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"签约合同排行"}}},tooltip:l(),xAxis:{type:"value",name:"签约合同数(个)"},yAxis:{type:"category",name:"签订人"}};case"contractPriceRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:g(),legend:b(),series:[{name:"合同金额排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"合同金额排行"}}},tooltip:l(),xAxis:{type:"value",name:"合同金额(元)"},yAxis:{type:"category",name:"签订人"}};case"customerCountRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:g(),legend:b(),series:[{name:"新增客户数排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"新增客户数排行"}}},tooltip:l(),xAxis:{type:"value",name:"新增客户数(个)"},yAxis:{type:"category",name:"创建人"}};case"followCountRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:{left:20,right:20,bottom:20,containLabel:!0},legend:{top:50},series:[{name:"跟进次数排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"跟进次数排行"}}},tooltip:l(),xAxis:{type:"value",name:"跟进次数(次)"},yAxis:{type:"category",name:"员工"}};case"followCustomerCountRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:{left:20,right:20,bottom:20,containLabel:!0},legend:{top:50},series:[{name:"跟进客户数排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"跟进客户数排行"}}},tooltip:l(),xAxis:{type:"value",name:"跟进客户数(个)"},yAxis:{type:"category",name:"员工"}};case"productSalesRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:{left:20,right:20,bottom:20,containLabel:!0},legend:{top:50},series:[{name:"产品销量排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"产品销量排行"}}},tooltip:l(),xAxis:{type:"value",name:"产品销量"},yAxis:{type:"category",name:"员工"}};case"receivablePriceRank":return{dataset:{dimensions:["nickname","count"],source:r(e).toReversed()},grid:{left:20,right:20,bottom:20,containLabel:!0},legend:{top:50},series:[{name:"回款金额排行",type:"bar"}],toolbox:{feature:{dataZoom:{yAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"回款金额排行"}}},tooltip:l(),xAxis:{type:"value",name:"回款金额(元)"},yAxis:{type:"category",name:"签订人",nameGap:30}};default:return{}}}const z=T(),Y=[{tab:"合同金额排行",key:"contractPriceRank"},{tab:"回款金额排行",key:"receivablePriceRank"},{tab:"签约合同排行",key:"contractCountRank"},{tab:"产品销量排行",key:"productSalesRank"},{tab:"新增客户数排行",key:"customerCountRank"},{tab:"新增联系人数排行",key:"contactCountRank"},{tab:"跟进次数排行",key:"followCountRank"},{tab:"跟进客户数排行",key:"followCustomerCountRank"}];function ee(){var t;return[{fieldName:"times",label:"时间范围",component:"RangePicker",componentProps:y({},U()),defaultValue:[W(L(new Date(Date.now()-3600*1e3*24*7))),W(X(new Date(Date.now()-3600*1e3*24)))]},{fieldName:"deptId",label:"归属部门",component:"ApiTreeSelect",componentProps:{api:()=>u(null,null,function*(){const e=yield j();return G(e)}),labelField:"name",valueField:"id",childrenField:"children",treeDefaultExpandAll:!0,placeholder:"请选择归属部门"},defaultValue:(t=z.userInfo)==null?void 0:t.deptId}]}function D(t){switch(t){case"contactCountRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"创建人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"新增联系人数(个)",minWidth:200}];case"contractCountRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"签约合同数(个)",minWidth:200}];case"contractPriceRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"合同金额(元)",minWidth:200,formatter:"formatAmount2"}];case"customerCountRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"新增客户数(个)",minWidth:200}];case"followCountRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"跟进次数(次)",minWidth:200}];case"followCustomerCountRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"跟进客户数(个)",minWidth:200}];case"productSalesRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"产品销量",minWidth:200}];case"receivablePriceRank":return[{type:"seq",title:"公司排名"},{field:"nickname",title:"签订人",minWidth:200},{field:"deptName",title:"部门",minWidth:200},{field:"count",title:"回款金额(元)",minWidth:200,formatter:"formatAmount2"}];default:return[]}}const pe=V({__name:"index",setup(t){const e=I("contractPriceRank"),a=I(),{renderEcharts:p}=J(a),[f,h]=F({commonConfig:{componentProps:{class:"w-full"}},schema:ee(),showCollapseButton:!0,submitButtonOptions:{content:Z("common.query")},wrapperClass:"grid-cols-1 md:grid-cols-2",handleSubmit:()=>u(null,null,function*(){yield n(e.value)})}),[k,c]=Q({gridOptions:{columns:D(e.value),height:"auto",keepSource:!0,pagerConfig:{enabled:!1},proxyConfig:{ajax:{query:(i,m)=>u(null,null,function*(){const o=yield C(e.value,m);return yield p(P(e.value,o)),o})}},rowConfig:{keyField:"id",isHover:!0},toolbarConfig:{enabled:!1}}});function n(i){return u(this,null,function*(){e.value=i,c.setGridOptions({columns:D(i)});const m=yield h.getValues(),o=yield C(e.value,m);yield p(P(e.value,o)),yield c.grid.reloadData(o)})}return O(()=>{n(e.value)}),(i,m)=>(x(),_(s(M),{"auto-content-height":""},{default:v(()=>[d(s(H),null,{default:v(()=>[d(s(f)),d(s(w),{"active-key":e.value,"onUpdate:activeKey":m[0]||(m[0]=o=>e.value=o),class:"w-full",onChange:n},{default:v(()=>[(x(!0),B($,null,E(s(Y),o=>(x(),_(s(w).TabPane,{key:o.key,tab:o.tab,"force-render":!0},null,8,["tab"]))),128))]),_:1},8,["active-key"]),d(s(K),{class:"mb-20 h-full w-full",ref_key:"chartRef",ref:a},null,512),d(s(k))]),_:1})]),_:1}))}});export{pe as default};
|