sx_yjb_app/pages/application/hoisting/hoisting-apply/hoisting-apply-detail.vue

2847 lines
105 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>
<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 bb-default" v-if="pd.CHECK_NO != '' && pd.CHECK_NO != null">
<view class="title">编号:</view>
{{ pd.CHECK_NO }}
</view>
<view class="cu-form-group bb-default">
<view class="title">申请分厂:</view>
<picker v-if="!forbidEdit" :disabled="forbidEdit" @change="PickerApplyDept" :value="applyDeptindex"
:range="applyDeptList" range-key="name">
<view class="picker">
{{ pd.APPLY_DEPARTMENT_NAME ? pd.APPLY_DEPARTMENT_NAME : '请选择' }}
</view>
</picker>
<view v-else>{{ pd.APPLY_DEPARTMENT_NAME }}</view>
</view>
<view class="cu-form-group bb-default">
<view class="title">申请工段:</view>
<picker v-if="!forbidEdit" :disabled="forbidEdit" @change="PickerApplyWorkshopDept" :value="applyWorkshopDeptindex"
:range="applyWorkshopDeptList" range-key="name">
<view class="picker">
{{ pd.APPLY_WORKSHOP_DEPARTMENT_NAME ? pd.APPLY_WORKSHOP_DEPARTMENT_NAME : '请选择' }}
</view>
</picker>
<view v-else>{{ pd.APPLY_WORKSHOP_DEPARTMENT_NAME }}</view>
</view>
<view class="cu-form-group bb-default group-picker">
<view class="title">作业级别:</view>
<picker @change="PickerWorkLevel" :value="workLevelIndex" :disabled="forbidEdit" :range="workLevelList"
range-key="NAME">
<view class="picker">
{{ !pd.WORK_LEVEL ? '请选择' : '' }}
{{ pd.WORK_LEVEL == '1' ? '一级作业级别' : '' }}
{{ pd.WORK_LEVEL == '2' ? '二级作业级别' : '' }}
{{ pd.WORK_LEVEL == '3' ? '三级作业级别' : '' }}
</view>
</picker>
</view>
<view class="wui-form-list">
<view class="cu-bar">
<view class="title" style="font-weight: bold;">
教育培训记录:
</view>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="grid col-4 grid-square flex-sub" >
<view class="bg-img" v-for="(item,index) in conimgList" :key="index" @tap="viewImage(index,'conimgList')">
<image :src="baseImgPath + item.filePath" mode="aspectFill"></image>
<view class="cu-tag bg-red" @tap.stop="delImgs" data-type="2" :data-index="index">
<text class='cuIcon-close'></text>
</view>
</view>
<view class="solids" @tap="chooseImages()" v-if="conimgList.length < 1">
<text class='cuIcon-cameraadd'></text>
</view>
</view>
</view>
<view v-if="forbidEdit">
<view v-if="pd.EDU_FILE_PATH">
<view style="margin-right:20upx">
<view class="imgs">
<image :src="baseImgPath + pd.EDU_FILE_PATH"
@click="ViewShowImage(baseImgPath + pd.EDU_FILE_PATH)"
mode="" style="width: 100upx;height: 100upx;"></image>
</view>
</view>
</view>
</view>
</view>
<view class="cu-form-group bb-default" style="border-top: 0.5px solid #eee;">
<view class="title">吊装地点:</view>
<input name="input" ref="WORK_PLACE" :disabled="forbidEdit" v-model="pd.WORK_PLACE"
placeholder="请输入作业地点"></input>
</view>
<view class="cu-form-group">
<view class="title">吊具名称:</view>
<input name="input" ref="TOOL_NAME" :disabled="forbidEdit" v-model="pd.TOOL_NAME"
placeholder="请输入吊具名称"></input>
</view>
<view class="cu-form-group">
<view class="title">吊物质量(吨)</view>
<input name="input" ref="PART_WEIGHT" type="number" :disabled="forbidEdit" v-model="pd.PART_WEIGHT"
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-textarea">
<view class="cu-form-title">
关联的其他特殊作业及安全作业票编号
<button class="cu-btn bg-green sm reg-btn" v-if="!forbidEdit" @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" @click="otherIdentification = true">
选择其它
</button>
</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.RISK_IDENTIFICATION"
placeholder="请输入风险辨识结果"></textarea>
</view>
<view v-if="pd.WORK_START_DATE" class="cu-form-group bb-default">
<view class="title">作业开始时间:</view>
{{ pd.WORK_START_DATE }}
</view>
<view v-if="pd.WORK_END_DATE" class="cu-form-group bb-default">
<view class="title">作业结束时间:</view>
{{ pd.WORK_END_DATE }}
</view>
</view>
<view class="wui-form-list" style="padding-top: 20upx;" v-if="measuresList.length > 0">
<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_HOISTING_MEASURES_ID">
<uni-td>
<view style="margin-bottom: 20upx;">
{{ item.PROTECTIVE_MEASURES }}
<view v-if="item.SIGN_PATH" class="cu-item">
<view class="imgs" v-for="(itemPath,itemIndex) in item.SIGN_PATH.split(',')"
style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
<image :src="baseImgPath + itemPath" :data-index="itemIndex"
@click="ViewShowImage(baseImgPath + itemPath)"
mode="" style="width: 50upx;height: 50upx;"></image>
<text> {{ item.SIGN_TIME }}</text>
</view>
</view>
</view>
<view class="cu-form-group" v-if="item.QUESTION1">
<view class="title">{{ item.QUESTION1 }}</view>
{{ item.ANSWER1 ? item.ANSWER1 : "" }}
</view>
</uni-td>
<uni-td align="center">
<view class="group" v-if="item.STATUS=='-1'">
<text class="wui-pl10">不涉及</text>
</view>
<view class="group" v-if="item.STATUS=='1'">
<text class="wui-pl10">涉&nbsp;&nbsp;&nbsp;&nbsp;及</text>
</view>
<view v-if="item.IMG_PATH">
<view class="imgs" v-for="img in item.IMG_PATH.split(',')"
style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
<image :src="baseImgPath + img" :data-index="index" @click="ViewShowImage(baseImgPath + img)"
mode="" style="width: 50upx;height: 50upx;"></image>
</view>
</view>
</uni-td>
</uni-tr>
</uni-table>
</view>
</view>
<view class="wui-form-list" style="padding-top: 20upx;" v-if="signs.MEASURES_CONFIRM">
<view class="wui-title" style="margin-left: 20upx;">
<text class="text-semi">其他安全防护措施</text>
</view>
<view class="wui-table" style="padding: 0 20upx;">
<uni-table 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 signs.MEASURES_CONFIRM" :key="index">
<uni-td>
<view style="margin-bottom: 20upx;">
{{ item.DESCR }}
</view>
</uni-td>
<uni-td align="center">
<view v-if="item.SIGN_PATH">
<view class="imgs" v-for="img in item.SIGN_PATH"
style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
<image :src="baseImgPath + img" :data-index="index" @click="ViewShowImage(baseImgPath + img)"
mode="" style="width: 50upx;height: 50upx;"></image>
</view>
</view>
</uni-td>
</uni-tr>
</uni-table>
</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="showProjectManagerTree">
{{ pd.PROJECT_MANAGER_DEPARTMENT_NAME ? pd.PROJECT_MANAGER_DEPARTMENT_NAME : '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree_projectManager"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="projectManagertreeConfirm"
@cancel="projectManagertreeCancel"></tki-tree>
</view>
<view class="cu-form-group">
<view class="title">吊装指挥人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchProjectManager"
placeholder="请输入吊装指挥人"
@input="filterProjectManagerUsers"
@click="toggleProjectManagerDropdown"
>
<view class="search-icon" @click="toggleProjectManagerDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showProjectManagerDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredProjectManagerUsers"
:key="index"
@click="selectProjectManagerUser(user)"
>
{{ user.NAME }}
</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="showSisuoTree">
{{ pd.SISUO_DEPARTMENT_NAME ? pd.SISUO_DEPARTMENT_NAME : '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree_sisuo"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="sisuotreeConfirm"
@cancel="sisuotreeCancel"></tki-tree>
</view>
<view class="cu-form-group">
<view class="title">吊装作业人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchSisuo"
placeholder="请输入吊装作业人"
@input="filterSisuoUsers"
@click="toggleSisuoDropdown"
>
<view class="search-icon" @click="toggleSisuoDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showSisuoDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredSisuoUsers"
:key="index"
@click="selectSisuoUser(user)"
>
{{ user.NAME }}
</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="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>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchGuardian"
placeholder="请输入监护人"
@input="filterGuardianUsers"
@click="toggleGuardianDropdown"
>
<view class="search-icon" @click="toggleGuardianDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showGuardianDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredGuardianUsers"
:key="index"
@click="selectGuardianUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</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="showWorkshopTree">
{{ pd.WORKSHOP_DEPARTMENT_NAME ? pd.WORKSHOP_DEPARTMENT_NAME : '请选择' }}
</view>
</view>
<tki-tree v-if="pd.DISABLED!=='1'"
ref="tkiTree_workshop"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="workshoptreeConfirm"
@cancel="workshoptreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="pd.DISABLED!=='1'">
<view class="title">工段负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchWorkshop"
placeholder="请输入工段负责人"
@input="filterWorkshopUsers"
@click="toggleWorkshopDropdown"
>
<view class="search-icon" @click="toggleWorkshopDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showWorkshopDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredWorkshopUsers"
:key="index"
@click="selectWorkshopUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<view class="cu-form-group" v-if="pd.DISABLED==='1'">
<view class="title">工段负责人</view>
<picker @change="PickerWorkshop" :value="workshopindex" :range="workshopUserList" range-key="NAME"
:disabled="workshopUserList.length == 0" @click="isBlankList('workshop')">
<view class="picker">
{{ pd.WORKSHOP_USER_NAME ? pd.WORKSHOP_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"
v-if="pd.DISABLED!=='1'"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="leadertreeConfirm"
@cancel="leadertreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="pd.DISABLED!=='1'">
<view class="title">分厂贯标中心负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchLeader"
placeholder="请输入分厂贯标中心负责人"
@input="filterLeaderUsers"
@click="toggleLeaderDropdown"
>
<view class="search-icon" @click="toggleLeaderDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showLeaderDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredLeaderUsers"
:key="index"
@click="selectLeaderUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<view class="cu-form-group" v-if="pd.DISABLED==='1'">
<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">
<view class="title">分厂负责人单位</view>
<!-- <view v-if="pd.WORK_LEVEL == '1'" class="cleared" @click="cancelSelect('audit')">-->
<!-- 清除-->
<!-- </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"
v-if="pd.DISABLED!=='1'"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="audittreeConfirm"
@cancel="audittreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="pd.DISABLED!=='1'">
<view class="title">分厂负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchAudit"
placeholder="请输入分厂负责人"
@input="filterAuditUsers"
@click="toggleAuditDropdown"
>
<view class="search-icon" @click="toggleAuditDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showAuditDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredAuditUsers"
:key="index"
@click="selectAuditUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<view class="cu-form-group" v-if="pd.DISABLED==='1'">
<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 && pd.WORK_LEVEL !== '3' && pd.WORK_LEVEL !== '2'">
<view class="cu-form-group">
<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"
v-if="pd.DISABLED!=='1'"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="approvetreeConfirm"
@cancel="approvetreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="pd.DISABLED!=='1'">
<view class="title">安全处负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchApprove"
placeholder="请输入安全处负责人"
@input="filterApproveUsers"
@click="toggleApproveDropdown"
>
<view class="search-icon" @click="toggleApproveDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showApproveDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredApproveUsers"
:key="index"
@click="selectApproveUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<view class="cu-form-group" v-if="pd.DISABLED==='1'">
<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 && pd.WORK_LEVEL !== '2' && pd.WORK_LEVEL !== '3'">
<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"
v-if="pd.DISABLED!=='1'"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="safetytreeConfirm"
@cancel="safetytreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="pd.DISABLED!=='1'">
<view class="title">生产部负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchSafety"
placeholder="请输入生产部负责人"
@input="filterSafetyUsers"
@click="toggleSafetyDropdown"
>
<view class="search-icon" @click="toggleSafetyDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showSafetyDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredSafetyUsers"
:key="index"
@click="selectSafetyUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<view class="cu-form-group" v-if="pd.DISABLED==='1'">
<view class="title">生产部负责人</view>
<picker @change="PickerSafety" :value="safetyindex" :range="safetyUserList" range-key="NAME"
:disabled="safetyUserList.length == 0" @click="isBlankList('safety')">
<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="showWorkstartTree">
{{ pd.WORK_START_DEPARTMENT_NAME ? pd.WORK_START_DEPARTMENT_NAME : '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree_workstart"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="confesstreeWorkstart"
@cancel="workstarttreeCancel"></tki-tree>
</view>
<view class="cu-form-group" >
<view class="title">作业开始负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchWorkstart"
placeholder="请输入作业开始负责人"
@input="filterWorkstartUsers"
@click="toggleWorkstartDropdown"
>
<view class="search-icon" @click="toggleWorkstartDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showWorkstartDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredWorkstartUsers"
:key="index"
@click="selectWorkstartUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<!-- <view class="cu-form-group" v-if="pd.DISABLED==='1'">-->
<!-- <view class="title">作业开始负责人</view>-->
<!-- <picker @change="PickerWorkstart" :value="workstartindex" :range="workstartUserList" range-key="NAME"-->
<!-- :disabled="workstartUserList.length == 0" @click="isBlankList('workstart')">-->
<!-- <view class="picker">-->
<!-- {{ pd.WORK_START_USER_NAME ? pd.WORK_START_USER_NAME : '请选择' }}-->
<!-- </view>-->
<!-- </picker>-->
<!-- </view>-->
<view class="task-remake">友情提示:负责填写作业实际开始时间</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="showWorkendTree">
{{ pd.WORK_END_DEPARTMENT_NAME ? pd.WORK_END_DEPARTMENT_NAME : '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree_workend"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="confesstreeWorkend"
@cancel="workendtreeCancel"></tki-tree>
</view>
<view class="cu-form-group">
<view class="title">作业结束负责人</view>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchWorkend"
placeholder="请输入作业结束负责人"
@input="filterWorkendUsers"
@click="toggleWorkendDropdown"
>
<view class="search-icon" @click="toggleWorkendDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showWorkendDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredWorkendUsers"
:key="index"
@click="selectWorkendUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<!-- <view class="cu-form-group" v-if="pd.DISABLED==='1'">-->
<!-- <view class="title">作业结束负责人</view>-->
<!-- <picker @change="PickerWorkend" :value="workendindex" :range="workendUserList" range-key="NAME"-->
<!-- :disabled="workendUserList.length == 0" @click="isBlankList('workend')">-->
<!-- <view class="picker">-->
<!-- {{ pd.WORK_END_USER_NAME ? pd.WORK_END_USER_NAME : '请选择' }}-->
<!-- </view>-->
<!-- </picker>-->
<!-- </view>-->
<view class="task-remake">友情提示:负责填写作业实际结束时间</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>
<view style="position: relative">
<view class="search-input">
<input
type="text"
style="text-align: right"
v-model="searchAccept"
placeholder="请输入验收部门负责人"
@input="filterAcceptUsers"
@click="toggleAcceptDropdown"
>
<view class="search-icon" @click="toggleAcceptDropdown">
<text class="cuIcon-right"></text>
</view>
</view>
<view v-show="showAcceptDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">
<view
v-for="(user, index) in filteredAcceptUsers"
:key="index"
@click="selectAcceptUser(user)"
>
{{ user.NAME }}
</view>
</view>
</view>
</view>
<!-- <view class="cu-form-group" v-if="pd.DISABLED==='1'">-->
<!-- <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 v-if="loginUser.PERSONNEL_POSITION == 0" class="cu-form-group">
<view class="title">作业区域</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showPlsTree">{{ pd.PLS_NAME ? pd.PLS_NAME : '请选择' }}</view>
</view>
<tki-tree ref="tkiTree_pls"
:selectParent=true
:range="plsNode"
rangeKey="name"
@confirm="plstreeConfirm"
@cancel="plstreeCancel"></tki-tree>
</view>
</view>
<view class="wui-form-list">
<view v-if="signs.SISUO">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">吊装作业人</view>
{{ pd.SISUO_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.SISUO[0].SIGN_TIME" :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 + signs.SISUO[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.SISUO[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.SISUO[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.GUARDIAN">
<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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.GUARDIAN[0].SIGN_TIME" :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 + signs.GUARDIAN[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.GUARDIAN[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.GUARDIAN[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
</view>
<view v-if="signs.WORKSHOP">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">工段负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.WORKSHOP[0].DESCR"></textarea>
</view>
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">工段负责人</view>
{{ pd.WORKSHOP_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.WORKSHOP[0].SIGN_TIME" :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 + signs.WORKSHOP[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.WORKSHOP[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.WORKSHOP[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.LEADER">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">分厂贯标中心负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.LEADER[0].DESCR"></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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.LEADER[0].SIGN_TIME" :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 + signs.LEADER[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.LEADER[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.LEADER[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.AUDIT">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">分厂负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.AUDIT[0].DESCR"></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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.AUDIT[0].SIGN_TIME" :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 + signs.AUDIT[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.AUDIT[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.AUDIT[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.APPROVE">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">安全处负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.APPROVE[0].DESCR"></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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.APPROVE[0].SIGN_TIME" :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 + signs.APPROVE[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.APPROVE[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.APPROVE[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.SAFETY">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">生产部负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.SAFETY[0].DESCR"></textarea>
</view>
<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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.SAFETY[0].SIGN_TIME" :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 + signs.SAFETY[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.SAFETY[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.SAFETY[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.WORK_START">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">作业开始负责人</view>
{{ pd.WORK_START_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.WORK_START[0].SIGN_TIME" :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 + signs.WORK_START[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.WORK_START[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.WORK_START[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.WORK_END">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">作业结束负责人</view>
{{ pd.WORK_END_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.WORK_END[0].SIGN_TIME" :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 + signs.WORK_END[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.WORK_END[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.WORK_END[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.ACCEPT">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">完工验收</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.ACCEPT[0].DESCR"></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 }}
</view>
<view class="cu-item" v-for="(item,index) in signs.ACCEPT[0].SIGN_TIME" :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 + signs.ACCEPT[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.ACCEPT[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<test>{{ pd.ACCEPT_TIME }}</test>
</view>
</view>
</view>
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="!forbidEdit || !pd.STEP_ID " class="cu-btn bg-blue margin-tb-sm lg"
@click="$noMultipleClicks(goSubmit,'1')">提交
</button>
<button v-if="!forbidEdit || !pd.STEP_ID " class="cu-btn bg-green margin-tb-sm lg"
@click="$noMultipleClicks(goSubmit,'0')">暂存
</button>
<button v-if="forbidEdit && pd.STEP_ID !== 0" 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/horizontal-writing-board/writing-board.vue"
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 {
workshopUserList: [],
workshopindex: -1,
searchConfess: '',
showConfessDropdown: false,
filteredConfessUsers: [],
searchGuardian: '',
showGuardianDropdown: false,
filteredGuardianUsers: [],
searchSisuo: '',
showSisuoDropdown: false,
filteredSisuoUsers: [],
searchProjectManager: '',
showProjectManagerDropdown: false,
filteredProjectManagerUsers: [],
searchWorkusers: '',
showWorkusersDropdown: false,
filteredWorkusersUsers: [],
searchWorkshop: '',
showWorkshopDropdown: false,
filteredWorkshopUsers: [],
searchAudit: '',
showAuditDropdown: false,
filteredAuditUsers: [],
searchApprove: '',
showApproveDropdown: false,
filteredApproveUsers: [],
safetyUserList: [],
safetyindex: -1,
searchAccept: '',
showAcceptDropdown: false,
filteredAcceptUsers: [],
searchLeader: '',
showLeaderDropdown: false,
filteredLeaderUsers: [],
searchSafety: '',
showSafetyDropdown: false,
filteredSafetyUsers: [],
searchWorkstart: '',
showWorkstartDropdown: false,
filteredWorkstartUsers: [],
searchWorkend: '',
showWorkendDropdown: false,
filteredWorkendUsers: [],
baseImgPath: baseImgPath,
loginUser: loginUser,
buttonloading: false,
isUps: false,
forbidEdit: true,// 禁止修改
msg: 'add',
noClick: true,
treeNode: [],//部门下拉数据
levelindex: -1,
files: [],
files1: [],
conimgList: [],
confirmUserList: [],
workuserindex: -1,
confessUserList: [],
confessindex: -1,
projectmanagerUserList: [],
projectmanagerindex: -1,
projectManagerUserList: [],
projectManagerindex: -1,
acceptconfessUserList: [],
acceptconfessindex: -1,
workUserList: [],
workstartindex: -1,
workstartUserList: [],
workendindex: -1,
workendUserList: [],
confirmindex: -1,
guardianUserList: [],
guardianindex: -1,
sisuoUserList: [],
sisuoindex: -1,
leaderUserList: [],
workUsersList: [],
workusersindex: -1,
leaderindex: -1,
workLevelIndex: -1,
workLevelList: [
{NAME: '一级作业级别', ID: '1'},
{NAME: '二级作业级别', ID: '2'},
{NAME: '三级作业级别', ID: '3'},
],
auditUserList: [],
auditindex: -1,
approveUserList: [],
approveindex: -1,
monitorUserList: [],
monitorindex: -1,
acceptUserList: [],
acceptindex: -1,
pd: {},// 数据
signs: {},
measuresList: [],
plsNode: [],
plsList: [],
plxIndex: -1,
applyDeptList:[],
applyDeptindex: -1,
applyWorkshopDeptList: [],
applyWorkshopDeptindex: -1,
rules: [
// {name:'CHECK_NO',message:'请输入编号'},
{name: 'APPLY_DEPARTMENT_ID', message: '请选择申请分厂'},
{name: 'APPLY_WORKSHOP_DEPARTMENT_ID', message: '请选择申请工段'},
{name: 'WORK_LEVEL', message: '请选择作业级别'},
{name: 'WORK_PLACE', message: '请输入吊装地点'},
{name: 'TOOL_NAME', message: '请输入吊具名称'},
{name: 'PART_WEIGHT', message: '请输入吊物质量(吨)'},
{name: 'WORK_CONTENT', message: '请输入吊物内容'},
{name: 'RISK_IDENTIFICATION', message: '请输入风险辨识结果'},
// {name:'SPECIAL_WORK',message:'请输入关联的其他特殊作业及安全作业票编号'},
{name: 'PROJECT_MANAGER_USER_ID', message: '请选择吊装指挥负责人'},
{name: 'SISUO_USER_ID', message: '请选择吊装作业人'},
{name: 'GUARDIAN_USER_ID', message: '请选择监护人'},
// {name: 'CONFESS_USER_ID', message: '请选择安全交底人'},
// {name: 'ACCEPT_CONFESS_USER_ID', message: '请选择接受交底人'},
// {name: 'WORK_USER_ID', message: '请选择作业人'},
// {name: 'CONFIRM_USER_ID', message: '请输入吊装作业人'},
{name: 'WORKSHOP_USER_ID', message: '请选择工段负责人'},
{name: 'LEADER_USER_ID', message: '请选择分厂贯标中心负责人'},
{name: 'WORK_START_USER_ID', message: '请输入作业开始负责人'},
{name: 'WORK_END_USER_ID', message: '请输入作业结束负责人'},
{name: 'ACCEPT_USER_ID', message: '请选择完工验收部门负责人'},
// {name:'PLS_ID',message:'请选择电子围栏'},
],
todayDate: '',
otherAssignments: false,
otherIdentification: false,
}
},
onLoad(event) {
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.pd.HOISTING_ID = event.HOISTING_ID;
if (this.pd.HOISTING_ID) {
this.msg = "edit";
this.getData();
} else {
// 初始化作业负责人
// this.pd.APPLY_DEPARTMENT_ID = loginUser.DEPARTMENT_ID;
this.pd.APPLY_USER_ID = loginUser.USER_ID;
this.pd.APPLY_USER_NAME = loginUser.NAME;
this.forbidEdit = false;
}
this.getApplyDept()
// 初始化现场作业负责人
this.getDept();
this.getPlsList();
loginSession();
},
methods: {
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();//强制刷新
},
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.searchSafety = ''; // 清空搜索输入框
this.showSafetyDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'safetyUserList');
},
// 取消回调事件
safetytreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showSafetyTree() {
this.isUps = true
this.$refs.tkiTree_safety._show();
},
workshoptreeConfirm(e) {
this.isUps = false;
this.pd.WORKSHOP_DEPARTMENT_ID = e[0].id;
this.pd.WORKSHOP_DEPARTMENT_NAME = e[0].name;
this.pd.WORKSHOP_USER_ID = ''
this.pd.WORKSHOP_USER_NAME = ''
this.searchWorkshop = ''; // 清空搜索输入框
this.showWorkshopDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'workshopUserList');
},
// 取消回调事件
workshoptreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showWorkshopTree() {
this.isUps = true
this.$refs.tkiTree_workshop._show();
},
PickerWorkshop(e) {
this.workshopindex = e.detail.value;
this.pd.WORKSHOP_USER_ID = this.workshopUserList[this.workshopindex].USER_ID;
this.pd.WORKSHOP_USER_NAME = this.workshopUserList[this.workshopindex].NAME;
this.$forceUpdate();//强制刷新
},
filterGuardianUsers() {
const query = this.searchGuardian.trim().toLowerCase();
if (!query) {
this.filteredGuardianUsers = this.guardianUserList;
this.pd.GUARDIAN_USER_ID = '';
this.pd.GUARDIAN_USER_NAME = '';
} else {
this.filteredGuardianUsers = this.guardianUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleGuardianDropdown() {
if (!this.guardianUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择监护人单位',
duration: 1500
});
return;
}
this.showGuardianDropdown = !this.showGuardianDropdown;
if (this.showGuardianDropdown) this.filterGuardianUsers();
},
selectGuardianUser(user) {
this.searchGuardian = user.NAME;
this.pd.GUARDIAN_USER_ID = user.USER_ID;
this.pd.GUARDIAN_USER_NAME = user.NAME;
this.showGuardianDropdown = false;
},
filterProjectManagerUsers() {
const query = this.searchProjectManager.trim().toLowerCase();
if (!query) {
this.filteredProjectManagerUsers = this.projectManagerUserList;
this.pd.PROJECT_MANAGER_USER_ID = '';
this.pd.PROJECT_MANAGER_USER_NAME = '';
} else {
this.filteredProjectManagerUsers = this.projectManagerUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleProjectManagerDropdown() {
if (!this.projectManagerUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择吊装指挥单位',
duration: 1500
});
return;
}
this.showProjectManagerDropdown = !this.showProjectManagerDropdown;
if (this.showProjectManagerDropdown) this.filterProjectManagerUsers();
},
selectProjectManagerUser(user) {
this.searchProjectManager = user.NAME;
this.pd.PROJECT_MANAGER_USER_ID = user.USER_ID;
this.pd.PROJECT_MANAGER_USER_NAME = user.NAME;
this.showProjectManagerDropdown = false;
},
filterSisuoUsers() {
const query = this.searchSisuo.trim().toLowerCase();
if (!query) {
this.filteredSisuoUsers = this.sisuoUserList;
this.pd.SISUO_USER_ID = '';
this.pd.SISUO_USER_NAME = '';
} else {
this.filteredSisuoUsers = this.sisuoUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleSisuoDropdown() {
if (!this.sisuoUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择吊装作业人单位',
duration: 1500
});
return;
}
this.showSisuoDropdown = !this.showSisuoDropdown;
if (this.showSisuoDropdown) this.filterSisuoUsers();
},
selectSisuoUser(user) {
this.searchSisuo = user.NAME;
this.pd.SISUO_USER_ID = user.USER_ID;
this.pd.SISUO_USER_NAME = user.NAME;
this.showSisuoDropdown = false;
},
filterWorkshopUsers() {
const query = this.searchWorkshop.trim().toLowerCase();
if (!query) {
this.filteredWorkshopUsers = this.workshopUserList;
this.pd.WORKSHOP_USER_ID = '';
this.pd.WORKSHOP_USER_NAME = '';
} else {
this.filteredWorkshopUsers = this.workshopUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleWorkshopDropdown() {
if (!this.workshopUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择工段',
duration: 1500
});
return;
}
this.showWorkshopDropdown = !this.showWorkshopDropdown;
if (this.showWorkshopDropdown) this.filterWorkshopUsers();
},
selectWorkshopUser(user) {
this.searchWorkshop = user.NAME;
this.pd.WORKSHOP_USER_ID = user.USER_ID;
this.pd.WORKSHOP_USER_NAME = user.NAME;
this.showWorkshopDropdown = false;
},
filterWorkusersUsers() {
const query = this.searchWorkusers.trim().toLowerCase();
if (!query) {
this.filteredWorkusersUsers = this.workUsersList;
this.pd.WORK_USER_ID = '';
this.pd.WORK_USER_USER_NAME = '';
} else {
this.filteredWorkusersUsers = this.workUsersList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleWorkusersDropdown() {
if (!this.workUsersList.length) {
uni.showToast({
icon: 'none',
title: '请先选择作业人单位',
duration: 1500
});
return;
}
this.showWorkusersDropdown = !this.showWorkusersDropdown;
if (this.showWorkusersDropdown) this.filterWorkusersUsers();
},
selectWorkusersUser(user) {
this.searchWorkusers = user.NAME;
this.pd.WORK_USER_ID = user.USER_ID;
this.pd.WORK_USER_USER_NAME = user.NAME;
this.showWorkusersDropdown = false;
},
filterLeaderUsers() {
const query = this.searchLeader.trim().toLowerCase();
if (!query) {
this.filteredLeaderUsers = this.leaderUserList;
this.pd.LEADER_USER_ID = '';
this.pd.LEADER_USER_NAME = '';
} else {
this.filteredLeaderUsers = this.leaderUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleLeaderDropdown() {
if (!this.leaderUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择分厂贯标中心单位',
duration: 1500
});
return;
}
this.showLeaderDropdown = !this.showLeaderDropdown;
if (this.showLeaderDropdown) this.filterLeaderUsers();
},
selectLeaderUser(user) {
this.searchLeader = user.NAME;
this.pd.LEADER_USER_ID = user.USER_ID;
this.pd.LEADER_USER_NAME = user.NAME;
this.showLeaderDropdown = false;
},
filterAuditUsers() {
const query = this.searchAudit.trim().toLowerCase();
if (!query) {
this.filteredAuditUsers = this.auditUserList;
this.pd.AUDIT_USER_ID = '';
this.pd.AUDIT_USER_NAME = '';
} else {
this.filteredAuditUsers = this.auditUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleAuditDropdown() {
if (!this.auditUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择分厂单位',
duration: 1500
});
return;
}
this.showAuditDropdown = !this.showAuditDropdown;
if (this.showAuditDropdown) this.filterAuditUsers();
},
selectAuditUser(user) {
this.searchAudit = user.NAME;
this.pd.AUDIT_USER_ID = user.USER_ID;
this.pd.AUDIT_USER_NAME = user.NAME;
this.showAuditDropdown = false;
},
filterApproveUsers() {
const query = this.searchApprove.trim().toLowerCase();
if (!query) {
this.filteredApproveUsers = this.approveUserList;
this.pd.APPROVE_USER_ID = '';
this.pd.APPROVE_USER_NAME = '';
} else {
this.filteredApproveUsers = this.approveUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleApproveDropdown() {
if (!this.approveUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择安全处',
duration: 1500
});
return;
}
this.showApproveDropdown = !this.showApproveDropdown;
if (this.showApproveDropdown) this.filterApproveUsers();
},
selectApproveUser(user) {
this.searchApprove = user.NAME;
this.pd.APPROVE_USER_ID = user.USER_ID;
this.pd.APPROVE_USER_NAME = user.NAME;
this.showApproveDropdown = false;
},
filterAcceptUsers() {
const query = this.searchAccept.trim().toLowerCase();
if (!query) {
this.filteredAcceptUsers = this.acceptUserList;
this.pd.ACCEPT_USER_ID = '';
this.pd.ACCEPT_USER_NAME = '';
} else {
this.filteredAcceptUsers = this.acceptUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleAcceptDropdown() {
if (!this.acceptUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择验收部门',
duration: 1500
});
return;
}
this.showAcceptDropdown = !this.showAcceptDropdown;
if (this.showAcceptDropdown) this.filterAcceptUsers();
},
selectAcceptUser(user) {
this.searchAccept = user.NAME;
this.pd.ACCEPT_USER_ID = user.USER_ID;
this.pd.ACCEPT_USER_NAME = user.NAME;
this.showAcceptDropdown = false;
},
filterWorkstartUsers() {
const query = this.searchWorkstart.trim().toLowerCase();
if (!query) {
this.filteredWorkstartUsers = this.workstartUserList;
this.pd.WORK_START_USER_ID = '';
this.pd.WORK_START_USER_NAME = '';
} else {
this.filteredWorkstartUsers = this.workstartUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleWorkstartDropdown() {
if (!this.workstartUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择作业结束时间负责部门',
duration: 1500
});
return;
}
this.showWorkstartDropdown = !this.showWorkstartDropdown;
if (this.showWorkstartDropdown) this.filterWorkstartUsers();
},
selectWorkstartUser(user) {
this.searchWorkstart = user.NAME;
this.pd.WORK_START_USER_ID = user.USER_ID;
this.pd.WORK_START_USER_NAME = user.NAME;
this.showWorkstartDropdown = false;
},
filterWorkendUsers() {
const query = this.searchWorkend.trim().toLowerCase();
if (!query) {
this.filteredWorkendUsers = this.workendUserList;
this.pd.WORK_END_USER_ID = '';
this.pd.WORK_END_USER_NAME = '';
} else {
this.filteredWorkendUsers = this.workendUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleWorkendDropdown() {
if (!this.workendUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择作业开始时间负责部门',
duration: 1500
});
return;
}
this.showWorkendDropdown = !this.showWorkendDropdown;
if (this.showWorkendDropdown) this.filterWorkendUsers();
},
selectWorkendUser(user) {
this.searchWorkend = user.NAME;
this.pd.WORK_END_USER_ID = user.USER_ID;
this.pd.WORK_END_USER_NAME = user.NAME;
this.showWorkendDropdown = false;
},
filterSafetyUsers() {
const query = this.searchSafety.trim().toLowerCase();
if (!query) {
this.filteredSafetyUsers = this.safetyUserList;
this.pd.SAFETY_USER_ID = '';
this.pd.SAFETY_USER_NAME = '';
} else {
this.filteredSafetyUsers = this.safetyUserList.filter(user =>
user.NAME.toLowerCase().includes(query)
);
}
},
toggleSafetyDropdown() {
if (!this.safetyUserList.length) {
uni.showToast({
icon: 'none',
title: '请先选择生产部',
duration: 1500
});
return;
}
this.showSafetyDropdown = !this.showSafetyDropdown;
if (this.showSafetyDropdown) this.filterSafetyUsers();
},
selectSafetyUser(user) {
this.searchSafety = user.NAME;
this.pd.SAFETY_USER_ID = user.USER_ID;
this.pd.SAFETY_USER_NAME = user.NAME;
this.showSafetyDropdown = false;
},
PickerApplyWorkshopDept(e){
this.applyWorkshopDeptindex = e.detail.value;
console.log(this.applyWorkshopDeptList[this.applyWorkshopDeptindex],'62666')
this.pd.APPLY_WORKSHOP_DEPARTMENT_ID = this.applyWorkshopDeptList[this.applyWorkshopDeptindex].department_ID;
this.pd.APPLY_WORKSHOP_DEPARTMENT_NAME = this.applyWorkshopDeptList[this.applyWorkshopDeptindex].name;
this.$forceUpdate(); //强制刷新
},
getApplyDept(){
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/eightwork/getApplyDept',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
PARENT_ID:'551edf3de6bc447c8a03ec38dfb4cf75',
},
success: (res) => {
this.applyDeptList = res.data.varList
setTimeout(() => {
uni.hideLoading();
}, 2000);
}
})
},
getApplyWorkshopDept(APPLY_DEPARTMENT_ID){
uni.request({
url: basePath + '/app/eightwork/getApplyDept',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
PARENT_ID:APPLY_DEPARTMENT_ID,
},
success: (res) => {
this.applyWorkshopDeptList = res.data.varList
}
})
},
delImgs(e) {
var _this = this;
uni.showModal({
title: '新泰安全',
content: '确定要删除这张图片吗?',
cancelColor: "#000000",
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
uni.request({
url: basePath + '/app/eightwork/deleteFile',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
FILE_PATH: _this.conimgList[e.currentTarget.dataset.index].filePath
},
success: (res) => {
uni.showToast({
icon: 'none',
title: '删除成功',
duration: 1500
});
this.conimgList.splice(e.currentTarget.dataset.index, 1)
},
fail: (err) => {
uni.showModal({
content: "删除失败",
showCancel: false
});
}
})
}
}
})
},
chooseImages() {
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera', 'album'], //从相册选择
success: (res) => {
uni.uploadFile({
url: basePath + '/app/eightwork/saveFile',
filePath: res.tempFilePaths[0],
name: 'file',
formData: {
CORPINFO_ID: loginUser.CORPINFO_ID,
},
success: ({data}) => {
let img = {};
img.filePath = JSON.parse(data).FILE_PATH;
this.conimgList.push(img)
console.log(this.conimgList)
},
fail: (err) => {
uni.showModal({
content: "图片上传失败",
showCancel: false
});
}
})
}
});
},
PickerApplyDept(e){
this.applyDeptindex = e.detail.value;
console.log(this.applyDeptList[this.applyDeptindex],'62666')
this.pd.APPLY_DEPARTMENT_ID = this.applyDeptList[this.applyDeptindex].department_ID;
this.pd.APPLY_DEPARTMENT_NAME = this.applyDeptList[this.applyDeptindex].name;
if(this.pd.WORK_LEVEL && this.pd.APPLY_DEPARTMENT_ID){
this.pd.DISABLED = ""
this.getConfigurationUser(this.pd.WORK_LEVEL,this.pd.APPLY_DEPARTMENT_ID)
}
this.pd.APPLY_WORKSHOP_DEPARTMENT_ID = ""
this.pd.APPLY_WORKSHOP_DEPARTMENT_NAME = ""
this.getApplyWorkshopDept(this.pd.APPLY_DEPARTMENT_ID)
this.$forceUpdate(); //强制刷新
},
//跳转事件
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/hoisting/hoisting-gas/gas-list?HOISTING_ID=' + e
});
},
getCode() {
uni.request({
url: basePath + '/app/hoisting/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/hoisting/findById',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HOISTING_ID: _this.pd.HOISTING_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
if (_this.pd.STEP_ID === 0) {
if(res.data.pd.EDU_FILE_PATH){
let filePathArray = res.data.pd.EDU_FILE_PATH;
if (!Array.isArray(filePathArray)) {
filePathArray = [filePathArray];
}
this.conimgList=filePathArray.map(filePath => ({ filePath }));
}
_this.forbidEdit = false;
this.getUserList(this.pd.CONFIRM_DEPARTMENT_ID, 'confirmUserList');
this.getUserList(this.pd.WORK_USER_DEPARTMENT_ID, 'workUsersList');
this.getUserList(this.pd.LEADER_DEPARTMENT_ID, 'leaderUserList');
this.getUserList(this.pd.PROJECT_MANAGER_DEPARTMENT_ID, 'projectmanagerUserList');
this.getUserList(this.pd.AUDIT_DEPARTMENT_ID, 'auditUserList');
this.getUserList(this.pd.APPROVE_DEPARTMENT_ID, 'approveUserList');
this.getUserList(this.pd.ACCEPT_DEPARTMENT_ID, 'acceptUserList');
this.getUserList(this.pd.WORK_START_DEPARTMENT_ID, 'workstartUserList');
this.getUserList(this.pd.WORK_END_DEPARTMENT_ID, 'workendUserList');
} else {
this.getSigns()
this.getMeasures()
}
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
getSigns() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/hoisting/listSignFinished',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HOISTING_ID: _this.pd.HOISTING_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.signs = res.data.signs; //参数map
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
getMeasures() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/hoisting/listSignFinishMeasures',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HOISTING_ID: _this.pd.HOISTING_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.measuresList = res.data.finishMeasuresList; //参数map
} 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
});
},
PickerWorkLevel(e) {
this.workLevelIndex = e.detail.value;
this.pd.WORK_LEVEL = this.workLevelList[this.workLevelIndex].ID;
this.pd.WORK_LEVEL_NAME = this.workLevelList[this.workLevelIndex].NAME;
if (e.detail.value == '2' || e.detail.value == '3') {
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 = '';
this.pd.LEADER_DEPARTMENT_ID = '';
this.pd.LEADER_DEPARTMENT_NAME = '';
this.pd.LEADER_USER_ID = '';
this.pd.LEADER_USER_NAME = '';
this.pd.SAFETY_DEPARTMENT_ID = '';
this.pd.SAFETY_DEPARTMENT_NAME = '';
this.pd.SAFETY_USER_ID = '';
this.pd.SAFETY_USER_NAME = '';
this.pd.WORKSHOP_DEPARTMENT_ID = '';
this.pd.WORKSHOP_DEPARTMENT_NAME = '';
this.pd.WORKSHOP_USER_ID = '';
this.pd.WORKSHOP_USER_NAME = '';
}
if(this.pd.WORK_LEVEL && this.pd.APPLY_DEPARTMENT_ID){
this.getConfigurationUser(this.pd.WORK_LEVEL,this.pd.APPLY_DEPARTMENT_ID)
}
this.$forceUpdate();//强制刷新
},
getConfigurationUser(WORK_LEVEL, APPLY_DEPARTMENT_ID){
uni.request({
url: basePath + '/app/hoisting/getConfigurationUser', //部门下拉接口
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID: loginUser.CORPINFO_ID,
WORK_LEVEL,
APPLY_DEPARTMENT_ID,
USER_ID: loginUser.USER_ID,
},
success: (res) => {
console.log(res.data.pd)
if(res.data.pd){
this.pd = {...this.pd,...res.data.pd};
this.DISABLED = this.pd.DISABLED
}else {
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 = '';
this.pd.LEADER_DEPARTMENT_ID = '';
this.pd.LEADER_DEPARTMENT_NAME = '';
this.pd.LEADER_USER_ID = '';
this.pd.LEADER_USER_NAME = '';
this.pd.SAFETY_DEPARTMENT_ID = '';
this.pd.SAFETY_DEPARTMENT_NAME = '';
this.pd.SAFETY_USER_ID = '';
this.pd.SAFETY_USER_NAME = '';
this.pd.WORKSHOP_DEPARTMENT_ID = '';
this.pd.WORKSHOP_DEPARTMENT_NAME = '';
this.pd.WORKSHOP_USER_ID = '';
this.pd.WORKSHOP_USER_NAME = '';
}
}
});
},
cancelSelect(dept) {
if (dept == 'approve') {
this.pd.APPROVE_DEPARTMENT_ID = ''
this.pd.APPROVE_DEPARTMENT_NAME = ''
this.pd.APPROVE_USER_ID = ''
this.pd.APPROVE_USER_NAME = ''
this.approveUserList = []
this.approveindex = -1
this.$refs.tkiTree_approve._reTreeList()
this.$refs.tkiTree_approve._initTree(this.treeNode)
}
},
goSubmit(STATUS) {
var _this = this;
let required = true
uni.showLoading({
title: '请稍候'
})
if (STATUS === '1') {
if (_this.conimgList.length <= 0) {
uni.showToast({
icon: 'none',
title: '请上传教育培训记录',
duration: 1500
});
return;
}
}
if (this.pd.WORK_LEVEL != '1') {
if (!this.pd.AUDIT_USER_ID) {
uni.showToast({
icon: 'none',
title: '请选择分厂负责人单位',
duration: 1500
});
required = false
}
}
if (STATUS == '1') {
for (const { name, message } of this.rules) {
if (!this.pd[name]) {
uni.showToast({
icon: 'none',
title: message,
duration: 1500
});
required = false;
break; // 一旦发现校验不通过,就停止后续校验
}
}
if (this.pd.WORK_LEVEL != '2' && this.pd.WORK_LEVEL != '3') {
if (!this.pd.APPROVE_USER_ID) {
uni.showToast({
icon: 'none',
title: '请选择安全处负责人',
duration: 1500
});
required = false
}
if (!this.pd.SAFETY_USER_ID) {
uni.showToast({
icon: 'none',
title: '请选择生产部负责人',
duration: 1500
});
required = false
}
}
if (!required) {
return
}
}
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.EDU_FILE_PATH = this.conimgList.map(item => {
return item.filePath
}).join(",")
if (this.pd.WORK_LEVEL === '1') {
formData.TASK_ID = 10
} else if (this.pd.WORK_LEVEL === '2' || this.pd.WORK_LEVEL === '3') {
formData.TASK_ID = 11
}
this.buttonloading = true
uni.request({
url: basePath + "app/hoisting/" + _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,
STEP_ID: STATUS
},
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
});
}
})
},
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() {
uni.showLoading({
title: '请稍候'
})
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);
setTimeout(() => {
uni.hideLoading();
}, 2000);
} 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
});
}
}
})
},
/*
*作业人
*/
// 确定回调事件
workuserstreeConfirm(e) {
this.isUps = false;
this.pd.WORK_USER_DEPARTMENT_ID = e[0].id;
this.pd.WORK_USER_DEPARTMENT_NAME = e[0].name;
this.pd.WORK_USER_ID = ''
this.pd.WORK_USER_USER_NAME = ''
this.searchWorkusers = ''; // 清空搜索输入框
this.showWorkusersDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'workUsersList');
},
// 取消回调事件
workuserstreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showWorkusersTree() {
this.isUps = true
this.$refs.tkiTree_workusers._show();
},
PickerWorkusers(e) {
this.workusersindex = e.detail.value;
this.pd.WORK_USER_ID = this.workUsersList[this.workusersindex].USER_ID;
this.pd.WORK_USER_USER_NAME = this.workUsersList[this.workusersindex].NAME;
this.$forceUpdate();//强制刷新
},
getPlsList() {
uni.showLoading({
title: '请稍候'
})
var _this = this
uni.request({
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
url: basePath + '/app/electronicFence/listTree',
data: {
CORPINFO_ID: loginUser.CORPINFO_ID,
},
success: function (res) {
if ("success" == res.data.result) {
_this.plsNode = eval(res.data.zTreeNodes);
setTimeout(() => {
uni.hideLoading();
}, 2000);
} 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 'workuser':
if (this.workUsersList.length == 0) {
uni.showToast({
icon: 'none',
title: '请先选择作业人单位',
duration: 1500
})
}
break
case 'workshop':
if (this.workshopUserList.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 'workstart':
if (this.workstartUserList.length == 0) {
uni.showToast({
icon: 'none',
title: '请先选择作业开始负责人单位',
duration: 1500
})
}
break
case 'workend':
if (this.workendUserList.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 'safety':
if (this.safetyUserList.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
}
},
/*
*安全交底人
*/
// 确定回调事件
confesstreeConfirm(e) {
this.isUps = false;
this.pd.CONFESS_DEPARTMENT_ID = e[0].id;
this.pd.CONFESS_DEPARTMENT_NAME = e[0].name;
this.pd.CONFESS_USER_ID = ''
this.pd.CONFESS_USER_NAME = ''
this.searchConfess = ''; // 清空搜索输入框
this.showConfessDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'confessUserList');
},
sisuotreeConfirm(e) {
this.isUps = false;
this.pd.SISUO_DEPARTMENT_ID = e[0].id;
this.pd.SISUO_DEPARTMENT_NAME = e[0].name;
this.pd.SISUO_USER_ID = ''
this.pd.SISUO_USER_NAME = ''
this.searchSisuo = ''
this.showSisuoDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'sisuoUserList');
},
projectManagertreeConfirm(e) {
this.isUps = false;
this.pd.PROJECT_MANAGER_DEPARTMENT_ID = e[0].id;
this.pd.PROJECT_MANAGER_DEPARTMENT_NAME = e[0].name;
this.pd.PROJECT_MANAGER_USER_ID = ''
this.pd.PROJECT_MANAGER_USER_NAME = ''
this.searchProjectManager = ''
this.showProjectManagerDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'projectManagerUserList');
},
/*
*接受交底人
*/
// 确定回调事件
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.searchAcceptconfess = ''
this.showAcceptconfessDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'acceptconfessUserList');
},
/*
*接受交底人
*/
// 确定回调事件
confesstreeWorkstart(e) {
this.isUps = false;
this.pd.WORK_START_DEPARTMENT_ID = e[0].id;
this.pd.WORK_START_DEPARTMENT_NAME = e[0].name;
this.pd.WORK_START_USER_ID = ''
this.pd.WORK_START_USER_NAME = ''
this.searchWorkstart = ''
this.showWorkstartDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'workstartUserList');
},
confesstreeWorkend(e) {
this.isUps = false;
this.pd.WORK_END_DEPARTMENT_ID = e[0].id;
this.pd.WORK_END_DEPARTMENT_NAME = e[0].name;
this.pd.WORK_END_USER_ID = ''
this.pd.WORK_END_USER_NAME = ''
this.searchWorkend = ''
this.showWorkendDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'workendUserList');
},
// 取消回调事件
guardiantreeCancel(e) {
this.isUps = false;
},
// 取消回调事件
confesstreeCancel(e) {
this.isUps = false;
},
sisuotreeCancel(e) {
this.isUps = false;
},
projectManagertreeCancel(e) {
this.isUps = false;
},
// 取消回调事件
acceptconfesstreeCancel(e) {
this.isUps = false;
},
workstarttreeCancel(e) {
this.isUps = false;
},
workendtreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showGuardianTree() {
this.isUps = true
this.$refs.tkiTree_guardian._show();
},
showSisuoTree() {
this.isUps = true
this.$refs.tkiTree_sisuo._show();
},
showProjectManagerTree() {
this.isUps = true
this.$refs.tkiTree_projectManager._show();
},
// 显示树形选择器
showConfessTree() {
this.isUps = true
this.$refs.tkiTree_confess._show();
},
// 显示树形选择器
showAcceptconfessTree() {
this.isUps = true
this.$refs.tkiTree_acceptconfess._show();
},
showWorkstartTree() {
this.isUps = true
this.$refs.tkiTree_workstart._show();
},
showWorkendTree() {
this.isUps = true
this.$refs.tkiTree_workend._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();//强制刷新
},
PickerSisuo(e) {
this.sisuoindex = e.detail.value;
this.pd.SISUO_USER_ID = this.sisuoUserList[this.sisuoindex].USER_ID;
this.pd.SISUO_USER_NAME = this.sisuoUserList[this.sisuoindex].NAME;
this.$forceUpdate();//强制刷新
},
PickerConfess(e) {
this.confessindex = e.detail.value;
this.pd.CONFESS_USER_ID = this.confessUserList[this.confessindex].USER_ID;
this.pd.CONFESS_USER_NAME = this.confessUserList[this.confessindex].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();//强制刷新
},
PickerWorkstart(e) {
this.workstartindex = e.detail.value;
this.pd.WORK_START_USER_ID = this.workstartUserList[this.workstartindex].USER_ID;
this.pd.WORK_START_USER_NAME = this.workstartUserList[this.workstartindex].NAME;
this.$forceUpdate();//强制刷新
},
PickerWorkend(e) {
this.workendindex = e.detail.value;
this.pd.WORK_END_USER_ID = this.workendUserList[this.workendindex].USER_ID;
this.pd.WORK_END_USER_NAME = this.workendUserList[this.workendindex].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.searchConfirm = ''; // 清空搜索输入框
this.showConfirmDropdown = false
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'confirmUserList');
},
// 取消回调事件
confirmtreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showProjectmanagerTree() {
this.isUps = true
this.$refs.tkiTree_projectmanager._show();
},
PickerProjectmanager(e) {
this.projectmanagerindex = e.detail.value;
this.pd.PROJECT_MANAGER_USER_ID = this.projectmanagerUserList[this.projectmanagerindex].USER_ID;
this.pd.PROJECT_MANAGER_USER_NAME = this.projectmanagerUserList[this.projectmanagerindex].NAME;
this.$forceUpdate();//强制刷新
},
projectmanagerConfirm(e) {
this.isUps = false;
this.pd.PROJECT_MANAGER_DEPARTMENT_ID = e[0].id;
this.pd.PROJECT_MANAGER_DEPARTMENT_NAME = e[0].name;
this.pd.PROJECT_MANAGER_USER_ID = ''
this.pd.PROJECT_MANAGER_USER_NAME = ''
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'projectmanagerUserList');
},
// 取消回调事件
projectmanagertreeCancel(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.pd.GUARDIAN_USER_ID = ''
this.pd.GUARDIAN_USER_NAME = ''
this.searchGuardian = ''; // 清空搜索输入框
this.showGuardianDropdown = false
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.pd.LEADER_USER_ID = ''
this.pd.LEADER_USER_NAME = ''
this.searchLeader = '';
this.showLeaderDropdown = false
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.searchAudit = ''; // 清空搜索输入框
this.showAuditDropdown = false
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.searchApprove = ''; // 清空搜索输入框
this.showApproveDropdown = false
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.searchAccept = ''; // 清空搜索输入框
this.showAcceptDropdown = false
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();//强制刷新
},
showPlsTree() {
this.isUps = true
this.$refs.tkiTree_pls._show();
},
plstreeConfirm(e) {
this.isUps = false;
console.log(e[0])
this.pd.PLS_ID = e[0].id;
this.pd.PLS_NAME = e[0].name;
this.$forceUpdate();//强制刷新
},
// 取消回调事件
plstreeCancel(e) {
this.isUps = false;
},
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
},
}
}
</script>
<style>
.search-input {
position: relative;
display: flex;
align-items: center;
//border: 1px solid #e3e3e3;
border-radius: 4px;
padding: 0 10px;
height: 40px;
}
.search-icon {
position: absolute;
right: 10px;
font-size: 18px;
color: #666;
}
.dropdown view {
padding: 8px 10px;
cursor: pointer;
}
.dropdown view:hover {
background: #f5f5f5;
}
.showbg{
position: absolute;
top: 45px;
left: 0;
background: #ffffff;
line-height: 2.6;
width: 100%;
padding: 5px;
border: 1px solid #eeeeee;
border-radius: 4px;
z-index: 999;
}
.cuIcon-right{
position: absolute;
right: -12px;
top: -10px;
}
.cuIcon-right:before {
content: "\e6a3";
color: #999;
}
</style>