fix: iot && IconifyIcon
This commit is contained in:
@@ -12,9 +12,13 @@ import { getDictOptions } from '@vben/hooks';
|
||||
import { $t } from '@vben/locales';
|
||||
import { cloneDeep } from '@vben/utils';
|
||||
|
||||
import { message } from 'ant-design-vue';
|
||||
import { Button, Form, Input, message, Radio } from 'ant-design-vue';
|
||||
|
||||
import { createThingModel, updateThingModel } from '#/api/iot/thingmodel';
|
||||
import {
|
||||
createThingModel,
|
||||
getThingModel,
|
||||
updateThingModel,
|
||||
} from '#/api/iot/thingmodel';
|
||||
import {
|
||||
IOT_PROVIDE_KEY,
|
||||
IoTDataSpecsDataTypeEnum,
|
||||
@@ -37,7 +41,7 @@ const dialogTitle = ref(''); // 弹窗的标题
|
||||
const formLoading = ref(false); // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const formType = ref(''); // 表单的类型:create - 新增;update - 修改
|
||||
const formData = ref<ThingModelData>({
|
||||
type: IoTThingModelTypeEnum.PROPERTY,
|
||||
type: IoTThingModelTypeEnum.PROPERTY.toString(),
|
||||
dataType: IoTDataSpecsDataTypeEnum.INT,
|
||||
property: {
|
||||
dataType: IoTDataSpecsDataTypeEnum.INT,
|
||||
@@ -47,7 +51,7 @@ const formData = ref<ThingModelData>({
|
||||
},
|
||||
service: {},
|
||||
event: {},
|
||||
} as ThingModelData);
|
||||
});
|
||||
|
||||
const formRef = ref(); // 表单 Ref
|
||||
|
||||
@@ -176,68 +180,64 @@ function resetForm() {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Dialog v-model="dialogVisible" :title="dialogTitle">
|
||||
<a-form
|
||||
<Modal v-model="dialogVisible" :title="dialogTitle">
|
||||
<Form
|
||||
ref="formRef"
|
||||
:loading="formLoading"
|
||||
:model="formData"
|
||||
:rules="ThingModelFormRules"
|
||||
:label-col="{ span: 6 }"
|
||||
:wrapper-col="{ span: 18 }"
|
||||
>
|
||||
<a-form-item label="功能类型" name="type">
|
||||
<a-radio-group v-model:value="formData.type">
|
||||
<a-radio-button
|
||||
v-for="dict in getDictOptions(
|
||||
<Form.Item label="功能类型" name="type">
|
||||
<Radio.Group v-model:value="formData.type">
|
||||
<Radio.Button
|
||||
v-for="(dict, index) in getDictOptions(
|
||||
DICT_TYPE.IOT_THING_MODEL_TYPE,
|
||||
'number',
|
||||
)"
|
||||
:key="dict.value"
|
||||
:key="index"
|
||||
:value="dict.value"
|
||||
>
|
||||
{{ dict.label }}
|
||||
</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item label="功能名称" name="name">
|
||||
<a-input v-model:value="formData.name" placeholder="请输入功能名称" />
|
||||
</a-form-item>
|
||||
<a-form-item label="标识符" name="identifier">
|
||||
<a-input
|
||||
v-model:value="formData.identifier"
|
||||
placeholder="请输入标识符"
|
||||
/>
|
||||
</a-form-item>
|
||||
</Radio.Button>
|
||||
</Radio.Group>
|
||||
</Form.Item>
|
||||
<Form.Item label="功能名称" name="name">
|
||||
<Input v-model:value="formData.name" placeholder="请输入功能名称" />
|
||||
</Form.Item>
|
||||
<Form.Item label="标识符" name="identifier">
|
||||
<Input v-model:value="formData.identifier" placeholder="请输入标识符" />
|
||||
</Form.Item>
|
||||
<!-- 属性配置 -->
|
||||
<ThingModelProperty
|
||||
v-if="formData.type === IoTThingModelTypeEnum.PROPERTY"
|
||||
v-if="formData.type === IoTThingModelTypeEnum.PROPERTY.toString()"
|
||||
v-model="formData.property"
|
||||
/>
|
||||
<!-- 服务配置 -->
|
||||
<ThingModelService
|
||||
v-if="formData.type === IoTThingModelTypeEnum.SERVICE"
|
||||
v-if="formData.type === IoTThingModelTypeEnum.SERVICE.toString()"
|
||||
v-model="formData.service"
|
||||
/>
|
||||
<!-- 事件配置 -->
|
||||
<ThingModelEvent
|
||||
v-if="formData.type === IoTThingModelTypeEnum.EVENT"
|
||||
v-if="formData.type === IoTThingModelTypeEnum.EVENT.toString()"
|
||||
v-model="formData.event"
|
||||
/>
|
||||
<a-form-item label="描述" name="description">
|
||||
<a-textarea
|
||||
v-model:value="formData.description"
|
||||
<Form.Item label="描述" name="desc">
|
||||
<Input.TextArea
|
||||
v-model:value="formData.desc"
|
||||
:maxlength="200"
|
||||
:rows="3"
|
||||
placeholder="请输入属性描述"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
<template #footer>
|
||||
<a-button :disabled="formLoading" type="primary" @click="submitForm">
|
||||
<Button :disabled="formLoading" type="primary" @click="submitForm">
|
||||
确 定
|
||||
</a-button>
|
||||
<a-button @click="dialogVisible = false">取 消</a-button>
|
||||
</Button>
|
||||
<Button @click="dialogVisible = false">取 消</Button>
|
||||
</template>
|
||||
</Dialog>
|
||||
</Modal>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user