|
@@ -2,7 +2,7 @@
|
|
|
<div>
|
|
|
<el-dialog draggable v-model="dialog" destroy-on-close title="模板" width="90%" @close="emit('close')">
|
|
|
<el-container>
|
|
|
- <el-aside>
|
|
|
+ <el-aside style="width: 350px">
|
|
|
<el-radio-group v-model="muBanLeiXing" size="small" @change="dianJiChaXun">
|
|
|
<el-radio-button :label="0">全部</el-radio-button>
|
|
|
<el-radio-button :label="1">全院</el-radio-button>
|
|
@@ -12,47 +12,24 @@
|
|
|
</el-radio-group>
|
|
|
<el-input v-model="code" clearable style="width: 120px" @keyup.enter="dianJiChaXun"></el-input>
|
|
|
<el-button @click="dianJiChaXun">查询</el-button>
|
|
|
- <el-table :data="fuJiMuBanShuJu.data" :height="windowSize.h / 1.6" highlight-current-row stripe
|
|
|
+ <el-table :data="fuJiMuBanShuJu.data" :height="windowSize.h / 1.6"
|
|
|
+ highlight-current-row stripe
|
|
|
+ @row-click="dianJiMuBanMing"
|
|
|
style="width: 300px">
|
|
|
- <el-table-column label="名称" prop="patternName" width="70"></el-table-column>
|
|
|
- <el-table-column label="排序" prop="sortNo"></el-table-column>
|
|
|
<el-table-column label="操作" width="180">
|
|
|
<template #default="scope">
|
|
|
- <el-button icon="Delete" text type="danger"
|
|
|
- @click.stop="clickDeleteTemplate(scope.row.patternCode,scope.$index)">
|
|
|
- 删除
|
|
|
- </el-button>
|
|
|
- <el-button v-if="scope.row.yiBeiShouCang && scope.row.inputId !== user.code" text
|
|
|
- icon="StarFilled"
|
|
|
-
|
|
|
- type="warning">取消
|
|
|
- </el-button>
|
|
|
- <el-button v-else-if="scope.row.inputId !== user.code" text
|
|
|
- icon="Star" :disabled="scope.row.inputId === user.code"
|
|
|
- type="warning">收藏
|
|
|
- </el-button>
|
|
|
+ <el-button type="primary" icon="Edit" v-if="muBanLeiXing !== 4"
|
|
|
+ @click.stop="clickToEditTemplate(scope.row)"/>
|
|
|
+ <el-button type="warning"
|
|
|
+ v-if="muBanLeiXing !== 4"
|
|
|
+ @click.stop="clickToFavoriteTemplates(scope.row,scope.$index)"
|
|
|
+ :icon="scope.row.yiBeiShouCang ? 'StarFilled' : 'Star'"/>
|
|
|
+ <el-button type="danger"
|
|
|
+ icon="Delete"
|
|
|
+ @click.stop="clickDeleteTemplate(scope.row.patternCode,scope.$index)"/>
|
|
|
</template>
|
|
|
-
|
|
|
- <!-- <template #default="scope">-->
|
|
|
- <!-- <el-dropdown size="small" split-button type="primary" @click="dianJiMuBanMing(scope.row)">-->
|
|
|
- <!-- 选中-->
|
|
|
- <!-- <template #dropdown>-->
|
|
|
- <!-- <el-dropdown-menu>-->
|
|
|
- <!-- <el-dropdown-item icon="Delete" @click="shanChuMuBan(scope.row, scope.$index)">删除-->
|
|
|
- <!-- </el-dropdown-item>-->
|
|
|
- <!-- <br/>-->
|
|
|
- <!-- <el-dropdown-item v-if="scope.row.yiBeiShouCang" :disabled="scope.row.inputId === user.code"-->
|
|
|
- <!-- icon="Collection" @click="dianJiShouCang(scope.row)"-->
|
|
|
- <!-- >取消收藏-->
|
|
|
- <!-- </el-dropdown-item>-->
|
|
|
- <!-- <el-dropdown-item v-else :disabled="scope.row.inputId === user.code" icon="Collection"-->
|
|
|
- <!-- @click="dianJiShouCang(scope.row)">收藏-->
|
|
|
- <!-- </el-dropdown-item>-->
|
|
|
- <!-- </el-dropdown-menu>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </el-dropdown>-->
|
|
|
- <!-- </template>-->
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="名称" prop="patternName" width="70"/>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
:current-page="fuJiMuBanShuJu.currentPage"
|
|
@@ -66,7 +43,7 @@
|
|
|
</el-pagination>
|
|
|
</el-aside>
|
|
|
<el-main>
|
|
|
- <el-button :disabled="xuanZhongShuJu.length === 0" type="primary" @click="dianJiQueDing">确定</el-button>
|
|
|
+ <el-button type="primary" @click="dianJiQueDing">确定</el-button>
|
|
|
开始时间:
|
|
|
<el-date-picker
|
|
|
v-model="startTime"
|
|
@@ -97,20 +74,12 @@
|
|
|
<span>{{ item.name }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-divider direction="vertical"/>
|
|
|
- <el-button :disabled="muBanShuJu.length === 0" type="warning" @click="bianJiNeiRong">编辑内容</el-button>
|
|
|
- <el-table
|
|
|
- ref="tableRef"
|
|
|
- :data="muBanShuJu"
|
|
|
- :height="windowSize.h / 1.6"
|
|
|
- :row-class-name="differChildrenRows"
|
|
|
- border
|
|
|
- class="eltable"
|
|
|
- row-key="id"
|
|
|
- @selection-change="xuanZhongMuBan"
|
|
|
- @select-all="quanXuanMuBan"
|
|
|
- default-expand-all>
|
|
|
- <el-table-column fixed="left" type="selection"/>
|
|
|
+ <xc-table ref="tableRef"
|
|
|
+ row-key="id"
|
|
|
+ :data="{'data':muBanShuJu}"
|
|
|
+ :open-paging="false"
|
|
|
+ :height="windowSize.h / 1.6">
|
|
|
+ <el-table-column fixed="left" type="selection" reserve-selection/>
|
|
|
<el-table-column fixed="left" label="uuid" prop="id"></el-table-column>
|
|
|
<el-table-column label="医嘱名称" prop="orderName" show-overflow-tooltip width="135"></el-table-column>
|
|
|
<el-table-column label="规格" prop="drugSpecification"></el-table-column>
|
|
@@ -124,7 +93,7 @@
|
|
|
<el-table-column label="给药方式" prop="supplyCodeName"></el-table-column>
|
|
|
<el-table-column label="执行科室" prop="execUnitName"></el-table-column>
|
|
|
<el-table-column label="父医嘱" prop="parentNo"></el-table-column>
|
|
|
- </el-table>
|
|
|
+ </xc-table>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
<bao-cun-mu-ban ref="baoCunMuBan"></bao-cun-mu-ban>
|
|
@@ -135,11 +104,11 @@
|
|
|
<script name="HuoQuMuBan" setup>
|
|
|
import store from '../../../store'
|
|
|
import {
|
|
|
+ collectDoctorSOrderTemplate,
|
|
|
deleteADoctorSOrderTemplate,
|
|
|
huoQuMuBanShuJu,
|
|
|
huoQuYiZhuMuBan,
|
|
|
huoQuZhuYuanPinLv,
|
|
|
- muBanCaoZuo
|
|
|
} from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
|
|
|
import {muBanMing} from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
|
|
|
import {computed, ref} from 'vue'
|
|
@@ -148,6 +117,8 @@ import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
import {clone} from '@/utils/clone'
|
|
|
import BaoCunMuBan from './BaoCunMuBan.vue'
|
|
|
import {getServerDateApi} from '@/api/public-api'
|
|
|
+import {BizException, ExceptionEnum} from "@/utils/BizException";
|
|
|
+import XcTable from "@/components/xc/xc-table/XcTable.vue";
|
|
|
|
|
|
// 调用父组件的方法
|
|
|
const emit = defineEmits(['mu-ban-shu-ju', 'close'])
|
|
@@ -191,15 +162,12 @@ const dianJiChaXun = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-const dianJiMuBanMing = (row) => {
|
|
|
+const dianJiMuBanMing = async (row) => {
|
|
|
dianJiFuJiXinXi.value = row
|
|
|
- huoQuMuBanShuJu(row.inputType === '4' ? row.collectCode : row.patternCode).then((res) => {
|
|
|
- muBanShuJu.value = res
|
|
|
- })
|
|
|
- getServerDateApi().then((res) => {
|
|
|
- orderTime.value = res
|
|
|
- startTime = res
|
|
|
- })
|
|
|
+ muBanShuJu.value = await huoQuMuBanShuJu(row.inputType === '4' ? row.collectCode : row.patternCode)
|
|
|
+ let serverDate = await getServerDateApi()
|
|
|
+ orderTime.value = serverDate
|
|
|
+ startTime = serverDate
|
|
|
}
|
|
|
|
|
|
// 分页
|
|
@@ -210,33 +178,43 @@ const handleCurrentChange = (val) => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 删除模板
|
|
|
-const clickDeleteTemplate = (row, index) => {
|
|
|
+const clickDeleteTemplate = (patternCode, index) => {
|
|
|
ElMessageBox.confirm('确定要删除该模板吗?', '提示', {
|
|
|
type: 'error',
|
|
|
}).then(() => {
|
|
|
- deleteADoctorSOrderTemplate(row, index).then((res) => {
|
|
|
-
|
|
|
+ deleteADoctorSOrderTemplate(patternCode).then((res) => {
|
|
|
+ fuJiMuBanShuJu.value.data.splice(index, 1)
|
|
|
+ muBanShuJu.value = []
|
|
|
})
|
|
|
+ }).catch((e) => {
|
|
|
})
|
|
|
- console.log(row, index)
|
|
|
}
|
|
|
|
|
|
-const shanChuMuBan = (row, index) => {
|
|
|
- ElMessageBox.confirm('确定要删除该模板吗?', '提示', {
|
|
|
- type: 'error',
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- muBanCaoZuo(row.patternCode, '', user.value.deptCode, 0, 2)
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- })
|
|
|
+// 收藏模板
|
|
|
+const clickToFavoriteTemplates = ({inputId, patternCode}, index) => {
|
|
|
+ if (inputId === store.state.user.info.code) {
|
|
|
+ BizException(ExceptionEnum.MESSAGE_ERROR, "无法收藏自己创建的模板。")
|
|
|
+ }
|
|
|
+ collectDoctorSOrderTemplate(patternCode).then((res) => {
|
|
|
+ fuJiMuBanShuJu.value.data[index].yiBeiShouCang = !fuJiMuBanShuJu.value.data[index].yiBeiShouCang
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
-// 收藏模板
|
|
|
-const dianJiShouCang = (row) => {
|
|
|
- muBanCaoZuo(row.patternCode, '', user.value.deptCode, 0, 3)
|
|
|
+// 点击编辑模板
|
|
|
+const clickToEditTemplate = async (row) => {
|
|
|
+ await dianJiMuBanMing(row)
|
|
|
+ for (let i = muBanShuJu.value.length - 1; i >= 0; i--) {
|
|
|
+ let item = muBanShuJu.value[i];
|
|
|
+ item.startTime = startTime
|
|
|
+ item.orderTime = orderTime
|
|
|
+ if (stringNotBlank(frequCode.value)) {
|
|
|
+ item.frequCode = frequCode.value
|
|
|
+ item.frequCodeName = frequCodeName.value
|
|
|
+ }
|
|
|
+ }
|
|
|
+ emit('mu-ban-shu-ju', clone(muBanShuJu.value))
|
|
|
+ muBanMing.value = dianJiFuJiXinXi.value
|
|
|
}
|
|
|
|
|
|
/* 添加子医嘱的背景颜色 */
|
|
@@ -275,9 +253,7 @@ const quanXuanMuBan = (selection) => {
|
|
|
}
|
|
|
|
|
|
const dianJiQueDing = () => {
|
|
|
- if (listIsBlank(xuanZhongShuJu.value)) {
|
|
|
- return ElMessage.error('请先选择数据')
|
|
|
- }
|
|
|
+ xuanZhongShuJu.value = tableRef.value.getSelectionRows()
|
|
|
xuanZhongShuJu.value.forEach((item) => {
|
|
|
item.startTime = startTime
|
|
|
item.orderTime = orderTime
|
|
@@ -308,20 +284,6 @@ const pinLvRemoteMethod = (val) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// 编辑内容
|
|
|
-const bianJiNeiRong = () => {
|
|
|
- muBanShuJu.value.forEach((item) => {
|
|
|
- item.startTime = startTime
|
|
|
- item.orderTime = orderTime
|
|
|
- if (stringNotBlank(frequCode.value)) {
|
|
|
- item.frequCode = frequCode.value
|
|
|
- item.frequCodeName = frequCodeName.value
|
|
|
- }
|
|
|
- })
|
|
|
- emit('mu-ban-shu-ju', clone(muBanShuJu.value))
|
|
|
- muBanMing.value = dianJiFuJiXinXi.value
|
|
|
-}
|
|
|
-
|
|
|
onMounted(() => {
|
|
|
dianJiChaXun()
|
|
|
})
|