2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{G as Te,D as he,F as Ee,P as Ue,Q as De,i as Pe,J as Me,M as $e,N as Re,a1 as Fe,L as Le,a2 as Se,a3 as qe,T as Ie,C as Ne,I as ze,h as Be}from"./element-plus-CW0okzRn.js";import{_ as Oe}from"./index.vue_vue_type_script_setup_true_lang-DiGHetBS.js";import{_ as Ge}from"./index.vue_vue_type_script_setup_true_lang-mo_lsmdP.js";import{_ as Ke}from"./index.vue_vue_type_script_setup_true_lang-BaCcK1hf.js";import{w as te}from"./@vue/runtime-dom-DVgibYoU.js";import{u as Je}from"./usePaging-CPrBIeJ2.js";import{r as w,f as v,d as Qe}from"./index-B-xN0T_Y.js";import{f as oe,b as je,as as He,ak as f,I as Q,a as t,aN as a,O as n,aP as x,G as V,J as T,H as P,F as ae,ap as We}from"./@vue/runtime-core-D7eUgySO.js";import{y as o,a as S,r as le,o as k}from"./@vue/reactivity-maRK_BBd.js";import{Q as s}from"./@vue/shared-C75lBtbe.js";import"./@element-plus/icons-vue-DBw-wZMr.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-BOuxpn4j.js";import"./nprogress-BpICrWuH.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D0yckGv3.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./css-color-function-BVb6B1lA.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";function Ae(u){return w.get({url:"/order.order/lists",params:u})}function Xe(u){return w.post({url:"/order.order/detail",params:u})}function Ye(u){return w.post({url:"/order.order/create",params:u})}function Ze(u){return w.post({url:"/order.order/delete",params:u})}function et(u){return w.post({url:"/order.order/alipay",params:u})}function tt(u){return w.post({url:"/order.order/wechat",params:u})}function at(u){return w.post({url:"/order.order/cancel",params:u})}function lt(u){return w.post({url:"/order.order/refund",params:u})}function ot(u){return w.get({url:"/order.order/export",params:u},{isReturnDefaultResponse:!0})}function rt(u){return w.get({url:"/tcm.diagnosis/searchPatient",params:u})}const nt={class:"order-list"},dt={class:"text-xs text-gray-400"},st={class:"text-red-500 font-semibold"},ut={class:"flex justify-end mt-4"},it={class:"text-red-500 font-semibold"},pt={class:"text-red-500 font-semibold"},mt=oe({name:"orderList"}),_t=oe({...mt,setup(u){const p=le({order_no:"",patient_keyword:"",order_type:"",status:"",create_time_start:"",create_time_end:""}),{pager:h,getLists:C,resetPage:re,resetParams:ne}=Je({fetchFun:Ae,params:p}),q=()=>{re()},de=()=>{ne()},M=k(!1),m=k(null),E=k(!1),I=k(!1),d=k({order_id:0,order_no:"",amount:0,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),U=k(!1),N=k(),z=k(!1),B=k(!1),O=k([]),i=le({patient_id:"",order_type:"",amount:0,remark:""}),se={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},ue=async r=>{if(!r){O.value=[];return}try{B.value=!0;const e=await rt({keyword:r,page_no:1,page_size:10});O.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{B.value=!1}},j=()=>{var r;i.patient_id="",i.order_type="",i.amount=0,i.remark="",(r=N.value)==null||r.clearValidate()},ie=()=>{j(),U.value=!0},pe=async()=>{var r;try{await((r=N.value)==null?void 0:r.validate()),z.value=!0;const e={patient_id:i.patient_id,order_type:i.order_type,amount:i.amount,remark:i.remark};await Ye(e),v.msgSuccess("订单创建成功"),U.value=!1,C()}catch(e){console.error("创建订单失败:",e)}finally{z.value=!1}},H=r=>({1:"挂号费",2:"问诊费",3:"药品费用"})[r]||"未知",W=r=>({1:"success",2:"info",3:"warning"})[r]||"info",A=r=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款"})[r]||"未知",X=r=>({1:"warning",2:"success",3:"info",4:"danger"})[r]||"info",Y=r=>r?{alipay:"支付宝",wechat:"微信"}[r]||"未知":"-",me=async r=>{try{const e=await Xe({id:r.id});m.value=e,M.value=!0}catch(e){console.error("获取详情失败:",e)}},_e=r=>{d.value={order_id:r.id,order_no:r.order_no,amount:r.amount,payment_method:"alipay",payType:"supplement",supplement_order_no:""},E.value=!0},fe=async()=>{try{if(d.value.payType==="supplement"&&!d.value.supplement_order_no){v.msgWarning("请输入支付订单号");return}I.value=!0;let r={};d.value.payType==="normal"?r={id:d.value.order_id,order_no:d.value.order_no,amount:d.value.amount,payment_method:d.value.payment_method}:r={order_no:d.value.supplement_order_no,payment_method:d.value.payment_method,is_supplement:1};let e;d.value.payment_method==="alipay"?e=await et(r):d.value.payment_method==="wechat"&&(e=await tt(r)),e&&e.pay_url&&(d.value.payment_method==="alipay"?window.location.href=e.pay_url:d.value.payment_method==="wechat"&&v.msgSuccess("请扫描二维码进行支付")),E.value=!1,setTimeout(()=>{C()},2e3)}catch(r){console.error("支付失败:",r),v.msgError("支付失败,请重试")}finally{I.value=!1}},ce=async r=>{try{await v.confirm("确定要取消该订单吗?"),await at({id:r.id}),v.msgSuccess("取消成功"),C()}catch{}},ye=async r=>{try{await v.confirm("确定要退款该订单吗?"),await lt({id:r.id}),v.msgSuccess("退款成功"),C()}catch{}},be=async r=>{try{await v.confirm("确定要删除该订单吗?此操作不可恢复"),await Ze({id:r.id}),v.msgSuccess("删除成功"),C()}catch{}};return je(()=>{C()}),(r,e)=>{const $=Ee,_=he,y=De,R=Ue,ge=Ke,c=Pe,ve=Ge,G=Te,Z=Me,g=Re,F=Fe,Ve=$e,ke=Oe,b=qe,we=Se,K=Ie,J=ze,ee=Ne,Ce=Be,D=He("perms"),xe=Le;return f(),Q("div",nt,[t(Z,{class:"!border-none",shadow:"never"},{default:a(()=>[t(G,{class:"ls-form",model:o(p),inline:""},{default:a(()=>[t(_,{class:"w-[280px]",label:"订单号"},{default:a(()=>[t($,{modelValue:o(p).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>o(p).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:te(q,["enter"])},null,8,["modelValue"])]),_:1}),t(_,{class:"w-[280px]",label:"患者信息"},{default:a(()=>[t($,{modelValue:o(p).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>o(p).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:te(q,["enter"])},null,8,["modelValue"])]),_:1}),t(_,{class:"w-[280px]",label:"订单类型"},{default:a(()=>[t(R,{modelValue:o(p).order_type,"onUpdate:modelValue":e[2]||(e[2]=l=>o(p).order_type=l),placeholder:"请选择",clearable:""},{default:a(()=>[t(y,{label:"挂号费",value:1}),t(y,{label:"问诊费",value:2}),t(y,{label:"药品费用",value:3})]),_:1},8,["modelValue"])]),_:1}),t(_,{class:"w-[280px]",label:"订单状态"},{default:a(()=>[t(R,{modelValue:o(p).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(p).status=l),placeholder:"请选择",clearable:""},{default:a(()=>[t(y,{label:"待支付",value:1}),t(y,{label:"已支付",value:2}),t(y,{label:"已取消",value:3}),t(y,{label:"已退款",value:4})]),_:1},8,["modelValue"])]),_:1}),t(_,{label:"创建时间"},{default:a(()=>[t(ge,{startTime:o(p).create_time_start,"onUpdate:startTime":e[4]||(e[4]=l=>o(p).create_time_start=l),endTime:o(p).create_time_end,"onUpdate:endTime":e[5]||(e[5]=l=>o(p).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(_,null,{default:a(()=>[t(c,{type:"primary",onClick:q},{default:a(()=>[...e[19]||(e[19]=[n("查询",-1)])]),_:1}),t(c,{onClick:de},{default:a(()=>[...e[20]||(e[20]=[n("重置",-1)])]),_:1}),t(ve,{class:"ml-2.5","fetch-fun":o(ot),params:o(p),"page-size":o(h).size},null,8,["fetch-fun","params","page-size"]),x((f(),V(c,{type:"success",class:"ml-2.5",onClick:ie},{default:a(()=>[...e[21]||(e[21]=[n(" + 创建订单 ",-1)])]),_:1})),[[D,["order.order/create"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(Z,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x((f(),V(Ve,{data:o(h).lists,size:"large"},{default:a(()=>[t(g,{label:"订单号",prop:"order_no","min-width":"150"}),t(g,{label:"患者信息","min-width":"150"},{default:a(({row:l})=>[T("div",null,s(l.patient.patient_name),1),T("div",dt,s(l.patient.phone),1)]),_:1}),t(g,{label:"创建人",prop:"creator.name","min-width":"120"}),t(g,{label:"订单类型",width:"100"},{default:a(({row:l})=>[t(F,{type:W(l.order_type)},{default:a(()=>[n(s(H(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(g,{label:"金额",width:"100"},{default:a(({row:l})=>[T("span",st,"¥"+s(l.amount),1)]),_:1}),t(g,{label:"支付方式",width:"100"},{default:a(({row:l})=>[n(s(Y(l.payment_method)),1)]),_:1}),t(g,{label:"订单状态",width:"100"},{default:a(({row:l})=>[t(F,{type:X(l.status)},{default:a(()=>[n(s(A(l.status)),1)]),_:2},1032,["type"])]),_:1}),t(g,{label:"支付时间","min-width":"160"},{default:a(({row:l})=>[n(s(l.payment_time||"-"),1)]),_:1}),t(g,{label:"创建时间","min-width":"160"},{default:a(({row:l})=>[n(s(l.create_time),1)]),_:1}),t(g,{label:"操作",width:"280",fixed:"right"},{default:a(({row:l})=>[x((f(),V(c,{type:"primary",link:"",onClick:L=>me(l)},{default:a(()=>[...e[22]||(e[22]=[n(" 详情 ",-1)])]),_:1},8,["onClick"])),[[D,["order.order/detail"]]]),l.status===1?x((f(),V(c,{key:0,type:"success",link:"",onClick:L=>_e(l)},{default:a(()=>[...e[23]||(e[23]=[n(" 支付 ",-1)])]),_:1},8,["onClick"])),[[D,["order.order/pay"]]]):P("",!0),l.status===2?x((f(),V(c,{key:1,type:"warning",link:"",onClick:L=>ye(l)},{default:a(()=>[...e[24]||(e[24]=[n(" 退款 ",-1)])]),_:1},8,["onClick"])),[[D,["order.order/refund"]]]):P("",!0),l.status===1?x((f(),V(c,{key:2,type:"danger",link:"",onClick:L=>ce(l)},{default:a(()=>[...e[25]||(e[25]=[n(" 取消 ",-1)])]),_:1},8,["onClick"])),[[D,["order.order/cancel"]]]):P("",!0),x((f(),V(c,{type:"danger",link:"",onClick:L=>be(l)},{default:a(()=>[...e[26]||(e[26]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])),[[D,["order.order/delete"]]])]),_:1})]),_:1},8,["data"])),[[xe,o(h).loading]]),T("div",ut,[t(ke,{modelValue:o(h),"onUpdate:modelValue":e[6]||(e[6]=l=>S(h)?h.value=l:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),t(K,{modelValue:o(M),"onUpdate:modelValue":e[7]||(e[7]=l=>S(M)?M.value=l:null),title:"订单详情",width:"700px"},{default:a(()=>[o(m)?(f(),V(we,{key:0,column:2,border:""},{default:a(()=>[t(b,{label:"订单号"},{default:a(()=>[n(s(o(m).order_no),1)]),_:1}),t(b,{label:"订单状态"},{default:a(()=>[t(F,{type:X(o(m).status)},{default:a(()=>[n(s(A(o(m).status)),1)]),_:1},8,["type"])]),_:1}),t(b,{label:"患者姓名"},{default:a(()=>[n(s(o(m).patient.patient_name),1)]),_:1}),t(b,{label:"患者电话"},{default:a(()=>[n(s(o(m).patient.phone),1)]),_:1}),t(b,{label:"创建人"},{default:a(()=>[n(s(o(m).creator.name),1)]),_:1}),t(b,{label:"订单类型"},{default:a(()=>[t(F,{type:W(o(m).order_type)},{default:a(()=>[n(s(H(o(m).order_type)),1)]),_:1},8,["type"])]),_:1}),t(b,{label:"订单金额"},{default:a(()=>[T("span",it,"¥"+s(o(m).amount),1)]),_:1}),t(b,{label:"支付方式"},{default:a(()=>[n(s(Y(o(m).payment_method)),1)]),_:1}),t(b,{label:"支付时间"},{default:a(()=>[n(s(o(m).payment_time||"-"),1)]),_:1}),t(b,{label:"创建时间"},{default:a(()=>[n(s(o(m).create_time),1)]),_:1}),t(b,{label:"备注",span:2},{default:a(()=>[n(s(o(m).remark||"无"),1)]),_:1})]),_:1})):P("",!0)]),_:1},8,["modelValue"]),t(K,{modelValue:o(E),"onUpdate:modelValue":e[12]||(e[12]=l=>S(E)?E.value=l:null),title:"订单支付",width:"500px"},{footer:a(()=>[t(c,{onClick:e[11]||(e[11]=l=>E.value=!1)},{default:a(()=>[...e[30]||(e[30]=[n("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:fe,loading:o(I)},{default:a(()=>[...e[31]||(e[31]=[n("确认支付",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(G,{model:o(d),"label-width":"100px"},{default:a(()=>[t(_,{label:"支付类型",required:""},{default:a(()=>[t(ee,{modelValue:o(d).payType,"onUpdate:modelValue":e[8]||(e[8]=l=>o(d).payType=l)},{default:a(()=>[t(J,{label:"supplement"},{default:a(()=>[...e[27]||(e[27]=[n("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(d).payType==="normal"?(f(),Q(ae,{key:0},[t(_,{label:"订单号"},{default:a(()=>[T("span",null,s(o(d).order_no),1)]),_:1}),t(_,{label:"订单金额"},{default:a(()=>[T("span",pt,"¥"+s(o(d).amount),1)]),_:1})],64)):P("",!0),o(d).payType==="supplement"?(f(),V(_,{key:1,label:"支付订单号",required:""},{default:a(()=>[t($,{modelValue:o(d).supplement_order_no,"onUpdate:modelValue":e[9]||(e[9]=l=>o(d).supplement_order_no=l),placeholder:"请输入支付订单号"},null,8,["modelValue"])]),_:1})):P("",!0),t(_,{label:"支付方式",required:""},{default:a(()=>[t(ee,{modelValue:o(d).payment_method,"onUpdate:modelValue":e[10]||(e[10]=l=>o(d).payment_method=l)},{default:a(()=>[t(J,{label:"alipay"},{default:a(()=>[...e[28]||(e[28]=[n("支付宝",-1)])]),_:1}),t(J,{label:"wechat"},{default:a(()=>[...e[29]||(e[29]=[n("微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(K,{modelValue:o(U),"onUpdate:modelValue":e[18]||(e[18]=l=>S(U)?U.value=l:null),title:"创建订单",width:"600px",onClose:j},{footer:a(()=>[t(c,{onClick:e[17]||(e[17]=l=>U.value=!1)},{default:a(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:pe,loading:o(z)},{default:a(()=>[...e[33]||(e[33]=[n(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(G,{ref_key:"createFormRef",ref:N,model:o(i),rules:se,"label-width":"100px"},{default:a(()=>[t(_,{label:"患者",prop:"patient_id"},{default:a(()=>[t(R,{modelValue:o(i).patient_id,"onUpdate:modelValue":e[13]||(e[13]=l=>o(i).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":ue,loading:o(B)},{default:a(()=>[(f(!0),Q(ae,null,We(o(O),l=>(f(),V(y,{key:l.id,label:`${l.patient_name} (${l.phone})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(_,{label:"订单类型",prop:"order_type"},{default:a(()=>[t(R,{modelValue:o(i).order_type,"onUpdate:modelValue":e[14]||(e[14]=l=>o(i).order_type=l),placeholder:"请选择"},{default:a(()=>[t(y,{label:"挂号费",value:1}),t(y,{label:"问诊费",value:2}),t(y,{label:"药品费用",value:3})]),_:1},8,["modelValue"])]),_:1}),t(_,{label:"订单金额",prop:"amount"},{default:a(()=>[t(Ce,{modelValue:o(i).amount,"onUpdate:modelValue":e[15]||(e[15]=l=>o(i).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(_,{label:"备注",prop:"remark"},{default:a(()=>[t($,{modelValue:o(i).remark,"onUpdate:modelValue":e[16]||(e[16]=l=>o(i).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ea=Qe(_t,[["__scopeId","data-v-f73e3a28"]]);export{ea as default};
|