NurseStationOperateUI/src/views/system/order/index.vue

430 lines
17 KiB
Vue
Raw Normal View History

2022-11-04 14:22:46 +08:00
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
2022-11-16 10:00:42 +08:00
label-width="90px"
2022-11-04 14:22:46 +08:00
>
2022-11-11 10:34:10 +08:00
<el-form-item label="所属护理站" prop="nurseStationName">
2023-03-31 10:23:27 +08:00
<el-button type class="stationbtn" @click="ParamsStation(true)">
{{
2022-11-17 16:48:25 +08:00
queryParams.nurseStationName
2023-03-31 10:23:27 +08:00
}}
</el-button>
2022-11-11 10:34:10 +08:00
</el-form-item>
2022-11-04 14:22:46 +08:00
<el-form-item label="订单编号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
2023-03-31 10:23:27 +08:00
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态">
2022-11-04 14:22:46 +08:00
<el-option
v-for="item in orderStatuslist"
:key="item.value"
:label="item.label"
:value="item.value"
2023-03-31 10:23:27 +08:00
></el-option>
2022-11-04 14:22:46 +08:00
</el-select>
</el-form-item>
2022-11-16 10:00:42 +08:00
<el-form-item label="会员名称" prop="patientName">
<el-input
v-model="queryParams.patientName"
placeholder="请输入会员名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
2022-11-04 14:22:46 +08:00
<el-form-item>
2023-03-31 10:23:27 +08:00
<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>
2022-11-04 14:22:46 +08:00
</el-form-item>
</el-form>
2022-12-01 09:59:28 +08:00
2022-11-04 14:22:46 +08:00
<el-table
v-loading="loading"
:data="OrderDetailsList"
@selection-change="handleSelectionChange"
>
2023-03-31 10:23:27 +08:00
<el-table-column label="所属护理站" align="center" prop="nurseStationName" />
2022-11-04 14:22:46 +08:00
<el-table-column label="订单编号" align="center" prop="orderNo" />
2023-03-31 10:23:27 +08:00
<el-table-column label="护理项目名称" align="center" prop="nurseItemName" />
2022-11-08 17:10:11 +08:00
<el-table-column label="订单总金额" align="center" prop="totalPrice" />
2022-11-16 10:00:42 +08:00
<el-table-column label="下单时间" align="center" prop="createTime" />
2022-11-04 14:22:46 +08:00
<el-table-column label="订单状态" align="center" prop="orderStatus">
<template slot-scope="scope">
2023-03-31 10:23:27 +08:00
<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>
2022-11-04 14:22:46 +08:00
</template>
</el-table-column>
2022-11-16 10:00:42 +08:00
<el-table-column label="会员名称" align="center" prop="patientName" />
2023-01-12 15:21:32 +08:00
<el-table-column label="护理员" align="center" prop="nursePersonName" />
2023-03-31 10:23:27 +08:00
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
2022-11-04 14:22:46 +08:00
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
2022-11-04 14:22:46 +08:00
@click="seeLook(scope.row)"
2022-11-11 10:47:18 +08:00
v-hasPermi="['system:appointmentOrder:query']"
2023-03-31 10:23:27 +08:00
>查看</el-button>
2022-11-04 14:22:46 +08:00
<el-button
size="mini"
type="text"
icon="el-icon-s-promotion"
2022-11-04 14:22:46 +08:00
@click="dispatch(scope.row)"
2022-11-11 10:47:18 +08:00
v-hasPermi="['system:appointmentOrder:dispatch']"
2022-11-08 17:10:11 +08:00
v-if="scope.row.orderStatus == 'WAIT_DISPATCH'"
2023-03-31 10:23:27 +08:00
>派单</el-button>
2022-11-04 14:22:46 +08:00
<el-button
size="mini"
type="text"
icon="el-icon-error"
2022-11-08 17:10:11 +08:00
v-if="scope.row.orderStatus == 'WAIT_REFUND'"
@click="cencel(scope.row)"
2022-11-11 10:47:18 +08:00
v-hasPermi="['system:appointmentOrder:confirmCancel']"
2023-03-31 10:23:27 +08:00
>取消预约</el-button>
2022-11-15 16:38:39 +08:00
<!-- <el-button
2022-11-04 14:22:46 +08:00
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:nurseType:remove']"
>删除</el-button
2023-03-31 10:23:27 +08:00
>-->
2022-11-04 14:22:46 +08:00
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 查看弹框 -->
2023-03-31 10:23:27 +08:00
<el-dialog title="查看预约订单信息" :visible.sync="innerVisible4" append-to-body width="1280px">
<el-form :inline="true" ref="form" :model="query" :rules="rules" label-width="130px">
2022-11-08 17:10:11 +08:00
<el-form-item label="订单编号" prop="orderNo">
2022-11-18 12:50:42 +08:00
<el-input v-model="query.orderNo" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
2023-03-31 10:23:27 +08:00
<el-input :value="switchOrderStatus(query.orderStatus)" style="width: 250px" disabled></el-input>
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-14 16:45:24 +08:00
<el-form-item label="订单总金额" prop="totalPrice">
2022-11-18 12:50:42 +08:00
<el-input v-model="query.totalPrice" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="订单数量" prop="orderCount">
2022-11-18 12:50:42 +08:00
<el-input v-model="query.orderCount" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="护理项目名称" prop="nurseItemName">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.nurseItemName" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="服务时间" prop="time">
2022-11-18 12:50:42 +08:00
<el-input v-model="query.time" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="护理项目时长" prop="itemServeDurationUnit">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.itemServeDurationUnit" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-14 16:45:24 +08:00
<el-form-item label="护理站名称" prop="nurseStationName">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.nurseStationName" disabled style="width: 250px" />
2022-11-08 17:10:11 +08:00
</el-form-item>
<el-form-item label="服务地址" prop="serviceAddress">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.serviceAddress" disabled style="width: 250px" type="textarea" />
</el-form-item>
<el-form-item label="是否失能" prop="disablingCondition">
<el-input v-model="query.disablingCondition" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="失能情况" prop="disablingReason">
<el-input v-model="query.disablingReason" disabled style="width: 250px" />
</el-form-item>
<el-form-item label="健康状况" prop="diseaseName">
<el-input v-model="query.diseaseName" disabled style="width: 250px" type="textarea" />
2022-11-18 12:50:42 +08:00
</el-form-item>
<el-form-item
label="服务到岗照片"
prop="onDutyPictureUrl"
2022-11-21 09:39:43 +08:00
v-if="
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
2022-11-18 12:50:42 +08:00
>
2023-03-31 10:23:27 +08:00
<img class="img" :src="baseurl + query.onDutyPictureUrl" alt />
2022-11-18 12:50:42 +08:00
</el-form-item>
<el-form-item
label="服务结束照片"
prop="serviceEndPictureUrl"
2022-11-21 09:39:43 +08:00
v-if="
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
2022-11-18 12:50:42 +08:00
>
2023-03-31 10:23:27 +08:00
<img class="img" :src="baseurl + query.serviceEndPictureUrl" alt />
2022-11-18 12:50:42 +08:00
</el-form-item>
<el-form-item
label="用户确认签名"
prop="userSignaturePictureUrl"
2022-11-21 09:39:43 +08:00
v-if="
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
2022-11-18 12:50:42 +08:00
>
2023-03-31 10:23:27 +08:00
<img class="img" :src="baseurl + query.userSignaturePictureUrl" alt />
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-21 09:39:43 +08:00
<el-form-item
label="评价满意度"
prop="evaluateSatisfaction"
v-if="query.orderStatus == 'EVALUATED'"
>
2023-03-31 10:23:27 +08:00
<el-input v-model="query.evaluateSatisfaction" disabled style="width: 250px" />
2022-11-21 09:39:43 +08:00
</el-form-item>
2022-11-08 17:10:11 +08:00
<el-table
:data="query.appointmentOrderConsumableList"
align="center"
style="margin: 10px 0 20px 0; padding-bottom: 20px"
>
2023-03-31 10:23:27 +08:00
<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>
2022-11-08 17:10:11 +08:00
</el-table>
2022-12-01 09:59:28 +08:00
<el-form-item
label="预约服务位置"
v-if="
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
2023-03-31 10:23:27 +08:00
<el-input v-model="query.serviceLocationName" disabled style="width: 250px" />
2022-12-01 09:59:28 +08:00
</el-form-item>
2022-11-04 14:22:46 +08:00
</el-form>
2022-12-01 09:59:28 +08:00
<div
id="container"
v-if="
this.query.orderStatus == 'COMPLETE' ||
this.query.orderStatus == 'EVALUATED'
"
></div>
2022-11-04 14:22:46 +08:00
</el-dialog>
<!-- 派单弹框 -->
2023-03-31 10:23:27 +08:00
<el-dialog title="派单" :visible.sync="innerdispatch" append-to-body width="500px" height="100px">
2022-11-08 17:10:11 +08:00
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
2022-11-04 14:22:46 +08:00
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-button
2023-03-31 10:23:27 +08:00
type
2022-11-04 14:22:46 +08:00
v-if="nurseName == '请选择护理员'"
2022-11-08 17:10:11 +08:00
style="width: 300px; text-align: left; height: 36px; color: #c0c4cc"
2022-11-04 14:22:46 +08:00
@click="clicknursePersonName()"
2023-03-31 10:23:27 +08:00
>{{ nurseName }}</el-button>
2022-11-04 14:22:46 +08:00
<el-button
2023-03-31 10:23:27 +08:00
type
2022-11-04 14:22:46 +08:00
@click="clicknursePersonName()"
v-else
style="
2022-11-08 17:10:11 +08:00
width: 300px;
2022-11-04 14:22:46 +08:00
text-align: left;
height: 36px;
padding-left: -10px;
"
2023-03-31 10:23:27 +08:00
>{{ nurseName }}</el-button>
2022-11-04 14:22:46 +08:00
</el-form-item>
<!-- <el-button
type=""
@click="departclick(item, index)"
v-else
style="
width: 200px;
text-align: left;
height: 36px;
padding-left: -10px;
"
>{{ item.departmentName }}</el-button
2023-03-31 10:23:27 +08:00
>-->
2022-11-04 14:22:46 +08:00
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<!-- <el-button @click="cancel"> </el-button> -->
</div>
</el-dialog>
2022-11-10 14:48:42 +08:00
<!-- 取消预约弹框 -->
2023-03-31 10:23:27 +08:00
<el-dialog title="取消预约" :visible.sync="innerrefund" append-to-body width="500px">
2022-11-08 17:10:11 +08:00
<el-form :inline="true" :rules="rules" label-width="120px">
2022-11-09 18:25:04 +08:00
<el-form-item label="订单编号" prop="orderNo">
2023-03-31 10:23:27 +08:00
<el-input style="width: 260px" v-model="query.orderNo" clearable :disabled="true" />
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-09 18:25:04 +08:00
<el-form-item label="服务项目" prop="nurseItemName">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.nurseItemName" style="width: 260px" clearable :disabled="true" />
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-14 17:12:05 +08:00
<el-form-item label="会员姓名" prop="patientName">
2023-03-31 10:23:27 +08:00
<el-input v-model="query.patientName" style="width: 260px" clearable :disabled="true" />
2022-11-08 17:10:11 +08:00
</el-form-item>
2022-11-11 10:34:10 +08:00
<el-form-item label="退款原因" prop="cancelAppointmentReason">
2022-11-08 17:10:11 +08:00
<el-input
style="width: 260px"
2022-11-09 18:25:04 +08:00
v-model="query.cancelAppointmentReason"
2023-03-31 10:23:27 +08:00
placeholder
2022-11-08 17:10:11 +08:00
clearable
type="textarea"
:rows="5"
2022-11-09 18:25:04 +08:00
disabled
2022-11-08 17:10:11 +08:00
/>
2022-11-11 10:34:10 +08:00
</el-form-item>
2022-11-08 17:10:11 +08:00
</el-form>
<div slot="footer" class="dialog-footer">
2022-11-09 18:25:04 +08:00
<el-button @click="cencelbtn"> </el-button>
2022-11-08 17:10:11 +08:00
<el-button type="primary" @click="ordercacenl"> </el-button>
</div>
</el-dialog>
2022-11-04 14:22:46 +08:00
<!-- 姓名弹框 -->
2023-03-31 10:23:27 +08:00
<el-dialog :visible.sync="nursePersonNameinfo" width="1000px" append-to-body>
2022-11-04 14:22:46 +08:00
<el-form
ref="queryForm"
:model="querynursePersonname"
2022-11-04 14:22:46 +08:00
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item label="姓名" prop="nursePersonName" label-width="120">
2023-03-31 10:23:27 +08:00
<el-input v-model="querynursePersonname.nursePersonName" placeholder="请输入姓名" clearable />
2022-11-04 14:22:46 +08:00
</el-form-item>
2022-11-09 18:25:04 +08:00
2022-11-04 14:22:46 +08:00
<el-form-item>
2023-03-31 10:23:27 +08:00
<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>
2022-11-04 14:22:46 +08:00
</el-form-item>
</el-form>
2022-11-08 17:10:11 +08:00
<el-table :data="dispatchlist" @cell-dblclick="nursePersonclick">
2022-11-04 14:22:46 +08:00
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
2022-11-08 17:10:11 +08:00
type="primary"
2022-11-04 14:22:46 +08:00
style="width: 15px; height: 15px; overflow: hidden"
v-if="nursePersonid == scope.row.nurseStationPersonId"
2022-11-04 14:22:46 +08:00
circle
@click="nursePersonclick(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px; overflow: hidden"
circle
@click="nursePersonclick(scope.row)"
></el-button>
</template>
</el-table-column>
2023-03-31 10:23:27 +08:00
<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">
2022-11-04 14:22:46 +08:00
<template slot-scope="scope">
{{ scope.row.nursePersonType == "NURSE" ? "护士" : "" }}
{{ scope.row.nursePersonType == "NURSE_TEACHER" ? "护理师" : "" }}
</template>
</el-table-column>
2023-03-31 10:23:27 +08:00
<el-table-column property="phone" label="手机号" width="150" align="center"></el-table-column>
2022-11-04 14:22:46 +08:00
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }}
{{ scope.row.sex == "FEMALE" ? "女" : "" }}
</template>
</el-table-column>
</el-table>
<pagination
2022-11-04 14:22:46 +08:00
v-show="total2 > 0"
:total="total2"
:page.sync="querynursePersonname.pageNum"
:limit.sync="querynursePersonname.pageSize"
2022-11-04 14:22:46 +08:00
@pagination="handleQuery2"
/>
2022-11-04 14:22:46 +08:00
</el-dialog>
2022-11-17 16:48:25 +08:00
<!-- 护理站 -->
<el-dialog
title="选择护理站"
:visible.sync="nurseStationshow"
width="1100px"
append-to-body
:before-close="clicknurseStationshow"
>
2023-03-31 10:23:27 +08:00
<el-form ref="form" :model="getListByUserquery" label-width="110px" :inline="true">
2022-11-17 16:48:25 +08:00
<el-form-item label="护理站编码" prop="nurseStationCode">
2023-03-31 10:23:27 +08:00
<el-input v-model="getListByUserquery.nurseStationCode" placeholder="请输入护理站编码" />
2022-11-17 16:48:25 +08:00
</el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName">
2023-03-31 10:23:27 +08:00
<el-input v-model="getListByUserquery.nurseStationName" placeholder="请输入护理站名称" />
2022-11-17 16:48:25 +08:00
</el-form-item>
<el-form-item>
2023-03-31 10:23:27 +08:00
<el-button type="primary" icon="el-icon-search" size="mini" @click="info">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="stationcancel">重置</el-button>
2022-11-17 16:48:25 +08:00
</el-form-item>
</el-form>
2023-03-31 10:23:27 +08:00
<el-table v-loading="loading" :data="nurseStationlist" @cell-dblclick="choicestationid">
2022-11-17 16:48:25 +08:00
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
type="primary"
style="width: 15px; height: 15px"
circle
@click="choicestationid(scope.row)"
v-if="queryParams.nurseStationId == scope.row.id"
></el-button>
<el-button
style="width: 15px; height: 15px"
circle
v-else
@click="choicestationid(scope.row)"
2023-03-31 10:23:27 +08:00
></el-button>
2022-11-17 16:48:25 +08:00
</template>
</el-table-column>
2023-03-31 10:23:27 +08:00
<el-table-column property="nurseStationCode" label="护理站编码" align="center"></el-table-column>
<el-table-column property="nurseStationName" label="护理站名称" align="center"></el-table-column>
<el-table-column property="phone" label="联系电话" align="center"></el-table-column>
2022-11-17 16:48:25 +08:00
<el-table-column
property="address"
label="护理站地址"
align="center"
:show-overflow-tooltip="true"
2023-03-31 10:23:27 +08:00
></el-table-column>
2022-11-17 16:48:25 +08:00
</el-table>
<pagination
v-show="stationtotal > 0"
:total="stationtotal"
:page.sync="getListByUserquery.pageNum"
:limit.sync="getListByUserquery.pageSize"
@pagination="info"
/>
</el-dialog>
2022-11-04 14:22:46 +08:00
</div>
</template>
<script>
2022-11-17 16:48:25 +08:00
import indexjs from "./indexjs.js";
export default indexjs;
2022-11-04 14:22:46 +08:00
</script>
2022-11-17 16:48:25 +08:00
<style lang='scss' scoped>
.stationbtn {
width: 208px;
text-align: left;
height: 32px;
overflow: hidden;
font-size: 14px;
}
2022-11-18 12:50:42 +08:00
.img {
width: 250px;
height: 250px;
}
2022-12-01 09:59:28 +08:00
#container {
width: 100%;
height: 600px;
}
2022-11-04 14:22:46 +08:00
</style>