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

2656 lines
99 KiB
Vue

<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" 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="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 bb-default">-->
<!-- <view class="title">作业内容:</view>-->
<!-- <input name="input" ref="JOB_CONTENT" :disabled="forbidEdit" v-model="pd.JOB_CONTENT"-->
<!-- placeholder="请输入作业内容"></input>-->
<!-- </view>-->
<view class="cu-form-group group-picker" v-if="pd.WORK_CONTENT">
<view class="title">作业内容、范围、方式:</view>
{{ pd.WORK_CONTENT }}
</view>
<view class="cu-form-group group-picker" v-if="pd.CONTENT_IMG_PATH">
<view class="title" style="font-weight: bold;">
作业内容、范围、方式简图:
</view>
</view>
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view v-if="pd.CONTENT_IMG_PATH" style="display: flex;align-items: flex-end;padding: 0 30upx">
<view v-for="(item,index) in pd.CONTENT_IMG_PATH" :key="index" style="margin-right:20upx">
<view class="imgs">
<image :src="baseImgPath + pd.CONTENT_IMG_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + pd.CONTENT_IMG_PATH[index])"
mode="" style="width: 100upx;height: 100upx;"></image>
</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" @click="otherAssignments = true">选择其它
</button>
</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.SPECIAL_WORK"
placeholder="请输入关联的其他特殊作业及安全作业票编号"></textarea>
</view>
<view class="cu-form-textarea" v-if="pd.RISK_IDENTIFICATION">
<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_BREAKGROUND_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" v-if="!forbidEdit">-->
<!-- <view class="title">作业人单位</view>-->
<!-- <view class="picker-tree-box">-->
<!-- <view class="picker-tree" @tap="showWorkusersTree">-->
<!-- {{ pd.WORK_USER_DEPARTMENT_NAME ? pd.WORK_USER_DEPARTMENT_NAME : '请选择' }}-->
<!-- </view>-->
<!-- </view>-->
<!-- <tki-tree ref="tkiTree_workusers"-->
<!-- :selectParent=true-->
<!-- :range="treeNode"-->
<!-- rangeKey="name"-->
<!-- @confirm="workuserstreeConfirm"-->
<!-- @cancel="workuserstreeCancel"></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="searchWorkusers"-->
<!-- placeholder="请输入作业人"-->
<!-- @input="filterWorkusersUsers"-->
<!-- @click="toggleWorkusersDropdown"-->
<!-- >-->
<!-- <view class="search-icon" @click="toggleWorkusersDropdown">-->
<!-- <text class="cuIcon-right"></text>-->
<!-- </view>-->
<!-- </view>-->
<!-- <view v-show="showWorkusersDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">-->
<!-- <view-->
<!-- v-for="(user, index) in filteredWorkusersUsers"-->
<!-- :key="index"-->
<!-- @click="selectWorkusersUser(user)"-->
<!-- >-->
<!-- {{ user.NAME }}-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<view class="cu-form-group">
<view class="title">请选择作业人</view>
<view class="picker" @click="openPersonPopup('workusers')" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
{{ searchWorkusersPerson || '请选择作业人' }}
<text class="cuIcon-right" style="margin-left: 10upx;"></text>
</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 class="cu-form-group">
<view class="title">请选择监护人</view>
<view class="picker" @click="openPersonPopup('guardian')" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
{{ searchGuardianPerson || '请选择监护人' }}
<text class="cuIcon-right" style="margin-left: 10upx;"></text>
</view>
</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 class="cu-form-group">
<view class="title">有关部门</view>
<view class="earch-input">
<input type="text" style="text-align: right" v-model="pd.SAFETY_DEPARTMENT_NAME" disabled>
</view>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">有关部门负责人</view>
<view>
<input type="text" style="text-align: right" v-model="pd.SAFETY_USER_NAME" disabled>
</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="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 class="cu-form-group">
<view class="title">分厂负责人单位</view>
<view class="earch-input">
<input type="text" style="text-align: right" v-model="pd.AUDIT_DEPARTMENT_NAME" disabled>
</view>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">分厂负责人</view>
<view>
<input type="text" style="text-align: right" v-model="pd.AUDIT_USER_NAME" disabled>
</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="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="cu-form-group" >
<view class="title">请选择作业开始负责人</view>
<view class="picker" @click="openPersonPopup('workstart')" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
{{ searchWorkstartPerson || '请选择作业开始负责人' }}
<text class="cuIcon-right" style="margin-left: 10upx;"></text>
</view>
</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="cu-form-group">
<view class="title">请选择作业结束负责人</view>
<view class="picker" @click="openPersonPopup('workend')" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
{{ searchWorkendPerson || '请选择作业结束负责人' }}
<text class="cuIcon-right" style="margin-left: 10upx;"></text>
</view>
</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 class="cu-form-group" >
<view class="title">请选择验收部门负责人</view>
<view class="picker" @click="openPersonPopup('accept')" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
{{ searchAcceptPerson || '请选择验收部门负责人' }}
<text class="cuIcon-right" style="margin-left: 10upx;"></text>
</view>
</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.WORK_USER">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">作业人</view>
{{ pd.WORK_USER_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.WORK_USER[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_USER[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.WORK_USER[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.WORK_USER[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 v-if="signs.CONFESS">
<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 }}
</view>
<view v-if="signs.CONFESS[0].IMG_PATH" style="display: flex;align-items: flex-end;padding: 0 30upx">
<view v-for="(item,index) in signs.CONFESS[0].IMG_PATH" :key="index" style="margin-right:20upx">
<view class="imgs">
<image :src="baseImgPath + signs.CONFESS[0].IMG_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.CONFESS[0].IMG_PATH[index])"
mode="" style="width: 50upx;height: 50upx;"></image>
</view>
</view>
</view>
<view class="cu-item" v-for="(item,index) in signs.CONFESS[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.CONFESS[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.CONFESS[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.CONFESS[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
<view v-if="signs.ACCEPT_CONFESS">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group">
<view class="title">接受交底人</view>
{{ pd.ACCEPT_CONFESS_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.ACCEPT_CONFESS[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_CONFESS[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.ACCEPT_CONFESS[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.ACCEPT_CONFESS[0].SIGN_TIME[index] }}</text>
</view>
</view>
</view>
</view>
</view>
<view class="wui-form-list">
<view v-if="signs.CONFIRM">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">作业负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="signs.CONFIRM[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.CONFIRM_USER_NAME }}
</view>
<view class="cu-item" v-for="(item,index) in signs.CONFIRM[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.CONFIRM[0].SIGN_PATH[index]" :data-index="index"
@click="ViewShowImage(baseImgPath + signs.CONFIRM[0].SIGN_PATH[index])"
mode="" style="width: 200upx;height: 200upx;"></image>
<text> {{ signs.CONFIRM[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.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">水、电、汽、工艺、设备、消防、
<td></td>
安全管理等动土所在单位
</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.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.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>{{ signs.ACCEPT[0].SIGN_TIME[index] }}</test>
</view>
</view>
</view>
</view>
</view>
<!-- 自定义弹窗 -->
<view :class="['cu-modal', {'show': personPopupShow}]" v-if="personPopupShow">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
<view class="content">请选择{{ currentSelectRoleName }}人</view>
<view class="action" @tap="closePersonPopup">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<view class="padding">
<!-- 搜索框 -->
<view class="search-input">
<input
type="text"
v-model="popupSearch"
placeholder="请输入关键字"
@input="filterPopupList"
/>
<view class="search-icon">
<text class="cuIcon-search"></text>
</view>
</view>
<!-- 人员列表 -->
<scroll-view class="scroll-list" scroll-y="true" style="height: 400px; margin-top: 20px;">
<view v-for="(user, index) in filteredPopupList" :key="index" class="list-item" @click="selectPerson(user)">
{{ user.DEPT_POST_NAME }}
</view>
</scroll-view>
</view>
<view class="cu-bar bg-white justify-end">
<view class="action">
<button class="cu-btn line-green text-green" @click="closePersonPopup">取消</button>
</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 {
showGuardianDropdown: false,
filteredGuardianUsers: [],
searchWorkusers: '',
showWorkusersDropdown: false,
filteredWorkusersUsers: [],
searchAudit: '',
showAuditDropdown: false,
filteredAuditUsers: [],
searchAccept: '',
showAcceptDropdown: false,
filteredAcceptUsers: [],
searchSafety: '',
showSafetyDropdown: false,
filteredSafetyUsers: [],
searchWorkstart: '',
showWorkstartDropdown: false,
filteredWorkstartUsers: [],
searchWorkend: '',
showWorkendDropdown: false,
filteredWorkendUsers: [],
searchGuardian: '',
loginUser: loginUser,
baseImgPath: baseImgPath,
buttonloading: false,
isUps: false,
forbidEdit: true,// 禁止修改
msg: 'add',
noClick: true,
treeNode: [],//部门下拉数据
levelindex: -1,
files: [],
files1: [],
analyzeUserList: [],
analyzeindex: -1,
confirmUserList: [],
workuserindex: -1,
confessUserList: [],
confessindex: -1,
acceptconfessUserList: [],
acceptconfessindex: -1,
workstartindex: -1,
workstartUserList: [],
workendindex: -1,
workendUserList: [],
confirmindex: -1,
guardianUserList: [],
guardianindex: -1,
leaderUserList: [],
workUsersList: [],
workusersindex: -1,
leaderindex: -1,
workLevelIndex: -1,
auditUserList: [],
auditindex: -1,
safetyUserList: [],
safetyindex: -1,
approveUserList: [],
approveindex: -1,
monitorUserList: [],
monitorindex: -1,
acceptUserList: [],
acceptindex: -1,
pd: {},// 数据
signs: {},
measuresList: [],
plsNode: [],
plsList: [],
plxIndex: -1,
applyDeptList:[],
applyDeptindex: -1,
applyWorkshopDeptList: [],
applyWorkshopDeptindex: -1,
conimgList: [],
rules:
[
// {
// name: 'RISK_IDENTIFICATION',
// message: '请输入风险辨识结果'
// },
{name: 'APPLY_DEPARTMENT_ID', message: '请选择申请分厂'},
{name: 'APPLY_WORKSHOP_DEPARTMENT_ID', message: '请选择申请工段'},
{
name: 'CONFIRM_DEPARTMENT_ID',
message: '请选择作业单位'
},
{
name: 'WORK_PLACE',
message: '请输入作业地点'
},
// {
// name: 'JOB_CONTENT',
// message: '请输入作业内容'
// },
{
name: 'WORK_USER_ID',
message: '请选择作业人'
},
{name: 'GUARDIAN_USER_ID', message: '请选择监护人'},
// {
// name: 'SAFETY_USER_ID',
// message: '请选择有关部门负责人'
// },
// {name: 'AUDIT_USER_ID', message: '请选择分厂负责人'},
// {name: 'ACCEPT_CONFESS_USER_ID', message: '请选择接受交底人'},
// {
// name: 'LEADER_USER_ID',
// message: '请选择所在单位负责人'
// },
// {
// name: 'APPROVE_USER_ID',
// message: '请选择审批部门负责人'
// },
{
name: 'WORK_START_USER_ID',
message: '请选择作业开始负责人'
},
{
name: 'WORK_END_USER_ID',
message: '请选择作业结束负责人'
},
{
name: 'ACCEPT_USER_ID',
message: '请选择验收部门负责人'
},
],
todayDate: '',
otherAssignments: false,
otherIdentification: false,
// 通用人员选择相关
personPopupShow: false, // 控制弹窗显示
popupSearch: '', // 弹窗内的搜索关键词
filteredPopupList: [], // 弹窗内过滤后的人员列表
personList: [], // 人员列表原始数据
currentSelectRole: '', // 当前正在选择的角色
roleNameMap: {
workusers: '作业',
guardian: '监护',
workstart: '作业开始负责',
workend: '作业结束负责',
accept: '验收部门负责'
},
// 每个角色的显示名称
searchWorkusersPerson: '',
searchGuardianPerson: '',
searchWorkstartPerson: '',
searchWorkendPerson: '',
searchAcceptPerson: '',
}
},
computed: {
currentSelectRoleName() {
return this.roleNameMap[this.currentSelectRole] || '';
}
},
onLoad(event) {
this.getPersonList();
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.pd.BREAKGROUND_ID = event.BREAKGROUND_ID;
if (this.pd.BREAKGROUND_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: {
// 获取所有人员(统一接口)
getPersonList() {
uni.showLoading({
title: '加载中...',
mask: true
});
uni.request({
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
url: basePath + '/app/sys/listAllUserDePtAnfPost',
data: {
tm: new Date().getTime(),
CORPINFO_ID: loginUser.CORPINFO_ID,
USER_ID: loginUser.USER_ID,
},
success: (res) => {
uni.hideLoading();
if (res.data.result === 'success') {
this.personList = res.data.userList || []; // 保存原始数据
this.filteredPopupList = [...this.personList]; // 初始化为全部
} else {
uni.showToast({
title: res.data.message || '获取人员失败',
duration: 2000,
icon: 'none'
});
}
},
fail: () => {
uni.hideLoading();
uni.showToast({
title: '网络请求失败',
duration: 2000,
icon: 'none'
});
}
});
},
// 打开人员选择弹窗
openPersonPopup(role) {
this.currentSelectRole = role;
const roleName = 'search' + role.charAt(0).toUpperCase() + role.slice(1) + 'Person';
const currentValue = this[roleName] || '';
this.popupSearch = currentValue.split('(')[0] || '';
if (this.popupSearch.trim()) {
this.filterPopupList();
} else {
this.filteredPopupList = [...this.personList];
}
this.personPopupShow = true;
},
// 关闭弹窗
closePersonPopup() {
this.personPopupShow = false;
const query = this.popupSearch.trim().toLowerCase();
if (!query) {
this.filteredPopupList = [...this.personList];
} else {
this.filteredPopupList = this.personList.filter(user => {
const deptPostName = user.DEPT_POST_NAME ? user.DEPT_POST_NAME.toLowerCase() : '';
const userId = user.USER_ID ? user.USER_ID.toLowerCase() : '';
return deptPostName.includes(query) || userId.includes(query);
});
}
},
// 搜索过滤(弹窗内)
filterPopupList() {
const query = this.popupSearch.trim().toLowerCase();
if (!query) {
this.filteredPopupList = [...this.personList];
} else {
this.filteredPopupList = this.personList.filter(user => {
const deptPostName = user.DEPT_POST_NAME ? user.DEPT_POST_NAME.toLowerCase() : '';
const userId = user.USER_ID ? user.USER_ID.toLowerCase() : '';
return deptPostName.includes(query) || userId.includes(query);
});
}
},
// 选择人员
selectPerson(user) {
const role = this.currentSelectRole;
const roleName = 'search' + role.charAt(0).toUpperCase() + role.slice(1) + 'Person';
this[roleName] = user.DEPT_POST_NAME;
// 设置pd中的相应字段
switch(role) {
case 'workusers':
this.pd.WORK_USER_ID = user.USER_ID || '';
this.pd.WORK_USER_DEPARTMENT_ID = user.DEPARTMENT_ID || '';
this.pd.WORK_USER_USER_NAME = user.DEPT_POST_NAME;
break;
case 'guardian':
this.pd.GUARDIAN_USER_ID = user.USER_ID || '';
this.pd.GUARDIAN_DEPARTMENT_ID = user.DEPARTMENT_ID || '';
this.pd.GUARDIAN_USER_NAME = user.DEPT_POST_NAME;
break;
case 'workstart':
this.pd.WORK_START_USER_ID = user.USER_ID || '';
this.pd.WORK_START_DEPARTMENT_ID = user.DEPARTMENT_ID || '';
this.pd.WORK_START_USER_NAME = user.DEPT_POST_NAME;
break;
case 'workend':
this.pd.WORK_END_USER_ID = user.USER_ID || '';
this.pd.WORK_END_DEPARTMENT_ID = user.DEPARTMENT_ID || '';
this.pd.WORK_END_USER_NAME = user.DEPT_POST_NAME;
break;
case 'accept':
this.pd.ACCEPT_USER_ID = user.USER_ID || '';
this.pd.ACCEPT_DEPARTMENT_ID = user.DEPARTMENT_ID || '';
this.pd.ACCEPT_USER_NAME = user.DEPT_POST_NAME;
break;
}
this.closePersonPopup();
},
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;
},
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;
},
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;
},
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;
},
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.APPLY_DEPARTMENT_ID){
this.pd.DISABLED = ""
this.getConfigurationUser(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(); //强制刷新
},
getConfigurationUser(APPLY_DEPARTMENT_ID){
uni.request({
url: basePath + '/app/breakground/getConfigurationUser', //部门下拉接口
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID: loginUser.CORPINFO_ID,
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 {
console.log(11111)
this.pd.AUDIT_DEPARTMENT_ID = '';
this.pd.AUDIT_DEPARTMENT_NAME = '';
this.pd.AUDIT_USER_ID = '';
this.pd.AUDIT_USER_NAME = '';
this.pd.SAFETY_DEPARTMENT_ID = '';
this.pd.SAFETY_DEPARTMENT_NAME = '';
this.pd.SAFETY_USER_ID = '';
this.pd.SAFETY_USER_NAME = '';
uni.showToast({
icon: 'none',
title: '请先配置动土作业模版',
duration: 1500
});
}
}
});
},
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();//强制刷新
},
//跳转事件
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/breakground/breakground-gas/gas-list?BREAKGROUND_ID=' + e
});
},
getCode() {
uni.request({
url: basePath + '/app/breakground/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/breakground/findById',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BREAKGROUND_ID: _this.pd.BREAKGROUND_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) {
_this.forbidEdit = false;
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.getUserList(this.pd.CONFIRM_DEPARTMENT_ID, 'confirmUserList');
// this.getUserList(this.pd.LEADER_DEPARTMENT_ID, 'leaderUserList');
// this.getUserList(this.pd.SAFETY_DEPARTMENT_ID, 'safetyUserList');
// this.getUserList(this.pd.APPROVE_DEPARTMENT_ID, 'approveUserList');
// this.getUserList(this.pd.WORK_USER_DEPARTMENT_ID, 'workUsersList');
// 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');
if(this.pd.APPLY_DEPARTMENT_ID){
this.getConfigurationUser(this.pd.APPLY_DEPARTMENT_ID)
}
this.searchWorkusersPerson = res.data.pd.WORK_USER_DEPT_POST_NAME;
this.searchGuardianPerson = res.data.pd.GUARDIAN_DEPT_POST_NAME;
this.searchWorkstartPerson = res.data.pd.WORK_START_DEPT_POST_NAME;
this.searchWorkendPerson = res.data.pd.WORK_END_DEPT_POST_NAME;
this.searchAcceptPerson = res.data.pd.ACCEPT_DEPT_POST_NAME;
} 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/breakground/listSignFinished',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BREAKGROUND_ID: _this.pd.BREAKGROUND_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/breakground/listSignFinishMeasures',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BREAKGROUND_ID: _this.pd.BREAKGROUND_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
});
},
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 (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 (!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.TASK_ID = 9
formData.EDU_FILE_PATH = this.conimgList.map(item => {
return item.filePath
}).join(",")
this.buttonloading = true
uni.request({
url: basePath + "app/breakground/" + _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.SAFETY_DEPARTMENT_ID = '';
this.pd.SAFETY_DEPARTMENT_NAME = '';
this.pd.SAFETY_USER_ID = '';
this.pd.SAFETY_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 '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 '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 'safety':
if (this.safetyUserList.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 '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');
},
/*
*接受交底人
*/
// 确定回调事件
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;
},
// 取消回调事件
acceptconfesstreeCancel(e) {
this.isUps = false;
},
workstarttreeCancel(e) {
this.isUps = false;
},
workendtreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showGuardianTree() {
this.isUps = true
this.$refs.tkiTree_guardian._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();//强制刷新
},
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();//强制刷新
},
/*
*分析人
*/
// 确定回调事件
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();//强制刷新
},
/*
*确认人
*/
// 确定回调事件
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();
},
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();//强制刷新
},
/*
*安全管理部门负责人
*/
// 确定回调事件
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();
},
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();//强制刷新
},
workUsertreeConfirm(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.$forceUpdate();//强制刷新
this.getUserList(e[0].id, 'workUsersList');
},
// 取消回调事件
workUsertreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showWorkUserTree() {
this.isUps = true
this.$refs.tkiTree_workUser._show();
},
PickerWorkUser(e) {
this.workUserindex = e.detail.value;
this.pd.WORK_USER_ID = this.workUsersList[this.workUserindex].USER_ID;
this.pd.WORK_USER_USER_NAME = this.safetyUserList[this.workUserindex].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;
}
.list-item {
padding: 14px 12px;
border-bottom: 1px solid #9f9e9e;
font-size: 28upx;
color: #333;
}
</style>