qa-regulatory-gwj-app/pages/super-hot/supervision-department/detail.vue

352 lines
13 KiB
Vue
Raw Permalink 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="content p-10">
<view class="card">
<view class="view-title">
<u--text text="特级动火申请" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">申请人</view>
<view slot="value">{{ form.APPLY_USER_NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">申请时间</view>
<view slot="value">{{ form.APPLICATION_DATE }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">作业证编号</view>
<view slot="value">{{ form.JOB_NUMBER }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">作业类型</view>
<view slot="value">{{ form.JOB_TYPE_NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">动火许可证</view>
<view slot="value">
<u-button type="primary" text="查看" size="mini" class="bth-mini" @click="fnNavigator"></u-button>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="动火负责确认人" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">动火单位作业负责人</view>
<view slot="value">{{ form.projectCompetent_USER_NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">确认时间</view>
<view slot="value">{{ form.projectCompetent_OPERATTIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">是否确认通过</view>
<view slot="value">{{ form.projectCompetent_TYPE == '2' ? '通过' : '不通过' }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="项目主管人员初审" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">项目主管人员</view>
<view slot="value">{{ form.projectPreliminarily_USER_NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">初审时间</view>
<view slot="value">{{ form.projectPreliminarily_OPERATTIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">初审结果</view>
<view slot="value">{{ form.projectPreliminarily_TYPE == '2' ? '通过' : '不通过' }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="项目主管部门负责人审批" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">初审结果</view>
<view slot="value">{{ form.projectPreliminarily_TYPE == '2' ? '通过' : '不通过' }}</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title">签字</view>
<view slot="value" class="mt-10">
<u--image :showLoading="true" :src="$store.state.filePath + form.projectPreliminarily_PRINCIPAL" width="70"
height="70" mode="scaleToFill"
@click="previewImage($store.state.filePath + form.projectPreliminarily_PRINCIPAL)"></u--image>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">签字时间</view>
<view slot="value">{{ form.projectPreliminarily_OPERATTIME }}</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title">上传会签文件</view>
<view slot="value" class="mt-10">
<u-row>
<u-col span="3" v-for="(item,index) in meetingImgList" :key="index">
<u--image :showLoading="true" :src="$store.state.filePath + item.FILEPATH" width="70" height="70"
mode="scaleToFill"
@click="previewImage($store.state.filePath + item.FILEPATH,meetingImgList)"></u--image>
</u-col>
</u-row>
</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title">上传附件:</view>
<view slot="value" class="mt-10">
<u-row>
<u-col span="3" v-for="(item,index) in appendixImgList" :key="index">
<u--image :showLoading="true" :src="$store.state.filePath + item.FILEPATH" width="70" height="70"
mode="scaleToFill"
@click="previewImage($store.state.filePath + item.FILEPATH,appendixImgList)"></u--image>
</u-col>
</u-row>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="分公司安全总监审批" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">审批结果</view>
<view slot="value">{{ form.inspectorGeneral_TYPE == '2' ? '通过' : '不通过' }}</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title">签字</view>
<view slot="value" class="mt-10">
<u--image :showLoading="true" :src="$store.state.filePath + form.inspectorGeneral_PRINCIPAL" width="70"
height="70" mode="scaleToFill"
@click="previewImage($store.state.filePath + form.inspectorGeneral_PRINCIPAL)"></u--image>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">签字时间</view>
<view slot="value">{{ form.inspectorGeneral_OPERATTIME }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="分公司主要负责人签批" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">签批结果</view>
<view slot="value">{{ form.supervision_TYPE == '2' ? '通过' : '不通过' }}</view>
</u-cell>
<u-cell class="flex-none">
<view slot="title" class="title">签字</view>
<view slot="value" class="mt-10">
<u--image :showLoading="true" :src="$store.state.filePath + form.supervision_PRINCIPAL" width="70"
height="70" mode="scaleToFill"
@click="previewImage($store.state.filePath + form.supervision_PRINCIPAL)"></u--image>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">签字时间</view>
<view slot="value">{{ form.supervision_OPERATTIME }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="card">
<view class="view-title">
<u--text text="(港股)安全监督部初审" bold></u--text>
</view>
<u-cell-group :border="false" class="mt-10">
<u-cell>
<view slot="title" class="title">初审结果</view>
<view slot="value">
<u-radio-group v-model="form.isChange" placement="row">
<u-radio label="通过" name="2"></u-radio>
<u-radio label="不通过" name="1" class="ml-10"></u-radio>
</u-radio-group>
</view>
</u-cell>
<u-cell v-if="form.isChange == 2">
<view slot="title" class="title">(港股)安委会办公室:</view>
<view slot="value">
<u--text :text="pd.committee_dept_id ==''?'请选择':pd.committee_dept_name" @click="showTree"></u--text>
<tki-tree ref="tkitree" :range="deptRange" rangeKey="name" selectParent confirmColor="#4e8af7"
@confirm="confirmTree"/>
</view>
</u-cell>
<u-cell v-if="form.isChange == 2">
<view slot="title" class="title">(港股)安委会办公室人员:</view>
<view slot="value">
<u--text :text="pd.committee_user_name ==''?'请选择':pd.committee_user_name" @click="showPicker"></u--text>
<u-picker :show="show" :columns="columns"
keyName="NAME" @cancel="show = false" @confirm="confirmPicker"></u-picker>
</view>
</u-cell>
<u-cell v-if="form.isChange == 1">
<view slot="title" class="title">是否中止动火:</view>
<view slot="value">
<u-radio-group v-model="form.isEnd" placement="row">
<u-radio label="否" name="0"></u-radio>
<u-radio label="是" name="1" class="ml-10"></u-radio>
</u-radio-group>
</view>
</u-cell>
<u-cell v-if="form.isEnd == 1 && form.isChange == 1" class="flex-none">
<view slot="title" class="title">原因:</view>
<view slot="value" class="mt-10">
<u--textarea v-model="form.value1" placeholder="请输入不合格原因"></u--textarea>
</view>
</u-cell>
</u-cell-group>
</view>
<u-button type="primary" text="提交" class="bth-mini mt-10" @click="$u.debounce(submit, 1000,true)"></u-button>
</view>
</template>
<script>
import tkiTree from "@/components/tki-tree/tki-tree.vue"
import {
getHotWorkGoEdit,
getImgfilesListByKeyAndType,
getDept,
getDeptUser,
approveHotWorkSupervision
} from '../../../api/index'
export default {
components: {tkiTree},
data() {
return {
form: {
'isChange': '1',
'isEnd': '0',
value1: ''
},
pd: {
HOTWORKAPPLICATION_ID: '',
committee_dept_id: '',
committee_dept_name: '',
committee_user_id: '',
committee_user_name: '',
TYPE: '',
isEnd: '',
STATE: '35'
},
deptRange: [],
deptUserRange: [],
show: false,
columns: [],
HOTWORKAPPLICATION_ID: '',
meetingImgList: [],
appendixImgList: []
}
},
computed: {
userInfo() {
return this.$store.getters.getUserInfo
}
},
onLoad(event) {
this.HOTWORKAPPLICATION_ID = event.HOTWORKAPPLICATION_ID
this.pd.HOTWORKAPPLICATION_ID = event.HOTWORKAPPLICATION_ID
this.getDate()
this.getImgFilesList('203', 'meetingImgList')
this.getImgFilesList('204', 'appendixImgList')
this.getDept()
},
methods: {
async getDate() {
let resData = await getHotWorkGoEdit({...this.pd});
this.form = resData.pd
},
async getImgFilesList(type, listName) {
let imgPd = {'FOREIGN_KEY': this.HOTWORKAPPLICATION_ID, 'TYPE': type}
let resData = await getImgfilesListByKeyAndType({...imgPd});
this[listName] = resData.imgs
},
async getDept() {
let resData = await getDept({'DEPARTMENT_ID': '0'});
this.deptRange = JSON.parse(resData.zTreeNodes)
},
async getDeptUser(detpId) {
let resData = await getDeptUser({'DEPARTMENT_ID': detpId});
console.info(resData.userList)
// this.deptUserRange = JSON.stringify(resData.userList)
this.$set(this.columns, 0, resData.userList)
},
fnNavigator() {
uni.$u.route({
url: '/pages/super-hot/hot-work-permit/index',
params: {
HOTWORKAPPLICATION_ID: this.HOTWORKAPPLICATION_ID
}
})
},
showTree() {
this.$refs.tkitree._show()
},
confirmTree(e) {
this.pd.committee_dept_id = e[0].id
this.pd.committee_dept_name = e[0].name
this.pd.committee_user_id = ''
this.pd.committee_user_name = ''
this.getDeptUser(this.pd.committee_dept_id)
},
showPicker() {
this.show = true
},
confirmPicker(e) {
this.pd.committee_user_id = e.value[0].USER_ID
this.pd.committee_user_name = e.value[0].NAME
this.show = false;
},
previewImage(current, imgList) {
if (imgList) {
let urls = []
for (let i = 0; i < imgList.length; i++) {
urls.push(this.$store.state.filePath + imgList[i].FILEPATH)
}
uni.previewImage({
urls,
current
});
} else {
uni.previewImage({
urls: [current],
current
});
}
},
async submit() {
await approveHotWorkSupervision({
'TYPE': this.form.isChange,
'HOTWORKAPPLICATION_ID': this.HOTWORKAPPLICATION_ID,
'STATE': '35',
'committee_USER_ID': this.pd.committee_user_id,
'isEnd': this.form.isEnd,
'OPINION': this.form.value1,
'loginUserId': this.userInfo.USER_ID
});
uni.$u.route({
type: 'navigateBack'
})
}
},
}
</script>
<style scoped>
</style>