1043 lines
39 KiB
Vue
1043 lines
39 KiB
Vue
<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">
|
||
<view class="title">申请单位:</view>
|
||
{{ pd.APPLY_DEPARTMENT_NAME }}
|
||
</view>
|
||
|
||
<view class="cu-form-group">
|
||
<view class="title">申请人:</view>
|
||
{{ pd.APPLY_USER_NAME }}
|
||
</view>
|
||
|
||
<view class="cu-form-group bb-default">
|
||
<view class="title">编号:</view>
|
||
{{ pd.CHECK_NO }}
|
||
</view>
|
||
|
||
<view class="cu-form-textarea">
|
||
<view class="cu-form-title">作业内容:</view>
|
||
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.WORK_CONTENT"
|
||
placeholder="请输入作业内容"></textarea>
|
||
</view>
|
||
|
||
<view class="cu-form-textarea ">
|
||
<view class="cu-form-title">动火操作人图片:</view>
|
||
<view class="cu-form-group" style="padding-top:20upx">
|
||
<view class="grid col-4 grid-square flex-sub">
|
||
<view class="bg-img" v-for="(item,index) in pd.dongHuoCaoZuoRenPic" :key="index" @tap="ViewImage"
|
||
:data-url="pd.dongHuoCaoZuoRenPic[index]">
|
||
<image :src="pd.dongHuoCaoZuoRenPic[index]" mode="aspectFill"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="cu-form-group">
|
||
<view class="title">动火地点及动火部位:</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="pd.WORK_PLACE" placeholder="请输入"></input>
|
||
</view>
|
||
|
||
<view class="cu-form-group">
|
||
<view class="title">动火作业级别:</view>
|
||
{{ pd.WORK_LEVEL }}
|
||
</view>
|
||
|
||
<view class="cu-form-group">
|
||
<view class="title">动火方式:</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="pd.WORK_FUNCTION" placeholder="请输入"></input>
|
||
</view>
|
||
|
||
<view class="cu-form-group ">
|
||
<view class="title">作业开始时间</view>
|
||
<ruiDatePicker v-if="!forbidEdit"
|
||
:start="todayDate"
|
||
fields="minute"
|
||
:value="pd.WORK_START_DATE?pd.WORK_START_DATE:''"
|
||
@change="changeStartDate"
|
||
></ruiDatePicker>
|
||
<view v-else>{{ pd.WORK_START_DATE }}</view>
|
||
</view>
|
||
<view class="cu-form-group">
|
||
<view class="title">作业结束时间</view>
|
||
<ruiDatePicker v-if="!forbidEdit"
|
||
:start="todayDate"
|
||
fields="minute"
|
||
:value="pd.WORK_END_DATE?pd.WORK_END_DATE:''"
|
||
@change="changeEndDate"
|
||
></ruiDatePicker>
|
||
<view v-else>{{ pd.WORK_END_DATE }}</view>
|
||
</view>
|
||
<view class="cu-form-textarea">
|
||
<view style="display: flex;justify-content: space-between;align-items: center">
|
||
<view class="cu-form-title">动火人及证书编号:</view>
|
||
</view>
|
||
<textarea maxlength="255" v-model="pd.WORK_USER" placeholder="请输入动火人及证书编号"></textarea>
|
||
</view>
|
||
<view class="cu-form-textarea">
|
||
<view class="cu-form-title">关联的其他特殊作业及安全作业票编号:</view>
|
||
<textarea maxlength="255" auto-height :disabled="forbidEdit" v-model="pd.SPECIAL_WORK"
|
||
placeholder="请输入关联的其他特殊作业及安全作业票编号"></textarea>
|
||
</view>
|
||
|
||
<view class="cu-form-textarea">
|
||
<view class="cu-form-title">风险辨识结果:</view>
|
||
<textarea maxlength="255" auto-height :disabled="forbidEdit" v-model="pd.RISK_IDENTIFICATION"
|
||
placeholder="请输入风险辨识结果"></textarea>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="wui-form-list" style="padding-top: 20upx;">
|
||
<view class="wui-title" style="margin-left: 20upx;">
|
||
<text class="text-semi">安全防护措施</text>
|
||
</view>
|
||
<view class="wui-table" style="padding: 0 20upx;">
|
||
<uni-table name='measuresList' border stripe emptyText="暂无更多数据">
|
||
<!-- 表头行 -->
|
||
<uni-tr>
|
||
<uni-th align="center" style="font-weight: bold;">序 号</uni-th>
|
||
<uni-th align="center" style="font-weight: bold;">主要安全措施</uni-th>
|
||
<uni-th align="center" style="font-weight: bold;width: 100px">操作</uni-th>
|
||
</uni-tr>
|
||
<uni-tr v-for="(item,index) in measuresList" :key="item.BUS_HOTWORK_MEASURES_ID">
|
||
<uni-td align="center">{{ index + 1 }}</uni-td>
|
||
<uni-td>
|
||
<view style="margin-bottom: 20upx;">
|
||
{{ item.PROTECTIVE_MEASURES }}
|
||
</view>
|
||
<view class="wui-border" v-if="(item.QUESTION1 || item.QUESTION2 || item.QUESTION3 || item.QUESTION4) && item.STATUS=='1'">
|
||
<view class="cu-form-group" v-if="item.QUESTION1 && item.STATUS=='1'">
|
||
<view class="title">{{ item.QUESTION1 }}</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="item.ANSWER1" placeholder="请输入"></input>
|
||
</view>
|
||
<view class="cu-form-group" v-if="item.QUESTION2 && item.STATUS=='1'">
|
||
<view class="title">{{ item.QUESTION2 }}</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="item.ANSWER2" placeholder="请输入"></input>
|
||
</view>
|
||
<view class="cu-form-group" v-if="item.QUESTION3 && item.STATUS=='1'" >
|
||
<view style="display: flex;flex-direction: column">
|
||
<view class="title">{{item.QUESTION3}}</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="item.ANSWER3" placeholder="请输入"></input>
|
||
</view>
|
||
</view>
|
||
<view class="cu-form-group" v-if="item.QUESTION4 && item.STATUS=='1'">
|
||
<view class="title">{{ item.QUESTION4 }}</view>
|
||
<input name="input" :disabled="forbidEdit" v-model="item.ANSWER4" placeholder="请输入"></input>
|
||
</view>
|
||
</view>
|
||
</uni-td>
|
||
<uni-td align="center">
|
||
<radio-group class="wui-radio-group">
|
||
<view class="group" v-if="item.STATUS=='-1'">
|
||
<radio class='radio' value="-1" checked>
|
||
<text class="wui-pl10">不涉及</text>
|
||
</radio>
|
||
</view>
|
||
<view class="group" v-if="item.STATUS=='1'">
|
||
<radio class='radio' value="1" checked>
|
||
<text class="wui-pl10">涉 及</text>
|
||
</radio>
|
||
</view>
|
||
</radio-group>
|
||
</uni-td>
|
||
</uni-tr>
|
||
</uni-table>
|
||
</view>
|
||
<view>
|
||
<view class="cu-form-group" >
|
||
<view class="title">其他安全措施:</view>
|
||
<input name="input" ref="OTHER_PROTECTIVE_MEASURES" v-model="pd.APPROVAL_CONTENT" placeholder="请输入"></input>
|
||
</view>
|
||
<view>
|
||
<!-- <view v-if="pd.safetyList" class="ty-group">-->
|
||
<!-- <view v-for="(item, index) in pd.safetyList" :key="index">-->
|
||
<!-- <text class="title">-->
|
||
<!-- 安全措施确认人:</text>-->
|
||
<!-- <text>{{ item.USER_NAME }}</text>-->
|
||
<!-- </view>-->
|
||
<!-- </view>-->
|
||
<view v-if="pd.safetyApprovalContent" class="ty-group">
|
||
<text class="title">
|
||
安全措施确认人:</text>
|
||
<text>{{ pd.safetyApprovalContent }}</text>
|
||
</view>
|
||
<view v-if="pd.CONFIRM_OTHER_CONTENT" class="ty-group">
|
||
<text class="title">
|
||
作业负责人:</text>
|
||
<text>{{ pd.CONFIRM_OTHER_CONTENT}}</text>
|
||
</view>
|
||
<view v-if="pd.GUARDIAN_USER_MEASURES" class="ty-group">
|
||
<text class="title">
|
||
属地监管单位:</text>
|
||
<text>{{ pd.GUARDIAN_USER_MEASURES}}</text>
|
||
</view>
|
||
<view v-if="pd.LEADER_USER_MEASURES" class="ty-group">
|
||
<text class="title">
|
||
动火前验票:</text>
|
||
<text>{{ pd.LEADER_USER_MEASURES}}</text>
|
||
</view>
|
||
<view v-if="pd.AUDIT_USER_MEASURES" class="ty-group">
|
||
<text class="title">
|
||
安全管理部门:</text>
|
||
<text>{{ pd.AUDIT_USER_MEASURES}}</text>
|
||
</view>
|
||
<view v-if="pd.APPROVE_USER_MEASURES" class="ty-group">
|
||
<text class="title">
|
||
动火审批人:</text>
|
||
<text>{{ pd.APPROVE_USER_MEASURES}}</text>
|
||
</view>
|
||
<view v-if="pd.MONITOR_USER_MEASURES" class="ty-group">
|
||
<text class="title">
|
||
班长:</text>
|
||
<text>{{ pd.MONITOR_USER_MEASURES}}</text>
|
||
</view>
|
||
</view>
|
||
<!-- <view v-if="pd.CONFIRM_USER_MEASURES" class="ty-group">-->
|
||
<!-- <text class="title">-->
|
||
<!-- 作业单位:-->
|
||
<!-- </text>-->
|
||
<!-- <text>{{ pd.CONFIRM_USER_MEASURES }}</text>-->
|
||
<!-- </view>-->
|
||
<!-- <view v-if="pd.GUARDIAN_USER_MEASURES" class="ty-group">-->
|
||
<!-- <text class="title">-->
|
||
<!-- 动火点属地监管单位负责人:-->
|
||
<!-- </text>-->
|
||
<!-- <text>{{ pd.GUARDIAN_USER_MEASURES }}</text>-->
|
||
<!-- </view>-->
|
||
</view>
|
||
<view class="cu-form-group bb-default" v-if="pd.APPLY_STATUS && pd.APPLY_STATUS!=0 && pd.APPLY_STATUS!=1">
|
||
<view>
|
||
<text class="title">气体分析单位负责人:</text>
|
||
<text>{{ pd.ANALYZE_USER_NAME }}</text>
|
||
</view>
|
||
<button class="cu-btn bg-green sm" @click="$noMultipleClicks(goToDetail,pd.HOTWORK_ID)">分析详情</button>
|
||
</view>
|
||
</view>
|
||
<view class="wui-form-list">
|
||
<view v-if="pd.SAFETY_USER_NAME">
|
||
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
|
||
<view class="cu-form-group" >
|
||
<view class="title">安全项检查人</view>
|
||
{{pd.SAFETY_USER_NAME}}{{pd.SAFETY_SIGNATURE_TIME}}
|
||
</view>
|
||
<view class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
|
||
<image :src="baseImgPath+pd.SAFETY_SIGNATURE" @click="ViewShowImage(baseImgPath+v.SAFETY_SIGNATURE)"
|
||
mode="" style="width: 200upx;height: 200upx;"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="pd.GUARDIAN_USER_SIGNER_PATH">
|
||
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
|
||
<view class="cu-form-group">
|
||
<view class="title">监护人</view>
|
||
{{ pd.GUARDIAN_USER_NAME }} {{ pd.GUARDIAN_USER_SIGNER_TIME }}
|
||
</view>
|
||
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;">
|
||
<image :src="baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH" mode="aspectFill"
|
||
@click="previewImage(baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH)" style="height: 100%;"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="pd.confessList && pd.confessList.length > 0 && pd.confessList.length !== pd.confessList.filter(item => item.APPROVAL_STATUS === '0').length">
|
||
<view v-for="(item,index) in pd.confessList" >
|
||
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
|
||
<view class="cu-form-group">
|
||
<view class="title">安全交底人</view>
|
||
{{ item.CONFESS_USER_NAME }} {{ item.APPROVAL_SIGNATURE_TIME }}
|
||
</view>
|
||
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;">
|
||
<image :src="baseImgPath + item.APPROVAL_SIGNATURE" mode="aspectFill"
|
||
@click="previewImage(baseImgPath + item.APPROVAL_SIGNATURE)" style="height: 100%;"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="pd.acceptConfessList && pd.acceptConfessList.length > 0 && pd.acceptConfessList.length !== pd.acceptConfessList.filter(item => item.APPROVAL_STATUS === '0').length">
|
||
<view v-for="(item, index) in pd.acceptConfessList" :key="index">
|
||
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
|
||
<view class="cu-form-group">
|
||
<view class="title">接受交底人</view>
|
||
{{ item.ACCEPT_CONFESS_USER_NAME }} {{ item.APPROVAL_SIGNATURE_TIME }}
|
||
</view>
|
||
<view v-for="(path, pathIndex) in item.ACCEPT_CONFESS_USER_SIGNER_PATH.split(';')" :key="pathIndex" style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;">
|
||
<image :src="baseImgPath + path.trim()" mode="aspectFill"
|
||
@click="ViewShowImage(baseImgPath + path.trim())" style="height: 100%;"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view v-if="files.length > 0">-->
|
||
<!-- <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">-->
|
||
<!-- <view class="cu-item" v-for="(item,index) in files" :key="index" style="border-bottom: 1px solid #e3e3e3">-->
|
||
<!-- <view class="cu-form-group">-->
|
||
<!-- <view class="title">接受交底人</view>-->
|
||
<!-- {{ pd.ACCEPT_CONFESS_USER_NAME }} {{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}-->
|
||
<!-- </view>-->
|
||
<!-- <view class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">-->
|
||
<!-- <image :src="baseImgPath+item.ACCEPT_CONFESS_USER_SIGNER_PATH" :data-index="index"-->
|
||
<!-- @click="ViewShowImage(baseImgPath+item.ACCEPT_CONFESS_USER_SIGNER_PATH)"-->
|
||
<!-- mode="" style="width: 200upx;height: 200upx;"></image>-->
|
||
<!-- </view>-->
|
||
<!-- </view>-->
|
||
<!-- </view>-->
|
||
<!-- </view>-->
|
||
</view>
|
||
|
||
<view class="wui-form-list">
|
||
<view class="cu-form-textarea" style="border: none;">
|
||
<view class="cu-form-title">作业负责人意见</view>
|
||
<textarea maxlength="255" disabled="disabled" v-model="formattedConfirmContent"></textarea>
|
||
</view>
|
||
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
|
||
<view class="cu-form-group">
|
||
<view class="title">作业负责人</view>
|
||
{{ pd.CONFIRM_USER_NAME }} {{ pd.CONFIRM_USER_SIGNER_TIME }}
|
||
</view>
|
||
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;">
|
||
<image :src="baseImgPath + pd.CONFIRM_USER_SIGNER_PATH" mode="aspectFill"
|
||
@click="previewImage(baseImgPath + pd.CONFIRM_USER_SIGNER_PATH)" style="height: 100%;"></image>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="cu-form-textarea" style="border-bottom: 1px dashed #eee;">
|
||
<view class="cu-form-title">项目主管部门意见</view>
|
||
<textarea maxlength="255" v-model="pd.CONTENT" placeholder="请输入意见"></textarea>
|
||
</view>
|
||
<view class="wui-sign">
|
||
<view class="title">项目主管部门负责人</view>
|
||
<button class="cu-btn bg-green shadow" @tap="signModalShow = true" 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(confirmRejection,'-2')">打 回</button>
|
||
<button :loading="buttonloading" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit,'2')">通 过
|
||
</button>
|
||
</view>
|
||
<view class="cu-modal" :class="{'show': showRejectionConfirm}">
|
||
<view class="cu-dialog">
|
||
<view class="cu-dialog-content">是否确定打回?</view>
|
||
<view class="cu-dialog-btns">
|
||
<button class="cu-btn bg-gray sm" @click="showRejectionConfirm = false">取消</button>
|
||
<button class="cu-btn bg-red sm" @click="$noMultipleClicks(goSubmit,'-2')">确定</button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="cu-modal" :class="{'show': showRejectionConfirm}">
|
||
<view class="cu-dialog">
|
||
<view class="cu-dialog-content">是否确定打回?</view>
|
||
<view class="cu-dialog-btns">
|
||
<button class="cu-btn bg-gray sm" @click="showRejectionConfirm = false">取消</button>
|
||
<button class="cu-btn bg-red sm" @click="$noMultipleClicks(goSubmit,'-2')">确定</button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="padding flex flex-direction">
|
||
</view>
|
||
<view class="cu-modal" :class="{'show':signModalShow}">
|
||
<sign @confirm="subCanvas" @cancel="signModalShow = false"></sign>
|
||
</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 {
|
||
showRejectionConfirm: false,
|
||
baseImgPath: baseImgPath,
|
||
buttonloading: false,
|
||
isUps: false,
|
||
forbidEdit: true,// 禁止修改
|
||
msg: 'add',
|
||
files: [],
|
||
noClick: true,
|
||
treeNode: [],//部门下拉数据
|
||
levelList: [
|
||
{id: '特级', name: '特级'},
|
||
{id: '一级', name: '一级'},
|
||
{id: '二级', name: '二级'},
|
||
],
|
||
levelindex: -1,
|
||
|
||
analyzeUserList: [],
|
||
analyzeindex: -1,
|
||
confirmUserList: [],
|
||
confirmindex: -1,
|
||
guardianUserList: [],
|
||
guardianindex: -1,
|
||
leaderUserList: [],
|
||
leaderindex: -1,
|
||
auditUserList: [],
|
||
auditindex: -1,
|
||
approveUserList: [],
|
||
approveindex: -1,
|
||
monitorUserList: [],
|
||
monitorindex: -1,
|
||
acceptUserList: [],
|
||
acceptindex: -1,
|
||
pd: {
|
||
OTHER_PROTECTIVE_MEASURES: ';_;;_;;_;;_;;_;;_;;_;',
|
||
safetyApprovalContent: '',
|
||
},// 数据
|
||
measuresList: [],
|
||
rules: [
|
||
{name: 'CHECK_NO', message: '请输入编号'},
|
||
{name: 'WORK_CONTENT', message: '请输入作业内容'},
|
||
{name: 'WORK_PLACE', message: '请输入作业地点'},
|
||
{name: 'WORK_LEVEL', message: '请选择动火级别'},
|
||
{name: 'WORK_FUNCTION', message: '请输入动火方式'},
|
||
{name: 'WORK_START_DATE', message: '请选择工作开始时间'},
|
||
{name: 'WORK_START_DATE', message: '请选择工作结束时间'},
|
||
{name: 'WORK_MANAGER', message: '请输入作业负责人'},
|
||
{name: 'WORK_USER', message: '请输入作业人'},
|
||
{name: 'SPECIAL_WORK', message: '请输入关联的其他特殊作业及安全作业票编号'},
|
||
{name: 'RISK_IDENTIFICATION', message: '请输入风险辨识结果'},
|
||
{name: 'CONFESS_USER', message: '请输入安全交底人'},
|
||
{name: 'EDUCATE_USER', message: '请输入安全教育人'},
|
||
{name: 'ACCEPT_EDUCATE_USER', message: '请输入接受交底、教育人'},
|
||
{name: 'TRIAL_USER', message: '请输入动火措施初审人'},
|
||
{name: 'ANALYZE_USER_ID', message: '请选择气体分析单位负责人'},
|
||
{name: 'CONFIRM_USER_ID', message: '请选择作业负责人'},
|
||
{name: 'GUARDIAN_USER_ID', message: '请选择监护人'},
|
||
{name: 'LEADER_USER_ID', message: '请选择动火点车间负责人'},
|
||
{name: 'AUDIT_USER_ID', message: '请选择安全管理部门负责人'},
|
||
{name: 'APPROVE_USER_ID', message: '请选择审批部门'},
|
||
{name: 'MONITOR_USER_ID', message: '请选择验票班长'},
|
||
{name: 'ACCEPT_USER_ID', message: '请选择验收部门负责人'}
|
||
],
|
||
todayDate: '',
|
||
signModalShow: false,
|
||
modalName: null,
|
||
imgList: [],
|
||
}
|
||
},
|
||
computed: {
|
||
formattedConfirmContent() {
|
||
return this.pd.CONFIRM_CONTENT && this.pd.CONFIRM_CONTENT !== '无' ? this.pd.CONFIRM_CONTENT : '同意';
|
||
}
|
||
},
|
||
onLoad(event) {
|
||
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
|
||
this.pd.HOTWORK_ID = event.HOTWORK_ID;
|
||
if (this.pd.HOTWORK_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: {
|
||
//跳转事件
|
||
goToDetail(e) {
|
||
uni.navigateTo({
|
||
url: '/pages/application/hotwork_cfd/hotwork-gas/gas-list?HOTWORK_ID=' + e
|
||
});
|
||
},
|
||
getData() {
|
||
var _this = this;
|
||
uni.showLoading({
|
||
title: '请稍候'
|
||
})
|
||
uni.request({
|
||
url: basePath + '/app/hotwork/cfd/goEdit',
|
||
method: 'POST',
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
},
|
||
data: {
|
||
HOTWORK_ID: _this.pd.HOTWORK_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.pd = Object.assign(_this.pd,
|
||
{
|
||
"CONFIRM_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[0],
|
||
"GUARDIAN_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[1]
|
||
})
|
||
_this.pd.OTHER_PROTECTIVE_MEASURES = ''
|
||
_this.measuresList = res.data.measuresList
|
||
_this.files = res.data.imgList;
|
||
if (_this.pd.APPLY_STATUS < 1) {
|
||
_this.forbidEdit = false;
|
||
}
|
||
|
||
if (res.data.pd.safetyList && res.data.pd.safetyList.length > 0) {
|
||
_this.pd.safetyApprovalContent = res.data.pd.safetyList.map(item => item.APPROVAL_CONTENT).join(', ');
|
||
}
|
||
|
||
let dongHuoCaoZuoRenPic = res.data.imgList2
|
||
if (dongHuoCaoZuoRenPic && dongHuoCaoZuoRenPic.length > 0) {
|
||
_this.pd.dongHuoCaoZuoRenPic = []
|
||
for (let i = 0; i < dongHuoCaoZuoRenPic.length; i++) {
|
||
_this.pd.dongHuoCaoZuoRenPic.push(baseImgPath + dongHuoCaoZuoRenPic[i].FILEPATH)
|
||
}
|
||
}
|
||
} else if ("exception" == data.result) {
|
||
uni.showToast({
|
||
title: '错误',
|
||
duration: 2000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
ViewShowImage(url) {
|
||
let files = [];
|
||
files.push(url)
|
||
uni.previewImage({
|
||
urls: files,
|
||
current: 0
|
||
});
|
||
},
|
||
validStr(str) {
|
||
if (str != null && str != '' && typeof (str) != "undefined" && str != 0)
|
||
return true
|
||
return false
|
||
},
|
||
confirmRejection() {
|
||
if (!this.imgList.length || !this.pd.CONTENT) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '签字图片和意见不能为空',
|
||
duration: 1500
|
||
});
|
||
return;
|
||
}
|
||
this.showRejectionConfirm = true;
|
||
},
|
||
goSubmit(STATUS) {
|
||
var _this = this;
|
||
uni.showLoading({
|
||
title: '请稍候'
|
||
});
|
||
|
||
if (STATUS === '2') {
|
||
if (_this.imgList.length <= 0) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请签字',
|
||
duration: 1500
|
||
});
|
||
return;
|
||
}
|
||
}
|
||
|
||
const formData = {};
|
||
Object.keys(this.pd).map(key => {
|
||
formData[key] = this.pd[key]
|
||
})
|
||
if (STATUS > 0){
|
||
formData.APPROVAL_STATUS = "1"
|
||
} else {
|
||
formData.APPROVAL_STATUS = "-1"
|
||
}
|
||
formData.CREATOR = loginUser.USER_ID
|
||
formData.OPERATOR = loginUser.USER_ID
|
||
formData.ACTION_USER = loginUser.NAME
|
||
formData.APPLY_STATUS = STATUS
|
||
formData.CORPINFO_ID = loginUser.CORPINFO_ID
|
||
formData.USER_ID = loginUser.USER_ID
|
||
formData.STATUS = STATUS
|
||
this.buttonloading = true
|
||
if (STATUS === '2') {
|
||
uni.request({
|
||
url: basePath + '/app/hotwork/cfd/check',
|
||
method: 'POST',
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
},
|
||
data: {
|
||
HOTWORK_ID: _this.pd.HOTWORK_ID
|
||
},
|
||
success: (res) => {
|
||
if (res.data.result === 'success') {
|
||
uni.hideLoading();
|
||
if (res.data.passFlag === '0') {
|
||
uni.showModal({
|
||
title: '',
|
||
content: res.data.message,
|
||
cancelColor: "#000000",
|
||
cancelText: '取消',
|
||
confirmText: '确定',
|
||
success: res => {
|
||
this.buttonloading = false;
|
||
}
|
||
});
|
||
} else {
|
||
formData.STATUS = STATUS;
|
||
formData.measuresList = JSON.stringify(this.measuresList);
|
||
formData.CORPINFO_ID = loginUser.CORPINFO_ID;
|
||
formData.USER_ID = loginUser.USER_ID;
|
||
this.buttonloading = true;
|
||
uni.uploadFile({
|
||
url: basePath + '/app/hotwork/cfd/editStatus',
|
||
filePath: _this.imgList[0].filePath,
|
||
name: 'FFILE',
|
||
formData: formData,
|
||
success: (res) => {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '保存成功',
|
||
duration: 2000
|
||
});
|
||
_this.goback();
|
||
this.buttonloading = false;
|
||
},
|
||
fail: (err) => {
|
||
uni.hideLoading();
|
||
uni.showModal({
|
||
content: err.errMsg,
|
||
showCancel: false
|
||
});
|
||
}
|
||
});
|
||
}
|
||
} else if (res.data.result === 'exception') {
|
||
uni.showToast({
|
||
title: '错误',
|
||
duration: 2000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
} else {
|
||
formData.STATUS = STATUS;
|
||
formData.measuresList = JSON.stringify(this.measuresList);
|
||
formData.CORPINFO_ID = loginUser.CORPINFO_ID;
|
||
formData.USER_ID = loginUser.USER_ID;
|
||
this.buttonloading = true;
|
||
uni.uploadFile({
|
||
url: basePath + '/app/hotwork/cfd/editStatus',
|
||
filePath: _this.imgList[0].filePath,
|
||
name: 'FFILE',
|
||
formData: formData,
|
||
success: (res) => {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '保存成功',
|
||
duration: 2000
|
||
});
|
||
_this.goback();
|
||
this.buttonloading = false;
|
||
},
|
||
fail: (err) => {
|
||
uni.hideLoading();
|
||
uni.showModal({
|
||
content: err.errMsg,
|
||
showCancel: false
|
||
});
|
||
}
|
||
});
|
||
}
|
||
},
|
||
// 获取动火列表
|
||
getLimitSpace() {
|
||
var _this = this;
|
||
uni.request({
|
||
method: 'POST',
|
||
dataType: 'json',
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
},
|
||
url: basePath + '/app/limitspace/listAllSpace?tm=' + new Date().getTime(),
|
||
data: {
|
||
CORPINFO_ID: loginUser.CORPINFO_ID,
|
||
USER_ID: loginUser.USER_ID,
|
||
},
|
||
success: function (res) {
|
||
_this.limitSpaceList = res.data.varList;
|
||
}
|
||
});
|
||
},
|
||
levelChange(e) {
|
||
this.levelindex = e.detail.value;
|
||
this.pd.WORK_LEVEL = this.levelList[this.levelindex].name;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
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
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
//获取人员列表
|
||
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(),
|
||
CORPINFO_ID: loginUser.CORPINFO_ID,
|
||
USER_ID: loginUser.USER_ID,
|
||
},
|
||
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(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();
|
||
this.signModalShow = false;
|
||
},
|
||
ViewImage(e) {
|
||
let files = [];
|
||
files.push(e.currentTarget.dataset.url)
|
||
uni.previewImage({
|
||
urls: files,
|
||
current: e.currentTarget.dataset.url
|
||
});
|
||
},
|
||
|
||
/*
|
||
*分析人
|
||
*/
|
||
// 确定回调事件
|
||
analyzetreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.ANALYZE_DEPARTMENT_ID = e[0].id;
|
||
this.pd.ANALYZE_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'analyzeUserList');
|
||
},
|
||
// 取消回调事件
|
||
analyzetreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showAnalyzeTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_analyze._show();
|
||
},
|
||
PickerAnalyze(e) {
|
||
this.analyzeindex = e.detail.value;
|
||
this.pd.ANALYZE_USER_ID = this.analyzeUserList[this.analyzeindex].USER_ID;
|
||
this.pd.ANALYZE_USER_NAME = this.analyzeUserList[this.analyzeindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
/*
|
||
*确认人
|
||
*/
|
||
// 确定回调事件
|
||
confirmtreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.CONFIRM_DEPARTMENT_ID = e[0].id;
|
||
this.pd.CONFIRM_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'confirmUserList');
|
||
},
|
||
// 取消回调事件
|
||
confirmtreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showConfirmTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_confirm._show();
|
||
},
|
||
PickerConfirm(e) {
|
||
this.confirmindex = e.detail.value;
|
||
this.pd.CONFIRM_USER_ID = this.confirmUserList[this.confirmindex].USER_ID;
|
||
this.pd.CONFIRM_USER_NAME = this.confirmUserList[this.confirmindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
/*
|
||
*监护人
|
||
*/
|
||
// 确定回调事件
|
||
guardiantreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.GUARDIAN_DEPARTMENT_ID = e[0].id;
|
||
this.pd.GUARDIAN_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'guardianUserList');
|
||
},
|
||
// 取消回调事件
|
||
guardiantreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showGuardianTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_guardian._show();
|
||
},
|
||
PickerGuardian(e) {
|
||
this.guardianindex = e.detail.value;
|
||
this.pd.GUARDIAN_USER_ID = this.guardianUserList[this.guardianindex].USER_ID;
|
||
this.pd.GUARDIAN_USER_NAME = this.guardianUserList[this.guardianindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
|
||
/*
|
||
*单位领导
|
||
*/
|
||
// 确定回调事件
|
||
leadertreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.LEADER_DEPARTMENT_ID = e[0].id;
|
||
this.pd.LEADER_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'leaderUserList');
|
||
},
|
||
// 取消回调事件
|
||
leadertreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showLeaderTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_leader._show();
|
||
},
|
||
PickerLeader(e) {
|
||
this.leaderindex = e.detail.value;
|
||
this.pd.LEADER_USER_ID = this.leaderUserList[this.leaderindex].USER_ID;
|
||
this.pd.LEADER_USER_NAME = this.leaderUserList[this.leaderindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
/*
|
||
*安全管理部门负责人
|
||
*/
|
||
// 确定回调事件
|
||
audittreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.AUDIT_DEPARTMENT_ID = e[0].id;
|
||
this.pd.AUDIT_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'auditUserList');
|
||
},
|
||
// 取消回调事件
|
||
audittreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showAuditTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_audit._show();
|
||
},
|
||
PickerAudit(e) {
|
||
this.auditindex = e.detail.value;
|
||
this.pd.AUDIT_USER_ID = this.auditUserList[this.auditindex].USER_ID;
|
||
this.pd.AUDIT_USER_NAME = this.auditUserList[this.auditindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
/*
|
||
*审批部门
|
||
*/
|
||
// 确定回调事件
|
||
approvetreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.APPROVE_DEPARTMENT_ID = e[0].id;
|
||
this.pd.APPROVE_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'approveUserList');
|
||
},
|
||
// 取消回调事件
|
||
approvetreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showApproveTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_approve._show();
|
||
},
|
||
PickerApprove(e) {
|
||
this.approveindex = e.detail.value;
|
||
this.pd.APPROVE_USER_ID = this.approveUserList[this.approveindex].USER_ID;
|
||
this.pd.APPROVE_USER_NAME = this.approveUserList[this.approveindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
/*
|
||
*在岗班长
|
||
*/
|
||
// 确定回调事件
|
||
monitortreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.MONITOR_DEPARTMENT_ID = e[0].id;
|
||
this.pd.MONITOR_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'monitorUserList');
|
||
},
|
||
// 取消回调事件
|
||
monitortreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showMonitorTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_monitor._show();
|
||
},
|
||
PickerMonitor(e) {
|
||
this.monitorindex = e.detail.value;
|
||
this.pd.MONITOR_USER_ID = this.monitorUserList[this.monitorindex].USER_ID;
|
||
this.pd.MONITOR_USER_NAME = this.monitorUserList[this.monitorindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
/*
|
||
*验收部门
|
||
*/
|
||
// 确定回调事件
|
||
accepttreeConfirm(e) {
|
||
this.isUps = false;
|
||
this.pd.ACCEPT_DEPARTMENT_ID = e[0].id;
|
||
this.pd.ACCEPT_DEPARTMENT_NAME = e[0].name;
|
||
this.$forceUpdate();//强制刷新
|
||
this.getUserList(e[0].id, 'acceptUserList');
|
||
},
|
||
// 取消回调事件
|
||
accepttreeCancel(e) {
|
||
this.isUps = false;
|
||
},
|
||
// 显示树形选择器
|
||
showAcceptTree() {
|
||
this.isUps = true
|
||
this.$refs.tkiTree_accept._show();
|
||
},
|
||
PickerAccept(e) {
|
||
this.acceptindex = e.detail.value;
|
||
this.pd.ACCEPT_USER_ID = this.acceptUserList[this.acceptindex].USER_ID;
|
||
this.pd.ACCEPT_USER_NAME = this.acceptUserList[this.acceptindex].NAME;
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
changeStartDate(e) {
|
||
this.pd.WORK_START_DATE = e
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
changeEndDate(e) {
|
||
this.pd.WORK_END_DATE = e
|
||
this.$forceUpdate();//强制刷新
|
||
},
|
||
|
||
changeRadio(i, value) {
|
||
this.measuresList[i].STATUS = value
|
||
},
|
||
|
||
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>
|
||
|
||
</style>
|