全局添加输入框空格校验
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
</el-row>
|
||||
<el-row class="ba-array-item" v-for="(item, idx) in state.value" :gutter="10" :key="idx">
|
||||
<el-col :span="10">
|
||||
<el-input maxlength="32" show-word-limit v-model="item.key"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="item.key"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-input maxlength="32" show-word-limit v-model="item.value"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="item.value"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button @click="onDelArrayItem(idx)" size="small" icon="el-icon-Delete" circle />
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</transition>
|
||||
</div>
|
||||
<template #reference>
|
||||
<el-input maxlength="32" show-word-limit v-model='state.inputValue' :size='size' :disabled='disabled'
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='state.inputValue' :size='size' :disabled='disabled'
|
||||
placeholder='搜索图标' ref='selectorInput' @focus='onInputFocus' @blur='onInputBlur'
|
||||
:class="'size-' + size">
|
||||
<template #prepend>
|
||||
|
||||
@@ -2,57 +2,28 @@
|
||||
<div class="w100">
|
||||
<!-- el-select 的远程下拉只在有搜索词时,才会加载数据(显示出 option 列表) -->
|
||||
<!-- 使用 el-popover 在无数据/无搜索词时,显示一个无数据的提醒 -->
|
||||
<el-popover
|
||||
width="100%"
|
||||
placement="bottom"
|
||||
popper-class="remote-select-popper"
|
||||
<el-popover width="100%" placement="bottom" popper-class="remote-select-popper"
|
||||
:visible="state.focusStatus && !state.loading && !state.keyword && !state.options.length"
|
||||
:teleported="false"
|
||||
:content="$t('utils.No data')"
|
||||
>
|
||||
:teleported="false" :content="$t('utils.No data')">
|
||||
<template #reference>
|
||||
<el-select
|
||||
ref="selectRef"
|
||||
class="w100"
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
:loading="state.loading || state.accidentBlur"
|
||||
:filterable="true"
|
||||
:remote="true"
|
||||
clearable
|
||||
remote-show-suffix
|
||||
:remote-method="onLogKeyword"
|
||||
v-model="state.value"
|
||||
@change="onChangeSelect"
|
||||
:multiple="multiple"
|
||||
:key="state.selectKey"
|
||||
@clear="onClear"
|
||||
@visible-change="onVisibleChange"
|
||||
v-bind="$attrs"
|
||||
>
|
||||
<el-option
|
||||
class="remote-select-option"
|
||||
v-for="item in state.options"
|
||||
:label="item[field]"
|
||||
:value="item[state.primaryKey].toString()"
|
||||
:key="item[state.primaryKey]"
|
||||
>
|
||||
<el-select ref="selectRef" class="w100" @focus="onFocus" @blur="onBlur"
|
||||
:loading="state.loading || state.accidentBlur" :filterable="true" :remote="true" clearable
|
||||
remote-show-suffix :remote-method="onLogKeyword" v-model.trim="state.value" @change="onChangeSelect"
|
||||
:multiple="multiple" :key="state.selectKey" @clear="onClear" @visible-change="onVisibleChange"
|
||||
v-bind="$attrs">
|
||||
<el-option class="remote-select-option" v-for="item in state.options" :label="item[field]"
|
||||
:value="item[state.primaryKey].toString()" :key="item[state.primaryKey]">
|
||||
<el-tooltip placement="right" effect="light" v-if="!isEmpty(tooltipParams)">
|
||||
<template #content>
|
||||
<p v-for="(tooltipParam, key) in tooltipParams" :key="key">{{ key }}: {{ item[tooltipParam] }}</p>
|
||||
<p v-for="(tooltipParam, key) in tooltipParams" :key="key">{{ key }}: {{
|
||||
item[tooltipParam] }}</p>
|
||||
</template>
|
||||
<div>{{ item[field] }}</div>
|
||||
</el-tooltip>
|
||||
</el-option>
|
||||
<el-pagination
|
||||
v-if="state.total"
|
||||
:currentPage="state.currentPage"
|
||||
:page-size="state.pageSize"
|
||||
class="select-pagination"
|
||||
layout="->, prev, next"
|
||||
:total="state.total"
|
||||
@current-change="onSelectCurrentPageChange"
|
||||
/>
|
||||
<el-pagination v-if="state.total" :currentPage="state.currentPage" :page-size="state.pageSize"
|
||||
class="select-pagination" layout="->, prev, next" :total="state.total"
|
||||
@current-change="onSelectCurrentPageChange" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-popover>
|
||||
@@ -304,6 +275,7 @@ defineExpose({
|
||||
:deep(.remote-select-popper) {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.remote-select-option {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<template>
|
||||
<div style="width: 540px">
|
||||
<el-select v-model="interval" style="min-width: 90px; width: 90px; margin-right: 10px" @change="timeChange">
|
||||
<el-select v-model.trim="interval" style="min-width: 90px; width: 90px; margin-right: 10px"
|
||||
@change="timeChange">
|
||||
<el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
|
||||
<el-date-picker v-model="timeValue" type="daterange" :disabled="disabledPicker"
|
||||
<el-date-picker v-model.trim="timeValue" type="daterange" :disabled="disabledPicker"
|
||||
style="width: 220px; margin-right: 10px" unlink-panels :clearable="false" range-separator="至"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD" :shortcuts="shortcuts" />
|
||||
<el-button :disabled="backDisabled" type="primary" :icon="DArrowLeft" @click="preClick"></el-button>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="区域" v-if="area">
|
||||
<Area ref="areaRef" v-model="tableStore.table.params.deptIndex" />
|
||||
<Area ref="areaRef" v-model.trim="tableStore.table.params.deptIndex" />
|
||||
</el-form-item>
|
||||
<slot name="select"></slot>
|
||||
</el-form>
|
||||
@@ -20,7 +20,7 @@
|
||||
</el-button>
|
||||
<el-button @click="onComSearch" v-if="showSearch" type="primary" :icon="Search">查询</el-button>
|
||||
<el-button @click="onResetForm" v-if="showSearch && showReset" :icon="RefreshLeft">重置</el-button>
|
||||
</template>
|
||||
</template>
|
||||
<slot name="operation"></slot>
|
||||
</div>
|
||||
<el-form :style="showSelect && showUnfoldButton ? headerFormSecondStyleOpen : headerFormSecondStyleClose"
|
||||
@@ -123,6 +123,7 @@ const computedSearchRow = () => {
|
||||
|
||||
// 获取第一行放了几个表单
|
||||
const elFormItem = headerForm.value.$el.querySelectorAll('.el-form-item')
|
||||
|
||||
// 把第一行放不下的复制一份放到headerFormSecond.value.$el
|
||||
let width = 0
|
||||
for (let i = 0; i < elFormItem.length; i++) {
|
||||
@@ -130,6 +131,7 @@ const computedSearchRow = () => {
|
||||
if (width > headerForm.value.$el.offsetWidth) {
|
||||
headerFormSecond.value.$el.appendChild(elFormItem[i])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 判断是否需要折叠
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
<!-- 设备管理使用折叠面板渲染多个tree -->
|
||||
<template>
|
||||
<div :style="{ width: menuCollapse ? '40px' : props.width }"
|
||||
style="display: flex; overflow: hidden">
|
||||
<div :style="{ width: menuCollapse ? '40px' : props.width }" style="display: flex; overflow: hidden">
|
||||
<Icon v-show="menuCollapse" @click="onMenuCollapse" :name="menuCollapse ? 'el-icon-Expand' : 'el-icon-Fold'"
|
||||
:class="menuCollapse ? 'unfold' : ''" size="18" class="fold ml10 mt20 menu-collapse"
|
||||
style="cursor: pointer" />
|
||||
<div class="cn-tree" :style="{ opacity: menuCollapse ? 0 : 1 }">
|
||||
<div style="display: flex; align-items: center" class="mb10">
|
||||
<!-- <el-form-item> -->
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText" autocomplete="off" placeholder="请输入内容"
|
||||
clearable>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="filterText" autocomplete="off"
|
||||
placeholder="请输入内容" clearable>
|
||||
<template #prefix>
|
||||
<Icon name="el-icon-Search" style="font-size: 16px" />
|
||||
</template>
|
||||
@@ -19,7 +18,8 @@
|
||||
:class="menuCollapse ? 'unfold' : ''" size="18" class="fold ml10 menu-collapse"
|
||||
style="cursor: pointer" v-if="props.canExpand" />
|
||||
</div>
|
||||
<el-collapse :accordion="true" v-model="activeName" style="flex: 1; height: 100%" @change="changeDevice">
|
||||
<el-collapse :accordion="true" v-model.trim="activeName" style="flex: 1; height: 100%"
|
||||
@change="changeDevice">
|
||||
<el-collapse-item title="治理设备" name="0" v-if="zlDeviceData.length != 0">
|
||||
<el-tree
|
||||
:style="{ height: bxsDeviceData.length != 0 ? 'calc(100vh - 300px)' : 'calc(100vh - 238px)' }"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div class="cn-tree">
|
||||
<div style="display: flex; align-items: center" class="mb10">
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText" placeholder="请输入内容" clearable>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="filterText" placeholder="请输入内容" clearable>
|
||||
<template #prefix>
|
||||
<Icon name="el-icon-Search" style="font-size: 16px" />
|
||||
</template>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
style='cursor: pointer' />
|
||||
<div class='cn-tree' :style='{ opacity: menuCollapse ? 0 : 1 }'>
|
||||
<div style='display: flex; align-items: center' class='mb10'>
|
||||
<el-input maxlength="32" show-word-limit v-model='filterText' placeholder='请输入内容' clearable>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='filterText' placeholder='请输入内容' clearable>
|
||||
<template #prefix>
|
||||
<Icon name='el-icon-Search' style='font-size: 16px' />
|
||||
</template>
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<!-- 设备监控使用折叠面板渲染多个tree -->
|
||||
<template>
|
||||
<div :style="{ width: menuCollapse ? '40px' : props.width }"
|
||||
style="display: flex; overflow: hidden">
|
||||
<div :style="{ width: menuCollapse ? '40px' : props.width }" style="display: flex; overflow: hidden">
|
||||
<Icon v-show="menuCollapse" @click="onMenuCollapse" :name="menuCollapse ? 'el-icon-Expand' : 'el-icon-Fold'"
|
||||
:class="menuCollapse ? 'unfold' : ''" size="18" class="fold ml10 mt20 menu-collapse" style="cursor: pointer"
|
||||
v-if="route.path != '/admin/govern/reportCore/statistics/index'" />
|
||||
<div class="cn-tree" :style="{ opacity: menuCollapse ? 0 : 1, display: menuCollapse ? 'none' : '' }">
|
||||
<div style="display: flex; align-items: center" class="mb10">
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText" placeholder="请输入内容" clearable>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="filterText" placeholder="请输入内容" clearable>
|
||||
<template #prefix>
|
||||
<Icon name="el-icon-Search" style="font-size: 16px" />
|
||||
</template>
|
||||
@@ -17,7 +16,8 @@
|
||||
style="cursor: pointer"
|
||||
v-if="props.canExpand && route.path != '/admin/govern/reportCore/statistics/index'" />
|
||||
</div>
|
||||
<el-collapse :accordion="true" v-model="activeName" style="flex: 1; height: 100%" @change="changeDevice">
|
||||
<el-collapse :accordion="true" v-model.trim="activeName" style="flex: 1; height: 100%"
|
||||
@change="changeDevice">
|
||||
<el-collapse-item title="治理设备" name="0" v-if="zlDeviceData.length != 0">
|
||||
<el-tree
|
||||
:style="{ height: bxsDeviceData.length != 0 ? 'calc(100vh - 300px)' : 'calc(100vh - 238px)' }"
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<template>
|
||||
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-dialog draggable class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" class="form-two">
|
||||
<el-form-item label="用户名称:">
|
||||
<el-input v-model="form.name" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.name" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="登录名称:" class="top">
|
||||
<el-input v-model="form.loginName" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.loginName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="归属部门名称:" class="top">
|
||||
<el-input v-model="form.deptName" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.deptName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="拥有的角色:" class="top">
|
||||
<el-input v-model="form.role" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.role" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话号码:" class="top">
|
||||
<el-input v-model="form.phone" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.phone" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子邮箱:" class="top">
|
||||
<el-input v-model="form.email" :disabled="true"></el-input>
|
||||
<el-input v-model.trim="form.email" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
<template>
|
||||
<el-dialog draggable width="500px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog draggable width="500px" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one" ref="formRef">
|
||||
<el-form-item label="校验密码:" prop="password">
|
||||
<el-input v-model="form.password" type="password"
|
||||
placeholder="请输入校验密码" show-password />
|
||||
<el-input v-model.trim="form.password" type="password" placeholder="请输入校验密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码:" prop="newPwd" >
|
||||
<el-input v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
||||
show-password />
|
||||
<el-form-item label="新密码:" prop="newPwd">
|
||||
<el-input v-model.trim="form.newPwd" type="password" placeholder="请输入新密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码:" prop="confirmPwd" >
|
||||
<el-input v-model="form.confirmPwd" type="password"
|
||||
placeholder="请输入确认密码" show-password />
|
||||
<el-form-item label="确认密码:" prop="confirmPwd">
|
||||
<el-input v-model.trim="form.confirmPwd" type="password" placeholder="请输入确认密码" show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
|
||||
@@ -195,15 +195,13 @@ const clear = () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
:class="prefixCls"
|
||||
<div :class="prefixCls"
|
||||
class="fixed right-0 top-[45%] h-40px w-40px cursor-pointer bg-[var(--el-color-primary)] text-center leading-40px"
|
||||
@click="drawer = true"
|
||||
>
|
||||
@click="drawer = true">
|
||||
<Icon color="#fff" icon="ep:setting" />
|
||||
</div>
|
||||
|
||||
<ElDrawer v-model="drawer" :z-index="4000" direction="rtl" size="350px">
|
||||
<ElDrawer v-model.trim="drawer" :z-index="4000" direction="rtl" size="350px">
|
||||
<template #header>
|
||||
<span class="text-16px font-700">{{ t('setting.projectSetting') }}</span>
|
||||
</template>
|
||||
@@ -219,28 +217,22 @@ const clear = () => {
|
||||
|
||||
<!-- 系统主题 -->
|
||||
<ElDivider>{{ t('setting.systemTheme') }}</ElDivider>
|
||||
<ColorRadioPicker
|
||||
v-model="systemTheme"
|
||||
<ColorRadioPicker v-model.trim="systemTheme"
|
||||
:schema="['#409eff', '#009688', '#536dfe', '#ff5c93', '#ee4f12', '#0096c7', '#9c27b0', '#ff9800']"
|
||||
@change="setSystemTheme"
|
||||
/>
|
||||
@change="setSystemTheme" />
|
||||
|
||||
<!-- 头部主题 -->
|
||||
<ElDivider>{{ t('setting.headerTheme') }}</ElDivider>
|
||||
<ColorRadioPicker
|
||||
v-model="headerTheme"
|
||||
<ColorRadioPicker v-model.trim="headerTheme"
|
||||
:schema="['#fff', '#151515', '#5172dc', '#e74c3c', '#24292e', '#394664', '#009688', '#383f45']"
|
||||
@change="setHeaderTheme"
|
||||
/>
|
||||
@change="setHeaderTheme" />
|
||||
|
||||
<!-- 菜单主题 -->
|
||||
<template v-if="layout !== 'top'">
|
||||
<ElDivider>{{ t('setting.menuTheme') }}</ElDivider>
|
||||
<ColorRadioPicker
|
||||
v-model="menuTheme"
|
||||
<ColorRadioPicker v-model.trim="menuTheme"
|
||||
:schema="['#fff', '#001529', '#212121', '#273352', '#191b24', '#383f45', '#001628', '#344058']"
|
||||
@change="setMenuTheme"
|
||||
/>
|
||||
@change="setMenuTheme" />
|
||||
</template>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -143,82 +143,82 @@ watch(
|
||||
<div :class="prefixCls">
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.breadcrumb') }}</span>
|
||||
<ElSwitch v-model="breadcrumb" @change="breadcrumbChange" />
|
||||
<ElSwitch v-model.trim="breadcrumb" @change="breadcrumbChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.breadcrumbIcon') }}</span>
|
||||
<ElSwitch v-model="breadcrumbIcon" @change="breadcrumbIconChange" />
|
||||
<ElSwitch v-model.trim="breadcrumbIcon" @change="breadcrumbIconChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.hamburgerIcon') }}</span>
|
||||
<ElSwitch v-model="hamburger" @change="hamburgerChange" />
|
||||
<ElSwitch v-model.trim="hamburger" @change="hamburgerChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.screenfullIcon') }}</span>
|
||||
<ElSwitch v-model="screenfull" @change="screenfullChange" />
|
||||
<ElSwitch v-model.trim="screenfull" @change="screenfullChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.sizeIcon') }}</span>
|
||||
<ElSwitch v-model="size" @change="sizeChange" />
|
||||
<ElSwitch v-model.trim="size" @change="sizeChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.localeIcon') }}</span>
|
||||
<ElSwitch v-model="locale" @change="localeChange" />
|
||||
<ElSwitch v-model.trim="locale" @change="localeChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.messageIcon') }}</span>
|
||||
<ElSwitch v-model="message" @change="messageChange" />
|
||||
<ElSwitch v-model.trim="message" @change="messageChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.tagsView') }}</span>
|
||||
<ElSwitch v-model="tagsView" @change="tagsViewChange" />
|
||||
<ElSwitch v-model.trim="tagsView" @change="tagsViewChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.tagsViewIcon') }}</span>
|
||||
<ElSwitch v-model="tagsViewIcon" @change="tagsViewIconChange" />
|
||||
<ElSwitch v-model.trim="tagsViewIcon" @change="tagsViewIconChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.logo') }}</span>
|
||||
<ElSwitch v-model="logo" @change="logoChange" />
|
||||
<ElSwitch v-model.trim="logo" @change="logoChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.uniqueOpened') }}</span>
|
||||
<ElSwitch v-model="uniqueOpened" @change="uniqueOpenedChange" />
|
||||
<ElSwitch v-model.trim="uniqueOpened" @change="uniqueOpenedChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.fixedHeader') }}</span>
|
||||
<ElSwitch v-model="fixedHeader" @change="fixedHeaderChange" />
|
||||
<ElSwitch v-model.trim="fixedHeader" @change="fixedHeaderChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.footer') }}</span>
|
||||
<ElSwitch v-model="footer" @change="footerChange" />
|
||||
<ElSwitch v-model.trim="footer" @change="footerChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.greyMode') }}</span>
|
||||
<ElSwitch v-model="greyMode" @change="greyModeChange" />
|
||||
<ElSwitch v-model.trim="greyMode" @change="greyModeChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('setting.fixedMenu') }}</span>
|
||||
<ElSwitch v-model="fixedMenu" @change="fixedMenuChange" />
|
||||
<ElSwitch v-model.trim="fixedMenu" @change="fixedMenuChange" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<span class="text-14px">{{ t('watermark.watermark') }}</span>
|
||||
<ElInput v-model="water" class="right-1 w-20" @change="setWater()" />
|
||||
<ElInput v-model.trim="water" class="right-1 w-20" @change="setWater()" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -28,17 +28,8 @@ const themeChange = (val: boolean) => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ElSwitch
|
||||
v-model="isDark"
|
||||
:active-color="blackColor"
|
||||
:active-icon="Sun"
|
||||
:border-color="blackColor"
|
||||
:class="prefixCls"
|
||||
:inactive-color="blackColor"
|
||||
:inactive-icon="CrescentMoon"
|
||||
inline-prompt
|
||||
@change="themeChange"
|
||||
/>
|
||||
<ElSwitch v-model.trim="isDark" :active-color="blackColor" :active-icon="Sun" :border-color="blackColor"
|
||||
:class="prefixCls" :inactive-color="blackColor" :inactive-icon="CrescentMoon" inline-prompt @change="themeChange" />
|
||||
</template>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-switch__core .el-switch__inner .is-icon) {
|
||||
|
||||
@@ -46,7 +46,7 @@ const loginOut = async () => {
|
||||
await userStore.loginOut()
|
||||
tagsViewStore.delAllViews()
|
||||
replace('/login?redirect=/index')
|
||||
} catch {}
|
||||
} catch { }
|
||||
}
|
||||
const toProfile = async () => {
|
||||
push('/user/profile')
|
||||
@@ -86,7 +86,7 @@ const toDocument = () => {
|
||||
</template>
|
||||
</ElDropdown>
|
||||
|
||||
<LockDialog v-if="dialogVisible" v-model="dialogVisible" />
|
||||
<LockDialog v-if="dialogVisible" v-model.trim="dialogVisible" />
|
||||
|
||||
<teleport to="body">
|
||||
<transition name="fade-bottom" mode="out-in">
|
||||
|
||||
@@ -60,7 +60,7 @@ const handleLock = async () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Dialog v-model="dialogVisible" width="500px" max-height="170px" :class="prefixCls" :title="dialogTitle">
|
||||
<Dialog v-model.trim="dialogVisible" width="500px" max-height="170px" :class="prefixCls" :title="dialogTitle">
|
||||
<div class="flex flex-col items-center">
|
||||
<img :src="avatar" alt="" class="w-70px h-70px rounded-[50%]" />
|
||||
<span class="text-14px my-10px text-[var(--top-header-text-color)]">
|
||||
@@ -69,7 +69,7 @@ const handleLock = async () => {
|
||||
</div>
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
|
||||
<el-form-item :label="t('lock.lockPassword')" prop="password">
|
||||
<el-input maxlength="32" show-word-limit type="password" v-model="formData.password"
|
||||
<el-input maxlength="32" show-word-limit type="password" v-model.trim="formData.password"
|
||||
:placeholder="'请输入' + t('lock.lockPassword')" clearable show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -50,7 +50,7 @@ async function unLock() {
|
||||
|
||||
// 返回登录
|
||||
async function goLogin() {
|
||||
await userStore.loginOut().catch(() => {})
|
||||
await userStore.loginOut().catch(() => { })
|
||||
// 登出后清理
|
||||
deleteUserCache() // 清空用户缓存
|
||||
tagsViewStore.delAllViews()
|
||||
@@ -66,12 +66,9 @@ function handleShowForm(show = false) {
|
||||
|
||||
<template>
|
||||
<div :class="prefixCls" class="fixed inset-0 flex h-screen w-screen bg-black items-center justify-center">
|
||||
<div
|
||||
:class="`${prefixCls}__unlock`"
|
||||
<div :class="`${prefixCls}__unlock`"
|
||||
class="absolute top-0 left-1/2 flex pt-5 h-16 items-center justify-center sm:text-md xl:text-xl text-white flex-col cursor-pointer transform translate-x-1/2"
|
||||
@click="handleShowForm(false)"
|
||||
v-show="showDate"
|
||||
>
|
||||
@click="handleShowForm(false)" v-show="showDate">
|
||||
<Icon icon="ep:lock" />
|
||||
<span>{{ t('lock.unlock') }}</span>
|
||||
</div>
|
||||
@@ -96,29 +93,18 @@ function handleShowForm(show = false) {
|
||||
{{ userName }}
|
||||
</span>
|
||||
</div>
|
||||
<ElInput type="password" :placeholder="t('lock.placeholder')" class="enter-x" v-model="password" />
|
||||
<ElInput type="password" :placeholder="t('lock.placeholder')" class="enter-x"
|
||||
v-model.trim="password" />
|
||||
<span :class="`text-14px ${prefixCls}-entry__err-msg enter-x`" v-if="errMsg">
|
||||
{{ t('lock.message') }}
|
||||
</span>
|
||||
<div :class="`${prefixCls}-entry__footer enter-x`">
|
||||
<ElButton
|
||||
type="primary"
|
||||
size="small"
|
||||
class="mt-2 mr-2 enter-x"
|
||||
link
|
||||
:disabled="loading"
|
||||
@click="handleShowForm(true)"
|
||||
>
|
||||
<ElButton type="primary" size="small" class="mt-2 mr-2 enter-x" link :disabled="loading"
|
||||
@click="handleShowForm(true)">
|
||||
{{ t('common.back') }}
|
||||
</ElButton>
|
||||
<ElButton
|
||||
type="primary"
|
||||
size="small"
|
||||
class="mt-2 mr-2 enter-x"
|
||||
link
|
||||
:disabled="loading"
|
||||
@click="goLogin"
|
||||
>
|
||||
<ElButton type="primary" size="small" class="mt-2 mr-2 enter-x" link :disabled="loading"
|
||||
@click="goLogin">
|
||||
{{ t('lock.backToLogin') }}
|
||||
</ElButton>
|
||||
<ElButton type="primary" class="mt-2" size="small" link @click="unLock()" :disabled="loading">
|
||||
@@ -193,6 +179,7 @@ $error-color: #ed6f6f;
|
||||
font-size: 90px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: $screen-lg) {
|
||||
span:not(.meridiem) {
|
||||
font-size: 220px;
|
||||
@@ -204,6 +191,7 @@ $error-color: #ed6f6f;
|
||||
font-size: 260px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: $screen-2xl) {
|
||||
span:not(.meridiem) {
|
||||
font-size: 320px;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<el-dialog width="600px" v-model='dialogVisible' :title='title'>
|
||||
<el-dialog width="600px" v-model.trim='dialogVisible' :title='title'>
|
||||
<el-scrollbar>
|
||||
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||
<el-form-item label='角色名称'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.name' placeholder='请输入菜单名称' />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.name' placeholder='请输入菜单名称' />
|
||||
</el-form-item>
|
||||
<el-form-item label='角色编码'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.code' placeholder='请输入菜单名称' />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.code' placeholder='请输入菜单名称' />
|
||||
</el-form-item>
|
||||
<el-form-item label='角色描述'>
|
||||
<el-input maxlength="300" show-word-limit v-model='form.remark' :rows='2' type='textarea'
|
||||
<el-input maxlength="300" show-word-limit v-model.trim='form.remark' :rows='2' type='textarea'
|
||||
placeholder='请输入描述' />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,43 +1,49 @@
|
||||
const dataProcessing = (arr: any[]) => {
|
||||
return arr
|
||||
.filter(item => typeof item === 'number' || (typeof item === 'string' && !isNaN(parseFloat(item))))
|
||||
.map(item => (typeof item === 'number' ? item : parseFloat(item)))
|
||||
.filter(item => typeof item == 'number' || (typeof item == 'string' && !isNaN(parseFloat(item))))
|
||||
.map(item => (typeof item == 'number' ? item : parseFloat(item)))
|
||||
}
|
||||
|
||||
// 处理y轴最大最小值
|
||||
export const yMethod = (arr: any) => {
|
||||
let numList = dataProcessing(arr)
|
||||
let maxValue = 0
|
||||
let minValue = 0
|
||||
let max = 0
|
||||
let min = 0
|
||||
maxValue = Math.max(...numList)
|
||||
minValue = Math.min(...numList)
|
||||
const numList = dataProcessing(arr);
|
||||
const maxValue = Math.max(...numList);
|
||||
const minValue = Math.min(...numList);
|
||||
|
||||
const calculateBoundary = (value: number, base: number) => {
|
||||
return Math[value > 0? 'ceil' : 'floor'](value / base) * base;
|
||||
};
|
||||
|
||||
let max: number;
|
||||
let min: number;
|
||||
if (maxValue > 1000 || minValue < -1000) {
|
||||
max = Math.ceil(maxValue / 100) * 100
|
||||
if (minValue == 0) {
|
||||
min = 0
|
||||
} else {
|
||||
min = Math.floor(minValue / 100) * 100
|
||||
max = calculateBoundary(maxValue, 100);
|
||||
min = minValue == 0? 0 : calculateBoundary(minValue, 100);
|
||||
} else if (maxValue < 60 && minValue > 40) {
|
||||
max = 60;
|
||||
min = 40;
|
||||
} else if (maxValue == minValue) {
|
||||
if (maxValue < 10 && minValue > 0) {
|
||||
max = calculateBoundary(maxValue, 10);
|
||||
min = calculateBoundary(minValue, 10);
|
||||
} else if (maxValue!== 0 && minValue!== 0) {
|
||||
max = calculateBoundary(maxValue / 10 + 1, 10);
|
||||
min = calculateBoundary(minValue / 10 - 1, 10);
|
||||
}
|
||||
} else if (maxValue == minValue && maxValue < 10 && minValue > 0) {
|
||||
max = Math.ceil(maxValue / 10) * 10
|
||||
min = Math.floor(minValue / 10) * 10
|
||||
} else if (maxValue == minValue && maxValue != 0 && minValue != 0) {
|
||||
max = Math.ceil(maxValue / 10 + 1) * 10
|
||||
min = Math.floor(minValue / 10 - 1) * 10
|
||||
} else {
|
||||
max = Math.ceil(maxValue / 10) * 10
|
||||
min = Math.floor(minValue / 10) * 10
|
||||
max = calculateBoundary(maxValue, 10);
|
||||
min = calculateBoundary(minValue, 10);
|
||||
}
|
||||
|
||||
if (maxValue > 0 && maxValue < 1) {
|
||||
max = 1
|
||||
} else if (max == 0 && minValue > -1 && minValue < 0) {
|
||||
min = -1
|
||||
max = 1;
|
||||
}
|
||||
return [min, max]
|
||||
}
|
||||
if (max == 0 && minValue > -1 && minValue < 0) {
|
||||
min = -1;
|
||||
}
|
||||
|
||||
return [min, max];
|
||||
};
|
||||
|
||||
/**
|
||||
* title['A相','B相',]
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<div>
|
||||
<div class="custom-table-header">
|
||||
<div class="title">接口权限列表</div>
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" style="width: 240px"
|
||||
placeholder="请输入菜单名称" class="ml10" clearable @input="search" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
style="width: 240px" placeholder="请输入菜单名称" class="ml10" clearable @input="search" />
|
||||
<el-button :icon="Plus" type="primary" @click="addMenu" class="ml10" :disabled="!props.id">新增</el-button>
|
||||
</div>
|
||||
<Table ref="tableRef" />
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<div>
|
||||
<div class="custom-table-header">
|
||||
<div class="title">菜单列表</div>
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" style="width: 310px"
|
||||
placeholder="请输入菜单名称" class="ml10" clearable @input="search" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
style="width: 310px" placeholder="请输入菜单名称" class="ml10" clearable @input="search" />
|
||||
<el-button :icon="Plus" type="primary" @click="addMenu" class="ml10">新增</el-button>
|
||||
</div>
|
||||
<Table @currentChange="currentChange" />
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
<template>
|
||||
<el-dialog width="700px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog width="700px" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :mode="form" :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one">
|
||||
<el-form :mode="form" :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one">
|
||||
<el-form-item prop="name" label="接口/按钮名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入接口名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入接口名称" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" label="接口/按钮标识">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.code" placeholder="请输入英文接口标识" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.code" placeholder="请输入英文接口标识" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="path" label="接口路径">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.path" placeholder="请输入接口路径" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.path" placeholder="请输入接口路径" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="type" label="接口类型">
|
||||
<el-radio-group v-model="form.type">
|
||||
<el-radio-group v-model.trim="form.type">
|
||||
<el-radio :label="1">普通接口</el-radio>
|
||||
<el-radio :label="2">公用接口</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sort" label="排序">
|
||||
<el-input maxlength="32" show-word-limit-number v-model="form.sort" :min="0" />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.sort" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="remark" label="接口/按钮描述">
|
||||
<el-input maxlength="300" show-word-limit v-model="form.remark" :rows="2" type="textarea"
|
||||
<el-input maxlength="300" show-word-limit v-model.trim="form.remark" :rows="2" type="textarea"
|
||||
placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" width="700px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" width="700px" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="auto" class="form-one">
|
||||
<el-form-item label="上级菜单">
|
||||
<el-cascader v-model="form.pid" :options="tableStore.table.data" :props="cascaderProps"
|
||||
<el-cascader v-model.trim="form.pid" :options="tableStore.table.data" :props="cascaderProps"
|
||||
style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入菜单名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入菜单名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图标">
|
||||
<IconSelector v-model="form.icon" placeholder="请选择图标" />
|
||||
<IconSelector v-model.trim="form.icon" placeholder="请选择图标" />
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单路由">
|
||||
<el-input v-model="form.path" placeholder="请输入菜单名称" />
|
||||
<el-input v-model.trim="form.path" placeholder="请输入菜单名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="组件路径">
|
||||
<el-input v-model="form.routeName"
|
||||
placeholder="请输入组件路径,如/src/views/dashboard/index.vue" />
|
||||
<el-input v-model.trim="form.routeName" placeholder="请输入组件路径,如/src/views/dashboard/index.vue" />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序">
|
||||
<el-input maxlength="32" show-word-limit-number v-model="form.sort" :min="0" />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.sort" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单描述">
|
||||
<el-input maxlength="300" show-word-limit v-model="form.remark" :rows="2" type="textarea"
|
||||
<el-input maxlength="300" show-word-limit v-model.trim="form.remark" :rows="2" type="textarea"
|
||||
placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" width="700px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" width="700px" v-model.trim="dialogVisible" :title="title">
|
||||
<el-form :inline="false" :model="form" label-width="auto" class="form-one" :rules="rules">
|
||||
<el-form-item label="角色名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入菜单名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入菜单名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="角色编码">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.code" placeholder="请输入菜单名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.code" placeholder="请输入菜单名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="角色描述">
|
||||
<el-input maxlength="300" show-word-limit v-model="form.remark" :rows="2" type="textarea"
|
||||
<el-input maxlength="300" show-word-limit v-model.trim="form.remark" :rows="2" type="textarea"
|
||||
placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<TableHeader>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="用户状态">
|
||||
<el-select v-model="tableStore.table.params.searchState" placeholder="选择用户状态">
|
||||
<el-select v-model.trim="tableStore.table.params.searchState" placeholder="选择用户状态">
|
||||
<el-option v-for="(item, index) in userState" :label="item.label" :key="index"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户类型:">
|
||||
<el-select v-model="tableStore.table.params.casualUser" placeholder="选择用户类型">
|
||||
<el-select v-model.trim="tableStore.table.params.casualUser" placeholder="选择用户类型">
|
||||
<el-option v-for="(item, index) in casualUser" :label="item.label" :key="index"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键词:">
|
||||
<el-input maxlength="32" show-word-limit style="width: 240px"
|
||||
v-model="tableStore.table.params.searchValue" clearable placeholder="仅根据用户名/登录名" />
|
||||
v-model.trim="tableStore.table.params.searchValue" clearable placeholder="仅根据用户名/登录名" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template v-slot:operation>
|
||||
|
||||
@@ -1,73 +1,73 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
|
||||
<el-form :model="form" label-width="auto" class="form-two" :rules="rules">
|
||||
<el-form-item label="用户名" prop="name">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入昵称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="登录名" prop="loginName">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.loginName" placeholder="请输入登录名" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.loginName" placeholder="请输入登录名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="默认密码" prop="password" v-if="title === '新增用户'">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.password" placeholder="请输入密码" disabled />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.password" placeholder="请输入密码" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="权限类型" prop="type">
|
||||
<el-select v-model="form.type" @change="changeValue" disabled placeholder="请选择权限类型">
|
||||
<el-select v-model.trim="form.type" @change="changeValue" disabled placeholder="请选择权限类型">
|
||||
<el-option v-for="(item, index) in UserTypeOption" :label="item.label" :value="item.value"
|
||||
:key="index"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户类型" prop="casualUser">
|
||||
<el-select v-model="form.casualUser" placeholder="请选择权限类型">
|
||||
<el-select v-model.trim="form.casualUser" placeholder="请选择权限类型">
|
||||
<el-option v-for="(item, index) in TypeOptions" :label="item.label" :value="item.value"
|
||||
:key="index"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属部门" prop="deptId">
|
||||
<Area v-model="form.deptId" />
|
||||
<Area v-model.trim="form.deptId" />
|
||||
</el-form-item>
|
||||
<el-form-item label="角色" prop="role">
|
||||
<el-select v-model="form.role" placeholder="请选择角色" multiple collapse-tags>
|
||||
<el-select v-model.trim="form.role" placeholder="请选择角色" multiple collapse-tags>
|
||||
<el-option v-for="(item, index) in roleOptions" :label="item.label" :value="item.value"
|
||||
:key="index"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="手机号" prop="phone">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.phone" placeholder="请输入手机号" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.phone" placeholder="请输入手机号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.email" placeholder="请输入描述" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.email" placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="时间段" prop="limitTime">
|
||||
<el-slider v-model="form.limitTime" style="width: 95%" range show-stops :max="24" />
|
||||
<el-slider v-model.trim="form.limitTime" style="width: 95%" range show-stops :max="24" />
|
||||
</el-form-item>
|
||||
<el-form-item label="起始IP" prop="limitIpStart">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.limitIpStart" placeholder="请输入描述" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.limitIpStart" placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="结束IP" prop="limitIpEnd">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.limitIpEnd" placeholder="请输入描述" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.limitIpEnd" placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="短信通知" prop="smsNotice">
|
||||
<el-radio-group v-model="form.smsNotice" style="width: 200px">
|
||||
<el-radio-group v-model.trim="form.smsNotice" style="width: 200px">
|
||||
<el-radio-button :label="0">是</el-radio-button>
|
||||
<el-radio-button :label="1">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮件通知" prop="emailNotice">
|
||||
<el-radio-group v-model="form.emailNotice" style="width: 200px">
|
||||
<el-radio-group v-model.trim="form.emailNotice" style="width: 200px">
|
||||
<el-radio-button :label="0">是</el-radio-button>
|
||||
<el-radio-button :label="1">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户ID">
|
||||
<div style="display: flex; width: 100%">
|
||||
<el-radio-group v-model="useId">
|
||||
<el-radio-group v-model.trim="useId">
|
||||
<el-radio-button :label="1">是</el-radio-button>
|
||||
<el-radio-button :label="0">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-input maxlength="32" show-word-limit :disabled="title !== '新增用户'" v-model="form.id"
|
||||
<el-input maxlength="32" show-word-limit :disabled="title !== '新增用户'" v-model.trim="form.id"
|
||||
placeholder="请输入用户id" v-if="useId" style="flex: 1;" class="ml10"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<el-dialog width=“500px” v-model="dialogVisible" title="修改密码">
|
||||
<el-dialog width=“500px” v-model.trim="dialogVisible" title="修改密码">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" class="form-one" :rules="rules" ref="formRef">
|
||||
<el-form :inline="false" :model="form" label-width="120px" class="form-one" :rules="rules" ref="formRef">
|
||||
<el-form-item label="新密码" prop="newPwd">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
||||
show-password />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.newPwd" type="password"
|
||||
placeholder="请输入新密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码" prop="confirmPwd">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.confirmPwd" type="password"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.confirmPwd" type="password"
|
||||
placeholder="请输入确认密码" show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<TableHeader date-picker area></TableHeader>
|
||||
<el-tabs v-model="activeName" type="border-card" v-loading="tableStore.table.loading">
|
||||
<el-tabs v-model.trim="activeName" type="border-card" v-loading="tableStore.table.loading">
|
||||
<el-tab-pane label="图形" name="1">
|
||||
<Echart :list="list" ref="echarts" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="表格" name="2"><Tableabove ref="table" /></el-tab-pane>
|
||||
<el-tab-pane label="表格" name="2">
|
||||
<Tableabove ref="table" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
@@ -58,6 +60,7 @@ const layout = mainHeight(123) as any
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
::v-deep(.el-tabs__content) {
|
||||
height: v-bind('layout.height');
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="级别">
|
||||
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-select v-model.trim="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-option
|
||||
v-for="item in rankOptions"
|
||||
:key="item.value"
|
||||
@@ -25,7 +25,7 @@
|
||||
</template> -->
|
||||
<template #select>
|
||||
<el-form-item label="设备名称">
|
||||
<el-input maxlength="32" clearable show-word-limit v-model="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" clearable show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="请输入设备名称" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<TableHeader datePicker ref="refheader">
|
||||
<template v-slot:select>
|
||||
<el-form-item label="数据来源">
|
||||
<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 maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
<el-cascader v-model.trim="tableStore.table.params.cascader" placeholder="请选择数据来源"
|
||||
@change="sourceChange" :options="deviceTreeOptions" :show-all-levels="false"
|
||||
:props="{ checkStrictly: true }" clearable></el-cascader>
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="级别">
|
||||
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-select v-model.trim="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-option v-for="item in rankOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
@@ -77,7 +77,7 @@ const tableStore = new TableStore({
|
||||
title: '事件描述', field: 'showName',
|
||||
},
|
||||
{
|
||||
title: '级别', field: 'level',formatter: (row: any) => {
|
||||
title: '级别', field: 'level', formatter: (row: any) => {
|
||||
|
||||
return row.cellValue == 1 ? '1级' : row.cellValue == 2 ? '2级' : row.cellValue == 3 ? '3级' : '/'
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<TableHeader datePicker ref="refheader">
|
||||
<template v-slot:select>
|
||||
<el-form-item label="数据来源">
|
||||
<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 maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
<el-cascader v-model.trim="tableStore.table.params.cascader" placeholder="请选择数据来源"
|
||||
@change="sourceChange" :options="deviceTreeOptions" :show-all-levels="false"
|
||||
:props="{ checkStrictly: true }" clearable></el-cascader>
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="级别">
|
||||
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-select v-model.trim="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-option
|
||||
v-for="item in rankOptions"
|
||||
:key="item.value"
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<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 maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
<el-cascader placeholder="请选择数据来源" @change="sourceChange"
|
||||
v-model.trim="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.trim="tableStore.table.params.searchValue" placeholder="请输入设备名称" /> -->
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="级别">
|
||||
<el-select v-model="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-select v-model.trim="tableStore.table.params.level" placeholder="请选择级别" clearable>
|
||||
<el-option v-for="item in rankOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
@@ -27,7 +27,7 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<div v-if="view2" style="display: flex">
|
||||
<el-radio-group v-model="value" @change="changeView">
|
||||
<el-radio-group v-model.trim="value" @change="changeView">
|
||||
<el-radio-button label="一次值" :value="1" />
|
||||
<el-radio-button label="二次值" :value="2" />
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-tabs v-if="view2" v-model="bxactiveName" @tab-click="bxhandleClick">
|
||||
<el-tabs v-if="view2" v-model.trim="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">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<el-tabs v-model="activeName" type="border-card" class="demo-tabs">
|
||||
<el-tabs v-model.trim="activeName" type="border-card" class="demo-tabs">
|
||||
<el-tab-pane label="设备告警" name="1">
|
||||
<Device v-if="activeName == '1'" :deviceTree="deviceTree" />
|
||||
</el-tab-pane>
|
||||
@@ -44,8 +44,8 @@ getDeviceTree().then(res => {
|
||||
})
|
||||
deviceTree.value = res.data
|
||||
})
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
|
||||
const addMenu = () => {}
|
||||
const addMenu = () => { }
|
||||
</script>
|
||||
<style></style>
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
<DatePicker ref="datePickerRef"></DatePicker>
|
||||
</el-form-item>
|
||||
<el-form-item label="统计指标:">
|
||||
<el-select v-model="formInline.statisticalId" filterable placeholder="请选择">
|
||||
<el-select v-model.trim="formInline.statisticalId" filterable placeholder="请选择">
|
||||
<el-option v-for="item in zblist" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="值类型:">
|
||||
<el-select v-model="formInline.valueType" filterable placeholder="请选择">
|
||||
<el-select v-model.trim="formInline.valueType" filterable placeholder="请选择">
|
||||
<el-option v-for="item in typelist" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<div v-if="view2" style="display: flex">
|
||||
<el-radio-group v-model="value" @change="changeView">
|
||||
<el-radio-group v-model.trim="value" @change="changeView">
|
||||
<el-radio-button label="一次值" :value="1" />
|
||||
<el-radio-button label="二次值" :value="2" />
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-tabs v-if="view2" class="default-main" v-model="bxactiveName" @tab-click="bxhandleClick">
|
||||
<el-tabs v-if="view2" class="default-main" v-model.trim="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">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<!-- 补召日志 -->
|
||||
<template>
|
||||
<el-dialog modal-class="analysisList" v-model="dialogVisible" title="补召日志" width="70%" draggable @closed="close">
|
||||
<el-dialog modal-class="analysisList" v-model.trim="dialogVisible" title="补召日志" width="70%" draggable
|
||||
@closed="close">
|
||||
<TableHeader date-picker :showReset="false">
|
||||
<template #operation>
|
||||
<el-button type="primary" icon="el-icon-Connection" @click="handleImport">
|
||||
@@ -140,10 +141,10 @@ const handleaddDevice = () => {
|
||||
push({
|
||||
path: '/supplementaryRecruitment',
|
||||
query: {
|
||||
activeName: '0',
|
||||
activeName: '0',
|
||||
id: lineId.value,
|
||||
ndid: deviceData.value?.ndid,
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -154,10 +155,10 @@ const handleImport = () => {
|
||||
push({
|
||||
path: '/supplementaryRecruitment',
|
||||
query: {
|
||||
activeName: '1',
|
||||
activeName: '1',
|
||||
lineId: lineId.value,
|
||||
deviceId: deviceId.value,
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!-- 解析列表 -->
|
||||
<template>
|
||||
<el-dialog v-model="dialogVisible" title="详情" width="70%" draggable @closed="close">
|
||||
<el-dialog v-model.trim="dialogVisible" title="详情" width="70%" draggable @closed="close">
|
||||
<div :style="tableHeight">
|
||||
<vxe-table border auto-resize height="auto" :data="tableData" v-bind="defaultAttribute">
|
||||
<vxe-column field="name" align="center" title="文件名称"></vxe-column>
|
||||
@@ -36,9 +36,11 @@ const tableStore: any = new TableStore({
|
||||
showPage: false,
|
||||
column: [
|
||||
{ width: '60', type: 'checkbox', fixed: 'left' },
|
||||
{ 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
|
||||
}
|
||||
},
|
||||
{ field: 'name', title: '文件名称', minWidth: 170 },
|
||||
{ field: 'createTime', title: '导入时间', minWidth: 170 },
|
||||
{ field: 'allCount', title: '数据总数(条)', minWidth: 170 },
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<DatePicker ref="datePickerRef"></DatePicker>
|
||||
</el-form-item>
|
||||
<el-form-item label="值类型">
|
||||
<el-select v-model="form.dataLevel" :disabled="props.dataLevel == 'Primary'">
|
||||
<el-select v-model.trim="form.dataLevel" :disabled="props.dataLevel == 'Primary'">
|
||||
<el-option value="Primary" label="一次值"></el-option>
|
||||
<el-option value="Secondary" label="二次值"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据类型" label-width="80px">
|
||||
<el-select v-model="form.statMethod" placeholder="请选择数据类型">
|
||||
<el-select v-model.trim="form.statMethod" placeholder="请选择数据类型">
|
||||
<el-option v-for="item in typeOptions" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="接线方式" width="160">
|
||||
{{ devData.conType == 0 ? '星型接线' : devData.conType == 1 ? '角型接线' : devData.conType == 2 ? 'V型接线' :
|
||||
'/' }}
|
||||
'/' }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<!-- <el-descriptions-item label="安装位置" width="160">
|
||||
@@ -66,7 +66,7 @@
|
||||
{{ devData.time ? devData.time : '/' }}
|
||||
</el-descriptions-item> -->
|
||||
</el-descriptions>
|
||||
<el-tabs v-model="dataSet" type="border-card" class="device-control-box-card" @tab-click="handleClick">
|
||||
<el-tabs v-model.trim="dataSet" type="border-card" class="device-control-box-card" @tab-click="handleClick">
|
||||
<el-tab-pane lazy :label="item.name" :name="item.id" v-for="(item, index) in deviceData.dataSetList"
|
||||
:key="index">
|
||||
<template #label>
|
||||
@@ -110,19 +110,19 @@
|
||||
<DatePicker ref="datePickerRef"></DatePicker>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据类型" v-if="!dataSet.includes('_')">
|
||||
<el-select v-model="formInline.targetType" @change="handleTargetTypeChange">
|
||||
<el-select v-model.trim="formInline.targetType" @change="handleTargetTypeChange">
|
||||
<el-option v-for="item in queryList" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="!dataSet.includes('_items')">
|
||||
<!-- <el-select style="min-width: 120px !important" v-model="formInline.dataLevel"
|
||||
<!-- <el-select style="min-width: 120px !important" v-model.trim="formInline.dataLevel"
|
||||
:disabled="dataLevel == 'Primary' && deviceType == '0'">
|
||||
<el-option value="Primary" label="一次值"></el-option>
|
||||
<el-option value="Secondary" label="二次值"></el-option>
|
||||
</el-select> -->
|
||||
<el-radio-group v-model="formInline.dataLevel" @change="handleClick">
|
||||
<el-radio-group v-model.trim="formInline.dataLevel" @change="handleClick">
|
||||
<el-radio-button label="一次值" value="Primary" />
|
||||
<el-radio-button label="二次值" value="Secondary" />
|
||||
|
||||
@@ -130,21 +130,21 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="谐波次数" v-show="oddAndEvenFlag && !dataSet.includes('_')">
|
||||
<el-select v-model="oddAndEven" style="min-width: 120px !important">
|
||||
<el-select v-model.trim="oddAndEven" style="min-width: 120px !important">
|
||||
<el-option v-for="item in oddAndEvenList" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据来源" v-if="dataSet.includes('_items')">
|
||||
<el-select v-model="formInline.dataSource" placeholder="请选择数据来源" clearable>
|
||||
<el-select v-model.trim="formInline.dataSource" placeholder="请选择数据来源" clearable>
|
||||
|
||||
<el-option v-for="item in dataSourceList" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字" v-if="!dataSet.includes('_')">
|
||||
<el-input maxlength="32" show-word-limit v-model="searchValue" autocomplete="off" clearable
|
||||
@input="handleSearch" placeholder="请输入关键词"></el-input>
|
||||
<el-form-item label="关键字" v-if="!dataSet.includes('_')" >
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="searchValue" autocomplete="off"
|
||||
clearable @input="handleSearch" placeholder="请输入关键词" style="width: 180px !important"></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!-- 离线数据导入 -->
|
||||
<template>
|
||||
<!-- <el-dialog v-model="dialogVisible" title="文件列表" width="70%" :destroy-on-close="true" draggable @closed="close"> -->
|
||||
<!-- <el-dialog v-model.trim="dialogVisible" title="文件列表" width="70%" :destroy-on-close="true" draggable @closed="close"> -->
|
||||
<!-- 上传文件列表 -->
|
||||
<div class=" ">
|
||||
<!-- <div class="offline_data_btn">
|
||||
@@ -78,7 +78,7 @@ import { ref } from 'vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { uploadOffLineDataFile } from '@/api/cs-device-boot/EquipmentDelivery.ts'
|
||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||
import {Back} from '@element-plus/icons-vue'
|
||||
import { Back } from '@element-plus/icons-vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
const { go } = useRouter() // 路由
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<DatePicker ref="datePickerRef"></DatePicker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-checkbox-group style="width: 150px" v-model="checkList">
|
||||
<el-checkbox-group style="width: 150px" v-model.trim="checkList">
|
||||
<el-checkbox label="稳态" :value="0" />
|
||||
<el-checkbox label="暂态" :value="1" />
|
||||
</el-checkbox-group>
|
||||
@@ -36,7 +36,7 @@
|
||||
<div class="finish" v-if="row.status == 100">
|
||||
<SuccessFilled style="width: 16px;" /><span class="ml5">补召完成</span>
|
||||
</div>
|
||||
<el-progress v-model="row.status" v-else :class="row.status == 100 ? 'progress' : ''"
|
||||
<el-progress v-model.trim="row.status" v-else :class="row.status == 100 ? 'progress' : ''"
|
||||
:format="format" :stroke-width="10" striped :percentage="row.status" :duration="30"
|
||||
striped-flow />
|
||||
|
||||
|
||||
@@ -4,27 +4,28 @@
|
||||
<TableHeader>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="设备类型">
|
||||
<!-- <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"
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
|
||||
<el-select v-model.trim="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-select v-model.trim="tableStore.table.params.devModel" filterable clearable
|
||||
placeholder="请选择设备型号">
|
||||
<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="通讯协议">
|
||||
<el-select v-model="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-select v-model.trim="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-option label="MQTT" value="mqtt"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-select v-model.trim="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-option label="未注册" :value="1"></el-option>
|
||||
<el-option label="注册" :value="2"></el-option>
|
||||
<el-option label="接入" :value="3"></el-option>
|
||||
@@ -44,38 +45,38 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef"></Table>
|
||||
|
||||
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
|
||||
<el-dialog :title="dialogTitle" v-model.trim="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 maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" autocomplete="off" clearable
|
||||
placeholder="请输入(项目名称+设备名称)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="网络设备ID:" prop="ndid" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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-select v-model.trim="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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备型号:" prop="devModel" class="top">
|
||||
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="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">
|
||||
<el-select v-model="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-option label="MQTT" value="MQTT"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="合同号:" prop="cntractNo" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.cntractNo" autocomplete="off"
|
||||
placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="harmonic_select" v-if="!loading">
|
||||
<el-form :model="searchForm" id="history_select">
|
||||
<el-form-item label="稳态指标">
|
||||
<el-select multiple collapse-tags collapse-tags-tooltip v-model="searchForm.index"
|
||||
<el-select multiple collapse-tags collapse-tags-tooltip v-model.trim="searchForm.index"
|
||||
placeholder="请选择统计指标" :multiple-limit="3" value-key="id">
|
||||
<el-option v-for="(item, index) in indexOptions" :label="item.name" :key="index"
|
||||
:value="item"></el-option>
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<div class="realtrend" v-loading="loading">
|
||||
<div class="select" v-if="!loading">
|
||||
<div class="mr10">谐波次数 </div>
|
||||
<el-select v-model="selectValue" style="width: 100px" @change="selectChange">
|
||||
<el-select v-model.trim="selectValue" style="width: 100px" @change="selectChange">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</div>
|
||||
<el-tabs type="border-card" v-if="tabsList.length != 0" v-model="activeName" @tab-click="handleClick">
|
||||
<el-tabs type="border-card" v-if="tabsList.length != 0" v-model.trim="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane v-for="(item, index) in tabsList" :label="item.groupName" :name="index" :key="index">
|
||||
<div>
|
||||
<div class="realtrend_top">
|
||||
@@ -31,7 +31,7 @@
|
||||
<div class="thead_left">
|
||||
<p style=" font-weight: 700; background-color: #F3F6F9;">次数(次)</p>
|
||||
<p>{{ item.groupName }}{{ item.unit ? '(' + item.unit + ')' : '' }}</p>
|
||||
<p>国标限值{{ item.unit ? '(' + item.unit + ')' : '' }}</p>
|
||||
<!-- <p>国标限值{{ item.unit ? '(' + item.unit + ')' : '' }}</p> -->
|
||||
</div>
|
||||
<div class="thead_right">
|
||||
<div class="right_cell" v-for="(value, key, index) in tableData" :key="index">
|
||||
@@ -50,7 +50,7 @@
|
||||
{{ value }}
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
<!-- <p>
|
||||
<span v-if="
|
||||
String(key).includes('data') &&
|
||||
String(key) != 'dataLevel' &&
|
||||
@@ -58,7 +58,7 @@
|
||||
">
|
||||
{{ gbData[index]?.value || '/' }}
|
||||
</span>
|
||||
</p>
|
||||
</p> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -223,12 +223,13 @@ const init = () => {
|
||||
trendData.map((item: any) => {
|
||||
return item.value
|
||||
}),
|
||||
gbData.value.map((item: any) => {
|
||||
return item.value
|
||||
}),
|
||||
// gbData.value.map((item: any) => {
|
||||
// return item.value
|
||||
// }),
|
||||
|
||||
]
|
||||
let legendList = [tabsList.value[activeName.value]?.groupName, '国标限值',]
|
||||
let legendList = [tabsList.value[activeName.value]?.groupName, ]
|
||||
// let legendList = [tabsList.value[activeName.value]?.groupName, '国标限值',]
|
||||
// echartsData.value.legend.data = legendList
|
||||
list.map((item: any, index: any) => {
|
||||
echartsData.value.series.push({
|
||||
@@ -312,8 +313,8 @@ const setRealTrendData = (val: any) => {
|
||||
emit('changeTrendType', activeName.value)
|
||||
}
|
||||
}
|
||||
const selectChange=(val:any)=>{
|
||||
loading.value=true
|
||||
const selectChange = (val: any) => {
|
||||
loading.value = true
|
||||
// setTimeout(() => {
|
||||
// loading.value=false
|
||||
// },3000)
|
||||
@@ -417,7 +418,8 @@ defineExpose({ open, setRealTrendData, setOverLimitData })
|
||||
display: flex;
|
||||
border: 2px solid #eee;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
font-size: 13px;
|
||||
|
||||
.thead_left {
|
||||
width: 150px;
|
||||
height: 100%;
|
||||
@@ -426,7 +428,7 @@ font-size: 13px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
line-height: 50px;
|
||||
|
||||
|
||||
padding-bottom: 5px;
|
||||
|
||||
p {
|
||||
@@ -497,7 +499,7 @@ font-size: 13px;
|
||||
.charts {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
height: calc(100vh - 560px);
|
||||
height: calc(100vh - 535px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="home">
|
||||
<div class="home_header">
|
||||
<!-- <el-form-item label="值类型选择">
|
||||
<el-select @change="changeView" v-model="value" placeholder="请选择值类型">
|
||||
<el-select @change="changeView" v-model.trim="value" placeholder="请选择值类型">
|
||||
<el-option
|
||||
v-for="(item, index) in options"
|
||||
:key="index"
|
||||
@@ -12,16 +12,18 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-radio-group v-model="value" @change="changeView">
|
||||
|
||||
<el-radio-group v-model.trim="theTypeOfValue" @change="changeView">
|
||||
<el-radio-button label="一次值" :value="1" />
|
||||
<el-radio-button label="二次值" :value="2" />
|
||||
|
||||
</el-radio-group>
|
||||
<el-form-item label="">
|
||||
<el-button @click="handleBack" :icon="Back">返回</el-button>
|
||||
</el-form-item>
|
||||
|
||||
<el-button @click="handleBack" :icon="Back">返回</el-button>
|
||||
|
||||
</div>
|
||||
<el-tabs class="home_body" type="border-card" v-model="activeName" @tab-click="handleClick">
|
||||
<el-tabs class="home_body" type="border-card" v-model.trim="activeName1" @tab-click="handleClick"
|
||||
v-loading="loading">
|
||||
|
||||
<el-tab-pane label="瞬时波形" name="ssbx" :style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
||||
<shushiboxi v-if="isWp && wp && activeName == 'ssbx' && showBoxi" :value="value" :boxoList="boxoList"
|
||||
@@ -51,6 +53,7 @@ const searchForm = ref({
|
||||
})
|
||||
const emit = defineEmits(['handleHideCharts'])
|
||||
const parentHeight = ref(0)
|
||||
const loading = ref(false)
|
||||
const tableList: any = ref([])
|
||||
for (let i = 0; i < 300; i++) {
|
||||
tableList.value.push({
|
||||
@@ -87,19 +90,12 @@ const echartsData1: any = ref([]),
|
||||
const view = ref(true)
|
||||
const view2 = ref(false)
|
||||
const showBoxi = ref(true)
|
||||
const activeName1 = ref('ssbx')
|
||||
const activeName = ref('ssbx')
|
||||
const wp = ref({})
|
||||
const theTypeOfValue = ref(1)
|
||||
const value = ref(1)
|
||||
const options = ref([
|
||||
{
|
||||
value: 1,
|
||||
label: '一次值'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: '二次值'
|
||||
}
|
||||
])
|
||||
|
||||
|
||||
const isWp = ref(false)
|
||||
const boxoList: any = ref([])
|
||||
@@ -112,29 +108,35 @@ const getWpData = (val: any, list: any) => {
|
||||
}
|
||||
const changeView = () => {
|
||||
showBoxi.value = false
|
||||
loading.value = true
|
||||
setTimeout(() => {
|
||||
value.value = theTypeOfValue.value
|
||||
showBoxi.value = true
|
||||
}, 0)
|
||||
}, 500)
|
||||
setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 1500)
|
||||
}
|
||||
const bxecharts: any = ref(mainHeight(190).height as any)
|
||||
|
||||
const handleClick = (tab: any, event: any) => {
|
||||
// activeName.value = tab.index
|
||||
if (tab.name == 'ssbx') {
|
||||
activeName.value = 'ssbx'
|
||||
} else if (tab.name == 'rmsbx') {
|
||||
activeName.value = 'rmsbx'
|
||||
}
|
||||
loading.value = true
|
||||
setTimeout(() => {
|
||||
activeName.value = tab.paneName
|
||||
}, 500)
|
||||
setTimeout(() => {
|
||||
loading.value = false
|
||||
}, 1500)
|
||||
}
|
||||
const handleBack = () => {
|
||||
emit('handleHideCharts')
|
||||
}
|
||||
const setHeight = (h: any,vh: any) => {
|
||||
|
||||
const setHeight = (h: any, vh: any) => {
|
||||
|
||||
parentHeight.value = h
|
||||
setTimeout(() => {
|
||||
bxecharts.value = mainHeight(vh).height
|
||||
},100)
|
||||
setTimeout(() => {
|
||||
bxecharts.value = mainHeight(vh).height
|
||||
}, 100)
|
||||
}
|
||||
onMounted(() => { })
|
||||
defineExpose({ getWpData, setHeight })
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="view" v-loading="loading">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse v-model.trim="activeNames">
|
||||
<el-collapse-item title="基础数据" name="1">
|
||||
<div class="view_top">
|
||||
<!-- 左侧仪表盘 -->
|
||||
@@ -784,10 +784,12 @@ onMounted(() => {
|
||||
.vxe-table--render-default .vxe-header--column:not(.col--ellipsis) {
|
||||
padding: 5px !important;
|
||||
}
|
||||
.vxe-table--body-wrapper{
|
||||
|
||||
.vxe-table--body-wrapper {
|
||||
min-height: 32px !important;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-collapse-item__header {
|
||||
font-size: 16px !important;
|
||||
font-weight: 800 !important;
|
||||
|
||||
@@ -15,10 +15,6 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<!-- <el-select style="min-width: 120px !important" v-model="searchForm.dataLevel">
|
||||
<el-option value="Primary" label="一次值"></el-option>
|
||||
<el-option value="Secondary" label="二次值"></el-option>
|
||||
</el-select> -->
|
||||
<el-radio-group v-model="searchForm.dataLevel" @change="init()">
|
||||
<el-radio-button label="一次值" value="Primary" />
|
||||
<el-radio-button label="二次值" value="Secondary" />
|
||||
@@ -33,14 +29,16 @@
|
||||
<el-option value="cp95" label="cp95"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="history_count" v-for="(item, index) in countData" :key="index"
|
||||
:label="item.name.includes('次数') ? item.name : item.name + '谐波次数'"
|
||||
v-show="item.countOptions.length != 0">
|
||||
<el-select v-model="item.count" @change="onCountChange($event, index)" placeholder="请选择谐波次数"
|
||||
style="width: 100px">
|
||||
<el-option v-for="vv in item.countOptions" :key="vv" :label="vv" :value="vv"></el-option>
|
||||
</el-select>
|
||||
<el-form-item>
|
||||
<div class="history_count" v-for="(item, index) in countData" :key="index"
|
||||
v-show="item.countOptions.length != 0">
|
||||
<span class="mr12">{{item.name.includes('次数') ? item.name : item.name + '谐波次数'}}</span>
|
||||
<el-select v-model="item.count" @change="onCountChange($event, index)" placeholder="请选择谐波次数"
|
||||
style="width: 100px" class="mr20">
|
||||
<el-option v-for="vv in item.countOptions" :key="vv" :label="vv"
|
||||
:value="vv"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
@@ -344,7 +342,6 @@ const init = async () => {
|
||||
color: ['#FFCC00', '#009900', '#CC0000', ...color],
|
||||
xAxis: {
|
||||
type: 'time',
|
||||
name:'时间',
|
||||
axisLabel: {
|
||||
formatter: {
|
||||
day: '{MM}-{dd}',
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
</vxe-table>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog v-model="dialogVisible" title="添加工程" class="cn-operate-dialog" :close-on-click-modal="false">
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText" icon="el-icon-Search" placeholder="请输入内容"
|
||||
<el-dialog v-model.trim="dialogVisible" title="添加工程" class="cn-operate-dialog" :close-on-click-modal="false">
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="filterText" icon="el-icon-Search" placeholder="请输入内容"
|
||||
clearable style="margin-bottom: 10px">
|
||||
<template #prefix>
|
||||
<Icon name="el-icon-Search" style="font-size: 16px" />
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="filter" v-if="activePathList.length != 0">
|
||||
<el-input maxlength="32" show-word-limit style="width: 200px; height: 32px" placeholder="请输入文件或文件夹名称"
|
||||
clearable v-model="filterText" type="text"></el-input>
|
||||
clearable v-model.trim="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) => {
|
||||
@@ -126,7 +126,7 @@
|
||||
<!-- <el-empty v-if="dirList.length === 0" /> -->
|
||||
</div>
|
||||
<popup ref="fileRef"></popup>
|
||||
<el-dialog v-model="addDeviceDirOpen" :destroy-on-close="true" title="新建文件夹目录" width="500" @closed="close">
|
||||
<el-dialog v-model.trim="addDeviceDirOpen" :destroy-on-close="true" title="新建文件夹目录" width="500" @closed="close">
|
||||
<el-form ref="formRef" :model="form"
|
||||
:rules="{ path: [{ required: true, message: '请输入文件夹名称', trigger: 'blur' }] }">
|
||||
<el-form-item label="文件夹名称" prop="path">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!-- 设备文件下载 -->
|
||||
<template>
|
||||
<div :class="downLoading ? 'all_disabled' : ''">
|
||||
<el-dialog v-model="dialogVisible" title="文件信息" width="50%" @closed="handleClose">
|
||||
<el-dialog v-model.trim="dialogVisible" title="文件信息" width="50%" @closed="handleClose">
|
||||
<div v-loading="loading">
|
||||
<div class="download_progress"
|
||||
v-if="mqttFileName.includes(fileNameInfoMation) && status != 0 && status != 100">
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
{{ deviceData.appCheck }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-tabs v-model="dataSet" type="border-card" class="device-manage-box-card" @tab-click="handleClick">
|
||||
<el-tabs v-model.trim="dataSet" type="border-card" class="device-manage-box-card" @tab-click="handleClick">
|
||||
<el-tab-pane lazy :label="item.name" :name="item.id" v-for="(item, index) in deviceData.dataSetList"
|
||||
:key="index"></el-tab-pane>
|
||||
<div :style="{ height: tableHeight }" v-loading="tableLoading">
|
||||
@@ -207,19 +207,19 @@ const handleRestartDevice = () => {
|
||||
inputType: 'text',
|
||||
beforeClose: (action, instance, done) => {
|
||||
|
||||
if (action === 'confirm') {
|
||||
if (instance.inputValue == null) {
|
||||
return ElMessage.warning('请输入密码')
|
||||
} else if (instance.inputValue?.length > 32) {
|
||||
return ElMessage.warning('密码长度不能超过32位,当前密码长度为' + instance.inputValue.length)
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
if (action === 'confirm') {
|
||||
if (instance.inputValue == null) {
|
||||
return ElMessage.warning('请输入密码')
|
||||
} else if (instance.inputValue?.length > 32) {
|
||||
return ElMessage.warning('密码长度不能超过32位,当前密码长度为' + instance.inputValue.length)
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(({ value }) => {
|
||||
if (!value) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog device-manage-popup" v-model="dialogVisible" title="设备模版分组">
|
||||
<el-dialog class="cn-operate-dialog device-manage-popup" v-model.trim="dialogVisible" title="设备模版分组">
|
||||
<el-descriptions class="mb10" :column="3" border>
|
||||
<el-descriptions-item label="名称">
|
||||
{{ popupData.deviceData.name }}
|
||||
@@ -11,7 +11,7 @@
|
||||
<el-descriptions :title="'数据集名称: ' + popupData.dataSetName" size="small" :column="2" border>
|
||||
<template #extra>
|
||||
<div v-if="newGroupVisible" style="display: flex; align-items: center">
|
||||
<el-input maxlength="32" show-word-limit v-model="groupName" autocomplete="off" clearable
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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>
|
||||
@@ -35,7 +35,7 @@
|
||||
<Icon name="el-icon-Delete"></Icon>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
<el-checkbox v-model="data.isShow" @click.stop.native="" class="ml5"></el-checkbox>
|
||||
<el-checkbox v-model.trim="data.isShow" @click.stop.native="" class="ml5"></el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
<template>
|
||||
<el-dialog v-model="dialogVisible" :title="title" draggable
|
||||
<el-dialog v-model.trim="dialogVisible" :title="title" draggable
|
||||
:style="{ width: popupType == 0 || popupType == 1 ? '500px' : '1100px' }">
|
||||
<!-- 新增方案数据 -->
|
||||
<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 maxlength="32" show-word-limit v-model="form.itemName" placeholder="请输入方案名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.itemName" placeholder="请输入方案名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="方案描述:" prop="describe">
|
||||
<el-input maxlength="300" show-word-limit type="textarea" v-model="form.describe"
|
||||
<el-input maxlength="300" show-word-limit type="textarea" v-model.trim="form.describe"
|
||||
placeholder="请输入方案描述" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 测试项信息&数据绑定页面 -->
|
||||
<el-tabs type="border-card" v-model="activeName" v-if="popupType != 0 && popupType != 1">
|
||||
<el-tabs type="border-card" v-model.trim="activeName" v-if="popupType != 0 && popupType != 1">
|
||||
<el-tab-pane label="测试项信息" :name="0" v-if="openType == 'tree'">
|
||||
<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 maxlength="32" show-word-limit v-model="form1.itemName" placeholder="请输入测试项名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form1.itemName" placeholder="请输入测试项名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="测量间隔:" prop="statisticalInterval">
|
||||
<el-select v-model="form1.statisticalInterval" placeholder="请选择测量间隔" clearable
|
||||
<el-select v-model.trim="form1.statisticalInterval" placeholder="请选择测量间隔" clearable
|
||||
style="width: 100%">
|
||||
<el-option v-for="(item, index) in statisticalIntervalList" :key="index" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="电压等级:" prop="voltageLevel">
|
||||
<el-select v-model="form1.voltageLevel" placeholder="请选择电压等级" clearable style="width: 100%"
|
||||
<el-select v-model.trim="form1.voltageLevel" placeholder="请选择电压等级" clearable style="width: 100%"
|
||||
@change="changeVoltageLevel">
|
||||
<el-option v-for="(item, index) in voltageLevelList" :key="index" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="接线方式:" prop="volConType">
|
||||
<el-select v-model="form1.volConType" placeholder="请选择接线方式" clearable style="width: 100%">
|
||||
<el-select v-model.trim="form1.volConType" placeholder="请选择接线方式" clearable style="width: 100%">
|
||||
<el-option v-for="(item, index) in volConTypeList" :key="index" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="最小短路容量:" prop="capacitySscmin">
|
||||
<el-input maxlength="32" show-word-limit v-model="form1.capacitySscmin" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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>
|
||||
@@ -49,7 +49,8 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="用户协议容量:" prop="capacitySi">
|
||||
<el-input maxlength="32" show-word-limit v-model="form1.capacitySi" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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>
|
||||
@@ -57,7 +58,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="基准短路容量:" prop="capacitySscb">
|
||||
<el-input maxlength="32" show-word-limit v-model="form1.capacitySscb" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form1.capacitySscb" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
||||
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准短路容量">
|
||||
<template #append>MVA</template>
|
||||
@@ -65,26 +66,26 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="供电设备容量:" prop="capacitySt">
|
||||
<el-input maxlength="32" show-word-limit v-model="form1.capacitySt" oninput="value=value.replace(/[^\-?\d.]/g,'')
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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 maxlength="32" show-word-limit style="width: 48%" v-model="form1.pt"
|
||||
<el-input maxlength="32" show-word-limit style="width: 48%" v-model.trim="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"
|
||||
<el-input maxlength="32" show-word-limit style="width: 48%" v-model.trim="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 maxlength="32" show-word-limit v-model="form1.ct" style="width: 48%"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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%"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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 maxlength="300" show-word-limit type="textarea" v-model="form1.location"
|
||||
<el-input maxlength="300" show-word-limit type="textarea" v-model.trim="form1.location"
|
||||
placeholder="请输入监测位置" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<template>
|
||||
<div>
|
||||
<div :style="{ width: menuCollapse ? '40px' : '280px' }"
|
||||
style=" overflow: hidden; height: 100%">
|
||||
<div :style="{ width: menuCollapse ? '40px' : '280px' }" style=" overflow: hidden; height: 100%">
|
||||
<Icon v-show="menuCollapse" @click="onMenuCollapse" :name="menuCollapse ? 'el-icon-Expand' : 'el-icon-Fold'"
|
||||
:class="menuCollapse ? 'unfold' : ''" size="18" class="fold ml10 mt20 menu-collapse"
|
||||
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 maxlength="32" show-word-limit v-model="filterText" placeholder="请输入内容" clearable>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="filterText" placeholder="请输入内容" clearable>
|
||||
<template #prefix>
|
||||
<Icon name="el-icon-Search" style="font-size: 16px" />
|
||||
</template>
|
||||
@@ -271,10 +270,10 @@ const edit = async (node: Node, data: any) => {
|
||||
.catch(e => { })
|
||||
}
|
||||
/** 删除树节点 */
|
||||
const del =async (node: Node, data: any) => {
|
||||
const del = async (node: Node, data: any) => {
|
||||
let titleList = ''
|
||||
planId.value = data.id
|
||||
await getDeviceList({
|
||||
await getDeviceList({
|
||||
id: data.id,
|
||||
isTrueFlag: 1
|
||||
}).then(res => {
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<div class="SelectBox">
|
||||
<div class="boxTitle" @click="clickAllSelect">未绑定数据</div>
|
||||
<div class="boxCenter">
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText" :suffix-icon="Search" style="width: 100%"
|
||||
placeholder="请输入搜索内容" clearable></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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 }">
|
||||
@@ -36,8 +36,8 @@
|
||||
<div class="SelectBox">
|
||||
<div class="boxTitle" @click="clickCancelAllSelect">已绑定数据</div>
|
||||
<div class="boxCenter">
|
||||
<el-input maxlength="32" show-word-limit v-model="filterText1" :suffix-icon="Search" style="width: 100%"
|
||||
placeholder="请输入搜索内容" clearable></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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 }">
|
||||
@@ -198,8 +198,8 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符.
|
||||
chooseNode(value, data, node) {
|
||||
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符.
|
||||
chooseNode(value, data, node) {
|
||||
|
||||
if (data.name.indexOf(value) !== -1) {
|
||||
return true
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
{{ deviceData.describe ? deviceData.describe : '/' }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-collapse v-model="activeColName" @change="handleChange" accordion>
|
||||
<el-collapse v-model.trim="activeColName" @change="handleChange" accordion>
|
||||
<el-collapse-item title="测试项信息" name="0">
|
||||
<div class="monitor_info" v-if="deviceData.records && deviceData.records.length != 0">
|
||||
<!-- <div class="history_title">
|
||||
<p>测试项信息</p>
|
||||
</div> -->
|
||||
<el-tabs v-model="activeName" type="border-card" @tab-change="handleClickTabs">
|
||||
<el-tabs v-model.trim="activeName" type="border-card" @tab-change="handleClickTabs">
|
||||
<el-tab-pane v-for="(item, index) in deviceData?.records" :label="item.itemName"
|
||||
:name="item.id" :key="index">
|
||||
<template #label>
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
<div v-if="JSON.stringify(echartsData) != '{}' && deviceData?.records?.length != 0">
|
||||
<!-- <h3 class="mt10 mb10">历史趋势</h3> -->
|
||||
<el-tabs v-model="childTab" type="border-card" class="mt10">
|
||||
<el-tabs v-model.trim="childTab" type="border-card" class="mt10">
|
||||
<el-tab-pane label="历史趋势" name="0">
|
||||
<div class="history_trend" v-if="titleList != '(未绑定数据)'">
|
||||
<div class="history_header" ref="headerRef">
|
||||
@@ -111,43 +111,43 @@
|
||||
<template v-slot:select :key="num">
|
||||
<el-form-item for="-" label="统计指标">
|
||||
<el-select style="min-width: 200px" collapse-tags collapse-tags-tooltip
|
||||
v-model="searchForm.index" placeholder="请选择统计指标"
|
||||
v-model.trim="searchForm.index" placeholder="请选择统计指标"
|
||||
@change="onIndexChange($event)" multiple :multiple-limit="3">
|
||||
<el-option v-for="item in indexOptions" :key="item.id"
|
||||
:label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<!-- <el-select style="width: 12px !important" v-model="searchForm.dataLevel">
|
||||
<!-- <el-select style="width: 12px !important" v-model.trim="searchForm.dataLevel">
|
||||
<el-option value="Primary" label="一次值"></el-option>
|
||||
<el-option value="Secondary" label="二次值"></el-option>
|
||||
</el-select> -->
|
||||
<el-radio-group v-model="searchForm.dataLevel" @change="init(true)">
|
||||
<el-radio-group v-model.trim="searchForm.dataLevel" @change="init(true)">
|
||||
<el-radio-button label="一次值" value="Primary" />
|
||||
<el-radio-button label="二次值" value="Secondary" />
|
||||
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="统计类型" label-width="80px">
|
||||
<el-select style="width: 120px" v-model="searchForm.type"
|
||||
<el-select style="width: 120px" v-model.trim="searchForm.type"
|
||||
placeholder="请选择值类型">
|
||||
<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 for="-" v-for="(item, index) in countData" :key="index"
|
||||
:label="item.name.includes('次数') ? item.name : item.name.includes('幅值') ? item.name.slice(0, -2) + '次数' : item.name + '谐波次数'"
|
||||
v-show="item.countOptions.length != 0">
|
||||
|
||||
<el-select v-model="item.count" collapse-tags collapse-tags-tooltip
|
||||
placeholder="请选择谐波次数" style="width: 120px">
|
||||
<el-option v-for="vv in item.countOptions" :key="vv" :label="vv"
|
||||
:value="vv"></el-option>
|
||||
</el-select>
|
||||
<el-form-item>
|
||||
<div for="-" v-for="(item, index) in countData" :key="index"
|
||||
|
||||
v-show="item.countOptions.length != 0">
|
||||
<span class="mr12">{{item.name.includes('次数') ? item.name : item.name.includes('幅值') ? item.name.slice(0, -2) + '次数' : item.name + '谐波次数'}}</span>
|
||||
<el-select v-model.trim="item.count" class="mr20" collapse-tags collapse-tags-tooltip
|
||||
placeholder="请选择谐波次数" style="width: 120px">
|
||||
<el-option v-for="vv in item.countOptions" :key="vv" :label="vv"
|
||||
:value="vv"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
</template>
|
||||
<template v-slot:operation>
|
||||
<!-- <el-button type="primary" icon="el-icon-Download" @click="handleExport">
|
||||
@@ -170,7 +170,7 @@
|
||||
<el-empty :style="EcharHeight" v-else description="未绑定数据" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="暂态数据" name="1">
|
||||
<transient :activeName='activeName' ref="transientRef" :activeColName="activeColName"/>
|
||||
<transient :activeName='activeName' ref="transientRef" :activeColName="activeColName" />
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<TableHeader datePicker>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="设备名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="请输入设备名称" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
<TableHeader>
|
||||
<template #select>
|
||||
<el-form-item label="数据分类">
|
||||
<el-select v-model="tableStore.table.params.dataType" multiple filterable collapse-tags clearable
|
||||
placeholder="请选择数据分类">
|
||||
<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="tableStore.table.params.classId" multiple filterable collapse-tags clearable
|
||||
placeholder="请选择数据存储">
|
||||
<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="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="数据名称、别名、名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -1,78 +1,78 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<div style="padding-left: 50px">
|
||||
<el-divider content-position="center">基础数据</el-divider>
|
||||
</div>
|
||||
<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-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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据名称:" prop="name">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" autocomplete="off"
|
||||
<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="form.otherName" autocomplete="off"
|
||||
<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="form.showName" autocomplete="off"
|
||||
<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="form.phase" filterable clearable placeholder="请选择相别">
|
||||
<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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单位:" prop="unit">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.unit" autocomplete="off"
|
||||
<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="form.type" autocomplete="off"
|
||||
<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="form.harm" range show-stops :max="50" style="width: 95%" />
|
||||
<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="form.statMethod" multiple collapse-tags collapse-tags-tooltip filterable
|
||||
<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="form.classId" filterable clearable placeholder="请选择数据存储">
|
||||
<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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="报表数据来源:" prop="resourcesId">
|
||||
<el-select v-model="form.resourcesId" filterable clearable placeholder="请选择报表数据来源">
|
||||
<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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="序号:" prop="sort">
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model="form.sort" autocomplete="off"
|
||||
<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="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="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="form.formula" filterable clearable placeholder="请选择超标判断方式">
|
||||
<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-select>
|
||||
@@ -83,53 +83,53 @@
|
||||
</div>
|
||||
<el-form class="form-two" :model="form" label-width="140px" ref="formRef2" :rules="rules">
|
||||
<el-form-item label="参数缺省值:" prop="defaultValue">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.defaultValue" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.defaultValue" autocomplete="off"
|
||||
placeholder="请输入参数缺省值"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="事件类别:" prop="eventType">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.eventType" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.eventType" autocomplete="off"
|
||||
placeholder="请输入事件类别"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="设置最大值:" prop="maxNum">
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model="form.maxNum" autocomplete="off"
|
||||
<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="设置最小值:" prop="minNum">
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model="form.minNum" autocomplete="off"
|
||||
<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="枚举序列:" prop="setValue">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.setValue" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.setValue" autocomplete="off"
|
||||
placeholder="请输入枚举序列"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="字符串长度上限:" prop="strlen">
|
||||
<el-input maxlength="32" show-word-limit type="number" v-model="form.strlen" autocomplete="off"
|
||||
<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="上送规则:" prop="tranRule">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.tranRule" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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>
|
||||
<el-radio v-model="form.ctlSts" :label="0">否</el-radio>
|
||||
<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="是否需遥控校验:" prop="curSts">
|
||||
<el-radio v-model="form.curSts" :label="1">是</el-radio>
|
||||
<el-radio v-model="form.curSts" :label="0">否</el-radio>
|
||||
<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="是否存储:" prop="storeFlag">
|
||||
<el-radio v-model="form.storeFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model="form.storeFlag" :label="0">否</el-radio>
|
||||
<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="是否加密:" prop="storeFlag">
|
||||
<el-radio v-model="form.storeFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model="form.storeFlag" :label="0">否</el-radio>
|
||||
<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="数据是否上送:" prop="tranFlag">
|
||||
<el-radio v-model="form.tranFlag" :label="1">是</el-radio>
|
||||
<el-radio v-model="form.tranFlag" :label="0">否</el-radio>
|
||||
<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>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" width="800px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" width="800px" v-model.trim="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-select v-model.trim="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-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-form-item>
|
||||
<el-form-item label="版本号:" prop="versionNo">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.versionNo" autocomplete="off"
|
||||
<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="form.versionType" autocomplete="off"
|
||||
<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="form.versionAgreement" autocomplete="off"
|
||||
<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="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="描述:" prop="description">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.description" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.crcInfo" autocomplete="off"
|
||||
placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<TableHeader ref="tableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="模版名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.name" clearable
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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-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-select>
|
||||
|
||||
@@ -3,17 +3,9 @@
|
||||
<TableHeader ref="tableHeaderRef">
|
||||
<template #select>
|
||||
<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-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-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -3,27 +3,28 @@
|
||||
<TableHeader>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="设备类型">
|
||||
<!-- <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"
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
|
||||
<el-select v-model.trim="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-select v-model.trim="tableStore.table.params.devModel" filterable clearable
|
||||
placeholder="请选择设备型号">
|
||||
<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="通讯协议">
|
||||
<el-select v-model="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-select v-model.trim="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-option label="MQTT" value="MQTT"></el-option>
|
||||
<el-option label="CLD" value="CLD"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="状态">
|
||||
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-select v-model.trim="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-option label="未注册" :value="1"></el-option>
|
||||
<el-option label="注册" :value="2"></el-option>
|
||||
<el-option label="接入" :value="3"></el-option>
|
||||
@@ -43,7 +44,7 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef"></Table>
|
||||
|
||||
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
|
||||
<el-dialog :title="dialogTitle" v-model.trim="dialogFormVisible" :close-on-click-modal="false"
|
||||
: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">
|
||||
@@ -55,19 +56,19 @@
|
||||
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-select v-model.trim="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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备型号:" prop="devModel" class="top">
|
||||
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="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">
|
||||
<el-select v-model="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-option label="MQTT" value="MQTT"></el-option>
|
||||
<el-option label="CLD" value="CLD"></el-option>
|
||||
</el-select>
|
||||
@@ -77,7 +78,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="合同号:" prop="cntractNo" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.cntractNo" autocomplete="off" placeholder="请输入"></el-input>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
<template #footer>
|
||||
@@ -395,7 +396,7 @@ const tableStore = new TableStore({
|
||||
// },
|
||||
//便携式设备手动接入
|
||||
{
|
||||
title: '接5入',
|
||||
title: '接入',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Grid',
|
||||
render: 'basicButton',
|
||||
@@ -403,7 +404,7 @@ const tableStore = new TableStore({
|
||||
return (
|
||||
(row.devType != '8b45cf6b7f5266e777d07c166ad5fa77' &&
|
||||
row.devModel != 'a0d4da4b5c17b2172362a3f5a27bf217') ||
|
||||
row.status != '5'
|
||||
row.status != '6'
|
||||
)
|
||||
},
|
||||
click: row => {
|
||||
@@ -425,7 +426,7 @@ const tableStore = new TableStore({
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '接3入',
|
||||
title: '接入',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Grid',
|
||||
render: 'basicButton',
|
||||
@@ -433,7 +434,7 @@ const tableStore = new TableStore({
|
||||
return (
|
||||
(row.devType != '8b45cf6b7f5266e777d07c166ad5fa77' &&
|
||||
row.devModel != 'a0d4da4b5c17b2172362a3f5a27bf217') ||
|
||||
row.status != '3'
|
||||
row.status != '5'
|
||||
)
|
||||
},
|
||||
click: row => {
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<TableHeader datePicker>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="关键词">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue" clearable
|
||||
placeholder="请输入关键词" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
clearable placeholder="请输入关键词" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</TableHeader>
|
||||
|
||||
@@ -1,55 +1,29 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" title="编辑拓扑图信息">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" title="编辑拓扑图信息">
|
||||
<el-form :label-width="140">
|
||||
<el-form-item label="拓扑图:" style="height: auto !important">
|
||||
<div class="gplot-content">
|
||||
<VueDraggableResizable
|
||||
class-name-draggable="gplot-content-item"
|
||||
class-name-active="gplot-content-item-active"
|
||||
:active="editorIndex == index"
|
||||
:resizable="false"
|
||||
:parent="true"
|
||||
:x="item.left"
|
||||
:y="item.top"
|
||||
:w="item.width"
|
||||
:h="item.height"
|
||||
@dragStart="editorIndex = index"
|
||||
@dragging="resize"
|
||||
v-for="(item, index) in pointList"
|
||||
:key="index"
|
||||
:isResizable="false"
|
||||
>
|
||||
<div
|
||||
class="text"
|
||||
style="line-height: 20px; white-space: nowrap"
|
||||
:style="{ color: item.name === '监测点' ? 'red' : 'black' }"
|
||||
>
|
||||
<VueDraggableResizable class-name-draggable="gplot-content-item"
|
||||
class-name-active="gplot-content-item-active" :active="editorIndex == index" :resizable="false"
|
||||
:parent="true" :x="item.left" :y="item.top" :w="item.width" :h="item.height"
|
||||
@dragStart="editorIndex = index" @dragging="resize" v-for="(item, index) in pointList"
|
||||
:key="index" :isResizable="false">
|
||||
<div class="text" style="line-height: 20px; white-space: nowrap"
|
||||
:style="{ color: item.name === '监测点' ? 'red' : 'black' }">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</VueDraggableResizable>
|
||||
<img
|
||||
:src="imgUrl"
|
||||
class="gplot-content"
|
||||
style="border: 1px solid #dcdfe6; position: unset; user-select: none"
|
||||
draggable="false"
|
||||
/>
|
||||
<img :src="imgUrl" class="gplot-content"
|
||||
style="border: 1px solid #dcdfe6; position: unset; user-select: none" draggable="false" />
|
||||
<div>注意监测点不要移出圈</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="监测点位置:" v-if="editorIndex > -1">
|
||||
<div style="display: flex">
|
||||
<el-select
|
||||
v-model="pointList[editorIndex].position"
|
||||
placeholder="请选择"
|
||||
style="flex: 1"
|
||||
@change="positionChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in linePosition"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
<el-select v-model.trim="pointList[editorIndex].position" placeholder="请选择" style="flex: 1"
|
||||
@change="positionChange">
|
||||
<el-option v-for="item in linePosition" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
<el-button class="ml20" type="danger" @click="deletePoint" icon="el-icon-Delete">删除</el-button>
|
||||
</div>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<el-dialog draggable :title="title" v-model="dialogVisible" width="500px" :before-close="handleClose"
|
||||
<el-dialog draggable :title="title" v-model.trim="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 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"
|
||||
<el-tree-select v-model.trim="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"
|
||||
<!-- <el-cascader v-model.trim="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 maxlength="32" show-word-limit-number v-model="form.orderBy" :min="0" :step="1" step-strictly
|
||||
style="width: 100%" />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.orderBy" :min="0" :step="1"
|
||||
step-strictly style="width: 100%" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注:" class="top">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<TableHeader>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="项目名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="请输入项目名称"></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<TableHeader ref="TableHeaderRef" datePicker>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="模板策略">
|
||||
<el-select v-model="Template" @change="changetype" placeholder="请选择模版" value-key="id">
|
||||
<el-select v-model.trim="Template" @change="changetype" placeholder="请选择模版" value-key="id">
|
||||
<el-option v-for="item in templatePolicy" :key="item.id" :label="item.name"
|
||||
:value="item"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
@Policy="stencil">
|
||||
</pointTreeWx>
|
||||
</pane>
|
||||
<pane :size="(100-size)" style="background: #fff" :style="height">
|
||||
<pane :size="(100 - size)" style="background: #fff" :style="height">
|
||||
<TableHeader ref="TableHeaderRef" :showReset="false">
|
||||
<template v-slot:select>
|
||||
<el-form-item label="模板策略">
|
||||
<el-select v-model="Template" @change="changetype" placeholder="请选择模版" value-key="id">
|
||||
<el-select v-model.trim="Template" @change="changetype" placeholder="请选择模版" value-key="id">
|
||||
<el-option v-for="item in templatePolicy" :key="item.id" :label="item.name"
|
||||
:value="item"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -1,68 +1,36 @@
|
||||
<template>
|
||||
<el-tabs v-model="activeName" class="demo-tabs">
|
||||
<el-tabs v-model.trim="activeName" class="demo-tabs">
|
||||
<el-tab-pane label="数据单位" name="0">
|
||||
绑定数据单位:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderUnit"
|
||||
placeholder="请选择数据单位"
|
||||
v-model="value"
|
||||
:options="options1"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderUnit" placeholder="请选择数据单位" v-model.trim="value"
|
||||
:options="options1" filterable @change="handleChange" :props="{
|
||||
value: 'code',
|
||||
label: 'name'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="数据指标" name="1">
|
||||
绑定数据指标:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderUnit"
|
||||
placeholder="请选择数据指标"
|
||||
v-model="value"
|
||||
:options="options2"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderUnit" placeholder="请选择数据指标" v-model.trim="value"
|
||||
:options="options2" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="合格率判定" name="2">
|
||||
绑定合格率判定:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderhgl"
|
||||
placeholder="请选择数据合格率"
|
||||
v-model="value"
|
||||
:options="options3"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderhgl" placeholder="请选择数据合格率" v-model.trim="value"
|
||||
:options="options3" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="监测点台账指标" name="3">
|
||||
绑定数据指标:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderjcd"
|
||||
placeholder="请选择监测点台账"
|
||||
v-model="value"
|
||||
:options="options4"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderjcd" placeholder="请选择监测点台账" v-model.trim="value"
|
||||
:options="options4" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</template>
|
||||
@@ -99,7 +67,7 @@ terminalChooseTree().then(res => {
|
||||
options4.value = res.data
|
||||
})
|
||||
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-tab-pane) {
|
||||
|
||||
@@ -1,24 +1,13 @@
|
||||
<template>
|
||||
<el-dialog draggable v-model="dialogVisible" title="模板绑定" width="500px" :before-close="handleClose">
|
||||
<el-tree
|
||||
default-expand-all
|
||||
show-checkbox
|
||||
node-key="id"
|
||||
:data="dataTree"
|
||||
:expand-on-click-node="false"
|
||||
ref="tree"
|
||||
style="height: 440px; overflow-y: auto"
|
||||
>
|
||||
<el-dialog draggable v-model.trim="dialogVisible" title="模板绑定" width="500px" :before-close="handleClose">
|
||||
<el-tree default-expand-all show-checkbox node-key="id" :data="dataTree" :expand-on-click-node="false"
|
||||
ref="tree" style="height: 440px; overflow-y: auto">
|
||||
<template #default="{ node, data }">
|
||||
<span class="custom-tree-node">
|
||||
<span>{{ data.name }}</span>
|
||||
<span>
|
||||
<el-switch
|
||||
v-model="data.activation"
|
||||
active-value="1"
|
||||
inactive-value="0"
|
||||
:active-text="data.activation == 1 ? '激活 ' : '未激活'"
|
||||
/>
|
||||
<el-switch v-model.trim="data.activation" active-value="1" inactive-value="0"
|
||||
:active-text="data.activation == 1 ? '激活 ' : '未激活'" />
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<template>
|
||||
<el-dialog draggable :title="title" v-model="formVisible" width="30%" :before-close="closeDialog">
|
||||
<el-dialog draggable :title="title" v-model.trim="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 maxlength="32" show-word-limit placeholder="模板名称" v-model="formdata.name"
|
||||
<el-input maxlength="32" show-word-limit placeholder="模板名称" v-model.trim="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
|
||||
<Area v-model.trim="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-select style="width: 100%" v-model.trim="formdata.reportType" placeholder="请选择模板类型">
|
||||
<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-select style="width: 100%" v-model.trim="formdata.reportForm" placeholder="请选择报表类型">
|
||||
<el-option v-for="item in reportFormList" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<div class='default-main'>
|
||||
<el-tabs v-model='activeName' type='border-card' @tab-click='init'>
|
||||
<el-tabs v-model.trim='activeName' type='border-card' @tab-click='init'>
|
||||
<el-tab-pane label='用户协议' name='User_Agreement'></el-tab-pane>
|
||||
<el-tab-pane label='个人信息保护政策' name='Personal_Infor_Protect'></el-tab-pane>
|
||||
<el-tab-pane label='系统介绍' name='introduction'></el-tab-pane>
|
||||
<el-tab-pane label='使用手册' name='User_Manual'></el-tab-pane>
|
||||
<el-tab-pane label='公司介绍' name='Company_Profile'></el-tab-pane>
|
||||
<div class='agreement' :style='{height:height}'>
|
||||
<div class='agreement' :style='{ height: height }'>
|
||||
<div style='margin-top: 5px; right: 10px; position: absolute; z-index: 9999999'>
|
||||
<el-button type='primary' @click='submit' icon='el-icon-Checked'>保存</el-button>
|
||||
</div>
|
||||
<WangEditor v-model='html' style='border-top: none' />
|
||||
<WangEditor v-model.trim='html' style='border-top: none' />
|
||||
</div>
|
||||
</el-tabs>
|
||||
</div>
|
||||
@@ -45,7 +45,7 @@ const init = () => {
|
||||
nextTick(() => {
|
||||
dic.forEach((item: BasicDictData) => {
|
||||
if (item.code == activeName.value) {
|
||||
|
||||
|
||||
|
||||
id.value = item.id
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<template>
|
||||
<el-dialog width="500px" v-model="dialogVisible" :title="title">
|
||||
<el-dialog width="500px" v-model.trim="dialogVisible" :title="title">
|
||||
|
||||
<el-form :model="form" class="form-one" label-width="auto">
|
||||
<el-form-item label="名称">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入名称" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" placeholder="请输入名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="编码">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.code" placeholder="请输入编码" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.code" placeholder="请输入编码" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="类型">
|
||||
<el-select v-model="form.type" placeholder="请选择类型">
|
||||
<el-select v-model.trim="form.type" placeholder="请选择类型">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.name" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="备注">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.remark" placeholder="请输入备注" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="排序">
|
||||
<el-input maxlength="32" show-word-limit-number v-model="form.sort" :min="0" />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.sort" :min="0" />
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog statistical-type-binding" v-model="dialogVisible" title="绑定指标"
|
||||
<el-dialog class="cn-operate-dialog statistical-type-binding" v-model.trim="dialogVisible" title="绑定指标"
|
||||
style="width: 1200px" @closed="close">
|
||||
<el-scrollbar style="padding-right: 0">
|
||||
<div class="box">
|
||||
<div class="box-left">
|
||||
<el-input maxlength="32" show-word-limit v-model="searchKey" size="small" placeholder="请输入搜索内容"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="searchKey" size="small" placeholder="请输入搜索内容"
|
||||
:suffix-icon="Search" @input="filterTree" style="margin-bottom: 10px"></el-input>
|
||||
<el-cascader-panel v-model="fromDataValue" :props="{
|
||||
<el-cascader-panel v-model.trim="fromDataValue" :props="{
|
||||
multiple: true
|
||||
}" :options="fromData"></el-cascader-panel>
|
||||
</div>
|
||||
<div class="box-center">
|
||||
<el-button type="primary" icon="el-icon-Plus" @click="newGroup">新建分组</el-button>
|
||||
<el-popover v-model="popoverVisible" placement="right" width="400" trigger="click"
|
||||
<el-popover v-model.trim="popoverVisible" placement="right" width="400" trigger="click"
|
||||
popper-style="width:auto">
|
||||
<div class="statistical-type-binding-button-group">
|
||||
<el-button type="primary" style="margin-left: 0" v-for="item in toData"
|
||||
@@ -33,9 +33,10 @@
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="box-right">
|
||||
<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="{
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="searchKey1" size="small"
|
||||
placeholder="请输入搜索内容" :suffix-icon="Search" @input="filterTree1"
|
||||
style="margin-bottom: 10px"></el-input>
|
||||
<el-cascader-panel v-model.trim="toDataValue" :props="{
|
||||
multiple: true,
|
||||
checkStrictly: true,
|
||||
expandTrigger: 'click'
|
||||
|
||||
@@ -3,27 +3,27 @@
|
||||
<TableHeader>
|
||||
<template #select>
|
||||
<el-form-item label="设备类型">
|
||||
<!-- <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"
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
|
||||
<el-select v-model.trim="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-select v-model.trim="tableStore.table.params.devModel" clearable placeholder="请选择设备型号">
|
||||
<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="通讯协议">
|
||||
<el-select v-model="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-select v-model.trim="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-option label="MQTT" value="mqtt"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-select v-model.trim="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-option label="未注册" :value="1"></el-option>
|
||||
<el-option label="注册" :value="2"></el-option>
|
||||
<el-option label="接入" :value="3"></el-option>
|
||||
@@ -43,38 +43,38 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef"></Table>
|
||||
|
||||
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
|
||||
<el-dialog :title="dialogTitle" v-model.trim="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 maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" autocomplete="off" clearable
|
||||
placeholder="请输入(项目名称+设备名称)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="网络设备ID:" prop="ndid" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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-select v-model.trim="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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备型号:" prop="devModel" class="top">
|
||||
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="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">
|
||||
<el-select v-model="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-option label="MQTT" value="MQTT"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="合同号:" prop="cntractNo" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.cntractNo" autocomplete="off"
|
||||
placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -3,27 +3,28 @@
|
||||
<TableHeader>
|
||||
<template #select>
|
||||
<el-form-item label="设备类型">
|
||||
<!-- <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"
|
||||
<!-- <el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" placeholder="请输入设备类型" /> -->
|
||||
<el-select v-model.trim="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-select v-model.trim="tableStore.table.params.devModel" filterable clearable
|
||||
placeholder="请选择设备型号">
|
||||
<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="通讯协议">
|
||||
<el-select v-model="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-select v-model.trim="tableStore.table.params.devAccessMethod" clearable placeholder="请选择通讯协议">
|
||||
<el-option label="MQTT" value="mqtt"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-select v-model.trim="tableStore.table.params.status" clearable placeholder="请选择状态">
|
||||
<el-option label="未注册" :value="1"></el-option>
|
||||
<el-option label="注册" :value="2"></el-option>
|
||||
<el-option label="接入" :value="3"></el-option>
|
||||
@@ -43,38 +44,38 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef"></Table>
|
||||
|
||||
<el-dialog :title="dialogTitle" v-model="dialogFormVisible" :close-on-click-modal="false"
|
||||
<el-dialog :title="dialogTitle" v-model.trim="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 maxlength="32" show-word-limit v-model="form.name" autocomplete="off" clearable
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" autocomplete="off" clearable
|
||||
placeholder="请输入(项目名称+设备名称)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="网络设备ID:" prop="ndid" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.ndid" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="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-select v-model.trim="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-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备型号:" prop="devModel" class="top">
|
||||
<el-select v-model="form.devModel" filterable placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="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">
|
||||
<el-select v-model="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-select v-model.trim="form.devAccessMethod" placeholder="请选择" clearable>
|
||||
<el-option label="MQTT" value="MQTT"></el-option>
|
||||
<el-option label="CLD" value="cloud"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="合同号:" prop="cntractNo" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.cntractNo" autocomplete="off"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.cntractNo" autocomplete="off"
|
||||
placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,43 +1,29 @@
|
||||
<template>
|
||||
<div class="flex" style="margin: 15px 0">
|
||||
<span style="width: 100px; margin-top: 3px">电压等级:</span>
|
||||
<el-checkbox
|
||||
:indeterminate="isIndeterminate"
|
||||
v-model="checkAll"
|
||||
@change="handleCheckAllChange"
|
||||
style="margin-right: 28px"
|
||||
>
|
||||
<el-checkbox :indeterminate="isIndeterminate" v-model.trim="checkAll" @change="handleCheckAllChange"
|
||||
style="margin-right: 28px">
|
||||
全选
|
||||
</el-checkbox>
|
||||
<el-checkbox-group
|
||||
v-model="checkedVoltage"
|
||||
@change="handleCheckedVoltageChange"
|
||||
style="height: 72px; overflow-y: auto"
|
||||
>
|
||||
<el-checkbox-group v-model.trim="checkedVoltage" @change="handleCheckedVoltageChange"
|
||||
style="height: 72px; overflow-y: auto">
|
||||
<el-checkbox v-for="(item, index) in grade" :label="item" :key="index">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div class="flex" style="margin: 15px 0">
|
||||
<span style="width: 100px; margin-top: 3px">干扰源类型:</span>
|
||||
<el-checkbox
|
||||
:indeterminate="isIndeterminate1"
|
||||
v-model="checkAll1"
|
||||
@change="handleCheckAllChange1"
|
||||
style="margin-right: 28px"
|
||||
>
|
||||
<el-checkbox :indeterminate="isIndeterminate1" v-model.trim="checkAll1" @change="handleCheckAllChange1"
|
||||
style="margin-right: 28px">
|
||||
全选
|
||||
</el-checkbox>
|
||||
<el-checkbox-group
|
||||
v-model="checkedSource"
|
||||
@change="handleCheckedSourceChange"
|
||||
style="height: 72px; overflow-y: auto"
|
||||
>
|
||||
<el-checkbox-group v-model.trim="checkedSource" @change="handleCheckedSourceChange"
|
||||
style="height: 72px; overflow-y: auto">
|
||||
<el-checkbox v-for="(item, index) in type" :label="item" :key="index">{{ item.name }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div class="flex" style="margin: 15px 0">
|
||||
<span style="width: 100px; line-height: 32px">兼容曲线:</span>
|
||||
<el-radio-group v-model="radio" @change="radioChange">
|
||||
<el-radio-group v-model.trim="radio" @change="radioChange">
|
||||
<el-radio label="ITIC">ITIC</el-radio>
|
||||
<el-radio label="F47">F47</el-radio>
|
||||
</el-radio-group>
|
||||
@@ -470,9 +456,11 @@ const layout = mainHeight(390) as any
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.bars_w {
|
||||
height: calc(v-bind('layout.height'));
|
||||
}
|
||||
|
||||
.dw {
|
||||
position: absolute;
|
||||
top: 210px;
|
||||
|
||||
@@ -3,15 +3,11 @@
|
||||
<TableHeader area ref="header">
|
||||
<template v-slot:select>
|
||||
<!-- <el-form-item label="区域">
|
||||
<Area ref="area" v-model="tableStore.table.params.deptIndex" />
|
||||
<Area ref="area" v-model.trim="tableStore.table.params.deptIndex" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="统计类型">
|
||||
<el-select
|
||||
v-model="tableStore.table.params.statisticalType"
|
||||
value-key="id"
|
||||
placeholder="请选择统计类型"
|
||||
size="large"
|
||||
>
|
||||
<el-select v-model.trim="tableStore.table.params.statisticalType" value-key="id"
|
||||
placeholder="请选择统计类型" size="large">
|
||||
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -20,34 +16,24 @@
|
||||
<div v-loading="tableStore.table.loading" class="pr10">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<MyEchartMap
|
||||
ref="EchartMap"
|
||||
:options="echartMapList"
|
||||
class="map"
|
||||
@eliminate="eliminate"
|
||||
@getRegionByRegion="getRegionByRegion"
|
||||
/>
|
||||
<MyEchartMap ref="EchartMap" :options="echartMapList" class="map" @eliminate="eliminate"
|
||||
@getRegionByRegion="getRegionByRegion" />
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<my-echart class="tall" :options="echartList" />
|
||||
<div class="tall">
|
||||
<vxe-table height="auto" auto-resize :data="distributionData" v-bind="defaultAttribute">
|
||||
>
|
||||
<vxe-column
|
||||
field="qy"
|
||||
:title="
|
||||
titleA == '电压等级'
|
||||
? '电压等级'
|
||||
: titleA == '终端厂家'
|
||||
<vxe-column field="qy" :title="titleA == '电压等级'
|
||||
? '电压等级'
|
||||
: titleA == '终端厂家'
|
||||
? '终端厂家'
|
||||
: titleA == '干扰源类型'
|
||||
? '干扰源类型'
|
||||
: titleA == '电网拓扑'
|
||||
? '区域'
|
||||
: ''
|
||||
"
|
||||
show-overflow-tooltip
|
||||
></vxe-column>
|
||||
? '干扰源类型'
|
||||
: titleA == '电网拓扑'
|
||||
? '区域'
|
||||
: ''
|
||||
" show-overflow-tooltip></vxe-column>
|
||||
<vxe-column field="jcd" title="监测点数(个数)"></vxe-column>
|
||||
<vxe-column field="zc" title="通讯正常(个数)" sortable></vxe-column>
|
||||
<vxe-column field="zd" title="通讯中断(个数)" sortable></vxe-column>
|
||||
@@ -74,7 +60,7 @@ defineOptions({
|
||||
const EchartMap = ref()
|
||||
const dictData = useDictData()
|
||||
const options = dictData.getBasicData('Statistical_Type', ['Report_Type'])
|
||||
const echartMapList:any = ref({})
|
||||
const echartMapList: any = ref({})
|
||||
const echartList = ref({})
|
||||
const titleA = ref('')
|
||||
const header = ref()
|
||||
@@ -153,7 +139,7 @@ const map = (res: any) => {
|
||||
series: []
|
||||
}
|
||||
}
|
||||
let mapList:any = [[], [], []]
|
||||
let mapList: any = [[], [], []]
|
||||
if (res.substationDetailVOList != null) {
|
||||
res.substationDetailVOList.forEach((item: any) => {
|
||||
if (item.color == 'green') {
|
||||
@@ -163,7 +149,7 @@ const map = (res: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
mapList.forEach((item:any, ind:number) => {
|
||||
mapList.forEach((item: any, ind: number) => {
|
||||
echartMapList.value.options.series.push({
|
||||
type: 'scatter',
|
||||
mapName: 'china',
|
||||
@@ -238,12 +224,12 @@ const histogram = (res: any) => {
|
||||
titleA.value == '电压等级'
|
||||
? '电压等级'
|
||||
: titleA.value == '终端厂家'
|
||||
? '终端厂家'
|
||||
: titleA.value == '干扰源类型'
|
||||
? '干扰源类型'
|
||||
: titleA.value == '电网拓扑'
|
||||
? header.value.areaRef.areaName
|
||||
: '' // 给X轴加单位
|
||||
? '终端厂家'
|
||||
: titleA.value == '干扰源类型'
|
||||
? '干扰源类型'
|
||||
: titleA.value == '电网拓扑'
|
||||
? header.value.areaRef.areaName
|
||||
: '' // 给X轴加单位
|
||||
},
|
||||
tooltip: {
|
||||
formatter: function (params: any) {
|
||||
@@ -262,12 +248,12 @@ const histogram = (res: any) => {
|
||||
titleA.value == '电压等级'
|
||||
? '(电压\n等级)'
|
||||
: titleA.value == '终端厂家'
|
||||
? '(终端\n厂家)'
|
||||
: titleA.value == '干扰源类型'
|
||||
? '(干扰\n源类型)'
|
||||
: titleA.value == '电网拓扑'
|
||||
? '(区域)'
|
||||
: '', // 给X轴加单位
|
||||
? '(终端\n厂家)'
|
||||
: titleA.value == '干扰源类型'
|
||||
? '(干扰\n源类型)'
|
||||
: titleA.value == '电网拓扑'
|
||||
? '(区域)'
|
||||
: '', // 给X轴加单位
|
||||
data: distributionData.value.map((item: any) => item.qy)
|
||||
},
|
||||
yAxis: {
|
||||
@@ -310,6 +296,7 @@ const layout1 = mainHeight(93) as any
|
||||
.map {
|
||||
height: v-bind('layout.height');
|
||||
}
|
||||
|
||||
.tall {
|
||||
height: calc(v-bind('layout1.height') / 2);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<TableHeader date-picker area>
|
||||
|
||||
|
||||
</TableHeader>
|
||||
<el-tabs v-model="activeName" type="border-card" v-loading="tableStore.table.loading">
|
||||
<el-tabs v-model.trim="activeName" type="border-card" v-loading="tableStore.table.loading">
|
||||
<el-tab-pane label="图形" name="1">
|
||||
<Echart :list="list" ref="echarts" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="表格" name="2"><Tableabove ref="table" /></el-tab-pane>
|
||||
<el-tab-pane label="表格" name="2">
|
||||
<Tableabove ref="table" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
@@ -61,6 +63,7 @@ const layout = mainHeight(123) as any
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
::v-deep(.el-tabs__content) {
|
||||
height: v-bind('layout.height');
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
<TableHeader date-picker area>
|
||||
<template v-slot:select></template>
|
||||
</TableHeader>
|
||||
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick" v-loading="tableStore.table.loading">
|
||||
<el-tabs v-model.trim="activeName" type="border-card" @tab-click="handleClick"
|
||||
v-loading="tableStore.table.loading">
|
||||
<el-tab-pane label="暂降原因及类型统计" name="1">
|
||||
<TypeStatistics ref="Statistics" />
|
||||
</el-tab-pane>
|
||||
@@ -72,6 +73,7 @@ const layout = mainHeight(123) as any
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
::v-deep(.el-tabs__content) {
|
||||
height: v-bind('layout.height');
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<TableHeader date-picker>
|
||||
<template v-slot:select>
|
||||
<!-- <el-form-item label="用户名">
|
||||
<el-select v-model="value" class="m-2" placeholder="Select" size="large">
|
||||
<el-select v-model.trim="value" class="m-2" placeholder="Select" size="large">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作类型">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.loginName" placeholder="Please input" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.loginName" placeholder="Please input" />
|
||||
</el-form-item> -->
|
||||
</template>
|
||||
<template v-slot:operation>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<template v-slot:select>
|
||||
|
||||
<el-form-item label="终端状态">
|
||||
<el-select multiple clearable collapse-tags v-model="tableStore.table.params.runFlag"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="tableStore.table.params.runFlag"
|
||||
placeholder="请选择">
|
||||
<el-option label="投运" value="0" />
|
||||
<el-option label="热备用" value="1" />
|
||||
@@ -12,20 +12,20 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通讯状态">
|
||||
<el-select multiple clearable collapse-tags v-model="tableStore.table.params.comFlag"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="tableStore.table.params.comFlag"
|
||||
placeholder="请选择">
|
||||
<el-option label="正常" value="1" />
|
||||
<el-option label="中断" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="厂家">
|
||||
<el-select multiple clearable collapse-tags v-model="manufacturerForm" placeholder="请选择"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="manufacturerForm" placeholder="请选择"
|
||||
@change="onManufacturerChange">
|
||||
<el-option v-for="item in manufacturer" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="筛选数据">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="根据变电站,终端编号,型号或网络参数查询" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -3,27 +3,27 @@
|
||||
<TableHeader date-picker area>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="干扰源类型">
|
||||
<el-select multiple clearable collapse-tags v-model="interferenceSourceForm" placeholder="请选择"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="interferenceSourceForm" placeholder="请选择"
|
||||
@change="onLoadTypeChange">
|
||||
<el-option v-for="item in interferenceSource" :key="item.id" :label="item.name"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="电压等级">
|
||||
<el-select multiple clearable collapse-tags v-model="scaleForm" placeholder="请选择"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="scaleForm" placeholder="请选择"
|
||||
@change="onScaleChange">
|
||||
<el-option v-for="item in level" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通讯状态">
|
||||
<el-select multiple clearable collapse-tags v-model="tableStore.table.params.comFlag"
|
||||
<el-select multiple clearable collapse-tags v-model.trim="tableStore.table.params.comFlag"
|
||||
placeholder="请选择">
|
||||
<el-option label="正常" value="1" />
|
||||
<el-option label="中断" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="筛选数据">
|
||||
<el-input maxlength="32" show-word-limit v-model="tableStore.table.params.searchValue"
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue"
|
||||
placeholder="根据变电站,终端编号,型号或网络参数查询" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<TableHeader date-picker >
|
||||
<TableHeader date-picker>
|
||||
<template v-slot:select>
|
||||
<el-form-item label="区域">
|
||||
<Area v-model="tableStore.table.params.deptIndex" />
|
||||
<Area v-model.trim="tableStore.table.params.deptIndex" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</TableHeader>
|
||||
@@ -32,13 +32,11 @@
|
||||
</span>
|
||||
<span style="color: #daa520">
|
||||
<span class="smallBlock" style="background: #daa520"></span>
|
||||
{{ '60 %≤在线率 < 90 %' }}
|
||||
</span>
|
||||
<span style="color: #cc0000">
|
||||
<span class="smallBlock" style="background: #cc0000"></span>
|
||||
{{ '在线率 < 60 %' }}
|
||||
</span>
|
||||
</span>
|
||||
{{ '60 %≤在线率 < 90 %' }} </span>
|
||||
<span style="color: #cc0000">
|
||||
<span class="smallBlock" style="background: #cc0000"></span>
|
||||
{{ '在线率 < 60 %' }} </span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="statistics-main" v-loading="tableStore.table.loading">
|
||||
<template v-if="!tableStore.table.loading">
|
||||
@@ -46,12 +44,8 @@
|
||||
<my-echart :options="areaStatistics" />
|
||||
</div>
|
||||
<div>
|
||||
<vxe-table
|
||||
height="auto"
|
||||
auto-resize
|
||||
:data="tableStore.table.data.area.areaInfo"
|
||||
v-bind="defaultAttribute"
|
||||
>
|
||||
<vxe-table height="auto" auto-resize :data="tableStore.table.data.area.areaInfo"
|
||||
v-bind="defaultAttribute">
|
||||
<vxe-column field="areaName" title="区域"></vxe-column>
|
||||
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
||||
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
||||
@@ -68,12 +62,8 @@
|
||||
<my-echart :options="factoryStatistics" />
|
||||
</div>
|
||||
<div>
|
||||
<vxe-table
|
||||
height="auto"
|
||||
auto-resize
|
||||
:data="tableStore.table.data.factory.areaInfo"
|
||||
v-bind="defaultAttribute"
|
||||
>
|
||||
<vxe-table height="auto" auto-resize :data="tableStore.table.data.factory.areaInfo"
|
||||
v-bind="defaultAttribute">
|
||||
<vxe-column field="areaName" title="厂家"></vxe-column>
|
||||
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
||||
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
||||
@@ -125,7 +115,7 @@ const tableStore = new TableStore({
|
||||
)
|
||||
},
|
||||
tooltip: {
|
||||
formatter: function (params:any) {
|
||||
formatter: function (params: any) {
|
||||
var tips = ''
|
||||
tips += params[0].name + '</br/>'
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
@@ -411,6 +401,6 @@ const layout = mainHeight(104) as any
|
||||
grid-template-columns: 1fr 600px;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
grid-gap: 10px;
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="过滤筛选">
|
||||
<el-input maxlength="32" show-word-limit style="width: 240px"
|
||||
v-model="tableStore.table.params.searchValue" clearable placeholder="请输入名称或编码筛选" />
|
||||
v-model.trim="tableStore.table.params.searchValue" clearable placeholder="请输入名称或编码筛选" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<template #select>
|
||||
<el-form-item label="过滤筛选">
|
||||
<el-input maxlength="32" show-word-limit style="width: 240px"
|
||||
v-model="tableStore.table.params.searchValue" clearable placeholder="请输入名称或编码筛选" />
|
||||
v-model.trim="tableStore.table.params.searchValue" clearable placeholder="请输入名称或编码筛选" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
<template>
|
||||
<el-dialog width="600px" v-model='dialogVisible' :title='title'>
|
||||
<el-dialog width="600px" v-model.trim='dialogVisible' :title='title'>
|
||||
<el-scrollbar>
|
||||
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||
<el-form-item label='名称:' class='top' prop='name'>
|
||||
<el-input maxlength="32" show-word-limit v-model='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'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.value' placeholder="请输入计算值"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.value' placeholder="请输入计算值"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class='top' label='对应算法:' prop='algoDescribe' v-if='form.openDescribe == 1'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.algoDescribe' placeholder='请输入数字'></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.algoDescribe'
|
||||
placeholder='请输入数字'></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class='top' label='编码:' prop='code'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.code'></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.code'></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label='排序:' prop='sort' class='top'>
|
||||
<el-input maxlength="32" show-word-limit-number v-model='form.sort' :min='0' />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim='form.sort' :min='0' />
|
||||
</el-form-item>
|
||||
<el-form-item v-if='form.openLevel === 1' label='事件等级:'>
|
||||
<el-select v-model='form.level' placeholder='选择开启等级'>
|
||||
<el-select v-model.trim='form.level' placeholder='选择开启等级'>
|
||||
<el-option v-for='item in EventOpenLevel' :key='item.value' :label='item.label'
|
||||
:value='item.value'>
|
||||
</el-option>
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
<template>
|
||||
<el-dialog width='600px' v-model='dialogVisible' :title='title'>
|
||||
<el-dialog width='600px' v-model.trim='dialogVisible' :title='title'>
|
||||
<el-scrollbar>
|
||||
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||
<el-form-item label='名称' prop='name'>
|
||||
<el-input maxlength="32" show-word-limit v-model='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='code'>
|
||||
<el-input maxlength="32" show-word-limit v-model='form.code' placeholder="请输入字典编码"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim='form.code' placeholder="请输入字典编码"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label='排序' class='top' prop='sort'>
|
||||
<el-input maxlength="32" show-word-limit-number v-model="form.sort" :min="0" />
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.sort" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label='开启等级' class='top'>
|
||||
<el-select v-model='form.openLevel' placeholder='选择开启等级'>
|
||||
<el-select v-model.trim='form.openLevel' placeholder='选择开启等级'>
|
||||
<el-option v-for='item in OpenLevel' :key='item.value' :label='item.label' :value='item.value'>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label='开启算法' class='top'>
|
||||
<el-select v-model='form.openDescribe' placeholder='选择开启算法'>
|
||||
<el-select v-model.trim='form.openDescribe' placeholder='选择开启算法'>
|
||||
<el-option v-for='item in OpenDescribe' :key='item.value' :label='item.label'
|
||||
:value='item.value'>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label='字典描述' class='top'>
|
||||
<el-input maxlength="300" show-word-limit v-model='form.remark' placeholder='请输入字典描述'
|
||||
<el-input maxlength="300" show-word-limit v-model.trim='form.remark' placeholder='请输入字典描述'
|
||||
type='textarea' :rows='2'></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules">
|
||||
<el-form-item label="字典名称:" prop="name">
|
||||
<el-input maxlength="32" show-word-limit v-model="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="序号:" prop="sort" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.sort" placeholder="请输入序号"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.sort" placeholder="请输入序号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="编码:" prop="code" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.code" placeholder="请输入字典编码"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.code" placeholder="请输入字典编码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述:" class="top">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.remark" placeholder="请输入字典描述"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.remark"
|
||||
placeholder="请输入字典描述"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<template #select>
|
||||
|
||||
|
||||
<el-radio-group v-model="tableStore.table.params.versionType" @change="tableStore.index()">
|
||||
<el-radio-group v-model.trim="tableStore.table.params.versionType" @change="tableStore.index()">
|
||||
<el-radio-button label="web" value="WEB" />
|
||||
<el-radio-button label="app" value="APP" />
|
||||
|
||||
@@ -15,25 +15,25 @@
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<el-dialog width="600px" v-model="dialogVisible" title="新增版本">
|
||||
<el-dialog width="600px" v-model.trim="dialogVisible" title="新增版本">
|
||||
<el-form :inline="false" :model="form" label-width="auto" class="form-one">
|
||||
<el-form-item label="版本号">
|
||||
<el-input maxlength="32" show-word-limit v-model="form.appVersion" placeholder="请输入版本号" />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.appVersion" placeholder="请输入版本号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="整改内容">
|
||||
<el-input maxlength="300" type="textarea" show-word-limit v-model="form.content"
|
||||
<el-input maxlength="300" type="textarea" show-word-limit v-model.trim="form.content"
|
||||
placeholder="请输入整改内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发布类型">
|
||||
|
||||
<el-select v-model="form.sev" placeholder="请选择发布类型">
|
||||
<el-select v-model.trim="form.sev" placeholder="请选择发布类型">
|
||||
<el-option label="优化" :value="0" />
|
||||
<el-option label="bug调整" :value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本类型">
|
||||
|
||||
<el-select v-model="form.versionType" placeholder="please select your zone">
|
||||
<el-select v-model.trim="form.versionType" placeholder="please select your zone">
|
||||
<el-option label="web" value="WEB" />
|
||||
<el-option label="app" value="APP" />
|
||||
</el-select>
|
||||
@@ -76,16 +76,18 @@ const tableStore = new TableStore({
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ title: '版本号', field: 'versionName', width: '150' },
|
||||
|
||||
{ title: '创建时间', field: 'createTime', width: '220' },
|
||||
{ title: '整改内容', field: 'content' },
|
||||
{
|
||||
title: '发布类型', field: 'sev', formatter: (row,) => {
|
||||
return row.cellValue == 0 ? '优化' : 'bug调整'
|
||||
},
|
||||
width: '150'
|
||||
},
|
||||
{ title: '整改内容', field: 'content' },
|
||||
|
||||
|
||||
{ title: '版本号', field: 'versionName', width: '150' },
|
||||
|
||||
|
||||
],
|
||||
@@ -107,14 +109,14 @@ const submit = () => {
|
||||
ElMessage.success('新增成功')
|
||||
tableStore.index()
|
||||
dialogVisible.value = false
|
||||
router.go(0)
|
||||
router.go(0)
|
||||
})
|
||||
}
|
||||
const addMenu = () => {
|
||||
dialogVisible.value = true
|
||||
form.value.appVersion =tableStore.table.data[0].versionName|| ''
|
||||
form.value.appVersion = tableStore.table.data[0].versionName || ''
|
||||
form.value.content = ''
|
||||
form.value.sev = tableStore.table.data[0].sev ||0
|
||||
form.value.sev = tableStore.table.data[0].sev || 0
|
||||
form.value.versionType = tableStore.table.data[0].versionType || 'WEB'
|
||||
}
|
||||
|
||||
|
||||
@@ -1,68 +1,36 @@
|
||||
<template>
|
||||
<el-tabs v-model="activeName" class="demo-tabs">
|
||||
<el-tabs v-model.trim="activeName" class="demo-tabs">
|
||||
<el-tab-pane label="数据单位" name="0">
|
||||
绑定数据单位:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderUnit"
|
||||
placeholder="请选择数据单位"
|
||||
v-model="value"
|
||||
:options="options1"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderUnit" placeholder="请选择数据单位" v-model.trim="value"
|
||||
:options="options1" filterable @change="handleChange" :props="{
|
||||
value: 'code',
|
||||
label: 'name'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="数据指标" name="1">
|
||||
绑定数据指标:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderUnit"
|
||||
placeholder="请选择数据指标"
|
||||
v-model="value"
|
||||
:options="options2"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderUnit" placeholder="请选择数据指标" v-model.trim="value"
|
||||
:options="options2" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="合格率判定" name="2">
|
||||
绑定合格率判定:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderhgl"
|
||||
placeholder="请选择数据合格率"
|
||||
v-model="value"
|
||||
:options="options3"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderhgl" placeholder="请选择数据合格率" v-model.trim="value"
|
||||
:options="options3" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="监测点台账指标" name="3">
|
||||
绑定数据指标:
|
||||
<el-cascader
|
||||
:popper-append-to-body="false"
|
||||
ref="cascaderjcd"
|
||||
placeholder="请选择监测点台账"
|
||||
v-model="value"
|
||||
:options="options4"
|
||||
filterable
|
||||
@change="handleChange"
|
||||
:props="{
|
||||
<el-cascader :popper-append-to-body="false" ref="cascaderjcd" placeholder="请选择监测点台账" v-model.trim="value"
|
||||
:options="options4" filterable @change="handleChange" :props="{
|
||||
value: 'name',
|
||||
label: 'showName'
|
||||
}"
|
||||
></el-cascader>
|
||||
}"></el-cascader>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</template>
|
||||
@@ -99,7 +67,7 @@ terminalChooseTree().then(res => {
|
||||
options4.value = res.data
|
||||
})
|
||||
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-tab-pane) {
|
||||
|
||||
@@ -1,24 +1,13 @@
|
||||
<template>
|
||||
<el-dialog draggable v-model="dialogVisible" title="模板绑定" width="500px" :before-close="handleClose">
|
||||
<el-tree
|
||||
default-expand-all
|
||||
show-checkbox
|
||||
node-key="id"
|
||||
:data="dataTree"
|
||||
:expand-on-click-node="false"
|
||||
ref="tree"
|
||||
style="height: 440px; overflow-y: auto"
|
||||
>
|
||||
<el-dialog draggable v-model.trim="dialogVisible" title="模板绑定" width="500px" :before-close="handleClose">
|
||||
<el-tree default-expand-all show-checkbox node-key="id" :data="dataTree" :expand-on-click-node="false"
|
||||
ref="tree" style="height: 440px; overflow-y: auto">
|
||||
<template #default="{ node, data }">
|
||||
<span class="custom-tree-node">
|
||||
<span>{{ data.name }}</span>
|
||||
<span>
|
||||
<el-switch
|
||||
v-model="data.activation"
|
||||
active-value="1"
|
||||
inactive-value="0"
|
||||
:active-text="data.activation == 1 ? '激活 ' : '未激活'"
|
||||
/>
|
||||
<el-switch v-model.trim="data.activation" active-value="1" inactive-value="0"
|
||||
:active-text="data.activation == 1 ? '激活 ' : '未激活'" />
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<template>
|
||||
<el-dialog draggable :title="title" v-model="formVisible" width="30%" :before-close="closeDialog">
|
||||
<el-dialog draggable :title="title" v-model.trim="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 maxlength="32" show-word-limit placeholder="模板名称" v-model="formdata.name"
|
||||
<el-input maxlength="32" show-word-limit placeholder="模板名称" v-model.trim="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
|
||||
<Area v-model.trim="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-select style="width: 100%" v-model.trim="formdata.reportType" placeholder="请选择模板类型">
|
||||
<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-select style="width: 100%" v-model.trim="formdata.reportForm" placeholder="请选择报表类型">
|
||||
<el-option v-for="item in reportFormList" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<el-dialog draggable v-model="dialogVisible" :title="title" :before-close="Cancel">
|
||||
<el-dialog draggable v-model.trim="dialogVisible" :title="title" :before-close="Cancel">
|
||||
<el-form :inline="false" :model="configStore" label-width="auto">
|
||||
<el-divider border-style="dashed">全局</el-divider>
|
||||
<div class="layout-config-global form-two">
|
||||
<el-form-item label="组件主名称">
|
||||
<el-input v-model="configStore.name" placeholder="请输入主题名称" />
|
||||
<el-input v-model.trim="configStore.name" placeholder="请输入主题名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="后台页面切换动画">
|
||||
<el-select v-model="configStore.mainAnimation">
|
||||
<el-select v-model.trim="configStore.mainAnimation">
|
||||
<el-option label="slide-right" value="slide-right"></el-option>
|
||||
<el-option label="slide-left" value="slide-left"></el-option>
|
||||
<el-option label="el-fade-in-linear" value="el-fade-in-linear"></el-option>
|
||||
@@ -18,68 +18,54 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="组件主题色">
|
||||
<el-color-picker v-model="configStore.elementUiPrimary[0]" />
|
||||
<el-color-picker v-model.trim="configStore.elementUiPrimary[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="表格标题栏背景颜色">
|
||||
<el-color-picker v-model="configStore.tableHeaderBackground[0]" />
|
||||
<el-color-picker v-model.trim="configStore.tableHeaderBackground[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="表格标题栏文字颜色">
|
||||
<el-color-picker v-model="configStore.tableHeaderColor[0]" />
|
||||
<el-color-picker v-model.trim="configStore.tableHeaderColor[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="表格激活栏颜色">
|
||||
<el-color-picker v-model="configStore.tableCurrent[0]" />
|
||||
<el-color-picker v-model.trim="configStore.tableCurrent[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="组件主描述">
|
||||
<el-input
|
||||
v-model="configStore.remark"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
type="textarea"
|
||||
placeholder="请输入描述"
|
||||
/>
|
||||
<el-input v-model.trim="configStore.remark" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea"
|
||||
placeholder="请输入描述" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-divider border-style="dashed">侧边栏</el-divider>
|
||||
<div class="layout-config-aside form-two">
|
||||
<el-form-item label="侧边菜单栏背景色">
|
||||
<el-color-picker v-model="configStore.menuBackground[0]" />
|
||||
<el-color-picker v-model.trim="configStore.menuBackground[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="侧边菜单文字颜色">
|
||||
<el-color-picker v-model="configStore.menuColor[0]" />
|
||||
<el-color-picker v-model.trim="configStore.menuColor[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="侧边菜单激活项背景色">
|
||||
<el-color-picker v-model="configStore.menuActiveBackground[0]" />
|
||||
<el-color-picker v-model.trim="configStore.menuActiveBackground[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="侧边菜单激活项文字色">
|
||||
<el-color-picker v-model="configStore.menuActiveColor[0]" />
|
||||
<el-color-picker v-model.trim="configStore.menuActiveColor[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="侧边菜单顶栏背景色">
|
||||
<el-color-picker v-model="configStore.menuTopBarBackground[0]" />
|
||||
<el-color-picker v-model.trim="configStore.menuTopBarBackground[0]" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-divider border-style="dashed">顶栏</el-divider>
|
||||
<div class="layout-config-aside form-two">
|
||||
<el-form-item label="顶栏背景色">
|
||||
<el-color-picker v-model="configStore.headerBarBackground[0]" />
|
||||
<el-color-picker v-model.trim="configStore.headerBarBackground[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="顶栏文字色">
|
||||
<el-color-picker v-model="configStore.headerBarTabColor[0]" />
|
||||
<el-color-picker v-model.trim="configStore.headerBarTabColor[0]" />
|
||||
</el-form-item>
|
||||
<el-form-item label="顶栏logo">
|
||||
<el-image
|
||||
style="height: 50px"
|
||||
:src="logoFile.url"
|
||||
:preview-src-list="[logoFile.url]"
|
||||
v-if="logoFile.url"
|
||||
class="mr10"
|
||||
></el-image>
|
||||
<el-upload
|
||||
action=""
|
||||
:show-file-list="false"
|
||||
:auto-upload="false"
|
||||
accept=".png,.jpg"
|
||||
:on-change="chooseImage"
|
||||
>
|
||||
<el-image style="height: 50px" :src="logoFile.url" :preview-src-list="[logoFile.url]"
|
||||
v-if="logoFile.url" class="mr10"></el-image>
|
||||
<el-upload action="" :show-file-list="false" :auto-upload="false" accept=".png,.jpg"
|
||||
:on-change="chooseImage">
|
||||
<el-button type="primary">上传图片</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
@@ -203,7 +189,7 @@ const onSubmit = () => {
|
||||
addTheme(form).then(res => {
|
||||
ElMessage.success('新增成功')
|
||||
Cancel()
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
if (title.value == '修改主题') {
|
||||
@@ -215,7 +201,7 @@ const onSubmit = () => {
|
||||
}
|
||||
// 取消
|
||||
const Cancel = () => {
|
||||
|
||||
|
||||
// dialogVisible.value = false
|
||||
emit('Cancels')
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
<el-form :rules="rules" ref="formRef" size="large" class="login-form form-one" :model="form">
|
||||
<el-form-item prop="username">
|
||||
<el-input ref="usernameRef" v-model="form.username" type="text" clearable placeholder="用户名"
|
||||
<el-input ref="usernameRef" v-model.trim="form.username" type="text" clearable placeholder="用户名"
|
||||
autocomplete="off">
|
||||
<template #prefix>
|
||||
<span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span>
|
||||
@@ -21,7 +21,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
<el-input ref="passwordRef" v-model="form.password" type="password" clearable placeholder="密码"
|
||||
<el-input ref="passwordRef" v-model.trim="form.password" type="password" clearable placeholder="密码"
|
||||
autocomplete="off">
|
||||
<template #prefix>
|
||||
<!-- <Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" /> -->
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<el-form @keyup.enter='onSubmit()' ref='formRef' size='large' :model='form'>
|
||||
<el-form-item prop='username'>
|
||||
<el-input maxlength="32" show-word-limit ref='usernameRef' type='text' clearable
|
||||
v-model='form.username' placeholder='请输入账号'>
|
||||
v-model.trim='form.username' placeholder='请输入账号'>
|
||||
<template #prefix>
|
||||
<Icon name='fa fa-user' class='form-item-icon' size='16'
|
||||
color='var(--el-input-icon-color)' />
|
||||
@@ -22,7 +22,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop='password'>
|
||||
<el-input maxlength="32" show-word-limit ref='passwordRef' v-model='form.password'
|
||||
<el-input maxlength="32" show-word-limit ref='passwordRef' v-model.trim='form.password'
|
||||
type='password' placeholder='请输入密码' show-password>
|
||||
<template #prefix>
|
||||
<Icon name='fa fa-unlock-alt' class='form-item-icon' size='16'
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
<template>
|
||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
||||
<el-form-item label="新密码:" prop="newPwd" style="margin-top: 20px">
|
||||
<el-input v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
||||
show-password />
|
||||
<el-input v-model.trim="form.newPwd" type="password" placeholder="请输入新密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码:" prop="confirmPwd" style="margin-top: 20px">
|
||||
<el-input v-model="form.confirmPwd" type="password"
|
||||
placeholder="请输入确认密码" show-password />
|
||||
<el-input v-model.trim="form.confirmPwd" type="password" placeholder="请输入确认密码" show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
|
||||
Reference in New Issue
Block a user