integrated_traffic_uniapp/pages/application/cutroad/cutroad-endwork/cutroad-endwork-detail.vue

344 lines
8.7 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">
<detail v-if="pd.CUTROAD_ID" :cutroadId="pd.CUTROAD_ID"></detail>
<view class="wui-form-list">
<view style="border-bottom: 1px dashed #eee;">
<view class="cu-form-group">
<view class="title">作业结束时间</view>
<ruiDatePicker fields="minute"
:value="pd.WORK_END_DATE?pd.WORK_END_DATE:''"
@change="changeEndDate"
></ruiDatePicker>
</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 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';
import moment from 'moment';
import detail from '@/pages/application/cutroad/cutroad-detail/index'
export default {
components: {
tkiTree,ruiDatePicker,writingBoard,detail
},
data() {
return {
moment:moment,
baseImgPath:baseImgPath,
buttonloading: false,
isUps:false,
forbidEdit:true,// 禁止修改
msg:'add',
files: [],
noClick:true,
treeNode:[],//部门下拉数据
pd:{},// 数据
measuresList:[],
gasList:[],
todayDate:'',
modalName:null,
imgList:[],
}
},
onLoad(event){
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.pd.CUTROAD_ID = event.CUTROAD_ID;
if(this.pd.CUTROAD_ID){
this.msg="edit";
this.getData();
}else {
// 初始化作业负责人
this.pd.APPLY_DEPARTMENT_ID = loginUser.DEPARTMENT_ID;
this.pd.APPLY_DEPARTMENT_NAME = loginUser.DEPARTMENT_NAME;
this.pd.APPLY_USER_ID = loginUser.USER_ID;
this.pd.APPLY_USER_NAME = loginUser.NAME;
this.forbidEdit = false;
}
// 初始化现场作业负责人
this.getDept();
this.getLimitSpace();
loginSession();
},
methods: {
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/cutroad/findById',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CUTROAD_ID: _this.pd.CUTROAD_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.pd = res.data.pd; //参数map
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
ViewShowImage(url) {
let files = [];
files.push(url)
uni.previewImage({
urls: files,
current: 0
});
},
changeEndDate(e) {
this.pd.WORK_END_DATE = e
this.$forceUpdate();//强制刷新
},
goSubmit(APPLY_STATUS){
var _this = this;
let required = true
uni.showLoading({
title: '请稍候'
})
if(APPLY_STATUS == 1){
if (!this.pd.WORK_END_DATE) {
uni.showToast({
icon: 'none',
title: '请选择作业结束时间',
duration: 1500
});
return;
}
console.log(new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime())
if(new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime() <=0){
uni.showToast({
icon: 'none',
title: '作业开始时间不能晚于或等于结束时间,请重新选择',
duration: 1500
});
return;
}
console.log(new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime())
if(new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime() >= 604800000){
uni.showToast({
icon: 'none',
title: '作业开始时间与结束时间应不超过7天请重新选择',
duration: 1500
});
return;
}
}
if (_this.imgList.length <= 0) {
uni.showToast({
icon: 'none',
title: '请签字',
duration: 1500
});
return;
}
var files = [];
var signtime = [];
const formData={}
this.uploadImgFaults(files,signtime)
formData.APPLY_STATUS = APPLY_STATUS
formData.SIGNTIME = signtime
formData.WORK_END_DATE = this.pd.WORK_END_DATE
formData.CUTROAD_ID = this.pd.CUTROAD_ID
formData.USER_ID = loginUser.USER_ID
uni.uploadFile({
url: basePath+'app/cutroad/nextStep',
files: files,
formData:formData,
success: (res) => {
uni.showToast({
icon:'none',
title: '保存成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
},
uploadImgFaults(fileList,signtime) {
this.imgList.map(item => {
var img = {}
img.name = 'file'+(fileList.length)
img.uri = item.filePath
fileList.push(img)
signtime.push(item.SIGNER_TIME)
})
},
getDept() {
var _this = this;
uni.request({
url: basePath + '/app/sys/listTree',//部门下拉接口
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID : corpinfoId,
},
success: (res) => {
if("success" == res.data.result){
_this.treeNode=eval(res.data.zTreeNodes);
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
});
},
//获取人员列表
getUserList(dept,list,i){
//发送 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:dept,tm:new Date().getTime()},
success: function(res){
if("success" == res.data.result){
if(i>-1) {
_this[list][i] = [];
_this[list][i] = res.data.userList;
_this.$forceUpdate();//强制刷新
}else{
_this[list]=res.data.userList;
}
}else{
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
/*
*手写板
*/
showModal(ISSELF) {
this.ISSELF = ISSELF
this.modalName = 'Modal'
},
hideModal(e) {
this.modalName = null
},
//完成
subCanvas(e) {
this.imgList.splice(0,this.imgList.length);
this.imgList.push(e);
e.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
});
},
goback(){
var pages = getCurrentPages(); // 获取当前页面栈
var prePage = pages[pages.length - 2]; // 上二级页面
prePage.$vm.initflag = true; // A 页面 init方法 为true
uni.navigateBack({delta: 1});
uni.hideLoading();
},
radioType(e){
this.HASINSTRUCTOR = e.detail.value
},
goToEdit(){
this.forbidEdit = false;
}
}
}
</script>
<style scoped>
.wui-sign-box1{
margin-top: 20upx;
display: block;
}
.sign-img{
position: relative;
border-bottom: 1px dashed #eee;
padding-top: 20upx;
}
.cu-tag{
position: absolute;
right: 20upx;
top: 20upx;
}
</style>