integrated_traffic_uniapp/pages/application/hidden-trouble-investigation/hidden-trouble-app/exclude-form.vue

1107 lines
34 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

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

<template>
<view :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="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">
隐患部位
<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-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-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 && rectificationUserList.length>0">
<view class="title">整改责任人</view>
<picker @change="PickerZgr" :value="uindex" :range="rectificationUserList" range-key="NAME">
<view class="picker">
{{pd.RECTIFICATIONORNAME?pd.RECTIFICATIONORNAME:'请选择'}}
</view>
</picker>
</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>
<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" :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,
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,
levelList:[],
categoryList:[],
tindex: -1,
hiddenTypeList:[],
HIDDENLEVEL:'',//隐患级别
RECTIFICATIONDEADLINE:'',//整改期限
rectifyPlanCompletionStartTime:'',
disabledvalue:false,
videoSrc:'',
modalShow:false,
videoList:[],
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: {
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;
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) === '.jpg'){
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.$forceUpdate();//强制刷新
this.getUserList();
},
// 取消回调事件
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
});
}
}
})
},
PickerZgr(e) {
this.uindex = e.detail.value;
this.pd.RECTIFICATIONOR=this.rectificationUserList[this.uindex].USER_ID;
this.pd.RECTIFICATIONORNAME=this.rectificationUserList[this.uindex].NAME;
this.$forceUpdate();//强制刷新
},
//获取数据字典数据
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
},
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.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;
}
if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE) {
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:'0',
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,
RECTIFICATIONOR:_this.pd.RECTIFICATIONOR,
HIDDENLEVEL:_this.pd.HIDDENLEVEL,
HIDDENTYPE:_this.pd.HIDDENTYPE,
RECTIFICATIONDEPT:_this.pd.RECTIFICATIONDEPT,
// 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;
}
</style>