<template> <view> <cu-custom bgColor="bg-gradual-blueness" :isBack="!otherIdentification && !otherAssignments"> <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 group-picker"> <view class="title">申请单位:</view> {{ pd.APPLY_DEPARTMENT_NAME }} </view> <view class="cu-form-group group-picker"> <view class="title">申请人:</view> {{ pd.APPLY_USER_NAME }} </view> <view class="cu-form-group"> <view class="title">地点坐标:</view> <button class="cu-btn bg-green shadow" @tap="showMapModal" v-if="!forbidEdit">定位</button> </view> <view class="cu-form-group" v-if="pd.WORK_LONGITUDE"> <view class="title">经度:</view> <view>{{ pd.WORK_LONGITUDE }}</view> </view> <view class="cu-form-group" v-if="pd.WORK_LATITUDE"> <view class="title">纬度:</view> <view>{{ pd.WORK_LATITUDE }}</view> </view> <view class="cu-form-group bb-default" v-if="pd.CHECK_NO != '' && pd.CHECK_NO != null"> <view class="title">编号:</view> <input name="input" ref="CHECK_NO" :disabled="true" v-model="pd.CHECK_NO" placeholder="请输入编号"></input> </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-group"> <view class="title">动火地点及动火部位:</view> <input name="input" :disabled="forbidEdit" v-model="pd.WORK_PLACE" placeholder="请输入"></input> </view> <view class="cu-form-group group-picker"> <view class="title">动火作业级别:</view> <picker v-if="!forbidEdit" @change="levelChange" :disabled="forbidEdit" :value="levelindex" :range="levelList" range-key="name"> <view class="picker"> {{ pd.WORK_LEVEL ? pd.WORK_LEVEL : '请选择' }} </view> </picker> <view v-else>{{ pd.WORK_LEVEL }}</view> </view> <view class="cu-form-group"> <view class="title">动火方式:</view> <input name="input" :disabled="forbidEdit" v-model="pd.WORK_FUNCTION" placeholder="请输入"></input> </view> <view v-if="!forbidEdit" 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 v-if="!forbidEdit" class="cu-form-group "> <view>提示:当前时间为预估动火开始时间,动火前验票后自动更新动火开始时间</view> </view> <view v-if="!forbidEdit" 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 v-if="forbidEdit" class="cu-form-group" style="height: 140upx;"> <view class="title" style="width: 175upx; height: 90upx; margin: 0;line-height: 1.6;"> <view>动火作业</view> <view>实施时间:</view> </view> <view> <text>{{ pd.WORK_START_DATE }}</text> <text>至</text> <text>{{ pd.WORK_END_DATE }}</text> </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 class="cu-form-group" v-if="!forbidEdit && pd.APPLY_STATUS != -99 && pd.APPLY_STATUS != -98"> <picker @change="PickerWorkuser" :value="workuserindex" :range="workUserList" :disabled="forbidEdit" range-key="NAME"> <view class="picker"> 请选择 </view> </picker> </view> </view> <textarea maxlength="255" v-model="pd.WORK_USER" 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 class="cu-tag bg-red" @tap.stop="DelImg1" :data-index="index" v-if="!forbidEdit"> <text class='cuIcon-close'></text> </view> </view> <view class="solids" @tap="ChooseImage" v-if="!forbidEdit"> <text class='cuIcon-cameraadd'></text> </view> </view> </view> </view> <view class="cu-form-textarea"> <view class="cu-form-title"> 关联的其他特殊作业及安全作业票编号 <button class="cu-btn bg-green sm reg-btn" v-if="!forbidEdit && pd.APPLY_STATUS != -99 && pd.APPLY_STATUS != -98" @click="otherAssignments = true">选择其它 </button> </view> <textarea maxlength="255" :disabled="forbidEdit" v-model="pd.SPECIAL_WORK" placeholder="请输入关联的其他特殊作业及安全作业票编号"></textarea> </view> <view class="cu-form-textarea"> <view class="cu-form-title"> 风险辨识结果 <button class="cu-btn bg-green sm reg-btn" v-if="!forbidEdit && pd.APPLY_STATUS != -99 && pd.APPLY_STATUS != -98" @click="otherIdentification = true">选择其它 </button> </view> <textarea maxlength="255" :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;width: 100px">操作</uni-th> </uni-tr> <uni-tr v-for="(item,index) in measuresList" :key="item.BUS_HOTWORK_MEASURES_ID"> <uni-td> <view style="margin-bottom: 20upx;"> {{ item.PROTECTIVE_MEASURES }} </view> <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 class="title">{{ item.QUESTION3 }}</view> <input name="input" :disabled="forbidEdit" v-model="item.ANSWER3" placeholder="请输入"></input> </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> </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 v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES"> <view class="cu-form-group"> <view class="title">其他安全措施:</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.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> <view class="wui-form-list"> <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.CONFESS_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.CONFESS_USER_NAME }} {{ pd.CONFESS_USER_SIGNER_TIME }} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;"> <image :src="baseImgPath + pd.CONFESS_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONFESS_USER_SIGNER_PATH)" style="height: 100%;"></image> </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" v-if="!forbidEdit"> <view class="cu-form-group"> <view class="title">安全措施确认人单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showSafetyTree"> {{ pd.SAFETY_DEPARTMENT_NAME ? pd.SAFETY_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_safety" :selectParent=true :range="treeNode" rangeKey="name" @confirm="safetyTreeConfirm" @cancel="safetyTreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">安全措施确认人</view> <picker @change="PickerSafety" :value="safetyIndex" :range="safetyUserList" range-key="NAME" :disabled="safetyUserList.length === 0" @click="isBlankList('anQuanCuoShiQueRenRen')"> <view class="picker"> {{ pd.SAFETY_USER_NAME ? pd.SAFETY_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group"> <view class="title">气体分析单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showAnalyzeTree"> {{ pd.ANALYZE_DEPARTMENT_NAME ? pd.ANALYZE_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_analyze" :selectParent=true :range="treeNode" rangeKey="name" @confirm="analyzetreeConfirm" @cancel="analyzetreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">气体分析单位负责人</view> <picker @change="PickerAnalyze" :value="analyzeindex" :range="analyzeUserList" range-key="NAME" :disabled="analyzeUserList.length == 0" @click="isBlankList('analyze')"> <view class="picker"> {{ pd.ANALYZE_USER_NAME ? pd.ANALYZE_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">项目部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showXiangMuTree"> {{ pd.BELONGING_DEPARTMENT_NAME ? pd.BELONGING_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="xiangMu_confirm" :selectParent=true :range="treeNode" rangeKey="name" @confirm="xiangMuBuMenConfirm" @cancel="xiangMuBuMenCancel"></tki-tree> </view> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">项目主管部门负责人</view> <picker @change="xiangMuBuMenUserConfirm" :value="xiangMuFuZheRenIndex" :range="xiangMuBuMenUserList" range-key="NAME" :disabled="xiangMuBuMenUserList.length == 0" @click="isBlankList('xiangMu')"> <view class="picker"> {{ pd.BELONGING_USER_NAME ? pd.BELONGING_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">作业负责人单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showConfirmTree"> {{ pd.CONFIRM_DEPARTMENT_NAME ? pd.CONFIRM_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_confirm" :selectParent=true :range="treeNode" rangeKey="name" @confirm="confirmtreeConfirm" @cancel="confirmtreeCancel"></tki-tree> </view> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">作业负责人</view> <picker @change="PickerConfirm" :value="confirmindex" :range="confirmUserList" range-key="NAME" :disabled="confirmUserList.length == 0" @click="isBlankList('confirm')"> <view class="picker"> {{ pd.CONFIRM_USER_NAME ? pd.CONFIRM_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">属地监管单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showLeaderTree"> {{ pd.LEADER_DEPARTMENT_NAME ? pd.LEADER_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_leader" :selectParent=true :range="treeNode" rangeKey="name" @confirm="leadertreeConfirm" @cancel="leadertreeCancel"></tki-tree> </view> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">属地监管单位负责人</view> <picker @change="PickerLeader" :value="leaderindex" :range="leaderUserList" range-key="NAME" :disabled="leaderUserList.length == 0" @click="isBlankList('leader')"> <view class="picker"> {{ pd.LEADER_USER_NAME ? pd.LEADER_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="pd.WORK_LEVEL != '二级'"> <view class="title">安全管理部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showAuditTree"> {{ pd.AUDIT_DEPARTMENT_NAME ? pd.AUDIT_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_audit" :selectParent=true :range="treeNode" rangeKey="name" @confirm="audittreeConfirm" @cancel="audittreeCancel"></tki-tree> </view> <view class="cu-form-group" v-if="pd.WORK_LEVEL != '二级'"> <view class="title">安全管理部门负责人</view> <picker @change="PickerAudit" :value="auditindex" :range="auditUserList" range-key="NAME" :disabled="auditUserList.length == 0" @click="isBlankList('audit')"> <view class="picker"> {{ pd.AUDIT_USER_NAME ? pd.AUDIT_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="pd.WORK_LEVEL != '二级' && pd.WORK_LEVEL != '一级'"> <view class="title">动火审批单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showApproveTree"> {{ pd.APPROVE_DEPARTMENT_NAME ? pd.APPROVE_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_approve" :selectParent=true :range="treeNode" rangeKey="name" @confirm="approvetreeConfirm" @cancel="approvetreeCancel"></tki-tree> </view> <view class="cu-form-group" v-if="pd.WORK_LEVEL != '二级' && pd.WORK_LEVEL != '一级'"> <view class="title">动火审批负责人</view> <picker @change="PickerApprove" :value="approveindex" :range="approveUserList" range-key="NAME" :disabled="approveUserList.length == 0" @click="isBlankList('approve')"> <view class="picker"> {{ pd.APPROVE_USER_NAME ? pd.APPROVE_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">动火前验票部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showMonitorTree"> {{ pd.MONITOR_DEPARTMENT_NAME ? pd.MONITOR_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_monitor" :selectParent=true :range="treeNode" rangeKey="name" @confirm="monitortreeConfirm" @cancel="monitortreeCancel"></tki-tree> </view> <view class="cu-form-group" v-if="!forbidEdit"> <view class="title">动火前验票负责人</view> <picker @change="PickerMonitor" :value="monitorindex" :range="monitorUserList" range-key="NAME" :disabled="monitorUserList.length == 0" @click="isBlankList('monitor')"> <view class="picker"> {{ pd.MONITOR_USER_NAME ? pd.MONITOR_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group"> <view class="title">监护人单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showGuardianTree"> {{ pd.GUARDIAN_DEPARTMENT_NAME ? pd.GUARDIAN_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_guardian" :selectParent=true :range="treeNode" rangeKey="name" @confirm="guardiantreeConfirm" @cancel="guardiantreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">监护人</view> <picker @change="PickerGuardian" :value="guardianindex" :range="guardianUserList" range-key="NAME" :disabled="guardianUserList.length == 0" @click="isBlankList('guardian')"> <view class="picker"> {{ pd.GUARDIAN_USER_NAME ? pd.GUARDIAN_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="add_pard_box" v-if="!forbidEdit"> <view class="add_pard_btns"> <view class="add_pard_b" style="width: 170px;"> <button class="cu-btn round bg-blue" @click="addConfessUser">添加安全交底人</button> </view> </view> <view class="add_pard_item" v-for="(item,index) of confessList"> <view class="add_pard_del" v-if="index>0" @click="removeConfessUser(index)"> <text class="cuIcon-roundclosefill text-red f40"></text> </view> <view class="cu-form-group"> <view class="title">安全交底人单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showConfessTree(index)"> {{ item.CONFESS_DEPARTMENT_NAME ? item.CONFESS_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_confess" :selectParent=true :range="treeNode" rangeKey="name" @confirm="confesstreeConfirm($event,index)" @cancel="confesstreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">安全交底人</view> <picker @change="PickerConfess($event,index)" :value="item.confessindex" :range="item.confessUserList" range-key="NAME" :disabled="item.confessUserList.length === 0"> <view class="picker"> {{ item.CONFESS_USER_NAME ? item.CONFESS_USER_NAME : '请选择' }} </view> </picker> </view> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group"> <view class="title">接受交底人单位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showAcceptconfessTree"> {{ pd.ACCEPT_CONFESS_DEPARTMENT_NAME ? pd.ACCEPT_CONFESS_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_acceptconfess" :selectParent=true :range="treeNode" rangeKey="name" @confirm="confesstreeAcceptconfirm" @cancel="acceptconfesstreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">接受交底人</view> <picker @change="PickerAcceptconfess" :value="acceptconfessindex" :range="acceptconfessUserList" range-key="NAME" :disabled="acceptconfessUserList.length == 0" @click="isBlankList('acceptconfess')"> <view class="picker"> {{ pd.ACCEPT_CONFESS_USER_NAME ? pd.ACCEPT_CONFESS_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="!forbidEdit"> <view class="cu-form-group"> <view class="title">验收部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showAcceptTree"> {{ pd.ACCEPT_DEPARTMENT_NAME ? pd.ACCEPT_DEPARTMENT_NAME : '请选择' }} </view> </view> <tki-tree ref="tkiTree_accept" :selectParent=true :range="treeNode" rangeKey="name" @confirm="accepttreeConfirm" @cancel="accepttreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">验收部门负责人</view> <picker @change="PickerAccept" :value="acceptindex" :range="acceptUserList" range-key="NAME" :disabled="acceptUserList.length == 0" @click="isBlankList('accept')"> <view class="picker"> {{ pd.ACCEPT_USER_NAME ? pd.ACCEPT_USER_NAME : '请选择' }} </view> </picker> </view> </view> <view class="wui-form-list" v-if="forbidEdit"> <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 v-if="pd.CONFIRM_USER_SIGNER_PATH"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">作业负责人意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.CONFIRM_CONTENT"></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> <view v-if="pd.LEADER_USER_SIGNER_PATH"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">属地监管单位意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.LEADER_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group"> <view class="title">属地监管单位负责人</view> {{ pd.LEADER_USER_NAME }} {{ pd.LEADER_USER_SIGNER_TIME }} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;"> <image :src="baseImgPath + pd.LEADER_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.LEADER_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="pd.AUDIT_USER_SIGNER_PATH"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">安全管理部门意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.AUDIT_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group"> <view class="title">安全管理部门负责人</view> {{ pd.AUDIT_USER_NAME }} {{ pd.AUDIT_USER_SIGNER_TIME }} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;"> <image :src="baseImgPath + pd.AUDIT_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.AUDIT_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="pd.APPROVE_USER_SIGNER_PATH"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">动火审批人意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.APPROVE_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group"> <view class="title">动火审批人</view> {{ pd.APPROVE_USER_NAME }} {{ pd.APPROVE_USER_SIGNER_TIME }} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;"> <image :src="baseImgPath + pd.APPROVE_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.APPROVE_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="pd.MONITOR_USER_SIGNER_PATH"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">动火前验票负责人意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.MONITOR_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group"> <view class="title">动火前验票负责人</view> {{ pd.MONITOR_USER_NAME }} {{ pd.MONITOR_USER_SIGNER_TIME }} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;"> <image :src="baseImgPath + pd.MONITOR_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.MONITOR_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="files1.length > 0"> <view class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">完工验收</view> <textarea maxlength="255" disabled="disabled" v-model="pd.ACCEPT_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group"> <view class="title">验收部门负责人</view> {{ pd.ACCEPT_USER_NAME }} {{ pd.ACCEPT_USER_SIGNER_TIME }} </view> <view class="cu-item" v-for="(item,index) in files1" :key="index" style="border-bottom: 1px solid #e3e3e3"> <view class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;"> <image :src="baseImgPath+item.ACCEPT_USER_SIGNER_PATH" :data-index="index" @click="ViewShowImage1(baseImgPath+item.ACCEPT_USER_SIGNER_PATH)" mode="" style="width: 200upx;height: 200upx;"></image> <text>{{ item.ACCEPT_USER_SIGNER_TIME }}</text> </view> </view> </view> </view> </view> </view> <view class="cu-bar btn-group" style="margin-top: 30upx;"> <button v-if="!forbidEdit && pd.APPLY_STATUS <1 && pd.APPLY_STATUS != -99 && pd.APPLY_STATUS != -98 || !pd.APPLY_STATUS " :loading="buttonloading" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit,'1')">提交 </button> <button v-if="!forbidEdit && pd.APPLY_STATUS <1 && pd.APPLY_STATUS != -99 && pd.APPLY_STATUS != -98 || !pd.APPLY_STATUS " :loading="buttonloading" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit,'0')">暂存 </button> <button v-if="forbidEdit || pd.APPLY_STATUS == -99 || pd.APPLY_STATUS == -98 " class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)">返回 </button> </view> <view class="padding flex flex-direction"> </view> </scroll-view> <other-select :visible.sync="otherAssignments" v-model="pd.SPECIAL_WORK" type="assignments"/> <other-select :visible.sync="otherIdentification" v-model="pd.RISK_IDENTIFICATION" type="identification"/> </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 OtherSelect from '@/components/other-select/index.vue'; export default { components: { tkiTree, ruiDatePicker, writingBoard, OtherSelect }, data() { return { xiangMuBuMenUserList:[], baseImgPath: baseImgPath, buttonloading: false, isUps: false, forbidEdit: true,// 禁止修改 msg: 'add', noClick: true, treeNode: [],//部门下拉数据 levelList: [ {id: '特级', name: '特级'}, {id: '一级', name: '一级'}, {id: '二级', name: '二级'}, ], levelindex: -1, files: [], files1: [], analyzeUserList: [], analyzeindex: -1, confirmUserList: [], workuserindex: -1, confessUserList: [], confessindex: -1, acceptconfessUserList: [], acceptconfessindex: -1, workUserList: [], confirmindex: -1, xiangMuFuZheRenIndex: -1, guardianUserList: [], guardianindex: -1, leaderUserList: [], leaderindex: -1, auditUserList: [], auditindex: -1, approveUserList: [], approveindex: -1, monitorUserList: [], monitorindex: -1, acceptUserList: [], acceptindex: -1, pd: { OTHER_PROTECTIVE_MEASURES: ';_;;_;;_;;_;;_;;_;;_;', WORK_LONGITUDE: '', WORK_LATITUDE: '', dongHuoCaoZuoRenPic: [] },// 数据 measuresList: [], rules: [ {name: 'WORK_CONTENT', message: '请输入作业内容'}, {name: 'WORK_PLACE', message: '请输入动火地点及动火部位'}, {name: 'WORK_LEVEL', message: '请选择动火级别'}, {name: 'WORK_FUNCTION', message: '请输入动火方式'}, {name: 'WORK_START_DATE', message: '请选择工作开始时间'}, {name: 'WORK_END_DATE', message: '请选择工作结束时间'}, {name: 'WORK_USER', message: '请输入动火人及证书编号'}, {name: 'RISK_IDENTIFICATION', message: '请输入风险辨识结果'}, {name: 'ANALYZE_USER_ID', message: '请选择气体分析单位负责人'}, {name: 'CONFIRM_USER_ID', message: '请选择作业负责人'}, {name: 'LEADER_USER_ID', message: '请选择属地监管单位负责人'}, {name: 'MONITOR_USER_ID', message: '请选择动火前验票负责人'}, {name: 'ACCEPT_USER_ID', message: '请选择验收部门负责人'}, {name: 'GUARDIAN_USER_ID', message: '请选择监护人'}, {name: 'ACCEPT_CONFESS_USER_ID', message: '请选择接受交底人'}, {name: 'BELONGING_USER_ID', message: '请选择项目主管部门负责人'}, {name: 'SAFETY_USER_ID', message: '请选择项安全措施确认人'}, ], todayDate: '', otherAssignments: false, otherIdentification: false, confessList:[ { CONFESS_DEPARTMENT_NAME:'', CONFESS_DEPARTMENT_ID:'', CONFESS_USER_NAME:'', CONFESS_USER_ID:'', confessUserList:[], confessindex: -1 } ], safetyIndex: -1, safetyUserList: [], } }, 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.pd.OTHER_PROTECTIVE_MEASURES = '' this.pd.dongHuoCaoZuoRenPic = [] this.getWorkUserList(); } // 初始化现场作业负责人 this.getDept(); this.getLimitSpace(); this.getSafetyCheck(); loginSession(); }, methods: { /** 坐标定位 */ showMapModal() { var _this = this uni.navigateTo({ url: '/pages/map/map', events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 acceptDataFromOpenedPage: function (e) { _this.pd.WORK_LONGITUDE = e.data.longitue; _this.pd.WORK_LATITUDE = e.data.latitude; console.info(_this.pd) } }, }) }, //跳转事件 goToDetail(e) { uni.navigateTo({ url: '/pages/application/hotwork_cfd/hotwork-gas/gas-list?HOTWORK_ID=' + e }); }, getCode() { uni.request({ url: basePath + '/app/hotwork/cfd/getCode', method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { CORPINFO_ID: loginUser.CORPINFO_ID, }, success: (res) => { this.pd.CHECK_NO = res.data.code; } }) }, 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], "LEADER_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[2], "AUDIT_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[3], "APPROVE_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[4], "MONITOR_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[5] }) _this.pd.OTHER_PROTECTIVE_MEASURES = '' // created by liu jun description: 在查看详情时如果有安全防护措施信息则用接口返回的数据,如果没有则用默认的数据 if (res.data.measuresList && res.data.measuresList.length > 0) { _this.measuresList = res.data.measuresList } _this.files = res.data.imgList; _this.files1 = res.data.imgList1; 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) } } if (_this.pd.APPLY_STATUS <= 0) { _this.forbidEdit = false; } _this.pd.WORK_LONGITUDE = res.data.pd.WORK_LONGITUDE _this.pd.WORK_LATITUDE = res.data.pd.WORK_LATITUDE this.getUserList(this.pd.ANALYZE_DEPARTMENT_ID, 'analyzeUserList'); this.getUserList(this.pd.CONFIRM_DEPARTMENT_ID, 'confirmUserList'); this.getUserList(this.pd.LEADER_DEPARTMENT_ID, 'leaderUserList'); this.getUserList(this.pd.AUDIT_DEPARTMENT_ID, 'auditUserList'); this.getUserList(this.pd.APPROVE_DEPARTMENT_ID, 'approveUserList'); this.getUserList(this.pd.MONITOR_DEPARTMENT_ID, 'monitorUserList'); this.getUserList(this.pd.ACCEPT_DEPARTMENT_ID, 'acceptUserList'); this.getWorkUserList(); // created by liu jun description: 拼装安全交底人数据 if (res.data.pd.confessList && res.data.pd.confessList.length > 0) { _this.confessList = res.data.pd.confessList for (let i = 0; i < _this.confessList.length; i++) { this.getUserListForJiaoDiRen(_this.confessList[i].CONFESS_DEPARTMENT_ID, i); } } } else if ("exception" == data.result) { uni.showToast({ title: '错误', duration: 2000 }); } } }); }, ViewShowImage(url) { let files = []; files.push(url) uni.previewImage({ urls: files, current: 0 }); }, ViewShowImage1(url) { let files1 = []; files1.push(url) uni.previewImage({ urls: files1, current: 0 }); }, goSubmit(STATUS) { var _this = this; let required = true uni.showLoading({ title: '请稍候' }) if (STATUS === '1') { this.rules.map(({name, message}) => { if (!this.pd[name]) { uni.showToast({ icon: 'none', title: message, duration: 1500 }); required = false } }) if (this.pd.WORK_LEVEL != '二级') { if (!this.pd.AUDIT_USER_ID) { uni.showToast({ icon: 'none', title: '请选择安全管理部门负责人', duration: 1500 }); required = false } } if (this.pd.WORK_LEVEL != '二级' && this.pd.WORK_LEVEL != '一级') { if (!this.pd.APPROVE_USER_ID) { uni.showToast({ icon: 'none', title: '请选择动火审批负责人', duration: 1500 }); required = false } } if (this.pd.WORK_LEVEL == '特级' || this.pd.WORK_LEVEL == '一级') { if (new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime() >= 28800000) { uni.showToast({ icon: 'none', title: '动火级别为特级或一级时,动火作业开始时间与结束时间应不超过8小时,请重新选择', duration: 1500 }); required = false } } 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 }); required = false } if (this.pd.WORK_LEVEL == '二级') { if (new Date(this.pd.WORK_END_DATE).getTime() - new Date(this.pd.WORK_START_DATE).getTime() >= 259200000) { uni.showToast({ icon: 'none', title: '动火级别为二级时,动火作业开始时间与结束时间应不超过72小时,请重新选择', duration: 1500 }); required = false } } for (let i = 0; i < this.confessList.length; i++) { if (!this.confessList[i].CONFESS_USER_ID) { uni.showToast({ icon: 'none', title: '请选择安全交底人', duration: 1500 }); required = false } } if (this.pd.dongHuoCaoZuoRenPic.length <= 0) { uni.showToast({ icon: 'none', title: '请上传动火操作人图片', duration: 1500 }); required = false } if (!required) { return } // 清空非必要信息 for (let i = 0; i < this.confessList.length; i++) { this.confessList[i].confessUserList = [] } } const formData = {} Object.keys(this.pd).map(key => { formData[key] = this.pd[key] }) formData.CORPINFO_ID = corpinfoId formData.CREATOR = loginUser.USER_ID formData.OPERATOR = loginUser.USER_ID formData.ACTION_USER = loginUser.NAME formData.APPLY_STATUS = STATUS formData.WORK_LONGITUDE = this.pd.WORK_LONGITUDE formData.WORK_LATITUDE = this.pd.WORK_LATITUDE formData.dongHuoCaoZuoRenPic = this.pd.dongHuoCaoZuoRenPic formData.CORPINFO_ID = loginUser.CORPINFO_ID formData.USER_ID = loginUser.USER_ID formData.confessList = JSON.stringify(this.confessList) this.buttonloading = true uni.request({ url: basePath + "/app/hotwork/cfd/" + _this.msg, method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { ...formData, CORPINFO_ID: loginUser.CORPINFO_ID, USER_ID: loginUser.USER_ID, }, success: (res) => { if (res.data.result == 'success') { for (let i = 0; i < this.pd.dongHuoCaoZuoRenPic.length; i++) { uni.uploadFile({ url: basePath + "/app/hotwork/cfd/uploadImg", filePath: this.pd.dongHuoCaoZuoRenPic[i], name: 'FFILE', formData: { HOTWORK_ID: res.data.HOTWORK_ID }, success: () => { if (i === this.pd.dongHuoCaoZuoRenPic.length - 1) { uni.hideLoading(); uni.showToast({ title: '提交成功', duration: 1500 }); _this.goback() this.buttonloading = false } }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) } }else{ uni.hideLoading(); uni.showToast({ title: res.data.message, duration: 1500 }); 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; } }); }, getSafetyCheck(){ var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/app/hotwork/cfd/getSafetyCheckItem?tm=' + new Date().getTime(), data: { CORPINFO_ID: loginUser.CORPINFO_ID, USER_ID: loginUser.USER_ID, }, success: function (res) { _this.measuresList = res.data.measuresList; } }); }, levelChange(e) { this.levelindex = e.detail.value; this.pd.WORK_LEVEL = this.levelList[this.levelindex].name; if (e.detail.value == '2') { this.pd.AUDIT_DEPARTMENT_ID = ''; this.pd.AUDIT_DEPARTMENT_NAME = ''; this.pd.AUDIT_USER_ID = ''; this.pd.AUDIT_USER_NAME = ''; this.pd.APPROVE_DEPARTMENT_ID = ''; this.pd.APPROVE_DEPARTMENT_NAME = ''; this.pd.APPROVE_USER_ID = ''; this.pd.APPROVE_USER_NAME = ''; } if (e.detail.value == '1') { this.pd.APPROVE_DEPARTMENT_ID = ''; this.pd.APPROVE_DEPARTMENT_NAME = ''; this.pd.APPROVE_USER_ID = ''; this.pd.APPROVE_USER_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 }); } } }) }, getUserListForJiaoDiRen(dept, index) { //发送 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) { _this.confessList[index].confessUserList = res.data.userList; } else { uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, getWorkUserList() { //发送 post 请求 var _this = this uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/app/personnelmanagement/cfd/list', data: { tm: new Date().getTime(), CORPINFO_ID: loginUser.CORPINFO_ID, USER_ID: loginUser.USER_ID, }, success: function (res) { if ("success" == res.data.result) { _this.workUserList = res.data.varList console.log(_this.workUserList) } else { uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, isBlankList(userType) { switch (userType) { case 'analyze': if (this.analyzeUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择气体分析单位', duration: 1500 }) } break case 'confirm': if (this.confirmUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择作业负责人单位', duration: 1500 }) } break case 'guardian': if (this.guardianUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择监护人单位', duration: 1500 }) } break case 'confess': if (this.confessUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择安全交底人单位', duration: 1500 }) } break case 'acceptconfess': if (this.acceptconfessUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择接受交底人单位', duration: 1500 }) } break case 'leader': if (this.leaderUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择属地监管单位', duration: 1500 }) } break case 'audit': if (this.auditUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择安全管理部门', duration: 1500 }) } break case 'approve': if (this.approveUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择审批单位', duration: 1500 }) } break case 'monitor': if (this.monitorUserList.length == 0) { uni.showToast({ icon: 'none', title: '请先选择动火前验票部门', duration: 1500 }) } break case 'accept': if (this.acceptUserList.length === 0) { uni.showToast({ icon: 'none', title: '请先选择验收部门', duration: 1500 }) } break case 'xiangMu': if (this.xiangMuBuMenUserList.length === 0) { uni.showToast({ icon: 'none', title: '请先选择项目主管部门负责人', duration: 1500 }) } break case 'anQuanCuoShiQueRenRen': if (this.safetyUserList.length === 0) { uni.showToast({ icon: 'none', title: '请先选择项安全措施确认人', duration: 1500 }) } break } }, // 确定回调事件 confesstreeConfirm(e ,index) { this.isUps = false; this.confessList[index].CONFESS_DEPARTMENT_ID = e[0].id; this.confessList[index].CONFESS_DEPARTMENT_NAME = e[0].name; this.confessList[index].CONFESS_USER_ID = '' this.confessList[index].CONFESS_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserListForJiaoDiRen(e[0].id, index); }, // 确定回调事件 confesstreeAcceptconfirm(e) { this.isUps = false; this.pd.ACCEPT_CONFESS_DEPARTMENT_ID = e[0].id; this.pd.ACCEPT_CONFESS_DEPARTMENT_NAME = e[0].name; this.pd.ACCEPT_CONFESS_USER_ID = '' this.pd.ACCEPT_CONFESS_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserList(e[0].id, 'acceptconfessUserList'); }, // 取消回调事件 guardiantreeCancel(e) { this.isUps = false; }, // 取消回调事件 confesstreeCancel(e) { this.isUps = false; }, // 取消回调事件 acceptconfesstreeCancel(e) { this.isUps = false; }, // 显示树形选择器 showGuardianTree() { this.isUps = true this.$refs.tkiTree_guardian._show(); }, // 显示树形选择器 showConfessTree(index) { this.isUps = true this.$refs.tkiTree_confess[index]._show(); }, // 显示树形选择器 showAcceptconfessTree() { this.isUps = true this.$refs.tkiTree_acceptconfess._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();//强制刷新 }, PickerConfess(e,index) { this.confessList[index].confessindex = e.detail.value; this.confessList[index].CONFESS_USER_ID = this.confessList[index].confessUserList[e.detail.value].USER_ID; this.confessList[index].CONFESS_USER_NAME = this.confessList[index].confessUserList[e.detail.value].NAME; this.$forceUpdate();//强制刷新 }, PickerAcceptconfess(e) { this.acceptconfessindex = e.detail.value; this.pd.ACCEPT_CONFESS_USER_ID = this.acceptconfessUserList[this.acceptconfessindex].USER_ID; this.pd.ACCEPT_CONFESS_USER_NAME = this.acceptconfessUserList[this.acceptconfessindex].NAME; this.$forceUpdate();//强制刷新 }, /* *分析人 */ // 确定回调事件 analyzetreeConfirm(e) { this.isUps = false; this.pd.ANALYZE_DEPARTMENT_ID = e[0].id; this.pd.ANALYZE_DEPARTMENT_NAME = e[0].name; this.pd.ANALYZE_USER_ID = '' this.pd.ANALYZE_USER_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();//强制刷新 }, PickerWorkuser(e) { this.workuserindex = e.detail.value; this.pd.WORK_USER_ID = this.workUserList[this.workuserindex].USER_ID; this.pd.WORK_USER = this.workUserList[this.workuserindex].NAME; this.$forceUpdate();//强制刷新 }, /* *作业负责人 */ // 确定回调事件 xiangMuBuMenConfirm(e) { this.isUps = false; this.pd.BELONGING_DEPARTMENT_ID = e[0].id; this.pd.BELONGING_DEPARTMENT_NAME = e[0].name; this.pd.BELONGING_USER_ID = '' this.pd.BELONGING_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserList(e[0].id, 'xiangMuBuMenUserList'); }, // 取消回调事件 xiangMuBuMenCancel(e) { this.isUps = false; }, xiangMuBuMenUserConfirm(e) { this.xiangMuFuZheRenIndex = e.detail.value; this.pd.BELONGING_USER_ID = this.xiangMuBuMenUserList[this.xiangMuFuZheRenIndex].USER_ID; this.pd.BELONGING_USER_NAME = this.xiangMuBuMenUserList[this.xiangMuFuZheRenIndex].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.pd.CONFIRM_USER_ID = '' this.pd.CONFIRM_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserList(e[0].id, 'confirmUserList'); }, // 取消回调事件 confirmtreeCancel(e) { this.isUps = false; }, // 显示树形选择器 showConfirmTree() { this.isUps = true this.$refs.tkiTree_confirm._show(); }, showXiangMuTree() { this.isUps = true this.$refs.xiangMu_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.pd.GUARDIAN_USER_ID = '' this.pd.GUARDIAN_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserList(e[0].id, 'guardianUserList'); }, // 确定回调事件 leadertreeConfirm(e) { this.isUps = false; this.pd.LEADER_DEPARTMENT_ID = e[0].id; this.pd.LEADER_DEPARTMENT_NAME = e[0].name; this.pd.LEADER_USER_ID = '' this.pd.LEADER_USER_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.pd.AUDIT_USER_ID = '' this.pd.AUDIT_USER_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.pd.APPROVE_USER_ID = '' this.pd.APPROVE_USER_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.pd.MONITOR_USER_ID = '' this.pd.MONITOR_USER_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.pd.ACCEPT_USER_ID = '' this.pd.ACCEPT_USER_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();//强制刷新 }, 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; }, //2024-01-25 created by liu jun description: 上传动火人图片 ChooseImage() { var _this = this; uni.chooseImage({ count: 4, //默认9 sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera', 'album'], //从相册选择 success: (res) => { if (this.pd.dongHuoCaoZuoRenPic.length !== 0) { this.pd.dongHuoCaoZuoRenPic = this.pd.dongHuoCaoZuoRenPic.concat(res.tempFilePaths) } else { this.pd.dongHuoCaoZuoRenPic = res.tempFilePaths } } }); }, ViewImage(e) { uni.previewImage({ urls: this.pd.dongHuoCaoZuoRenPic, current: e.currentTarget.dataset.url }); }, DelImg1(e) { uni.showModal({ title: '双控平台', content: '确定要删除这张图片吗?', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { if (res.confirm) { this.form.imgList.splice(e.currentTarget.dataset.index, 1) } } }) }, // 2024-01-31 created by liu jun description: 安全交底人多选 addConfessUser(){ var _this = this; let o = { CONFESS_DEPARTMENT_NAME:'', CONFESS_DEPARTMENT_ID:'', CONFESS_USER_NAME:'', CONFESS_USER_ID:'', confessUserList:[], confessindex: -1 }; _this.confessList.push(o); }, removeConfessUser(index){ this.confessList.splice(index,1); }, // 2024-02-03 created by liu jun description:安全措施确认人信息选怎 showSafetyTree(){ this.isUps = true this.$refs.tkiTree_safety._show(); }, safetyTreeConfirm(e) { this.isUps = false; this.pd.SAFETY_DEPARTMENT_ID = e[0].id; this.pd.SAFETY_DEPARTMENT_NAME = e[0].name; this.pd.SAFETY_USER_ID = '' this.pd.SAFETY_USER_NAME = '' this.$forceUpdate();//强制刷新 this.getUserList(e[0].id, 'safetyUserList'); }, safetyTreeCancel(e) { this.isUps = false; }, PickerSafety(e) { this.safetyIndex = e.detail.value; this.pd.SAFETY_USER_ID = this.safetyUserList[this.safetyIndex].USER_ID; this.pd.SAFETY_USER_NAME = this.safetyUserList[this.safetyIndex].NAME; this.$forceUpdate();//强制刷新 }, } } </script> <style> </style>