qa-prevention-gwj-first-app/pages/application/eight-assignments/super-hotwork/project-supervisor/detail.vue

441 lines
17 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>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">特级动火申请</view>
</view>
<view class="cu-form-group">
<view class="title">申请办理人</view>
{{ form.APPLY_USER_NAME }}
</view>
<view class="cu-form-group">
<view class="title">申请日期</view>
{{ form.APPLICATION_DATE }}
</view>
<view class="cu-form-group">
<view class="title">作业编号</view>
{{form.JOB_NUMBER}}
</view>
<view class="cu-form-group">
<view class="title">作业类型</view>
{{ form.JOB_TYPE_NAME }}
</view>
<view class="cu-form-group">
<view class="title">动火许可证</view>
<button class="cu-btn bg-blue margin-tb-sm lg" @click="goToDelay()"></button>
</view>
</view>
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">动火单位作业负责人确认</view>
</view>
<view class="cu-form-group">
<view class="title">动火单位作业负责人</view>
{{ form.projectCompetent_USER_NAME }}
</view>
<view class="cu-form-group">
<view class="title">确认时间</view>
{{ form.projectCompetent_OPERATTIME }}
</view>
<view class="cu-form-group">
<view class="title">是否通过</view>
{{form.projectCompetent_TYPE =='2'?'通过':'不通过'}}
</view>
</view>
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">项目主管人员初审</view>
</view>
<view class="cu-form-group ">
<view class="title text-hui">初审结果</view>
<radio-group class="selected" @change="radioType" :disabled="forbidEdit">
<view class="group mr20">
<radio class='radio' :disabled="forbidEdit" value="2" :checked="form.TYPE==2"></radio>
<text> </text>
</view>
<view class="group">
<radio class='radio' :disabled="forbidEdit" value="1" :checked="form.TYPE==1"></radio>
<text>不通过</text>
</view>
</radio-group>
</view>
<div v-if="form.TYPE ==2">
<view class="cu-form-group">
<view class="title">项目主管部门:</view>
<block v-if="!forbidEdit">
<view class="picker-tree-box">
<view class="picker-tree" @tap="showZgTree('tkiTree6')">
{{ form.projectPreliminarily_DEPT_NAME || '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree6" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="zgtreeConfirm($event,'projectPreliminarilyList')"
@cancel="zgtreeCancel"></tki-tree>
</block>
<block v-else>{{ form.projectPreliminarily_DEPT_NAME }}</block>
</view>
<view class="cu-form-group" v-if="form.projectPreliminarily_DEPT_NAME">
<view class="title">项目主管部门负责人:</view>
<picker @change="projectChange" :disabled="forbidEdit" :value="form.projectPreliminarily_INDEX"
:range="projectPreliminarilyList" range-key="NAME">
<view class="picker">
{{ form.projectPreliminarily_USER_NAME || '请选择' }}
</view>
</picker>
</view>
<view class="cu-form-group" v-if="form.projectPreliminarily_PHONE">
<view class="title">项目主管部门负责人电话:</view>
{{ form.projectPreliminarily_PHONE }}
</view>
</div>
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="goSubmitPerson('1')">提交</button>
<button v-if="forbidEdit" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)">返回
</button>
</view>
<view class="padding flex flex-direction"></view>
</view>
</template>
<script>
import {
basePath,
loginUserId,
loginSession,
corpinfoId,
baseImgPath,
loginUser
} from '@/common/tool.js';
import sign from '@/components/sign/sign.vue';
import tkiTree from "@/components/select-tree/select-tree.vue"
export default {
components: {
sign,
tkiTree
},
data() {
return {
baseImgPath,
forbidEdit: false,
form: {
TYPE: '1',
HOTWORKAPPLICATION_ID: '',
projectPreliminarily_DEPT_ID: '',
projectPreliminarily_DEPT_NAME: '',
projectPreliminarily_USER_ID: '',
projectPreliminarily_USER_NAME: '',
projectPreliminarily_PHONE: '',
projectPreliminarily_INDEX: '',
},
treeNode: [],
projectPreliminarilyList: []
}
},
onLoad(event) {
this.form.HOTWORKAPPLICATION_ID = event.id
this.getData();
loginSession();
this.getDept();
this.getDeptCharge(loginUser);
},
methods: {
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/hotworkapplication/goEdit',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HOTWORKAPPLICATION_ID: _this.form.HOTWORKAPPLICATION_ID,
},
success: (res) => {
if ("success" == res.data.result) {
this.form = res.data.pd;
this.form.TYPE = '1'
let HOT_WORK_OPERATOR_NAME = res.data.pd.HOT_WORK_OPERATOR_NAME
this.form.HOT_WORK_OPERATOR_NAME = HOT_WORK_OPERATOR_NAME.substring(0, HOT_WORK_OPERATOR_NAME.length - 1).split(',');
uni.hideLoading();
} else if ("exception" == res.data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
getDept() {
let _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
});
}
}
});
},
showZgTree(ref) {
this.$refs[ref]._show();
},
zgtreeCancel(e) {
this.isUps = false;
},
zgtreeConfirm(e, list) {
if (list === "projectPreliminarilyList") {
this.form.projectPreliminarily_DEPT_ID = e[0].id;
this.form.projectPreliminarily_DEPT_NAME = e[0].name;
this.form.projectPreliminarily_USER_ID = '';
this.form.projectPreliminarily_USER_NAME = '';
this.form.projectPreliminarily_INDEX = '';
this.$forceUpdate();
}
this.getUserList(list, e[0].id);
},
getUserList(list, DEPARTMENT_ID) {
//发送 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, NOMAIN: '1',
tm: new Date().getTime()
},
success: function (res) {
if ("success" == res.data.result) {
_this[list] = res.data.userList;
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
projectChange(e) {
this.form.projectPreliminarily_INDEX = e.detail.value;
this.form.projectPreliminarily_USER_ID = this.projectPreliminarilyList[e.detail.value].USER_ID;
this.form.projectPreliminarily_USER_NAME = this.projectPreliminarilyList[e.detail.value].NAME;
this.form.projectPreliminarily_PHONE = this.projectPreliminarilyList[e.detail.value].USERNAME;
this.$forceUpdate();
},
goToDelay(id) {
uni.navigateTo({
url: '/pages/application/eight-assignments/super-hotwork/detail?id=' + this.form.HOTWORKAPPLICATION_ID
});
},
radioType(e) {
this.form.TYPE = e.detail.value
this.$forceUpdate();
},
goSubmitPerson(STATUS) {
var _this = this;
let required = true
if (STATUS == 1) {
if (this.form.TYPE == 2) {
if (!this.form.projectPreliminarily_DEPT_ID) {
uni.showToast({
icon: 'none',
title: '请选择动火项目主管部门',
duration: 1500
});
required = false
}
if (!this.form.projectPreliminarily_USER_ID) {
uni.showToast({
icon: 'none',
title: '请选择动火项目主管部门人员',
duration: 1500
});
required = false
}
}
if (!required) {
return
}
}
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + "/app/hotworkapplication/editOpinion",
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
...this.form,
CORPINFO_ID: corpinfoId,
loginUserId: loginUserId
},
success: (res) => {
uni.showToast({
icon: 'none',
title: '保存成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
},
getDeptCharge(loginUser){ //获取部门的主要负责人
//就是获取人员信息
var _this = this;
uni.request({
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
url: basePath + '/app/sys/goUserByLeaderOrCharge',
data: {
DEPARTMENT_ID:loginUser.DEPARTMENT_ID,
USERNAME:loginUser.USERNAME,
tm: new Date().getTime()
},
success: function (res) {
if ("success" == res.data.result){
_this.form.projectPreliminarily_DEPT_ID = res.data.departPerson.DEPARTMENT_ID;
_this.form.projectPreliminarily_DEPT_NAME =res.data.departPerson.deptName;
_this.form.projectPreliminarily_USER_ID = res.data.departPerson.USER_ID;
_this.form.projectPreliminarily_USER_NAME = res.data.departPerson.NAME;
_this.form.projectPreliminarily_PHONE = res.data.departPerson.USERNAME;
_this.getUserList('projectPreliminarilyList', res.data.departPerson.DEPARTMENT_ID);
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
goback() {
uni.navigateBack({
delta: 1
});
uni.hideLoading();
},
}
}
</script>
<style>
.right_icon {
position: relative;
padding-right: 36 upx;
width: 200 upx;
text-align: right;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.right_icon ::after {
font-family: cuIcon;
display: block;
content: "\e6a3";
position: absolute;
font-size: 17px;
color: #8799a3;
line-height: 50px;
width: 30px;
text-align: center;
top: -28 upx;
bottom: 0;
right: -22 upx;
margin: auto;
}
.modal_content {
display: flex;
text-align: left;
}
.modal_left {
flex-basis: 50%;
padding: 50 upx 20 upx;
border-right: 1px solid #000000;
}
.modal_right {
flex-basis: 50%;
padding: 50 upx;
}
.modal_left_title, .modal_right_title {
font-size: 16px;
color: #000000;
font-weight: 700;
}
.checkbox-item {
display: flex;
align-items: center;
padding: 0 30 upx;
min-height: 100 upx;
background-color: #ffffff;
border-bottom: 1 upx solid #ddd;
}
.checkbox-item:last-child {
border-bottom: none;
}
.selected {
display: flex;
align-items: center;
height: 100 upx;
}
.selected .radio {
transform: scale(0.8);
margin-right: 10 upx;
}
</style>