解决合并冲突

This commit is contained in:
2025-12-10 14:20:24 +08:00
parent e1385cb3e6
commit 18f6a845e6
804 changed files with 61881 additions and 13577 deletions

View File

@@ -50,7 +50,18 @@ export function adviceExecute(data) {
export function adviceCancel(data) {
return request({
url: '/nurse-station/advice-process/advice-cancel',
method: 'post',
method: 'put',
data: data
})
}
/**
* 医嘱不执行
*/
export function adviceNoExecute(data) {
return request({
url: '/nurse-station/advice-process/advice-void',
method: 'put',
data: data
})
}

View File

@@ -39,6 +39,14 @@
>
执行选中
</el-button>
<el-button
class="ml20"
type="primary"
@click="handleNoExecute"
:disabled="props.exeStatus == 6"
>
不执行
</el-button>
<el-button
class="ml20 mr20"
type="danger"
@@ -182,13 +190,7 @@
:key="rateIndex"
:value="rateItem.rate"
@change="
(value) =>
handleRateChange(
value,
item,
scope.row.checkedRates[timeIndex],
scope.row
)
(value) => handleRateChange(value, item, rateItem.rate, scope.row, rateItem)
"
border
size="small"
@@ -212,7 +214,7 @@
</template>
<script setup>
import { getPrescriptionList, adviceExecute, adviceCancel } from './api';
import { getPrescriptionList, adviceExecute, adviceCancel, adviceNoExecute } from './api';
import { patientInfoList } from '../store/patient.js';
import { formatDate, formatDateStr } from '@/utils/index';
import { ref, getCurrentInstance } from 'vue';
@@ -274,12 +276,15 @@ function handleGetPrescription() {
prescription.procedureIds = [];
// 添加复选框状态管理
prescription.checkedRates = {};
// 已执行时间点列表
let exeTimeList = prescription.exePerformRecordList.map((item) => {
return formatDateStr(item.occurrenceTime, 'YYYY-MM-DD HH:mm:ss');
});
// 不执行时间点列表
let stopTimeList = prescription.stopPerformRecordList.map((item) => {
return formatDateStr(item.occurrenceTime, 'YYYY-MM-DD HH:mm:ss');
});
// 取消执行时间点列表
let cancelTimeList = prescription.cancelPerformRecordList.map((item) => {
return formatDateStr(item.occurrenceTime, 'YYYY-MM-DD HH:mm:ss');
});
@@ -295,22 +300,23 @@ function handleGetPrescription() {
let rateItems = [];
rate.forEach((rateItem) => {
let dateStr = prescription.year + '-' + time + ' ' + rateItem + ':00';
prescription.executeTimes.push(dateStr);
switch (props.exeStatus) {
case 1:
// 如果该时间点未执行,则加入待选中列表
if (!exeTimeList.includes(dateStr)) {
case 1: // 待执行tab
// 如果该时间点未执行并且不在不执行列表中,则加入待选中列表
if (!exeTimeList.includes(dateStr) && !stopTimeList.includes(dateStr)) {
rateItems.push({
rate: rateItem,
});
checkedRatesForTime.push(rateItem);
prescription.executeTimes.push(dateStr);
}
break;
case 6:
case 6: // 已执行tab
let index = exeTimeList.findIndex((item) => {
return item == dateStr;
});
if (index != -1) {
// 显示执行人practitionerName
rateItems.push({
procedureId: prescription.exePerformRecordList[index].procedureId,
practitionerName: prescription.exePerformRecordList[index].practitionerName,
@@ -318,18 +324,30 @@ function handleGetPrescription() {
});
checkedRatesForTime.push(rateItem);
}
// 这里把时间点都加到执行时间列表中后续遍历全部执行者id用
prescription.executeTimes.push(dateStr);
break;
case 5:
case 5: // 不执行tab
let index1 = stopTimeList.findIndex((item) => {
return item == dateStr;
});
if (stopTimeList.includes(dateStr)) {
// 显示执行人practitionerName
rateItems.push({
practitionerName: prescription.stopPerformRecordList[index1].practitionerName,
rate: rateItem,
});
checkedRatesForTime.push(rateItem);
}
break;
case 9:
case 9: // 取消执行tab
let index2 = cancelTimeList.findIndex((item) => {
return item == dateStr;
});
if (cancelTimeList.includes(dateStr)) {
rateItems.push({
practitionerName:
prescription.cancelPerformRecordList[index2].practitionerName,
rate: rateItem,
});
checkedRatesForTime.push(rateItem);
@@ -352,8 +370,7 @@ function handleGetPrescription() {
prescription.times = validTimes;
prescription.rate = validRates;
prescription.checkedRates = newCheckedRates;
// 处理已执行记录
// 处理已执行记录拿到全部的执行人id取消执行时候要传id
prescription.exePerformRecordList.forEach((item) => {
if (prescription.executeTimes.includes(item.occurrenceTime)) {
prescription.procedureIds.push(item.procedureId);
@@ -386,6 +403,7 @@ function handleGetPrescription() {
}
}
// 执行
function handleExecute() {
let list = getSelectRows();
list = list.map((item) => {
@@ -404,16 +422,41 @@ function handleExecute() {
});
}
function handleCancel() {
// 不执行
function handleNoExecute() {
let list = getSelectRows();
console.log(list, 'list');
list = list.map((item) => {
return {
procedureId: item.procedureId,
executeTimes: item.cancelTimes,
requestId: item.requestId,
encounterId: item.encounterId,
patientId: item.patientId,
adviceTable: item.adviceTable,
executeTimes: item.executeTimes,
};
});
adviceCancel({ adviceExecuteParam: list }).then((res) => {
console.log(list, 'list');
adviceNoExecute({ adviceExecuteDetailList: list }).then((res) => {
if (res.code == 200) {
handleGetPrescription();
}
});
}
// 取消执行
function handleCancel() {
let list = getSelectRows();
let producerIds = [];
list.forEach((item) => {
producerIds.push(
...item.procedureIds.map((value) => {
return {
procedureId: value,
therapyEnum: item.therapyEnum,
};
})
);
});
adviceCancel({ adviceExecuteDetailList: producerIds }).then((res) => {
if (res.code == 200) {
handleGetPrescription();
}
@@ -459,15 +502,18 @@ function getDateRange(startDate, endDate) {
return dates;
}
function handleRateChange(value, date, time, row) {
function handleRateChange(value, date, time, row, rateItem) {
// 拼接当前选中时间
let tiemStr = row.year + '-' + date + ' ' + time + ':00';
let index = row.executeTimes.indexOf(tiemStr);
debugger;
if (value) {
row.executeTimes.push(tiemStr);
row.procedureIds.push(rateItem.producerId);
} else {
row.executeTimes.splice(row.executeTimes.indexOf(tiemStr), 1);
row.procedureIds.splice(row.executeTimes.indexOf(rateItem.producerId), 1);
}
console.log(row.executeTimes, 'row.executeTimes');
}
function handelSwicthChange(value) {