From 49206ee0689d44367b9f5de3decf0c3ec02bfb51 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 15 四月 2025 10:56:18 +0800 Subject: [PATCH] update --- src/views/ecg/devmanage/DeviceForm.vue | 65 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 13 deletions(-) diff --git a/src/views/ecg/devmanage/DeviceForm.vue b/src/views/ecg/devmanage/DeviceForm.vue index 90e165a..b1fc3c7 100644 --- a/src/views/ecg/devmanage/DeviceForm.vue +++ b/src/views/ecg/devmanage/DeviceForm.vue @@ -13,13 +13,20 @@ type="date" value-format="x" placeholder="閫夋嫨閲囪喘鏃ユ湡" + :readonly="formType === 'devState'" /> </el-form-item> - <el-form-item label="璁惧缂栧彿" prop="devId"> - <el-input v-model="formData.devId" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" /> + <el-form-item label="璁惧鍥烘湁缂栧彿" prop="devId"> + <el-input v-model="formData.devCodeIntrinsic" :readonly="formType === 'devState'" placeholder="璇疯緭鍏ヨ澶囧浐鏈夌紪鍙�" /> + </el-form-item> + <el-form-item label="璁惧鍖婚櫌缂栧彿" prop="devId"> + <el-input v-model="formData.devCodeHosp" :readonly="formType === 'devState'" placeholder="璇疯緭鍏ヨ澶囧尰闄㈢紪鍙�" /> + </el-form-item> + <el-form-item label="璁惧绉戝缂栧彿" prop="devId"> + <el-input v-model="formData.devCodeDept" :readonly="formType === 'devState'" placeholder="璇疯緭鍏ヨ澶囩瀹ょ紪鍙�" /> </el-form-item> <el-form-item label="鍒嗙被鍚�" prop="category"> - <el-select v-model="formData.category" placeholder="璇烽�夋嫨鍒嗙被鍚�" @change="categoryChanged"> + <el-select v-model="formData.category" placeholder="璇烽�夋嫨鍒嗙被鍚�" @change="categoryChanged" :disabled="formType === 'devState'"> <el-option v-for="dict in categoryOptions" :key="dict.value as string" @@ -29,7 +36,7 @@ </el-select> </el-form-item> <el-form-item label="鍝佺墝" prop="brand"> - <el-select v-model="formData.brand" placeholder="璇烽�夋嫨鍝佺墝" @change="brandChanged"> + <el-select v-model="formData.brand" placeholder="璇烽�夋嫨鍝佺墝" @change="brandChanged" :disabled="formType === 'devState'"> <el-option v-for="dict in brandOptions" :key="dict.value" @@ -39,7 +46,7 @@ </el-select> </el-form-item> <el-form-item label="鍨嬪彿" prop="model"> - <el-select v-model="formData.model" placeholder="璇烽�夋嫨鍨嬪彿"> + <el-select v-model="formData.model" placeholder="璇烽�夋嫨鍨嬪彿" :disabled="formType === 'devState'"> <el-option v-for="dict in modelOptions" :key="dict.value" @@ -48,6 +55,24 @@ /> </el-select> </el-form-item> + + <el-form-item v-if="formType !== 'create'" label="鐘舵��" prop="state"> + <el-radio-group v-if="formType === 'devState'" v-model="formData.state"> + <el-radio key="0" :value="0"> 绌洪棽涓� </el-radio> + <el-radio key="5" :value="5"> 宸查鍙� </el-radio> + <el-radio key="10" :value="10"> 宸茶鏈� </el-radio> + <el-radio key="20" :value="20"> 宸查仐澶� </el-radio> + <el-radio key="30" :value="30"> 寰呯淮淇� </el-radio> + <el-radio key="30" :value="40"> 缁翠慨涓� </el-radio> + <el-radio key="40" :value="50"> 宸叉姤搴� </el-radio> + </el-radio-group> + <span v-else>{{tranlateDevState(formData.state)}}</span> + </el-form-item> + + <el-form-item label="澶囨敞" prop="devId"> + <el-input v-model="formData.comment" placeholder="璇疯緭鍏ヨ澶囧娉�" /> + </el-form-item> + </el-form> <template #footer> <el-button @click="submitForm" type="primary" :disabled="formLoading">纭� 瀹�</el-button> @@ -58,6 +83,7 @@ <script setup lang="ts"> import {getStrDictOptions, DICT_TYPE, DictDataType} from '@/utils/dict' import {DeviceApi, DeviceVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage' +import {tranlateDevState} from "@/utils/statusFormatter"; /** 璁惧 琛ㄥ崟 */ defineOptions({ name: 'DeviceForm' }) @@ -71,12 +97,18 @@ const formType = ref('') // 琛ㄥ崟鐨勭被鍨嬶細create - 鏂板锛泆pdate - 淇敼 const formData = ref<DeviceVO>({ id: 0, - purchaseDate: new Date().getTime(), devId: '', + purchaseDate: new Date().getTime(), + devCodeIntrinsic: '', + devCodeHosp: '', + devCodeDept: '', category: '', brand: '', - model: '' + model: '', + comment: '', + state: 0, }) + const formRules = reactive({ }) const formRef = ref() // 琛ㄥ崟 Ref @@ -121,9 +153,12 @@ if (formType.value === 'create') { await DeviceApi.createDevice(data) message.success(t('common.createSuccess')) - } else { + } else if (formType.value === 'update') { await DeviceApi.updateDevice(data) message.success(t('common.updateSuccess')) + } else { + await DeviceApi.updateDeviceState(data) + message.success(t('common.updateStateSuccess')) } dialogVisible.value = false // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢 @@ -137,15 +172,21 @@ const resetForm = () => { formData.value = { id: 0, - purchaseDate: new Date().getTime(), devId: '', + purchaseDate: new Date().getTime(), + devCodeIntrinsic: '', + devCodeHosp: '', + devCodeDept: '', category: '', brand: '', - model: '' + model: '', + comment: '', + state: 0, } formRef.value?.resetFields() } +const categoryOptions = ref<DictDataType[]>([]) const brandOptions = ref<OptionsVO[]>([]) const modelOptions = ref<OptionsVO[]>([]) @@ -164,12 +205,10 @@ formData.value.model = modelOptions.value.length === 0 ? "" : modelOptions.value[0].value } -const categoryOptions = ref<DictDataType[]>([]) - onMounted( async () => { console.info("onMount DeviceForm...") const data = await getStrDictOptions(DICT_TYPE.ECG_DEV_CATEGORY) categoryOptions.value = data }) -</script> \ No newline at end of file +</script> -- Gitblit v1.9.3