|
|
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["package_sub/pages/AddOrder/AddOrder"],{310:function(e,t,n){"use strict";(function(e,t){var r=n(4);n(26);r(n(25));var i=r(n(311));e.__webpack_require_UNI_MP_PLUGIN__=n,t(i.default)}).call(this,n(1)["default"],n(2)["createPage"])},311:function(e,t,n){"use strict";n.r(t);var r=n(312),i=n(314);for(var o in i)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(o);n(316),n(318);var a,u=n(35),s=Object(u["default"])(i["default"],r["render"],r["staticRenderFns"],!1,null,"6614d6de",null,!1,r["components"],a);s.options.__file="package_sub/pages/AddOrder/AddOrder.vue",t["default"]=s.exports},312:function(e,t,n){"use strict";n.r(t);var r=n(313);n.d(t,"render",(function(){return r["render"]})),n.d(t,"staticRenderFns",(function(){return r["staticRenderFns"]})),n.d(t,"recyclableRender",(function(){return r["recyclableRender"]})),n.d(t,"components",(function(){return r["components"]}))},313:function(e,t,n){"use strict";var r;n.r(t),n.d(t,"render",(function(){return i})),n.d(t,"staticRenderFns",(function(){return a})),n.d(t,"recyclableRender",(function(){return o})),n.d(t,"components",(function(){return r}));try{r={uIcon:function(){return n.e("uview-ui/components/u-icon/u-icon").then(n.bind(null,390))},uButton:function(){return n.e("uview-ui/components/u-button/u-button").then(n.bind(null,345))},uTag:function(){return n.e("uview-ui/components/u-tag/u-tag").then(n.bind(null,446))},uForm:function(){return n.e("uview-ui/components/u-form/u-form").then(n.bind(null,397))},uFormItem:function(){return Promise.all([n.e("common/vendor"),n.e("uview-ui/components/u-form-item/u-form-item")]).then(n.bind(null,404))},uInput:function(){return Promise.all([n.e("common/vendor"),n.e("uview-ui/components/u-input/u-input")]).then(n.bind(null,415))},uRadioGroup:function(){return Promise.all([n.e("common/vendor"),n.e("uview-ui/components/u-radio-group/u-radio-group")]).then(n.bind(null,453))},uRadio:function(){return n.e("uview-ui/components/u-radio/u-radio").then(n.bind(null,460))},uUpload:function(){return n.e("uview-ui/components/u-upload/u-upload").then(n.bind(null,467))},uqrcode:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/Sansnn-uQRCode/components/uqrcode/uqrcode")]).then(n.bind(null,373))},uPopup:function(){return n.e("uview-ui/components/u-popup/u-popup").then(n.bind(null,366))},uSelect:function(){return n.e("uview-ui/components/u-select/u-select").then(n.bind(null,422))},uPicker:function(){return Promise.all([n.e("common/vendor"),n.e("uview-ui/components/u-picker/u-picker")]).then(n.bind(null,474))},uActionSheet:function(){return n.e("uview-ui/components/u-action-sheet/u-action-sheet").then(n.bind(null,484))},uCheckbox:function(){return n.e("uview-ui/components/u-checkbox/u-checkbox").then(n.bind(null,491))},uTopTips:function(){return n.e("uview-ui/components/u-top-tips/u-top-tips").then(n.bind(null,498))}}}catch(u){if(-1===u.message.indexOf("Cannot find module")||-1===u.message.indexOf(".vue"))throw u;console.error(u.message),console.error("1. 排查组件名称拼写是否正确"),console.error("2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"),console.error("3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件")}var i=function(){var e,t=this,n=t.$createElement,r=(t._self._c,0===t.form.pay_status&&t.form.nurse_id&&t.nurse.id?t.workStatus.get(t.form.status):null),i=0===t.form.pay_status&&t.orderId?t.sex(t.form.accompany_sex):null,o=0!==t.form.pay_status||1!=t.form.type||t.orderId?null:(e={},e["Authorization"]="Bearer "+t.token,e),a=0===t.form.pay_status?{"letter-spacing":"2rpx"}:null,u=2!==t.form.pay_status||1!=t.form.type&&2!=t.form.type?null:t.sex(t.form.accompany_sex);t._isMounted||(t.e0=function(e){t.isShowService=!0},t.e1=function(e){!t.orderId&&(t.isShowHospital=!0)},t.e2=function(e){!t.orderId&&(t.isShowTime=!0)},t.e3=function(e){t.isShowMoreAction=!0},t.e4=function(e){t.showPriceEdit=!1}),t.$mp.data=Object.assign({},{$root:{g0:r,m0:i,a0:o,a1:a,m1:u}})},o=!1,a=[];i._withStripped=!0},314:function(e,t,n){"use strict";n.r(t);var r=n(315),i=n.n(r);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);t["default"]=i.a},315:function(e,t,n){"use strict";(function(e){var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(30)),o=r(n(32)),a=n(206),u=n(65),s=function(){n.e("component/serviceArchive/service-archive").then(function(){return resolve(n(505))}.bind(null,n)).catch(n.oe)},c=function(){Promise.all([n.e("common/vendor"),n.e("uni_modules/Sansnn-uQRCode/components/uqrcode/uqrcode")]).then(function(){return resolve(n(373))}.bind(null,n)).catch(n.oe)},d={components:{serviceArchive:s,uqrcode:c},data:function(){var e=this;return{paidPrice:0,workStatus:new Map([[0,"待处理"],[1,"已到客户家"],[2,"已接到客户"],[3,"已到医院"],[4,"完成服务"]]),payBtnStyle:{"background-image":"linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%)","font-weight":"500","font-size":"28rpx",color:"#fff",width:"288rpx","margin-right":"25rpx"},isShowMoreAction:!1,isShowService:!1,fileList:[],isShowHospital:!1,isShowTime:!1,isShowArchive:!1,list_service:[],list_hospital:[],list_archive:[],orderId:"",nurse:{},form:{type:1,is_show:!1,accompany_product_id:"",user_archive_id:"",city:"",hospital:"",time:"",my_provide:1,appoint_name:"",appoint_mobile:"",accompany_sex:"",file_ids:"",content:"",pay_status:0,no:"",quantity:1},rules:{user_archive_id:[{type:"number",required:!0,message:"请选择人员",trigger:["blur","change"]}],time:[{required:!0,message:"请选择时间",trigger:["blur","change"]}],hospital:[{validator:function(t,n,r){return 2==e.form.type||!!n},message:"请选择就诊医院",trigger:["blur","change"]}],appoint_name:[{required:!0,message:"请输入预约人",trigger:["blur","change"]}],appoint_mobile:[{required:!0,message:"请输入预约人电话",trigger:["blur","change"]},{validator:function(t,n,r){return e.$u.test.mobile(n)},message:"预约人电话不正确",trigger:["change","blur"]}],content:[{required:!0,message:"请填写其他服务需求",trigger:["blur","change"]}]},action:"".concat(a.ROOTPATH,"/api/mobile/upload-file"),isAuth:!1,isShowPayPopup:!1,payQrCode:"",payTimer:null,showPriceEdit:!1,editPrice:"",showPayQrCode:!1}},onReady:function(){this.$refs.uForm.setRules(this.rules)},onLoad:function(t){this.form.can_multi_num=t.can_multi_num?Number(t.can_multi_num):0,this.form.accompany_product_id=t.id?Number(t.id):"",this.form.type=Number(t.type),e.setNavigationBarTitle({title:1==t.type?"预约陪诊":"预约居家照护"}),this.getList(t.type),this.getHospital(t.site_id),!this.orderId&&t.order_id&&(this.orderId=t.order_id,this.getDetail()),this.showPayQrCode=!1,this.payQrCode=""},onUnload:function(){this.payTimer&&(clearInterval(this.payTimer),this.payTimer=null)},methods:{getList:function(e){var t=this;return(0,o.default)(i.default.mark((function n(){var r;return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.$u.api.accompanyProduct({type:e,page:1,page_size:999});case 2:r=n.sent,t.list_service=r.data;case 4:case"end":return n.stop()}}),n)})))()},getDetail:function(t){var n=this;return(0,o.default)(i.default.mark((function r(){return i.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return console.log(t,n.orderId),r.next=3,n.$u.api.accompanyOrderDetail({id:t||n.orderId}).then((function(t){for(var r in n.form)t.hasOwnProperty(r)&&(n.form[r]=t[r]);n.form.quantity||(n.form.quantity=1),n.form["created_at"]=t["created_at"],n.form["status"]=t["status"],n.form["nurse_id"]=t["nurse_id"],n.nurse=t["nurse"],n.fileList=t.files.map((function(e){return{url:e.url}})),n.paidPrice=t.price,e.setNavigationBarTitle({title:t.accompany_product?t.accompany_product.name:"订单详情"})}));case 3:case"end":return r.stop()}}),r)})))()},getHospital:function(e){var t=this;return(0,o.default)(i.default.mark((function n(){var r;return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.$u.api.listHospital({site_id:e,page:1,page_size:999});case 2:r=n.sent,t.list_hospital=r.data;case 4:case"end":return n.stop()}}),n)})))()},getUserArchive:function(){var e=this;return(0,o.default)(i.default.mark((function t(){var n;return i.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$u.api.userArchive({page:1,page_size:999,user_mobile:e.form.appoint_mobile});case 2:n=t.sent,e.list_archive=n.data;case 4:case"end":return t.stop()}}),t)})))()},changeService:function(e){this.info=e,this.form.accompany_product_id=e.id,this.getHospital(e.site_id),this.isShowService=!1,this.form.hospital="",this.form.quantity=1},increaseQuantity:function(){this.form.quantity<99?this.form.quantity++:e.showToast({title:"最大数量为99",icon:"none"})},decreaseQuantity:function(){this.form.quantity>1?this.form.quantity--:e.showToast({title:"最小数量为1",icon:"none"})},confirmHospital:function(e){this.form.hospital=e[0].value},confirmTime:function(e){this.form.time="".concat(e.year,"-").concat(e.month,"-").concat(e.day," ").concat(e.hour,":").concat(e.minute,":00")},confirmArchive:function(e){this.form.user_archive_id=e.id,this.isShowArchive=!1},addArchive:function(){this.$refs.serviceArchive.isShow=!0},editUser:function(e){this.$refs.serviceArchive.form=e,this.$refs.serviceArchive.isShow=!0},delUser:function(t){var n=this;e.showModal({title:"确认删除该人员?",success:function(){var e=(0,o.default)(i.default.mark((function e(r){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!r.confirm){e.next=13;break}if(e.prev=1,null!==t&&void 0!==t&&t.id){e.next=4;break}return e.abrupt("return");case 4:return e.next=6,n.$u.api.userArchiveDestroy({id:null===t||void 0===t?void 0:t.id});case 6:e.sent,n.getUserArchive(),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](1),console.error(e.t0);case 13:case"end":return e.stop()}}),e,null,[[1,10]])})));function r(t){return e.apply(this,arguments)}return r}()})},addSuccess:function(e){e&&this.getUserArchive()},pay:function(){var t=this;this.orderId?this.payOrder(this.form):this.$refs.uForm.validate(function(){var n=(0,o.default)(i.default.mark((function n(r){var o,a,s,c;return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!r){n.next=19;break}if(console.log("验证通过"),t.form.file_ids=(null===(o=t.$refs.uUpload)||void 0===o||null===(a=o.lists)||void 0===a||null===(s=a.filter((function(e){return 100===e.progress})))||void 0===s?void 0:s.map((function(e){var t;return null===(t=e.response)||void 0===t?void 0:t.id})))||[],1!==t.form.type){n.next=7;break}if(!(t.form.file_ids.length<1&&(0,u.isNull)(t.form.content))){n.next=7;break}return e.showToast({title:"请填写服务需求或上传资料",icon:"none"}),n.abrupt("return");case 7:if(2!==t.form.type){n.next=11;break}if(!(0,u.isNull)(t.form.content)){n.next=11;break}return e.showToast({title:"请填写服务需求",icon:"none"}),n.abrupt("return");case 11:return t.form.price=t.orderId?t.paidPrice:t.accompanyProduct.price*t.form.quantity,t.form.total=t.form.quantity.toString(),n.next=15,t.$u.api.accompanyProductOrder(t.form);case 15:c=n.sent,c&&(console.log(c),t.orderId=c.id,t.paidPrice=c.price,t.payOrder(c)),n.next=20;break;case 19:console.log("验证失败");case 20:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())},payOrder:function(t){var n=this;return(0,o.default)(i.default.mark((function r(){var o,a,u;return i.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,n.$u.api.accompanyPay({no:t.no});case 3:if(o=r.sent,a=o.result,n.form.pay_status=1,n.form.no=t.no,n.form.created_at=t.time,console.log("支付结果:",a),e.showLoading({title:"生成支付二维码...",mask:!0}),n.payQrCode=a.code_url,n.showPayQrCode=!0,console.log("二维码URL:",n.payQrCode),console.log("显示二维码:",n.showPayQrCode),n.payQrCode){r.next=18;break}return console.error("二维码URL为空"),e.showToast({title:"二维码生成失败",icon:"none"}),r.abrupt("return");case 18:e.hideLoading(),n.startPayCheck(),r.next=26;break;case 22:r.prev=22,r.t0=r["catch"](0),console.log("支付错误:",r.t0),r.t0.data&&(10002===r.t0.data.errcode||r.t0.data.errmsg&&r.t0.data.errmsg.includes("订单待审核"))?e.showModal({title:"订单待审核",content:"订单待审核,审核通过后才能支付",showCancel:!1,success:function(){e.switchTab({url:"/pages/index/staffIndex",success:function(){setTimeout((function(){e.$emit("switchToPendingReview")}),100)}})}}):e.showToast({title:(null===(u=r.t0.data)||void 0===u?void 0:u.errmsg)||"支付失败",icon:"none"});case 26:case"end":return r.stop()}}),r,null,[[0,22]])})))()},startPayCheck:function(){var t=this;this.payTimer=setInterval((0,o.default)(i.default.mark((function n(){var r;return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$u.api.accompanyOrderDetail({id:t.orderId});case 3:r=n.sent,1===r.pay_status&&(clearInterval(t.payTimer),t.showPayQrCode=!1,t.form.pay_status=2,e.showToast({title:"支付成功",icon:"success"})),n.next=10;break;case 7:n.prev=7,n.t0=n["catch"](0),console.error("检查支付状态失败",n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,7]])}))),3e3)},beforeDestroy:function(){this.payTimer&&clearInterval(this.payTimer)},moreActionClick:function(t){var n=this,r=this.moreActionList[t].text,i=function(){};switch(this.moreActionList[t].tag){case"cancel":i=function(){return n.$u.api.accompanyProductOrder({id:n.orderId,pay_status:-1}).then((function(e){n.getDetail(),n.form.pay_status=2}))};break;case"chargeback":i=function(){return n.$u.api.orderRefund({id:n.orderId}).then((function(t){n.getDetail().then((function(t){n.form.status&&e.showModal({title:"已成功提交退款申请",content:"当前订单已分配护工,需等待客服处理",showCancel:!1})}))}))};break}e.showModal({title:"操作",content:"是否确认".concat(r,"?"),success:function(e){e.confirm&&i()},fail:function(){}})},confirmEditPrice:function(){if(!this.editPrice||isNaN(this.editPrice)||Number(this.editPrice)<0)e.showToast({title:"请输入有效金额",icon:"none"});else{if(this.orderId)this.paidPrice=Number(this.editPrice);else{var t=Number(this.editPrice),n=this.form.quantity||1;this.accompanyProduct.price=t/n}this.showPriceEdit=!1}},handleArchiveClick:function(){var t=this;return(0,o.default)(i.default.mark((function n(){return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.form.appoint_name){n.next=4;break}return e.$u.toast("请先填写预约人"),t.$refs.appointNameInput&&t.$refs.appointNameInput.focus&&t.$refs.appointNameInput.focus(),n.abrupt("return");case 4:if(t.form.appoint_mobile){n.next=8;break}return e.$u.toast("请先填写预约人电话"),t.$refs.appointMobileInput&&t.$refs.appointMobileInput.focus&&t.$refs.appointMobileInput.focus(),n.abrupt("return");case 8:return n.next=10,t.getUserArchive();case 10:t.isShowArchive=!0;case 11:case"end":return n.stop()}}),n)})))()},onQrCodeSuccess:function(){console.log("二维码生成成功"),e.showToast({title:"二维码生成成功",icon:"success"})},onQrCodeError:function(t){console.error("二维码生成错误:",t),e.showToast({title:"二维码生成失败: "+(t.errMsg||"未知错误"),icon:"none"})},openPriceEdit:function(){var e=this.orderId?this.paidPrice:(this.accompanyProduct.price||0)*(this.form.quantity||1);this.editPrice=e.toString(),this.showPriceEdit=!0},scrollToPayQr:function(){var t=(0,o.default)(i.default.mark((function t(){var n,r,o=this;return i.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.$u.api.accompanyOrderPayParams({no:this.form.no});case 3:return n=t.sent,console.log("获取支付参数:",n),r=n.config||n,t.next=8,e.requestPayment({provider:"wxpay",timeStamp:r.timestamp||r.timeStamp,nonceStr:r.nonceStr,package:r.package,signType:r.signType,paySign:r.paySign,success:function(){e.showToast({title:"支付成功",icon:"success"}),o.getDetail()},fail:function(t){t.errMsg&&t.errMsg.indexOf("cancel")>-1?e.showToast({title:"已取消支付",icon:"none"}):(e.showToast({title:"支付失败",icon:"none"}),console.log("支付失败",t))}});case 8:t.next=13;break;case 10:t.prev=10,t.t0=t["catch"](0),e.showToast({title:t.t0.errmsg||"拉起支付失败",icon:"none"});case 13:case"end":return t.stop()}}),t,this,[[0,10]])})));function n(){return t.apply(this,arguments)}return n}()},computed:{stepList:function(){return[{name:"填写预约"},{name:"在线支付"},{name:"服务完成"}]},currentStep:function(){return this.orderId?0===this.form.pay_status?1:1===this.form.pay_status?2:2===this.form.pay_status?3:0:1},sex:function(){return function(e){return 1==e?"男":2==e?"女":"都可以"}},token:function(){var t;return this.vuex_token?this.vuex_token:null===(t=e.getStorageSync("lifeData"))||void 0===t?void 0:t.vuex_token},accompanyProduct:function(){var e=this;return this.list_service.find((function(t){return t.id===e.form.accompany_product_id}))||{}},hospital:function(){var e=this;return this.list_hospital.find((function(t){return t.id==e.form.hospital}))||{}},archive:function(){var e=this;return this.list_archive.find((function(t){return t.id===e.form.user_archive_id}))||{}},moreActionList:function(){return 0===this.form.pay_status?[{text:"取消订单",fontSize:28,tag:"cancel"}]:1===this.form.pay_status?[{text:"退单",fontSize:28,tag:"chargeback"}]:void 0}}};t.default=d}).call(this,n(2)["default"])},316:function(e,t,n){"use strict";n.r(t);var r=n(317),i=n.n(r);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);t["default"]=i.a},317:function(e,t,n){},318:function(e,t,n){"use strict";n.r(t);var r=n(319),i=n.n(r);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);t["default"]=i.a},319:function(e,t,n){}},[[310,"common/runtime","common/vendor"]]]);
|