From f346dcb4e26bfca845b4825006af03affe089b8a Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 02 八月 2024 17:23:42 +0800 Subject: [PATCH] 对外支持模块 --- src/components/form/FYForm.vue | 15 ++++++- src/views/fysp/support/components/FormDevice.vue | 37 ++++++++++++++++++ src/views/fysp/support/components/DeviceMatch.vue | 30 ++++++++++++++- 3 files changed, 78 insertions(+), 4 deletions(-) diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue index 94773fa..9c5405e 100644 --- a/src/components/form/FYForm.vue +++ b/src/components/form/FYForm.vue @@ -141,8 +141,19 @@ ); //鐩戝惉琛ㄥ崟缂栬緫鐘舵�� -watch(edit, (nValue) => { - emit('update:isEdit', nValue); +watch( + () => props.isEdit, + (nV, oV) => { + if (nV != oV) { + edit.value = nV; + } + }, + { immediate: true } +); +watch(edit, (nV, oV) => { + if (nV != oV) { + emit('update:isEdit', nV); + } }); defineExpose({ formObj, onSubmit, onCancel, onReset }); diff --git a/src/views/fysp/support/components/DeviceMatch.vue b/src/views/fysp/support/components/DeviceMatch.vue index 338bbe7..e9b046f 100644 --- a/src/views/fysp/support/components/DeviceMatch.vue +++ b/src/views/fysp/support/components/DeviceMatch.vue @@ -11,11 +11,20 @@ <el-row justify="space-between"> <div> <!-- <el-button type="primary" plain :disabled="!enabled">鍚嶇О鍚屾</el-button> --> - <el-button type="primary" plain :disabled="!enabled">褰曞叆璁惧淇℃伅</el-button> + <el-button type="primary" plain :disabled="!enabled" @click="setNewDevice" + >褰曞叆璁惧淇℃伅</el-button + > </div> <el-button type="danger" :disabled="!enabled">涓婁紶鍖归厤淇℃伅</el-button> </el-row> - <el-row></el-row> + <div v-if="newDevice"> + <el-text>鏂板璁惧</el-text> + <FormDevice :form-info="newDevice" :is-edit="true" ></FormDevice> + </div> + <div v-if="deviceList.length > 0"> + <el-text>宸叉湁璁惧</el-text> + <FormDevice v-for="item in deviceList" :key="item.diId" :form-info="item"></FormDevice> + </div> </template> </el-card> </template> @@ -23,11 +32,16 @@ import { ref, computed, watch } from 'vue'; import deviceApi from '@/api/fysp/deviceApi'; +import FormDevice from './FormDevice.vue'; + const props = defineProps({ device: Object, scene: Object }); +// 鏂板璁惧淇℃伅 +const newDevice = ref(); +// 鍦烘櫙宸叉湁璁惧淇℃伅 const deviceList = ref([]); const enabled = computed(() => { @@ -48,4 +62,16 @@ deviceList.value = res.data; }); } + +function setNewDevice() { + newDevice.value = { + diName: props.device.name, + diMnCode: props.device.code, + diType: 1, + diSupplier: null, + diMaintainer: null, + diRunningStatus: true, + diRemoved: false + }; +} </script> diff --git a/src/views/fysp/support/components/FormDevice.vue b/src/views/fysp/support/components/FormDevice.vue new file mode 100644 index 0000000..8e80c44 --- /dev/null +++ b/src/views/fysp/support/components/FormDevice.vue @@ -0,0 +1,37 @@ +<template> + <FYForm :form-info="formInfo" :rules="rules" :useReset="true" @submit="submit" @cancel="cancel"> + <template #form-item="{ formObj }"> + <el-form-item label="绔欑偣鍚嶇О" prop="diName"> + <el-input clearable v-model="formObj.diName" placeholder="绔欑偣鍚嶇О" /> + </el-form-item> + <el-form-item label="MN缂栧彿" prop="diMnCode"> + <el-input clearable v-model="formObj.diMnCode" placeholder="MN缂栧彿" /> + </el-form-item> + <el-form-item label="璁惧绫诲瀷" prop="diType"> + <el-input clearable v-model="formObj.diType" placeholder="璁惧绫诲瀷" /> + </el-form-item> + <el-form-item label="渚涘簲鍟�" prop="diSupplier"> + <el-input clearable v-model="formObj.diSupplier" placeholder="渚涘簲鍟�" /> + </el-form-item> + <el-form-item label="杩愮淮鍟�" prop="diMaintainer"> + <el-input clearable v-model="formObj.diMaintainer" placeholder="杩愮淮鍟�" /> + </el-form-item> + <el-form-item label="鏄惁涓婄嚎" prop="diRunningStatus"> + <el-switch + v-model="formObj.diRunningStatus" + inline-prompt + active-text="鏄�" + inactive-text="鍚�" + /> + </el-form-item> + <el-form-item label="鏄惁鎷嗛櫎" prop="diRemoved"> + <el-switch v-model="formObj.diRemoved" inline-prompt active-text="鏄�" inactive-text="鍚�" /> + </el-form-item> + </template> + </FYForm> +</template> +<script setup> +const props = defineProps({ + formInfo: Object +}); +</script> -- Gitblit v1.9.3