Files
aiot-platform-ui/apps/web-antd/dist/js/index-CpF9WNTe.js
lzh 19d36d1ffb
All checks were successful
Web UI CI/CD / build-and-deploy (push) Successful in 8s
chore: build and deploy web-antd
2026-03-09 13:05:46 +08:00

2 lines
7.9 KiB
JavaScript

var W=Object.defineProperty,L=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;var E=(a,e,t)=>e in a?W(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,g=(a,e)=>{for(var t in e||(e={}))F.call(e,t)&&E(a,t,e[t]);if(S)for(var t of S(e))V.call(e,t)&&E(a,t,e[t]);return a},D=(a,e)=>L(a,I(e));var y=(a,e,t)=>new Promise((l,i)=>{var m=n=>{try{r(t.next(n))}catch(d){i(d)}},c=n=>{try{r(t.throw(n))}catch(d){i(d)}},r=n=>n.done?l(n.value):Promise.resolve(n.value).then(m,c);r((t=t.apply(a,e)).next())});import{aq as b,aB as f,bF as q,ar as A,$ as B,av as T,am as G}from"./bootstrap-CRjSNGHY.js";import"./vxe-table-uq8U2E1u.js";import{D as s}from"./dict-enum-CaHgMaDZ.js";import{g as $}from"./index-BlYqifN-.js";import{g as Y}from"./index-DHLRhwOb.js";import{g as j}from"./rangePickerProps-BPpM6dzr.js";import{cT as P,dj as z,dk as H,d9 as J,m as K,b9 as R,v as Q,ab as k,b2 as w,bJ as M,j as p,u as o,ae as X,bL as Z,ad as ee,I as te,bb as ae}from"../jse/index-index-CMeVxoEG.js";import{_ as re}from"./content-wrap.vue_vue_type_script_setup_true_lang-D2NrGcoD.js";import{u as x,_ as O}from"./use-echarts-C2aELJCl.js";import{_ as le}from"./page.vue_vue_type_script_setup_true_lang-3ywDTU7g.js";import{u as ie}from"./use-vxe-grid-BMVG5Iiw.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-BB6x-AyV.js";function ne(a,e){switch(a){case"area":return me(e);case"industry":return oe(e);case"level":return ue(e);case"source":return se(e);default:return[]}}function oe(a){return b.get("/crm/statistics-portrait/get-customer-industry-summary",{params:a})}function se(a){return b.get("/crm/statistics-portrait/get-customer-source-summary",{params:a})}function ue(a){return b.get("/crm/statistics-portrait/get-customer-level-summary",{params:a})}function me(a){return b.get("/crm/statistics-portrait/get-customer-area-summary",{params:a})}function ce(a){return a&&a.replace("维吾尔自治区","").replace("壮族自治区","").replace("回族自治区","").replace("自治区","").replace("省","")}const de=(a={})=>g({trigger:"item"},a),fe=(a={})=>g({orient:"vertical",left:"left"},a),pe=(a,e)=>({name:a,type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:40,fontWeight:"bold"}},labelLine:{show:!1},data:e}),h=({data:a,legendExtra:e,seriesName:t,title:l,tooltipExtra:i})=>({title:{text:l,left:"center"},tooltip:de(i),legend:fe(e),toolbox:{feature:{saveAsImage:{show:!0,name:l}}},series:[pe(t,a)]});function U(a,e){switch(a){case"area":{const t=e.map(r=>D(g({},r),{areaName:ce(r.areaName)}));let l=0,i=0,m=0,c=0;return t.forEach(r=>{l=Math.min(l,r.customerCount||0),i=Math.max(i,r.customerCount||0),m=Math.min(m,r.dealCount||0),c=Math.max(c,r.dealCount||0)}),{left:{title:{text:"全部客户",left:"center"},tooltip:{trigger:"item",showDelay:0,transitionDuration:.2},visualMap:{text:["高","低"],realtime:!1,calculable:!0,top:"middle",inRange:{color:["yellow","lightskyblue","orangered"]},min:l,max:i},series:[{name:"客户地域分布",type:"map",map:"china",roam:!1,selectedMode:!1,data:t.map(r=>({name:r.areaName,value:r.customerCount||0}))}]},right:{title:{text:"成交客户",left:"center"},tooltip:{trigger:"item",showDelay:0,transitionDuration:.2},visualMap:{text:["高","低"],realtime:!1,calculable:!0,top:"middle",inRange:{color:["yellow","lightskyblue","orangered"]},min:m,max:c},series:[{name:"客户地域分布",type:"map",map:"china",roam:!1,selectedMode:!1,data:t.map(r=>({name:r.areaName,value:r.dealCount||0}))}]}}}case"industry":return{left:h({title:"全部客户",seriesName:"全部客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_INDUSTRY,t.industryId),value:t.customerCount}))}),right:h({title:"成交客户",seriesName:"成交客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_INDUSTRY,t.industryId),value:t.dealCount}))})};case"level":return{left:h({title:"全部客户",seriesName:"全部客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_LEVEL,t.level),value:t.customerCount}))}),right:h({title:"成交客户",seriesName:"成交客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_LEVEL,t.level),value:t.dealCount}))})};case"source":return{left:h({title:"全部客户",seriesName:"全部客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_SOURCE,t.source),value:t.customerCount}))}),right:h({title:"成交客户",seriesName:"成交客户",data:e.map(t=>({name:f(s.CRM_CUSTOMER_SOURCE,t.source),value:t.dealCount}))})};default:return{}}}const he=q(),ge=[{tab:"城市分布分析",key:"area"},{tab:"客户级别分析",key:"level"},{tab:"客户来源分析",key:"source"},{tab:"客户行业分析",key:"industry"}];function Ce(){var a;return[{fieldName:"times",label:"时间范围",component:"RangePicker",componentProps:g({},j()),defaultValue:[P(z(new Date(Date.now()-3600*1e3*24*7))),P(H(new Date(Date.now()-3600*1e3*24)))]},{fieldName:"deptId",label:"归属部门",component:"ApiTreeSelect",componentProps:{api:()=>y(null,null,function*(){const e=yield $();return J(e)}),labelField:"name",valueField:"id",childrenField:"children",treeDefaultExpandAll:!0,placeholder:"请选择归属部门"},defaultValue:(a=he.userInfo)==null?void 0:a.deptId},{fieldName:"userId",label:"员工",component:"ApiSelect",componentProps:{api:Y,labelField:"nickname",valueField:"id",placeholder:"请选择员工",allowClear:!0}}]}function N(a){switch(a){case"industry":return[{type:"seq",title:"序号"},{field:"industryId",title:"客户行业",minWidth:100,cellRender:{name:"CellDict",props:{type:s.CRM_CUSTOMER_INDUSTRY}}},{field:"customerCount",title:"客户个数",minWidth:200},{field:"dealCount",title:"成交个数",minWidth:200},{field:"industryPortion",title:"行业占比(%)",minWidth:200},{field:"dealPortion",title:"成交占比(%)",minWidth:200}];case"level":return[{type:"seq",title:"序号"},{field:"level",title:"客户级别",minWidth:100,cellRender:{name:"CellDict",props:{type:s.CRM_CUSTOMER_LEVEL}}},{field:"customerCount",title:"客户个数",minWidth:200},{field:"dealCount",title:"成交个数",minWidth:200},{field:"industryPortion",title:"行业占比(%)",minWidth:200},{field:"dealPortion",title:"成交占比(%)",minWidth:200}];case"source":return[{type:"seq",title:"序号"},{field:"source",title:"客户来源",minWidth:100,cellRender:{name:"CellDict",props:{type:s.CRM_CUSTOMER_SOURCE}}},{field:"customerCount",title:"客户个数",minWidth:200},{field:"dealCount",title:"成交个数",minWidth:200},{field:"industryPortion",title:"行业占比(%)",minWidth:200},{field:"dealPortion",title:"成交占比(%)",minWidth:200}];default:return[]}}const ye={class:"mt-5 flex"},Oe=K({__name:"index",setup(a){const e=R("area"),t=R(),l=R(),{renderEcharts:i}=x(t),{renderEcharts:m}=x(l),[c,r]=A({commonConfig:{componentProps:{class:"w-full"}},schema:Ce(),showCollapseButton:!0,submitButtonOptions:{content:B("common.query")},wrapperClass:"grid-cols-1 md:grid-cols-2",handleSubmit:()=>y(null,null,function*(){yield v(e.value)})}),[n,d]=ie({gridOptions:{columns:N(e.value),height:"auto",keepSource:!0,pagerConfig:{enabled:!1},rowConfig:{keyField:"id",isHover:!0},toolbarConfig:{enabled:!1}}});function v(_){return y(this,null,function*(){e.value=_,d.setGridOptions({columns:N(_)});const C=yield r.getValues(),u=yield ne(e.value,C);yield i(U(e.value,u).left),yield m(U(e.value,u).right),yield d.grid.reloadData(u)})}return Q(()=>{v(e.value)}),(_,C)=>(w(),k(o(le),{"auto-content-height":""},{default:M(()=>[p(o(re),null,{default:M(()=>[p(o(c)),p(o(T),{"active-key":e.value,"onUpdate:activeKey":C[0]||(C[0]=u=>e.value=u),class:"w-full",onChange:v},{default:M(()=>[(w(!0),ee(te,null,ae(o(ge),u=>(w(),k(o(T).TabPane,{key:u.key,tab:u.tab,"force-render":!0},null,8,["tab"]))),128))]),_:1},8,["active-key"]),X("div",ye,[p(o(O),{class:"m-4 w-1/2",ref_key:"leftChartRef",ref:t},null,512),p(o(O),{class:"m-4 w-1/2",ref_key:"rightChartRef",ref:l},null,512)]),Z(p(o(n),null,null,512),[[G,e.value!=="area"]])]),_:1})]),_:1}))}});export{Oe as default};