9.12 feature 问诊订单,药品订单,取消订单

This commit is contained in:
zoujiandong
2023-09-12 15:34:00 +08:00
parent c53cd6763f
commit d3aa9d7f45
14 changed files with 890 additions and 241 deletions
+46 -26
View File
@@ -14,8 +14,13 @@
<!-- <a-form-item field="department_custom_name" label="科室名称">
<a-input v-model="queryForm.department_custom_name" placeholder="请输入科室名称" @press-enter="handleQuery" />
</a-form-item> -->
<a-form-item field="doctor_title" label="电话号码">
<a-input :style="{ width: '182px' }" v-model="queryForm.mobile" placeholder="请输入医生电话号码" @press-enter="handleQuery" />
<a-form-item field="doctor_title" label="电话号码">
<a-input
:style="{ width: '182px' }"
v-model="queryForm.mobile"
placeholder="请输入医生或者患者电话号码"
@press-enter="handleQuery"
/>
</a-form-item>
<a-form-item field="inquiry_service" label="订单状态">
<a-select v-model="queryForm.inquiry_status" placeholder="请选择订单状态" :style="{ width: '182px' }">
@@ -39,15 +44,6 @@
<a-divider />
<!-- action -->
<div class="action">
<a-space>
<a-button v-has="'admin:sysDoctorList:add'" type="primary" @click="handleAdd"><icon-plus /> 新增 </a-button>
<!-- <a-button v-has="'admin:sysDoctorList:remove'" type="primary" status="danger"><icon-delete /> 批量删除 </a-button> -->
</a-space>
</div>
<!-- table -->
<a-table
:columns="columns"
@@ -77,13 +73,23 @@
<div v-else-if="record.inquiry_status==6">已结束</div>
<div v-else-if="record.inquiry_status==7">已取消</div>
</template>
<template #amount_total="{ record }">
{{(record.amount_total) }}元
</template>
<template #payment_amount_total="{ record }">
{{(record.payment_amount_total) }}元
</template>
<template #patient_name="{ record }">
{{record.patient_name}}({{record.patient_sex==1?'男,':'女,'}}{{record.patient_age}}岁)
</template>
<template #pay_time="{ record }">
{{ parseTime(record.pay_time) }}
</template>
<template #action="{ record }">
<a-space>
<a-button v-has="'admin:sysDoctorList:detail'" type="text"
<a-button v-has="'admin:sysOrderList:detail'" type="text"
@click="handleDetail(record)"><icon-book />详情</a-button>
<!-- <a-button v-has="'admin:sysPost:remove'" type="text" @click="() => { deleteVisible = true; deleteData = [record.post_id]; }"><icon-delete /> 删除</a-button> -->
</a-space>
@@ -202,17 +208,17 @@
</a-col>
</a-row>
<a-divider v-if="modalForm.order_inquiry_refund"/>
<div class="titlebox" v-if="modalForm.user_doctor">
<div class="titlebox">
<div class="bar"></div>
<div class="name">医生信息</div>
<a-space style="margin-right: 8px;flex:1;display: flex;justify-content: flex-end;">
<a-space style="margin-right: 8px;flex:1;display: flex;justify-content: flex-end;" v-if="modalForm.user_doctor">
<a-button type="primary" @click="openDcotor">查看医生完整信息</a-button>
</a-space>
</div>
<a-row :gutter="24" style="margin-top: 35px;" v-if="modalForm.user_doctor">
<a-row :gutter="24" style="margin-top: 35px;" >
<a-col :span="24">
<a-form-item field="license_cert" :hide-label="true" >
<div class="doctorInfo">
<div class="doctorInfo" v-if="modalForm.user_doctor">
<a-space size="large">
<a-image width="80" height="80" class="headImg" :src="modalForm.user_doctor.avatar" v-if="modalForm.user_doctor.avatar">
</a-image>
@@ -220,10 +226,11 @@
</a-image>
</a-space>
<div class="infobox">
<div class="name">{{modalForm.user_doctor.user_name}}&nbsp;&nbsp;{{modalForm.user_doctor.doctor_title}}</div>
<div class="name">{{modalForm.user_doctor.user_name}}&nbsp;&nbsp;{{formatDoctorTitle(modalForm.user_doctor.doctor_title)}}</div>
<div class="hospital">{{modalForm.user_doctor.hospital.hospital_name}}&nbsp;&nbsp;{{modalForm.user_doctor.department_custom_name}}</div>
</div>
</div>
<div class="doctorInfo" v-else>暂未分配到医生</div>
</a-form-item>
</a-col>
</a-row>
@@ -297,10 +304,10 @@
<a-col :span="24">
<a-form-item field="" label="" no-style>
<a-space style="margin-right: 8px;">
<a-button type="primary" @click="()=>okVisible=true">问诊记录</a-button>
<a-button type="primary" @click="()=>(alert('开发中'))">问诊记录</a-button>
</a-space>
<a-space style="margin-right: 8px;">
<a-button type="primary" status="danger" @click="()=>okVisible=true">删除订单</a-button>
<a-space style="margin-right: 8px;" v-if="modalForm.inquiry_status==4 || modalForm.inquiry_status==5">
<a-button type="primary" status="danger" v-has="'admin:sysOrderList:cancel'" @click="()=>{okVisible=true;cur_inruiry_id=modalForm.order_inquiry_id;}">取消问诊</a-button>
</a-space>
</a-form-item>
</a-col>
@@ -309,6 +316,7 @@
<!-- 医生详情弹框 -->
<doctorModal :doctorVisible="doctorVisible" :doctor_id="doctor_id" @doctorVisibleChange="() => {doctorVisible = false;doctor_id='';}"></doctorModal>
<confirmModal :okVisible="okVisible" :api="cancelInquiry" :title="'确定取消此订单吗?'" :dealType="'order_inquiry_id'" :id="cur_inruiry_id" @closeChange="closeChange"></confirmModal>
</div>
@@ -316,8 +324,9 @@
<script setup>
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch } from 'vue';
import { getOrderList,getOrderDetail} from '@/api/order/list';
import { getOrderList,getOrderDetail,cancelInquiry} from '@/api/order/list';
import { parseTime } from '@/utils/parseTime';
import {formatDoctorTitle} from "@/utils/format"
// Akiraka 20230210 删除数据
const deleteData = ref([])
@@ -325,6 +334,8 @@ const deleteData = ref([])
const deleteVisible = ref(false)
const doctorVisible=ref(false);
const okVisible=ref(false);
const cur_inruiry_id=ref('');
const doctor_id=ref('');
// Akiraka 20230210 监听删除事件
watch(() => deleteVisible.value ,(value) => {
@@ -370,10 +381,10 @@ const columns = [
{ title: '排序', dataIndex: 'post_id',slotName: 'post_id' },
{ title: '订单编号', dataIndex: 'inquiry_no' },
{ title: '医生姓名', dataIndex: 'doctor_name' },
{ title: '就诊人姓名', dataIndex: 'patient_name' },
{ title: '联系电话', dataIndex: 'patient_name' },
{ title: '订单金额', dataIndex: 'amount_total' },
{ title: '实付金额', dataIndex: 'payment_amount_total' },
{ title: '就诊人', dataIndex: 'patient_name',slotName:'patient_name' },
{ title: '联系电话', dataIndex: 'patient_mobile' },
{ title: '订单金额', dataIndex: 'amount_total',slotName:'amount_total' },
{ title: '实付金额', dataIndex: 'payment_amount_total',slotName:'payment_amount_total' },
{ title: '支付方式', dataIndex: 'inquiry_pay_channel',slotName: 'inquiry_pay_channel'},
{ title: '订单状态', dataIndex: 'inquiry_status', slotName:'inquiry_status' },
{ title: '支付时间', dataIndex: 'pay_time', slotName: 'pay_time' },
@@ -471,10 +482,12 @@ const handleQuery = async () => {
getOrderInfo(params);
};
//获取订单详情
const handleDetail = async (record) => {
modalVisible.value = true;
modalTitle.value = '订单详情';
modalTitle.value = '问诊订单详情';
const { code, data, message } = await getOrderDetail(record.order_inquiry_id);
if (code == 200) {
Object.assign(modalForm, data);
@@ -508,6 +521,8 @@ const handleQuery = async () => {
}
}
const openDcotor=()=>{
doctor_id.value=modalForm.doctor_id;
@@ -516,6 +531,11 @@ const openDcotor=()=>{
const openPatient=()=>{
alert('开发中')
}
//关闭确认框
const closeChange=()=>{
cur_inruiry_id.value="";
okVisible.value=false
}
// 重置搜索
const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields();