fix(iot): 修复 scene 表单 vue-tsc 3 处类型错误
- ele device-control-config:
- defaultParams 类型显式为 Record<string, any> ;
param.identifier 可能为 undefined 时跳过赋值
- ElOption :value="service.identifier" 改为非空断言 service.identifier!
- ele json-params-input:getParamTypeTag 用 as const 让 TS 自动推断字面值
联合('primary' | 'success' | 'info' | 'warning' | 'danger'),传给
ElTag.type 不再报错
- antd value-input:handleNumberChange 参数改为 any 内部 String 转换
(AntD InputNumber @change 类型为 ValueType = string | number ,
原 number | undefined 报错)
pull/345/head
parent
e7361a60ec
commit
df8e23542b
|
|
@ -132,9 +132,9 @@ function handleDateChange(value: any) {
|
||||||
localValue.value = value || '';
|
localValue.value = value || '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 处理数字变化事件 */
|
/** 处理数字变化事件 ;InputNumber 回调值类型为 ValueType(string | number) */
|
||||||
function handleNumberChange(value: number | undefined) {
|
function handleNumberChange(value: any) {
|
||||||
localValue.value = value?.toString() || '';
|
localValue.value = value == null ? '' : String(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 监听操作符变化 */
|
/** 监听操作符变化 */
|
||||||
|
|
|
||||||
|
|
@ -125,8 +125,9 @@ function handleServiceChange(serviceIdentifier?: any) {
|
||||||
|
|
||||||
// 如果选择了服务且有输入参数,生成默认参数结构
|
// 如果选择了服务且有输入参数,生成默认参数结构
|
||||||
if (service && service.inputParams && service.inputParams.length > 0) {
|
if (service && service.inputParams && service.inputParams.length > 0) {
|
||||||
const defaultParams = {};
|
const defaultParams: Record<string, any> = {};
|
||||||
service.inputParams.forEach((param) => {
|
service.inputParams.forEach((param) => {
|
||||||
|
if (!param.identifier) return;
|
||||||
defaultParams[param.identifier] = getDefaultValueForParam(param);
|
defaultParams[param.identifier] = getDefaultValueForParam(param);
|
||||||
});
|
});
|
||||||
// 将默认参数转换为 JSON 字符串保存
|
// 将默认参数转换为 JSON 字符串保存
|
||||||
|
|
@ -376,7 +377,7 @@ watch(
|
||||||
v-for="service in serviceList"
|
v-for="service in serviceList"
|
||||||
:key="service.identifier"
|
:key="service.identifier"
|
||||||
:label="service.name"
|
:label="service.name"
|
||||||
:value="service.identifier"
|
:value="service.identifier!"
|
||||||
>
|
>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>{{ service.name }}</span>
|
<span>{{ service.name }}</span>
|
||||||
|
|
|
||||||
|
|
@ -305,7 +305,7 @@ function getParamTypeName(dataType: string) {
|
||||||
* @returns 标签样式
|
* @returns 标签样式
|
||||||
*/
|
*/
|
||||||
function getParamTypeTag(dataType: string) {
|
function getParamTypeTag(dataType: string) {
|
||||||
const tagMap: Record<string, string> = {
|
const tagMap = {
|
||||||
[IoTDataSpecsDataTypeEnum.INT]: 'primary',
|
[IoTDataSpecsDataTypeEnum.INT]: 'primary',
|
||||||
[IoTDataSpecsDataTypeEnum.FLOAT]: 'success',
|
[IoTDataSpecsDataTypeEnum.FLOAT]: 'success',
|
||||||
[IoTDataSpecsDataTypeEnum.DOUBLE]: 'success',
|
[IoTDataSpecsDataTypeEnum.DOUBLE]: 'success',
|
||||||
|
|
@ -315,8 +315,8 @@ function getParamTypeTag(dataType: string) {
|
||||||
[IoTDataSpecsDataTypeEnum.DATE]: 'primary',
|
[IoTDataSpecsDataTypeEnum.DATE]: 'primary',
|
||||||
[IoTDataSpecsDataTypeEnum.STRUCT]: 'info',
|
[IoTDataSpecsDataTypeEnum.STRUCT]: 'info',
|
||||||
[IoTDataSpecsDataTypeEnum.ARRAY]: 'warning',
|
[IoTDataSpecsDataTypeEnum.ARRAY]: 'warning',
|
||||||
};
|
} as const;
|
||||||
return tagMap[dataType] || 'info';
|
return tagMap[dataType as keyof typeof tagMap] || 'info';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue