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