|
@@ -0,0 +1,236 @@
|
|
|
+<template>
|
|
|
+ <div class="layout_container">
|
|
|
+ <div class="layout_main">
|
|
|
+ <div class="demo-collapse">
|
|
|
+ <el-form :model="form" label-width="80" class="demo-ruleForm">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="type" label="类别">
|
|
|
+ <el-select v-model="form.type" placeholder="请选择类别" clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in bedType" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="bedStatus" label="状态">
|
|
|
+ <el-select v-model="form.bedStatus" placeholder="请选择状态" clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in bedStatusType" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="bedNo" label="床号">
|
|
|
+ <el-input v-model="form.bedNo" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="roomNo" label="房间号">
|
|
|
+ <el-input v-model="form.roomNo" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="sex" label="房间属性">
|
|
|
+ <el-select v-model="form.sex" placeholder="请选择房间属性" clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in sexType" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="roomRate1" label="床位费">
|
|
|
+ <el-input v-model="form.roomRate1" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="chargeCodeBed" label="床位费项目">
|
|
|
+ <CyComboGrid v-model="form" key-field="form.chargeCodeBed" value="chargeCodeBed" label="chargeCodeBedName" :collapse-tags="ff" clearable
|
|
|
+ placement="bottom" :table-header="tableHeaderBed" :remote-method="selectAirItemInfo" style="width: 100%"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <el-form :model="form1" label-width="80" class="demo-ruleForm">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="heatingFee" label="取暖费">
|
|
|
+ <el-input v-model="form1.heatingFee" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="airConditionFee" label="空调费">
|
|
|
+ <el-input v-model="form1.airConditionFee" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="chargeCodeAir" label="空调费项目">
|
|
|
+ <CyComboGrid v-model="form1" key-field="form.chargeCodeAir" value="chargeCodeBed" label="chargeCodeBedName" :collapse-tags="ff" clearable
|
|
|
+ placement="bottom" :table-header="tableHeaderBed" :remote-method="selectAirItemInfo" style="width: 100%"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="specialCharge" label="特殊收费">
|
|
|
+ <el-input v-model="form1.specialCharge" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="roomRate2" label="其他费">
|
|
|
+ <el-input v-model="form1.roomRate2" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="heatColdFlag" label="生效">
|
|
|
+ <el-select v-model="form1.heatColdFlag" placeholder="请选择生效" clearable style="width: 100%">
|
|
|
+ <el-option v-for="item in heatColdType" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="onSubmit">保存</el-button>
|
|
|
+ <el-button>取消</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script setup name="AddBedForDept">
|
|
|
+import {nextTick, onMounted, ref} from 'vue'
|
|
|
+import {
|
|
|
+ bedStatusType,
|
|
|
+ bedType,
|
|
|
+ heatColdType,
|
|
|
+ saveBedForDept,
|
|
|
+ selectAirItemInfo,
|
|
|
+ sexType
|
|
|
+} from "@/api/dictionary/personnel/bed-dept-dict"
|
|
|
+import CyComboGrid from "@/components/cy/combo-grid/src/CyComboGrid.vue";
|
|
|
+import {ElMessage} from "element-plus";
|
|
|
+
|
|
|
+const ff = ref(true)
|
|
|
+const form = ref({
|
|
|
+ deptCode: '',
|
|
|
+ wardCode: '',
|
|
|
+ type: '',
|
|
|
+ bedStatus: '',
|
|
|
+ bedNo: '',
|
|
|
+ roomNo: '',
|
|
|
+ sex: '',
|
|
|
+ roomRate1: 0,
|
|
|
+ chargeCodeBed: '',
|
|
|
+})
|
|
|
+const form1 = ref({
|
|
|
+ heatingFee: 0,
|
|
|
+ airConditionFee: 0,
|
|
|
+ chargeCodeAir: '',
|
|
|
+ specialCharge: 0,
|
|
|
+ roomRate2: 0,
|
|
|
+ heatColdFlag: '',
|
|
|
+})
|
|
|
+
|
|
|
+const props = defineProps({
|
|
|
+ bedForDeptDetail: {
|
|
|
+ type: Object,
|
|
|
+ default: {}
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+// 清理原始数据
|
|
|
+const clearInfo = () => {
|
|
|
+ form.value = {
|
|
|
+ deptCode: '',
|
|
|
+ wardCode: '',
|
|
|
+ type: '',
|
|
|
+ bedStatus: '',
|
|
|
+ bedNo: '',
|
|
|
+ roomNo: '',
|
|
|
+ sex: '',
|
|
|
+ roomRate1: 0,
|
|
|
+ chargeCodeBed: '',
|
|
|
+ }
|
|
|
+ form1.value = {
|
|
|
+ heatingFee: 0,
|
|
|
+ airConditionFee: 0,
|
|
|
+ chargeCodeAir: '',
|
|
|
+ specialCharge: 0,
|
|
|
+ roomRate2: 0,
|
|
|
+ heatColdFlag: '',
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(async () => {
|
|
|
+ await nextTick(() => {
|
|
|
+ clearInfo()
|
|
|
+ form.value = props.bedForDeptDetail
|
|
|
+ form.value.type = '1'
|
|
|
+ form.value.bedStatus = '1'
|
|
|
+ form.value.roomNo = ''
|
|
|
+ form.value.heatColdFlag = '1'
|
|
|
+ form.value.roomRate1 = 0
|
|
|
+ form.value.chargeCodeBed = ''
|
|
|
+ form1.value.heatingFee = 0
|
|
|
+ form1.value.airConditionFee = 0
|
|
|
+ form1.value.specialCharge = 0
|
|
|
+ form1.value.roomRate2 = 0
|
|
|
+ form1.value.chargeCodeAir = ''
|
|
|
+ form1.value.heatColdFlag = '1'
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+const tableHeaderBed = ref([
|
|
|
+ {name: '项目编码', code: 'value', width: 80,},
|
|
|
+ {name: '项目名称', code: 'label', width: 220},
|
|
|
+ {name: '单价', code: 'price', width: 100},
|
|
|
+ {name: '贵重', code: 'separateFlag', width: 50},
|
|
|
+ {name: '自费', code: 'selfFlag', width: 50},
|
|
|
+ {name: '执行科室', code: 'execName', width: 120},
|
|
|
+ {name: '拼音码', code: 'pyCode', width: 100},
|
|
|
+ {name: '五笔码', code: 'dCode', width: 100},
|
|
|
+ {name: '院内码', code: 'nCode', width: 80}
|
|
|
+ ]
|
|
|
+)
|
|
|
+
|
|
|
+const emit = defineEmits(['close', 'closeBedForDeptDetail'])
|
|
|
+const formData = ref({})
|
|
|
+const onSubmit = () => {
|
|
|
+ if(form.value.chargeCodeBed === '' || form.value.roomRate1 === 0){
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ message: '床位费或床位费项目未填写,请检查!',
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ formData.value = Object.assign(form.value, form1.value)
|
|
|
+ saveBedForDept(formData.value).then((res) => {
|
|
|
+ if (res.cg) {
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ message: res.cg,
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+
|
|
|
+ emit('closeBedForDeptDetail', true)
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+</script>
|