1 line
7.5 KiB
JavaScript
1 line
7.5 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-Mgun2LFs.js";import"./request-DG5cMCYw.js";import{i as b,o as x}from"./crm-COsPApQ4.js";var ee={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(`新建问卷`),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({customer_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,customer_id:``,title:``,score:80,status:`draft`}),V=f(!1),H={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],title:[{required:!0,message:`请输入问卷标题`,trigger:`blur`}],score:[{required:!0,message:`请输入评分`,trigger:`blur`}]},U={draft:`草稿`,sent:`已发送`,completed:`已完成`},W={draft:`info`,sent:`warning`,completed:`success`};async function G(){A.value=!0;try{let e=await x.getList({...L,...R});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function K(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{customer_id:``,status:``}),q()}function Y(){V.value=!1,M.value=`新建问卷`,Object.assign(B,{id:null,customer_id:``,title:``,score:80,status:`draft`}),j.value=!0}async function X(e){V.value=!0,M.value=`编辑问卷`;let t=(await x.getDetail(e.id)).data;Object.assign(B,{id:t.id,customer_id:t.customer_id,title:t.title,score:t.score,status:t.status}),j.value=!0}async function Z(e){F.value=(await x.getDetail(e.id)).data,P.value=!0}async function Q(){z.value&&await z.value.validate(async e=>{if(e){N.value=!0;try{V.value?(await x.update(B.id,B),y.success(`更新成功`)):(await x.create(B),y.success(`创建成功`)),j.value=!1,G()}finally{N.value=!1}}})}async function te(e){await v.confirm(`确定删除问卷「${e.title}」吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),y.success(`删除成功`),G()}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),ie=i(`el-slider`),ae=i(`el-form`),oe=i(`el-dialog`),$=i(`el-descriptions-item`),se=i(`el-descriptions`),ce=i(`el-drawer`),le=t(`loading`);return n(),p(`div`,ee,[h(`div`,S,[g(v,{modelValue:L.customer_id,"onUpdate:modelValue":f[0]||=e=>L.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[11]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:J},{default:e(()=>[...f[12]||=[s(`重置`,-1)]]),_:1})]),h(`div`,C,[h(`div`,w,[f[14]||=h(`div`,{class:`flex items-center gap-2`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`问卷列表`)],-1),g(y,{type:`primary`,onClick:Y},{default:e(()=>[...f[13]||=[s(`新建问卷`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(b,{label:`客户`,"min-width":`110`},{default:e(({row:e})=>[s(o(e.customer_name||e.customer?.name||`-`),1)]),_:1}),g(b,{prop:`title`,label:`问卷标题`,"min-width":`180`,"show-overflow-tooltip":``}),g(b,{label:`满意度评分`,width:`110`,align:`center`},{default:e(({row:e})=>[h(`span`,{class:a([e.score>=80?`text-green-600`:e.score>=60?`text-yellow-500`:`text-red-500`,`font-semibold`])},o(e.score??`-`),3)]),_:1}),g(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[g(x,{type:W[t.status],size:`small`},{default:e(()=>[s(o(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),g(b,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>Z(t)},{default:e(()=>[...f[15]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`primary`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[16]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...f[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[le,A.value]])]),h(`div`,E,[g(V,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),g(oe,{modelValue:j.value,"onUpdate:modelValue":f[9]||=e=>j.value=e,title:M.value,width:`560px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[8]||=e=>j.value=!1},{default:e(()=>[...f[18]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Q},{default:e(()=>[...f[19]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ae,{ref_key:`formRef`,ref:z,model:B,rules:H,"label-width":`90px`},{default:e(()=>[g(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[g(v,{modelValue:B.customer_id,"onUpdate:modelValue":f[4]||=e=>B.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),g(G,{label:`问卷标题`,prop:`title`},{default:e(()=>[g(K,{modelValue:B.title,"onUpdate:modelValue":f[5]||=e=>B.title=e,placeholder:`请输入问卷标题`},null,8,[`modelValue`])]),_:1}),g(G,{label:`满意度评分`,prop:`score`},{default:e(()=>[g(ie,{modelValue:B.score,"onUpdate:modelValue":f[6]||=e=>B.score=e,min:0,max:100,step:1,"show-input":``,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(G,{label:`状态`},{default:e(()=>[g(v,{modelValue:B.status,"onUpdate:modelValue":f[7]||=e=>B.status=e,style:{width:`100%`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),g(ce,{modelValue:P.value,"onUpdate:modelValue":f[10]||=e=>P.value=e,title:`问卷详情`,size:`480px`},{default:e(()=>[F.value?(n(),c(se,{key:0,column:2,border:``},{default:e(()=>[g($,{label:`客户`},{default:e(()=>[s(o(F.value.customer_name||F.value.customer?.name||`-`),1)]),_:1}),g($,{label:`标题`,span:2},{default:e(()=>[s(o(F.value.title),1)]),_:1}),g($,{label:`评分`},{default:e(()=>[h(`span`,{class:a(F.value.score>=80?`text-green-600 font-bold`:`text-yellow-500 font-bold`)},o(F.value.score),3)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:W[F.value.status],size:`small`},{default:e(()=>[s(o(U[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`创建时间`,span:2},{default:e(()=>[s(o(F.value.created_at),1)]),_:1})]),_:1})):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{D as default}; |