微调
This commit is contained in:
@@ -313,7 +313,7 @@
|
|||||||
border: 1px solid #dcdfe6;
|
border: 1px solid #dcdfe6;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
width: 120%;
|
width: 100%;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
padding-inline-start: 0px;
|
padding-inline-start: 0px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
|||||||
@@ -3,13 +3,12 @@
|
|||||||
<el-form :model="formContent" ref='dialogFormRef' :rules='rules' >
|
<el-form :model="formContent" ref='dialogFormRef' :rules='rules' >
|
||||||
<el-form-item label="上级菜单" prop="pid" :label-width="100">
|
<el-form-item label="上级菜单" prop="pid" :label-width="100">
|
||||||
<el-tree-select
|
<el-tree-select
|
||||||
v-model="value"
|
v-model="formContent.pid"
|
||||||
:data="data"
|
:data="functionList"
|
||||||
check-strictly
|
check-strictly
|
||||||
:render-after-expand="false"
|
:render-after-expand="false"
|
||||||
show-checkbox
|
|
||||||
check-on-click-node
|
check-on-click-node
|
||||||
|
:props="defaultProps"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="name" :label-width="100">
|
<el-form-item label="名称" prop="name" :label-width="100">
|
||||||
@@ -64,79 +63,15 @@
|
|||||||
import {addFunction,updateFunction,getFunctionListNoButton} from '@/api/function/index.ts'
|
import {addFunction,updateFunction,getFunctionListNoButton} from '@/api/function/index.ts'
|
||||||
import IconSelect from '@/components/SelectIcon/index.vue'
|
import IconSelect from '@/components/SelectIcon/index.vue'
|
||||||
import { functionList } from '@/api/function/functionExample.ts'
|
import { functionList } from '@/api/function/functionExample.ts'
|
||||||
import { min } from 'lodash';
|
import { min } from 'lodash';
|
||||||
|
import { Console } from 'console';
|
||||||
const value = ref()
|
const value = ref()
|
||||||
|
// 树形节点配置
|
||||||
|
const defaultProps = {
|
||||||
|
children: 'children',
|
||||||
|
label: 'name',
|
||||||
|
};
|
||||||
|
|
||||||
const data = [
|
|
||||||
{
|
|
||||||
value: '1',
|
|
||||||
label: 'Level one 1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '1-1',
|
|
||||||
label: 'Level two 1-1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '1-1-1',
|
|
||||||
label: 'Level three 1-1-1',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '2',
|
|
||||||
label: 'Level one 2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '2-1',
|
|
||||||
label: 'Level two 2-1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '2-1-1',
|
|
||||||
label: 'Level three 2-1-1',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '2-2',
|
|
||||||
label: 'Level two 2-2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '2-2-1',
|
|
||||||
label: 'Level three 2-2-1',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '3',
|
|
||||||
label: 'Level one 3',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '3-1',
|
|
||||||
label: 'Level two 3-1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '3-1-1',
|
|
||||||
label: 'Level three 3-1-1',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '3-2',
|
|
||||||
label: 'Level two 3-2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
value: '3-2-1',
|
|
||||||
label: 'Level three 3-2-1',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
const dictStore = useDictStore()
|
const dictStore = useDictStore()
|
||||||
// 定义弹出组件元信息
|
// 定义弹出组件元信息
|
||||||
const dialogFormRef = ref()
|
const dialogFormRef = ref()
|
||||||
@@ -190,7 +125,9 @@ const resetFormContent = () => {
|
|||||||
const rules : Ref<Record<string, Array<FormItemRule>>> = ref({
|
const rules : Ref<Record<string, Array<FormItemRule>>> = ref({
|
||||||
name :[{required:true,trigger:'blur',message:'菜单名称必填!'}],
|
name :[{required:true,trigger:'blur',message:'菜单名称必填!'}],
|
||||||
path :[{required:true,trigger:'blur',message:'菜单路径必填!'}],
|
path :[{required:true,trigger:'blur',message:'菜单路径必填!'}],
|
||||||
type :[{required:true,trigger:'change',message:'菜单类型必选!'}]
|
type :[{required:true,trigger:'change',message:'菜单类型必选!'}],
|
||||||
|
component :[{required:true,trigger:'blur',message:'组件地址必填!'}],
|
||||||
|
code :[{required:true,trigger:'blur',message:'编码必填!'}]
|
||||||
})
|
})
|
||||||
|
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
@@ -207,7 +144,7 @@ const close = () => {
|
|||||||
try {
|
try {
|
||||||
console.log(formContent.value)
|
console.log(formContent.value)
|
||||||
dialogFormRef.value?.validate(async (valid: boolean) => {
|
dialogFormRef.value?.validate(async (valid: boolean) => {
|
||||||
console.log(valid)
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (formContent.value.id) {
|
if (formContent.value.id) {
|
||||||
await updateFunction(formContent.value);
|
await updateFunction(formContent.value);
|
||||||
@@ -225,8 +162,11 @@ const close = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const functionList = ref<Function.ResFunction[]>([])
|
||||||
// 打开弹窗,可能是新增,也可能是编辑
|
// 打开弹窗,可能是新增,也可能是编辑
|
||||||
const open = async (sign: string, data: Function.ResFunction) => {
|
const open = async (sign: string, data: Function.ResFunction) => {
|
||||||
|
const response = await getFunctionListNoButton()
|
||||||
|
functionList.value = response.data as unknown as Function.ResFunction[]
|
||||||
titleType.value = sign
|
titleType.value = sign
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
if (data.id) {
|
if (data.id) {
|
||||||
|
|||||||
@@ -56,10 +56,19 @@
|
|||||||
prop: 'type',
|
prop: 'type',
|
||||||
label: '类型',
|
label: '类型',
|
||||||
width: 100,
|
width: 100,
|
||||||
enum: dictStore.getDictData('resourceType'),
|
render: (scope) => {
|
||||||
search: { el: 'select', props: { filterable: true } },
|
const typeMap: { [key: number]: { label: string; type: string } } = {
|
||||||
fieldNames: { label: 'label', value: 'code' },
|
0: { label: '菜单', type: 'info' },
|
||||||
|
1: { label: '按钮', type: 'warning' },
|
||||||
|
2: { label: '公共资源', type: 'success' },
|
||||||
|
3: { label: '服务间调用资源', type: 'primary' },
|
||||||
|
};
|
||||||
|
const typeInfo = typeMap[scope.row.type] || { label: '未知', type: 'danger' };
|
||||||
|
return (
|
||||||
|
<el-tag type={typeInfo.type}>{typeInfo.label}</el-tag>
|
||||||
|
);
|
||||||
},
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'icon',
|
prop: 'icon',
|
||||||
label: '图标',
|
label: '图标',
|
||||||
@@ -85,8 +94,6 @@
|
|||||||
prop: 'state',
|
prop: 'state',
|
||||||
label: '权限资源状态',
|
label: '权限资源状态',
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
enum: dictStore.getDictData('status'),
|
|
||||||
fieldNames: { label: 'label', value: 'code' },
|
|
||||||
render: scope => {
|
render: scope => {
|
||||||
return (
|
return (
|
||||||
<el-tag type={scope.row.state ? 'success' : 'danger'} > {scope.row.state ? '正常' : '禁用'} </el-tag>
|
<el-tag type={scope.row.state ? 'success' : 'danger'} > {scope.row.state ? '正常' : '禁用'} </el-tag>
|
||||||
|
|||||||
@@ -88,8 +88,6 @@ const columns = reactive<ColumnProps<Role.RoleBO>[]>([
|
|||||||
prop: 'state',
|
prop: 'state',
|
||||||
label: '状态',
|
label: '状态',
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
enum: dictStore.getDictData('state'),
|
|
||||||
fieldNames: { label: 'label', value: 'code' },
|
|
||||||
render: scope => {
|
render: scope => {
|
||||||
return (
|
return (
|
||||||
<el-tag type={scope.row.state ? 'success' : 'danger'} > {scope.row.state ? '正常' : '删除'} </el-tag>
|
<el-tag type={scope.row.state ? 'success' : 'danger'} > {scope.row.state ? '正常' : '删除'} </el-tag>
|
||||||
|
|||||||
@@ -88,9 +88,7 @@ const columns = reactive<ColumnProps<Sys_Log_Audit.Audit_LogList>[]>([
|
|||||||
{
|
{
|
||||||
prop: 'warn',
|
prop: 'warn',
|
||||||
label: '告警标志',
|
label: '告警标志',
|
||||||
enum: dictStore.getDictData('status'),
|
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
fieldNames: { label: 'label', value: 'code' },
|
|
||||||
render: scope => {
|
render: scope => {
|
||||||
return (
|
return (
|
||||||
<el-tag type={scope.row.warn ? 'danger' : 'success'}>{scope.row.warn ? '告警' : '未告警'}</el-tag>
|
<el-tag type={scope.row.warn ? 'danger' : 'success'}>{scope.row.warn ? '告警' : '未告警'}</el-tag>
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
<el-form :model='formContent' ref='dialogFormRef' :rules='rules' :disabled="false">
|
<el-form :model='formContent' ref='dialogFormRef' :rules='rules' :disabled="false">
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备名称" prop="name">
|
<el-form-item label="设备名称" prop="name" :label-width="100">
|
||||||
<el-input v-model='formContent.name' placeholder="请输入设备名称"/>
|
<el-input v-model='formContent.name' placeholder="请输入设备名称"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='设备类型' prop='devType'>
|
<el-form-item label='设备类型' prop='devType' :label-width="100">
|
||||||
<el-select v-model="formContent.devType" clearable placeholder="请选择设备类型">
|
<el-select v-model="formContent.devType" clearable placeholder="请选择设备类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Dev_Type')"
|
v-for="item in dictStore.getDictData('Dev_Type')"
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='通讯协议' prop='protocol'>
|
<el-form-item label='通讯协议' prop='protocol' :label-width="100">
|
||||||
<el-select v-model="formContent.protocol" clearable placeholder="请选择通讯协议">
|
<el-select v-model="formContent.protocol" clearable placeholder="请选择通讯协议">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Event_Type')"
|
v-for="item in dictStore.getDictData('Event_Type')"
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备通道数" prop="devChns">
|
<el-form-item label="设备通道数" prop="devChns" :label-width="100">
|
||||||
<el-select v-model="formContent.devChns" clearable placeholder="请选择设备通道数">
|
<el-select v-model="formContent.devChns" clearable placeholder="请选择设备通道数">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Dev_Chns')"
|
v-for="item in dictStore.getDictData('Dev_Chns')"
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="额定电压(V)" prop="devVolt">
|
<el-form-item label="额定电压(V)" prop="devVolt" :label-width="100">
|
||||||
<el-select v-model="formContent.devVolt" clearable placeholder="请选择额定电压">
|
<el-select v-model="formContent.devVolt" clearable placeholder="请选择额定电压">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Dev_Volt')"
|
v-for="item in dictStore.getDictData('Dev_Volt')"
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="额定电流(A)" prop="devCurr" >
|
<el-form-item label="额定电流(A)" prop="devCurr" :label-width="100">
|
||||||
<el-select v-model="formContent.devCurr" clearable placeholder="请选择额定电流">
|
<el-select v-model="formContent.devCurr" clearable placeholder="请选择额定电流">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Dev_Curr')"
|
v-for="item in dictStore.getDictData('Dev_Curr')"
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='生产厂商' prop='manufacturer'>
|
<el-form-item label='生产厂商' prop='manufacturer' :label-width="100">
|
||||||
<el-select v-model="formContent.manufacturer" clearable placeholder="请选择生产厂商">
|
<el-select v-model="formContent.manufacturer" clearable placeholder="请选择生产厂商">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dictStore.getDictData('Dev_Manufacturers')"
|
v-for="item in dictStore.getDictData('Dev_Manufacturers')"
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="生产日期" prop="createDate">
|
<el-form-item label="生产日期" prop="createDate" :label-width="100">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formContent.createDate"
|
v-model="formContent.createDate"
|
||||||
placeholder="请选择生产日期"
|
placeholder="请选择生产日期"
|
||||||
@@ -99,36 +99,36 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="出厂编号" prop="createId" placeholder="请输入出厂编号">
|
<el-form-item label="出厂编号" prop="createId" placeholder="请输入出厂编号" :label-width="100">
|
||||||
<el-input v-model="formContent.createId" />
|
<el-input v-model="formContent.createId" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="固件版本" prop="hardwareVersion">
|
<el-form-item label="固件版本" prop="hardwareVersion" :label-width="100">
|
||||||
<el-input v-model="formContent.hardwareVersion" placeholder="请输入固件版本"/>
|
<el-input v-model="formContent.hardwareVersion" placeholder="请输入固件版本"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="软件版本" prop="softwareVersion">
|
<el-form-item label="软件版本" prop="softwareVersion" :label-width="100">
|
||||||
<el-input v-model="formContent.softwareVersion" placeholder="请输入软件版本"/>
|
<el-input v-model="formContent.softwareVersion" placeholder="请输入软件版本"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='设备模式' prop='pattern'>
|
<el-form-item label='设备模式' prop='pattern' :label-width="100">
|
||||||
<el-input v-model='formContent.pattern' disabled/>
|
<el-input v-model='formContent.pattern' disabled/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="IP地址" prop="ip">
|
<el-form-item label="IP地址" prop="ip" :label-width="100">
|
||||||
<IPAddress v-model:value="formContent.ip"/>
|
<IPAddress v-model:value="formContent.ip"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="端口号" prop="port" placeholder="请输入端口号">
|
<el-form-item label="端口号" prop="port" placeholder="请输入端口号" :label-width="100">
|
||||||
<el-input v-model="formContent.port" />
|
<el-input v-model="formContent.port" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
|
|
||||||
<el-row :gutter="24" >
|
<el-row :gutter="24" >
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='是否加密' prop='encryptionFlag'>
|
<el-form-item label='是否加密' prop='encryptionFlag' :label-width="100">
|
||||||
<el-select v-model="formContent.encryptionFlag" clearable placeholder="请选择是否加密" @change="handleEncryptionChange">
|
<el-select v-model="formContent.encryptionFlag" clearable placeholder="请选择是否加密" @change="handleEncryptionChange">
|
||||||
<el-option label="是" :value="1"></el-option>
|
<el-option label="是" :value="1"></el-option>
|
||||||
<el-option label="否" :value="0"></el-option>
|
<el-option label="否" :value="0"></el-option>
|
||||||
@@ -144,24 +144,24 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="IsPasswordShow">
|
<el-col :span="8" v-if="IsPasswordShow">
|
||||||
<el-form-item label='识别码' prop='series' clearable placeholder="请输入识别码">
|
<el-form-item label='识别码' prop='series' clearable placeholder="请输入识别码" :label-width="100">
|
||||||
<el-input v-model='formContent.series' show-password/>
|
<el-input v-model='formContent.series' show-password/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="IsPasswordShow">
|
<el-col :span="8" v-if="IsPasswordShow">
|
||||||
<el-form-item label='密钥' prop='devKey' clearable placeholder="请输入密钥">
|
<el-form-item label='密钥' prop='devKey' clearable placeholder="请输入密钥" :label-width="100">
|
||||||
<el-input v-model='formContent.devKey' show-password/>
|
<el-input v-model='formContent.devKey' show-password/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" v-if="DevIsShow">
|
<el-row :gutter="24" v-if="DevIsShow">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='样品编号' prop='sampleID' clearable placeholder="请输入样品编号">
|
<el-form-item label='样品编号' prop='sampleID' clearable placeholder="请输入样品编号" :label-width="100">
|
||||||
<el-input v-model='formContent.sampleID' />
|
<el-input v-model='formContent.sampleID' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='送样日期' prop='arrivedDate' >
|
<el-form-item label='送样日期' prop='arrivedDate' :label-width="100">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formContent.arrivedDate"
|
v-model="formContent.arrivedDate"
|
||||||
placeholder="请选择送样日期"
|
placeholder="请选择送样日期"
|
||||||
@@ -172,17 +172,17 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24" v-if="MonIsShow">
|
<el-row :gutter="24" v-if="MonIsShow">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='所属地市' prop='cityName' clearable placeholder="请输入所属地市">
|
<el-form-item label='所属地市' prop='cityName' clearable placeholder="请输入所属地市" :label-width="100">
|
||||||
<el-input v-model='formContent.cityName' />
|
<el-input v-model='formContent.cityName' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='所属供电公司' prop='gDName' clearable placeholder="请输入所属供电公司">
|
<el-form-item label='所属供电公司' prop='gDName' clearable placeholder="请输入所属供电公司" :label-width="100">
|
||||||
<el-input v-model='formContent.gDName' />
|
<el-input v-model='formContent.gDName' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label='所属电站' prop='subName' clearable placeholder="请输入所属电站">
|
<el-form-item label='所属电站' prop='subName' clearable placeholder="请输入所属电站" :label-width="100">
|
||||||
<el-input v-model='formContent.subName' />
|
<el-input v-model='formContent.subName' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -256,9 +256,9 @@ import { el } from 'element-plus/es/locale'
|
|||||||
name: '',
|
name: '',
|
||||||
pattern:'模拟式',
|
pattern:'模拟式',
|
||||||
devType:'',
|
devType:'',
|
||||||
devChns:0,
|
devChns:1,
|
||||||
devVolt:0,
|
devVolt:57.74,
|
||||||
devCurr:0,
|
devCurr:1,
|
||||||
manufacturer: '',
|
manufacturer: '',
|
||||||
createDate: '',
|
createDate: '',
|
||||||
createId: '',
|
createId: '',
|
||||||
@@ -266,7 +266,7 @@ import { el } from 'element-plus/es/locale'
|
|||||||
softwareVersion: '',
|
softwareVersion: '',
|
||||||
protocol: '',
|
protocol: '',
|
||||||
ip: '',
|
ip: '',
|
||||||
port: 0,
|
port: 102,
|
||||||
encryptionFlag: 1,
|
encryptionFlag: 1,
|
||||||
reCheckNum:0,
|
reCheckNum:0,
|
||||||
state: 1,
|
state: 1,
|
||||||
@@ -282,9 +282,9 @@ import { el } from 'element-plus/es/locale'
|
|||||||
name: '',
|
name: '',
|
||||||
pattern:'模拟式',
|
pattern:'模拟式',
|
||||||
devType:'',
|
devType:'',
|
||||||
devChns:0,
|
devChns:1,
|
||||||
devVolt:0,
|
devVolt:57.74,
|
||||||
devCurr:0,
|
devCurr:1,
|
||||||
manufacturer: '',
|
manufacturer: '',
|
||||||
createDate: '',
|
createDate: '',
|
||||||
createId: '',
|
createId: '',
|
||||||
@@ -292,13 +292,14 @@ import { el } from 'element-plus/es/locale'
|
|||||||
softwareVersion: '',
|
softwareVersion: '',
|
||||||
protocol: '',
|
protocol: '',
|
||||||
ip: '',
|
ip: '',
|
||||||
port: 0,
|
port: 102,
|
||||||
encryptionFlag: 1,
|
encryptionFlag: 1,
|
||||||
reCheckNum:0,
|
reCheckNum:0,
|
||||||
state: 1,
|
state: 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let dialogTitle = computed(() => {
|
let dialogTitle = computed(() => {
|
||||||
return titleType.value === 'add' ? '新增被检设备' : '编辑被检设备'
|
return titleType.value === 'add' ? '新增被检设备' : '编辑被检设备'
|
||||||
})
|
})
|
||||||
@@ -324,11 +325,13 @@ import { el } from 'element-plus/es/locale'
|
|||||||
ip:[{ required: true, message: 'IP地址必填!', trigger: 'blur' } ,
|
ip:[{ required: true, message: 'IP地址必填!', trigger: 'blur' } ,
|
||||||
{ pattern: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, message: 'IP地址格式错误', trigger: 'blur' }],
|
{ pattern: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, message: 'IP地址格式错误', trigger: 'blur' }],
|
||||||
port:[{ required: true, message: '端口号必填!', trigger: 'blur' },
|
port:[{ required: true, message: '端口号必填!', trigger: 'blur' },
|
||||||
{ pattern: /^\d+$/, message: '端口号格式错误', trigger: 'blur' }],
|
{ pattern: /^(6553[0-5]|655[0-2][0-9]|64[0-9]{3}|[1-5]?[0-9]{1,4})$/, message: '端口号范围0到65535的整数', trigger: 'blur' }],
|
||||||
manufacturer: [{ required: true, message: '生产厂家必选!', trigger: 'change' }],
|
manufacturer: [{ required: true, message: '生产厂家必选!', trigger: 'change' }],
|
||||||
encryptionFlag: [{ required: true, message: '是否加密必选!', trigger: 'change' }],
|
encryptionFlag: [{ required: true, message: '是否加密必选!', trigger: 'change' }],
|
||||||
protocol: [{ required: true, message: '通讯协议必选!', trigger: 'change' }],
|
protocol: [{ required: true, message: '通讯协议必选!', trigger: 'change' }],
|
||||||
})
|
series: [],
|
||||||
|
devKey: []
|
||||||
|
})
|
||||||
|
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
const close = () => {
|
const close = () => {
|
||||||
@@ -407,14 +410,23 @@ import { el } from 'element-plus/es/locale'
|
|||||||
// 根据是否加密来显示或隐藏识别码和密钥
|
// 根据是否加密来显示或隐藏识别码和密钥
|
||||||
if(value === 1){
|
if(value === 1){
|
||||||
IsPasswordShow.value = true
|
IsPasswordShow.value = true
|
||||||
|
rules.value.series = [
|
||||||
|
{ required: true, message: '请输入识别码', trigger: 'blur' }
|
||||||
|
];
|
||||||
|
rules.value.devKey = [
|
||||||
|
{ required: true, message: '请输入密钥', trigger: 'blur' }
|
||||||
|
];
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
IsPasswordShow.value = false
|
IsPasswordShow.value = false
|
||||||
formContent.value.series = ''
|
formContent.value.series = ''
|
||||||
formContent.value.devKey = ''
|
formContent.value.devKey = ''
|
||||||
|
rules.value.series = [];
|
||||||
|
rules.value.devKey = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果选择"是",则显示;否则隐藏
|
// 如果选择"是",则显示;否则隐藏
|
||||||
|
dialogFormRef.value?.clearValidate(); // 清除验证状态
|
||||||
}
|
}
|
||||||
|
|
||||||
// 表格配置项
|
// 表格配置项
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
|
|||||||
return (
|
return (
|
||||||
<div class='flx-flex-start'>
|
<div class='flx-flex-start'>
|
||||||
<TimeControl
|
<TimeControl
|
||||||
|
|
||||||
default={'月'}
|
default={'月'}
|
||||||
onUpdate-dates={handleDateChange}
|
onUpdate-dates={handleDateChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -63,8 +63,6 @@
|
|||||||
label: '状态',
|
label: '状态',
|
||||||
minWidth:30,
|
minWidth:30,
|
||||||
isShow:false,
|
isShow:false,
|
||||||
enum: dictStore.getDictData('state'),
|
|
||||||
fieldNames: { label: 'label', value: 'code' },
|
|
||||||
render: scope => {
|
render: scope => {
|
||||||
return (
|
return (
|
||||||
<el-tag type={scope.row.state === 0 ? 'success' : (scope.row.state === 1 ? 'warning' : 'danger')}>
|
<el-tag type={scope.row.state === 0 ? 'success' : (scope.row.state === 1 ? 'warning' : 'danger')}>
|
||||||
|
|||||||
@@ -27,13 +27,14 @@
|
|||||||
|
|
||||||
<script setup lang='tsx' name='dict'>
|
<script setup lang='tsx' name='dict'>
|
||||||
import { CirclePlus, Delete, Download, EditPen, View } from '@element-plus/icons-vue'
|
import { CirclePlus, Delete, Download, EditPen, View } from '@element-plus/icons-vue'
|
||||||
import { Dict } from '@/api/system/dictionary/interface'
|
import { type Dict } from '@/api/system/dictionary/interface'
|
||||||
import { ColumnProps, ProTableInstance } from '@/components/ProTable/interface'
|
import type { ColumnProps, ProTableInstance } from '@/components/ProTable/interface'
|
||||||
import DictData from '@/views/system/dictionary/dictData/index.vue'
|
import DictData from '@/views/system/dictionary/dictData/index.vue'
|
||||||
import { useHandleData } from '@/hooks/useHandleData'
|
import { useHandleData } from '@/hooks/useHandleData'
|
||||||
import { useViewSize } from '@/hooks/useViewSize'
|
import { useViewSize } from '@/hooks/useViewSize'
|
||||||
import { useDownload } from '@/hooks/useDownload'
|
import { useDownload } from '@/hooks/useDownload'
|
||||||
import { deleteDictType, getDictTypeList, exportDictType } from '@/api/system/dictionary/dictType'
|
import { deleteDictType, getDictTypeList, exportDictType } from '@/api/system/dictionary/dictType'
|
||||||
|
import { reactive, ref } from 'vue'
|
||||||
|
|
||||||
const { popupBaseView, viewWidth, viewHeight } = useViewSize()
|
const { popupBaseView, viewWidth, viewHeight } = useViewSize()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user