修改测试问题
This commit is contained in:
@@ -3,22 +3,47 @@
|
||||
<TableHeader>
|
||||
<template #select>
|
||||
<el-form-item label="数据分类">
|
||||
<el-select v-model.trim="tableStore.table.params.dataType" multiple filterable collapse-tags
|
||||
clearable placeholder="请选择数据分类">
|
||||
<el-option v-for="item in DataTypeSelect" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-select
|
||||
v-model.trim="tableStore.table.params.dataType"
|
||||
multiple
|
||||
filterable
|
||||
collapse-tags
|
||||
clearable
|
||||
placeholder="请选择数据分类"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in DataTypeSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据存储">
|
||||
<el-select v-model.trim="tableStore.table.params.classId" multiple filterable collapse-tags
|
||||
clearable placeholder="请选择数据存储">
|
||||
<el-option v-for="item in DataSelect" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-select
|
||||
v-model.trim="tableStore.table.params.classId"
|
||||
multiple
|
||||
filterable
|
||||
collapse-tags
|
||||
clearable
|
||||
placeholder="请选择数据存储"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in DataSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字筛选">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="数据名称、别名、展示名称" clearable></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="数据名称、别名、展示名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
@@ -26,7 +51,7 @@
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<PopupDictionary ref="popupDictionary"></PopupDictionary>
|
||||
<PopupDictionary ref="popupDictionary" v-if="show" @close="show=false"></PopupDictionary>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -43,6 +68,7 @@ import { Plus } from '@element-plus/icons-vue'
|
||||
defineOptions({
|
||||
name: 'govern/manage/basic/dictionary'
|
||||
})
|
||||
const show = ref(false)
|
||||
const popupDictionary = ref()
|
||||
const dictData = useDictData()
|
||||
const DataSelect = dictData.getBasicData('Data')
|
||||
@@ -53,7 +79,9 @@ const tableStore = new TableStore({
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
title: '序号', width: 80, formatter: (row: any) => {
|
||||
title: '序号',
|
||||
width: 80,
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
@@ -83,7 +111,10 @@ const tableStore = new TableStore({
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
popupDictionary.value.open('编辑字典', row)
|
||||
show.value = true
|
||||
setTimeout(() => {
|
||||
popupDictionary.value.open('编辑字典', row)
|
||||
}, 100)
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -131,6 +162,9 @@ onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
const addMenu = () => {
|
||||
popupDictionary.value.open('新增字典')
|
||||
show.value = true
|
||||
setTimeout(() => {
|
||||
popupDictionary.value.open('新增字典')
|
||||
}, 100)
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title" @close=" emit('close')">
|
||||
<el-scrollbar>
|
||||
<div style="padding-left: 50px">
|
||||
<el-divider content-position="center">基础数据</el-divider>
|
||||
@@ -7,127 +7,239 @@
|
||||
<el-form :model="form" label-width="140px" ref="formRef" class="form-two" :rules="rules">
|
||||
<el-form-item label="数据分类:" prop="dataType">
|
||||
<el-select v-model.trim="form.dataType" filterable clearable placeholder="请选择数据分类">
|
||||
<el-option v-for="item in DataTypeSelect" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in DataTypeSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据名称:" prop="name">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" autocomplete="off"
|
||||
placeholder="请输入数据名称"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.name"
|
||||
autocomplete="off"
|
||||
placeholder="请输入数据名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="别名:" prop="otherName">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.otherName" autocomplete="off"
|
||||
placeholder="请输入别名"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.otherName"
|
||||
autocomplete="off"
|
||||
placeholder="请输入别名"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="展示名称:" prop="showName">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.showName" autocomplete="off"
|
||||
placeholder="请输入展示名称"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.showName"
|
||||
autocomplete="off"
|
||||
placeholder="请输入展示名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="相别:" prop="phase">
|
||||
<el-select v-model.trim="form.phase" filterable clearable placeholder="请选择相别">
|
||||
<el-option v-for="item in phaseSelect" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in phaseSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单位:" prop="unit">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.unit" autocomplete="off"
|
||||
placeholder="请输入单位"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.unit"
|
||||
autocomplete="off"
|
||||
placeholder="请输入单位"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="基础数据类型:" prop="type">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.type" autocomplete="off"
|
||||
placeholder="请输入基础数据类型"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.type"
|
||||
autocomplete="off"
|
||||
placeholder="请输入基础数据类型"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始结束次数:" prop="harmStart">
|
||||
<el-slider v-model.trim="form.harm" range show-stops :max="50" style="width: 95%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="统计方法:" prop="statMethod">
|
||||
<el-select v-model.trim="form.statMethod" multiple collapse-tags collapse-tags-tooltip filterable
|
||||
clearable placeholder="请选择统计方法">
|
||||
<el-option v-for="item in StatMethodSelect" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-select
|
||||
v-model.trim="form.statMethod"
|
||||
multiple
|
||||
collapse-tags
|
||||
collapse-tags-tooltip
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择统计方法"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in StatMethodSelect"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据存储:" prop="classId">
|
||||
<el-select v-model.trim="form.classId" filterable clearable placeholder="请选择数据存储">
|
||||
<el-option v-for="item in DataSelect" :key="item.code" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in DataSelect"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="报表数据来源:" prop="resourcesId">
|
||||
<el-select v-model.trim="form.resourcesId" filterable clearable placeholder="请选择报表数据来源">
|
||||
<el-option v-for="item in ResourcesIdSelect" :key="item.code" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in ResourcesIdSelect"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="序号:" prop="sort">
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model.trim="form.sort" autocomplete="off"
|
||||
placeholder="请输入序号"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="number"
|
||||
v-model.trim="form.sort"
|
||||
autocomplete="off"
|
||||
placeholder="请输入序号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="限值名称:" prop="limitName">
|
||||
<el-input maxlength="32" show-word-limit type="text" v-model.trim="form.limitName"
|
||||
autocomplete="off" placeholder="请输入限值名称"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="text"
|
||||
v-model.trim="form.limitName"
|
||||
autocomplete="off"
|
||||
placeholder="请输入限值名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="限值表名:" prop="limitTable">
|
||||
<el-input maxlength="32" show-word-limit type="text" v-model.trim="form.limitTable"
|
||||
autocomplete="off" placeholder="请输入限值表名"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="text"
|
||||
v-model.trim="form.limitTable"
|
||||
autocomplete="off"
|
||||
placeholder="请输入限值表名"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="超标判断方式:" prop="formula">
|
||||
<el-select v-model.trim="form.formula" filterable clearable placeholder="请选择超标判断方式">
|
||||
<el-option v-for="item in FormulaSelect" :key="item.code" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in FormulaSelect"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="padding-left: 50px">
|
||||
<el-divider content-position="center">拓展数据</el-divider>
|
||||
</div>
|
||||
<el-form class="form-two" :model="form" label-width="140px" ref="formRef2" :rules="rules">
|
||||
<el-form-item label="告警码(缺省值):" >
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.defaultValue" autocomplete="off"
|
||||
placeholder="请输入告警码(缺省值)"></el-input>
|
||||
<el-form class="form-two" :model="form" label-width="140px" ref="formRef2">
|
||||
<el-form-item label="告警码(缺省值):">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.defaultValue"
|
||||
autocomplete="off"
|
||||
placeholder="请输入告警码(缺省值)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="事件类别:" >
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.eventType" autocomplete="off"
|
||||
placeholder="请输入事件类别"></el-input>
|
||||
<el-form-item label="事件类别:">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.eventType"
|
||||
autocomplete="off"
|
||||
placeholder="请输入事件类别"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="设置最大值:" >
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model.trim="form.maxNum" autocomplete="off"
|
||||
placeholder="请输入设置最大值"></el-input>
|
||||
<el-form-item label="设置最大值:">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="number"
|
||||
v-model.trim="form.maxNum"
|
||||
autocomplete="off"
|
||||
placeholder="请输入设置最大值"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="设置最小值:" >
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model.trim="form.minNum" autocomplete="off"
|
||||
placeholder="请输入设置最小值"></el-input>
|
||||
<el-form-item label="设置最小值:">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="number"
|
||||
v-model.trim="form.minNum"
|
||||
autocomplete="off"
|
||||
placeholder="请输入设置最小值"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="枚举序列:">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.setValue" autocomplete="off"
|
||||
placeholder="请输入枚举序列"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.setValue"
|
||||
autocomplete="off"
|
||||
placeholder="请输入枚举序列"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="字符串长度上限:" >
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model.trim="form.strlen" autocomplete="off"
|
||||
placeholder="请输入字符串长度上限"></el-input>
|
||||
<el-form-item label="字符串长度上限:">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
type="number"
|
||||
v-model.trim="form.strlen"
|
||||
autocomplete="off"
|
||||
placeholder="请输入字符串长度上限"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="上送规则:" >
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.tranRule" autocomplete="off"
|
||||
placeholder="请输入上送规则"></el-input>
|
||||
<el-form-item label="上送规则:">
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.tranRule"
|
||||
autocomplete="off"
|
||||
placeholder="请输入上送规则"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否可远程控制:" >
|
||||
<el-form-item label="是否可远程控制:">
|
||||
<el-radio v-model.trim="form.ctlSts" :label="1">是</el-radio>
|
||||
<el-radio v-model.trim="form.ctlSts" :label="0">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否需遥控校验:" >
|
||||
<el-form-item label="是否需遥控校验:">
|
||||
<el-radio v-model.trim="form.curSts" :label="1">是</el-radio>
|
||||
<el-radio v-model.trim="form.curSts" :label="0">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否存储:" >
|
||||
<el-form-item label="是否存储:">
|
||||
<el-radio v-model.trim="form.storeFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model.trim="form.storeFlag" :label="0">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否加密:" >
|
||||
<el-form-item label="是否加密:">
|
||||
<el-radio v-model.trim="form.storeFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model.trim="form.storeFlag" :label="0">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据是否上送:" >
|
||||
<el-form-item label="数据是否上送:">
|
||||
<el-radio v-model.trim="form.tranFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model.trim="form.tranFlag" :label="0">否</el-radio>
|
||||
</el-form-item>
|
||||
@@ -135,7 +247,7 @@
|
||||
</el-scrollbar>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button @click="dialogVisible = false; emit('close')">取消</el-button>
|
||||
<el-button type="primary" @click="submit">确认</el-button>
|
||||
</span>
|
||||
</template>
|
||||
@@ -148,7 +260,7 @@ import TableStore from '@/utils/tableStore'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { addCsDictData, updateCsDictData } from '@/api/system-boot/csDictData'
|
||||
|
||||
const emit = defineEmits(['close'])
|
||||
const formRef = ref()
|
||||
const formRef2 = ref()
|
||||
const dictData = useDictData()
|
||||
@@ -279,16 +391,21 @@ const open = (text: string, data?: anyObj) => {
|
||||
// console.log(form)
|
||||
}
|
||||
const submit = async () => {
|
||||
form.harmStart = form.harm[0]
|
||||
form.harmEnd = form.harm[1]
|
||||
if (form.id) {
|
||||
await updateCsDictData(form)
|
||||
} else {
|
||||
await addCsDictData(form)
|
||||
}
|
||||
ElMessage.success('保存成功')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
formRef.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
form.harmStart = form.harm[0]
|
||||
form.harmEnd = form.harm[1]
|
||||
if (form.id) {
|
||||
await updateCsDictData(form)
|
||||
} else {
|
||||
await addCsDictData(form)
|
||||
}
|
||||
ElMessage.success('保存成功')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
emit('close')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({ open })
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" width="800px" v-model.trim="dialogVisible" :title="title">
|
||||
|
||||
<el-dialog
|
||||
class="cn-operate-dialog"
|
||||
width="800px"
|
||||
v-model.trim="dialogVisible"
|
||||
:title="title"
|
||||
@close="emit('closePopup')"
|
||||
>
|
||||
<el-form class="form-two" :model="form" label-width="100px" ref="formRef" :rules="rules">
|
||||
<el-form-item label="装置类型:" prop="type">
|
||||
<!-- <el-select v-model.trim="form.type" filterable placeholder="请选择" @change="typeChange">
|
||||
@@ -8,52 +13,103 @@
|
||||
:value="item.id"></el-option>
|
||||
</el-select> -->
|
||||
<el-select v-model.trim="form.type" placeholder="请选择装置类型" @change="formDevTypeChange" clearable>
|
||||
<el-option v-for="item in devTypeOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<el-option
|
||||
v-for="item in devTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="装置型号:" prop="devType">
|
||||
<!-- <el-select v-model.trim="form.devType" placeholder="请选择" filterable @change="devTypeChange">
|
||||
<el-option v-for="item in DevTypeOptions" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select> -->
|
||||
<el-select v-model.trim="form.devType" filterable placeholder="请选择装置型号" clearable @change="devTypeChange">
|
||||
<el-option v-for="item in formDevModelOptionsFilter" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model.trim="form.devType"
|
||||
filterable
|
||||
placeholder="请选择装置型号"
|
||||
clearable
|
||||
@change="devTypeChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in formDevModelOptionsFilter"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号:" prop="versionNo">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.versionNo" autocomplete="off"
|
||||
placeholder="请输入版本号"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.versionNo"
|
||||
autocomplete="off"
|
||||
placeholder="请输入版本号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本类型:" prop="versionType">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.versionType" autocomplete="off"
|
||||
placeholder="填写特殊类型(不填默认通用类型)"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.versionType"
|
||||
autocomplete="off"
|
||||
placeholder="填写特殊类型(不填默认通用类型)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本协议:" prop="versionAgreement">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.versionAgreement" autocomplete="off"
|
||||
placeholder="请输入版本协议"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.versionAgreement"
|
||||
autocomplete="off"
|
||||
placeholder="请输入版本协议"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本日期:" prop="versionDate">
|
||||
<el-date-picker v-model.trim="form.versionDate" type="date" value-format="YYYY-MM-DD"
|
||||
placeholder="选择日期时间" style="width: 100%"></el-date-picker>
|
||||
<el-date-picker
|
||||
v-model.trim="form.versionDate"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择日期时间"
|
||||
style="width: 100%"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="CRC校验:" prop="crcInfo">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.crcInfo" autocomplete="off"
|
||||
placeholder="请输入CRC校验"></el-input>
|
||||
<el-input
|
||||
maxlength="32"
|
||||
show-word-limit
|
||||
v-model.trim="form.crcInfo"
|
||||
autocomplete="off"
|
||||
placeholder="请输入CRC校验"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<el-form :model="form" label-width="100px" class="mt10">
|
||||
<el-form-item label="描述:" prop="description">
|
||||
<el-input maxlength="300":autosize="{ minRows: 2, maxRows: 4 }" type="textarea" show-word-limit v-model.trim="form.description" autocomplete="off"
|
||||
placeholder="请输入描述"></el-input>
|
||||
<el-input
|
||||
maxlength="300"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
v-model.trim="form.description"
|
||||
autocomplete="off"
|
||||
placeholder="请输入描述"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="升级文件:" prop="file">
|
||||
<el-upload :limit="1" :auto-upload="false" :on-change="fileChange" :on-exceed="fileExceed" :on-remove="fileRemove"
|
||||
:file-list="fileList">
|
||||
<el-button type="primary">点击上传</el-button>
|
||||
<el-upload
|
||||
:limit="1"
|
||||
:auto-upload="false"
|
||||
:on-change="fileChange"
|
||||
:on-exceed="fileExceed"
|
||||
:on-remove="fileRemove"
|
||||
:file-list="fileList"
|
||||
>
|
||||
<el-button type="primary">点击上传</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -67,20 +123,20 @@
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, inject,computed } from 'vue'
|
||||
import { ref, inject, computed } from 'vue'
|
||||
import { reactive } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
|
||||
import { addEdData, auditEdData } from '@/api/cs-device-boot/edData'
|
||||
|
||||
const emit = defineEmits(['closePopup'])
|
||||
const TypeOptions = ref()
|
||||
const DevTypeAllOptions = ref()
|
||||
const DevTypeOptions = ref()
|
||||
const devTypeOptions: any = ref([])
|
||||
|
||||
const devModelOptions: any = ref([])
|
||||
const fileList:any = ref([])
|
||||
const fileList: any = ref([])
|
||||
const tableStore = inject('tableStore') as TableStore
|
||||
const formRef = ref()
|
||||
const form = reactive<any>({
|
||||
@@ -97,8 +153,8 @@ const form = reactive<any>({
|
||||
file: []
|
||||
})
|
||||
const rules = {
|
||||
type: [{ required: true, message: '装置类型不能为空', trigger: 'blur' }],
|
||||
devType: [{ required: true, message: '装置型号不能为空', trigger: 'blur' }],
|
||||
type: [{ required: true, message: '装置类型不能为空', trigger: 'change' }],
|
||||
devType: [{ required: true, message: '装置型号不能为空', trigger: 'change' }],
|
||||
versionNo: [{ required: true, message: '版本号不能为空', trigger: 'blur' }],
|
||||
versionType: [{ required: true, message: '版本类型不能为空', trigger: 'blur' }],
|
||||
versionAgreement: [{ required: true, message: '版本协议不能为空', trigger: 'blur' }],
|
||||
@@ -156,15 +212,15 @@ const formDevModelOptionsFilter = computed(() => {
|
||||
})
|
||||
})
|
||||
const fileChange = (e: any) => {
|
||||
|
||||
form.file = e.raw
|
||||
fileList.value = [e.raw]
|
||||
}
|
||||
const fileExceed = (e: any) => {
|
||||
|
||||
ElMessage.error('只能上传一个文件')
|
||||
}
|
||||
const fileRemove = (e: any) => {
|
||||
form.file = null
|
||||
fileList.value = []
|
||||
}
|
||||
const formDevTypeChange = (e: any) => {
|
||||
if (!e) {
|
||||
@@ -203,11 +259,11 @@ const open = (text: string, data?: anyObj) => {
|
||||
}
|
||||
const submit = () => {
|
||||
|
||||
|
||||
if(form?.file == null){
|
||||
if (fileList.value.length == 0) {
|
||||
ElMessage.warning('请上传升级文件')
|
||||
return
|
||||
}
|
||||
|
||||
// console.log(formRef)
|
||||
formRef.value.validate(async (valid: boolean) => {
|
||||
// console.log(valid)
|
||||
@@ -224,9 +280,15 @@ const submit = () => {
|
||||
ElMessage.success('操作成功')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
emit('closePopup')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
:deep(.el-upload-list__item-info) {
|
||||
width: 600px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,8 +4,12 @@
|
||||
<template #select>
|
||||
<el-form-item label="装置型号:">
|
||||
<el-select v-model.trim="tableStore.table.params.devType" placeholder="请选择装置型号" clearable>
|
||||
<el-option v-for="item in DevTypeOptions" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
<el-option
|
||||
v-for="item in DevTypeOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
@@ -14,7 +18,7 @@
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<PopupVersion ref="popupVersionRef" v-if="showPopup"></PopupVersion>
|
||||
<PopupVersion ref="popupVersionRef" v-if="showPopup" @closePopup="closePopup"></PopupVersion>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -50,16 +54,16 @@ const tableStore = new TableStore({
|
||||
{ title: '归档日期', field: 'updateTime' },
|
||||
{ title: '描述', field: 'description' },
|
||||
{
|
||||
title: '状态', field: 'status', render: 'tag',
|
||||
title: '状态',
|
||||
field: 'status',
|
||||
render: 'tag',
|
||||
custom: {
|
||||
0: 'error',
|
||||
1: 'success',
|
||||
|
||||
1: 'success'
|
||||
},
|
||||
replaceValue: {
|
||||
0: '禁用',
|
||||
1: '启用',
|
||||
|
||||
1: '启用'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -75,7 +79,10 @@ const tableStore = new TableStore({
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
popupVersionRef.value.open('编辑版本', row)
|
||||
showPopup.value = true
|
||||
setTimeout(() => {
|
||||
popupVersionRef.value.open('编辑版本', row)
|
||||
}, 100)
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -137,29 +144,30 @@ const tableStore = new TableStore({
|
||||
}
|
||||
})
|
||||
queryByCode('Device_Type').then(res => {
|
||||
const id = res.data.id
|
||||
queryByid(id).then(res1 => {
|
||||
res1.data.map((item: any, index: any) => {
|
||||
if (item.pid == id) {
|
||||
res1.data.splice(index, 1)
|
||||
}
|
||||
})
|
||||
console.log("🚀 ~ res1.data.map ~ res1.data:", res1.data)
|
||||
|
||||
DevTypeOptions.value = res1.data
|
||||
|
||||
const id = res.data.id
|
||||
queryByid(id).then(res1 => {
|
||||
res1.data.map((item: any, index: any) => {
|
||||
if (item.pid == id) {
|
||||
res1.data.splice(index, 1)
|
||||
}
|
||||
})
|
||||
console.log('🚀 ~ res1.data.map ~ res1.data:', res1.data)
|
||||
|
||||
DevTypeOptions.value = res1.data
|
||||
})
|
||||
})
|
||||
tableStore.table.params.devType = ''
|
||||
provide('tableStore', tableStore)
|
||||
onMounted(() => {
|
||||
|
||||
tableHeaderRef.value.onComSearch()
|
||||
})
|
||||
const addMenu = () => {
|
||||
showPopup.value = true
|
||||
setTimeout(() => {
|
||||
popupVersionRef.value.open('新增版本')
|
||||
}, 100)
|
||||
setTimeout(() => {
|
||||
popupVersionRef.value.open('新增版本')
|
||||
}, 100)
|
||||
}
|
||||
const closePopup = () => {
|
||||
showPopup.value = false
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -29,7 +29,7 @@ const props = defineProps({
|
||||
|
||||
const tableStore: any = new TableStore({
|
||||
url: '/cs-device-boot/csTerminalReply/bzLogs',
|
||||
publicHeight: 0,
|
||||
publicHeight: 10,
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
@@ -42,7 +42,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'engineeringName',
|
||||
title: '项目名称',
|
||||
width: 120,
|
||||
width: 100,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -50,7 +50,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'projectName',
|
||||
title: '工程名称',
|
||||
width: 120,
|
||||
width: 100,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -58,7 +58,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'deviceName',
|
||||
title: '设备名称',
|
||||
width: 120,
|
||||
width: 100,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -66,7 +66,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'lineName',
|
||||
title: '监测点名称',
|
||||
width: 120,
|
||||
width: 100,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -74,7 +74,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'logTime',
|
||||
title: '补召时间',
|
||||
width: 160,
|
||||
width: 150,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -90,7 +90,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'status',
|
||||
title: '状态',
|
||||
width: 80,
|
||||
width: 90,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
@@ -98,7 +98,7 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'result',
|
||||
title: '结果',
|
||||
|
||||
minWidth: 200,
|
||||
formatter: row => {
|
||||
return row.cellValue ? row.cellValue : '/'
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
type="text"
|
||||
clearable
|
||||
placeholder="用户名"
|
||||
autocomplete="off"
|
||||
|
||||
>
|
||||
<template #prefix>
|
||||
<span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span>
|
||||
@@ -33,10 +33,9 @@
|
||||
type="password"
|
||||
clearable
|
||||
placeholder="密码"
|
||||
autocomplete="off"
|
||||
show-password
|
||||
>
|
||||
<template #prefix>
|
||||
<!-- <Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" /> -->
|
||||
<span class="iconfont icon-mima" style="color: var(--el-color-primary)"></span>
|
||||
</template>
|
||||
</el-input>
|
||||
|
||||
Reference in New Issue
Block a user