1 line
7.2 KiB
JavaScript
1 line
7.2 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y,n as b}from"./crm-Do-MgkuV.js";var x={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=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d(!1),P=d(null),F=d([]),I=p({customer_id:``,type:``,status:``}),L=p({page:1,per_page:20}),R=d(null),z=p({id:null,customer_id:``,type:1,content:``,images:[]}),B=d(!1),V=p({handle_result:``,status:2}),H={1:`服务`,2:`膳食`,3:`环境`,4:`其他`},U={0:`待处理`,1:`处理中`,2:`已解决`,3:`已关闭`},W={0:`danger`,1:`warning`,2:`success`,3:`info`};async function G(){A.value=!0;try{let e=await b.getList({...I,...L});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 y.getList({per_page:500});F.value=e.data?.list||e.data?.data||[]}catch{}}function q(){L.page=1,G()}function J(){Object.assign(I,{customer_id:``,type:``,status:``}),q()}function Y(){B.value=!1,Object.assign(z,{id:null,customer_id:``,type:1,content:``,images:[]}),j.value=!0}async function X(){R.value&&await R.value.validate(async e=>{if(e){M.value=!0;try{B.value?await b.update(z.id,z):await b.create(z),v.success(`提交成功`),j.value=!1,G()}finally{M.value=!1}}})}function ee(e){P.value=e,Object.assign(V,{handle_result:``,status:2}),N.value=!0}async function te(){if(!V.handle_result){v.warning(`请输入处理结果`);return}await b.handle(P.value.id,V),v.success(`处理完成`),N.value=!1,G()}async function ne(e){await _.confirm(`确定删除该投诉吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),G()}function re(e){L.page=e,G()}function ie(e){L.per_page=e,L.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),P=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),ae=i(`el-radio-group`),oe=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.type,"onUpdate:modelValue":d[1]||=e=>I.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[2]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[14]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[15]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[17]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`投诉列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[16]||=[o(`新增投诉`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(y,{label:`类型`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(H[e.type]),1)]),_:1}),h(y,{prop:`content`,label:`内容`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler?.name||`-`),1)]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<2?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[18]||=[o(`处理`,-1)]]),_:1},8,[`onClick`])):l(``,!0),h(v,{size:`small`,type:`danger`,text:``,onClick:e=>ne(t)},{default:e(()=>[...d[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[oe,A.value]])]),m(`div`,E,[h(P,{"current-page":L.page,"onUpdate:currentPage":d[3]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[4]||=e=>L.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:re,onSizeChange:ie},null,8,[`current-page`,`page-size`,`total`])])]),h(Q,{modelValue:j.value,"onUpdate:modelValue":d[9]||=e=>j.value=e,title:B.value?`编辑投诉`:`新增投诉`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>j.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:M.value,onClick:X},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(Z,{ref_key:`formRef`,ref:R,model:z,rules:{customer_id:[{required:!0,message:`请选择客户`}],content:[{required:!0,message:`请输入内容`}]},"label-width":`80px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[5]||=e=>z.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`类型`},{default:e(()=>[h(_,{modelValue:z.type,"onUpdate:modelValue":d[6]||=e=>z.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`内容`,prop:`content`},{default:e(()=>[h(K,{modelValue:z.content,"onUpdate:modelValue":d[7]||=e=>z.content=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),h(Q,{modelValue:N.value,"onUpdate:modelValue":d[13]||=e=>N.value=e,title:`处理投诉`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[12]||=e=>N.value=!1},{default:e(()=>[...d[24]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,onClick:te},{default:e(()=>[...d[25]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[h(Z,{"label-width":`80px`},{default:e(()=>[h(G,{label:`处理结果`},{default:e(()=>[h(K,{modelValue:V.handle_result,"onUpdate:modelValue":d[10]||=e=>V.handle_result=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1}),h(G,{label:`状态`},{default:e(()=>[h(ae,{modelValue:V.status,"onUpdate:modelValue":d[11]||=e=>V.status=e},{default:e(()=>[h($,{value:2},{default:e(()=>[...d[22]||=[o(`已解决`,-1)]]),_:1}),h($,{value:3},{default:e(()=>[...d[23]||=[o(`已关闭`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; |