import { appointmentOrderDetailsList, Detailed, deldetailed, getPerson, dispatchsubmit, xylWeChatRefundNotify, appointmentOrderDetails, } from "@/api/system/order"; import { getListByUser } from "@/api/system/userlist.js"; import baseurl from '@/api/baseurl.js' export default { name: "order", data() { return { map: null, baseurl: null, orderStatuslist: [{ value: "WAIT_PAY", label: "待付款", }, { value: "PAY", label: "已付款", }, { value: "WAIT_DISPATCH", label: "待派单", }, { value: "NOT_FINISH", label: "未完成", }, { value: "COMPLETE", label: "待评价", }, { value: "EVALUATED", label: "服务完成", }, { value: "WAIT_REFUND", label: "退款中", }, { value: 'REFUNDED', label: '退款成功' }, { value: "CANCEL", label: "已取消", } ], value: "", // 遮罩层 loading: true, innerVisible4: false, innerrefund: false, // 派单弹框 innerdispatch: false, // 姓名弹框 nursePersonNameinfo: false, // 选中数组 ids: [], // 非单个禁用 single: true, // 非多个禁用 multiple: true, // 显示搜索条件 showSearch: true, input: "", // 总条数 total: 0, // 护理类型信息表格数据 OrderDetailsList: [], dispatchlist: [], nurseName: "请选择护理员", nursePersonid: "", // querynursecencel:{ // appointmentOrderId:"", // }, appointmentOrderId: "", nurseStationPersonId: "", total2: 0, //护理站 stationtotal: 0, nurseStationlist: [], nurseStationshow: false, // 弹出层标题 title: "", // 是否显示弹出层 open: false, open2: false, // 查询参数 getListByUserquery: { pageNum: 1, pageSize: 10, }, queryParams: { patientName: null, orderNo: null, nurseStationId: null, // orderStatus: null, orderStatus: "", pageNum: 1, pageSize: 10, }, querynursePersonname: { orderNo: "", nursePersonName: null, nursePersonType: null, departmentName: null, pageNum: 1, pageSize: 10, }, query: {}, // 表单参数 form: {}, // 表单校验 rules: {}, }; }, created() { this.getList(); this.baseurl = baseurl }, mounted() {}, methods: { init(query) { this.map = new AMap.Map("container", { resizeEnable: true, //设置地图可缩放 zoom: 18, //设置地图的层级 center: [query.serveLocationLongitude, query.serveLocationLatitude], //设置地图中心点 更多配置项参照高德官网的配置 }); var layer = new AMap.LabelsLayer({ zooms: [3, 20], zIndex: 1000, // 开启标注避让,默认为开启,v1.4.15 新增属性 collision: true, // 开启标注淡入动画,默认为开启,v1.4.15 新增属性 animation: true, }); this.map.add(layer); var labelMarker = new AMap.LabelMarker({ name: query.serviceLocationName, position: [query.serveLocationLongitude, query.serveLocationLatitude], icon: { type: "image", image: "https://a.amap.com/jsapi_demos/static/images/poi-marker.png", clipOrigin: [280, 8], clipSize: [50, 68], size: [25, 34], anchor: "bottom-center", angel: 0, retina: true, }, text: { content: query.serviceLocationName, direction: "top", offset: [0, 0], style: { fontSize: 13, fontWeight: "normal", fillColor: "black", padding: "2, 5", backgroundColor: "", }, }, }); layer.add(labelMarker); }, //取消预约确定按钮 ordercacenl() { var obj = { orderNo: this.query.orderNo, refundPrice: this.query.totalPrice, refundReason: this.query.cancelAppointmentReason, }; xylWeChatRefundNotify(obj).then((res) => { if (res.code == 200) { this.$modal.msgSuccess("退款有延迟,请耐心等待"); } this.getList(); this.innerrefund = false; console.log(res); }); }, // 取消按钮 cencelbtn() { this.innerrefund = false; }, switchOrderStatus(orderStatus) { switch (orderStatus) { case "WAIT_PAY": return "待付款"; case "PAY": return "已付款"; case "WAIT_DISPATCH": return "待派单"; case "NOT_FINISH": return "未完成"; case "COMPLETE": return "待评价"; case "EVALUATED": return "服务完成"; case "WAIT_REFUND": return "退款中"; case "REFUNDED": return "退款成功"; case "CANCEL": return "已取消"; default: break; } }, // 查看 seeLook(row) { this.loading = true const id = row.orderNo; this.map = null appointmentOrderDetails(id).then((res) => { res.data.forEach((e) => { if (e.serviceDate) { e.time = e.serviceDate + "-" + e.serviceStartTime + "-" + e.serviceEndTime; } }); this.query = res.data[0]; if (row.orderStatus == 'EVALUATED') { if (res.data) { if (res.data[0].evaluateSatisfaction == 'COMMONLY') { this.query.evaluateSatisfaction = '一般' } else if (res.data[0].evaluateSatisfaction == 'SATISFIED') { this.query.evaluateSatisfaction = '满意' } else if (res.data[0].evaluateSatisfaction == 'DISSATISFIED') { this.query.evaluateSatisfaction = '不满意' } this.loading = false this.innerVisible4 = true; setTimeout(() => { this.init(this.query) }, 500); } else { this.loading = false this.innerVisible4 = true; setTimeout(() => { this.init(this.query) }, 500); } } else if (row.orderStatus == 'COMPLETE') { this.loading = false this.innerVisible4 = true; setTimeout(() => { this.init(this.query) }, 500); } else { this.loading = false this.innerVisible4 = true; } }); }, // 派单 dispatch(row) { this.querynursePersonname.orderNo = row.orderNo; this.nurseName = "请选择护理员"; this.innerdispatch = true; this.nursePersonid = ""; }, // 姓名弹框 clicknursePersonName() { getPerson(this.querynursePersonname).then((res) => { this.dispatchlist = res.rows; this.total2 = res.total; this.nursePersonNameinfo = true; }); }, // 姓名弹框确定按钮 submitForm() { let params = { nurseStationPersonId: this.nursePersonid, orderNo: this.querynursePersonname.orderNo, }; dispatchsubmit(params).then((res) => { if (res.code == 200) { this.$modal.msgSuccess("派单成功"); } this.innerdispatch = false; this.getList(); this.nurseName = "请选择护理员"; }); }, // 选择姓名按钮 nursePersonclick(row) { this.nursePersonid = row.nurseStationPersonId; this.nurseName = row.nursePersonName; this.nursePersonNameinfo = false; console.log(row); }, // 确认取消预约 cencel(row) { Detailed(row.orderNo).then((res) => { this.query = res.data; this.innerrefund = true; }); }, clicknurseStationshow() { this.nurseStationshow = false; }, //护理站重置 stationcancel() { this.getListByUserquery = { pageNum: 1, pageSize: 10, }; this.info(); }, //护理站页面选择护理站 choicestationid(item) { this.queryParams.nurseStationName = item.nurseStationName; this.queryParams.nurseStationId = item.id; this.nurseStationshow = false; }, //护理站list info() { getListByUser(this.getListByUserquery).then((res) => { this.nurseStationlist = res.rows; this.stationtotal = res.total; }); }, //页面所属护理站 ParamsStation(item) { this.info(); this.nurseStationshow = true }, /** 订单信息列表 */ getList() { this.loading = true; appointmentOrderDetailsList(this.queryParams).then((response) => { this.OrderDetailsList = response.rows; this.total = response.total; this.loading = false; }); }, // 取消按钮 cancel() { this.open = false; this.reset(); }, // 表单重置 reset() { this.form = { patientName: "", orderNo: "", orderStatus: "", createTime: null, }; this.resetForm("form"); }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, handleQuery2() { getPerson(this.querynursePersonname).then((res) => { this.dispatchlist = res.rows; console.log(this.querynursePersonname); // this.innerdispatch = true; }); }, /** 重置按钮操作 */ resetQuery() { this.resetForm("queryForm"); this.queryParams = { pageNum: 1, pageSize: 10, }; this.handleQuery(); }, resetQuery2() { this.resetForm("queryForm"); this.handleQuery2(); }, // 多选框选中数据 handleSelectionChange(selection) { this.ids = selection.map((item) => item.id); this.single = selection.length !== 1; this.multiple = !selection.length; }, /** 删除按钮操作 */ handleDelete(row) { // console.log('row :>> ', row); this.$confirm("是否确认删除订单信息的数据项?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { deldetailed(row.appointmentOrderId).then((res) => { this.$message.success("删除成功"); this.getList(); }); }) .catch(() => {}); }, /** 导出按钮操作 */ handleExport() { this.download( "system/nurseType/export", { ...this.queryParams, }, `nurseType_${new Date().getTime()}.xlsx` ); }, }, };