|
|
@@ -1,192 +1,205 @@
|
|
|
<template>
|
|
|
- <PageWrapper>
|
|
|
- <Card
|
|
|
- :bordered="false"
|
|
|
- :active-tab-key="activeKey"
|
|
|
- :tab-list="tabList"
|
|
|
- style="height: 800px"
|
|
|
- @tabChange="
|
|
|
- key => {
|
|
|
- activeKey = key;
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- <p :key="0" v-if="activeKey == 0">
|
|
|
- <Row>
|
|
|
- <Col :span="6">
|
|
|
- <Card title="病区属性" style="height: 680px">
|
|
|
- <template #extra
|
|
|
- ><Button
|
|
|
- shape="circle"
|
|
|
- v-auth="['bizSys:wardProperties:add']"
|
|
|
- @click="handleAddAttr"
|
|
|
- ><Icon icon="icon-plus|iconfont" :size="14" /></Button
|
|
|
- ></template>
|
|
|
- <Row>
|
|
|
- <div class="type-title">阴性</div>
|
|
|
- </Row>
|
|
|
- <Row v-for="item in attributeFeminineList" :key="item.key" style="margin: 4px 0">
|
|
|
- <Tag
|
|
|
- class="attrs"
|
|
|
- closable
|
|
|
- @close="handleDeleteAttr(item.key)"
|
|
|
- @click="handleSelectWard(item)"
|
|
|
- :value="item.key"
|
|
|
- >{{ item.label }}
|
|
|
- </Tag>
|
|
|
- </Row>
|
|
|
- <Row>
|
|
|
- <div class="type-title">阳性</div>
|
|
|
- </Row>
|
|
|
- <Row v-for="item in attributePositiveList" :key="item.key" style="margin: 4px 0">
|
|
|
- <Tag
|
|
|
- class="attrs"
|
|
|
- closable
|
|
|
- @close="handleDeleteAttr(item.key)"
|
|
|
- @click="handleSelectWard(item)"
|
|
|
- :value="item.key"
|
|
|
- >{{ item.label }}</Tag
|
|
|
- >
|
|
|
- </Row>
|
|
|
- </Card>
|
|
|
- </Col>
|
|
|
- <Col :span="1" />
|
|
|
- <Col :span="17">
|
|
|
- <Card title="病区信息" style="height: 680px">
|
|
|
- <template #extra
|
|
|
- ><Button shape="circle" v-auth="['bizSys:wardInfo:add']" @click="handleAddInfo"
|
|
|
- ><Icon icon="icon-plus|iconfont" :size="14" /></Button
|
|
|
- ></template>
|
|
|
- <BasicTable @register="registerTable">
|
|
|
- <template #bodyCell="{ column, record }">
|
|
|
- <template v-if="column.key === 'disable'">
|
|
|
- <Tag :color="formatDictColor(disableOptions, record.disable)">
|
|
|
- {{ formatDictValue(disableOptions, record.disable) }}
|
|
|
- </Tag>
|
|
|
- </template>
|
|
|
- <template v-if="column.key === 'action'">
|
|
|
- <TableAction
|
|
|
- :actions="[
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:edit',
|
|
|
- icon: 'icon-xt-details_edit_default|iconfont',
|
|
|
- tooltip: '编辑',
|
|
|
- onClick: handleEdit.bind(null, record),
|
|
|
- },
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:status',
|
|
|
- icon: 'icon-xt-details_delete_default|iconfont',
|
|
|
- tooltip: '停用',
|
|
|
- ifShow: record.disable == 0,
|
|
|
- popConfirm: {
|
|
|
- title: '是否确认停用',
|
|
|
- placement: 'left',
|
|
|
- confirm: handleChangeState.bind(null, record),
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:status',
|
|
|
- icon: 'icon-plus|iconfont',
|
|
|
- tooltip: '启用',
|
|
|
- label: '',
|
|
|
- ifShow: record.disable == 1,
|
|
|
- popConfirm: {
|
|
|
- title: '是否确认启用',
|
|
|
- placement: 'left',
|
|
|
- confirm: handleChangeState.bind(null, record),
|
|
|
- },
|
|
|
- },
|
|
|
- ]"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </BasicTable>
|
|
|
- </Card>
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- </p>
|
|
|
- <p :key="1" v-else>
|
|
|
- <Row>
|
|
|
- <Col :span="6">
|
|
|
- <Card title="工作日配置" style="height: 680px">
|
|
|
- <template #extra
|
|
|
- ><Button shape="circle" v-auth="['bizSys:workday:edit']" @click="handleEditWorkDay">
|
|
|
- <Icon icon="icon-xt-details_edit_default|iconfont" :size="14" /></Button
|
|
|
- ></template>
|
|
|
- <Row v-for="(item, index) in workDays" :key="index">
|
|
|
- <div class="wrak-day">{{ item.label }}</div>
|
|
|
- </Row>
|
|
|
- </Card>
|
|
|
- </Col>
|
|
|
- <Col :span="1" />
|
|
|
- <Col :span="17">
|
|
|
- <Card title="班次配置" style="height: 680px">
|
|
|
- <template #extra
|
|
|
- ><Button v-auth="['bizSys:wardInfo:add']" @click="handleAddSailing" shape="circle"
|
|
|
- ><Icon icon="icon-xt-details_edit_default|iconfont" :size="14" /></Button
|
|
|
- ></template>
|
|
|
- <BasicTable @register="registerSailingsTable">
|
|
|
- <template #bodyCell="{ column, record }">
|
|
|
- <template v-if="column.key === 'disable'">
|
|
|
- <Tag :color="formatDictColor(disableOptions, record.disable)">
|
|
|
- {{ formatDictValue(disableOptions, record.disable) }}
|
|
|
+ <div class="m-4">
|
|
|
+ <div>
|
|
|
+ <XTTitle title="病区班次" />
|
|
|
+ <PageWrapper>
|
|
|
+ <Card
|
|
|
+ :bordered="false"
|
|
|
+ :active-tab-key="activeKey"
|
|
|
+ :tab-list="tabList"
|
|
|
+ style="height: 800px"
|
|
|
+ @tabChange="
|
|
|
+ key => {
|
|
|
+ activeKey = key;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <p :key="0" v-if="activeKey == 0">
|
|
|
+ <Row>
|
|
|
+ <Col :span="6">
|
|
|
+ <Card title="病区属性" style="height: 690px">
|
|
|
+ <template #extra
|
|
|
+ ><Button
|
|
|
+ shape="circle"
|
|
|
+ v-auth="['bizSys:wardProperties:add']"
|
|
|
+ @click="handleAddAttr"
|
|
|
+ ><Icon icon="icon-plus|iconfont" :size="14" /></Button
|
|
|
+ ></template>
|
|
|
+ <Row>
|
|
|
+ <div class="type-title">阴性</div>
|
|
|
+ </Row>
|
|
|
+ <Row v-for="item in attributeFeminineList" :key="item.key" style="margin: 4px 0">
|
|
|
+ <Tag
|
|
|
+ class="attrs"
|
|
|
+ closable
|
|
|
+ @close="handleDeleteAttr(item.key)"
|
|
|
+ @click="handleSelectWard(item)"
|
|
|
+ :value="item.key"
|
|
|
+ >{{ item.label }}
|
|
|
</Tag>
|
|
|
- </template>
|
|
|
- <template v-if="column.key === 'action'">
|
|
|
- <TableAction
|
|
|
- :actions="[
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:edit',
|
|
|
- icon: 'icon-xt-details_edit_default|iconfont',
|
|
|
- tooltip: '编辑',
|
|
|
- label: '',
|
|
|
- onClick: handleEdit.bind(null, record),
|
|
|
- },
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:status',
|
|
|
- icon: 'icon-minus-square|iconfont',
|
|
|
- tooltip: '停用',
|
|
|
- label: '',
|
|
|
- color: 'error',
|
|
|
- ifShow: record.disable == 0,
|
|
|
- popConfirm: {
|
|
|
- title: '是否确认停用',
|
|
|
- placement: 'left',
|
|
|
- confirm: handleChangeState.bind(null, record),
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- auth: 'bizSys:wardInfo:status',
|
|
|
- icon: 'icon-plus|iconfont',
|
|
|
- tooltip: '启用',
|
|
|
- label: '',
|
|
|
- ifShow: record.disable == 1,
|
|
|
- color: 'error',
|
|
|
- popConfirm: {
|
|
|
- title: '是否确认启用',
|
|
|
- placement: 'left',
|
|
|
- confirm: handleChangeState.bind(null, record),
|
|
|
- },
|
|
|
- },
|
|
|
- ]"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </BasicTable>
|
|
|
- </Card>
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- </p>
|
|
|
- </Card>
|
|
|
- </PageWrapper>
|
|
|
- <WardTypeFormModal @register="registerWardTypeModal" @success="handleWardTypeSuccess" />
|
|
|
- <WardInfoFormModal @register="registerWardInfoModal" @success="handleWardInfoSuccess" />
|
|
|
- <WorkDayFormModal @register="registerWorkDayModal" @success="handleWorkDaySuccess" />
|
|
|
- <SailingEdit @register="registerSailingEditModal" @success="handleSailingSuccess" />
|
|
|
+ </Row>
|
|
|
+ <Row>
|
|
|
+ <div class="type-title">阳性</div>
|
|
|
+ </Row>
|
|
|
+ <Row v-for="item in attributePositiveList" :key="item.key" style="margin: 4px 0">
|
|
|
+ <Tag
|
|
|
+ class="attrs"
|
|
|
+ closable
|
|
|
+ @close="handleDeleteAttr(item.key)"
|
|
|
+ @click="handleSelectWard(item)"
|
|
|
+ :value="item.key"
|
|
|
+ >{{ item.label }}</Tag
|
|
|
+ >
|
|
|
+ </Row>
|
|
|
+ </Card>
|
|
|
+ </Col>
|
|
|
+ <Col :span="1" />
|
|
|
+ <Col :span="17">
|
|
|
+ <Card title="病区信息" style="height: 690px">
|
|
|
+ <template #extra
|
|
|
+ ><Button shape="circle" v-auth="['bizSys:wardInfo:add']" @click="handleAddInfo"
|
|
|
+ ><Icon icon="icon-plus|iconfont" :size="14" /></Button
|
|
|
+ ></template>
|
|
|
+ <BasicTable @register="registerTable">
|
|
|
+ <template #bodyCell="{ column, record }">
|
|
|
+ <template v-if="column.key === 'disable'">
|
|
|
+ <Tag :color="formatDictColor(disableOptions, record.disable)">
|
|
|
+ {{ formatDictValue(disableOptions, record.disable) }}
|
|
|
+ </Tag>
|
|
|
+ </template>
|
|
|
+ <template v-if="column.key === 'action'">
|
|
|
+ <TableAction
|
|
|
+ :actions="[
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:edit',
|
|
|
+ icon: 'icon-xt-details_edit_default|iconfont',
|
|
|
+ tooltip: '编辑',
|
|
|
+ onClick: handleEdit.bind(null, record),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:status',
|
|
|
+ icon: 'icon-xt-details_delete_default|iconfont',
|
|
|
+ tooltip: '停用',
|
|
|
+ ifShow: record.disable == 0,
|
|
|
+ popConfirm: {
|
|
|
+ title: '是否确认停用',
|
|
|
+ placement: 'left',
|
|
|
+ confirm: handleChangeState.bind(null, record),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:status',
|
|
|
+ icon: 'icon-plus|iconfont',
|
|
|
+ tooltip: '启用',
|
|
|
+ label: '',
|
|
|
+ ifShow: record.disable == 1,
|
|
|
+ popConfirm: {
|
|
|
+ title: '是否确认启用',
|
|
|
+ placement: 'left',
|
|
|
+ confirm: handleChangeState.bind(null, record),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </BasicTable>
|
|
|
+ </Card>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </p>
|
|
|
+ <p :key="1" v-else>
|
|
|
+ <Row>
|
|
|
+ <Col :span="6">
|
|
|
+ <Card title="工作日配置" style="height: 690px">
|
|
|
+ <template #extra
|
|
|
+ ><Button
|
|
|
+ shape="circle"
|
|
|
+ v-auth="['bizSys:workday:edit']"
|
|
|
+ @click="handleEditWorkDay"
|
|
|
+ >
|
|
|
+ <Icon icon="icon-xt-details_edit_default|iconfont" :size="14" /></Button
|
|
|
+ ></template>
|
|
|
+ <Row v-for="(item, index) in workDays" :key="index">
|
|
|
+ <div class="wrak-day">{{ item.label }}</div>
|
|
|
+ </Row>
|
|
|
+ </Card>
|
|
|
+ </Col>
|
|
|
+ <Col :span="1" />
|
|
|
+ <Col :span="17">
|
|
|
+ <Card title="班次配置" style="height: 690px">
|
|
|
+ <template #extra
|
|
|
+ ><Button
|
|
|
+ v-auth="['bizSys:wardInfo:add']"
|
|
|
+ @click="handleAddSailing"
|
|
|
+ shape="circle"
|
|
|
+ ><Icon icon="icon-xt-details_edit_default|iconfont" :size="14" /></Button
|
|
|
+ ></template>
|
|
|
+ <BasicTable @register="registerSailingsTable">
|
|
|
+ <template #bodyCell="{ column, record }">
|
|
|
+ <template v-if="column.key === 'disable'">
|
|
|
+ <Tag :color="formatDictColor(disableOptions, record.disable)">
|
|
|
+ {{ formatDictValue(disableOptions, record.disable) }}
|
|
|
+ </Tag>
|
|
|
+ </template>
|
|
|
+ <template v-if="column.key === 'action'">
|
|
|
+ <TableAction
|
|
|
+ :actions="[
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:edit',
|
|
|
+ icon: 'icon-xt-details_edit_default|iconfont',
|
|
|
+ tooltip: '编辑',
|
|
|
+ label: '',
|
|
|
+ onClick: handleEdit.bind(null, record),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:status',
|
|
|
+ icon: 'icon-minus-square|iconfont',
|
|
|
+ tooltip: '停用',
|
|
|
+ label: '',
|
|
|
+ color: 'error',
|
|
|
+ ifShow: record.disable == 0,
|
|
|
+ popConfirm: {
|
|
|
+ title: '是否确认停用',
|
|
|
+ placement: 'left',
|
|
|
+ confirm: handleChangeState.bind(null, record),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ auth: 'bizSys:wardInfo:status',
|
|
|
+ icon: 'icon-plus|iconfont',
|
|
|
+ tooltip: '启用',
|
|
|
+ label: '',
|
|
|
+ ifShow: record.disable == 1,
|
|
|
+ color: 'error',
|
|
|
+ popConfirm: {
|
|
|
+ title: '是否确认启用',
|
|
|
+ placement: 'left',
|
|
|
+ confirm: handleChangeState.bind(null, record),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </BasicTable>
|
|
|
+ </Card>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </p>
|
|
|
+ </Card>
|
|
|
+ </PageWrapper>
|
|
|
+ </div>
|
|
|
+ <WardTypeFormModal @register="registerWardTypeModal" @success="handleWardTypeSuccess" />
|
|
|
+ <WardInfoFormModal @register="registerWardInfoModal" @success="handleWardInfoSuccess" />
|
|
|
+ <WorkDayFormModal @register="registerWorkDayModal" @success="handleWorkDaySuccess" />
|
|
|
+ <SailingEdit @register="registerSailingEditModal" @success="handleSailingSuccess" />
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { onBeforeMount, ref } from 'vue';
|
|
|
+ import { XTTitle } from '/@/components/XTTitle/index';
|
|
|
import { PageWrapper } from '/@/components/Page';
|
|
|
import { Button, Card, Row, Col, Tag } from 'ant-design-vue';
|
|
|
import Icon from '/@/components/Icon/src/Icon.vue';
|
|
|
@@ -223,6 +236,7 @@
|
|
|
rowKey: 'id',
|
|
|
columns: wardInfoColumns,
|
|
|
showIndexColumn: false,
|
|
|
+ striped: false,
|
|
|
formConfig: {
|
|
|
labelWidth: 120,
|
|
|
autoSubmitOnEnter: true,
|
|
|
@@ -235,7 +249,6 @@
|
|
|
},
|
|
|
},
|
|
|
useSearchForm: false,
|
|
|
- bordered: true,
|
|
|
actionColumn: {
|
|
|
width: 320,
|
|
|
title: '操作',
|
|
|
@@ -248,13 +261,13 @@
|
|
|
api: getSailings,
|
|
|
columns: sailingsColumns,
|
|
|
showIndexColumn: false,
|
|
|
+ striped: false,
|
|
|
formConfig: {
|
|
|
labelWidth: 120,
|
|
|
autoSubmitOnEnter: true,
|
|
|
baseColProps: { xs: 24, sm: 12, md: 12, lg: 8 },
|
|
|
},
|
|
|
useSearchForm: false,
|
|
|
- bordered: true,
|
|
|
});
|
|
|
|
|
|
const [registerWardTypeModal, { openModal: openWardTypeModal }] = useModal();
|
|
|
@@ -486,4 +499,33 @@
|
|
|
::v-deep(.ant-btn-link) {
|
|
|
color: rgb(61 65 85 / 100%);
|
|
|
}
|
|
|
+
|
|
|
+ ::v-deep(.fan-page-wrapper-content) {
|
|
|
+ margin: 16px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep(.ant-table-body) {
|
|
|
+ height: 500px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep(.ant-table-thead > tr > th) {
|
|
|
+ text-align: left !important;
|
|
|
+ color: #818694;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep(.ant-table-tbody > tr > td) {
|
|
|
+ text-align: left !important;
|
|
|
+ border-top: 0 !important;
|
|
|
+ border-right: 0 !important;
|
|
|
+ border-bottom: 1px solid #f0f0f0 !important;
|
|
|
+ border-left: 0 !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep(.fan-basic-table .ant-table-wrapper table) {
|
|
|
+ border: 0 !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep(.fan-basic-table-action.center) {
|
|
|
+ justify-content: left !important;
|
|
|
+ }
|
|
|
</style>
|