重点工程

pull/5/head
zhangqihang 2024-02-03 18:00:44 +08:00
parent 381de3b66d
commit 01a12469b4
18 changed files with 6084 additions and 0 deletions

View File

@ -725,6 +725,54 @@
"enablePullDownRefresh": false
}
},
{
"path": "pages/application/key-project-management/index/index",
"style": {}
},
{
"path": "pages/application/key-project-management/safety-environmental-inspection/list",
"style": {}
},
{
"path": "pages/application/key-project-management/safety-environmental-inspection/detail-list",
"style": {}
},
{
"path": "pages/application/key-project-management/safety-environmental-inspection/detail",
"style": {}
},
{
"path": "pages/application/key-project-management/hidden-management/list",
"style": {}
},
{
"path": "pages/application/key-project-management/hidden-management/detail-list",
"style": {}
},
{
"path": "pages/application/key-project-management/hidden-management/detail",
"style": {}
},
{
"path": "pages/application/key-project-management/penalty-management/list",
"style": {}
},
{
"path": "pages/application/key-project-management/penalty-management/detail-list",
"style": {}
},
{
"path": "pages/application/key-project-management/penalty-management/detail",
"style": {}
},
{
"path": "pages/application/key-project-management/AI-warning/list",
"style": {}
},
{
"path": "pages/application/key-project-management/AI-warning/detail",
"style": {}
},
{
"path" : "pages/my/face/index",
"style" :

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,190 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">AI报警处置</block>
</cu-custom>
<view class="top-fixed">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation :scroll-left="scrollLeft">
<view class="flex text-center">
<view class="cu-item flex-sub" :class="index==TabCur?'text-blue cur':''" v-for="(item,index) in tabNav" :key="index" @tap="tabSelect" :data-id="index">
{{tabNav[index]}}
</view>
</view>
</scroll-view>
<view class="line"></view>
</view>
<view class="linehigh"></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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID" @click="$noMultipleClicks(goToDetail,item.AIWARNING_ID)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text> 视频名称{{ item.VIDEONAME }}</text>
</view>
<view class="dy-subtitle-flex">
<text>报警类型{{ item.TYPE }}</text>
</view>
<view class="dy-subtitle-flex">
<text>报警时间{{item.CREATTIME}}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text>处置状态{{ item.STATUS === "0" ? "待处理" : "已处理" }}</text>
<text>
<button v-if="item.STATUS === '1'" class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.AIWARNING_ID)"></button>
<button v-if="item.STATUS === '0'" class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.AIWARNING_ID)"></button>
</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 ,
loginSession,
loginUser,
} from '@/common/tool.js';
export default {
data() {
return {
tabNav: ['待处置', '已处置'],
TabCur: 0,
scrollLeft: 0,
showRight: false,
dataFlag:'noData',
sTop:0,
totalHeight:0,
list:[],//
page:1,//--
rows:10,//--
totalCount:0,//--
isEnd:false,//
totalPage: 0, //--
NameLikes : '',
noClick:true,
}
},
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.totalHeight = data.height+CustomBar
}).exec()
}
})
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods:{
tabSelect(e) {
console.info(e)
this.TabCur = e.currentTarget.dataset.id;
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
this.getQuery();
},
async getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title: "加载中..."
});//
uni.request({
url: basePath + '/app/aiwarning/list?showCount='+_this.showCount+'&currentPage='+_this.currentPage ,
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
loginUserId : loginUser.USER_ID,
STATUS : this.TabCur
},
success: (res) => {
uni.hideLoading();//
// if (res.data != null) {
// _this.list = res.data.varList
// }
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);
}
}
}
}
})
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
InputBlur(e){
this.NameLikes = e.detail.value
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/AI-warning/detail?AIWARNING_ID='+e
});
},
}
}
</script>
<style scoped>
.linehigh{
height:50px
}
</style>

View File

@ -0,0 +1,444 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">隐患管理</block>
</cu-custom>
<view class="top-fixed">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation :scroll-left="scrollLeft">
<view class="flex text-center">
<view class="cu-item flex-sub" :class="index==TabCur?'text-blue cur':''"
v-for="(item,index) in tabNav" :key="index" @tap="tabSelect" :data-id="index">
{{tabNav[index]}}
</view>
</view>
</scroll-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">
<!-- @click="$noMultipleClicks(goToDetail,item.HIDDEN_ID)" -->
<view v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID"
class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME ? item.OUTSOURCED_NAME: item.AIOUTSOURCED_NAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>
隐患来源{{ sourceState[item.SOURCE] }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患描述{{ item.HIDDENDESCR }}</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患发现人{{ item.CREATOR_NAME || item.CREATOR_NAMES }}</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患发现时间{{item.CREATTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患整改人{{item.RECTIFICATIONOR_NAME}}</text>
<text>整改时间{{item.RECTIFICATIONTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患验收人{{item.CREATOR_NAME}}</text>
<text>验收时间{{item.CHECKTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>隐患状态{{state[item.STATE]}}</text>
<text>是否处罚{{ item.ISPUNISH && (item.ISPUNISH === "1" ? "是" : "否") }}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text></text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm"
v-if="item.CREATOR == loginUserId || (TabCur + 1) == '2'"
@click="$noMultipleClicks(goToDetail,item.HIDDEN_ID)">
{{(TabCur + 1) == '1' ? '验收' : '查看'}}
</button>
<button style="margin-left: 20upx;"
v-if="item.ISPUNISH !== '2'
&& !item.KEYPROJECTPUNISH_ID
&& item.PUNISH_THE_PERSON.includes(loginUserId)
"
class="cu-btn bg-red margin-tb-sm sm"
@click.stop="fnModalShow(item)">
处罚
</button>
<!-- && item.CREATOR == loginUserId" -->
</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 :class="['cu-modal',{'show':modalShow}]" v-if="modalShow">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
<view class="content">处罚</view>
<view class="action" @tap="modalShow = false">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">是否进行罚款</view>
<radio-group @change="changeRadioGroup($event)">
<label class="radio"><radio value="1" :checked="punishForm.ISPUNISH === '1'" :disabled="TabCur == 2" /></label>
<label class="radio"><radio value="2" :checked="punishForm.ISPUNISH === '2'" :disabled="TabCur == 2" /></label>
</radio-group>
</view>
<view v-if="punishForm.ISPUNISH==1">
<view class="cu-form-group">
<view class="title">处罚原因</view>
<input v-model="punishForm.REASON" placeholder="请输入处罚原因"></input>
</view>
<view class="cu-form-group">
<view class="title">处罚金额</view>
<input v-model="punishForm.AMOUT" placeholder="请输入处罚金额"></input>
</view>
<view class="cu-form-group">
<view class="title">被处罚单位</view>
<input v-model="punishForm.RECTIFICATIONDEPT_NAME" placeholder="请输入被处罚单位"></input>
</view>
<view class="cu-form-group">
<view class="title">被处罚人</view>
<input v-model="punishForm.RECTIFICATIONOR_NAME" placeholder="请输入被处罚人"></input>
</view>
<view class="cu-form-group">
<view class="title">下发处罚时间</view>
<ruiDatePicker fields="minute" :value="punishForm.DATE || '请选择'" @change="changeStartDate">
</ruiDatePicker>
</view>
</view>
</view>
<view class="cu-bar bg-white justify-between">
<view class="action" style="flex-basis: 100%">
<button class="cu-btn" style="flex-basis: 50%" @click="modalShow = false">关闭</button>
<button class="cu-btn line-green text-green" style="flex-basis: 50%"
@click="fnSubmit">确认</button>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
basePath,
corpinfoId,
loginSession,
formatDate,
loginUser,
loginUserId
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'
export default {
components: {
tkiTree,
ruiDatePicker,
},
data() {
return {
showRight: false,
dataFlag: 'noData',
sTop: 0,
totalHeight: 0,
list: [], //
page: 1, //--
rows: 10, //--
totalCount: 0, //--
isEnd: false, //
totalPage: 0, //--
NameLikes: '',
OUTSOURCED_ID: '',
PUNISH_THE_PERSON: '',
noClick: true,
sourceState: {
1: "AI报警",
2: "AI报警(企业端)",
4: "安全环保检查(监管端)",
5: "安全环保检查(企业端)",
},
state: {
1: "未整改",
2: "已整改",
4: "已验收",
},
TabCur: 0,
scrollLeft: 0,
tabNav: ['待验收隐患', '已验收隐患'],
modalShow: false,
punishForm: {
HIDDEN_ID: '',
ISPUNISH: '',
RECTIFICATIONDEPT_NAME: '',
RECTIFICATIONOR_NAME: '',
REASON: '',
AMOUT: '',
DATE: formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
},
punishRules: {
'REASON': '请填写处罚原因',
'AMOUT': '请填写处罚金额',
'DATE': '请选择下发处罚时间',
},
loginUserId: loginUserId
}
},
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()
}
})
},
onLoad(e) { //
this.OUTSOURCED_ID = e.OUTSOURCED_ID
this.PUNISH_THE_PERSON = e.PUNISH_THE_PERSON
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
tabSelect(e) {
this.TabCur = e.currentTarget.dataset.id;
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
this.getQuery();
},
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/hidden-management/detail?HIDDEN_ID=' + e +
'&OUTSOURCED_ID=' + this.OUTSOURCED_ID + '&TabCur=' + (this.TabCur + 1)
});
},
getQuery() { //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
//
scrolltolower() {
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if (_this.totalPage >= _this.currentPage) {
_this.getData(); //
}
},
getData() {
var _this = this;
if (_this.isEnd) {
return
} else {
this.isEnd = true;
}
uni.showLoading({
title: "加载中..."
}); //
uni.request({
url: basePath + '/app/keyprojectcheck/listHidden?showCount=' + _this.showCount +
'&currentPage=' + _this.currentPage,
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
KEYWORDS: _this.NameLikes, //
CORPINFO_ID: corpinfoId,
OUTSOURCED_ID: this.OUTSOURCED_ID,
CREATOR: loginUserId,
ISCHECK: Number(this.TabCur) + 1
},
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);
}
}
}
}
})
},
fnModalShow(item) {
this.punishForm.HIDDEN_ID = item.HIDDEN_ID
this.punishForm.RECTIFICATIONDEPT_NAME = item.RECTIFICATIONDEPT_NAME
this.punishForm.RECTIFICATIONOR_NAME = item.RECTIFICATIONOR_NAME
this.modalShow = true
},
changeStartDate(e) {
this.punishForm.DATE = e
this.$forceUpdate(); //
},
fnSubmit() {
var _this = this
console.log(this.punishForm)
//
if (this.punishForm.ISPUNISH === "1") {
for (const key in this.punishRules) {
if (!this.punishForm[key]) {
uni.showToast({
title: this.punishRules[key],
icon: 'none'
})
return
}
}
uni.request({
url: basePath + '/app/keyprojectpunish/add',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
...this.punishForm,
CORPINFO_ID: corpinfoId,
CREATOR: loginUserId,
OPERATOR: loginUserId,
},
success: (res) => {
if ("success" == res.data.result) {
_this.editHiddenIspunish(1)
} else {
uni.showToast({
title: res.data.msaesge,
duration: 2000
});
}
}
});
}else {
_this.editHiddenIspunish(2)
}
},
editHiddenIspunish(Ispunish){
//
uni.request({
url: basePath + '/app/keyprojectcheck/editHiddenIspunish',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
...this.punishForm,
ISPUNISH:Ispunish
},
success: (res) => {
this.modalShow = false
this.getQuery()
}
});
},
changeRadioGroup(e){
if(this.TabCur == 2) return
this.punishForm.ISPUNISH = e.detail.value
},
}
}
</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;
}
.cu-modal {
z-index: 0;
}
</style>

View File

@ -0,0 +1,388 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">隐患管理</block>
</cu-custom>
<view class="form">
<view class="wui-form-list">
<view class="de-drawer">
<view class="cu-bar bg-white" v-if="hiddenForm.hiddenImgs">
<view class="action">
隐患照片
</view>
</view>
<view class="cu-form-group" v-if="hiddenForm.hiddenImgs">
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item,index) in hiddenForm.hiddenImgs" :key="index" @tap="ViewImage"
:data-id="item.IMGFILES_ID" data-type="0" :data-url="hiddenForm.hiddenImgs[index].FILEPATH">
<image :src="baseImgPath + hiddenForm.hiddenImgs[index].FILEPATH" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="cu-bar bg-white" v-if="hiddenForm.hiddenVideos">
<view class="action">
隐患视频
</view>
</view>
<view class="cu-form-group" v-if="hiddenForm.hiddenVideos">
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item,vindex) in hiddenForm.hiddenVideos" :key="vindex"
style="background-color: #000">
<image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
:data-src="hiddenForm.hiddenVideos[vindex].FILEPATH"></image>
</view>
</view>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-hui">隐患描述</view>
<textarea maxlength="-1" disabled v-model="hiddenForm.HIDDENDESCR" placeholder="请对隐患进行详细描述(必填项)"></textarea>
</view>
<view class="cu-form-group">
<view class="title">隐患部位</view>
<view class="picker-tree-box">
<view>{{ hiddenForm.HIDDENPART }}</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">隐患级别</view>
<view class="picker-tree-box">
<view>{{ hiddenForm.HIDDENLEVEL_NAME }}</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">隐患类型</view>
<view class="picker-tree-box">
<view>{{ hiddenForm.HIDDENTYPE_NAME }}</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">隐患处置</view>
<view>限期整改</view>
</view>
<view class="cu-form-group">
<view class="title">整改期限</view>
<view>{{ hiddenForm.RECTIFICATIONDEADLINE }}</view>
</view>
<view class="cu-form-group">
<view class="title" style="height: auto;">
<view>整改部门</view>
</view>
<view class="picker-tree-box">
{{ hiddenForm.RECTIFICATIONDEPT_NAME }}
</view>
</view>
<view class="cu-form-group">
<view class="title">整改人</view>
<view>{{ hiddenForm.RECTIFICATIONOR_NAME }}</view>
</view>
<view class="cu-form-group">
<view class="title">整改时间</view>
<view>{{ hiddenForm.RECTIFICATIONTIME }}</view>
</view>
<view class="cu-bar bg-white">
<view class="action">
整改照片
</view>
</view>
<view class="cu-form-group">
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item,index) in hiddenForm.zgImgs" :key="index" @tap="ViewImage1"
:data-id="item.IMGFILES_ID" data-type="0" :data-url="hiddenForm.zgImgs[index].FILEPATH">
<image :src="baseImgPath + hiddenForm.zgImgs[index].FILEPATH" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">验收时间</view>
<ruiDatePicker v-if="TabCur == 1" :start="todayDate" fields="minute" :value="CHECKTIME || '请选择'"
@change="changeDiscoverDate"></ruiDatePicker>
<view v-else>{{hiddenForm.CHECKTIME}}</view>
</view>
<view class="cu-bar bg-white">
<view class="action">
验收照片
</view>
<view class="action">
{{hiddenForm.ysImgs.length}}/4
</view>
</view>
<view class="cu-form-group">
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item,index) in hiddenForm.ysImgs" :key="index" @tap="ViewImage2" :data-id="item.IMGFILES_ID" data-type="0" :data-url="hiddenForm.ysImgs[index].FILEPATH">
<image v-if="item.IMGFILES_ID" :src="baseImgPath + hiddenForm.ysImgs[index].FILEPATH" mode="aspectFill"></image>
<image v-else :src="hiddenForm.ysImgs[index].FILEPATH" mode="aspectFill"></image>
<view class="cu-tag bg-red" @tap.stop="DelImg" data-type="0" :data-index="index" v-if="TabCur == 1">
<text class='cuIcon-close'></text>
</view>
</view>
<view class="solids" @tap="ChooseImage(0)" v-if="hiddenForm.ysImgs.length<4 && TabCur == 1">
<text class='cuIcon-cameraadd'></text>
</view>
</view>
</view>
<!-- <view class="cu-form-group">
<view class="title">是否进行罚款</view>
<radio-group @change="changeRadioGroup($event)">
<label class="radio"><radio value="1" :checked="hiddenForm.ISPUNISH === '1'" :disabled="TabCur == 2" /></label>
<label class="radio"><radio value="2" :checked="hiddenForm.ISPUNISH === '2'" :disabled="TabCur == 2" /></label>
</radio-group>
</view> -->
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="TabCur == 1" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)"></button>
<button v-if="TabCur == 2" class="cu-btn bg-green margin-tb-sm lg" @click="goback"></button>
</view>
</view>
<view :class="['cu-modal',{'show':modalShow}]" v-if="modalShow">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
<view class="content">播放视频</view>
<view class="action" @tap="modalShow = false">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<video :src="videoSrc" :autoplay="true"></video>
<view class="cu-bar bg-white justify-end">
<view class="action">
<button class="cu-btn line-green text-green" @click="modalShow = false">关闭</button>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
basePath, corpinfoId, deptId, loginUser, formatDate, loginSession, baseImgPath, loginUserId
} from '@/common/tool.js';
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'
export default {
components: {
ruiDatePicker,
},
data() {
return {
baseImgPath,
noClick:true,
HIDDEN_ID: '',
OUTSOURCED_ID: '',
TabCur: '',
hiddenForm: {
ysImgs:[],
CHECKTIME :formatDate(new Date(), 'yyyy-MM-dd hh:mm')
},
videoSrc:'',
modalShow:false,
todayDate:formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
CHECKTIME: formatDate(new Date(), 'yyyy-MM-dd hh:mm')
}
},
onLoad(e) {
this.HIDDEN_ID = e.HIDDEN_ID
this.OUTSOURCED_ID = e.OUTSOURCED_ID
this.TabCur = e.TabCur
this.getData()
},
methods: {
getData() {
uni.showLoading({
title: "加载中..."
});//
uni.request({
url: basePath + '/app/keyprojectcheck/findHidden',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HIDDEN_ID: this.HIDDEN_ID,
OUTSOURCED_ID: this.OUTSOURCED_ID,
},
success: (res) => {
uni.hideLoading();//
if (res.data != null) {
this.hiddenForm = res.data.pd
}
}
})
},
ViewImage(e) {
let files = [];
for (var i = 0; i < this.hiddenForm.hiddenImgs.length; i++) {
files.push(this.baseImgPath + this.hiddenForm.hiddenImgs[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: this.baseImgPath + e.currentTarget.dataset.url
});
},
ViewImage1(e) {
let files = [];
for (var i = 0; i < this.hiddenForm.zgImgs.length; i++) {
files.push(this.baseImgPath + this.hiddenForm.zgImgs[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: this.baseImgPath + e.currentTarget.dataset.url
});
},
playVideo(e) {
this.videoSrc = this.baseImgPath + this.hiddenForm.hiddenVideos[0].FILEPATH
this.modalShow = true
},
changeDiscoverDate(e) {
this.CHECKTIME = e
this.$forceUpdate();//
},
ViewImage2(e) {
let files =[];
for(var i=0;i<this.hiddenForm.ysImgs.length;i++){
if(e.currentTarget.dataset.id){
files.push(this.baseImgPath + this.hiddenForm.ysImgs[i].FILEPATH)
}else {
files.push(this.hiddenForm.ysImgs[i].FILEPATH)
}
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.id ? this.baseImgPath + e.currentTarget.dataset.url : e.currentTarget.dataset.url
});
},
DelImg(e) {
var _this = this;
let i=e.currentTarget.dataset.index
uni.showModal({
title: '秦港-双基双控',
content: '确定要删除这张图片吗?',
cancelColor:"#000000",
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
this.hiddenForm.ysImgs.splice(e.currentTarget.dataset.index, 1)
}
}
})
},
ChooseImage(e) {
var _this = this;
var ss=4-this.hiddenForm.ysImgs.length;
uni.chooseImage({
count: ss, //9
sizeType: ['original', 'compressed'], //
sourceType: ['camera','album'], //
success: (res) => {
for (let i = 0; i < res.tempFilePaths.length; i++) {
if (e == 0) {
let img = {};
img.IMGFILES_ID = '';
img.FILEPATH = res.tempFilePaths[i];
this.hiddenForm.ysImgs.push(img)
} else {
let img = {};
img.IMGFILES_ID = '';
img.FILEPATH = res.tempFilePaths[i];
this.imgList1.push(img)
}
}
}
});
},
changeRadioGroup(e){
if(this.TabCur == 2) return
this.hiddenForm.ISPUNISH = e.detail.value
},
goSubmit(){
console.log(this.CHECKTIME)
if(!this.CHECKTIME){
uni.showToast({
title: `请选择验收时间`,
icon: 'none'
})
return
}
if(this.hiddenForm.ysImgs.length === 0){
uni.showToast({
title: `请上传验收图片`,
icon: 'none'
})
return
}
// if(!this.hiddenForm.ISPUNISH){
// uni.showToast({
// title: ``,
// icon: 'none'
// })
// return
// }
var _this = this;
_this.$set(this.hiddenForm,'CHECKTIME', this.CHECKTIME);
uni.request({
url: basePath + '/app/keyprojectcheck/check',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID: corpinfoId,
..._this.hiddenForm,
CREATOR: loginUserId,
OPERATOR: loginUserId,
HIDDEN_ID: _this.HIDDEN_ID,
},
success: (res) => {
if ("success" == res.data.result) {
_this.uploadImg(this.hiddenForm.ysImgs)
} else {
uni.showToast({
title: res.data.msaesge,
duration: 2000
});
}
}
});
},
uploadImg(hiddenList){
var _this = this;
uni.showLoading({
title: '上传中'
})
for (let i = 0; i < hiddenList.length; i++) {
uni.uploadFile({
url: basePath+'/app/imgfiles/add',
filePath: hiddenList[i].FILEPATH,
name: 'FFILE',
formData: {
'TYPE': 5,
'FOREIGN_KEY': _this.HIDDEN_ID
},
success: (res) => {
uni.hideLoading();
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
}
_this.goback()
},
goback(){
uni.navigateBack({delta: 1});
uni.hideLoading();
},
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,254 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">隐患管理</block>
</cu-custom>
<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" />
</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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID"
@click="$noMultipleClicks(goToDetail,item)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME}}</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
主管部门{{ item.Q_COMPETENT_DEPT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
监督部门{{ item.Q_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
主管部门{{ item.MANAGER_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
监管部门{{ item.DEPARTMENT_NAME }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>相关方单位负责人{{item.UNITS_PIC_NAME}}</text>
<text>电话{{item.UNITS_PHONE}}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text></text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm"
@click="$noMultipleClicks(goToDetail,item)">查看</button>
</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,formatDate,loginUser,loginUserId
} 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 : '',
noClick:true,
}
},
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()
}
})
},
onLoad() {//
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/hidden-management/detail-list?OUTSOURCED_ID='+e.OUTSOURCED_ID+'&PUNISH_THE_PERSON='+e.PUNISH_THE_PERSON
});
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
InputBlur(e){
this.NameLikes = e.detail.value
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyProjects/listOutsourced?showCount='+_this.showCount+'&currentPage='+_this.currentPage ,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
UserId:loginUserId
},
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>

View File

@ -0,0 +1,195 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">重点工程管理</block>
</cu-custom>
<view class="apps-box">
<view class="apps-row">
<view class="apps-title">
<text class="apps-title-line"></text>
<text>重点工程管理</text>
</view>
<view class="apps-warp">
<navigator class="apps-item" hover-class="none" url="/pages/application/key-project-management/safety-environmental-inspection/list">
<view class="imgs action">
<image src="../../../../static/icon-apps/icon-yxkj-1.png" mode=""></image>
</view>
<view class="text-semi" style="text-align: center;">
<view>安全环保检查</view>
<view>管理</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/key-project-management/hidden-management/list">
<view class="imgs action">
<image src="../../../../static/icon-apps/icon-yxkj-1.png" mode=""></image>
<view v-if="count.CF_COUNT" class="cu-tag badge">{{count.CF_COUNT}}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>隐患管理</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/key-project-management/penalty-management/list">
<view class="imgs action">
<image src="../../../../static/icon-apps/icon-yxkj-1.png" mode=""></image>
<!-- <view v-if="count.HIDDEN_COUNT" class="cu-tag badge">{{count.HIDDEN_COUNT}}</view>-->
</view>
<view class="text-semi" style="text-align: center;">
<view>处罚管理</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/key-project-management/AI-warning/list">
<view class="imgs action">
<image src="../../../../static/icon-apps/icon-yxkj-1.png" mode=""></image>
<view v-if="count.AI_COUNT" class="cu-tag badge">{{count.AI_COUNT}}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>AI报警处置</view>
</view>
</navigator>
</view>
</view>
<view class="cu-tabbar-height"></view>
</view>
</view>
</template>
<script>
import {
basePath,
loginUserId,
formatDate,
corpinfoId,
loginUser,
setloginUserId,
setCorpinfoId,
setloginUser,
setDeptId,
isRest
} from '@/common/tool.js';
export default {
data() {
return {
isRest :'',
count : {},
confirmCount: {},
checkedCount: {},
repulseCount: {},
repulseAndCheckCount: {},
};
},
mounted(){
this.isRest = isRest;
},
onShow() {
this.getData();
},
methods: {
showRest(){
uni.showModal({
title: '提示',
showCancel:false,
content: '您处于离岗状态,无需检查清单。',
confirmText: "返回", //
success: (res) => {
}
})
},
getData(){
var _this = this;
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyprojectcheck/keyProjectCount',
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
loginUserId: loginUser.USER_ID,
CORPINFO_ID:corpinfoId,
},
success: (res) => {
uni.hideLoading();//
if ("success" == res.data.result) {
_this.count = res.data.pd;
}
}
})
},
}
}
</script>
<style>
.app-banner{
width: 100%;
height: 380upx;
}
.app-banner image{
width: 100%;
height: 100%;
}
.apps-box {}
.apps-row {
padding: 20upx 20upx 10upx 20upx;
background-color: #fff;
margin-top: 20upx;
}
.apps-row:first-child{
margin-top: 0;
}
.apps-title {
position: relative;
padding-left: 20upx;
color: #989898;
padding-bottom: 20upx;
}
.apps-title-line {
display: inline-block;
background-color: #37a6ff;
width: 10upx;
height: 23upx;
position: absolute;
left: 0upx;
top: 11upx;
}
.apps-warp {
display: flex;
flex-wrap: wrap;
}
.apps-item {
display: flex;
flex-direction: column;
align-items: center;
width: 25%;
font-size: 25upx;
margin-bottom: 20upx;
}
.apps-item .text-semi{
margin-top: 6upx;
}
.apps-item .action{
position: relative;
}
.apps-item .action .cu-tag.badge{
right: -20upx;
}
.apps-item .imgs {
width: 50upx;
height: 50upx;
}
.apps-item .imgs image {
width: 100%;
height: 100%;
}
</style>

View File

@ -0,0 +1,250 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">处罚管理</block>
</cu-custom>
<view class="top-fixed">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation :scroll-left="scrollLeft">
<view class="flex text-center">
<view class="cu-item flex-sub" :class="index==TabCur?'text-blue cur':''" v-for="(item,index) in tabNav" :key="index" @tap="tabSelect" :data-id="index">
{{tabNav[index]}}
</view>
</view>
</scroll-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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID" @click="$noMultipleClicks(goToDetail,item.KEYPROJECTPUNISH_ID)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>被处罚单位{{ item.UNITS_NAME }}</text>
<text>被处罚人{{ item.PERSON_NAME }}</text>
</view>
<view class="dy-subtitle-flex">
<text>
处罚原因{{ item.REASON }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>下发人{{ item.CREATOR_NAME }}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text>处罚处理状态{{ (TabCur + 1) == "1" ? "待处理" : "已处理" }}</text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.KEYPROJECTPUNISH_ID)"></button>
</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,formatDate,loginUser,loginUserId
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'
export default {
components: {
tkiTree,
ruiDatePicker,
},
data() {
return {
showRight: false,
dataFlag:'noData',
sTop:0,
totalHeight:0,
list:[],//
page:1,//--
rows:10,//--
totalCount:0,//--
isEnd:false,//
totalPage: 0, //--
NameLikes : '',
OUTSOURCED_ID : '',
noClick:true,
TabCur: 0,
scrollLeft: 0,
tabNav: ['待反馈处罚', '已完成处罚'],
}
},
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()
}
})
},
onLoad(e) {//
this.OUTSOURCED_ID = e.OUTSOURCED_ID
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
tabSelect(e) {
this.TabCur = e.currentTarget.dataset.id;
this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
this.getQuery();
},
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/penalty-management/detail?KEYPROJECTPUNISH_ID='+e + '&OUTSOURCED_ID=' + this.OUTSOURCED_ID + '&TabCur=' + (this.TabCur+1)
});
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyprojectpunish/list?showCount='+_this.showCount+'&currentPage='+_this.currentPage,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
OUTSOURCED_ID:this.OUTSOURCED_ID,
CREATOR:loginUserId,
HANDLED:Number(this.TabCur) + 1
},
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;
}
.cu-modal{
z-index: 0;
}
</style>

View File

@ -0,0 +1,114 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">处罚管理</block>
</cu-custom>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">被处罚单位</view>
<view>{{ data.UNITS_NAME }}</view>
</view>
<view class="cu-form-group">
<view class="title">被处罚人</view>
<view>{{ data.PERSON_NAME }}</view>
</view>
<view class="cu-form-group">
<view class="title">处罚原因</view>
<view>{{ data.REASON }}</view>
</view>
<view class="cu-form-group">
<view class="title">处罚金额</view>
<view>{{ data.AMOUT }}</view>
</view>
<view class="cu-form-group">
<view class="title">下发人</view>
<view>{{ data.CREATOR_NAME }}</view>
</view>
<view class="cu-form-group">
<view class="title">下发处罚时间</view>
<view>{{ data.DATE }}</view>
</view>
<template v-if="TabCur === '2'">
<view class="cu-form-group">
<view class="title">
罚款缴纳单
</view>
<view @click="previewImage(data.HANDLE_IMG)">
<image :src="data.HANDLE_IMG" mode="aspectFill" style="width: 80px;height: 80px;"></image>
</view>
</view>
<view class="cu-form-group">
<view class="title">处罚处理人</view>
<view>{{ data.PERSON_NAME }}</view>
</view>
<view class="cu-form-group">
<view class="title">处罚处理时间</view>
<view>{{ data.HANLDE_TIME }}</view>
</view>
</template>
</view>
</view>
</view>
</template>
<script>
import {
basePath, corpinfoId, deptId, loginUser, formatDate, loginSession, baseImgPath, loginUserId
} from '@/common/tool.js';
export default {
data() {
return {
baseImgPath,
KEYPROJECTPUNISH_ID: '',
OUTSOURCED_ID: '',
TabCur: '',
data:{}
}
},
onLoad(e) {
this.KEYPROJECTPUNISH_ID = e.KEYPROJECTPUNISH_ID
this.OUTSOURCED_ID = e.OUTSOURCED_ID
this.TabCur = e.TabCur
this.getData()
},
methods: {
getData() {
uni.showLoading({
title: "加载中..."
});//
uni.request({
url: basePath + '/app/keyprojectpunish/goEdit',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
KEYPROJECTPUNISH_ID: this.KEYPROJECTPUNISH_ID,
OUTSOURCED_ID: this.OUTSOURCED_ID,
},
success: (res) => {
uni.hideLoading();//
if (res.data != null) {
this.data = res.data.pd
this.data.HANDLE_IMG = baseImgPath + res.data.pd.HANDLE_IMG;
}
}
})
},
previewImage(current) {
uni.previewImage({
urls: [current],
current
});
},
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,252 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">处罚管理</block>
</cu-custom>
<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" />
</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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID" @click="$noMultipleClicks(goToDetail,item.OUTSOURCED_ID)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME}}</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
主管部门{{ item.Q_COMPETENT_DEPT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
监督部门{{ item.Q_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
主管部门{{ item.MANAGER_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
监管部门{{ item.DEPARTMENT_NAME }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>相关方单位负责人{{item.UNITS_PIC_NAME}}</text>
<text>电话{{item.UNITS_PHONE}}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text></text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.OUTSOURCED_ID)"></button>
</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,formatDate,loginUser,loginUserId
} 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 : '',
noClick:true,
}
},
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()
}
})
},
onLoad() {//
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/penalty-management/detail-list?OUTSOURCED_ID='+e
});
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
InputBlur(e){
this.NameLikes = e.detail.value
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyProjects/listOutsourced?showCount='+_this.showCount+'&currentPage='+_this.currentPage ,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
UserId:loginUserId
},
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>

View File

@ -0,0 +1,262 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查记录</block>
<block v-if="corpinfoId!='1e6dbbe16004402f8d2c0e52afd9a676'&&corpinfoId!='3a854eefa7894e06aaa1a2611bca80f6'
&&corpinfoId!='0be65eec933b453bb04fb0a3ede1de8d'&&corpinfoId!='47af8a537f564e40af6dc7424d6f66e6'" slot="right">
<view @click="$noMultipleClicks(goToAdd)"></view>
</block>
</cu-custom>
<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" />
</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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID" @click="$noMultipleClicks(goToDetail,item.KEYPROJECTCHECK_ID)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.INSPECTION_PLACE}}</text>
</view>
<view class="dy-subtitle-flex">
<text>
检查状态{{ state[item.INSPECTION_STATUS] }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>检查类型{{ item.INSPECTION_TYPE_NAME }}</text>
</view>
<view class="dy-subtitle-flex">
<text>检查人{{ item.INSPECTION_USERS }}</text>
</view>
<view class="dy-subtitle-flex">
<text>被检查人{{item.PERSON_NAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>检查时间{{item.INSPECTION_TIME_START}}-{{item.INSPECTION_TIME_END}}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text>检查隐患数{{item.HIDDEN_COUNT}}</text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.KEYPROJECTCHECK_ID)"></button>
</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,formatDate,loginUser
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
export default {
components: {
tkiTree
},
data() {
return {
corpinfoId,
showRight: false,
dataFlag:'noData',
sTop:0,
totalHeight:0,
list:[],//
page:1,//--
rows:10,//--
totalCount:0,//--
isEnd:false,//
totalPage: 0, //--
NameLikes : '',
OUTSOURCED_ID : '',
noClick:true,
state:{
'-1':'检查人驳回',
'0':'待被检查人确认',
'1':'被检查人已确认',
'2':'已归档',
}
}
},
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()
}
})
},
onLoad(e) {//
this.OUTSOURCED_ID = e.OUTSOURCED_ID
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/safety-environmental-inspection/detail?KEYPROJECTCHECK_ID='+e + '&OUTSOURCED_ID=' + this.OUTSOURCED_ID
});
},
goToAdd(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/safety-environmental-inspection/detail?OUTSOURCED_ID=' + this.OUTSOURCED_ID
});
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
InputBlur(e){
this.NameLikes = e.detail.value
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyprojectcheck/list?showCount='+_this.showCount+'&currentPage='+_this.currentPage ,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
OUTSOURCED_ID:this.OUTSOURCED_ID,
},
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>

View File

@ -0,0 +1,252 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查管理</block>
</cu-custom>
<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" />
</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 v-for="(item,index) of list" :key="index" :data-id="item.INSPECTION_ID" @click="$noMultipleClicks(goToDetail,item.OUTSOURCED_ID)" class="dy-list-item p20">
<view class="dy-title-flex align-center">
<text>{{item.OUTSOURCED_NAME}}</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
主管部门{{ item.Q_COMPETENT_DEPT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '1'" class="dy-subtitle-flex">
<text>
监督部门{{ item.Q_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
主管部门{{ item.MANAGER_DEPARTMENT_NAME }}
</text>
</view>
<view v-show="item.IS_CORP_TYPE== '0'" class="dy-subtitle-flex">
<text>
监管部门{{ item.DEPARTMENT_NAME }}
</text>
</view>
<view class="dy-subtitle-flex">
<text>相关方单位负责人{{item.UNITS_PIC_NAME}}</text>
<text>电话{{item.UNITS_PHONE}}</text>
</view>
<view class="dy-subtitle-flex" style="height: 34upx;">
<text>安全环保检查次数{{item.CHECK_COUNT}}</text>
<text>
<button class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.OUTSOURCED_ID)"></button>
</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,formatDate,loginUser,loginUserId
} 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 : '',
noClick:true,
}
},
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()
}
})
},
onLoad() {//
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
methods: {
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/safety-environmental-inspection/detail-list?OUTSOURCED_ID='+e
});
},
getQuery(){ //
var _this = this;
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
},
InputBlur(e){
this.NameLikes = e.detail.value
},
//
scrolltolower(){
var _this = this;
_this.showCount = 10;
_this.currentPage = _this.currentPage + 1;
_this.isEnd = false;
if(_this.totalPage >= _this.currentPage){
_this.getData();//
}
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyProjects/listOutsourced?showCount='+_this.showCount+'&currentPage='+_this.currentPage ,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
UserId:loginUserId
},
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>

View File

@ -0,0 +1,248 @@
<template>
<view class="cu-dialog">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">处罚原因</view>
<input v-model="punishForm.REASON" placeholder="请输入处罚原因"></input>
</view>
<view class="cu-form-group">
<view class="title">处罚金额</view>
<input v-model="punishForm.AMOUT" placeholder="请输入处罚金额"></input>
</view>
<view class="cu-form-group">
<view class="title">被处罚单位</view>
<input v-model="punishForm.RECTIFICATIONDEPT_NAME" placeholder="请输入被处罚单位"></input>
</view>
<view class="cu-form-group">
<view class="title">被处罚人</view>
<input v-model="punishForm.RECTIFICATIONOR_NAME" placeholder="请输入被处罚人"></input>
</view>
<view class="cu-form-group">
<view class="title">下发处罚时间</view>
<ruiDatePicker fields="minute" :value="punishForm.DATE || '请选择'"
@change="changeStartDate"></ruiDatePicker>
</view>
</view>
<!-- <view class="cu-bar bg-white justify-between">
<view class="action" style="flex-basis: 100%">
<button class="cu-btn" style="flex-basis: 50%" @click="modalShow = false">关闭</button>
<button class="cu-btn line-green text-green" style="flex-basis: 50%" @click="fnSubmit"></button>
</view>
</view> -->
</view>
</template>
<script>
import {
basePath,corpinfoId,loginSession,formatDate,loginUser,loginUserId
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'
export default {
props:{
ordPunishForm:{
Default:"",
Type:Object
}
},
name: "punish-vue",
components: {
tkiTree,
ruiDatePicker,
},
data() {
return {
showRight: false,
dataFlag:'noData',
sTop:0,
totalHeight:0,
list:[],//
page:1,//--
rows:10,//--
totalCount:0,//--
isEnd:false,//
totalPage: 0, //--
NameLikes : '',
OUTSOURCED_ID : '',
noClick:true,
sourceState: {
1: "AI报警",
2: "AI报警(企业端)",
4: "安全环保检查(监管端)",
5: "安全环保检查(企业端)",
},
state: {
1: "未整改",
2: "已整改",
4: "已验收",
},
TabCur: 0,
scrollLeft: 0,
tabNav: ['待验收隐患', '已验收隐患'],
modalShow:false,
punishForm:{
HIDDEN_ID:'',
RECTIFICATIONDEPT_NAME:'',
RECTIFICATIONOR_NAME:'',
REASON:'',
AMOUT:'',
DATE:formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
},
punishRules: {
'REASON': '请填写处罚原因',
'AMOUT': '请填写处罚金额',
'DATE': '请选择下发处罚时间',
},
loginUserId:loginUserId
}
},
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()
}
})
},
onLoad(e) {//
this.OUTSOURCED_ID = e.OUTSOURCED_ID
},
onShow() {
//
var _this = this;
_this.background = require('@/common/background.json');
_this.showCount = 10;
_this.currentPage = 1;
_this.list = [];
_this.isEnd = false;
_this.getData();
loginSession();
},
created(){
if (this.ordPunishForm) {
this.punishForm = this.ordPunishForm
}
console.log(this.ordPunishForm)
},
methods: {
//
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/key-project-management/hidden-management/detail?HIDDEN_ID='+e + '&OUTSOURCED_ID=' + this.OUTSOURCED_ID + '&TabCur=' + (this.TabCur+1)
});
},
getData(){
var _this = this;
if (_this.isEnd) {
return
}else{
this.isEnd =true;
}
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/keyprojectcheck/listHidden?showCount='+_this.showCount+'&currentPage='+_this.currentPage,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
KEYWORDS : _this.NameLikes, //
CORPINFO_ID:corpinfoId,
OUTSOURCED_ID:this.OUTSOURCED_ID,
CREATOR:loginUserId,
ISCHECK:Number(this.TabCur) + 1
},
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);
}
}
}
}
})
},
changeStartDate(e) {
this.punishForm.DATE = e
this.$forceUpdate();//
}
}
}
</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;
}
.cu-modal{
z-index: 0;
}
</style>

View File

@ -109,6 +109,15 @@
<text>高危作业</text>
</view>
</navigator>
<navigator class="home-apps-item" hover-class="none" url="/pages/application/key-project-management/index/index">
<view class="home-apps-item-img">
<image src="../../static/icon-apps/home-zdgcgl.jpg" mode=""></image>
</view>
<view class="text">
<text>重点工程管理</text>
</view>
<view v-if="keyProjectManagement" class="cu-tag badge">{{ keyProjectManagement }}</view>
</navigator>
<navigator class="home-apps-item" hover-class="none" url="/pages/application/commitment"
v-show="premission.commitment">
<view class="home-apps-item-img">

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

BIN
static/icon-apps/nike.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB