药品 处方订单增肌药房信息

This commit is contained in:
zoujiandong
2026-09-07 16:41:14 +08:00
parent 81717625fd
commit cebd359203
7 changed files with 298 additions and 27 deletions
+32
View File
@@ -80,6 +80,38 @@
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">发货药房信息</div>
</div>
<a-row :gutter="24" style="margin-top: 35px">
<a-col :span="12">
<a-form-item label="药房名称:">
<div class="box">
<span>{{ modalForm.pharmacy_name || modalForm.pharmacy?.pharmacy_name || '-' }}</span>
<a-tag v-if="modalForm.pharmacy_id === '0'" size="small" color="arcoblue" style="margin-left: 8px">默认药房</a-tag>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房代码:">
<div class="box">{{ modalForm.pharmacy_code || modalForm.pharmacy?.pharmacy_code || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="联系电话:">
<div class="box">{{ modalForm.pharmacy?.telephone || '-' }}</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房地址:">
<div class="box">{{ modalForm.pharmacy?.full_address || modalForm.pharmacy?.address || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox" v-if="modalForm.order_product_refund">
<div class="bar"></div>
<div class="name">退款信息</div>
+32
View File
@@ -91,6 +91,38 @@
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">发货药房信息</div>
</div>
<a-row :gutter="24" style="margin-top: 35px">
<a-col :span="12">
<a-form-item label="药房名称:">
<div class="box">
<span>{{ modalForm.pharmacy_name || modalForm.pharmacy?.pharmacy_name || '-' }}</span>
<a-tag v-if="modalForm.pharmacy_id === '0'" size="small" color="arcoblue" style="margin-left: 8px">默认药房</a-tag>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房代码:">
<div class="box">{{ modalForm.pharmacy_code || modalForm.pharmacy?.pharmacy_code || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="联系电话:">
<div class="box">{{ modalForm.pharmacy?.telephone || '-' }}</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房地址:">
<div class="box">{{ modalForm.pharmacy?.full_address || modalForm.pharmacy?.address || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox" v-if="modalForm.order_product_refund">
<div class="bar"></div>
<div class="name">退款信息</div>
+40 -8
View File
@@ -67,14 +67,46 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" >
<a-col :span="12">
<a-form-item field="idCard" label="医嘱:" >
<div class="box" >{{ modalForm.doctor_advice }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<a-row :gutter="24" >
<a-col :span="12">
<a-form-item field="idCard" label="医嘱:" >
<div class="box" >{{ modalForm.doctor_advice }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">药房信息</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;">
<a-col :span="12">
<a-form-item label="药房名称:">
<div class="box">
<span>{{ modalForm.pharmacy_name || modalForm.pharmacy?.pharmacy_name || '-' }}</span>
<a-tag v-if="modalForm.pharmacy_id === '0'" size="small" color="arcoblue" style="margin-left: 8px">默认药房</a-tag>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房代码:">
<div class="box">{{ modalForm.pharmacy_code || modalForm.pharmacy?.pharmacy_code || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="联系电话:">
<div class="box">{{ modalForm.pharmacy?.telephone || '-' }}</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房地址:">
<div class="box">{{ modalForm.pharmacy?.full_address || modalForm.pharmacy?.address || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox" v-if="modalForm.inquiry_doctor && !modalForm.transfer_prescription_doctor">
<div class="bar"></div>
<div class="name">医生信息</div>
+40 -8
View File
@@ -67,14 +67,46 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24" >
<a-col :span="12">
<a-form-item field="idCard" label="医嘱:" >
<div class="box" >{{ modalForm.doctor_advice }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<a-row :gutter="24" >
<a-col :span="12">
<a-form-item field="idCard" label="医嘱:" >
<div class="box" >{{ modalForm.doctor_advice }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">药房信息</div>
</div>
<a-row :gutter="24" style="margin-top: 35px;">
<a-col :span="12">
<a-form-item label="药房名称:">
<div class="box">
<span>{{ modalForm.pharmacy_name || modalForm.pharmacy?.pharmacy_name || '-' }}</span>
<a-tag v-if="modalForm.pharmacy_id === '0'" size="small" color="arcoblue" style="margin-left: 8px">默认药房</a-tag>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房代码:">
<div class="box">{{ modalForm.pharmacy_code || modalForm.pharmacy?.pharmacy_code || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="联系电话:">
<div class="box">{{ modalForm.pharmacy?.telephone || '-' }}</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房地址:">
<div class="box">{{ modalForm.pharmacy?.full_address || modalForm.pharmacy?.address || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox" v-if="modalForm.inquiry_doctor && showTransferDoctor ">
<div class="bar"></div>
<div class="name">医生信息</div>
+73 -3
View File
@@ -195,6 +195,24 @@
<a-option :value="2">上报失败</a-option>
</a-select>
</a-form-item>
<a-form-item field="pharmacy_id" label="发货药房">
<a-select
v-model="queryForm.pharmacy_id"
placeholder="全部药房"
allow-clear
allow-search
:style="{ width: '182px' }"
>
<a-option
v-for="item in pharmacyList"
:key="item.pharmacy_id"
:value="item.pharmacy_id"
:label="item.pharmacy_name"
>
{{ item.pharmacy_name }}
</a-option>
</a-select>
</a-form-item>
<a-row>
<a-form-item field="delivery_range_time" label="发货时间范围">
<a-range-picker
@@ -252,7 +270,7 @@
<!-- table -->
<a-table
:columns="columns"
:scroll="{ x: 1980 }"
:scroll="{ x: 2140 }"
:data="tableData"
:pagination="{
'show-total': true,
@@ -300,6 +318,10 @@
record.patient_sex == 1 ? '男,' : '女,'
}}{{ record.patient_age }}岁)
</template>
<template #pharmacy_name="{ record }">
<a-tag v-if="record.pharmacy_id === '0'" size="small" color="arcoblue">默认药房</a-tag>
<span v-else>{{ record.pharmacy_name || '-' }}</span>
</template>
<template #action="{ record }">
<a-space>
<a-button
@@ -409,6 +431,38 @@
</a-col>
</a-row>
<a-divider />
<div class="titlebox">
<div class="bar"></div>
<div class="name">发货药房信息</div>
</div>
<a-row :gutter="24" style="margin-top: 35px">
<a-col :span="12">
<a-form-item label="药房名称:">
<div class="box">
<span>{{ modalForm.pharmacy_name || modalForm.pharmacy?.pharmacy_name || '-' }}</span>
<a-tag v-if="modalForm.pharmacy_id === '0'" size="small" color="arcoblue" style="margin-left: 8px">默认药房</a-tag>
</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房代码:">
<div class="box">{{ modalForm.pharmacy_code || modalForm.pharmacy?.pharmacy_code || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="联系电话:">
<div class="box">{{ modalForm.pharmacy?.telephone || '-' }}</div>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="药房地址:">
<div class="box">{{ modalForm.pharmacy?.full_address || modalForm.pharmacy?.address || '-' }}</div>
</a-form-item>
</a-col>
</a-row>
<a-divider />
<div class="titlebox" v-if="modalForm.order_product_refund">
<div class="bar"></div>
<div class="name">退款信息</div>
@@ -878,6 +932,7 @@ import {
inquiryCase,
exportProduct
} from '@/api/order/list';
import { getPharmacyList } from '@/api/basic/pharmacy';
import { parseTime } from '@/utils/parseTime';
import {
formatDoctorTitle,
@@ -888,6 +943,7 @@ import {
} from '@/utils/format';
const IMG_URL = import.meta.env.VITE_IMG_URL;
import { downloadFile } from '@/utils/downloadFile';
const pharmacyList = ref([]);
// Akiraka 20230210 删除数据
const deleteData = ref([]);
// Akiraka 20230210 删除对话框
@@ -1044,6 +1100,7 @@ const columns = [
{ title: '药品名称', dataIndex: 'product_name', width: 150 },
{ title: '药品备注', dataIndex: 'remarks', width: 130 },
{ title: '就诊人联系电话', dataIndex: 'patient_mobile', width: 130 },
{ title: '发货药房', dataIndex: 'pharmacy_name', slotName: 'pharmacy_name', width: 160, ellipsis: true },
{ title: '订单金额', dataIndex: 'amount_total', slotName: 'amount_total' },
{
title: '实付金额',
@@ -1245,8 +1302,8 @@ const closeChangeOk = (data) => {
// 重置搜索
const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields();
queryForm.pharmacy_id = undefined;
currentPage.value=1;
//getProductInfo(queryForm);
handleQuery();
};
const openDcotor = () => {
@@ -1298,11 +1355,24 @@ const handlExport=async(type)=>{
}
proxy.$loading.hide();
}
// 获取药房下拉数据
const fetchPharmacyList = async () => {
try {
const res = await getPharmacyList();
if (res.code === 200) {
pharmacyList.value = res.data || [];
}
} catch (e) {
console.error('获取药房列表异常:', e);
}
};
onMounted(() => {
let userInfo=localStorage.getItem('manage-userInfo')?JSON.parse(localStorage.getItem('manage-userInfo')):{};
showTransferDoctor.value=userInfo.role_name!='处方流转平台';
getProductInfo(pager);
fetchPharmacyList();
});
</script>
@@ -44,6 +44,24 @@
<a-option :value="2">审核驳回</a-option>
</a-select>
</a-form-item>
<a-form-item field="pharmacy_id" label="开方药房">
<a-select
v-model="queryForm.pharmacy_id"
placeholder="全部药房"
allow-clear
allow-search
:style="{ width: '182px' }"
>
<a-option
v-for="item in pharmacyList"
:key="item.pharmacy_id"
:value="item.pharmacy_id"
:label="item.pharmacy_name"
>
{{ item.pharmacy_name }}
</a-option>
</a-select>
</a-form-item>
<a-row>
<a-form-item field="pharmacist_verify_range_time" label="审核时间范围">
<a-range-picker
@@ -86,7 +104,7 @@
<!-- table -->
<a-table :columns="columns" :data="tableData"
:scroll="{ x: 1400 }"
:scroll="{ x: 1560 }"
:row-selection="{ type: 'checkbox', showCheckedAll: true }"
:pagination="{ 'show-total': true, 'show-jumper': true, 'show-page-size': true, total: pager.total, current: currentPage }"
row-key="order_prescription_id" @selection-change="(selection) => {deleteData = selection;console.log(selection)}"
@@ -113,6 +131,10 @@
record.patient_sex == 1 ? '男,' : '女,'
}}{{ record.patient_age }}岁)</div>
</template>
<template #pharmacy_name="{record}">
<a-tag v-if="record.pharmacy_id === '0'" size="small" color="arcoblue">默认药房</a-tag>
<span v-else>{{ record.pharmacy_name || '-' }}</span>
</template>
<template #order_prescription_icd="{record}">
<div class="doctor_name" :title="record.order_prescription_icd">{{record.order_prescription_icd}}</div>
</template>
@@ -146,9 +168,12 @@
<script setup>
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue';
import { getPrescriptionList,getPrescriptionDetail,exportPrescription} from '@/api/prescription/list';
import { getPharmacyList } from '@/api/basic/pharmacy';
import {formatPrescriptionStatus} from "@/utils/format"
import { downloadFile } from '@/utils/downloadFile';
const pharmacyList = ref([]);
// Akiraka 20230210 删除数据
const deleteData = ref([])
// Akiraka 20230210 删除对话框
@@ -245,6 +270,7 @@ watch(() => queryForm.expired_range_time,
{ title: '药师姓名', dataIndex: 'pharmacist_name',slotName:'pharmacist_name' },
{ title: '就诊人', dataIndex: 'patient_name', slotName: 'patient_name',width:180 },
{ title: '就诊人联系电话', dataIndex: 'mobile',width:130 },
{ title: '开方药房', dataIndex: 'pharmacy_name', slotName: 'pharmacy_name', width: 160, ellipsis: true },
{ title: '诊断', dataIndex: 'order_prescription_icd',slotName: 'order_prescription_icd' },
{ title: '处方状态', dataIndex: 'prescription_status',slotName:'prescription_status' },
{ title: '开方时间', dataIndex: 'created_at',slotName:'created_at',width:180 },
@@ -338,10 +364,9 @@ watch(() => queryForm.expired_range_time,
// 重置搜索
const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields();
//getPrescriptionInfo(queryForm);
queryForm.pharmacy_id = undefined;
currentPage.value=1;
//getProductInfo(queryForm);
handleQuery();
handleQuery();
}
const handlExport=async(type)=>{
proxy.$loading.show();
@@ -381,9 +406,21 @@ watch(() => queryForm.expired_range_time,
proxy.$loading.hide();
}
// 获取药房下拉数据
const fetchPharmacyList = async () => {
try {
const res = await getPharmacyList();
if (res.code === 200) {
pharmacyList.value = res.data || [];
}
} catch (e) {
console.error('获取药房列表异常:', e);
}
};
onMounted(() => {
getPrescriptionInfo(pager);
fetchPharmacyList();
});
</script>
@@ -44,6 +44,24 @@
<a-option :value="2">审核驳回</a-option>
</a-select>
</a-form-item>
<a-form-item field="pharmacy_id" label="开方药房">
<a-select
v-model="queryForm.pharmacy_id"
placeholder="全部药房"
allow-clear
allow-search
:style="{ width: '182px' }"
>
<a-option
v-for="item in pharmacyList"
:key="item.pharmacy_id"
:value="item.pharmacy_id"
:label="item.pharmacy_name"
>
{{ item.pharmacy_name }}
</a-option>
</a-select>
</a-form-item>
<a-row>
<a-form-item field="pharmacist_verify_range_time" label="审核时间范围">
<a-range-picker
@@ -86,7 +104,7 @@
<!-- table -->
<a-table :columns="columns" :data="tableData"
:scroll="{ x: 1400 }"
:scroll="{ x: 1560 }"
:row-selection="{ type: 'checkbox', showCheckedAll: true }"
:pagination="{ 'show-total': true, 'show-jumper': true, 'show-page-size': true, total: pager.total, current: currentPage }"
row-key="order_prescription_id" @selection-change="(selection) => {deleteData = selection;console.log(selection)}"
@@ -113,6 +131,10 @@
record.patient_sex == 1 ? '男,' : '女,'
}}{{ record.patient_age }}岁)</div>
</template>
<template #pharmacy_name="{record}">
<a-tag v-if="record.pharmacy_id === '0'" size="small" color="arcoblue">默认药房</a-tag>
<span v-else>{{ record.pharmacy_name || '-' }}</span>
</template>
<template #order_prescription_icd="{record}">
<div class="doctor_name" :title="record.order_prescription_icd">{{record.order_prescription_icd}}</div>
</template>
@@ -146,10 +168,12 @@
<script setup>
import { reactive, ref, getCurrentInstance, onMounted, nextTick, watch, computed } from 'vue';
import { getPrescriptionList,getPrescriptionDetail,exportPrescription} from '@/api/prescription/transfer-list';
import { getPharmacyList } from '@/api/basic/pharmacy';
import {formatPrescriptionStatus} from "@/utils/format"
import { downloadFile } from '@/utils/downloadFile';
const showTransferDoctor = ref(false)
const pharmacyList = ref([]);
// Akiraka 20230210 删除数据
const deleteData = ref([])
@@ -247,6 +271,7 @@ watch(() => queryForm.expired_range_time,
{ title: '药师姓名', dataIndex: 'pharmacist_name',slotName:'pharmacist_name' },
{ title: '就诊人', dataIndex: 'patient_name', slotName: 'patient_name',width:180 },
{ title: '就诊人联系电话', dataIndex: 'mobile',width:130 },
{ title: '开方药房', dataIndex: 'pharmacy_name', slotName: 'pharmacy_name', width: 160, ellipsis: true },
{ title: '诊断', dataIndex: 'order_prescription_icd',slotName: 'order_prescription_icd' },
{ title: '处方状态', dataIndex: 'prescription_status',slotName:'prescription_status' },
{ title: '开方时间', dataIndex: 'created_at',slotName:'created_at',width:180 },
@@ -340,10 +365,9 @@ watch(() => queryForm.expired_range_time,
// 重置搜索
const handleResetQuery = () => {
proxy.$refs.queryFormRef.resetFields();
//getPrescriptionInfo(queryForm);
queryForm.pharmacy_id = undefined;
currentPage.value=1;
//getProductInfo(queryForm);
handleQuery();
handleQuery();
}
const handlExport=async(type)=>{
proxy.$loading.show();
@@ -383,11 +407,23 @@ watch(() => queryForm.expired_range_time,
proxy.$loading.hide();
}
// 获取药房下拉数据
const fetchPharmacyList = async () => {
try {
const res = await getPharmacyList();
if (res.code === 200) {
pharmacyList.value = res.data || [];
}
} catch (e) {
console.error('获取药房列表异常:', e);
}
};
onMounted(() => {
let userInfo=localStorage.getItem('manage-userInfo')?JSON.parse(localStorage.getItem('manage-userInfo')):{};
showTransferDoctor.value=userInfo.role_name!='处方流转平台';
getPrescriptionInfo(pager);
fetchPharmacyList();
});
</script>