Commit 1349d9d4 authored by 陈珊's avatar 陈珊

异常列表

parent 3fd39302
......@@ -173,7 +173,7 @@
<div class="item4">异常总数</div>
</div>
<div class="list-main" v-if="unusualInfo && unusualInfo.length > 0">
<div class="flex-item hover" v-for="item in unusualInfo">
<div class="flex-item hover" v-for="item in unusualInfo" @click="ycxxpopup(item.customer_id, item.project_id, item.jc_kind)">
<div class="item1">{{item.customer_name}}</div>
<div class="item2">{{item.project_name}}</div>
<div class="item3">{{item.jc_item}}</div>
......@@ -296,62 +296,108 @@
</div>
<button class="search" @click="search()">查询</button>
</div>
<div class="search-item" v-if="popType == 4">
<div class="item">
<div class="name">异常类型</div>
<el-select class="input select" v-model="ycParam.unusual_type" placeholder="请选择">
<el-option
v-for="item in ycParam.unusual_typeData"
:key="item.id"
:label="item.title"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="item">
<div class="name">异常类型</div>
<el-date-picker class="input date"
value-format="yyyy-MM-dd"
v-model="ycParam.date"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</div>
<button class="search" @click="search()">查询</button>
</div>
<div class="list-item">
<div class="list-head" v-if="popType == 1">
<div class="item ryitem1">所属单位</div>
<div class="item ryitem2">头像</div>
<div class="item ryitem3">姓名</div>
<div class="item ryitem4">性别</div>
<div class="item ryitem5">职称</div>
<div class="item ryitem6">人员类型</div>
<div class="item ryitem7">联系电话</div>
<div class="list-head ryitems" v-if="popType == 1">
<div class="item item1">所属单位</div>
<div class="item item2">头像</div>
<div class="item item3">姓名</div>
<div class="item item4">性别</div>
<div class="item item5">职称</div>
<div class="item item6">人员类型</div>
<div class="item item7">联系电话</div>
</div>
<div class="list-head" v-if="popType == 2">
<div class="item zzitem1">单位名称</div>
<div class="item zzitem2">资质编号</div>
<div class="item zzitem3">资质详情</div>
<div class="item zzitem4">签发时间</div>
<div class="item zzitem5">有效时间</div>
<div class="list-head zzitems" v-if="popType == 2">
<div class="item item1">单位名称</div>
<div class="item item2">资质编号</div>
<div class="item item3">资质详情</div>
<div class="item item4">签发时间</div>
<div class="item item5">有效时间</div>
</div>
<div class="list-head" v-if="popType == 3">
<div class="item sbitem1">所属单位</div>
<div class="item sbitem2">设备编号</div>
<div class="item sbitem3">设备名称</div>
<div class="item sbitem4">状态</div>
<div class="item sbitem5">检定周期(月)</div>
<div class="item sbitem6">检定日期</div>
<div class="item sbitem7">有效期至</div>
<div class="list-head sbitems" v-if="popType == 3">
<div class="item item1">所属单位</div>
<div class="item item2">设备编号</div>
<div class="item item3">设备名称</div>
<div class="item item4">状态</div>
<div class="item item5">检定周期(月)</div>
<div class="item item6">检定日期</div>
<div class="item item7">有效期至</div>
</div>
<div class="list-head ycitems" v-if="popType == 4">
<div class="item item1">检测单位</div>
<div class="item item2">工程名称</div>
<div class="item item3">异常类型</div>
<div class="item item4">登记时间</div>
<div class="item item5">登记人</div>
<div class="item item6">异常状态</div>
</div>
<div class="list-main" v-if="data && data.length > 0">
<div v-if="popType == 1">
<div class="flex-item" v-for="item in data">
<div class="item ryitem1">{{item.customer_name}}</div>
<div class="item ryitem2"><img :src="item.op_avatar"></div>
<div class="item ryitem3">{{item.op_name}}</div>
<div class="item ryitem4">{{item.op_sex}}</div>
<div class="item ryitem5">{{item.op_duty}}</div>
<div class="item ryitem6">{{item.op_level}}</div>
<div class="item ryitem7">{{item.op_mobile}}</div>
<div class="flex-item ryitems" v-for="item in data">
<div class="item item1">{{item.customer_name}}</div>
<div class="item item2"><img :src="item.op_avatar"></div>
<div class="item item3">{{item.op_name}}</div>
<div class="item item4">{{item.op_sex}}</div>
<div class="item item5">{{item.op_duty}}</div>
<div class="item item6">{{item.op_level}}</div>
<div class="item item7">{{item.op_mobile}}</div>
</div>
</div>
<div v-if="popType == 2">
<div class="flex-item" v-for="item in data">
<div class="item zzitem1">{{item.customer_name}}</div>
<div class="item zzitem2">{{item.certificate_no}}</div>
<div class="item zzitem3">{{item.certificate_info}}</div>
<div class="item zzitem4">{{item.begin_date}}</div>
<div class="item zzitem5">{{item.end_date}}</div>
<div class="flex-item zzitems" v-for="item in data">
<div class="item item1">{{item.customer_name}}</div>
<div class="item item2">{{item.certificate_no}}</div>
<div class="item item3">{{item.certificate_info}}</div>
<div class="item item4">{{item.begin_date}}</div>
<div class="item item5">{{item.end_date}}</div>
</div>
</div>
<div v-if="popType == 3">
<div class="flex-item" v-for="item in data">
<div class="item sbitem1">{{item.customer_name}}</div>
<div class="item sbitem2">{{item.equ_no}}</div>
<div class="item sbitem3">{{item.equ_name}}</div>
<div class="item sbitem4">{{item.status}}</div>
<div class="item sbitem5">{{item.check_cycle}}</div>
<div class="item sbitem6">{{item.inspect_begin_date}}</div>
<div class="item sbitem7">{{item.inspect_end_date}}</div>
<div class="flex-item sbitems" v-for="item in data">
<div class="item item1">{{item.customer_name}}</div>
<div class="item item2">{{item.equ_no}}</div>
<div class="item item3">{{item.equ_name}}</div>
<div class="item item4">{{item.status}}</div>
<div class="item item5">{{item.check_cycle}}</div>
<div class="item item6">{{item.inspect_begin_date}}</div>
<div class="item item7">{{item.inspect_end_date}}</div>
</div>
</div>
<div v-if="popType == 4">
<div class="flex-item ycitems" v-for="item in data">
<div class="item item1">{{item.customer_name}}</div>
<div class="item item2">{{item.project_name}}</div>
<div class="item item3">{{item.unusual_type_str}}</div>
<div class="item item4">{{item.unusual_time}}</div>
<div class="item item5">{{item.op_name}}</div>
<div class="item item6">{{item.unusual_status_str}}</div>
</div>
</div>
</div>
......
......@@ -656,6 +656,30 @@
justify-content: space-between;
}
.popup-info .search-item .item .date {
width: auto;
}
.popup-info .search-item .item .date .el-range-input {
background: #1E499B;
color: #fff;
width: 1.2rem;
}
.popup-info .search-item .item .date .el-range-separator {
padding: 0;
color: #fff;
width: auto;
}
.popup-info .search-item .item .date .el-range-separator,
.popup-info .search-item .item .date .el-range__icon,
.popup-info .search-item .item .date .el-range__close-icon {
display: flex;
align-items: center;
justify-content: center;
}
.popup-info .search-item .search {
background: #00C2C9;
height: .3rem;
......@@ -706,82 +730,106 @@
word-wrap: break-word;
}
.popup-info .list-item .zzitem1 {
.popup-info .list-item .zzitems .item1 {
width: 22%;
}
.popup-info .list-item .zzitem2 {
.popup-info .list-item .zzitems .item2 {
width: 22%;
}
.popup-info .list-item .zzitem3 {
.popup-info .list-item .zzitems .item3 {
width: 22%;
}
.popup-info .list-item .zzitem4 {
.popup-info .list-item .zzitems .item4 {
width: 17%;
}
.popup-info .list-item .zzitem5 {
.popup-info .list-item .zzitems .item5 {
width: 17%;
}
.popup-info .list-item .sbitem1 {
.popup-info .list-item .sbitems .item1 {
width: 18%;
}
.popup-info .list-item .sbitem2 {
.popup-info .list-item .sbitems .item2 {
width: 16%;
}
.popup-info .list-item .sbitem3 {
.popup-info .list-item .sbitems .item3 {
width: 16%;
}
.popup-info .list-item .sbitem4 {
.popup-info .list-item .sbitems .item4 {
width: 10%;
}
.popup-info .list-item .sbitem5 {
.popup-info .list-item .sbitems .item5 {
width: 10%;
}
.popup-info .list-item .sbitem6 {
.popup-info .list-item .sbitems .item6 {
width: 15%;
}
.popup-info .list-item .sbitem7 {
.popup-info .list-item .sbitems .item7 {
width: 15%;
}
.popup-info .list-item .ryitem1 {
.popup-info .list-item .ryitems .item1 {
width: 20%;
}
.popup-info .list-item .ryitem2 {
.popup-info .list-item .ryitems .item2 {
width: 12%;
}
.popup-info .list-item .ryitem3 {
.popup-info .list-item .ryitems .item3 {
width: 10%;
}
.popup-info .list-item .ryitem4 {
.popup-info .list-item .ryitems .item4 {
width: 10%;
}
.popup-info .list-item .ryitem5 {
.popup-info .list-item .ryitems .item5 {
width: 10%;
}
.popup-info .list-item .ryitem6 {
.popup-info .list-item .ryitems .item6 {
width: 20%;
}
.popup-info .list-item .ryitem7 {
.popup-info .list-item .ryitems .item7 {
width: 18%;
}
.popup-info .list-item .ycitems .item1 {
width: calc(100% / 6);
}
.popup-info .list-item .ycitems .item2 {
width: calc(100% / 6);
}
.popup-info .list-item .ycitems .item3 {
width: calc(100% / 6);
}
.popup-info .list-item .ycitems .item4 {
width: calc(100% / 6);
}
.popup-info .list-item .ycitems .item5 {
width: calc(100% / 6);
}
.popup-info .list-item .ycitems .item6 {
width: calc(100% / 6);
}
.popup-info .list-item .flex-item {
display: flex;
align-items: center;
......
......@@ -508,6 +508,26 @@
align-items: center;
justify-content: space-between;
}
.date{
width: auto;
.el-range-input{
background: #1E499B;
color: #fff;
width: 1.2rem;
}
.el-range-separator{
padding: 0;
color: #fff;
width: auto;
}
.el-range-separator,
.el-range__icon,
.el-range__close-icon{
display: flex;
align-items: center;
justify-content: center;
}
}
}
.search{
background: #00C2C9;
......@@ -540,64 +560,92 @@
text-align: center;
word-wrap: break-word;
}
.zzitem1{
width: 22%;
}
.zzitem2{
width: 22%;
}
.zzitem3{
width: 22%;
}
.zzitem4{
width: 17%;
}
.zzitem5{
width: 17%;
}
.sbitem1{
width: 18%;
}
.sbitem2{
width: 16%;
}
.sbitem3{
width: 16%;
}
.sbitem4{
width: 10%;
}
.sbitem5{
width: 10%;
}
.sbitem6{
width: 15%;
}
.sbitem7{
width: 15%;
.zzitems{
.item1{
width: 22%;
}
.item2{
width: 22%;
}
.item3{
width: 22%;
}
.item4{
width: 17%;
}
.item5{
width: 17%;
}
}
.ryitem1{
width: 20%;
}
.ryitem2{
width: 12%;
}
.ryitem3{
width: 10%;
}
.ryitem4{
width: 10%;
}
.ryitem5{
width: 10%;
.sbitems{
.item1{
width: 18%;
}
.item2{
width: 16%;
}
.item3{
width: 16%;
}
.item4{
width: 10%;
}
.item5{
width: 10%;
}
.item6{
width: 15%;
}
.item7{
width: 15%;
}
}
.ryitem6{
width: 20%;
.ryitems{
.item1{
width: 20%;
}
.item2{
width: 12%;
}
.item3{
width: 10%;
}
.item4{
width: 10%;
}
.item5{
width: 10%;
}
.item6{
width: 20%;
}
.item7{
width: 18%;
}
}
.ryitem7{
width: 18%;
.ycitems{
.item1{
width: calc(100% / 6);
}
.item2{
width: calc(100% / 6);
}
.item3{
width: calc(100% / 6);
}
.item4{
width: calc(100% / 6);
}
.item5{
width: calc(100% / 6);
}
.item6{
width: calc(100% / 6);
}
}
.flex-item{
@include V-center;
......
......@@ -11,6 +11,33 @@ new Vue({
IoT: {},
popType: 1, //1:检测人员列表; 2:企业资质列表, 3:检测设备列表
data: [],
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
pager:{
page: 1,
limit: 10,
......@@ -49,6 +76,22 @@ new Vue({
[{title: '全部', id: -1},
{title: '停用', id: 0},
{title: '启用', id: 1}]
},
ycParam: {
customer_id: '',
project_id: '',
jc_kind: '',
unusual_type: '',
// begin_date: '',
// end_date: '',
date: '',
unusual_typeData:
[{title: '全部', id: ''},
{title: '数据异常', id: 1},
{title: '试验时间异常', id: 2},
{title: '试验位置异常', id: 3},
{title: '图片异常', id: 4},
{title: '摄像头异常', id: 5}],
}
}
},
......@@ -70,7 +113,6 @@ new Vue({
timestamp,
sign
}
console.log(JSON.stringify(data))
$.ajax({
url: baseurl + "auth/access",
type: "post",
......@@ -91,6 +133,7 @@ new Vue({
let _this = this;
let data = {
token: sessionStorage.getItem("op_id")
// token: "ADA90463-7ABE-4564-83A6-B6BB278975D0"
}
$.ajax({
url: baseurl + "screen/GetSessionInfo",
......@@ -271,7 +314,6 @@ new Vue({
}
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pager.page = val;
if(this.popType == 1){
this.GetUnitPersonList(); //人员列表
......@@ -282,6 +324,9 @@ new Vue({
if(this.popType == 3){
this.GetUnitEquList(); //设备列表
}
if(this.popType == 4){
this.GetUnusualList(); //设备列表
}
},
search(){
this.handleCurrentChange(1);
......@@ -452,6 +497,67 @@ new Vue({
}
})
},
ycxxpopup(customer_id, project_id, jc_kind){
let _this = this;
_this.popType = 4;
_this.showPopup('异常信息列表');
_this.ycParam.customer_id = customer_id;
_this.ycParam.project_id = project_id;
_this.ycParam.jc_kind = jc_kind;
_this.ycParam.unusual_type = '';
_this.GetUnusualList();
},
GetUnusualList(){
let _this = this;
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
let data = {
station_id: _this.info.station_id,
data: {
customer_id: _this.ycParam.customer_id,
project_id: _this.ycParam.project_id,
jc_kind: _this.ycParam.jc_kind,
begin_date: this.ycParam.date?this.ycParam.date[0]:'',
end_date: this.ycParam.date?this.ycParam.date[1]:'',
unusual_type: this.ycParam.unusual_type
},
pager: _this.pager
}
$.ajax({
url: baseurl + "screen/GetUnusualList",
type: "post",
dataType: "json",
contentType: "application/json",
headers:{
Authorization: _this.access_token
},
data: JSON.stringify(data),
success: function (data) {
loading.close();
_this.data = [];
if(data.status == 200){
_this.data = data.data;
if(_this.data && _this.data.length > 0){
_this.pager.pagecount = _this.data[0].pagecount;
_this.pager.totalcount = _this.data[0].totalcount;
}else{
_this.pager.pagecount = 1;
_this.pager.totalcount = 0;
}
}else{
_this.$message(data.msg);
}
},
error: function (jqXHR) {
loading.close();
console.log("发生错误:" + jqXHR.status);
}
})
},
toPage(url){
window.open(url);
}
......
......@@ -52,6 +52,5 @@ function sort(obj) {
str += newObj[i].key + newObj[i].value;
}
}
console.log(str)
return str;
}
\ No newline at end of file
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