修改输入框字段限制

This commit is contained in:
GGJ
2024-12-13 14:36:23 +08:00
parent a856075ddb
commit 8c4cc891e5
58 changed files with 663 additions and 1211 deletions

View File

@@ -25,7 +25,8 @@
</template> -->
<template #select>
<el-form-item label="设备名称">
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" />
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
placeholder="请输入设备名称" />
</el-form-item>
</template>
</TableHeader>

View File

@@ -5,7 +5,7 @@
<el-cascader v-model="tableStore.table.params.cascader" placeholder="请选择数据来源" @change="sourceChange"
:options="deviceTreeOptions" :show-all-levels="false" :props="{ checkStrictly: true }"
clearable></el-cascader>
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
</el-form-item>
<el-form-item label="级别">
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
@@ -67,11 +67,13 @@ const tableStore = new TableStore({
{ title: '设备名称', field: 'equipmentName', align: 'center' },
{ title: '工程名称', field: 'engineeringName', align: 'center' },
{ title: '项目名称', field: 'projectName', align: 'center' },
{ title: '告警代码', field: 'code', align: 'center',formatter: (row: any) => {
console.log("🚀 ~ row:", row)
return row.cellValue ? row.cellValue : '/'
}},
{
title: '告警代码', field: 'code', align: 'center', formatter: (row: any) => {
console.log("🚀 ~ row:", row)
return row.cellValue ? row.cellValue : '/'
}
},
{ title: '事件描述', field: 'showName', align: 'center' },
{ title: '发生时刻', field: 'startTime', align: 'center' }
],

View File

@@ -5,7 +5,7 @@
<el-cascader v-model="tableStore.table.params.cascader" placeholder="请选择数据来源" @change="sourceChange"
:options="deviceTreeOptions" :show-all-levels="false" :props="{ checkStrictly: true }"
clearable></el-cascader>
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
</el-form-item>
<!-- <el-form-item label="级别">
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
@@ -75,7 +75,7 @@ const tableStore = new TableStore({
{ title: '发生时刻', field: 'startTime', align: 'center' }
],
beforeSearchFun: () => {
}
})
@@ -104,9 +104,9 @@ deviceTreeOptions.value.map((item: any, index: any) => {
})
const sourceChange = (e: any) => {
tableStore.table.params.deviceTypeId = ''
tableStore.table.params.engineeringid = ''
tableStore.table.params.projectId = ''
tableStore.table.params.deviceId = ''
tableStore.table.params.engineeringid = ''
tableStore.table.params.projectId = ''
tableStore.table.params.deviceId = ''
if (e) {
let name = deviceTreeOptions.value.filter((item: any) => {
return item.id == e[0]

View File

@@ -3,16 +3,10 @@
<TableHeader datePicker>
<template v-slot:select>
<el-form-item label="数据来源">
<el-cascader
placeholder="请选择数据来源"
@change="sourceChange"
v-model="tableStore.table.params.cascader"
:options="deviceTreeOptions"
:show-all-levels="false"
:props="{ checkStrictly: true }"
clearable
></el-cascader>
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
<el-cascader placeholder="请选择数据来源" @change="sourceChange" v-model="tableStore.table.params.cascader"
:options="deviceTreeOptions" :show-all-levels="false" :props="{ checkStrictly: true }"
clearable></el-cascader>
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
</el-form-item>
<!-- <el-form-item label="级别">
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
@@ -31,54 +25,28 @@
<div v-if="view2" style="display: flex">
<span style="font-size: 14px; line-height: 30px">值类型选择</span>
<el-select @change="changeView" style="width: 240px" v-model="value" placeholder="请选择值类型">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</div>
</el-col>
<el-col :span="12">
<el-button
v-if="view2"
@click="backbxlb"
class="el-icon-refresh-right"
icon="el-icon-Back"
style="float: right"
>
<el-button v-if="view2" @click="backbxlb" class="el-icon-refresh-right" icon="el-icon-Back"
style="float: right">
返回
</el-button>
</el-col>
</el-row>
<el-tabs v-if="view2" v-model="bxactiveName" @tab-click="bxhandleClick">
<el-tab-pane
label="瞬时波形"
name="ssbx"
class="boxbx pt10 pb10"
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
>
<shushiboxi
v-if="bxactiveName == 'ssbx' && showBoxi"
:value="value"
:boxoList="boxoList"
:wp="wp"
></shushiboxi>
<el-tab-pane label="瞬时波形" name="ssbx" class="boxbx pt10 pb10"
:style="'height:' + bxecharts + ';overflow-y: scroll;'">
<shushiboxi v-if="bxactiveName == 'ssbx' && showBoxi" :value="value" :boxoList="boxoList" :wp="wp">
</shushiboxi>
</el-tab-pane>
<el-tab-pane
label="RMS波形"
class="boxbx pt10 pb10"
name="rmsbx"
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
>
<rmsboxi
v-if="bxactiveName == 'rmsbx' && showBoxi"
:value="value"
:boxoList="boxoList"
:wp="wp"
></rmsboxi>
<el-tab-pane label="RMS波形" class="boxbx pt10 pb10" name="rmsbx"
:style="'height:' + bxecharts + ';overflow-y: scroll;'">
<rmsboxi v-if="bxactiveName == 'rmsbx' && showBoxi" :value="value" :boxoList="boxoList" :wp="wp">
</rmsboxi>
</el-tab-pane>
</el-tabs>
<!-- <xiebofenxi ref="child" :bxshuju="bxshuju" @backfh="back"></xiebofenxi> -->
@@ -332,6 +300,6 @@ setTimeout(() => {
tableStore.table.height = mainHeight(200).height as any
}, 0)
const addMenu = () => {}
const addMenu = () => { }
</script>
<style scoped lang="scss"></style>

View File

@@ -110,15 +110,15 @@
</el-select>
</el-form-item>
<el-form-item label="数据来源" v-if="dataSet.includes('_items')">
<el-select v-model="formInline.targetType" >
<el-select v-model="formInline.targetType">
<el-option v-for="item in dataSource" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="关键字" v-if="!dataSet.includes('_')">
<el-input style="width: 160px" v-model="searchValue" autocomplete="off" clearable
@input="handleSearch" placeholder="请输入关键词"></el-input>
<el-input maxlength="32" show-word-limit v-model="searchValue"
autocomplete="off" clearable @input="handleSearch" placeholder="请输入关键词"></el-input>
</el-form-item>
</template>
<template #operation>
@@ -647,7 +647,7 @@ const handleaddDevice = () => {
const deviceId: any = ref('')
const lineId: any = ref('')
const dataLevel: any = ref('')
const dataSource=ref([])
const dataSource = ref([])
const nodeClick = async (e: anyObj) => {
// console.log("🚀 ~ nodeClick ~ e:", e)
if (e.level == 2) return
@@ -661,7 +661,7 @@ const nodeClick = async (e: anyObj) => {
formInline.targetType = res.data[0].id
})
deviceId.value = e?.pid
lineId.value = e?.id
TrendList.value = e

View File

@@ -43,6 +43,7 @@ const setData = (data: any, targetType: any) => {
// dataList1.value = []
let list1: any = []
dataList.value = []
dataList1.value = []
flag.value = true
flag1.value = true
targetName.value = targetType[0].name

View File

@@ -4,29 +4,17 @@
<TableHeader>
<template v-slot:select>
<el-form-item label="设备类型">
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select
v-model="tableStore.table.params.devType"
clearable
@change="devTypeChange"
placeholder="请选择设备类型"
>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select v-model="tableStore.table.params.devType" clearable @change="devTypeChange"
placeholder="请选择设备类型">
<el-option v-for="item in devTypeOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="设备型号">
<el-select v-model="tableStore.table.params.devModel" filterable clearable placeholder="请选择设备型号">
<el-option
v-for="item in devModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item in devModelOptionsFilter" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="通讯协议">
@@ -47,15 +35,8 @@
<el-button type="primary" @click="downLoadFile" class="ml10" icon="el-icon-Download">
模版下载
</el-button>
<el-upload
style="display: inline-block"
action=""
accept=".xlsx"
class="upload-demo"
:show-file-list="false"
:auto-upload="false"
:on-change="bulkImport"
>
<el-upload style="display: inline-block" action="" accept=".xlsx" class="upload-demo"
:show-file-list="false" :auto-upload="false" :on-change="bulkImport">
<el-button type="primary" class="ml10" icon="el-icon-Tickets">批量导入</el-button>
</el-upload>
<el-button type="primary" class="ml10" @click="add" icon="el-icon-Plus">新增设备</el-button>
@@ -63,44 +44,27 @@
</TableHeader>
<Table ref="tableRef"></Table>
<el-dialog
:title="dialogTitle"
v-model="dialogFormVisible"
:close-on-click-modal="false"
:before-close="resetForm"
draggable
width="40%"
>
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
:before-close="resetForm" draggable width="40%">
<el-form :model="form" label-width="120px" :rules="rules" ref="ruleFormRef">
<el-form-item label="设备名称:" prop="name">
<el-input
v-model="form.name"
autocomplete="off"
clearable
placeholder="请输入(项目名称+设备名称)"
></el-input>
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
placeholder="请输入(项目名称+设备名称)"></el-input>
</el-form-item>
<el-form-item label="网络设备ID:" prop="ndid" class="top">
<el-input v-model="form.ndid" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="设备类型:" prop="devType" class="top">
<el-select v-model="form.devType" placeholder="请选择" @change="formDevTypeChange" clearable>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<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="devModel" class="top">
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
<el-option
v-for="item in formDevModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<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="devAccessMethod" class="top">
@@ -111,7 +75,8 @@
</el-form-item>
<el-form-item label="合同号:" prop="cntractNo" class="top">
<el-input v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -216,9 +181,11 @@ const tableStore = new TableStore({
url: '/cs-device-boot/EquipmentDelivery/list',
method: 'POST',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{
title: '序号', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '设备名称', field: 'name' },
{
title: '设备类型',
@@ -301,7 +268,7 @@ const tableStore = new TableStore({
tableStore.onTableAction('search', {})
})
})
.catch(e => {})
.catch(e => { })
}
},
//便携式设备注册
@@ -334,7 +301,7 @@ const tableStore = new TableStore({
tableStore.index()
})
})
.catch(e => {})
.catch(e => { })
}
},
//直连设备接入
@@ -366,7 +333,7 @@ const tableStore = new TableStore({
tableStore.onTableAction('search', {})
})
})
.catch(e => {})
.catch(e => { })
}
},
//便携式设备接入
@@ -397,7 +364,7 @@ const tableStore = new TableStore({
tableStore.index()
})
})
.catch(e => {})
.catch(e => { })
}
},
{
@@ -463,7 +430,7 @@ const tableStore = new TableStore({
tableStore.onTableAction('search', {})
})
})
.catch(e => {})
.catch(e => { })
}
}
]
@@ -577,7 +544,7 @@ onMounted(() => {
}, 100)
})
const addMenu = () => {}
const addMenu = () => { }
</script>
<style lang="scss" scoped>
.qrcode-label {

View File

@@ -21,12 +21,7 @@
<vxe-column title="操作" width="200px">
<template v-slot:default="scoped">
<el-button
link
size="small"
type="danger"
@click="deleteEngineering(scoped.row)"
>
<el-button link size="small" type="danger" @click="deleteEngineering(scoped.row)">
移除
</el-button>
</template>
@@ -35,29 +30,17 @@
</div>
</div>
<el-dialog v-model="dialogVisible" title="添加工程" class="cn-operate-dialog" :close-on-click-modal="false">
<el-input
v-model="filterText"
icon="el-icon-Search"
placeholder="请输入内容"
clearable
style="margin-bottom: 10px"
>
<el-input maxlength="32" show-word-limit v-model="filterText" icon="el-icon-Search" placeholder="请输入内容"
clearable style="margin-bottom: 10px">
<template #prefix>
<Icon name="el-icon-Search" style="font-size: 16px" />
</template>
</el-input>
<vxe-table
ref="tableRef"
v-bind="defaultAttribute"
:data="
tableData2.filter((item:any) => {
return item.name.includes(filterText)
})
"
height="500px"
style="width: 100%"
>
<vxe-table ref="tableRef" v-bind="defaultAttribute" :data="tableData2.filter((item: any) => {
return item.name.includes(filterText)
})
" height="500px" style="width: 100%">
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="name" title="工程名称"></vxe-column>
</vxe-table>
@@ -160,6 +143,7 @@ const addMarketData = () => {
overflow: hidden;
flex: 1;
padding: 10px 10px 10px 0;
.el-descriptions__header {
height: 36px;
margin-bottom: 7px;

View File

@@ -20,8 +20,8 @@
</div>
<div class="filter" v-if="activePathList.length != 0">
<el-input style="width: 200px; height: 32px" placeholder="请输入文件或文件夹名称" clearable v-model="filterText"
type="text"></el-input>
<el-input maxlength="32" show-word-limit style="width: 200px; height: 32px" placeholder="请输入文件或文件夹名称"
clearable v-model="filterText" type="text"></el-input>
<el-button type="primary" @click="handleSearch" :icon="Search">搜索</el-button>
<el-button @click="handleRefresh" :icon="Refresh">重置</el-button>
<el-upload v-if="activePath != '/'" action="" :auto-upload="false" :show-file-list="false" :on-change="(file: any, fileList: any) => {
@@ -130,7 +130,7 @@
<el-form ref="formRef" :model="form"
:rules="{ path: [{ required: true, message: '请输入文件夹名称', trigger: 'blur' }] }">
<el-form-item label="文件夹名称" prop="path">
<el-input v-model="form.path" placeholder="请输入文件夹名称" />
<el-input maxlength="32" show-word-limit v-model="form.path" placeholder="请输入文件夹名称" />
</el-form-item>
</el-form>
<template #footer>
@@ -524,7 +524,7 @@ mqttRef.value.on('message', (topic: any, message: any) => {
console.log('mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))))
let str = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
let regex = /fileName:(.*?),allStep/
let regex1 = /allStep:(.*?),nowStep/
let regex2 = /nowStep:(.*?),userId/
@@ -536,7 +536,7 @@ mqttRef.value.on('message', (topic: any, message: any) => {
nowStep: str.match(regex2)[1],
userId: str.match(regex3)[1]
}
console.log("🚀 ~ str.match(regex3)[1]:", str.match(regex3)[1])
console.log("🚀 ~ str.match(regex3)[1]:", str.match(regex3)[1])
status.value = parseInt(Number((mqttMessage.value.nowStep / mqttMessage.value.allStep) * 100))
fileRef.value.setStatus(mqttMessage.value)
fileName.value = mqttMessage.value.fileName

View File

@@ -11,8 +11,9 @@
<el-descriptions :title="'数据集名称: ' + popupData.dataSetName" size="small" :column="2" border>
<template #extra>
<div v-if="newGroupVisible" style="display: flex; align-items: center">
<el-input v-model="groupName" autocomplete="off" clearable placeholder="请输入分组名称"></el-input>
<el-button class="ml10" ctype="primary" size="small" @click="newGroupVisible = false">取消</el-button>
<el-input maxlength="32" show-word-limit v-model="groupName" autocomplete="off" clearable
placeholder="请输入分组名称"></el-input>
<el-button class="ml10" ctype="primary" size="small" @click="newGroupVisible = false">取消</el-button>
<el-button class="ml10" type="primary" size="small" @click="addNewGroup">完成</el-button>
</div>
<template v-else>
@@ -144,6 +145,7 @@ defineExpose({ open })
font-size: 14px;
padding-right: 8px;
}
.el-dialog__body {
display: flex;
flex-direction: column;

View File

@@ -5,10 +5,11 @@
<el-form :model="form" scroll-to-error label-width="140px" :rules="rules1" ref="ruleFormRef1" class="form-one"
v-if="popupType == 0 || popupType == 1">
<el-form-item label="方案名称:" prop="itemName">
<el-input v-model="form.itemName" placeholder="请输入方案名称" />
<el-input maxlength="32" show-word-limit v-model="form.itemName" placeholder="请输入方案名称" />
</el-form-item>
<el-form-item label="方案描述:" prop="describe">
<el-input type="textarea" v-model="form.describe" placeholder="请输入方案描述" />
<el-input maxlength="300" show-word-limit type="textarea" v-model="form.describe"
placeholder="请输入方案描述" />
</el-form-item>
</el-form>
<!-- 测试项信息&数据绑定页面 -->
@@ -17,7 +18,7 @@
<el-form :model="form1" ref="ruleFormRef2" scroll-to-error class="form-two" label-width="140px"
:rules="rules2">
<el-form-item label="测试项名称:" prop="itemName">
<el-input v-model="form1.itemName" placeholder="请输入测试项名称" />
<el-input maxlength="32" show-word-limit v-model="form1.itemName" placeholder="请输入测试项名称" />
</el-form-item>
<el-form-item label="测量间隔:" prop="statisticalInterval">
<el-select v-model="form1.statisticalInterval" placeholder="请选择测量间隔" clearable
@@ -40,7 +41,7 @@
</el-select>
</el-form-item>
<el-form-item label="最小短路容量:" prop="capacitySscmin">
<el-input v-model="form1.capacitySscmin" oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-input maxlength="32" show-word-limit v-model="form1.capacitySscmin" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" autocomplete="off" placeholder="请选择最小短路容量">
<template #append>MVA</template>
@@ -48,7 +49,7 @@
</el-form-item>
<el-form-item label="用户协议容量:" prop="capacitySi">
<el-input v-model="form1.capacitySi" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-input maxlength="32" show-word-limit v-model="form1.capacitySi" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入用户协议容量">
<template #append>MVA</template>
@@ -56,7 +57,7 @@
</el-form-item>
<el-form-item label="基准短路容量:" prop="capacitySscb">
<el-input v-model="form1.capacitySscb" oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-input maxlength="32" show-word-limit v-model="form1.capacitySscb" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准短路容量">
<template #append>MVA</template>
@@ -64,26 +65,27 @@
</el-form-item>
<el-form-item label="供电设备容量:" prop="capacitySt">
<el-input v-model="form1.capacitySt" oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-input maxlength="32" show-word-limit v-model="form1.capacitySt" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入供电设备容量">
<template #append>MVA</template>
</el-input>
</el-form-item>
<el-form-item label="PT变比" prop="pt">
<el-input style="width: 48%" v-model="form1.pt" autocomplete="off" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" />
<el-input style="width: 48%" v-model="form1.pt1" autocomplete="off" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" />
<el-input maxlength="32" show-word-limit style="width: 48%" v-model="form1.pt"
autocomplete="off" placeholder="请输入PT变比" oninput="value=value.replace(/[^0-9.]/g,'')" />
<el-input maxlength="32" show-word-limit style="width: 48%" v-model="form1.pt1"
autocomplete="off" placeholder="请输入PT变比" oninput="value=value.replace(/[^0-9.]/g,'')" />
</el-form-item>
<el-form-item label="CT变比" prop="ct">
<el-input v-model="form1.ct" style="width: 48%" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
<el-input v-model="form1.ct1" style="width: 48%" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
<el-input maxlength="32" show-word-limit v-model="form1.ct" style="width: 48%"
autocomplete="off" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
<el-input maxlength="32" show-word-limit v-model="form1.ct1" style="width: 48%"
autocomplete="off" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
</el-form-item>
<el-form-item label="监测位置:" prop="location" style="width: 100%">
<el-input type="textarea" v-model="form1.location" placeholder="请输入监测位置" />
<el-input maxlength="300" show-word-limit type="textarea" v-model="form1.location"
placeholder="请输入监测位置" />
</el-form-item>
</el-form>
</el-tab-pane>

View File

@@ -7,12 +7,12 @@
style="cursor: pointer" />
<div class="cn-tree" :style="{ opacity: menuCollapse ? 0 : 1, display: menuCollapse ? 'none' : '' }">
<div style="display: flex; align-items: center" class="mb10">
<el-input v-model="filterText" placeholder="请输入内容" clearable>
<el-input maxlength="32" show-word-limit v-model="filterText" placeholder="请输入内容" clearable>
<template #prefix>
<Icon name="el-icon-Search" style="font-size: 16px" />
</template>
</el-input>
<el-tooltip placement="bottom" :hide-after="0">
<el-tooltip placement="bottom" :hide-after="0">
<template #content>
<span>新增方案</span>
</template>
@@ -57,7 +57,7 @@
</a>
<a :style="{ marginRight: '0.5rem' }" v-else>
<el-icon :style="{ color: '#0000FF' }">
<el-tooltip placement="bottom" :hide-after="0">
<el-tooltip placement="bottom" :hide-after="0">
<template #content>
<span>绑定测试项</span>
</template>
@@ -68,7 +68,7 @@
</a>
<a :style="{ marginRight: '0.5rem' }">
<el-icon :style="{ color: '#0000FF' }">
<el-tooltip placement="bottom" :hide-after="0">
<el-tooltip placement="bottom" :hide-after="0">
<template #content>
<span>修改测试项</span>
</template>
@@ -78,7 +78,7 @@
</el-icon>
</a>
<a :style="{ marginRight: '0.5rem' }">
<el-icon :style="{ color: '#DA3434' }">

View File

@@ -4,30 +4,14 @@
<div class="SelectBox">
<div class="boxTitle" @click="clickAllSelect">未绑定数据</div>
<div class="boxCenter">
<el-input
v-model="filterText"
:suffix-icon="Search"
style="width: 100%"
placeholder="请输入搜索内容"
clearable
></el-input>
<el-tree
ref="leftTree"
default-expand-all
:data="leftData"
:props="defaultProps"
show-checkbox
node-key="id"
:filter-node-method="filterNode"
>
<el-input maxlength="32" show-word-limit v-model="filterText" :suffix-icon="Search" style="width: 100%"
placeholder="请输入搜索内容" clearable></el-input>
<el-tree ref="leftTree" default-expand-all :data="leftData" :props="defaultProps" show-checkbox
node-key="id" :filter-node-method="filterNode">
<template #default="{ node, data }">
<span class="custom-tree-node">
<Icon
:name="data.icon"
style="font-size: 16px"
:style="{ color: data.color }"
v-if="data.icon"
/>
<Icon :name="data.icon" style="font-size: 16px" :style="{ color: data.color }"
v-if="data.icon" />
<span style="margin-left: 4px">{{ node.label }}</span>
</span>
</template>
@@ -38,40 +22,28 @@
<div class="transferBtn">
<el-button type="primary" @click="towardsRight">
绑定
<el-icon><ArrowRight /></el-icon>
<el-icon>
<ArrowRight />
</el-icon>
</el-button>
<el-button type="primary" @click="towardsLeft">
<el-icon><ArrowLeft /></el-icon>
<el-icon>
<ArrowLeft />
</el-icon>
解绑</el-button>
</div>
<!-- 右侧已选内容 -->
<div class="SelectBox">
<div class="boxTitle" @click="clickCancelAllSelect">已绑定数据</div>
<div class="boxCenter">
<el-input
v-model="filterText1"
:suffix-icon="Search"
style="width: 100%"
placeholder="请输入搜索内容"
clearable
></el-input>
<el-tree
ref="rightTree"
default-expand-all
:data="rightData"
:props="defaultProps"
show-checkbox
node-key="id"
:filter-node-method="filterNode"
>
<el-input maxlength="32" show-word-limit v-model="filterText1" :suffix-icon="Search" style="width: 100%"
placeholder="请输入搜索内容" clearable></el-input>
<el-tree ref="rightTree" default-expand-all :data="rightData" :props="defaultProps" show-checkbox
node-key="id" :filter-node-method="filterNode">
<template #default="{ node, data }">
<span class="custom-tree-node">
<Icon
:name="data.icon"
style="font-size: 16px"
:style="{ color: data.color }"
v-if="data.icon"
/>
<Icon :name="data.icon" style="font-size: 16px" :style="{ color: data.color }"
v-if="data.icon" />
<span style="margin-left: 4px">{{ node.label }}</span>
</span>
</template>
@@ -254,6 +226,7 @@ export default {
background: #fff;
padding: 0 10px;
border: 1px solid #eee;
.el-input {
margin: 10px 0;
}
@@ -266,7 +239,7 @@ export default {
align-items: center;
justify-content: center;
width: 100px;
flex:1;
flex: 1;
.pickBtn {
height: 40px;

View File

@@ -3,7 +3,8 @@
<TableHeader datePicker>
<template v-slot:select>
<el-form-item label="设备名称">
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" />
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
placeholder="请输入设备名称" />
</el-form-item>
</template>
</TableHeader>

View File

@@ -17,8 +17,8 @@
</el-select>
</el-form-item>
<el-form-item label="过滤筛选">
<el-input v-model="tableStore.table.params.searchValue" placeholder="数据名称、别名、名称"
clearable></el-input>
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
placeholder="数据名称、别名、名称" clearable></el-input>
</el-form-item>
</template>
<template #operation>
@@ -52,9 +52,11 @@ const tableStore = new TableStore({
url: '/system-boot/csDictData/list',
method: 'POST',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{
title: '序号', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '数据分类', field: 'dataTypeName', minWidth: 170 },
{ title: '数据名称', field: 'name', minWidth: 220 },
{ title: '别名', field: 'otherName', minWidth: 220 },

View File

@@ -7,107 +7,74 @@
<el-form :model="form" label-width="140px" ref="formRef" class="form-two" :rules="rules">
<el-form-item label="数据分类:" prop="dataType">
<el-select v-model="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 v-model="form.name" autocomplete="off" placeholder="请输入数据名称"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off"
placeholder="请输入数据名称"></el-input>
</el-form-item>
<el-form-item label="别名:" prop="otherName">
<el-input v-model="form.otherName" autocomplete="off" placeholder="请输入别名"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.otherName" autocomplete="off"
placeholder="请输入别名"></el-input>
</el-form-item>
<el-form-item label="展示名称:" prop="showName">
<el-input v-model="form.showName" autocomplete="off" placeholder="请输入展示名称"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.showName" autocomplete="off"
placeholder="请输入展示名称"></el-input>
</el-form-item>
<el-form-item label="相别:" prop="phase">
<el-select v-model="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 v-model="form.unit" autocomplete="off" placeholder="请输入单位"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.unit" autocomplete="off"
placeholder="请输入单位"></el-input>
</el-form-item>
<el-form-item label="基础数据类型:" prop="type">
<el-input v-model="form.type" autocomplete="off" placeholder="请输入基础数据类型"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.type" autocomplete="off"
placeholder="请输入基础数据类型"></el-input>
</el-form-item>
<el-form-item label="开始结束次数:" prop="harmStart">
<el-slider v-model="form.harm" range show-stops :max="50" style="width: 95%" />
</el-form-item>
<el-form-item label="统计方法:" prop="statMethod">
<el-select
v-model="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="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="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="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 type="number" v-model="form.sort" autocomplete="off" placeholder="请输入序号"></el-input>
<el-input maxlength="32" show-word-limit type="number" v-model="form.sort" autocomplete="off"
placeholder="请输入序号"></el-input>
</el-form-item>
<el-form-item label="限值名称:" prop="limitName">
<el-input
type="text"
v-model="form.limitName"
autocomplete="off"
placeholder="请输入限值名称"
></el-input>
<el-input maxlength="32" show-word-limit type="text" v-model="form.limitName" autocomplete="off"
placeholder="请输入限值名称"></el-input>
</el-form-item>
<el-form-item label="限值表名:" prop="limitTable">
<el-input
type="text"
v-model="form.limitTable"
autocomplete="off"
placeholder="请输入限值表名"
></el-input>
<el-input maxlength="32" show-word-limit type="text" v-model="form.limitTable" autocomplete="off"
placeholder="请输入限值表名"></el-input>
</el-form-item>
<el-form-item label="超标判断方式:" prop="formula">
<el-select v-model="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>
@@ -116,41 +83,33 @@
</div>
<el-form class="form-two" :model="form" label-width="140px" ref="formRef2" :rules="rules">
<el-form-item label="参数缺省值:" prop="defaultValue">
<el-input v-model="form.defaultValue" autocomplete="off" placeholder="请输入参数缺省值"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.defaultValue" autocomplete="off"
placeholder="请输入参数缺省值"></el-input>
</el-form-item>
<el-form-item label="事件类别:" prop="eventType">
<el-input v-model="form.eventType" autocomplete="off" placeholder="请输入事件类别"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.eventType" autocomplete="off"
placeholder="请输入事件类别"></el-input>
</el-form-item>
<el-form-item label="设置最大值:" prop="maxNum">
<el-input
type="number"
v-model="form.maxNum"
autocomplete="off"
placeholder="请输入设置最大值"
></el-input>
<el-input maxlength="32" show-word-limit type="number" v-model="form.maxNum" autocomplete="off"
placeholder="请输入设置最大值"></el-input>
</el-form-item>
<el-form-item label="设置最小值:" prop="minNum">
<el-input
type="number"
v-model="form.minNum"
autocomplete="off"
placeholder="请输入设置最小值"
></el-input>
<el-input maxlength="32" show-word-limit type="number" v-model="form.minNum" autocomplete="off"
placeholder="请输入设置最小值"></el-input>
</el-form-item>
<el-form-item label="枚举序列:" prop="setValue">
<el-input v-model="form.setValue" autocomplete="off" placeholder="请输入枚举序列"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.setValue" autocomplete="off"
placeholder="请输入枚举序列"></el-input>
</el-form-item>
<el-form-item label="字符串长度上限:" prop="strlen">
<el-input
type="number"
v-model="form.strlen"
autocomplete="off"
placeholder="请输入字符串长度上限"
></el-input>
<el-input maxlength="32" show-word-limit type="number" v-model="form.strlen" autocomplete="off"
placeholder="请输入字符串长度上限"></el-input>
</el-form-item>
<el-form-item label="上送规则:" prop="tranRule">
<el-input v-model="form.tranRule" autocomplete="off" placeholder="请输入上送规则"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.tranRule" autocomplete="off"
placeholder="请输入上送规则"></el-input>
</el-form-item>
<el-form-item label="是否可远程控制:" prop="ctlSts">
<el-radio v-model="form.ctlSts" :label="1"></el-radio>

View File

@@ -1,69 +1,52 @@
<template>
<el-dialog class="cn-operate-dialog" width="800px" v-model="dialogVisible" :title="title">
<el-form class="form-two" :model="form" label-width="120px" ref="formRef" :rules="rules">
<el-form-item label="装置类型:" prop="type">
<el-select v-model="form.type" filterable placeholder="请选择" @change="typeChange">
<el-option
v-for="item in TypeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="装置型号:" prop="devType">
<el-select v-model="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-form-item>
<el-form-item label="版本:" prop="versionNo">
<el-input v-model="form.versionNo" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="版本类型:" prop="versionType">
<el-input
v-model="form.versionType"
autocomplete="off"
placeholder="填写特殊类型(不填默认通用类型)"
></el-input>
</el-form-item>
<el-form-item label="版本协议:" prop="versionAgreement">
<el-input v-model="form.versionAgreement" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="版本日期:" prop="versionDate">
<el-date-picker
v-model="form.versionDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width: 100%"
></el-date-picker>
</el-form-item>
<el-form-item label="描述:" prop="description">
<el-input v-model="form.description" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="CRC校验:" prop="crcInfo">
<el-input v-model="form.crcInfo" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" :model="form" label-width="120px" class="mt10">
<el-form-item label="升级文件:" prop="file">
<el-upload
:limit="1"
:auto-upload="false"
:on-change="fileChange"
:on-exceed="fileExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<el-form class="form-two" :model="form" label-width="120px" ref="formRef" :rules="rules">
<el-form-item label="装置类型:" prop="type">
<el-select v-model="form.type" filterable placeholder="请选择" @change="typeChange">
<el-option v-for="item in TypeOptions" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="装置型号:" prop="devType">
<el-select v-model="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-form-item>
<el-form-item label="版本号:" prop="versionNo">
<el-input maxlength="32" show-word-limit v-model="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="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="form.versionAgreement" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="版本日期:" prop="versionDate">
<el-date-picker v-model="form.versionDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期时间"
style="width: 100%"></el-date-picker>
</el-form-item>
<el-form-item label="描述:" prop="description">
<el-input maxlength="32" show-word-limit v-model="form.description" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="CRC校验:" prop="crcInfo">
<el-input maxlength="32" show-word-limit v-model="form.crcInfo" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" :model="form" label-width="120px" class="mt10">
<el-form-item label="升级文件:" prop="file">
<el-upload :limit="1" :auto-upload="false" :on-change="fileChange" :on-exceed="fileExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">

View File

@@ -3,27 +3,19 @@
<TableHeader ref="tableHeaderRef">
<template #select>
<el-form-item label="模版名称">
<el-input v-model="tableStore.table.params.name" clearable placeholder="请输入名称"></el-input>
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.name" clearable
placeholder="请输入名称"></el-input>
</el-form-item>
<el-form-item label="装置型号">
<el-select v-model="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>
<template #operation>
<el-upload
action=""
class="upload-demo"
:show-file-list="false"
:auto-upload="false"
:on-change="chooseFile"
>
<el-upload action="" class="upload-demo" :show-file-list="false" :auto-upload="false"
:on-change="chooseFile">
<el-button :icon="Plus" type="primary" class="ml10">新增模版</el-button>
</el-upload>
</template>
@@ -103,13 +95,13 @@ const chooseFile = (e: any) => {
console.warn(e)
loading.value = true
addDevModel(e.raw).then((res: any) => {
if(res.code=='A0000'){
loading.value=false
if (res.code == 'A0000') {
loading.value = false
tableStore.index()
}
}).catch((e)=>{
loading.value=false
}).catch((e) => {
loading.value = false
})
}
</script>

View File

@@ -3,7 +3,7 @@
<TableHeader>
<template v-slot:select>
<el-form-item label="设备类型">
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select v-model="tableStore.table.params.devType" clearable @change="devTypeChange"
placeholder="请选择设备类型">
<el-option v-for="item in devTypeOptions" :key="item.value" :label="item.label"
@@ -47,10 +47,12 @@
:before-close="resetForm" draggable width="800px">
<el-form :model="form" label-width="auto" :rules="rules" ref="ruleFormRef" class="form-two">
<el-form-item label="设备名称:" prop="name">
<el-input v-model="form.name" autocomplete="off" clearable placeholder="请输入(项目名称+设备名称)"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
placeholder="请输入(项目名称+设备名称)"></el-input>
</el-form-item>
<el-form-item label="网络设备ID:" prop="ndid" class="top">
<el-input v-model="form.ndid" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="设备类型:" prop="devType" class="top">
<el-select v-model="form.devType" placeholder="请选择" @change="formDevTypeChange" clearable>
@@ -72,7 +74,7 @@
</el-form-item>
<!-- <el-form-item label="合同号:" prop="cntractNo" class="top">
<el-input v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item> -->
</el-form>
<template #footer>
@@ -187,9 +189,11 @@ const tableStore = new TableStore({
url: '/cs-device-boot/EquipmentDelivery/list',
method: 'POST',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{
title: '序号', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ title: '设备名称', field: 'name' },
{
title: '设备类型',

View File

@@ -3,7 +3,8 @@
<TableHeader datePicker>
<template v-slot:select>
<el-form-item label="关键词">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="请输入关键词" />
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" clearable
placeholder="请输入关键词" />
</el-form-item>
</template>
</TableHeader>
@@ -79,7 +80,7 @@ const tableStore = new TableStore({
}
],
loadCallback: () => {}
loadCallback: () => { }
})
provide('tableStore', tableStore)
@@ -92,5 +93,5 @@ onMounted(() => {
tableStore.index()
})
const addMenu = () => {}
const addMenu = () => { }
</script>

View File

@@ -1,37 +1,24 @@
<template>
<el-dialog
draggable
:title="title"
v-model="dialogVisible"
width="500px"
:before-close="handleClose"
:close-on-click-modal="false"
>
<el-dialog draggable :title="title" v-model="dialogVisible" width="500px" :before-close="handleClose"
:close-on-click-modal="false">
<el-form ref="formRef" :rules="rules" :model="form" label-width="90px" class="form">
<el-form-item label="项目名称:" prop="name">
<el-input v-model.trim="form.name" placeholder="请输入项目名称"></el-input>
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入项目名称"></el-input>
</el-form-item>
<el-form-item label="工程项目:" class="top" prop="projectIds">
<el-tree-select
v-model="form.projectIds"
default-expand-all
show-checkbox
node-key="id"
:props="defaultProps"
multiple
:data="Engineering"
collapse-tags
style="width: 100%"
/>
<el-tree-select v-model="form.projectIds" default-expand-all show-checkbox node-key="id"
:props="defaultProps" multiple :data="Engineering" collapse-tags style="width: 100%" />
<!-- <el-cascader v-model="form.projectIds" :options="Engineering" :props="defaultProps"
:show-all-levels="false" collapse-tags collapse-tags-tooltip clearable style="width: 100%;"/> -->
</el-form-item>
<el-form-item label="项目排序:" prop="orderBy">
<el-input-number v-model="form.orderBy" :min="0" :step="1" step-strictly style="width: 100%" />
<el-input maxlength="32" show-word-limit-number v-model="form.orderBy" :min="0" :step="1" step-strictly
style="width: 100%" />
</el-form-item>
<el-form-item label="备注:" class="top">
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model.trim="form.remark"></el-input>
<el-input maxlength="300" show-word-limit type="textarea" :rows="2" placeholder="请输入内容"
v-model.trim="form.remark"></el-input>
</el-form-item>
</el-form>

View File

@@ -3,7 +3,8 @@
<TableHeader>
<template v-slot:select>
<el-form-item label="项目名称">
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入项目名称"></el-input>
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
placeholder="请输入项目名称"></el-input>
</el-form-item>
</template>
<template v-slot:operation>

View File

@@ -2,35 +2,24 @@
<el-dialog draggable :title="title" v-model="formVisible" width="30%" :before-close="closeDialog">
<el-form :model="formdata" label-width="100px" :rules="rules" ref="ruleForm">
<el-form-item label="模板名称:" prop="name">
<el-input placeholder="模板名称" v-model="formdata.name" style="width: 100%"></el-input>
<el-input maxlength="32" show-word-limit placeholder="模板名称" v-model="formdata.name"
style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="部门:" prop="deptId">
<Area
v-model="formdata.deptId"
style="width: 100%"
collapse-tags
:props="{ multiple: true, label: 'name', value: 'id', emitPath: false }"
/>
<Area v-model="formdata.deptId" style="width: 100%" collapse-tags
:props="{ multiple: true, label: 'name', value: 'id', emitPath: false }" />
</el-form-item>
<el-form-item label="模板类型:" prop="reportType">
<el-select style="width: 100%" v-model="formdata.reportType" placeholder="请选择模板类型">
<el-option
v-for="item in classificationData"
:key="item.id"
:label="item.label"
:value="item.id"
></el-option>
<el-option v-for="item in classificationData" :key="item.id" :label="item.label"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="报表类型:" prop="reportForm">
<el-select style="width: 100%" v-model="formdata.reportForm" placeholder="请选择报表类型">
<el-option
v-for="item in reportFormList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-option v-for="item in reportFormList" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-form>

View File

@@ -3,10 +3,10 @@
<el-form :model="form" class="form-one" label-width="auto">
<el-form-item label="名称">
<el-input v-model="form.name" placeholder="请输入名称" />
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="编码">
<el-input v-model="form.code" placeholder="请输入编码" />
<el-input maxlength="32" show-word-limit v-model="form.code" placeholder="请输入编码" />
</el-form-item>
<!-- <el-form-item label="类型">
<el-select v-model="form.type" placeholder="请选择类型">
@@ -14,11 +14,11 @@
</el-select>
</el-form-item> -->
<el-form-item label="备注">
<el-input v-model="form.remark" placeholder="请输入备注" />
<el-input maxlength="32" show-word-limit v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="排序">
<el-input-number v-model="form.sort" :min="0" />
<el-input maxlength="32" show-word-limit-number v-model="form.sort" :min="0" />
</el-form-item>
</el-form>

View File

@@ -4,8 +4,8 @@
<el-scrollbar style="padding-right: 0">
<div class="box">
<div class="box-left">
<el-input v-model="searchKey" size="small" placeholder="请输入搜索内容" :suffix-icon="Search"
@input="filterTree" style="margin-bottom: 10px"></el-input>
<el-input maxlength="32" show-word-limit v-model="searchKey" size="small" placeholder="请输入搜索内容"
:suffix-icon="Search" @input="filterTree" style="margin-bottom: 10px"></el-input>
<el-cascader-panel v-model="fromDataValue" :props="{
multiple: true
}" :options="fromData"></el-cascader-panel>
@@ -33,8 +33,8 @@
</el-button>
</div>
<div class="box-right">
<el-input v-model="searchKey1" size="small" placeholder="请输入搜索内容" :suffix-icon="Search"
@input="filterTree1" style="margin-bottom: 10px"></el-input>
<el-input maxlength="32" show-word-limit v-model="searchKey1" size="small" placeholder="请输入搜索内容"
:suffix-icon="Search" @input="filterTree1" style="margin-bottom: 10px"></el-input>
<el-cascader-panel v-model="toDataValue" :props="{
multiple: true,
checkStrictly: true,
@@ -42,14 +42,14 @@
}" :options="toData">
<template #default="{ node, data }">
<div style="display: flex; align-items: center">
<el-tooltip placement="bottom" :hide-after="0">
<template #content>
<span>{{ data.label}}</span>
</template>
<div class="hide-txt">{{ data.label }}</div>
</el-tooltip>
<el-tooltip placement="bottom" :hide-after="0">
<template #content>
<span>{{ data.label }}</span>
</template>
<div class="hide-txt">{{ data.label }}</div>
</el-tooltip>
<template v-if="node.level === 1">
<div class="ml5">({{ data.children.length }})</div>
<div style="flex: 1"></div>
@@ -458,7 +458,8 @@ defineExpose({ open })
}
}
}
.box-right{
.box-right {
flex: 1;
}

View File

@@ -3,29 +3,17 @@
<TableHeader>
<template #select>
<el-form-item label="设备类型">
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select
v-model="tableStore.table.params.devType"
clearable
@change="devTypeChange"
placeholder="请选择设备类型"
>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select v-model="tableStore.table.params.devType" clearable @change="devTypeChange"
placeholder="请选择设备类型">
<el-option v-for="item in devTypeOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="设备型号">
<el-select v-model="tableStore.table.params.devModel" clearable placeholder="请选择设备型号">
<el-option
v-for="item in devModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item in devModelOptionsFilter" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="通讯协议">
@@ -46,15 +34,8 @@
<el-button type="primary" @click="downLoadFile" class="ml10" icon="el-icon-Download">
模版下载
</el-button>
<el-upload
style="display: inline-block"
action=""
accept=".xlsx"
class="upload-demo"
:show-file-list="false"
:auto-upload="false"
:on-change="bulkImport"
>
<el-upload style="display: inline-block" action="" accept=".xlsx" class="upload-demo"
:show-file-list="false" :auto-upload="false" :on-change="bulkImport">
<el-button type="primary" class="ml10" icon="el-icon-Tickets">批量导入</el-button>
</el-upload>
<el-button type="primary" class="ml10" @click="add" icon="el-icon-Plus">新增设备</el-button>
@@ -62,44 +43,27 @@
</TableHeader>
<Table ref="tableRef"></Table>
<el-dialog
:title="dialogTitle"
v-model="dialogFormVisible"
:close-on-click-modal="false"
:before-close="resetForm"
draggable
width="40%"
>
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
:before-close="resetForm" draggable width="40%">
<el-form :model="form" label-width="120px" :rules="rules" ref="ruleFormRef">
<el-form-item label="设备名称:" prop="name">
<el-input
v-model="form.name"
autocomplete="off"
clearable
placeholder="请输入(项目名称+设备名称)"
></el-input>
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
placeholder="请输入(项目名称+设备名称)"></el-input>
</el-form-item>
<el-form-item label="网络设备ID:" prop="ndid" class="top">
<el-input v-model="form.ndid" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="设备类型:" prop="devType" class="top">
<el-select v-model="form.devType" placeholder="请选择" @change="formDevTypeChange" clearable>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<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="devModel" class="top">
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
<el-option
v-for="item in formDevModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<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="devAccessMethod" class="top">
@@ -110,7 +74,8 @@
</el-form-item>
<el-form-item label="合同号:" prop="cntractNo" class="top">
<el-input v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -300,7 +265,7 @@ const tableStore = new TableStore({
tableStore.onTableAction('search', {})
})
})
.catch(e => {})
.catch(e => { })
}
}
]
@@ -414,7 +379,7 @@ onMounted(() => {
}, 100)
})
const addMenu = () => {}
const addMenu = () => { }
</script>
<style lang="scss" scoped>
.qrcode-label {

View File

@@ -3,29 +3,17 @@
<TableHeader>
<template #select>
<el-form-item label="设备类型">
<!-- <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select
v-model="tableStore.table.params.devType"
clearable
@change="devTypeChange"
placeholder="请选择设备类型"
>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<!-- <el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
<el-select v-model="tableStore.table.params.devType" clearable @change="devTypeChange"
placeholder="请选择设备类型">
<el-option v-for="item in devTypeOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="设备型号">
<el-select v-model="tableStore.table.params.devModel" filterable clearable placeholder="请选择设备型号">
<el-option
v-for="item in devModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-option v-for="item in devModelOptionsFilter" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="通讯协议">
@@ -46,15 +34,8 @@
<el-button type="primary" @click="downLoadFile" class="ml10" icon="el-icon-Download">
模版下载
</el-button>
<el-upload
style="display: inline-block"
action=""
accept=".xlsx"
class="upload-demo"
:show-file-list="false"
:auto-upload="false"
:on-change="bulkImport"
>
<el-upload style="display: inline-block" action="" accept=".xlsx" class="upload-demo"
:show-file-list="false" :auto-upload="false" :on-change="bulkImport">
<el-button type="primary" class="ml10" icon="el-icon-Tickets">批量导入</el-button>
</el-upload>
<el-button type="primary" class="ml10" @click="add" icon="el-icon-Plus">新增设备</el-button>
@@ -62,44 +43,27 @@
</TableHeader>
<Table ref="tableRef"></Table>
<el-dialog
:title="dialogTitle"
v-model="dialogFormVisible"
:close-on-click-modal="false"
:before-close="resetForm"
draggable
width="40%"
>
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
:before-close="resetForm" draggable width="40%">
<el-form :model="form" label-width="120px" :rules="rules" ref="ruleFormRef">
<el-form-item label="设备名称:" prop="name">
<el-input
v-model="form.name"
autocomplete="off"
clearable
placeholder="请输入(项目名称+设备名称)"
></el-input>
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
placeholder="请输入(项目名称+设备名称)"></el-input>
</el-form-item>
<el-form-item label="网络设备ID:" prop="ndid" class="top">
<el-input v-model="form.ndid" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="设备类型:" prop="devType" class="top">
<el-select v-model="form.devType" placeholder="请选择" @change="formDevTypeChange" clearable>
<el-option
v-for="item in devTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<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="devModel" class="top">
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
<el-option
v-for="item in formDevModelOptionsFilter"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
<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="devAccessMethod" class="top">
@@ -110,7 +74,8 @@
</el-form-item>
<el-form-item label="合同号:" prop="cntractNo" class="top">
<el-input v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -300,7 +265,7 @@ const tableStore = new TableStore({
tableStore.onTableAction('search', {})
})
})
.catch(e => {})
.catch(e => { })
}
}
]
@@ -414,7 +379,7 @@ onMounted(() => {
}, 100)
})
const addMenu = () => {}
const addMenu = () => { }
</script>
<style lang="scss" scoped>
.qrcode-label {