Commit 357c657c by 岑松青

dsada

parent 2875b3a8
......@@ -34,19 +34,25 @@
<el-col :span="6" :offset="12">
<div class="grid-content1">
<el-input placeholder="请输入内容/编号" suffix-icon="el-icon-search" v-model="search" ></el-input>
<el-input
placeholder="请输入内容/编号"
suffix-icon="el-icon-search"
v-model="search"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<div class="grid-content2">
设备状态:
<el-select size="mini" v-model="value1" multiple placeholder="请选择">
<el-select
size="mini"
v-model="value1"
multiple
placeholder="请选择"
>
<el-option
v-for="item in states"
:key="item.value"
......@@ -59,7 +65,12 @@
<el-col :span="6">
<div class="grid-content2">
设备型号:
<el-select size="mini" v-model="value2" multiple placeholder="请选择">
<el-select
size="mini"
v-model="value2"
multiple
placeholder="请选择"
>
<el-option
v-for="item in models"
:key="item.value"
......@@ -72,7 +83,12 @@
<el-col :span="6">
<div class="grid-content2">
设备选择:
<el-select size="mini" v-model="value3" multiple placeholder="请选择">
<el-select
size="mini"
v-model="value3"
multiple
placeholder="请选择"
>
<el-option
v-for="item in equipments"
:key="item.value"
......@@ -84,7 +100,9 @@
</el-col>
<el-col :span="6">
<div class="grid-content2">
<el-button type="primary" class="bu" size="mini">搜索</el-button>
<el-button type="primary" class="bu" size="mini"
>搜索</el-button
>
<el-button size="mini">重置</el-button>
</div>
</el-col>
......@@ -92,25 +110,36 @@
<el-row>
<el-table
ref="multipleTable"
:data="tableData.filter(data => !search || data.state.toLowerCase().includes(search.toLowerCase())||data.number.toLowerCase().includes(search.toLowerCase()))"
:data="
tableData.filter(
data =>
!search ||
data.state.toLowerCase().includes(search.toLowerCase()) ||
data.number.toLowerCase().includes(search.toLowerCase())
)
"
tooltip-effect="dark"
style="width: 100% "
@selection-change="handleSelectionChange"
>
<el-table-column align="center" type="selection" width="50"></el-table-column>
<el-table-column
align="center"
type="selection"
width="50"
></el-table-column>
<el-table-column align="center" label="设备状态" width="200">
<template slot-scope="scope">
<div v-if="scope.row.state==='正常'">
<el-tag :type="'success'">{{scope.row.state}}</el-tag>
<div v-if="scope.row.state === '正常'">
<el-tag :type="'success'">{{ scope.row.state }}</el-tag>
</div>
<div v-else-if="scope.row.state=='报警'">
<el-tag :type="'warning'">{{scope.row.state}}</el-tag>
<div v-else-if="scope.row.state == '报警'">
<el-tag :type="'warning'">{{ scope.row.state }}</el-tag>
</div>
<div v-else-if="scope.row.state=='故障'">
<el-tag :type="'danger'">{{scope.row.state}}</el-tag>
<div v-else-if="scope.row.state == '故障'">
<el-tag :type="'danger'">{{ scope.row.state }}</el-tag>
</div>
<div v-else>
<el-tag :type="'info'">{{scope.row.state}}</el-tag>
<el-tag :type="'info'">{{ scope.row.state }}</el-tag>
</div>
</template>
</el-table-column>
......@@ -128,7 +157,9 @@
</el-table-column>
<el-table-column align="center" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="detail(scope.row)" type="text" size="small">参数详情</el-button>
<el-button @click="detail(scope.row)" type="text" size="small"
>参数详情</el-button
>
</template>
</el-table-column>
</el-table>
......@@ -143,10 +174,10 @@ import { ref, onMounted } from "@vue/composition-api";
import { router } from "../../main";
export default {
setup() {
const tableData=[
const tableData = [
{
state: "正常",
number: "DLQ423",
number: "DLQ4323",
model: "LTY-1",
location: "杭州市西湖区",
area: "杭州市西湖区古荡湾",
......@@ -154,7 +185,7 @@ export default {
},
{
state: "正常",
number: "DLQ423",
number: "DL3423",
model: "LTY-1",
location: "杭州市西湖区",
area: "杭州市西湖区古荡湾",
......@@ -162,7 +193,7 @@ export default {
},
{
state: "故障",
number: "DLQ423",
number: "DLQ453",
model: "LTY-1",
location: "杭州市西湖区",
area: "杭州市西湖区古荡湾",
......@@ -170,7 +201,7 @@ export default {
},
{
state: "正常",
number: "DLQ423",
number: "DL23",
model: "LTY-1",
location: "杭州市西湖区",
area: "杭州市西湖区古荡湾",
......@@ -208,8 +239,8 @@ export default {
area: "杭州市西湖区古荡湾",
collector: "LKT001"
}
]
const equipments=[
];
const equipments = [
{
value: "选项1",
label: "断路器1"
......@@ -226,8 +257,8 @@ export default {
value: "选项4",
label: "断路器4"
}
]
const models= [
];
const models = [
{
value: "选项1",
label: "型号1"
......@@ -244,8 +275,8 @@ export default {
value: "选项4",
label: "型号4"
}
]
const states=[
];
const states = [
{
value: "选项1",
label: "正常"
......@@ -262,22 +293,26 @@ export default {
value: "选项4",
label: "通讯中断"
}
]
];
function detail(row:any) {
router.push({ name: "detail" ,
params: {
obj: row
}
function detail() {
router.push({ name: "demo3" });
});
}
const loading = ref<boolean>(false);
const value1 = ref<any>([]);
const value2= ref<any>([]);
const value3= ref<any>([]);
const multipleSelection= ref<any>([]);
const value2 = ref<any>([]);
const value3 = ref<any>([]);
const multipleSelection = ref<any>([]);
return {
loading,
search: "",
msg: 'test message',
tableData,
detail,
states,
......
<template>
<div v-loading="loading">
<el-row>
<el-button type="primary" size="mini">返回</el-button>
</el-row>
<el-container>
<el-aside style="background:white; ;margin-right:15px;border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
<div style="margin-top:10px;margin-left:10px">
<el-row style="text-align:center;margin-bottom:5% ;font-weight:bold" >BOT0016</el-row>
<el-row >
<el-col :span="10"><div ><img src="../../assets/device.png" alt="" class="device"></div></el-col>
<el-col :span="7" :offset="3"><div>设备型号:</div><div>12</div><div style="margin-top:10px">采集器编号:</div><div>12</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>客户地址:</div></el-col>
<el-col :span="10" :offset="2"><div>杭州市江干区</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>联系人:</div></el-col>
<el-col :span="10" :offset="2"><div>张三</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>联系方式:</div></el-col>
<el-col :span="10" :offset="2"><div>1283948933</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>设备位置:</div></el-col>
<el-col :span="10" :offset="2"><div>北楼一区</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>监测区域:</div></el-col>
<el-col :span="10" :offset="2"><div>北楼一区</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="10"><div>开机率:</div></el-col>
<el-col :span="10" :offset="2"><div><el-progress :text-inside="true" :stroke-width="24" :percentage="67" status="success"></el-progress></div></el-col>
</el-row>
<el-row style="background:white;margin-top:50px " justify="center"><el-col :span="3" :offset="7"><el-button type="primary" size="mini">运行参数查看</el-button></el-col></el-row>
<el-row style="background:white;margin-top:10px " justify="center"><el-col :span="3" :offset="7"><el-button type="primary" size="mini">运行时间统计</el-button></el-col></el-row>
<div><el-button type="primary" size="mini">返回</el-button></div>
<div class="flex start " style="margin-top: 10px">
<div class="aside" >
<div>
<div style="text-align:center;margin-top:5%;margin-bottom:5% ;font-weight:bold" >{{dd.number}}</div>
<div class="bg">
<div class="text">
<div>设备型号:</div>
<div>12</div>
<div style="margin-top:10px">采集器编号:</div>
<div>12</div>
</div>
</div>
</div>
<el-form ref="form" :model="form" label-width="100px" size="mini" >
<el-form-item label="客户地址:">
<div>杭州市江干区</div>
</el-form-item>
<el-form-item label="联系人:">
<div>张三</div>
</el-form-item>
<el-form-item label="联系方式:">
<div>1283948933</div>
</el-form-item>
<el-form-item label="设备位置:">
<div>北楼一区</div>
</el-form-item>
<el-form-item label="监测区域:">
<div>北楼一区</div>
</el-form-item>
<el-form-item label="开机率:">
<div style="width:80%;margin-top:8px"><el-progress
:text-inside="true"
:stroke-width="20"
:percentage="67"
status="success"
></el-progress></div>
</el-form-item>
</el-form-item>
<el-form-item label="监测区域:">
<div>北楼一区</div>
</el-form-item>
</el-form-item>
<el-form-item >
<div><el-button type="primary" size="mini"
>运行参数查看</el-button
></div>
</el-form-item>
<el-form-item >
<div><el-button type="primary" size="mini"
>运行时间统计</el-button
></div>
</el-form-item>
</el-form>
</div>
</el-aside>
<el-container>
<el-header style="line-height:60px; height:60px; background:white;border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
<el-row >运行时间:</el-row>
</el-header>
<el-main style="background:white;margin-top:10px ;border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)">
<el-row style="background:white;margin-top:10px " justify="center"><el-col :span="3" :offset="8"><el-button type="primary" size="mini">实时参数列表</el-button></el-col><el-col :span="3" ><el-button size="mini">参数曲线监控</el-button></el-col></el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="5"><div>电流:</div></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
<el-col :span="5"><div>温度:</div ></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
<el-col :span="5"><div>断路器状态:</div></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
</el-row>
<el-row style="background:white;margin-top:5% ">
<el-col :span="5"><div>A相电压:</div></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
<el-col :span="5"><div>B相电压:</div ></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
<el-col :span="5"><div>AB相线电流:</div></el-col>
<el-col :span="2" :offset="1"><div class="it">8.342342</div></el-col>
</el-row>
<el-row justify="center" style="margin-top:300px"><el-col :span="3" :offset="8"><el-button type="primary" size="mini">上一页</el-button></el-col><el-col :span="3" ><el-button size="mini">下一页</el-button></el-col></el-row>
</el-main>
</el-container>
</el-container>
<div class="flex column " style="width:72%">
<div class="header1" >运行时间:</div>
<div class="main1" >
<div class="butt">
<el-form :inline="true">
<el-form-item>
<el-button type="primary" size="mini" style="margin-right:20px">实时参数列表</el-button>
<el-button size="mini">参数曲线监控</el-button>
</el-form-item>
</el-form>
</div>
<el-form :inline="true" >
<el-form-item label="电流:"style="margin-right:200px;width:150px">
<div class="it">8.342342</div>
</el-form-item>
<el-form-item label="温度:"style="margin-right:200px;width:150px">
<div class="it">8.342342</div>
</el-form-item>
<el-form-item label="断路器状态:">
<div class="it"></div>
</el-form-item>
</el-form>
<el-form :inline="true">
<el-form-item label="A相电压:"style="margin-right:200px;width:150px">
<div class="it">8.342342</div>
</el-form-item>
<el-form-item label="B相电压:"style="margin-right:200px;width:150px">
<div class="it">8.342342</div>
</el-form-item>
<el-form-item label="AB相线电流:">
<div class="it">8.342342</div>
</el-form-item>
</el-form>
<div class="butt1">
<el-button type="primary" size="mini" style="margin-right:20px">上一页</el-button>
<el-button size="mini">下一页</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script lang="ts">
import { ref, onMounted } from '@vue/composition-api';
import { ref, onMounted } from "@vue/composition-api";
import { router } from '../../main';
export default {
setup() {
const loading = ref<boolean>(false);
return{
loading,
const dd=ref<any>()
onMounted(function () {
dd.value= router.currentRoute.params.obj
// console.log(aa)
})
return {
loading,dd
};
},
}
};
</script>
<style lang="scss">
.it{
.aside{border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);width:25%;background:white;margin-right:10px ;
}
.main1{padding-left:10px;background:white;margin-top:10px ;border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)}
.header1{line-height:60px; padding-left:10px;height:60px; background:white;border-radius: 4px;box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)}
.it {
color: blue;
font-weight:bold;
font-weight: bold;
text-align: center;
text-size-adjust: medium;
}
.butt{margin-left:35%}
.butt1{margin-left:38%;margin-top:31%;margin-bottom: 2%;}
.bg{background-image: url(../../assets/device.png);
background-repeat: no-repeat;
}
.device {
.text{margin-left:60%}
.device {
height: 60px;
overflow: hidden;
cursor:pointer;
}
cursor: pointer;
}
</style>
......@@ -2,29 +2,48 @@
<div class="flex column center login" v-loading="loading">
<div class="login-body vivify popIn flex center column">
<div class="login-head flex column center align-center">
<div class="title1">{{loginTitle1}}</div>
<div v-if="loginTitle2" class="title2">{{loginTitle2}}</div>
<div class="title1">{{ loginTitle1 }}</div>
<div v-if="loginTitle2" class="title2">{{ loginTitle2 }}</div>
</div>
<div class="inner flex center align-center around">
<div class="left">
<img src="../assets/u90.png">
<img src="../assets/u90.png" />
</div>
<div class="flex column right">
<div class="flex center">
<img :src="loginLogo"/>
<img :src="loginLogo" />
</div>
<el-form
label-position="left" label-width="70px"
class="flex column around" ref="formRef" :model="form" :rules="rule">
label-position="left"
label-width="70px"
class="flex column around"
ref="formRef"
:model="form"
:rules="rule"
>
<el-form-item prop="username" label="账户:">
<el-input v-model="form.username" autofocus autocomplete="off" placeholder="用户名" @keyup.enter.native="login($refs.formRef)" />
<el-input
v-model="form.username"
autofocus
autocomplete="off"
placeholder="用户名"
@keyup.enter.native="login($refs.formRef)"
/>
</el-form-item>
<el-form-item prop="pwd" label="密码:">
<el-input type="password" autocomplete="off" v-model="form.pwd" placeholder="密 码" @keyup.enter.native="login($refs.formRef)" />
<el-input
type="password"
autocomplete="off"
v-model="form.pwd"
placeholder="密 码"
@keyup.enter.native="login($refs.formRef)"
/>
</el-form-item>
<kit-err-channel id="login" style="margin-bottom: 5px" />
<el-form-item>
<el-button type="primary" @click="login($refs.formRef)">登录</el-button>
<el-button type="primary" @click="login($refs.formRef)"
>登录</el-button
>
</el-form-item>
</el-form>
</div>
......@@ -34,58 +53,67 @@
</div>
</template>
<script lang="ts">
import { ref, Ref, onMounted } from '@vue/composition-api';
import { ElForm } from 'element-ui/types/form';
import { useLoading } from 'web-toolkit/src/service';
import { postService, storeUserInfo, updateStoreUserInfo, submitErrChanel, pushMsgErr } from 'web-toolkit/src/case-main';
import {loginTitle1, loginTitle2, loginLogo, schema} from '@/main';
import {router} from '@/main';
import { Route } from 'vue-router';
import {assert} from 'web-toolkit/src/utils/index';
import {Login} from '@/dao/userDao';
import { ref, Ref, onMounted } from "@vue/composition-api";
import { ElForm } from "element-ui/types/form";
import { useLoading } from "web-toolkit/src/service";
import {
postService,
storeUserInfo,
updateStoreUserInfo,
submitErrChanel,
pushMsgErr
} from "web-toolkit/src/case-main";
import { loginTitle1, loginTitle2, loginLogo, schema } from "@/main";
import { router } from "@/main";
import { Route } from "vue-router";
import { assert } from "web-toolkit/src/utils/index";
import { Login } from "@/dao/userDao";
export default {
setup() {
const loading = ref(false);
const form = ref({ username: '', pwd: '' });
const formRef: Ref<ElForm|null> = ref(null);
const form = ref({ username: "", pwd: "" });
const formRef: Ref<ElForm | null> = ref(null);
const rule = {
username: {
required: true,
message: '请填写用户名',
trigger: 'none',
message: "请填写用户名",
trigger: "none"
},
pwd: [{
pwd: [
{
required: true,
message: '请填写密码',
trigger: 'none',
}, {
type: 'string',
message: "请填写密码",
trigger: "none"
},
{
type: "string",
min: 6,
message: '密码长度不能小于6位',
trigger: 'none',
}],
message: "密码长度不能小于6位",
trigger: "none"
}
]
};
async function login() {
const valid = await (formRef.value as ElForm).validate();
assert(valid);
submitErrChanel('login');
submitErrChanel("login");
const data = await Login({
...form.value,
schema,
schema
});
updateStoreUserInfo(data as any);
// 设置登录后回到登录前页面
// @ts-ignore
const redirect: Route = {
name: 'index',
query: {},
name: "index",
query: {}
};
if (
storeUserInfo.redirect &&
storeUserInfo.redirect.name &&
storeUserInfo.redirect.name !== 'notFound' &&
storeUserInfo.redirect.name !== 'login'
storeUserInfo.redirect.name !== "notFound" &&
storeUserInfo.redirect.name !== "login"
) {
redirect.name = storeUserInfo.redirect.name;
redirect.query = storeUserInfo.redirect.query;
......@@ -95,75 +123,80 @@ export default {
router.push(redirect as any);
}
return {
formRef, loginTitle1, loginTitle2, loginLogo,
loading, form, rule, login: useLoading(loading, login),
formRef,
loginTitle1,
loginTitle2,
loginLogo,
loading,
form,
rule,
login: useLoading(loading, login)
};
},
}
};
</script>
<style lang="scss" scoped>
.login{
.login {
background: url("../assets/bg.jpg") no-repeat;
background-size: 100% 100%;
width: 100vw;
height: 100vh;
min-height: 600px;
}
.login-body {
}
.login-body {
width: 90vw;
height: 90vh;
min-height: 400px;
.login-head{
.login-head {
color: white;
.title1{
.title1 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 10px;
}
.title2{
.title2 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
}
.inner{
.inner {
width: 100%;
max-height: 600px;
max-width: 1000px;
background: white;
padding: 2rem 2rem;
box-shadow: 3px 3px 10px rgba($color: #000, $alpha: .5);
box-shadow: 3px 3px 10px rgba($color: #000, $alpha: 0.5);
border-radius: 10px;
font-size: 1rem;
.left{
img{
.left {
img {
height: 40vh;
}
}
.right{
.right {
width: 300px;
img{
img {
height: 3.8rem;
width: auto;
margin-bottom: 3rem;
}
.el-input{
.el-input {
width: 230px;
}
.el-button{
.el-button {
width: 230px;
font-weight: 600;
margin: 0 auto;
}
}
}
}
.login-support{
}
.login-support {
/*margin-top: 3vh;*/
color: #fff;
width: 100%;
font-weight: 700;
font-size: 1.1rem;
text-align: center;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment