修改测试问题
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="default-main" v-loading="loading">
|
||||
<div v-loading="loading">
|
||||
<TableHeader>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="关键字筛选">
|
||||
@@ -214,6 +214,7 @@ const tableStore = new TableStore({
|
||||
url: '/cs-device-boot/EquipmentDelivery/list',
|
||||
method: 'POST',
|
||||
isWebPaging: true,
|
||||
publicHeight: 60,
|
||||
column: [
|
||||
{
|
||||
width: '60',
|
||||
@@ -837,20 +838,8 @@ const getUserList = () => {
|
||||
})
|
||||
}
|
||||
|
||||
// 页面被 keep-alive 缓存后,从敏感用户页返回时刷新下拉列表
|
||||
onActivated(() => {
|
||||
if (sessionStorage.getItem('factoryNeedRefreshUserList')) {
|
||||
sessionStorage.removeItem('factoryNeedRefreshUserList')
|
||||
getUserList()
|
||||
}
|
||||
})
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
|
||||
onMounted(() => {
|
||||
getUserList()
|
||||
queryTheDictionary()
|
||||
engineeringProject().then(res => {
|
||||
const getEngineeringList = () => {
|
||||
return engineeringProject().then(res => {
|
||||
engineeringList.value = res.data.filter(item => {
|
||||
item.projectName = item.engineeringName
|
||||
item.projectId = item.engineeringId
|
||||
@@ -858,6 +847,27 @@ onMounted(() => {
|
||||
return item
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 页面被 keep-alive 缓存后,从敏感用户/工程页返回时刷新下拉列表
|
||||
onActivated(() => {
|
||||
// if (sessionStorage.getItem('factoryNeedRefreshUserList')) {
|
||||
// sessionStorage.removeItem('factoryNeedRefreshUserList')
|
||||
getUserList()
|
||||
// }
|
||||
|
||||
// if (sessionStorage.getItem('factoryNeedRefreshEngineeringList')) {
|
||||
// sessionStorage.removeItem('factoryNeedRefreshEngineeringList')
|
||||
getEngineeringList()
|
||||
// }
|
||||
})
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
|
||||
onMounted(() => {
|
||||
queryTheDictionary()
|
||||
// getUserList()
|
||||
// getEngineeringList()
|
||||
|
||||
setTimeout(() => { }, 100)
|
||||
})
|
||||
|
||||
@@ -30,6 +30,7 @@ import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
|
||||
import { buildExportBaseName } from '@/utils/echartMethod'
|
||||
defineOptions({
|
||||
name: 'manage/monthly'
|
||||
})
|
||||
@@ -180,7 +181,7 @@ tableStore.table.params.name = ''
|
||||
const tableRef = ref()
|
||||
const exportTab = () => {
|
||||
tableRef.value.getRef()?.exportData({
|
||||
filename: '半月报功能', // 文件名字
|
||||
filename: buildExportBaseName({ feature: '半月报功能' }), // 文件名字
|
||||
sheetName: 'Sheet1',
|
||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||
useStyle: true,
|
||||
|
||||
Reference in New Issue
Block a user