pages-driver-task.BedKAQHv.js 6.0 KB

1
  1. import{d as a,C as s,T as e,o as l,b as t,w as u,i as d,g as c,f as n,h as o,u as r,n as i,F as f,k as _,j as m,t as p,y as g,m as y,Y as v,p as k,e as w,P as x}from"./index-DkH7bG5s.js";import{u as b}from"./useResource.juK0xFuB.js";import{u as h,_ as C}from"./CommandStatus.vue_vue_type_script_setup_true_lang.CAVuDUGt.js";import{t as j,l as P,g as R,i as V,c as I}from"./_plugin-vue_export-helper.C4LH77RU.js";import{o as N,l as S}from"./location.B5Bl2X0f.js";import{I as q}from"./IdentityGuard.B3rtcdH0.js";import{P as z}from"./PageState.A-T7ATD-.js";const E=a({__name:"task",setup(a){const E=s(0),F=s(""),G=s(!1),H=s(!1),T=()=>w("driver")+"/tasks/"+V(E.value),{data:U,loading:Y,error:A,load:B}=b(()=>c(T())),D=h(()=>T()+"/start",async()=>{j("已开始配送"),await B()}),J=h(()=>T()+"/checkin",async()=>{j("到达打卡已记录"),await B()}),K=h(()=>T()+"/exception",async()=>{G.value=!1,F.value="",j("异常已上报"),await B()});async function L(){await I("开始配送","确认货物已准备好并开始配送?将执行出库操作。")&&D.execute({})}function M(){var a;(null==(a=U.value)?void 0:a.contact_phone)&&x({phoneNumber:U.value.contact_phone})}function O(){F.value.trim()?K.execute({reason:F.value.trim()}):j("请填写异常原因")}return e(a=>{E.value=Number(null==a?void 0:a.id)}),l(()=>{E.value&&B()}),(a,s)=>{const e=_,l=d,c=g,w=v;return n(),t(l,{class:"page"},{default:u(()=>[o(q,{kind:"driver"},{default:u(()=>[o(z,{loading:r(Y),error:r(A),onRetry:r(B)},null,8,["loading","error","onRetry"]),r(U)?(n(),i(f,{key:0},[o(l,{class:"card"},{default:u(()=>[o(l,{class:"row"},{default:u(()=>[o(e,{class:"tag orange"},{default:u(()=>[m(p(r(P)(r(U).status)),1)]),_:1}),o(e,{class:"muted small"},{default:u(()=>[m(p(r(U).code),1)]),_:1})]),_:1}),o(l,{class:"title",style:{margin:"22rpx 0 12rpx"}},{default:u(()=>[m(p(r(U).enterprise_name),1)]),_:1}),o(l,{class:"muted"},{default:u(()=>[m(p(r(U).address),1)]),_:1}),o(c,{class:"text-button",onClick:s[0]||(s[0]=a=>r(N)(r(U).latitude,r(U).longitude,r(U).address))},{default:u(()=>[m(" 查看配送位置 › ")]),_:1}),o(l,{class:"row"},{default:u(()=>[o(e,{class:"muted"},{default:u(()=>[m(p(r(U).contact)+" · "+p(r(U).phone),1)]),_:1}),r(U).contact_phone?(n(),t(c,{key:0,class:"secondary button-small",onClick:M},{default:u(()=>[m(" 联系客户 ")]),_:1})):y("",!0)]),_:1})]),_:1}),o(l,{class:"section"},{default:u(()=>[o(l,{class:"title"},{default:u(()=>[m("配送内容")]),_:1})]),_:1}),o(l,{class:"card row"},{default:u(()=>[o(l,null,{default:u(()=>[o(l,{class:"strong"},{default:u(()=>[m(p(r(U).sku_name),1)]),_:1}),o(l,{class:"muted"},{default:u(()=>[m(p(r(U).scheduled_date||"未设置配送日期"),1)]),_:1})]),_:1}),o(e,{class:"amount"},{default:u(()=>[m(p(r(U).quantity)+"桶",1)]),_:1})]),_:1}),o(l,{class:"section"},{default:u(()=>[o(l,{class:"title"},{default:u(()=>[m("履约步骤")]),_:1}),"transit"===r(U).status?(n(),t(c,{key:0,class:"text-button",onClick:s[1]||(s[1]=a=>G.value=!G.value)},{default:u(()=>[m(" 异常上报 ")]),_:1})):y("",!0)]),_:1}),o(l,{class:"card"},{default:u(()=>[o(l,{class:"link-row",onClick:s[2]||(s[2]=a=>"transit"===r(U).status&&async function(){if(!H.value&&!J.busy){H.value=!0;try{await J.execute(await S())}catch(a){j(a instanceof Error?a.message:"定位失败")}finally{H.value=!1}}}())},{default:u(()=>[o(l,{class:"icon-tile green"},{default:u(()=>[m("1")]),_:1}),o(l,{class:"grow"},{default:u(()=>[o(l,{class:"strong"},{default:u(()=>[m("到达打卡")]),_:1}),o(l,{class:"muted"},{default:u(()=>[m("记录当前上报位置,不代表自动到场认证")]),_:1})]),_:1}),o(e,{class:"tag"},{default:u(()=>[m(p(H.value||r(J).busy?"定位中":"打卡"),1)]),_:1})]),_:1}),o(l,{class:"link-row",onClick:s[3]||(s[3]=a=>r(R)("/pages/driver/device?id="+r(U).id))},{default:u(()=>[o(l,{class:"icon-tile"},{default:u(()=>[m("2")]),_:1}),o(l,{class:"grow"},{default:u(()=>[o(l,{class:"strong"},{default:u(()=>[m("核对企业设备")]),_:1}),o(l,{class:"muted"},{default:u(()=>[m("扫描或输入已绑定设备编号")]),_:1})]),_:1}),o(e,null,{default:u(()=>[m("›")]),_:1})]),_:1}),o(l,{class:"link-row",onClick:s[4]||(s[4]=a=>r(R)("/pages/driver/fulfill?id="+r(U).id))},{default:u(()=>[o(l,{class:"icon-tile"},{default:u(()=>[m("3")]),_:1}),o(l,{class:"grow"},{default:u(()=>[o(l,{class:"strong"},{default:u(()=>[m("确认数量并拍照")]),_:1}),o(l,{class:"muted"},{default:u(()=>[m("记录收货、空桶及履约照片")]),_:1})]),_:1}),o(e,null,{default:u(()=>[m("›")]),_:1})]),_:1})]),_:1}),G.value?(n(),t(l,{key:0,class:"card"},{default:u(()=>[o(w,{modelValue:F.value,"onUpdate:modelValue":s[5]||(s[5]=a=>F.value=a),class:"input",placeholder:"描述现场异常情况",maxlength:"255"},null,8,["modelValue"]),o(c,{class:"primary",style:{"margin-top":"20rpx"},disabled:r(K).busy,onClick:O},{default:u(()=>[m(" 提交异常 ")]),_:1},8,["disabled"]),o(l,{class:"muted"},{default:u(()=>[m("异常上报不会自动取消或完成任务。")]),_:1})]),_:1})):y("",!0),o(C,{command:r(D)},null,8,["command"]),o(C,{command:r(J)},null,8,["command"]),o(C,{command:r(K)},null,8,["command"]),r(U).records.length?(n(),t(l,{key:1,class:"card"},{default:u(()=>[o(l,{class:"title"},{default:u(()=>[m("任务记录")]),_:1}),(n(!0),i(f,null,k(r(U).records,a=>(n(),t(l,{key:a.id,class:"link-row"},{default:u(()=>[o(l,{class:"grow"},{default:u(()=>{return[m(p((s=a.kind,{checkin:"到达打卡",draft:"保存草稿",complete:"完成签收",exception:"异常上报",depart:"已出发"}[s]||s)),1)];var s}),_:2},1024),o(e,{class:"muted small"},{default:u(()=>[m(p(a.created_at),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):y("",!0),["assigned","transit"].includes(r(U).status)?(n(),t(l,{key:2,class:"fixed-action"},{default:u(()=>["assigned"===r(U).status?(n(),t(c,{key:0,class:"primary",disabled:r(D).busy,loading:r(D).busy,onClick:L},{default:u(()=>[m(" 开始配送 ")]),_:1},8,["disabled","loading"])):(n(),t(c,{key:1,class:"primary",onClick:s[6]||(s[6]=a=>r(R)("/pages/driver/fulfill?id="+r(U).id))},{default:u(()=>[m(" 继续履约 ")]),_:1}))]),_:1})):y("",!0)],64)):y("",!0)]),_:1})]),_:1})}}});export{E as default};