Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d9e7fa175 | ||
|
|
17f26d9743 | ||
|
|
dffcb18769 | ||
|
|
4799c944c0 | ||
|
|
d243b339a9 | ||
|
|
bc36aeb9e6 | ||
|
|
7cebb14915 | ||
|
|
b27a847938 | ||
|
|
8ca0976d36 | ||
|
|
e5f57ea4e9 | ||
|
|
2ee9ba911e | ||
|
|
41d2619cd2 | ||
|
|
8267a548b4 | ||
|
|
06de840e31 | ||
|
|
a020cd880f | ||
|
|
74ef47fcc0 |
@@ -147,8 +147,8 @@ public class OrganizationLocationAppServiceImpl implements IOrganizationLocation
|
|||||||
for (OrganizationLocation organizationLocation : organizationLocationList)
|
for (OrganizationLocation organizationLocation : organizationLocationList)
|
||||||
if (DateTimeUtils.isOverlap(organizationLocation.getStartTime(), organizationLocation.getEndTime(),
|
if (DateTimeUtils.isOverlap(organizationLocation.getStartTime(), organizationLocation.getEndTime(),
|
||||||
orgLoc.getStartTime(), orgLoc.getEndTime())) {
|
orgLoc.getStartTime(), orgLoc.getEndTime())) {
|
||||||
Organization org = organizationService.getById(organizationLocation.getOrganizationId());
|
String organizationName =
|
||||||
String organizationName = org != null ? org.getName() : "未知科室";
|
organizationService.getById(organizationLocation.getOrganizationId()).getName();
|
||||||
return R.fail("当前诊疗:" + activityName + CommonConstants.Common.DASH + orgLoc.getStartTime()
|
return R.fail("当前诊疗:" + activityName + CommonConstants.Common.DASH + orgLoc.getStartTime()
|
||||||
+ CommonConstants.Common.DASH + orgLoc.getEndTime() + "与" + organizationName + "时间冲突");
|
+ CommonConstants.Common.DASH + orgLoc.getEndTime() + "与" + organizationName + "时间冲突");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,14 +96,22 @@
|
|||||||
INNER JOIN med_medication_request AS T5
|
INNER JOIN med_medication_request AS T5
|
||||||
ON T4.med_req_id = T5.id
|
ON T4.med_req_id = T5.id
|
||||||
AND T5.delete_flag = '0'
|
AND T5.delete_flag = '0'
|
||||||
WHERE <if test="statusEnum == null">
|
WHERE EXISTS (
|
||||||
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared})
|
SELECT 1 FROM wor_supply_request wsr
|
||||||
|
WHERE wsr.type_enum = 3
|
||||||
|
AND wsr.delete_flag = '0'
|
||||||
|
AND wsr.bus_no = T4.summary_no
|
||||||
|
AND T4.summary_no IS NOT NULL
|
||||||
|
AND T4.summary_no != ''
|
||||||
|
)
|
||||||
|
AND <if test="statusEnum == null">
|
||||||
|
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared},8)
|
||||||
</if>
|
</if>
|
||||||
<if test="statusEnum == 3">
|
<if test="statusEnum == 3">
|
||||||
T4.status_enum IN (#{inProgress},#{preparation},#{prepared})
|
T4.status_enum IN (#{inProgress},#{preparation},#{prepared},8)
|
||||||
</if>
|
</if>
|
||||||
<if test="statusEnum == 4">
|
<if test="statusEnum == 4">
|
||||||
T4.status_enum = #{completed}
|
T4.status_enum IN (#{completed},8)
|
||||||
</if>
|
</if>
|
||||||
AND T4.summary_no IS NOT NULL
|
AND T4.summary_no IS NOT NULL
|
||||||
AND T4.summary_no != ''
|
AND T4.summary_no != ''
|
||||||
|
|||||||
@@ -132,10 +132,6 @@ function onCancel() {
|
|||||||
|
|
||||||
// 批量添加
|
// 批量添加
|
||||||
async function onConfirm() {
|
async function onConfirm() {
|
||||||
if (!props.organizationId) {
|
|
||||||
proxy.$message.error('请先在左侧选择科室');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!formEl) return;
|
if (!formEl) return;
|
||||||
formEl.value.validate(async (valid) => {
|
formEl.value.validate(async (valid) => {
|
||||||
if (!valid) return;
|
if (!valid) return;
|
||||||
|
|||||||
@@ -366,10 +366,6 @@ function handleBlur(row, index) {
|
|||||||
|
|
||||||
// 编辑或 保存当前行
|
// 编辑或 保存当前行
|
||||||
function openSaveImplementDepartment(row) {
|
function openSaveImplementDepartment(row) {
|
||||||
if (!organizationId.value) {
|
|
||||||
proxy.$message.error('请先在左侧选择科室');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const params = {
|
const params = {
|
||||||
// 科室id
|
// 科室id
|
||||||
organizationId: organizationId.value,
|
organizationId: organizationId.value,
|
||||||
@@ -456,12 +452,13 @@ function handleNodeClick(res, node) {
|
|||||||
|
|
||||||
// 实际的节点点击处理逻辑
|
// 实际的节点点击处理逻辑
|
||||||
function continueHandleNodeClick(node) {
|
function continueHandleNodeClick(node) {
|
||||||
// 检查节点是否有子节点
|
|
||||||
if (node.data.children && node.data.children.length > 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 新增按钮是否 disable
|
// 新增按钮是否 disable
|
||||||
isAddDisable.value = false;
|
isAddDisable.value = false;
|
||||||
|
// 检查节点是否有子节点
|
||||||
|
if (node.data.children && node.data.children.length > 0) {
|
||||||
|
// proxy.$message.warning("不能选择父节点");
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 选中科室id
|
// 选中科室id
|
||||||
organizationId.value = node.data.id;
|
organizationId.value = node.data.id;
|
||||||
// 获取 右侧 table 信息
|
// 获取 右侧 table 信息
|
||||||
|
|||||||
@@ -313,7 +313,6 @@
|
|||||||
data-prop="dispensePerDuration">
|
data-prop="dispensePerDuration">
|
||||||
<el-input-number v-model="scope.row.dispensePerDuration" style="width: 80px" :min="1"
|
<el-input-number v-model="scope.row.dispensePerDuration" style="width: 80px" :min="1"
|
||||||
controls-position="right" :controls="false" :ref="(el) => (inputRefs.dispensePerDuration = el)"
|
controls-position="right" :controls="false" :ref="(el) => (inputRefs.dispensePerDuration = el)"
|
||||||
@change="calculateTotalAmount(scope.row, scope.$index)"
|
|
||||||
@keyup.enter.prevent="
|
@keyup.enter.prevent="
|
||||||
handleEnter('dispensePerDuration', scope.row, scope.$index)
|
handleEnter('dispensePerDuration', scope.row, scope.$index)
|
||||||
">
|
">
|
||||||
|
|||||||
@@ -86,11 +86,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||||
<el-table-column prop="patientName" label="患者姓名" width="120" />
|
<el-table-column prop="patientName" label="患者姓名" width="120" />
|
||||||
<el-table-column label="申请单名称" width="140">
|
<el-table-column prop="name" label="申请单名称" width="140" />
|
||||||
<template #default="scope">
|
|
||||||
<span>{{ getItemName(scope.row) }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="createTime" label="创建时间" width="160" />
|
<el-table-column prop="createTime" label="创建时间" width="160" />
|
||||||
<el-table-column prop="prescriptionNo" label="处方号" width="140" />
|
<el-table-column prop="prescriptionNo" label="处方号" width="140" />
|
||||||
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
|
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
|
||||||
@@ -163,7 +159,7 @@
|
|||||||
currentDetail.patientName || '-'
|
currentDetail.patientName || '-'
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="申请单名称">{{
|
<el-descriptions-item label="申请单名称">{{
|
||||||
getItemName(currentDetail)
|
currentDetail.name || '-'
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="申请单状态">{{
|
<el-descriptions-item label="申请单状态">{{
|
||||||
parseStatus(currentDetail.status)
|
parseStatus(currentDetail.status)
|
||||||
@@ -403,28 +399,6 @@ const parseStatus = (status) => {
|
|||||||
return statusMap[String(status)] || '-';
|
return statusMap[String(status)] || '-';
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取申请单展示名称:优先使用具体医嘱名称列表
|
|
||||||
*/
|
|
||||||
const getItemName = (row) => {
|
|
||||||
const items = row?.requestFormDetailList;
|
|
||||||
if (items && items.length > 0) {
|
|
||||||
return items.map(item => item.adviceName).filter(Boolean).join('、') || row.name || '-';
|
|
||||||
}
|
|
||||||
return row.name || '-';
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 构建打印用项目名称字符串(同步函数,用于模板字符串)
|
|
||||||
*/
|
|
||||||
const buildItemNames = (row) => {
|
|
||||||
const items = row?.requestFormDetailList;
|
|
||||||
if (items && items.length > 0) {
|
|
||||||
return items.map(item => item.adviceName).filter(Boolean).join('、') || row.name || '';
|
|
||||||
}
|
|
||||||
return row.name || '';
|
|
||||||
};
|
|
||||||
|
|
||||||
const labelMap = {
|
const labelMap = {
|
||||||
categoryType: '项目类别',
|
categoryType: '项目类别',
|
||||||
targetDepartment: '发往科室',
|
targetDepartment: '发往科室',
|
||||||
@@ -677,7 +651,7 @@ const buildPrintContent = (row) => {
|
|||||||
return `
|
return `
|
||||||
<h2>检查申请单</h2>
|
<h2>检查申请单</h2>
|
||||||
<div class="info-row"><span class="label">患者姓名:</span>${row.patientName || '-'}</div>
|
<div class="info-row"><span class="label">患者姓名:</span>${row.patientName || '-'}</div>
|
||||||
<div class="info-row"><span class="label">申请单名称:</span>${buildItemNames(row) || '-'}</div>
|
<div class="info-row"><span class="label">申请单名称:</span>${row.name || '-'}</div>
|
||||||
<div class="info-row"><span class="label">创建时间:</span>${row.createTime || '-'}</div>
|
<div class="info-row"><span class="label">创建时间:</span>${row.createTime || '-'}</div>
|
||||||
<div class="info-row"><span class="label">处方号:</span>${row.prescriptionNo || '-'}</div>
|
<div class="info-row"><span class="label">处方号:</span>${row.prescriptionNo || '-'}</div>
|
||||||
<div class="info-row"><span class="label">申请者:</span>${row.requesterId_dictText || '-'}</div>
|
<div class="info-row"><span class="label">申请者:</span>${row.requesterId_dictText || '-'}</div>
|
||||||
|
|||||||
@@ -68,7 +68,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
</template>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
style="padding: 10px; background-color: #eef9fd; height: 100%; overflow-y: auto"
|
style="padding: 10px; background-color: #eef9fd; height: 100%; overflow-y: auto"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
>
|
>
|
||||||
@@ -230,7 +232,7 @@ import {adviceCancel, adviceExecute, adviceNoExecute, getPrescriptionList} from
|
|||||||
import {patientInfoList} from '../../components/store/patient.js';
|
import {patientInfoList} from '../../components/store/patient.js';
|
||||||
import {lotNumberMatch} from '@/api/public';
|
import {lotNumberMatch} from '@/api/public';
|
||||||
import {formatDateStr} from '@/utils/index';
|
import {formatDateStr} from '@/utils/index';
|
||||||
import {getCurrentInstance, nextTick, ref, provide} from 'vue';
|
import {getCurrentInstance, nextTick, ref} from 'vue';
|
||||||
|
|
||||||
const activeNames = ref([]);
|
const activeNames = ref([]);
|
||||||
const prescriptionList = ref([]);
|
const prescriptionList = ref([]);
|
||||||
@@ -240,8 +242,6 @@ const therapyEnum = ref(undefined);
|
|||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const chooseAll = ref(false);
|
const chooseAll = ref(false);
|
||||||
// 独立维护选中行ID集合,避免el-table内部selection状态异常导致联动全选
|
|
||||||
const selectedRowIds = ref(new Set());
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
exeStatus: {
|
exeStatus: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@@ -442,7 +442,6 @@ function handleGetPrescription() {
|
|||||||
chooseAll.value = false;
|
chooseAll.value = false;
|
||||||
} else {
|
} else {
|
||||||
prescriptionList.value = [];
|
prescriptionList.value = [];
|
||||||
selectedRowIds.value.clear();
|
|
||||||
// proxy.$message.warning('请选择患者');
|
// proxy.$message.warning('请选择患者');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -531,14 +530,10 @@ function handleCancel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getSelectRows() {
|
function getSelectRows() {
|
||||||
// 优先从独立维护的selectedRowIds集合中获取选中行,避免el-table内部selection状态异常
|
// 获取选中的医嘱信息
|
||||||
const list = [];
|
let list = [];
|
||||||
prescriptionList.value.forEach((item) => {
|
prescriptionList.value.forEach((item, index) => {
|
||||||
item.forEach((row) => {
|
list = [...list, ...proxy.$refs['tableRef' + index][0].getSelectionRows()];
|
||||||
if (selectedRowIds.value.has(row.requestId)) {
|
|
||||||
list.push(row);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@@ -614,14 +609,12 @@ function handelSwicthChange(value) {
|
|||||||
if (value) {
|
if (value) {
|
||||||
// 全选:选中所有行并联动checkbox
|
// 全选:选中所有行并联动checkbox
|
||||||
item.forEach((row) => {
|
item.forEach((row) => {
|
||||||
selectedRowIds.value.add(row.requestId);
|
|
||||||
tableRef[0].toggleRowSelection(row, true);
|
tableRef[0].toggleRowSelection(row, true);
|
||||||
selectAllCheckboxesInRow(row);
|
selectAllCheckboxesInRow(row);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 取消全选:取消选中所有行并联动checkbox
|
// 取消全选:取消选中所有行并联动checkbox
|
||||||
item.forEach((row) => {
|
item.forEach((row) => {
|
||||||
selectedRowIds.value.delete(row.requestId);
|
|
||||||
tableRef[0].toggleRowSelection(row, false);
|
tableRef[0].toggleRowSelection(row, false);
|
||||||
unselectAllCheckboxesInRow(row);
|
unselectAllCheckboxesInRow(row);
|
||||||
});
|
});
|
||||||
@@ -632,14 +625,11 @@ function handelSwicthChange(value) {
|
|||||||
|
|
||||||
// 默认选中全部行
|
// 默认选中全部行
|
||||||
function defaultSelectAllRows() {
|
function defaultSelectAllRows() {
|
||||||
// 清空并重建选中集合
|
|
||||||
selectedRowIds.value.clear();
|
|
||||||
prescriptionList.value.forEach((item, index) => {
|
prescriptionList.value.forEach((item, index) => {
|
||||||
const tableRef = proxy.$refs['tableRef' + index];
|
const tableRef = proxy.$refs['tableRef' + index];
|
||||||
if (tableRef && tableRef[0]) {
|
if (tableRef && tableRef[0]) {
|
||||||
// 选中该表格的所有行
|
// 选中该表格的所有行
|
||||||
item.forEach((row) => {
|
item.forEach((row) => {
|
||||||
selectedRowIds.value.add(row.requestId);
|
|
||||||
tableRef[0].toggleRowSelection(row, true);
|
tableRef[0].toggleRowSelection(row, true);
|
||||||
// 同时选中该行内部的所有checkbox
|
// 同时选中该行内部的所有checkbox
|
||||||
selectAllCheckboxesInRow(row);
|
selectAllCheckboxesInRow(row);
|
||||||
@@ -719,14 +709,13 @@ function checkAndToggleRowSelection(row) {
|
|||||||
const tableRef = proxy.$refs['tableRef' + tableIndex];
|
const tableRef = proxy.$refs['tableRef' + tableIndex];
|
||||||
if (tableRef && tableRef[0]) {
|
if (tableRef && tableRef[0]) {
|
||||||
const isAllSelected = isAllCheckboxesSelected(row);
|
const isAllSelected = isAllCheckboxesSelected(row);
|
||||||
const isCurrentlySelected = selectedRowIds.value.has(row.requestId);
|
const selectedRows = tableRef[0].getSelectionRows();
|
||||||
|
const isCurrentlySelected = selectedRows.some((r) => r.requestId === row.requestId);
|
||||||
|
|
||||||
// 根据checkbox状态更新表格行选中状态
|
// 根据checkbox状态更新表格行选中状态
|
||||||
if (isAllSelected && !isCurrentlySelected) {
|
if (isAllSelected && !isCurrentlySelected) {
|
||||||
selectedRowIds.value.add(row.requestId);
|
|
||||||
tableRef[0].toggleRowSelection(row, true);
|
tableRef[0].toggleRowSelection(row, true);
|
||||||
} else if (!isAllSelected && isCurrentlySelected) {
|
} else if (!isAllSelected && isCurrentlySelected) {
|
||||||
selectedRowIds.value.delete(row.requestId);
|
|
||||||
tableRef[0].toggleRowSelection(row, false);
|
tableRef[0].toggleRowSelection(row, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -739,11 +728,9 @@ function handleRowSelect(selection, row, tableIndex) {
|
|||||||
const isSelected = selection.some((item) => item.requestId === row.requestId);
|
const isSelected = selection.some((item) => item.requestId === row.requestId);
|
||||||
|
|
||||||
if (isSelected) {
|
if (isSelected) {
|
||||||
selectedRowIds.value.add(row.requestId);
|
|
||||||
// 选中行时,选中该行内部的所有checkbox
|
// 选中行时,选中该行内部的所有checkbox
|
||||||
selectAllCheckboxesInRow(row);
|
selectAllCheckboxesInRow(row);
|
||||||
} else {
|
} else {
|
||||||
selectedRowIds.value.delete(row.requestId);
|
|
||||||
// 取消选中行时,取消选中该行内部的所有checkbox
|
// 取消选中行时,取消选中该行内部的所有checkbox
|
||||||
unselectAllCheckboxesInRow(row);
|
unselectAllCheckboxesInRow(row);
|
||||||
}
|
}
|
||||||
@@ -760,13 +747,11 @@ function handleSelectAll(selection, tableIndex) {
|
|||||||
if (selection.length > 0) {
|
if (selection.length > 0) {
|
||||||
// 全选时,选中所有行内部的所有checkbox
|
// 全选时,选中所有行内部的所有checkbox
|
||||||
tableData.forEach((row) => {
|
tableData.forEach((row) => {
|
||||||
selectedRowIds.value.add(row.requestId);
|
|
||||||
selectAllCheckboxesInRow(row);
|
selectAllCheckboxesInRow(row);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 取消全选时,取消选中所有行内部的所有checkbox
|
// 取消全选时,取消选中所有行内部的所有checkbox
|
||||||
tableData.forEach((row) => {
|
tableData.forEach((row) => {
|
||||||
selectedRowIds.value.delete(row.requestId);
|
|
||||||
unselectAllCheckboxesInRow(row);
|
unselectAllCheckboxesInRow(row);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -778,12 +763,16 @@ function handleSelectAll(selection, tableIndex) {
|
|||||||
// 更新全选开关状态
|
// 更新全选开关状态
|
||||||
function updateChooseAllStatus() {
|
function updateChooseAllStatus() {
|
||||||
let allSelected = true;
|
let allSelected = true;
|
||||||
prescriptionList.value.forEach((item) => {
|
prescriptionList.value.forEach((item, index) => {
|
||||||
item.forEach((row) => {
|
const tableRef = proxy.$refs['tableRef' + index];
|
||||||
if (!selectedRowIds.value.has(row.requestId)) {
|
if (tableRef && tableRef[0]) {
|
||||||
|
const selectedRows = tableRef[0].getSelectionRows();
|
||||||
|
if (selectedRows.length !== item.length) {
|
||||||
allSelected = false;
|
allSelected = false;
|
||||||
}
|
}
|
||||||
});
|
} else {
|
||||||
|
allSelected = false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
chooseAll.value = allSelected;
|
chooseAll.value = allSelected;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {getCurrentInstance, ref, nextTick, provide} from 'vue';
|
import {getCurrentInstance} from 'vue';
|
||||||
import PatientList from '../components/patientList.vue';
|
import PatientList from '../components/patientList.vue';
|
||||||
import PrescriptionList from './components/prescriptionList.vue';
|
import PrescriptionList from './components/prescriptionList.vue';
|
||||||
import { RequestStatus } from '@/utils/medicalConstants';
|
import { RequestStatus } from '@/utils/medicalConstants';
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<el-radio-group v-model="type" class="ml20" @change="handleRadioChange">
|
<el-radio-group v-model="type" class="ml20" @change="handleRadioChange">
|
||||||
<el-radio :label="1">全部</el-radio>
|
<el-radio :value="undefined">全部</el-radio>
|
||||||
<el-radio :label="2">长期</el-radio>
|
<el-radio :value="1">长期</el-radio>
|
||||||
<el-radio :label="3">临时</el-radio>
|
<el-radio :value="2">临时</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-button class="ml20" type="primary" plain @click="handleGetPrescription">
|
<el-button class="ml20" type="primary" plain @click="handleGetPrescription">
|
||||||
查询
|
查询
|
||||||
@@ -159,7 +159,7 @@ import {formatDateStr} from '@/utils/index';
|
|||||||
const activeNames = ref([]);
|
const activeNames = ref([]);
|
||||||
const prescriptionList = ref([]);
|
const prescriptionList = ref([]);
|
||||||
const deadline = ref(formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
const deadline = ref(formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
||||||
const type = ref(1);
|
const type = ref(undefined);
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const chooseAll = ref(false);
|
const chooseAll = ref(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user