This commit is contained in:
曹辉 2023-03-13 13:40:12 +08:00
parent 7b66aa9e50
commit 8da6c547cf

View File

@ -9,18 +9,13 @@
label-width="100px"
>
<el-form-item label="所属护理站" prop="nurseStationName">
<el-select
v-model="queryParams.nurseStationId"
placeholder="请选择护理站"
@change="handleQuery"
>
<el-select v-model="queryParams.nurseStationId" placeholder="请选择护理站" @change="handleQuery">
<el-option
v-for="item in handstationlist"
:key="item.id"
:label="item.nurseStationName"
:value="item.id"
>
</el-option>
></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单编号" prop="orderNo">
@ -32,17 +27,13 @@
/>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-select
v-model="queryParams.orderStatus"
placeholder="请选择订单状态"
>
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态">
<el-option
v-for="item in orderStatuslist"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员名称" prop="patientName">
@ -54,16 +45,8 @@
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
@ -71,61 +54,27 @@
:data="OrderDetailsList"
@selection-change="handleSelectionChange"
>
<el-table-column
label="所属护理站"
align="center"
prop="nurseStationName"
/>
<el-table-column label="所属护理站" align="center" prop="nurseStationName" />
<el-table-column label="订单编号" align="center" prop="orderNo" />
<el-table-column
label="护理项目名称"
align="center"
prop="nurseItemName"
/>
<el-table-column label="护理项目名称" align="center" prop="nurseItemName" />
<el-table-column label="订单总金额" align="center" prop="totalPrice" />
<el-table-column label="订单状态" align="center" prop="orderStatus">
<template slot-scope="scope">
<el-button v-if="scope.row.orderStatus == 'WAIT_PAY'"
>待付款</el-button
>
<el-button type="primary" v-if="scope.row.orderStatus == 'PAY'"
>已付款</el-button
>
<el-button
type="primary"
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'"
>待派单</el-button
>
<el-button type="primary" v-if="scope.row.orderStatus == 'NOT_FINISH'"
>未完成</el-button
>
<el-button type="primary" v-if="scope.row.orderStatus == 'COMPLETE'"
>待评价</el-button
>
<el-button type="success" v-if="scope.row.orderStatus == 'EVALUATED'"
>服务完成</el-button
>
<el-button
type="warning"
v-if="scope.row.orderStatus == 'WAIT_REFUND'"
>退款中</el-button
>
<el-button type="warning" v-if="scope.row.orderStatus == 'REFUNDED'"
>退款成功</el-button
>
<el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'"
>已取消</el-button
>
<el-button v-if="scope.row.orderStatus == 'WAIT_PAY'">待付款</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'PAY'">已付款</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'WAIT_DISPATCH'">待派单</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'NOT_FINISH'">未完成</el-button>
<el-button type="primary" v-if="scope.row.orderStatus == 'COMPLETE'">待评价</el-button>
<el-button type="success" v-if="scope.row.orderStatus == 'EVALUATED'">服务完成</el-button>
<el-button type="warning" v-if="scope.row.orderStatus == 'WAIT_REFUND'">退款中</el-button>
<el-button type="warning" v-if="scope.row.orderStatus == 'REFUNDED'">退款成功</el-button>
<el-button type="danger" v-if="scope.row.orderStatus == 'CANCEL'">已取消</el-button>
</template>
</el-table-column>
<el-table-column label="下单时间" align="center" prop="createTime" />
<el-table-column label="会员名称" align="center" prop="patientName" />
<el-table-column label="护理员" align="center" prop="nursePersonName" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -133,8 +82,7 @@
icon="el-icon-zoom-in"
@click="seeLook(scope.row)"
v-hasPermi="['system:appointmentOrder:query']"
>查看</el-button
>
>查看</el-button>
<el-button
size="mini"
type="text"
@ -142,8 +90,7 @@
@click="dispatch(scope.row)"
v-hasPermi="['system:appointmentOrder:dispatch']"
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'"
>派单</el-button
>
>派单</el-button>
<el-button
size="mini"
type="text"
@ -151,8 +98,7 @@
v-if="scope.row.orderStatus == 'WAIT_REFUND'"
@click="cencel(scope.row)"
v-hasPermi="['system:appointmentOrder:confirmCancel']"
>取消预约</el-button
>
>取消预约</el-button>
<!-- <el-button
size="mini"
type="text"
@ -160,7 +106,7 @@
@click="handleDelete(scope.row)"
v-hasPermi="['system:nurseType:remove']"
>删除</el-button
> -->
>-->
</template>
</el-table-column>
</el-table>
@ -172,29 +118,13 @@
@pagination="getList"
/>
<!-- 查看弹框 -->
<el-dialog
title="查看预约订单信息"
:visible.sync="innerVisible4"
append-to-body
width="1280px"
>
<el-form
:inline="true"
ref="form"
:model="query"
:rules="rules"
label-width="130px"
>
<el-dialog title="查看预约订单信息" :visible.sync="innerVisible4" append-to-body width="1280px">
<el-form :inline="true" ref="form" :model="query" :rules="rules" label-width="130px">
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="query.orderNo" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-input
:value="switchOrderStatus(query.orderStatus)"
style="width: 250px"
disabled
>
</el-input>
<el-input :value="switchOrderStatus(query.orderStatus)" style="width: 250px" disabled></el-input>
</el-form-item>
<el-form-item label="订单总金额" prop="totalPrice">
<el-input v-model="query.totalPrice" disabled style="width: 250px" />
@ -203,35 +133,19 @@
<el-input v-model="query.orderCount" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
<el-input
v-model="query.nurseItemName"
disabled
style="width: 250px"
/>
<el-input v-model="query.nurseItemName" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="服务时间" prop="time">
<el-input v-model="query.time" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="护理项目时长" prop="itemServeDurationUnit">
<el-input
v-model="query.itemServeDurationUnit"
disabled
style="width: 250px"
/>
<el-input v-model="query.itemServeDurationUnit" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName">
<el-input
v-model="query.nurseStationName"
disabled
style="width: 250px"
/>
<el-input v-model="query.nurseStationName" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="服务地址" prop="serviceAddress">
<el-input
v-model="query.serviceAddress"
disabled
style="width: 250px"
/>
<el-input v-model="query.serviceAddress" disabled style="width: 250px" />
</el-form-item>
<el-form-item
label="服务到岗照片"
@ -240,7 +154,7 @@
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
<img class="img" :src="baseurl + query.onDutyPictureUrl" alt="" />
<img class="img" :src="baseurl + query.onDutyPictureUrl" alt />
</el-form-item>
<el-form-item
label="服务结束照片"
@ -249,7 +163,7 @@
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
<img class="img" :src="baseurl + query.serviceEndPictureUrl" alt="" />
<img class="img" :src="baseurl + query.serviceEndPictureUrl" alt />
</el-form-item>
<el-form-item
label="用户确认签名"
@ -258,46 +172,23 @@
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
<img
class="img"
:src="baseurl + query.userSignaturePictureUrl"
alt=""
/>
<img class="img" :src="baseurl + query.userSignaturePictureUrl" alt />
</el-form-item>
<el-form-item
label="评价满意度"
prop="evaluateSatisfaction"
v-if="query.orderStatus == 'EVALUATED'"
>
<el-input
v-model="query.evaluateSatisfaction"
disabled
style="width: 250px"
/>
<el-input v-model="query.evaluateSatisfaction" disabled style="width: 250px" />
</el-form-item>
<el-table
:data="query.appointmentOrderConsumableList"
align="center"
style="margin: 10px 0 20px 0; padding-bottom: 20px"
>
<el-table-column
prop="orderConsumableName"
label="耗材包名称"
align="center"
>
</el-table-column>
<el-table-column
prop="orderConsumableCount"
label="耗材包数量"
align="center"
>
</el-table-column>
<el-table-column
prop="orderConsumablePrice"
label="耗材包价格"
align="center"
>
</el-table-column>
<el-table-column prop="orderConsumableName" label="耗材包名称" align="center"></el-table-column>
<el-table-column prop="orderConsumableCount" label="耗材包数量" align="center"></el-table-column>
<el-table-column prop="orderConsumablePrice" label="耗材包价格" align="center"></el-table-column>
</el-table>
<el-form-item
label="预约服务位置"
@ -305,11 +196,7 @@
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
<el-input
v-model="query.serviceLocationName"
disabled
style="width: 250px"
/>
<el-input v-model="query.serviceLocationName" disabled style="width: 250px" />
</el-form-item>
</el-form>
<div
@ -321,24 +208,17 @@
></div>
</el-dialog>
<!-- 派单弹框 -->
<el-dialog
title="派单"
:visible.sync="innerdispatch"
append-to-body
width="500px"
height="100px"
>
<el-dialog title="派单" :visible.sync="innerdispatch" append-to-body width="500px" height="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-button
type=""
type
v-if="nurseName == '请选择护理员'"
style="width: 300px; text-align: left; height: 36px; color: #c0c4cc"
@click="clicknursePersonName()"
>{{ nurseName }}</el-button
>
>{{ nurseName }}</el-button>
<el-button
type=""
type
@click="clicknursePersonName()"
v-else
style="
@ -347,8 +227,7 @@
height: 36px;
padding-left: -10px;
"
>{{ nurseName }}</el-button
>
>{{ nurseName }}</el-button>
</el-form-item>
<!-- <el-button
type=""
@ -361,7 +240,7 @@
padding-left: -10px;
"
>{{ item.departmentName }}</el-button
> -->
>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -369,42 +248,22 @@
</div>
</el-dialog>
<!-- 取消预约弹框 -->
<el-dialog
title="取消预约"
:visible.sync="innerrefund"
append-to-body
width="500px"
>
<el-dialog title="取消预约" :visible.sync="innerrefund" append-to-body width="500px">
<el-form :inline="true" :rules="rules" label-width="120px">
<el-form-item label="订单编号" prop="orderNo">
<el-input
style="width: 260px"
v-model="query.orderNo"
clearable
:disabled="true"
/>
<el-input style="width: 260px" v-model="query.orderNo" clearable :disabled="true" />
</el-form-item>
<el-form-item label="服务项目" prop="nurseItemName">
<el-input
v-model="query.nurseItemName"
style="width: 260px"
clearable
:disabled="true"
/>
<el-input v-model="query.nurseItemName" style="width: 260px" clearable :disabled="true" />
</el-form-item>
<el-form-item label="会员姓名" prop="patientName">
<el-input
v-model="query.patientName"
style="width: 260px"
clearable
:disabled="true"
/>
<el-input v-model="query.patientName" style="width: 260px" clearable :disabled="true" />
</el-form-item>
<el-form-item label="退款原因" prop="cancelAppointmentReason">
<el-input
style="width: 260px"
v-model="query.cancelAppointmentReason"
placeholder=""
placeholder
clearable
type="textarea"
:rows="5"
@ -418,11 +277,7 @@
</div>
</el-dialog>
<!-- 姓名弹框 -->
<el-dialog
:visible.sync="nursePersonNameinfo"
width="1000px"
append-to-body
>
<el-dialog :visible.sync="nursePersonNameinfo" width="1000px" append-to-body>
<el-form
ref="queryForm"
:model="querynursePersonname"
@ -431,24 +286,12 @@
:inline="true"
>
<el-form-item label="姓名" prop="nursePersonName" label-width="120">
<el-input
v-model="querynursePersonname.nursePersonName"
placeholder="请输入姓名"
clearable
/>
<el-input v-model="querynursePersonname.nursePersonName" placeholder="请输入姓名" clearable />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery2"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery2">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="dispatchlist" @cell-dblclick="nursePersonclick">
@ -469,38 +312,15 @@
></el-button>
</template>
</el-table-column>
<el-table-column
property="nursePersonCode"
label="护理员编号"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="nursePersonName"
label="护理站人员姓名"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="nursePersonType"
label="护理站人员类型"
width="150"
align="center"
>
<el-table-column property="nursePersonCode" label="护理员编号" width="150" align="center"></el-table-column>
<el-table-column property="nursePersonName" label="护理站人员姓名" width="150" align="center"></el-table-column>
<el-table-column property="nursePersonType" label="护理站人员类型" width="150" align="center">
<template slot-scope="scope">
{{ scope.row.nursePersonType == "NURSE" ? "护士" : "" }}
{{ scope.row.nursePersonType == "NURSE_TEACHER" ? "护理师" : "" }}
</template>
</el-table-column>
<el-table-column
property="phone"
label="手机号"
width="150"
align="center"
>
</el-table-column>
<el-table-column property="phone" label="手机号" width="150" align="center"></el-table-column>
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }}
@ -526,7 +346,7 @@ import {
getPerson,
dispatchsubmit,
xylWeChatRefundNotify,
appointmentOrderDetails,
appointmentOrderDetails
} from "@/api/system/order";
import { getListByUser } from "@/api/system/userlist.js";
import baseurl from "@/api/baseurl.js";
@ -540,40 +360,40 @@ export default {
orderStatuslist: [
{
value: "WAIT_PAY",
label: "待付款",
label: "待付款"
},
{
value: "PAY",
label: "已付款",
label: "已付款"
},
{
value: "WAIT_DISPATCH",
label: "待派单",
label: "待派单"
},
{
value: "NOT_FINISH",
label: "未完成",
label: "未完成"
},
{
value: "COMPLETE",
label: "待评价",
label: "待评价"
},
{
value: "EVALUATED",
label: "服务完成",
label: "服务完成"
},
{
value: "WAIT_REFUND",
label: "退款中",
label: "退款中"
},
{
value: "REFUNDED",
label: "退款成功",
label: "退款成功"
},
{
value: "CANCEL",
label: "已取消",
},
label: "已取消"
}
],
value: "",
//
@ -621,7 +441,7 @@ export default {
// orderStatus: null,
orderStatus: "",
pageNum: 1,
pageSize: 10,
pageSize: 10
},
querynursePersonname: {
orderNo: "",
@ -629,13 +449,13 @@ export default {
nursePersonType: null,
departmentName: null,
pageNum: 1,
pageSize: 10,
pageSize: 10
},
query: [],
//
form: {},
//
rules: {},
rules: {}
};
},
created() {
@ -648,7 +468,7 @@ export default {
this.map = new AMap.Map("container", {
resizeEnable: true, //
zoom: 18, //
center: [query.serveLocationLongitude, query.serveLocationLatitude], //
center: [query.serveLocationLongitude, query.serveLocationLatitude] //
});
var layer = new AMap.LabelsLayer({
zooms: [3, 20],
@ -656,7 +476,7 @@ export default {
// v1.4.15
collision: true,
// v1.4.15
animation: true,
animation: true
});
this.map.add(layer);
var labelMarker = new AMap.LabelMarker({
@ -670,7 +490,7 @@ export default {
size: [25, 34],
anchor: "bottom-center",
angel: 0,
retina: true,
retina: true
},
text: {
content: query.serviceLocationName,
@ -681,9 +501,9 @@ export default {
fontWeight: "normal",
fillColor: "#fff",
padding: "2, 5",
backgroundColor: "#22884f",
},
},
backgroundColor: "#22884f"
}
}
});
layer.add(labelMarker);
@ -693,9 +513,9 @@ export default {
var obj = {
orderNo: this.query.orderNo,
refundPrice: this.query.totalPrice,
refundReason: this.query.cancelAppointmentReason,
refundReason: this.query.cancelAppointmentReason
};
xylWeChatRefundNotify(obj).then((res) => {
xylWeChatRefundNotify(obj).then(res => {
if (res.code == 200) {
this.$modal.msgSuccess("退款有延迟,请耐心等待");
}
@ -737,11 +557,10 @@ export default {
this.loading = true;
const id = row.orderNo;
this.map = null;
appointmentOrderDetails(id).then((res) => {
res.data.forEach((e) => {
appointmentOrderDetails(id).then(res => {
res.data.forEach(e => {
if (e.serviceDate) {
e.time =
e.serviceDate + "-" + e.serviceStartTime + "-" + e.serviceEndTime;
e.time = e.serviceDate + "-" + e.serviceStartTime;
}
});
this.query = res.data[0];
@ -787,7 +606,7 @@ export default {
},
//
clicknursePersonName() {
getPerson(this.querynursePersonname).then((res) => {
getPerson(this.querynursePersonname).then(res => {
this.dispatchlist = res.rows;
this.total2 = res.total;
console.log(this.dispatchlist);
@ -798,9 +617,9 @@ export default {
submitForm() {
let params = {
nurseStationPersonId: this.nursePersonid,
orderNo: this.querynursePersonname.orderNo,
orderNo: this.querynursePersonname.orderNo
};
dispatchsubmit(params).then((res) => {
dispatchsubmit(params).then(res => {
if (res.code == 200) {
this.$modal.msgSuccess("派单成功");
}
@ -818,7 +637,7 @@ export default {
},
//
cencel(row) {
Detailed(row.orderNo).then((res) => {
Detailed(row.orderNo).then(res => {
this.query = res.data;
this.innerrefund = true;
});
@ -826,7 +645,7 @@ export default {
/** 查询护理类型信息列表 */
getList() {
this.loading = true;
appointmentOrderDetailsList(this.queryParams).then((response) => {
appointmentOrderDetailsList(this.queryParams).then(response => {
this.OrderDetailsList = response.rows;
this.total = response.total;
this.loading = false;
@ -843,7 +662,7 @@ export default {
patientName: "",
orderNo: "",
orderStatus: "",
createTime: null,
createTime: null
};
this.resetForm("form");
},
@ -853,7 +672,7 @@ export default {
this.getList();
},
handleQuery2() {
getPerson(this.querynursePersonname).then((res) => {
getPerson(this.querynursePersonname).then(res => {
this.dispatchlist = res.rows;
console.log(this.querynursePersonname);
// this.innerdispatch = true;
@ -880,7 +699,7 @@ export default {
},
//
info() {
getListByUser(this.queryParams).then((res) => {
getListByUser(this.queryParams).then(res => {
this.total = res.total;
this.nurseStationlist = res.rows;
this.queryParams.nurseStationId = res.rows[0].id;
@ -891,9 +710,9 @@ export default {
infos() {
var queryFor = {
pageNum: 1,
pageSize: 9999,
pageSize: 9999
};
getListByUser(queryFor).then((res) => {
getListByUser(queryFor).then(res => {
console.log(res);
this.handstationlist = res.rows;
});
@ -904,7 +723,7 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.ids = selection.map(item => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
@ -914,10 +733,10 @@ export default {
this.$confirm("是否确认删除订单信息的数据项?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
type: "warning"
})
.then(() => {
deldetailed(row.appointmentOrderId).then((res) => {
deldetailed(row.appointmentOrderId).then(res => {
this.$message.success("删除成功");
this.getList();
});
@ -929,12 +748,12 @@ export default {
this.download(
"system/nurseType/export",
{
...this.queryParams,
...this.queryParams
},
`nurseType_${new Date().getTime()}.xlsx`
);
},
},
}
}
};
</script>