Merge remote-tracking branch 'origin/feat/mes' into feat/mes
commit
5d0755eea9
|
|
@ -74,8 +74,8 @@ export const useUploadImgRule = () => {
|
||||||
{
|
{
|
||||||
type: 'switch',
|
type: 'switch',
|
||||||
field: 'disabled',
|
field: 'disabled',
|
||||||
title: '是否显示删除按钮',
|
title: '是否禁用',
|
||||||
value: true
|
value: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'switch',
|
type: 'switch',
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ export const useTagsViewStore = defineStore('tagsView', {
|
||||||
// 删除某个
|
// 删除某个
|
||||||
delView(view: RouteLocationNormalizedLoaded) {
|
delView(view: RouteLocationNormalizedLoaded) {
|
||||||
this.delVisitedView(view)
|
this.delVisitedView(view)
|
||||||
this.delCachedView()
|
this.addCachedView()
|
||||||
},
|
},
|
||||||
// 删除tag
|
// 删除tag
|
||||||
delVisitedView(view: RouteLocationNormalizedLoaded) {
|
delVisitedView(view: RouteLocationNormalizedLoaded) {
|
||||||
|
|
@ -106,7 +106,7 @@ export const useTagsViewStore = defineStore('tagsView', {
|
||||||
// 删除所有缓存和tag
|
// 删除所有缓存和tag
|
||||||
delAllViews() {
|
delAllViews() {
|
||||||
this.delAllVisitedViews()
|
this.delAllVisitedViews()
|
||||||
this.delCachedView()
|
this.addCachedView()
|
||||||
},
|
},
|
||||||
// 删除所有tag
|
// 删除所有tag
|
||||||
delAllVisitedViews() {
|
delAllVisitedViews() {
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,6 @@ export enum DICT_TYPE {
|
||||||
MES_INDICATOR_TYPE = 'mes_indicator_type', // MES 检测项类型
|
MES_INDICATOR_TYPE = 'mes_indicator_type', // MES 检测项类型
|
||||||
MES_QC_RESULT_TYPE = 'mes_qc_result_type', // MES 质检结果值类型
|
MES_QC_RESULT_TYPE = 'mes_qc_result_type', // MES 质检结果值类型
|
||||||
MES_DEFECT_LEVEL = 'mes_defect_level', // MES 缺陷等级
|
MES_DEFECT_LEVEL = 'mes_defect_level', // MES 缺陷等级
|
||||||
MES_DEFECT_TYPE = 'mes_defect_type', // MES 缺陷检测项类型
|
|
||||||
MES_PRO_WORK_ORDER_STATUS = 'mes_pro_work_order_status', // MES 生产工单状态
|
MES_PRO_WORK_ORDER_STATUS = 'mes_pro_work_order_status', // MES 生产工单状态
|
||||||
MES_PRO_WORK_ORDER_SOURCE_TYPE = 'mes_pro_work_order_source_type', // MES 工单来源类型
|
MES_PRO_WORK_ORDER_SOURCE_TYPE = 'mes_pro_work_order_source_type', // MES 工单来源类型
|
||||||
MES_PRO_WORK_ORDER_TYPE = 'mes_pro_work_order_type', // MES 工单类型
|
MES_PRO_WORK_ORDER_TYPE = 'mes_pro_work_order_type', // MES 工单类型
|
||||||
|
|
|
||||||
|
|
@ -128,13 +128,19 @@ const validateTriggers = (_rule: any, value: any, callback: any) => {
|
||||||
callback(new Error(`触发器 ${i + 1}: 物模型标识符不能为空`))
|
callback(new Error(`触发器 ${i + 1}: 物模型标识符不能为空`))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!trigger.operator) {
|
// 事件上报 / 服务调用:operator 由前端自动设为 '=',参数值留空表示"事件 / 调用发生即匹配"
|
||||||
callback(new Error(`触发器 ${i + 1}: 操作符不能为空`))
|
const isEventOrService =
|
||||||
return
|
trigger.type === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST ||
|
||||||
}
|
trigger.type === IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE
|
||||||
if (trigger.value === undefined || trigger.value === null || trigger.value === '') {
|
if (!isEventOrService) {
|
||||||
callback(new Error(`触发器 ${i + 1}: 参数值不能为空`))
|
if (!trigger.operator) {
|
||||||
return
|
callback(new Error(`触发器 ${i + 1}: 操作符不能为空`))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (trigger.value === undefined || trigger.value === null || trigger.value === '') {
|
||||||
|
callback(new Error(`触发器 ${i + 1}: 参数值不能为空`))
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,14 +80,20 @@
|
||||||
:config="serviceConfig"
|
:config="serviceConfig"
|
||||||
placeholder="请输入 JSON 格式的服务参数"
|
placeholder="请输入 JSON 格式的服务参数"
|
||||||
/>
|
/>
|
||||||
<!-- 事件上报参数配置 -->
|
<!-- 事件上报比较值:标量填裸值;结构体/数组填 JSON 整体相等;留空则事件发生即匹配 -->
|
||||||
<JsonParamsInput
|
<template v-else-if="triggerType === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST">
|
||||||
v-else-if="triggerType === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST"
|
<el-input
|
||||||
v-model="condition.value"
|
:model-value="condition.value"
|
||||||
type="event"
|
@update:model-value="(value) => updateConditionField('value', value)"
|
||||||
:config="eventConfig"
|
placeholder="留空则事件发生即匹配"
|
||||||
placeholder="请输入 JSON 格式的事件参数"
|
/>
|
||||||
/>
|
<div class="text-12px text-[var(--el-text-color-secondary)] mt-4px leading-relaxed">
|
||||||
|
标量事件值填裸值(如
|
||||||
|
<code class="px-2px">normal</code>);结构体/数组事件值填合法
|
||||||
|
JSON(如
|
||||||
|
<code class="px-2px">{"level":"high"}</code>)
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
<!-- 普通值输入 -->
|
<!-- 普通值输入 -->
|
||||||
<ValueInput
|
<ValueInput
|
||||||
v-else
|
v-else
|
||||||
|
|
@ -276,19 +282,6 @@ const serviceConfig = computed(() => {
|
||||||
return undefined
|
return undefined
|
||||||
})
|
})
|
||||||
|
|
||||||
// 计算属性:事件配置 - 用于 JsonParamsInput
|
|
||||||
const eventConfig = computed(() => {
|
|
||||||
if (propertyConfig.value && props.triggerType === IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST) {
|
|
||||||
return {
|
|
||||||
event: {
|
|
||||||
name: propertyConfig.value.name || '事件',
|
|
||||||
outputParams: propertyConfig.value.outputParams || []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return undefined
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新条件字段
|
* 更新条件字段
|
||||||
* @param field 字段名
|
* @param field 字段名
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
<el-form-item label="检测项类型" prop="type">
|
<el-form-item label="检测项类型" prop="type">
|
||||||
<el-select v-model="formData.type" placeholder="请选择检测项类型" clearable class="!w-1/1">
|
<el-select v-model="formData.type" placeholder="请选择检测项类型" clearable class="!w-1/1">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_TYPE)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_INDICATOR_TYPE)"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
class="!w-240px"
|
class="!w-240px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_TYPE)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_INDICATOR_TYPE)"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
|
@ -90,7 +90,7 @@
|
||||||
<el-table-column label="缺陷描述" align="center" prop="name" min-width="200" />
|
<el-table-column label="缺陷描述" align="center" prop="name" min-width="200" />
|
||||||
<el-table-column label="检测项类型" align="center" prop="type" width="120">
|
<el-table-column label="检测项类型" align="center" prop="type" width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :type="DICT_TYPE.MES_DEFECT_TYPE" :value="scope.row.type" />
|
<dict-tag :type="DICT_TYPE.MES_INDICATOR_TYPE" :value="scope.row.type" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="缺陷等级" align="center" prop="level" width="120">
|
<el-table-column label="缺陷等级" align="center" prop="level" width="120">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue