1604 lines
52 KiB
Vue
1604 lines
52 KiB
Vue
<template>
|
|
<view :class="isUps == true ? 'prevent' : ''">
|
|
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
|
<block slot="backText">返回</block>
|
|
<block slot="content">隐患登记</block>
|
|
</cu-custom>
|
|
<scroll-view scroll-y="false">
|
|
<view class="form">
|
|
<view class="cu-form-textarea">
|
|
<view class="cu-form-title">检查内容</view>
|
|
<view class="cu-form-p" style="padding: 0;">
|
|
{{ pd.CHECK_CONTENT }}
|
|
</view>
|
|
</view>
|
|
<view class="cu-bar bg-white margin-top">
|
|
<view class="action" style="font-size: 28upx; font-weight: bold; color: #000;">
|
|
隐患照片
|
|
</view>
|
|
<view class="action">
|
|
{{ imgList.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 imgList" :key="index" @tap="ViewImage" data-type="0"
|
|
:data-url="imgList[index].filePath">
|
|
<image :src="imgList[index].filePath" mode="aspectFill"></image>
|
|
<view class="cu-tag bg-red" @tap.stop="DelImg" data-type="0" :data-index="index">
|
|
<text class='cuIcon-close'></text>
|
|
</view>
|
|
</view>
|
|
<view class="solids" @tap.stop="openAuth('CAMERA')" v-if="imgList.length<4">
|
|
<text class='cuIcon-cameraadd'></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="ai_btn ">
|
|
<view class="ai_btn_con" @click="$noMultipleClicks(goIdentifyImg)">
|
|
<image src="../../../../static/ai_img.png" style="width: 16px;height: 16px"/>
|
|
<view class="text" style="margin-left: 5px;"> AI隐患识别与处置</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-bar bg-white">
|
|
<view class="action">
|
|
隐患视频
|
|
</view>
|
|
<view class="action">
|
|
{{ videoList.length }}/1
|
|
</view>
|
|
</view>
|
|
<view class="cu-form-group">
|
|
<view class="grid col-4 grid-square flex-sub">
|
|
<view class="bg-img" v-for="(item,vindex) in videoList" :key="vindex" style="background-color: #000">
|
|
<image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
|
|
:data-src="videoList[vindex].filePath"></image>
|
|
<view class="cu-tag bg-red" @tap.stop="DelVideo" data-type="0" :data-index="vindex">
|
|
<text class='cuIcon-close'></text>
|
|
</view>
|
|
</view>
|
|
<view class="solids" @tap.stop="openAuthVideo('CAMERA')" v-if="videoList.length == 0">
|
|
<text class='cuIcon-cameraadd'></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-form-textarea margin-top">
|
|
<view class="cu-form-title">隐患描述</view>
|
|
<textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENDESCR"
|
|
placeholder="请对隐患进行详细描述(必填项)"></textarea>
|
|
</view>
|
|
<!-- <view class="cu-form-textarea margin-top">-->
|
|
<!-- <view class="cu-form-title">-->
|
|
<!-- 隐患部位-->
|
|
<!-- <!– <button class="cu-btn bg-green sm reg-btn" @click="openHidden" >隐患字典</button>–>-->
|
|
<!-- </view>-->
|
|
<!-- <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENPART"-->
|
|
<!-- placeholder="请对隐患部位进行详细描述(必填项)"></textarea>-->
|
|
<!-- </view>-->
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">隐患区域</view>
|
|
<view class="picker-tree-box">
|
|
<view class="picker-tree" @tap="showHiddenQyZgTree">
|
|
{{ pd.HIDDEN_DANGER_AREA_NAME ? pd.HIDDEN_DANGER_AREA_NAME : '请选择' }}
|
|
</view>
|
|
</view>
|
|
<tki-tree ref="tkiTreedd"
|
|
:selectParent=true
|
|
:range="treeNode"
|
|
rangeKey="name"
|
|
@confirm="zgtreeHiddenQy"
|
|
@cancel="zgtreeCancel"></tki-tree>
|
|
</view>
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">隐患标签</view>
|
|
<picker @change="hiddenDangerLabelPickerChange" :value="dangerLabellindex" :range="hiddenDangerLabelList"
|
|
range-key="NAME">
|
|
<view class="picker">
|
|
{{ pd.HIDDEN_DANGER_LABEL_NAME ? pd.HIDDEN_DANGER_LABEL_NAME : '请选择' }}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">隐患分级</view>
|
|
<picker @change="hiddenDangerClassificationPickerChange" :value="hiddenClassificationlindex"
|
|
:range="hiddenClassificationList" range-key="NAME">
|
|
<view class="picker">
|
|
{{ pd.HIDDEN_CLASSIFICATION_NAME ? pd.HIDDEN_CLASSIFICATION_NAME : '请选择' }}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">隐患级别</view>
|
|
<picker @change="levelPickerChange" :value="lindex" :range="levelList" range-key="NAME">
|
|
<view class="picker">
|
|
{{ pd.HIDDENLEVELNAME ? pd.HIDDENLEVELNAME : '请选择' }}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
<view v-if="baoBaoType === '1'" class="cu-form-group margin-top">
|
|
<view class="title">隐患类别</view>
|
|
<picker @change="categoryPickerChange" :value="cindex" :range="categoryList" range-key="NAME">
|
|
<view class="picker">
|
|
{{ pd.HIDDEN_CATEGORY_NAME ? pd.HIDDEN_CATEGORY_NAME : '请选择' }}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">隐患类型</view>
|
|
<view class="picker-tree-box">
|
|
<view class="picker-tree" @tap="showZgTree1">{{ pd.HIDDENTYPENAME ? pd.HIDDENTYPENAME : '请选择' }}</view>
|
|
</view>
|
|
<tki-tree ref="tkiTree1"
|
|
:selectParent="true"
|
|
:range="hiddenTypeList"
|
|
rangeKey="name"
|
|
@confirm="zgtreeConfirm1"
|
|
@cancel="zgtreeCancel1"></tki-tree>
|
|
</view>
|
|
|
|
<view class="cu-form-group margin-top">
|
|
<view class="title">是否立即整改</view>
|
|
<radio-group class="selected">
|
|
<view class="group mr20" v-if="disabledvalue==false">
|
|
<radio class='radio' value="1" :checked="RECTIFICATIONTYPE==1" @click="radioType(1)"></radio>
|
|
<text>是</text>
|
|
</view>
|
|
<view class="group mr20" v-if="disabledvalue==true">
|
|
<radio class='radio' disabled="true" value="1" :checked="RECTIFICATIONTYPE==1"></radio>
|
|
<text>是</text>
|
|
</view>
|
|
<view class="group">
|
|
<radio class='radio' value="2" :checked="RECTIFICATIONTYPE==2" @click="radioType(2)"></radio>
|
|
<text>否</text>
|
|
</view>
|
|
</radio-group>
|
|
</view>
|
|
|
|
<!-- <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
|
|
<!-- <view class="title">整改责任部门</view>-->
|
|
<!-- <view class="picker-tree-box">-->
|
|
<!-- <view class="picker-tree" @tap="showZgTree">-->
|
|
<!-- {{ pd.RECTIFICATIONDEPTNAME ? pd.RECTIFICATIONDEPTNAME : '请选择' }}-->
|
|
<!-- </view>-->
|
|
<!-- </view>-->
|
|
<!-- <tki-tree ref="tkiTree"-->
|
|
<!-- :selectParent=true-->
|
|
<!-- :range="treeNode"-->
|
|
<!-- rangeKey="name"-->
|
|
<!-- @confirm="zgtreeConfirm"-->
|
|
<!-- @cancel="zgtreeCancel"></tki-tree>-->
|
|
<!-- </view>-->
|
|
<!-- <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
|
|
<!-- <view class="title">整改责任人</view>-->
|
|
<!-- <view style="position: relative">-->
|
|
<!-- <view class="search-input">-->
|
|
<!-- <input-->
|
|
<!-- type="text"-->
|
|
<!-- style="text-align: right"-->
|
|
<!-- v-model="searchRectificationUser"-->
|
|
<!-- placeholder="请输入整改责任人"-->
|
|
<!-- @input="filterRectificationUser"-->
|
|
<!-- @click="toggleRectifyDropdown"-->
|
|
<!-- >-->
|
|
<!-- <view class="search-icon" @click="toggleRectifyDropdown">-->
|
|
<!-- <text class="cuIcon-right"></text>-->
|
|
<!-- </view>-->
|
|
<!-- </view>-->
|
|
<!-- <view v-show="showRectifyDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">-->
|
|
<!-- <view-->
|
|
<!-- v-for="(user, index) in filteredRectificationUsers"-->
|
|
<!-- :key="index"-->
|
|
<!-- @click="selectRectificationUser(user)"-->
|
|
<!-- >-->
|
|
<!-- {{ user.NAME }}-->
|
|
<!-- </view>-->
|
|
<!-- </view>-->
|
|
<!-- </view>-->
|
|
<!-- </view>-->
|
|
<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
|
|
<view class="title">整改期限</view>
|
|
<picker mode="date" :value="pd.RECTIFICATIONDEADLINE" :start="rectifyPlanCompletionStartTime"
|
|
@change="changeDate">
|
|
<view class="picker">
|
|
{{ pd.RECTIFICATIONDEADLINE ? pd.RECTIFICATIONDEADLINE : '请选择' }}
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
|
|
<view class="cu-form-textarea margin-top" v-if="RECTIFICATIONTYPE==1">
|
|
<view class="cu-form-title">整改描述</view>
|
|
<textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.RECTIFYDESCR"
|
|
placeholder="请对隐患进行整改描述(必填项)"></textarea>
|
|
</view>
|
|
<view class="cu-bar bg-white margin-top" v-if="RECTIFICATIONTYPE==1">
|
|
<view class="action">
|
|
整改后图片
|
|
</view>
|
|
<view class="action">
|
|
{{ imgList1.length }}/4
|
|
</view>
|
|
</view>
|
|
<view class="cu-form-group" v-if="RECTIFICATIONTYPE==1">
|
|
<view class="grid col-4 grid-square flex-sub">
|
|
<view class="bg-img" v-for="(item,index) in imgList1" :key="index" @tap="ViewImage" data-type="1"
|
|
:data-url="imgList1[index].filePath">
|
|
<image :src="imgList1[index].filePath" mode="aspectFill"></image>
|
|
<view class="cu-tag bg-red" @tap.stop="DelImg" data-type="1" :data-index="index">
|
|
<text class='cuIcon-close'></text>
|
|
</view>
|
|
</view>
|
|
<view class="solids" @tap.stop="openAuthZg('CAMERA')" v-if="imgList1.length<4">
|
|
<text class='cuIcon-cameraadd'></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
|
|
<view class="title">隐患确认人部门</view>
|
|
<view class="picker-tree-box">
|
|
<view class="picker-tree" @tap="showQrTree">
|
|
{{ pd.CONFIRM_DEPT_NAME ? pd.CONFIRM_DEPT_NAME : '请选择' }}
|
|
</view>
|
|
</view>
|
|
<tki-tree ref="tkiTreeQr"
|
|
:selectParent=true
|
|
:range="treeNode"
|
|
rangeKey="name"
|
|
@confirm="fnHiddenConfirmDept"
|
|
@cancel="zgtreeCancel"></tki-tree>
|
|
</view>
|
|
<view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
|
|
<view class="title">隐患确认人</view>
|
|
<view style="position: relative">
|
|
<view class="search-input">
|
|
<input
|
|
type="text"
|
|
style="text-align: right"
|
|
v-model="searchConfirmUser"
|
|
placeholder="请输入确认人"
|
|
@input="filterConfirmUser"
|
|
@click="toggleConfirmDropdown"
|
|
>
|
|
<view class="search-icon" @click="toggleConfirmDropdown">
|
|
<text class="cuIcon-right"></text>
|
|
</view>
|
|
</view>
|
|
<view v-show="showAnalyzeDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
|
|
<view
|
|
v-for="(user, index) in filteredConfirmUsers"
|
|
:key="index"
|
|
@click="selectConfirmUser(user)"
|
|
>
|
|
{{ user.NAME }}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="padding flex flex-direction">
|
|
<button :loading="buttonloading" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">
|
|
提交
|
|
</button>
|
|
</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>
|
|
<video :src="videoSrc" :show-fullscreen-btn="false" :autoplay="true"
|
|
@fullscreenchange="fullScreenHandler"></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>
|
|
<library-select :visible.sync="library" :value="pd.HIDDENPART" :name="RISK_UNIT_NAME" @confirm="confirm"/>
|
|
|
|
<yk-authpup ref="authpup" type="top" @changeAuth="ChooseImage(0)" :permissionID="permissionID"></yk-authpup>
|
|
<yk-authpup ref="authpup_video" type="top" @changeAuth="chooseVideo(0)" :permissionID="permissionID"></yk-authpup>
|
|
<yk-authpup ref="authpup_zg" type="top" @changeAuth="ChooseImage(1)" :permissionID="permissionID"></yk-authpup>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
basePath, corpinfoId, deptId, loginUser, formatDate, loginSession, baseImgPath
|
|
} from '@/common/tool.js';
|
|
import tkiTree from "@/components/select-tree/select-tree.vue"
|
|
import gcoord from '@/common/gcoord.js'
|
|
import LibrarySelect from '@/components/library-select/index.vue';
|
|
import ykAuthpup from "@/components/yk-authpup/yk-authpup"
|
|
|
|
export default {
|
|
components: {
|
|
tkiTree, LibrarySelect, ykAuthpup
|
|
},
|
|
data() {
|
|
return {
|
|
permissionID: '',
|
|
isUps: false,
|
|
showRectifyDropdown: false,
|
|
filteredRectificationUsers: [],
|
|
searchRectificationUser: '',
|
|
showAnalyzeDropdown: false,
|
|
filteredConfirmUsers: [],
|
|
searchConfirmUser: '',
|
|
buttonloading: false,
|
|
msg: 'riskListCheckAdd',
|
|
riskId: '',
|
|
itemId: '',
|
|
LISTMANAGER_ID: '',
|
|
RISK_UNIT_ID: '',
|
|
RISK_UNIT_NAME: '',
|
|
index: '',
|
|
noClick: true,
|
|
pd: [{"RECTIFICATIONTYPE": 2}],
|
|
imgList: [],
|
|
imgList1: [],
|
|
HIDDENDESCR: '',//隐患描述
|
|
HIDDENPART: '',//隐患部位
|
|
modalName: null,
|
|
id: '',
|
|
CHECK_CONTENT: '',
|
|
checkId: '',
|
|
RECTIFYDESCR: '',//整改描述
|
|
RECTIFICATIONTYPE: 2,//是否立即
|
|
treeNode: [],//部门下拉数据
|
|
RECTIFICATIONDEPT: '',//整改部门
|
|
RECTIFICATIONDEPTNAME: '请选择',//整改部门
|
|
CHECKDEPT: '',//验收部门
|
|
CHECKDEPTNAME: '请选择',//验收部门
|
|
rectificationUserList: [],
|
|
RECTIFICATIONOR: '',//整改人
|
|
uindex: -1,
|
|
lindex: -1,
|
|
cindex: -1,
|
|
dangerLabellindex: -1,
|
|
hiddenClassificationlindex: -1,
|
|
hiddenClassificationList: [
|
|
{NAME: "公司级", BIANMA: "0"},
|
|
{NAME: "厂部级", BIANMA: "1"},
|
|
{NAME: "车间级", BIANMA: "2"},
|
|
{NAME: "班组级", BIANMA: "3"},
|
|
],
|
|
hiddenDangerLabelList: [
|
|
{NAME: "外施工", BIANMA: "1"},
|
|
{NAME: "厂内", BIANMA: "2"},
|
|
{NAME: "BOO、BOT项目", BIANMA: "3"},
|
|
],
|
|
levelList: [],
|
|
categoryList: [],
|
|
tindex: -1,
|
|
hiddenTypeList: [],
|
|
HIDDENLEVEL: '',//隐患级别
|
|
RECTIFICATIONDEADLINE: '',//整改期限
|
|
rectifyPlanCompletionStartTime: '',
|
|
disabledvalue: false,
|
|
videoSrc: '',
|
|
modalShow: false,
|
|
videoList: [],
|
|
confirmUserList: [],
|
|
baoBaoType: '',
|
|
library: false
|
|
}
|
|
},
|
|
onLoad(event) {
|
|
let now = new Date();
|
|
var tomorrow = now.setDate(now.getDate() + 1);
|
|
tomorrow = new Date(tomorrow);
|
|
this.rectifyPlanCompletionStartTime = formatDate(tomorrow, 'yyyy-MM-dd');
|
|
this.pd.HIDDEN_ID = event.HIDDEN_ID;
|
|
if (this.pd.HIDDEN_ID) {
|
|
this.msg = "riskListCheckEdit";
|
|
this.getData();
|
|
} else {
|
|
this.pd.CHECK_CONTENT = JSON.parse(decodeURIComponent(event.checkContent));
|
|
this.riskId = JSON.parse(decodeURIComponent(event.riskId));
|
|
this.itemId = JSON.parse(decodeURIComponent(event.itemId));
|
|
this.LISTMANAGER_ID = JSON.parse(decodeURIComponent(event.LISTMANAGER_ID));
|
|
this.RISK_UNIT_ID = JSON.parse(decodeURIComponent(event.RISK_UNIT_ID));
|
|
this.RISK_UNIT_NAME = JSON.parse(decodeURIComponent(event.RISK_UNIT_NAME));
|
|
this.baoBaoType = JSON.parse(decodeURIComponent(event.baoBaoType)) + '';
|
|
console.log(this.baoBaoType)
|
|
this.index = event.index;
|
|
}
|
|
this.getDept();
|
|
this.getLevel();
|
|
this.getHiddenType();
|
|
loginSession();
|
|
},
|
|
methods: {
|
|
filterRectificationUser() {
|
|
const query = this.searchRectificationUser.trim().toLowerCase();
|
|
if (!query) {
|
|
this.filteredRectificationUsers = this.rectificationUserList;
|
|
this.pd.RECTIFICATIONOR = '';
|
|
this.pd.RECTIFICATIONORNAME = '';
|
|
} else {
|
|
this.filteredRectificationUsers = this.rectificationUserList.filter(user =>
|
|
user.NAME.toLowerCase().includes(query)
|
|
);
|
|
}
|
|
},
|
|
toggleRectifyDropdown() {
|
|
if (!this.pd.RECTIFICATIONDEPT) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择整改部门',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!this.rectificationUserList.length) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '部门下无整改责任人',
|
|
duration: 1500
|
|
});
|
|
this.searchRectificationUser = ""
|
|
return;
|
|
}
|
|
this.showRectifyDropdown = !this.showRectifyDropdown;
|
|
if (this.showRectifyDropdown) this.filterRectificationUser();
|
|
},
|
|
selectRectificationUser(user) {
|
|
this.searchRectificationUser = user.NAME;
|
|
this.pd.RECTIFICATIONOR = user.USER_ID;
|
|
this.pd.RECTIFICATIONORNAME = user.NAME;
|
|
this.showRectifyDropdown = false;
|
|
},
|
|
filterConfirmUser() {
|
|
console.log('filterConfirmUser')
|
|
const query = this.searchConfirmUser.trim().toLowerCase();
|
|
if (!query) {
|
|
this.filteredConfirmUsers = this.confirmUserList;
|
|
this.pd.CONFIRM_USER = '';
|
|
this.pd.CONFIRM_USER_NAME = '';
|
|
} else {
|
|
this.filteredConfirmUsers = this.confirmUserList.filter(user =>
|
|
user.NAME.toLowerCase().includes(query)
|
|
);
|
|
}
|
|
},
|
|
toggleConfirmDropdown() {
|
|
if (!this.pd.CONFIRM_DEPT) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择确认人部门',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!this.confirmUserList.length) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '部门下无确认人',
|
|
duration: 1500
|
|
});
|
|
this.searchConfirmUser = ""
|
|
return;
|
|
}
|
|
this.showAnalyzeDropdown = !this.showAnalyzeDropdown;
|
|
if (this.showAnalyzeDropdown) this.filterConfirmUser();
|
|
},
|
|
selectConfirmUser(user) {
|
|
this.searchConfirmUser = user.NAME;
|
|
this.pd.CONFIRM_USER = user.USER_ID;
|
|
this.pd.CONFIRM_USER_NAME = user.NAME;
|
|
this.showAnalyzeDropdown = false;
|
|
},
|
|
hiddenDangerClassificationPickerChange(e) {
|
|
this.hiddenClassificationlindex = e.detail.value;
|
|
this.pd.HIDDEN_CLASSIFICATION = this.hiddenClassificationList[this.hiddenClassificationlindex].BIANMA;
|
|
this.pd.HIDDEN_CLASSIFICATION_NAME = this.hiddenClassificationList[this.hiddenClassificationlindex].NAME;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
fullScreenHandler(e) {
|
|
if (uni.getSystemInfoSync().platform == "ios") {
|
|
return
|
|
}
|
|
},
|
|
getData() {
|
|
var _this = this;
|
|
uni.showLoading({
|
|
title: '请稍候'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/hidden/goEdit',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
HIDDEN_ID: _this.pd.HIDDEN_ID,
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: (res) => {
|
|
if ("success" == res.data.result) {
|
|
uni.hideLoading();
|
|
_this.pd = res.data.pd; //参数map
|
|
_this.RISK_UNIT_ID = res.data.pd.RISK_UNIT_ID;
|
|
_this.RECTIFICATIONTYPE = _this.pd.RECTIFICATIONTYPE;
|
|
_this.pd.HIDDENTYPENAME = _this.pd.HIDDENTYPE_NAME;
|
|
_this.searchConfirmUser = _this.pd.CONFIRM_USER_NAME;
|
|
_this.searchRectificationUser = _this.pd.RECTIFICATIONORNAME;
|
|
if (_this.pd.HIDDEN_CLASSIFICATION == '0'){
|
|
_this.pd.HIDDEN_CLASSIFICATION_NAME = "公司级"
|
|
}
|
|
if (_this.pd.HIDDEN_CLASSIFICATION == '1'){
|
|
_this.pd.HIDDEN_CLASSIFICATION_NAME = "厂部级"
|
|
}
|
|
if (_this.pd.HIDDEN_CLASSIFICATION == '2'){
|
|
_this.pd.HIDDEN_CLASSIFICATION_NAME = "车间级"
|
|
}
|
|
if (_this.pd.HIDDEN_CLASSIFICATION == '3'){
|
|
_this.pd.HIDDEN_CLASSIFICATION_NAME = "班组级"
|
|
}
|
|
if (_this.pd.HIDDEN_DANGER_LABEL == '1'){
|
|
_this.pd.HIDDEN_DANGER_LABEL_NAME = "外施工"
|
|
}
|
|
if (_this.pd.HIDDEN_DANGER_LABEL == '2'){
|
|
_this.pd.HIDDEN_DANGER_LABEL_NAME = "厂内"
|
|
}
|
|
if (_this.pd.HIDDEN_DANGER_LABEL == '3'){
|
|
_this.pd.HIDDEN_DANGER_LABEL_NAME = "BOO、BOT项目"
|
|
}
|
|
let files = res.data.hImgs;
|
|
for (var i = 0; i < files.length; i++) {
|
|
let img = {};
|
|
img.filePath = baseImgPath + files[i].FILEPATH;
|
|
if (files[i].FILEPATH.substring(files[i].FILEPATH.lastIndexOf("."), files[i].FILEPATH.length) != '.mp4') {
|
|
img.id = files[i].IMGFILES_ID;
|
|
_this.imgList.push(img);
|
|
} else {
|
|
img.id = files[i].IMGFILES_ID;
|
|
_this.videoList.push(img);
|
|
}
|
|
}
|
|
let files1 = res.data.rImgs;
|
|
for (var i = 0; i < files1.length; i++) {
|
|
let img = {};
|
|
img.filePath = baseImgPath + files1[i].FILEPATH;
|
|
img.id = files1[i].IMGFILES_ID;
|
|
_this.imgList1.push(img);
|
|
}
|
|
_this.getUserList();
|
|
} else if ("exception" == data.result) {
|
|
uni.showToast({
|
|
title: '错误',
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
openHidden() {
|
|
if (!this.pd.HIDDENPART) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请先输入隐患部位信息,在进行隐患字典查询',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
} else {
|
|
this.library = true
|
|
}
|
|
},
|
|
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: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: (res) => {
|
|
if ("success" == res.data.result) {
|
|
_this.treeNode = eval(res.data.zTreeNodes);
|
|
} else {
|
|
uni.showToast({
|
|
title: res.data.message,
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
// 确定回调事件
|
|
zgtreeConfirm(e) {
|
|
this.isUps = false;
|
|
this.pd.RECTIFICATIONDEPT = e[0].id;
|
|
this.pd.RECTIFICATIONDEPTNAME = e[0].name;
|
|
this.uindex = -1;
|
|
this.pd.RECTIFICATIONOR = '';
|
|
this.pd.RECTIFICATIONORNAME = '';
|
|
this.pd.searchRectificationUser = '';
|
|
this.$forceUpdate();//强制刷新
|
|
this.getUserList();
|
|
},
|
|
showHiddenQyZgTree() {
|
|
this.isUps = true
|
|
this.$refs.tkiTreedd._show();
|
|
},
|
|
zgtreeHiddenQy(e) {
|
|
this.isUps = false;
|
|
this.pd.HIDDEN_DANGER_AREA = e[0].id;
|
|
this.pd.HIDDEN_DANGER_AREA_NAME = e[0].name;
|
|
this.uindex = -1;
|
|
this.$forceUpdate();//强制刷新
|
|
this.getUserList();
|
|
},
|
|
hiddenDangerLabelPickerChange(e) {
|
|
this.dangerLabellindex = e.detail.value;
|
|
this.pd.HIDDEN_DANGER_LABEL = this.hiddenDangerLabelList[this.dangerLabellindex].BIANMA;
|
|
this.pd.HIDDEN_DANGER_LABEL_NAME = this.hiddenDangerLabelList[this.dangerLabellindex].NAME;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
showQrTree() {
|
|
this.isUps = true
|
|
this.$refs.tkiTreeQr._show();
|
|
},
|
|
fnHiddenConfirmDept(e) {
|
|
this.isUps = false;
|
|
this.pd.CONFIRM_DEPT = e[0].id;
|
|
this.pd.CONFIRM_DEPT_NAME = e[0].name;
|
|
this.uindex = -1;
|
|
this.pd.CONFIRM_USER = '';
|
|
this.pd.CONFIRM_USER_NAME = '';
|
|
this.searchConfirmUser = '';
|
|
this.$forceUpdate();//强制刷新
|
|
this.getConfirmUserList();
|
|
},
|
|
getConfirmUserList() {
|
|
var _this = this;
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/app/sys/listUser',
|
|
data: {
|
|
DEPARTMENT_ID: _this.pd.CONFIRM_DEPT,
|
|
tm: new Date().getTime(),
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
ISCONFIRM: 1,
|
|
},
|
|
success: function (res) {
|
|
if ("success" == res.data.result) {
|
|
_this.confirmUserList = res.data.userList;
|
|
} else {
|
|
uni.showToast({
|
|
title: res.data.message,
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 取消回调事件
|
|
zgtreeCancel(e) {
|
|
this.isUps = false;
|
|
},
|
|
// 显示树形选择器
|
|
showZgTree() {
|
|
this.isUps = true
|
|
this.$refs.tkiTree._show();
|
|
},
|
|
|
|
// 确定回调事件
|
|
ystreeConfirm(e) {
|
|
this.pd.CHECKDEPT = e[0].id;
|
|
this.pd.CHECKDEPTNAME = e[0].name;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
// 显示树形选择器
|
|
showYsTree() {
|
|
this.$refs.tkiTree1._show();
|
|
},
|
|
//获取人员列表
|
|
getUserList() {
|
|
//发送 post 请求
|
|
var _this = this;
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/app/sys/listUser',
|
|
data: {
|
|
DEPARTMENT_ID: _this.pd.RECTIFICATIONDEPT,
|
|
tm: new Date().getTime(),
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: function (res) {
|
|
if ("success" == res.data.result) {
|
|
_this.rectificationUserList = res.data.userList;
|
|
} else {
|
|
uni.showToast({
|
|
title: res.data.message,
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
})
|
|
},
|
|
//获取数据字典数据
|
|
getLevel: function () {
|
|
var _this = this;
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
|
|
data: {
|
|
DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a',
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: function (res) {
|
|
_this.levelList = res.data.list;
|
|
}
|
|
});
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
|
|
data: {
|
|
DICTIONARIES_ID: 'ec1d6dcfd0f2438a88968feea542eab0',
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: function (res) {
|
|
_this.categoryList = res.data.list;
|
|
}
|
|
});
|
|
},
|
|
levelPickerChange(e) {
|
|
console.log(e)
|
|
if (e.detail.value == 1) {
|
|
this.disabledvalue = true;
|
|
this.RECTIFICATIONTYPE = 2;
|
|
} else {
|
|
this.disabledvalue = false;
|
|
}
|
|
this.lindex = e.detail.value;
|
|
this.pd.HIDDENLEVEL = this.levelList[this.lindex].BIANMA;
|
|
this.pd.HIDDENLEVELNAME = this.levelList[this.lindex].NAME;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
categoryPickerChange(e) {
|
|
this.cindex = e.detail.value;
|
|
this.pd.HIDDEN_CATEGORY = this.categoryList[this.cindex].DICTIONARIES_ID;
|
|
this.pd.HIDDEN_CATEGORY_NAME = this.categoryList[this.cindex].NAME;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
getHiddenType: function () {
|
|
var _this = this;
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/dictionaries/getLevels',
|
|
data: {
|
|
DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff8',
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: function ({data}) {
|
|
for (let i = 0; i < data.list.length; i++) {
|
|
if (data.list[i].BIANMA.indexOf(loginUser.PROVINCE) > -1) {
|
|
_this.getTrainDicList(data.list[i].DICTIONARIES_ID)
|
|
break
|
|
}
|
|
}
|
|
}
|
|
});
|
|
},
|
|
getTrainDicList(parentId) { // trainDicList
|
|
var _this = this;
|
|
uni.request({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
url: basePath + '/dictionaries/listAllDictToParId',
|
|
data: {
|
|
parentId,
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: function ({data}) {
|
|
let zTreeNodes = data.zTreeNodes
|
|
zTreeNodes = zTreeNodes.replace(/"nodes":\[/g, '"children":[')
|
|
_this.hiddenTypeList = JSON.parse(zTreeNodes)
|
|
}
|
|
});
|
|
},
|
|
showZgTree1() {
|
|
this.isUps = true
|
|
this.$refs.tkiTree1._show();
|
|
},
|
|
zgtreeCancel1(e) {
|
|
this.isUps = false;
|
|
},
|
|
zgtreeConfirm1(e) {
|
|
this.isUps = false;
|
|
if (e[0]?.parents.length === 1) {
|
|
this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.id || ''];
|
|
this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.name || ''].join('/')
|
|
} else if (e[0]?.parents.length === 2) {
|
|
this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.parents[1]?.id || '', e[0]?.id || ''];
|
|
this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.parents[1]?.name || '', e[0]?.name || ''].join('/')
|
|
} else {
|
|
this.pd.HIDDENTYPE = [e[0]?.id || ''];
|
|
this.pd.HIDDENTYPENAME = [e[0]?.name || ''].join('/');
|
|
}
|
|
},
|
|
typePickerChange(e) {
|
|
this.tindex = e.detail.value;
|
|
this.pd.HIDDENTYPE = this.hiddenTypeList[this.tindex].BIANMA;
|
|
this.pd.HIDDENTYPENAME = this.hiddenTypeList[this.tindex].NAME;
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
changeDate(e) {
|
|
this.pd.RECTIFICATIONDEADLINE = e.detail.value
|
|
this.$forceUpdate();//强制刷新
|
|
},
|
|
|
|
openAuth(permissionID) {
|
|
this.permissionID = permissionID;
|
|
setTimeout(() => {
|
|
this.$refs['authpup'].open();
|
|
}, 200)
|
|
},
|
|
|
|
openAuthZg(permissionID) {
|
|
this.permissionID = permissionID;
|
|
setTimeout(() => {
|
|
this.$refs['authpup_zg'].open();
|
|
}, 200)
|
|
},
|
|
|
|
//图片上传
|
|
ChooseImage(e) {
|
|
var _this = this;
|
|
var ss = 4 - this.imgList.length;
|
|
uni.chooseImage({
|
|
count: ss, //默认9
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
sourceType: ['camera', 'album'], //从相册选择
|
|
success: (res) => {
|
|
if (e == 0) {
|
|
for (let i = 0; i < res.tempFilePaths.length; i++) {
|
|
let img = {};
|
|
img.id = '';
|
|
img.filePath = res.tempFilePaths[i];
|
|
this.imgList.push(img)
|
|
}
|
|
} else {
|
|
for (let i = 0; i < res.tempFilePaths.length; i++) {
|
|
let img = {};
|
|
img.id = '';
|
|
img.filePath = res.tempFilePaths[i];
|
|
this.imgList1.push(img)
|
|
}
|
|
}
|
|
}
|
|
});
|
|
},
|
|
ViewImage(e) {
|
|
console.info(e.currentTarget.dataset.type)
|
|
if (e.currentTarget.dataset.type == 0) {
|
|
let files = [];
|
|
for (var i = 0; i < this.imgList.length; i++) {
|
|
files.push(this.imgList[i].filePath)
|
|
}
|
|
uni.previewImage({
|
|
urls: files,
|
|
current: e.currentTarget.dataset.url
|
|
});
|
|
} else {
|
|
let files = [];
|
|
for (var i = 0; i < this.imgList1.length; i++) {
|
|
files.push(this.imgList1[i].filePath)
|
|
}
|
|
uni.previewImage({
|
|
urls: files,
|
|
current: 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) {
|
|
if (e.currentTarget.dataset.type == 0) {
|
|
if (_this.imgList[i].id) {
|
|
uni.showLoading({
|
|
title: '处理中'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/imgfiles/delete',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
IMGFILES_ID: _this.imgList[i].id,
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading();
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '删除成功',
|
|
duration: 1500
|
|
});
|
|
_this.imgList.splice(i, 1)
|
|
},
|
|
fail: (err) => {
|
|
uni.hideLoading();
|
|
uni.showModal({
|
|
content: err.errMsg,
|
|
showCancel: false
|
|
});
|
|
}
|
|
})
|
|
} else {
|
|
this.imgList.splice(e.currentTarget.dataset.index, 1)
|
|
}
|
|
} else {
|
|
if (_this.imgList1[i].id) {
|
|
uni.showLoading({
|
|
title: '处理中'
|
|
})
|
|
uni.request({
|
|
url: basePath + '/app/imgfiles/delete',
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
IMGFILES_ID: _this.imgList1[i].id,
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: (res) => {
|
|
uni.hideLoading();
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '删除成功',
|
|
duration: 1500
|
|
});
|
|
_this.imgList1.splice(i, 1)
|
|
},
|
|
fail: (err) => {
|
|
uni.hideLoading();
|
|
uni.showModal({
|
|
content: err.errMsg,
|
|
showCancel: false
|
|
});
|
|
}
|
|
})
|
|
} else {
|
|
this.imgList1.splice(e.currentTarget.dataset.index, 1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
textareaAInput(e) {
|
|
this.pd.HIDDENDESCR = e.detail.value
|
|
},
|
|
textareaBInput(e) {
|
|
this.pd.HIDDENPART = e.detail.value
|
|
},
|
|
textareaCInput(e) {
|
|
this.pd.RECTIFYDESCR = e.detail.value
|
|
},
|
|
goIdentifyImg() {
|
|
if (this.imgList.length === 0) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请先上传图片',
|
|
duration: 2000
|
|
});
|
|
} else if (this.imgList.length > 1) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '识别暂时只能上传一张图片',
|
|
duration: 2000
|
|
});
|
|
} else {
|
|
var _this = this;
|
|
if (this.imgList[0].id != "") {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请删除图片重新上传图片后,再次进行图片识别',
|
|
duration: 2000
|
|
});
|
|
return;
|
|
}
|
|
_this.buttonloading = true
|
|
uni.showLoading({
|
|
title: '识别中...'
|
|
})
|
|
uni.uploadFile({
|
|
url: basePath + '/app/hidden/identifyImg',
|
|
filePath: _this.imgList[0].filePath,
|
|
name: 'FFILE',
|
|
formData: {
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
|
|
},
|
|
success: (res) => {
|
|
_this.buttonloading = false
|
|
_this.aiFlag = true
|
|
if ("success" == JSON.parse(res.data).result) {
|
|
const aiHiddens = JSON.parse(res.data).aiHiddens;
|
|
let hiddenDescr = ""
|
|
let rectificationSuggestions = ""
|
|
let legalBasis = ""
|
|
aiHiddens.forEach((item) => {
|
|
hiddenDescr += JSON.parse(item).hiddenDescr + ";"
|
|
rectificationSuggestions += JSON.parse(item).rectificationSuggestions + ";"
|
|
legalBasis += JSON.parse(item).legalBasis + ";"
|
|
})
|
|
_this.pd.HIDDENDESCR = hiddenDescr
|
|
_this.pd.LEGALBASIS = legalBasis
|
|
_this.pd.RECTIFYDESCR = rectificationSuggestions
|
|
_this.radioType(1)
|
|
} else {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: "未识别图片中的隐患",
|
|
duration: 2000
|
|
});
|
|
}
|
|
uni.hideLoading();
|
|
},
|
|
fail: (err) => {
|
|
_this.buttonloading = false
|
|
uni.hideLoading();
|
|
uni.showModal({
|
|
content: err.errMsg,
|
|
showCancel: false
|
|
});
|
|
}
|
|
})
|
|
}
|
|
},
|
|
async goSubmit() {
|
|
var _this = this;
|
|
if (_this.imgList.length <= 0) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请上传隐患图片',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.HIDDENDESCR) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请填隐患描述',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
// if (!_this.pd.HIDDENPART) {
|
|
// uni.showToast({
|
|
// icon: 'none',
|
|
// title: '请填隐患部位',
|
|
// duration: 1500
|
|
// });
|
|
// return;
|
|
// }
|
|
if (!_this.pd.HIDDENLEVEL) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择隐患级别',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.HIDDENTYPE) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择隐患类型',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (_this.RECTIFICATIONTYPE == 1 && !_this.pd.RECTIFYDESCR) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请填整改描述',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (_this.RECTIFICATIONTYPE == 1 && _this.imgList1.length <= 0) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请上传整改后图片',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.HIDDEN_DANGER_LABEL) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择隐患标签',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.HIDDEN_DANGER_AREA) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择隐患区域',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.HIDDEN_CLASSIFICATION) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择隐患分级',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择整改期限',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.CONFIRM_DEPT && _this.RECTIFICATIONTYPE == 2) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择确认部门',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
if (!_this.pd.CONFIRM_USER && _this.RECTIFICATIONTYPE == 2) {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '请选择确认人',
|
|
duration: 1500
|
|
});
|
|
return;
|
|
}
|
|
// if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEPT) {
|
|
// uni.showToast({
|
|
// icon: 'none',
|
|
// title: '请选择整改部门',
|
|
// duration: 1500
|
|
// });
|
|
// return;
|
|
// }
|
|
// if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONOR) {
|
|
// uni.showToast({
|
|
// icon: 'none',
|
|
// title: '请选择整改人',
|
|
// duration: 1500
|
|
// });
|
|
// return;
|
|
// }
|
|
var fileList = [];
|
|
for (var i = 0; i < _this.imgList.length; i++) {
|
|
if (!_this.imgList[i].id) {
|
|
var file = {};
|
|
file.type = 3;
|
|
file.filePath = _this.imgList[i].filePath;
|
|
fileList.push(file);
|
|
}
|
|
}
|
|
for (var i = 0; i < _this.videoList.length; i++) {
|
|
if (!_this.videoList[i].id) {
|
|
var file = {};
|
|
file.type = 3;
|
|
file.filePath = _this.videoList[i].filePath;
|
|
fileList.push(file);
|
|
}
|
|
}
|
|
if (_this.RECTIFICATIONTYPE == 1) {
|
|
for (var i = 0; i < _this.imgList1.length; i++) {
|
|
if (!_this.imgList1[i].id) {
|
|
var file = {};
|
|
file.type = 4;
|
|
file.filePath = _this.imgList1[i].filePath;
|
|
fileList.push(file);
|
|
}
|
|
}
|
|
}
|
|
await _this.submit()
|
|
var i = 0;
|
|
await _this.uploadPromise(fileList)
|
|
var pages = getCurrentPages(); // 获取当前页面栈
|
|
var prePage = pages[pages.length - 2]; // 上一个页面
|
|
// var task = prePage.$vm.list[_this.index];
|
|
if (_this.index) {
|
|
prePage.$vm.initflag = true; // A 页面 init方法 为true
|
|
prePage.$vm.list[_this.index].ISNORMAL = 1;
|
|
prePage.$vm.list[_this.index].HIDDEN_ID = _this.pd.HIDDEN_ID;
|
|
}
|
|
uni.navigateBack({});
|
|
uni.hideLoading();
|
|
},
|
|
async uploadPromise(tempFilePaths) {
|
|
if (tempFilePaths.length == 0) {
|
|
return
|
|
}
|
|
uni.showLoading({
|
|
title: '上传中'
|
|
})
|
|
for (let i = 0; i < tempFilePaths.length; i++) {
|
|
await this.uploadImg(tempFilePaths[i])
|
|
}
|
|
},
|
|
uploadImg(file) {
|
|
return new Promise((resolve, reject) => {
|
|
var _this = this;
|
|
uni.uploadFile({
|
|
url: basePath + '/app/imgfiles/add',
|
|
filePath: file.filePath,
|
|
name: 'FFILE',
|
|
formData: {
|
|
'TYPE': file.type,
|
|
'FOREIGN_KEY': _this.pd.HIDDEN_ID,
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
},
|
|
success: (res) => {
|
|
resolve();
|
|
},
|
|
fail: (err) => {
|
|
uni.hideLoading();
|
|
uni.showModal({
|
|
content: err.errMsg,
|
|
showCancel: false
|
|
});
|
|
}
|
|
})
|
|
})
|
|
},
|
|
submit() {
|
|
return new Promise((resolve, reject) => {
|
|
var _this = this;
|
|
let longitude;
|
|
let latitude;
|
|
this.buttonloading = true
|
|
uni.getLocation({
|
|
type: 'GCJ02',
|
|
success: function (res1) {
|
|
longitude = res1.longitude;
|
|
latitude = res1.latitude;
|
|
var result = gcoord.transform(
|
|
[longitude, latitude], // 经纬度坐标
|
|
gcoord.GCJ02, // 当前坐标系
|
|
gcoord.BD09 // 目标坐标系
|
|
);
|
|
longitude = result[0];
|
|
latitude = result[1];
|
|
//发送 post 请求提交保存
|
|
this.buttonloading = true
|
|
uni.request({
|
|
url: basePath + '/app/hidden/' + _this.msg,
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
header: {
|
|
'Content-type': 'application/x-www-form-urlencoded'
|
|
},
|
|
data: {
|
|
HIDDEN_ID: _this.pd.HIDDEN_ID,
|
|
SOURCE: '2',
|
|
STATE: '-2',
|
|
HIDDENDESCR: _this.pd.HIDDENDESCR,
|
|
// HIDDENPART: _this.pd.HIDDENPART,
|
|
LATITUDE: latitude,
|
|
LONGITUDE: longitude,
|
|
RECTIFYDESCR: _this.pd.RECTIFYDESCR ? _this.pd.RECTIFYDESCR : '',
|
|
RECTIFICATIONDEADLINE: _this.pd.RECTIFICATIONDEADLINE ? _this.pd.RECTIFICATIONDEADLINE : '',
|
|
RECTIFICATIONTYPE: _this.RECTIFICATIONTYPE,
|
|
RECTIFICATIONDEPT: _this.pd.RECTIFICATIONDEPT ? _this.pd.RECTIFICATIONDEPT : '',
|
|
RECTIFICATIONOR: _this.pd.RECTIFICATIONOR ? _this.pd.RECTIFICATIONOR : '',
|
|
CONFIRM_DEPT: _this.pd.CONFIRM_DEPT,
|
|
CONFIRM_USER: _this.pd.CONFIRM_USER,
|
|
HIDDEN_CLASSIFICATION: _this.pd.HIDDEN_CLASSIFICATION ? _this.pd.HIDDEN_CLASSIFICATION : '',
|
|
HIDDEN_DANGER_AREA: _this.pd.HIDDEN_DANGER_AREA ? _this.pd.HIDDEN_DANGER_AREA : '',
|
|
HIDDEN_DANGER_LABEL: _this.pd.HIDDEN_DANGER_LABEL ? _this.pd.HIDDEN_DANGER_LABEL : '',
|
|
HIDDENLEVEL: _this.pd.HIDDENLEVEL,
|
|
HIDDENTYPE: _this.pd.HIDDENTYPE,
|
|
// CHECKDEPT:_this.pd.CHECKDEPT?_this.pd.CHECKDEPT:'',
|
|
CHECK_CONTENT: _this.pd.CHECK_CONTENT,
|
|
HIDDENFINDDEPT: deptId,
|
|
CREATOR: loginUser.USER_ID,
|
|
RECORDITEM_ID: _this.itemId,
|
|
LISTMANAGER_ID: _this.LISTMANAGER_ID,
|
|
RISKITEM_ID: _this.riskId,
|
|
CLEARIMG: '1',
|
|
HIDDENTYPE_NAME: _this.pd.HIDDENTYPENAME,
|
|
HIDDENTYPE1: _this.pd.HIDDENTYPE[0] || '',
|
|
HIDDENTYPE2: _this.pd.HIDDENTYPE[1] || '',
|
|
HIDDENTYPE3: _this.pd.HIDDENTYPE[2] || '',
|
|
CORPINFO_ID: loginUser.CORPINFO_ID,
|
|
USER_ID: loginUser.USER_ID,
|
|
HIDDEN_CATEGORY: _this.pd.HIDDEN_CATEGORY ? _this.pd.HIDDEN_CATEGORY : ''
|
|
},
|
|
success: (res) => {
|
|
this.buttonloading = false
|
|
if ("success" == res.data.result) {
|
|
_this.pd.HIDDEN_ID = res.data.pd.HIDDEN_ID;
|
|
resolve();
|
|
// prePage.$vm.initflag = true; // A 页面 init方法 为true
|
|
// prePage.$vm.list[_this.index].ISNORMAL = 1;
|
|
// prePage.$vm.list[_this.index].HIDDEN_ID = _this.HIDDEN_ID;
|
|
// uni.navigateBack({});
|
|
// uni.hideLoading();
|
|
} else {
|
|
uni.showToast({
|
|
title: res.data.msaesge,
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
fail: function (res) {
|
|
uni.hideLoading();
|
|
uni.showToast({
|
|
title: "获取位置失败",
|
|
duration: 2000
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
},
|
|
radioType(e) {
|
|
if (!this.disabledvalue) {
|
|
this.RECTIFICATIONTYPE = e
|
|
} else {
|
|
this.RECTIFICATIONTYPE = 2
|
|
}
|
|
},
|
|
|
|
openAuthVideo(permissionID) {
|
|
this.permissionID = permissionID;
|
|
setTimeout(() => {
|
|
this.$refs['authpup_video'].open();
|
|
}, 200)
|
|
},
|
|
|
|
chooseVideo(e) {
|
|
var _this = this;
|
|
uni.chooseVideo({
|
|
maxDuration: 60,
|
|
count: 1, //默认9
|
|
// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
sourceType: ['camera', 'album'], //从相册选择
|
|
success: (res) => {
|
|
if (res.tempFilePath.substring(res.tempFilePath.lastIndexOf(".") + 1, res.tempFilePath.length) === 'mp4') {
|
|
let img = {};
|
|
img.id = '';
|
|
img.filePath = res.tempFilePath;
|
|
this.videoList.push(img)
|
|
} else {
|
|
uni.showToast({
|
|
title: "只能上传MP4格式",
|
|
duration: 2000
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
DelVideo(e) {
|
|
uni.showModal({
|
|
title: '',
|
|
content: '确定要删除这个视频吗?',
|
|
cancelColor: "#000000",
|
|
cancelText: '取消',
|
|
confirmText: '确定',
|
|
success: res => {
|
|
if (res.confirm) {
|
|
this.videoList = []
|
|
}
|
|
}
|
|
})
|
|
},
|
|
playVideo(e) {
|
|
this.videoSrc = e.currentTarget.dataset.src
|
|
this.modalShow = true
|
|
},
|
|
confirm(info) {
|
|
this.pd.HIDDENPART = info.HIDDEN_PART
|
|
this.pd.HIDDENDESCR = info.INSPECTION_BASIS
|
|
this.pd.HIDDENLEVEL = 'hiddenLevel0001'
|
|
this.pd.HIDDENLEVELNAME = '一般隐患'
|
|
if (info.HIDDEN_TYPE_ONE_NAME) {
|
|
this.pd.HIDDENTYPENAME = info.HIDDEN_TYPE_ONE_NAME
|
|
}
|
|
if (info.HIDDEN_TYPE_TWO_NAME) {
|
|
this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME + '/' + info.HIDDEN_TYPE_TWO_NAME
|
|
}
|
|
if (info.HIDDEN_TYPE_THREE_NAME) {
|
|
this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME + '/' + info.HIDDEN_TYPE_THREE_NAME
|
|
}
|
|
this.pd.HIDDENTYPE = info.HIDDENTYPE
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.prevent {
|
|
width: 100%;
|
|
height: 100%;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.cu-form-title {
|
|
padding: 20upx 0;
|
|
}
|
|
|
|
.cu-form-textarea {
|
|
background-color: #ffffff;
|
|
padding: 1upx 30upx 20upx;
|
|
min-height: 100upx;
|
|
}
|
|
|
|
.cu-form-textarea textarea {
|
|
height: 4.6em;
|
|
width: 100%;
|
|
line-height: 1.2em;
|
|
flex: 1;
|
|
font-size: 28upx;
|
|
padding: 0;
|
|
}
|
|
|
|
.selected {
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100upx;
|
|
}
|
|
|
|
.selected .radio {
|
|
transform: scale(0.8);
|
|
margin-right: 10upx;
|
|
}
|
|
|
|
.group {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.cu-form-group .title {
|
|
font-size: 28upx;
|
|
font-weight: bold;
|
|
color: #000;
|
|
}
|
|
|
|
.cu-bar .action:first-child {
|
|
font-size: 28upx;
|
|
}
|
|
|
|
.cu-form-group .picker {
|
|
color: #808080;
|
|
}
|
|
|
|
.picker-tree {
|
|
color: #808080;
|
|
}
|
|
|
|
.ai_btn {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
background: #FFFFFF;
|
|
margin-bottom: 10px;
|
|
padding: 10px;
|
|
}
|
|
|
|
.ai_btn .ai_btn_con {
|
|
width: 45%;
|
|
background: #dfeaff;
|
|
border-radius: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
height: 40px;
|
|
padding: 0 10px;
|
|
}
|
|
|
|
.dropdown view {
|
|
padding: 8px 10px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.dropdown view:hover {
|
|
background: #f5f5f5;
|
|
}
|
|
.search-input {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
border-radius: 4px;
|
|
padding: 0 10px;
|
|
height: 40px;
|
|
}
|
|
|
|
.search-icon {
|
|
position: absolute;
|
|
right: 10px;
|
|
font-size: 18px;
|
|
color: #666;
|
|
}
|
|
.cuIcon-right {
|
|
position: absolute;
|
|
right: -12px;
|
|
top: -10px;
|
|
}
|
|
|
|
.cuIcon-right:before {
|
|
content: "\e6a3";
|
|
color: #999;
|
|
}
|
|
|
|
.showbg {
|
|
position: absolute;
|
|
top: 45px;
|
|
left: 0;
|
|
background: #ffffff;
|
|
line-height: 2.6;
|
|
width: 100%;
|
|
padding: 5px;
|
|
border: 1px solid #eeeeee;
|
|
border-radius: 4px;
|
|
z-index: 999;
|
|
}
|
|
</style>
|