qa-prevention-gwj-first-app/pages/basics/risk-distribution/risk-distribution.vue

453 lines
12 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">风险分布</block>
<block slot="right">
<view @click="showDrawer('showRight')"></view>
</block>
</cu-custom>
<uni-drawer ref="showRight" mode="right" :mask-click="true" @change="change($event,'showRight')">
<view class="scroll-view">
<scroll-view class="scroll-view-box" scroll-y="true">
<view class="de-drawer">
<view class="padding-sm bb-default text-semi">
高级查询
</view>
<view class="picker-tree-select">
<view class="">
管控部门
</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showDeptTree">
{{DEPTNAME}}
<text class="cuIcon-triangledownfill"></text>
</view>
</view>
<tki-tree ref="tkiTree" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="depttreeConfirm" @cancel="depttreeCancel"></tki-tree>
</view>
<view class="picker-tree-select">
<view class="">
风险点单元
</view>
<view class="picker-tree-box">
<picker @change="PickerUnit" :value="uindex" :range="unitList" range-key="RISKUNITNAME">
<view class="picker">
{{RISK_UNIT_NAME?RISK_UNIT_NAME:'请选择'}}
<text class="cuIcon-triangledownfill"></text>
</view>
</picker>
</view>
</view>
<view class="padding-sm bb-default">
风险等级
</view>
<view class="de-drawer-nr">
<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelA'?'bg-blue':'line-blue'"
@click="changeLevel('levelA')"></view>
<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelB'?'bg-blue':'line-blue'"
@click="changeLevel('levelB')"></view>
<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelC'?'bg-blue':'line-blue'"
@click="changeLevel('levelC')"></view>
<view class="cu-btn radiued margin-sm" :class="LEVELID=='levelD'?'bg-blue':'line-blue'"
@click="changeLevel('levelD')"></view>
</view>
<view class="de-drawer-bottom">
<view class="cz-btn">
<text class="cu-btn" @click="reset"></text>
</view>
<view class="done-btn" @click="closeDrawer('showRight')">
<text class="cu-btn bg-blue">完成</text>
</view>
</view>
</view>
</scroll-view>
</view>
</uni-drawer>
<view class="select-fixed top-fixed">
<view class="cu-bar search bg-white">
<view class="search-form radius">
<text class="cuIcon-search"></text>
<input @input="InputBlur" placeholder="请输入关键字" confirm-type="search"></input>
</view>
<view class="action">
<button class="cu-btn bg-green shadow-blur radius" @click="getQuery"></button>
</view>
</view>
<view class="line"></view>
</view>
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y
:style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
<view v-if="list.length>0">
<view class="dy-list">
<!-- <view class="dy-list-item p201 arrow" @click="goToDetail">
<view class="dy-title-flex">
<text>风险类型污水</text>
<text class="bg-yellow light cu-tag radius">一般风险/C级</text>
</view>
<view class="dy-subtitle">
<text>风险源泵仓</text>
</view>
<view class="dy-subtitle">
<text>管控部门/责任人污水班组/班组长</text>
</view>
</view> -->
<view class="dy-list-item p201 arrow" v-for="i in list" @click="goToDetail(i)">
<view class="dy-title-flex">
<text>部位名称:{{i.PARTSNAME}}</text>
<text v-if="i.LEVELID=='levelA'" class="bg-red light cu-tag radius">重大风险/A级</text>
<text v-else-if="i.LEVELID=='levelB'" class="bg-orange light cu-tag radius">较大风险/B级</text>
<text v-else-if="i.LEVELID=='levelC'" class="bg-yellow light cu-tag radius">一般风险/C级</text>
<text v-else-if="i.LEVELID=='levelD'" class="bg-blue light cu-tag radius">低风险/D级</text>
</view>
<view class="dy-subtitle">
<text>风险点(单元):{{i.RISKUNITNAME}}</text>
</view>
<view class="dy-subtitle">
<text>管控部门:{{i.DEPT_NAME}}</text>
</view>
</view>
</view>
</view>
<view v-else-if="dataFlag=='noData'" class="dy-null">
<view class="dy-null-img">
<image :src="background[dataFlag].url" mode=""></image>
</view>
<view class="dy-null-title">
{{background[dataFlag].msg}}
</view>
</view>
<view class="cu-tabbar-height"></view>
</scroll-view>
</view>
</template>
<script>
import {
basePath,
corpinfoId,
loginSession
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
export default {
components: {
tkiTree
},
data() {
return {
showRight: false,
dataFlag: 'noData',
sTop: 0,
totalHeight: 0,
list: [], //返回数据
page: 1, //分页参数--页数
rows: 10, //分页参数--每页数据条数
totalCount: 0, //分页参数--初始化页数
isEnd: false, //防止多次刷新
totalPage: 0, //分页参数--分页数量
NameLikes: '',
treeNode: [], //部门下拉数据
DEPT: '', //部门
DEPTNAME: '请选择', //部门
unitList: [], //风险单元列表
RISK_UNIT_ID: '', //单元
RISK_UNIT_NAME: '', //单元
uindex: -1,
LEVELID: '',
}
},
onReady() {
let that = this;
let CustomBar = this.CustomBar;
uni.getSystemInfo({ //调用uni-app接口获取屏幕高度
success(res) { //成功回调函数
let titleH = uni.createSelectorQuery().select(".top-fixed"); //想要获取高度的元素名class/id
titleH.boundingClientRect(data => {
that._data.sTop = data.height //计算高度:元素高度=窗口高度-元素距离顶部的距离data.top
that.totalHeight = data.height + CustomBar
}).exec()
}
})
},
// onReachBottom() { //页面上拉触底事件的处理函数
// var _this = this;
// _this.showCount = -1;
// _this.currentPage = _this.currentPage + 1;
// _this.isEnd = false;
// if(_this.totalPage >= _this.currentPage){
// _this.getDate();//开始分页查询
// }
// },
onLoad() { //页面第一次加载时触发,从跳转页面返回时不能触发,可以传递参
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = -1;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getDate();
_this.getDept();
loginSession();
},
onShow() { //页面显示或从后台跳回小程序时显示此页面时触发,从跳转页面返回时触发,不能传递参数
// var _this = this;
// _this.showCount = -1;
// _this.currentPage = 1;
// _this.list = [];
// _this.isEnd = false;
// _this.getDate();
},
methods: {
//跳转事件
goToDetail(e) {
uni.navigateTo({
url: '/pages/basics/risk-distribution/risk-distribution-detail?id=' + e
.IDENTIFICATIONPARTS_ID + '&LEVELID=' + e.LEVELID + "&DEPT_NAME=" + e.DEPT_NAME
});
},
getDept() {
var _this = this;
uni.request({
url: basePath + '/app/sys/listTree', //部门下拉接口
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID: corpinfoId,
},
success: (res) => {
if ("success" == res.data.result) {
_this.treeNode = eval(res.data.zTreeNodes);
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
});
},
//获取单元列表
getUnitList() {
//发送 post 请求
var _this = this;
uni.request({
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
url: basePath + '/app/riskpoint/listUnit',
data: {
DEPARTMENT_ID: _this.DEPT,
tm: new Date().getTime()
},
success: function(res) {
if ("success" == res.data.result) {
_this.unitList = res.data.unitList;
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
getQuery() { //搜索按钮事件
var _this = this;
_this.showCount = -1;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getDate();
},
InputBlur(e) {
this.NameLikes = e.detail.value
},
// 确定回调事件
depttreeConfirm(e) {
// this.isUps=false;
this.DEPT = e[0].id;
this.DEPTNAME = e[0].name;
this.uindex = -1;
this.RISK_UNIT_ID = ''; //单元
this.RISK_UNIT_NAME = ''; //单元
this.$forceUpdate(); //强制刷新
this.getUnitList();
this.getQuery();
},
// 取消回调事件
depttreeCancel(e) {
// this.isUps=false;
},
PickerUnit(e) {
this.uindex = e.detail.value;
this.RISK_UNIT_ID = this.unitList[this.uindex].RISKUNIT_ID;
this.RISK_UNIT_NAME = this.unitList[this.uindex].RISKUNITNAME;
this.$forceUpdate(); //强制刷新
this.getQuery();
},
changeLevel(e) {
var _this = this;
_this.LEVELID = e
_this.getQuery();
},
reset() {
var _this = this;
_this.DEPT = '';
_this.DEPTNAME = '请选择';
_this.unitList = [];
_this.RISK_UNIT_ID = ''; //单元
_this.RISK_UNIT_NAME = ''; //单元
_this.uindex = -1;
_this.LEVELID = '';
_this.getQuery();
},
// 显示树形选择器
showDeptTree() {
// this.isUps=true
this.$refs.tkiTree._show();
},
// 打开窗口
showDrawer(e) {
this.$refs[e].open()
},
// 关闭窗口
closeDrawer(e) {
this.$refs[e].close()
},
// 抽屉状态发生变化触发
change(e, type) {
this[type] = e
},
// 滑动到底方法
scrolltolower() {
var _this = this;
_this.showCount = -1;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if (_this.totalPage >= _this.currentPage) {
_this.getDate(); //开始分页查询
}
},
getDate() {
var _this = this;
if (_this.isEnd) {
return
} else {
this.isEnd = true;
}
uni.showLoading({
title: "加载中..."
}); //加载中动画
uni.request({
url: basePath + '/app/riskpoint/list?showCount=' + _this.showCount + '&currentPage=' + _this
.currentPage,
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CORPINFOID: corpinfoId,
RISK_UNIT_ID: _this.RISK_UNIT_ID,
DEPARTMENT_ID: _this.DEPT,
LEVELID: _this.LEVELID,
IS_APP: 1,
tm: new Date().getTime(),
KEYWORDS: _this.NameLikes, //关键字模糊查询
},
success: (res) => {
uni.hideLoading(); //结束加载中动画
if (res.data != null) {
_this.totalPage = res.data.page.totalPage;
if (_this.list.length == 0) {
_this.list = res.data.varList;
} else {
if (res.data.varList != null) {
_this.list2 = res.data.varList;
_this.list = _this.list.concat(_this.list2);
}
}
}
}
})
},
}
}
</script>
<style>
.dy-card {
background-color: #fff;
border-radius: 10upx;
margin: 30upx
}
.dy-card-title {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #eee;
min-height: 80upx;
line-height: 80upx;
padding: 0 30upx;
}
.dy-card-content {
padding: 0upx 30upx 30upx;
}
.dy-card-content-item {
margin-top: 20upx;
}
.dy-card-content-item .title {
display: flex;
align-items: center;
}
.dy-card-content-item .title .l {
width: 10upx;
height: 30upx;
border-radius: 20upx;
background-color: #666;
margin-right: 10upx;
}
.dy-card-content-item .content {
background-color: #F1F1F1;
padding: 10upx 14upx;
margin-top: 14upx;
line-height: 1.6;
}
.dy-card-content-item .name text {
background-color: #F1F1F1;
padding: 10upx 14upx;
margin-top: 14upx;
line-height: 1.6;
display: inline-block;
}
.dy-card-foot {
border-top: 1px solid #eee;
padding: 30upx;
}
</style>