Files
aiot-platform-ui/apps/web-antd/dist/js/index-BpqtWqYe.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
10 KiB
JavaScript

var O=Object.defineProperty;var N=Object.getOwnPropertySymbols;var U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var k=(t,e,a)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,y=(t,e)=>{for(var a in e||(e={}))U.call(e,a)&&k(t,a,e[a]);if(N)for(var a of N(e))q.call(e,a)&&k(t,a,e[a]);return t};var m=(t,e,a)=>new Promise((i,l)=>{var h=r=>{try{c(a.next(r))}catch(p){l(p)}},D=r=>{try{c(a.throw(r))}catch(p){l(p)}},c=r=>r.done?i(r.value):Promise.resolve(r.value).then(h,D);c((a=a.apply(t,e)).next())});import{aq as g,at as G,bF as z,ar as j,$ as H,av as A,c5 as Y,ay as I}from"./bootstrap-CRjSNGHY.js";import"./vxe-table-uq8U2E1u.js";import{dl as J,cT as L,dj as K,dk as M,d9 as Q,m as X,b9 as S,b7 as Z,ab as v,b2 as b,bJ as d,j as f,u as s,ad as ee,I as te,bb as ae,ac as P,ai as _,br as ie}from"../jse/index-index-CMeVxoEG.js";import{g as ne}from"./index-BlYqifN-.js";import{g as se}from"./index-DHLRhwOb.js";import{g as re}from"./rangePickerProps-BPpM6dzr.js";import{D as F}from"./dict-enum-CaHgMaDZ.js";import{_ as le}from"./content-wrap.vue_vue_type_script_setup_true_lang-D2NrGcoD.js";import{u as oe,_ as ue}from"./use-echarts-C2aELJCl.js";import{_ as me}from"./page.vue_vue_type_script_setup_true_lang-3ywDTU7g.js";import{u as de}from"./use-vxe-grid-BMVG5Iiw.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-BB6x-AyV.js";function fe(t,e){switch(t){case"businessInversionRateSummary":return V(e);case"businessSummary":return V(e);case"funnel":return ye(e);default:return[]}}function ce(t,e){switch(t){case"businessInversionRateSummary":return ge(e);case"businessSummary":return be(e);case"funnel":return pe(e);default:return[]}}function pe(t){return g.get("/crm/statistics-funnel/get-funnel-summary",{params:t})}function ye(t){return g.get("/crm/statistics-funnel/get-business-summary-by-end-status",{params:t})}function be(t){return g.get("/crm/statistics-funnel/get-business-summary-by-date",{params:t})}function ge(t){return g.get("/crm/statistics-funnel/get-business-inversion-rate-summary-by-date",{params:t})}function V(t){return g.get("/crm/statistics-funnel/get-business-page-by-date",{params:t})}const C=(t={})=>y({top:10},t),R=(t={})=>y({left:20,right:20,bottom:20,containLabel:!0},t),w=(t={})=>y({trigger:"axis",axisPointer:{type:"shadow"}},t);function $(t,e,a){switch(t){case"businessInversionRateSummary":return{color:["#6ca2ff","#6ac9d7","#ff7474"],tooltip:w(),legend:C({data:["赢单转化率","商机总数","赢单商机数"],bottom:"0px",itemWidth:14}),grid:R({top:"40px",left:"40px",right:"40px",bottom:"40px",borderColor:"#fff"}),xAxis:[{type:"category",data:a.map(i=>i.time),axisTick:{alignWithLabel:!0,lineStyle:{width:0}},axisLabel:{color:"#BDBDBD"},axisLine:{lineStyle:{color:"#BDBDBD"}},splitLine:{show:!1}}],yAxis:[{type:"value",name:"赢单转化率",axisTick:{alignWithLabel:!0,lineStyle:{width:0}},axisLabel:{color:"#BDBDBD",formatter:"{value}%"},axisLine:{lineStyle:{color:"#BDBDBD"}},splitLine:{show:!1}},{type:"value",name:"商机数",axisTick:{alignWithLabel:!0,lineStyle:{width:0}},axisLabel:{color:"#BDBDBD",formatter:"{value}个"},axisLine:{lineStyle:{color:"#BDBDBD"}},splitLine:{show:!1}}],series:[{name:"赢单转化率",type:"line",yAxisIndex:0,data:a.map(i=>J(i.businessWinCount,i.businessCount))},{name:"商机总数",type:"bar",yAxisIndex:1,barWidth:15,data:a.map(i=>i.businessCount)},{name:"赢单商机数",type:"bar",yAxisIndex:1,barWidth:15,data:a.map(i=>i.businessWinCount)}]};case"businessSummary":return{grid:R({left:30,right:30}),legend:C(),series:[{name:"新增商机数量",type:"bar",yAxisIndex:0,data:a.map(i=>i.businessCreateCount)},{name:"新增商机金额",type:"bar",yAxisIndex:1,data:a.map(i=>i.totalPrice)}],toolbox:{feature:{dataZoom:{xAxisIndex:!1},brush:{type:["lineX","clear"]},saveAsImage:{show:!0,name:"新增商机分析"}}},tooltip:w(),yAxis:[{type:"value",name:"新增商机数量",min:0,minInterval:1},{type:"value",name:"新增商机金额",min:0,minInterval:1,splitLine:{lineStyle:{type:"dotted",opacity:.7}}}],xAxis:{type:"category",name:"日期",data:a.map(i=>i.time)}};case"funnel":{const i=[];return e?i.push({value:60,name:`客户-${a.customerCount||0}`},{value:40,name:`商机-${a.businessCount||0}`},{value:20,name:`赢单-${a.businessWinCount||0}`}):i.push({value:a.customerCount||0,name:`客户-${a.customerCount||0}`},{value:a.businessCount||0,name:`商机-${a.businessCount||0}`},{value:a.businessWinCount||0,name:`赢单-${a.businessWinCount||0}`}),{title:{text:"销售漏斗"},tooltip:w({trigger:"item",axisPointer:void 0,formatter:"{a} <br/>{b}"}),toolbox:{feature:{dataView:{readOnly:!1},restore:{},saveAsImage:{}}},legend:C({data:["客户","商机","赢单"]}),series:[{name:"销售漏斗",type:"funnel",left:"10%",top:60,bottom:60,width:"80%",min:0,max:100,minSize:"0%",maxSize:"100%",sort:"descending",gap:2,label:{show:!0,position:"inside"},labelLine:{length:10,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{fontSize:20}},data:i}]}}default:return{}}}const he=z(),ve=[{tab:"销售漏斗分析",key:"funnel"},{tab:"新增商机分析",key:"businessSummary"},{tab:"商机转化率分析",key:"businessInversionRateSummary"}];function De(){var t;return[{fieldName:"times",label:"时间范围",component:"RangePicker",componentProps:y({},re()),defaultValue:[L(K(new Date(Date.now()-3600*1e3*24*7))),L(M(new Date(Date.now()-3600*1e3*24)))]},{fieldName:"interval",label:"时间间隔",component:"Select",componentProps:{allowClear:!0,placeholder:"请选择时间间隔",options:G(F.DATE_INTERVAL,"number")},defaultValue:2},{fieldName:"deptId",label:"归属部门",component:"ApiTreeSelect",componentProps:{api:()=>m(null,null,function*(){const e=yield ne();return Q(e)}),labelField:"name",valueField:"id",childrenField:"children",treeDefaultExpandAll:!0,placeholder:"请选择归属部门"},defaultValue:(t=he.userInfo)==null?void 0:t.deptId},{fieldName:"userId",label:"员工",component:"ApiSelect",componentProps:{api:se,allowClear:!0,labelField:"nickname",valueField:"id",placeholder:"请选择员工"}}]}function E(t){switch(t){case"businessInversionRateSummary":return[{type:"seq",title:"序号"},{field:"name",title:"商机名称",minWidth:100},{field:"customerName",title:"客户名称",minWidth:200},{field:"totalPrice",title:"商机金额(元)",minWidth:200,formatter:"formatAmount2"},{field:"dealTime",title:"预计成交日期",minWidth:200,formatter:"formatDateTime"},{field:"ownerUserName",title:"负责人",minWidth:200},{field:"ownerUserDeptName",title:"所属部门",minWidth:200},{field:"contactLastTime",title:"最后跟进时间",minWidth:200,formatter:"formatDateTime"},{field:"updateTime",title:"更新时间",minWidth:200,formatter:"formatDateTime"},{field:"createTime",title:"创建时间",minWidth:200,formatter:"formatDateTime"},{field:"creatorName",title:"创建人",minWidth:100},{field:"statusTypeName",title:"商机状态组",minWidth:100},{field:"statusName",title:"商机阶段",minWidth:100}];case"businessSummary":return[{type:"seq",title:"序号"},{field:"name",title:"商机名称",minWidth:100},{field:"customerName",title:"客户名称",minWidth:200},{field:"totalPrice",title:"商机金额(元)",minWidth:200,formatter:"formatAmount2"},{field:"dealTime",title:"预计成交日期",minWidth:200,formatter:"formatDateTime"},{field:"ownerUserName",title:"负责人",minWidth:200},{field:"ownerUserDeptName",title:"所属部门",minWidth:200},{field:"contactLastTime",title:"最后跟进时间",minWidth:200,formatter:"formatDateTime"},{field:"updateTime",title:"更新时间",minWidth:200,formatter:"formatDateTime"},{field:"createTime",title:"创建时间",minWidth:200,formatter:"formatDateTime"},{field:"creatorName",title:"创建人",minWidth:100},{field:"statusTypeName",title:"商机状态组",minWidth:100},{field:"statusName",title:"商机阶段",minWidth:100}];case"funnel":return[{type:"seq",title:"序号"},{field:"endStatus",title:"阶段",minWidth:100,cellRender:{name:"CellDict",props:{type:F.CRM_BUSINESS_END_STATUS_TYPE}}},{field:"businessCount",title:"商机数",minWidth:200},{field:"totalPrice",title:"商机总金额(元)",minWidth:200,formatter:"formatAmount2"}];default:return[]}}const _e=X({__name:"index",setup(t){const e=S("funnel"),a=S(),{renderEcharts:i}=oe(a),l=S(!0),h=Z({total:0,pageNo:1,pageSize:10}),D={pageChange(o){return m(this,arguments,function*({pageSize:u,currentPage:n}){h.pageNo=n,h.pageSize=u,yield x(e.value)})}},[c,r]=j({commonConfig:{componentProps:{class:"w-full"}},schema:De(),showCollapseButton:!0,submitButtonOptions:{content:H("common.query")},wrapperClass:"grid-cols-1 md:grid-cols-2",handleSubmit:()=>m(null,null,function*(){yield x(e.value)})}),[p,T]=de({gridOptions:{columns:E(e.value),height:"auto",keepSource:!0,pagerConfig:{enabled:!1},rowConfig:{keyField:"id",isHover:!0},toolbarConfig:{enabled:!1}}});function x(u){return m(this,null,function*(){e.value=u,T.setGridOptions({columns:E(u),height:"400px",keepSource:!0,pagerConfig:{enabled:e.value!=="funnel"}});const n=yield r.getValues(),o=yield ce(e.value,n);yield i($(e.value,l.value,o));const B=yield fe(e.value,n);yield T.grid.reloadData(e.value==="funnel"?B:B.list)})}function W(u){return m(this,null,function*(){l.value=u;const n=yield r.getValues();i($(e.value,l.value,n))})}return(u,n)=>(b(),v(s(me),{"auto-content-height":""},{default:d(()=>[f(s(le),null,{default:d(()=>[f(s(c)),f(s(A),{"active-key":e.value,"onUpdate:activeKey":n[0]||(n[0]=o=>e.value=o),class:"w-full",onChange:x},{default:d(()=>[(b(!0),ee(te,null,ae(s(ve),o=>(b(),v(s(A).TabPane,{key:o.key,tab:o.tab,"force-render":!0},null,8,["tab"]))),128))]),_:1},8,["active-key"]),f(s(Y),null,{default:d(()=>[e.value==="funnel"?(b(),v(s(I),{key:0,type:l.value?"primary":"default",onClick:n[1]||(n[1]=o=>W(!0))},{default:d(()=>[...n[3]||(n[3]=[_(" 客户视角 ",-1)])]),_:1},8,["type"])):P("",!0),e.value==="funnel"?(b(),v(s(I),{key:1,type:l.value?"default":"primary",onClick:n[2]||(n[2]=o=>W(!1))},{default:d(()=>[...n[4]||(n[4]=[_(" 动态视角 ",-1)])]),_:1},8,["type"])):P("",!0)]),_:1}),f(s(ue),{class:"mb-20 h-2/5 w-full",ref_key:"chartRef",ref:a},null,512),f(s(p),ie(D),null,16)]),_:1})]),_:1}))}});export{_e as default};