integrated_traffic_uniapp/pages/application/confinedspace/confinedspace-gas/gas-detail.vue

249 lines
7.2 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 >
<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="wui-form-list">
<view class="cu-form-group" v-if="GAS_NAME1">
<view class="title">{{ GAS_NAME1 }}</view>
<input name="input" ref="DATA1" v-model="pd.DATA1" placeholder="请输入"></input>
</view>
<view class="cu-form-group" v-if="GAS_NAME2">
<view class="title">{{ GAS_NAME2 }}</view>
<input name="input" ref="DATA1" v-model="pd.DATA2" placeholder="请输入"></input>
</view>
<view class="cu-form-group" v-if="GAS_NAME3">
<view class="title">{{ GAS_NAME3 }}</view>
<input name="input" ref="DATA1" v-model="pd.DATA3" placeholder="请输入"></input>
</view>
<view class="cu-form-group" v-if="GAS_NAME4">
<view class="title">{{ GAS_NAME4 }}</view>
<input name="input" ref="DATA1" v-model="pd.DATA4" placeholder="请输入"></input>
</view>
<view class="cu-form-group ">
<view class="title">取样分析时间</view>
<ruiDatePicker
fields="minute"
:value="pd.ANALYZE_TIME?pd.ANALYZE_TIME:''"
:end="currentTime"
@change="changeStartDate"
></ruiDatePicker>
</view>
<view class="cu-form-group">
<view class="title">分析部位:</view>
<input name="input" ref="ANALYZE_PLACE" v-model="pd.ANALYZE_PLACE" placeholder="请输入分析部位"></input>
</view>
<view class="cu-form-group">
<view class="title">氧气含量:</view>
<input name="input" ref="OXYGEN_CONTENT" v-model="pd.OXYGEN_CONTENT" placeholder="请输入氧气含量"></input>
</view>
<view class="cu-form-group">
<view>
<text class="title">分析人:</text>
<text>{{pd.ANALYZE_USER}}</text>
</view>
</view>
<view>
<view class="wui-sign" >
<view class="title"></view>
<button class="cu-btn bg-green shadow" @tap="showModal" data-target="Modal">手写签字</button>
</view>
<view class="wui-sign-box" v-show="imgList && imgList.length > 0">
<view class="sign-title">
签字照片:
</view>
<view class="wui-sign-cotent">
<view class="sign-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="aspectFit"></image>
</view>
</view>
</view>
<view class="cu-modal" :class="modalName=='Modal'?'show':''">
<writing-board @confirm="subCanvas" @cancel="hideModal"></writing-board>
</view>
</view>
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button class="cu-btn bg-red margin-tb-sm lg" @click="$noMultipleClicks(goSubmit(-1))">打回</button>
<button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit(1))">保存</button>
</view>
<view class="padding flex flex-direction">
</view>
</scroll-view>
</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 writingBoard from "@/components/writing-board/writing-board.vue"
import gcoord from '@/common/gcoord.js'
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue';
export default {
components: {
tkiTree,ruiDatePicker,writingBoard
},
data() {
return {
noClick:true,
imgList:[],
buttonloading: false,
modalName:null,
pd:{},// 数据
rules:[
{name:'ANALYZE_TIME',message:'请输入取样分析时间'},
{name:'ANALYZE_PLACE',message:'请输入分析部位'},
{name:'OXYGEN_CONTENT',message:'请输入氧气含量'},
],
GAS_NAME1:'',
GAS_NAME2:'',
GAS_NAME3:'',
GAS_NAME4:'',
currentTime:formatDate(new Date(),'yyyy-MM-dd hh:mm')
}
},
onLoad(event){
this.pd.CONFINEDSPACE_ID = event.CONFINEDSPACE_ID;
this.GAS_NAME1 = event.GAS_NAME1;
this.GAS_NAME2 = event.GAS_NAME2;
this.GAS_NAME3 = event.GAS_NAME3;
this.GAS_NAME4 = event.GAS_NAME4;
this.pd.ANALYZE_USER = loginUser.NAME;
loginSession();
},
methods: {
uploadImgFaults(files,signtime) {
this.imgList.map((item,index) => {
var img = {}
img.name = 'file'+index
img.uri = item.filePath
files.push(img)
signtime.push(item.SIGNER_TIME)
})
},
showModal(e) {
this.modalName = e.currentTarget.dataset.target
},
hideModal(e) {
this.modalName = null
},
//完成
subCanvas(e) {
this.imgList.splice(0,this.imgList.length);
this.imgList.push(e);
this.pd.SIGNER_TIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.hideModal()
},
ViewImage(e) {
let files =[];
files.push(e.currentTarget.dataset.url)
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.url
});
},
goSubmit(APPLY_STATUS){
this.buttonloading = true
var _this = this;
let required = true
if (_this.imgList.length <= 0) {
uni.showToast({
icon: 'none',
title: '请签字',
duration: 1500
});
return;
}
this.rules.map(({name,message}) => {
if (!this.pd[name]) {
uni.showToast({
icon: 'none',
title: message,
duration: 1500
});
required = false
}
})
if (!required) {
return
}
if(this.GAS_NAME1 && !this.pd.DATA1) this.pd.DATA1 = 0
if(this.GAS_NAME2 && !this.pd.DATA2) this.pd.DATA2 = 0
if(this.GAS_NAME3 && !this.pd.DATA3) this.pd.DATA3 = 0
if(this.GAS_NAME4 && !this.pd.DATA4) this.pd.DATA4 = 0
uni.showLoading({
title: '请稍候'
})
var files = [];
var signtime = [];
const formData={}
Object.keys(this.pd).map(key => {
formData[key]=this.pd[key]
})
this.uploadImgFaults(files,signtime)
formData.SIGNTIME = signtime
formData.CORPINFO_ID = loginUser.CORPINFO_ID
formData.USER_ID = loginUser.USER_ID
formData.APPLY_STATUS = APPLY_STATUS
uni.uploadFile({
url: basePath + "app/confinedspace/gas/save",
files: files,
formData:formData,
success: (res) => {
uni.showToast({
icon:'none',
title: '保存成功',
duration: 2000
});
this.buttonloading = false
if(APPLY_STATUS === 1){
uni.navigateBack({delta: 1});
}else{
uni.navigateBack({delta: 3});
}
// _this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
},
changeStartDate(e) {
this.pd.ANALYZE_TIME = e
this.$forceUpdate();//强制刷新
},
goback(){
var pages = getCurrentPages(); // 获取当前页面栈
var prePage = pages[pages.length - 2]; // 上二级页面
prePage.$vm.initflag = true; // A 页面 init方法 为true
uni.navigateBack({delta: 1});
uni.hideLoading();
},
}
}
</script>
<style>
</style>