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