This commit is contained in:
ChenQiuYu 2025-05-20 16:50:55 +08:00
parent f20ce14e31
commit 447299faf6
2 changed files with 170 additions and 127 deletions

View File

@ -2,115 +2,115 @@
<Mask :is-show="isShow" @close="exit" :height="570" :title="props.id?'编辑':'新增'" :show-footer="true">
<template #default>
<el-scrollbar>
<div style="padding: 24px">
<el-form :model="form" label-width="auto">
<el-descriptions
:column="4"
direction="vertical"
border
>
<el-descriptions-item label="科室名称">
<el-form-item>
<el-input v-model="form.name"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="科室类别">
<el-form-item>
<el-cascader :props="{ checkStrictly: true }" v-model="form.caty" :options="options"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="开始日期">
<el-form-item>
<div class="demo-date-picker">
<el-date-picker
v-model="form.beginDate"
type="date"
placeholder="请选择开始日期"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="结束日期">
<el-form-item>
<div class="demo-date-picker">
<el-date-picker
v-model="form.endDate"
type="date"
placeholder="请选择结束日期"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="成立时间">
<el-form-item>
<div class="demo-date-picker">
<el-date-picker
v-model="form.creationDate"
type="date"
placeholder="请选择成立时间"
:default-value="new Date(2010, 9, 1)"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="简介">
<el-form-item>
<el-input v-model="form.info" type="text" :show-word-limit="true" :clearable="true" :size="'large'"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="负责人姓名">
<el-form-item>
<el-input v-model="form.resperName"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="负责人电话">
<el-form-item>
<el-input v-model="form.resperTel"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医疗服务范围">
<el-form-item>
<el-input v-model="form.medServScp"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="批准床位数">
<el-form-item>
<el-input v-model="form.bedCnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医保认可床位数量">
<el-form-item>
<el-input v-model.number="form.socialBedCnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医师人数">
<el-form-item>
<el-input v-model.number="form.drPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="药师人数">
<el-form-item>
<el-input v-model.number="form.pharPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="护士人数">
<el-form-item>
<el-input v-model.number="form.nursPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="技术人员人数">
<el-form-item>
<el-input v-model.number="form.tecnPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="备注">
<el-form-item>
<el-input v-model="form.memo" type="text" :show-word-limit="true" :clearable="true"/>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
</div>
<div style="padding: 24px">
<el-form :model="form" label-width="auto" :rules="formRules" ref="formRef">
<el-descriptions
:column="4"
direction="vertical"
border
>
<el-descriptions-item label="科室名称">
<el-form-item prop="name">
<el-input v-model="form.name"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="科室类别">
<el-form-item prop="caty">
<el-cascader :props="{ checkStrictly: true }" v-model="form.caty" :options="options"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="开始日期">
<el-form-item prop="beginDate">
<div class="demo-date-picker">
<el-date-picker
v-model="form.beginDate"
type="date"
placeholder="请选择开始日期"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="结束日期">
<el-form-item>
<div class="demo-date-picker">
<el-date-picker
v-model="form.endDate"
type="date"
placeholder="请选择结束日期"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="成立时间">
<el-form-item>
<div class="demo-date-picker">
<el-date-picker
v-model="form.creationDate"
type="date"
placeholder="请选择成立时间"
:default-value="new Date(2010, 9, 1)"
/>
</div>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="简介">
<el-form-item>
<el-input v-model="form.info" type="text" :show-word-limit="true" :clearable="true" :size="'large'"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="负责人姓名">
<el-form-item prop="resperName">
<el-input v-model="form.resperName"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="负责人电话">
<el-form-item prop="resperTel">
<el-input v-model="form.resperTel"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医疗服务范围">
<el-form-item>
<el-input v-model="form.medServScp"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="批准床位数">
<el-form-item prop="bedCnt">
<el-input v-model="form.bedCnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医保认可床位数量">
<el-form-item>
<el-input v-model.number="form.socialBedCnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医师人数">
<el-form-item prop="drPsncnt">
<el-input v-model.number="form.drPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="药师人数">
<el-form-item prop="pharPsncnt">
<el-input v-model.number="form.pharPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="护士人数">
<el-form-item prop="nursPsncnt">
<el-input v-model.number="form.nursPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="技术人员人数">
<el-form-item prop="tecnPsncnt">
<el-input v-model.number="form.tecnPsncnt" type="number"/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="备注">
<el-form-item>
<el-input v-model="form.memo" type="text" :show-word-limit="true" :clearable="true"/>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
</div>
</el-scrollbar>
</template>
<template #footer>
@ -155,6 +155,41 @@ const form = ref<any>({
tecnPsncnt: '',
memo: '',
})
const formRules = ref<any>({
name: [
{required: true, message: '请输入名称', trigger: 'blur'},
],
caty: [
{required: true, message: '请选择科室类别', trigger: 'blur'},
],
beginDate: [
{required: true, message: '请选择开始日期', trigger: 'blur'},
],
resperName: [
{required: true, message: '请输入负责人姓名', trigger: 'blur'},
],
resperTel: [
{required: true, message: '请输入负责人电话', trigger: 'blur'},
],
creationDate: [
{required: true, message: '请选择成立时间', trigger: 'change'},
],
bedCnt: [
{required: true, message: '请输入批准床位数', trigger: 'blur'},
],
drPsncnt: [
{required: true, message: '请输入医师人数', trigger: 'blur'},
],
pharPsncnt: [
{required: true, message: '请输入药师人数', trigger: 'blur'},
],
nursPsncnt: [
{required: true, message: '请输入护士人数', trigger: 'blur'},
],
tecnPsncnt: [
{required: true, message: '请输入技师人数', trigger: 'blur'},
],
})
const isShow = ref<any>(false)
const emit = defineEmits(['onSubmit'])
const exit = () => {
@ -162,24 +197,29 @@ const exit = () => {
isShow.value = false
emit('onSubmit')
}
const openDialog= () => {
const openDialog = () => {
isShow.value = true
if (props.id) {
init(props.id)
}
}
const formRef = ref()
const save = () => {
if (props.id) {
post("organization/section/edit", {data: form.value}).then((res) => {
exit()
ElMessage.success('已修改')
})
} else {
post("organization/section/add", {data: form.value}).then((res) => {
exit()
ElMessage.success('已添加')
})
}
formRef.value.validate((valid: any) => {
if (valid) {
if (props.id) {
post("organization/section/edit", {data: form.value}).then((res) => {
exit()
ElMessage.success('已修改')
})
} else {
post("organization/section/add", {data: form.value}).then((res) => {
exit()
ElMessage.success('已添加')
})
}
}
})
}
const options = Object.entries(depts).map(([key, value]) => {
if (typeof value === 'string') {

View File

@ -9,7 +9,6 @@
clearable
v-model="searchModel.keyword"
@input="searchGoods"
style="width: 300px"
>
<template #prefix>
<el-icon>
@ -19,14 +18,13 @@
</el-input>
</el-form-item>
<el-form-item>
<el-cascader :collapse-tags="true" :props="props" style="width: 100px" :options="allCateList"
<el-cascader :collapse-tags="true" :props="props" :options="allCateList"
:show-all-levels="false"
v-model="searchModel.cateId" clearable/>
</el-form-item>
<el-form-item>
<el-select
placeholder="利润分类"
style="width: 100px"
multiple
collapse-tags
collapse-tags-tooltip
@ -52,8 +50,7 @@
</el-icon>
</el-form-item>
<el-form-item>
<el-input placeholder="最高毛利率" v-model="searchModel.maxInterestRate"
style="width: 100px">
<el-input placeholder="最高毛利率" style="width: 100px" v-model="searchModel.maxInterestRate">
<template #suffix>
<el-icon class="el-input__icon">%</el-icon>
</template>
@ -497,16 +494,22 @@ const props = {multiple: true}
margin-left: 5px;
}
:deep(.el-input__inner) {
:deep(.el-input__wrapper) {
height: 42px;
width: 100px;
&:nth-child(1) {
width: 280px;
}
}
:deep(.el-cascader .el-input) {
height: 42px;
width: 100px;
}
:deep(.el-select__wrapper) {
height: 42px;
width: 100px;
}
.btn-group {