修改测试问题

This commit is contained in:
guanj
2026-06-16 08:34:45 +08:00
parent 1c01fe5ae1
commit d9dfd804c5
63 changed files with 5289 additions and 3842 deletions

View File

@@ -22,13 +22,13 @@
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="治理类型" class="top">
<el-form-item label="治理类型" class="top">
<el-select v-model.trim="form.governType" filterable placeholder="请选择治理类型" clearable>
<el-option label="暂态" value="event"></el-option>
<el-option label="稳态" value="harmonic"></el-option>
</el-select>
</el-form-item>
<el-form-item label="敏感用户"class="top">
<el-form-item label="敏感用户" class="top">
<div style="display: flex;">
<el-select v-model.trim="form.monitorUser" style="width: 230px;" filterable placeholder="请选择敏感用户"
clearable>
@@ -38,7 +38,7 @@
<el-button type="primary" icon="el-icon-Plus" class="ml10" @click="addMonitorUser" />
</div>
</el-form-item>
<el-form-item label="治理方法" class="top">
<el-form-item label="治理方法" class="top">
<el-input maxlength="32" show-word-limit v-model="form.governMethod" autocomplete="off" clearable
placeholder="例: 250A APF 或 100kVar SVG"></el-input>
</el-form-item>
@@ -48,9 +48,12 @@
<el-option label="CLD" value="CLD"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联项目" class="top">
<el-cascader v-model.trim="form.association" filterable :options="engineeringList"
:props="cascaderProps" clearable placeholder="请选择关联项目" />
<el-form-item label="关联项目" class="top" prop="association" :required="isMonitorDeviceType">
<div style="display: flex;">
<el-cascader v-model.trim="form.association" filterable :options="engineeringList"
:props="cascaderProps" clearable placeholder="请选择关联项目" />
<el-button type="primary" icon="el-icon-Plus" class="ml10" @click="addProject" />
</div>
</el-form-item>
<el-form-item label="排序" class="top" prop="sort">
<el-input-number v-model.trim="form.sort" style="width: 100%;" :min="0" />
@@ -105,9 +108,40 @@ const rules = reactive({
devModel: [{ required: true, message: '请选择设备型号', trigger: 'change' }],
devAccessMethod: [{ required: true, message: '请输入接入方式', trigger: 'blur' }],
cntractNo: [{ required: true, message: '请输入合同号', trigger: 'blur' }],
sort: [{ required: true, message: '请输入排序', trigger: 'blur' }]
sort: [{ required: true, message: '请输入排序', trigger: 'blur' }],
association: [{
validator: (_rule: any, value: any, callback: (error?: Error) => void) => {
if (isMonitorDevType(form.devType)) {
if (!Array.isArray(value) || value.length < 2 || !value[0] || !value[1]) {
callback(new Error('请选择关联项目'))
return
}
}
callback()
},
trigger: 'change'
}]
})
const getDevTypeOptions = () => {
if (form.devAccessMethod === 'CLD') {
return Array.isArray(props.devTypeOptions2)
? props.devTypeOptions2
: props.devTypeOptions2
? [props.devTypeOptions2]
: []
}
return props.devTypeOptions
}
const isMonitorDevType = (devType: unknown) => {
if (!devType) return false
const selected = getDevTypeOptions().find((item: any) => (item.value || item.id) == devType)
return selected?.name === '监测设备' || selected?.label === '监测设备' || selected?.code === 'DEV_CLD'
}
const isMonitorDeviceType = computed(() => isMonitorDevType(form.devType))
function getDefaultForm() {
return {
cntractNo: '',
@@ -170,6 +204,12 @@ const formDevTypeOptions = computed(() => {
const formDevTypeChange = (e: any) => {
if (!e) return
form.devModel = ''
nextTick(() => {
ruleFormRef.value?.clearValidate('association')
if (isMonitorDevType(e)) {
ruleFormRef.value?.validateField('association')
}
})
}
const openAdd = () => {
@@ -219,6 +259,12 @@ const addMonitorUser = () => {
name: 'govern/sensitiveLoadMange/index',
})
}
const addProject = () => {
sessionStorage.setItem('factoryNeedRefreshEngineeringList', '1')
router.push({
name: 'govern/manage/engineering',
})
}
const onSubmit = () => {
ruleFormRef.value.validate((valid: boolean) => {
if (!valid) return