integrated_traffic_uniapp/pages/application/blindboard/blindboard-apply/blindboard-apply-detail.vue

1335 lines
52 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 group-picker">
<view class="title">申请部门:</view>
{{pd.APPLY_DEPARTMENT_NAME}}
</view>
<view class="cu-form-group group-picker" >
<view class="title">申请人:</view>
{{pd.APPLY_USER_NAME}}
</view>
<view class="cu-form-group group-picker" >
<view class="title">作业类别:</view>
<picker @change="PickerWorkType" :disabled="forbidEdit" :value="workTypeindex" :range="workTypeList" range-key="NAME">
<view class="picker">
<template v-if="pd.WORK_TYPE_NAME">{{pd.WORK_TYPE_NAME}}</template>
<template v-else>
<template v-if="pd.WORK_TYPE == '1'">堵盲板</template>
<template v-else-if="pd.WORK_TYPE == '2'">抽盲板</template>
<template v-else>请选择</template>
</template>
</view>
</picker>
</view>
<view class=" cu-form-group bb-default">
<view class="title">设备管道名称:</view>
<input name="input" ref="NAME" v-model="pd.NAME"
placeholder="请输入设备管道名称"></input>
</view>
<view class="wui-form-list">
<view class="wui-sub-title">
<text>管道参数</text>
</view>
<view class="cu-form-group">
<view class="title">介质:</view>
<input name="input" ref="MEDIUM" :disabled="forbidEdit" v-model="pd.MEDIUM" placeholder="请输入介质"></input>
</view>
<view class="cu-form-group">
<view class="title">温度:</view>
<input name="input" ref="TEMPERATURE" :disabled="forbidEdit" v-model="pd.TEMPERATURE" placeholder="请输入温度"></input>
</view>
<view class="cu-form-group">
<view class="title">压力:</view>
<input name="input" ref="PRESSURE" :disabled="forbidEdit" v-model="pd.PRESSURE" placeholder="请输入压力"></input>
</view>
</view>
<view class="wui-form-list" v-for="(item,index) of boardList">
<view class="wui-sub-title" style="display: flex;justify-content: space-between">
<text style="height:32upx; border: none; position: relative;">
<view style="width: 8upx; height: 32upx; background: #1d82fe; position: absolute; top: 6upx; left: 0;"></view> 盲板抽堵参数</text>
<button v-if="index == 0 && !forbidEdit" class="cu-btn round bg-blue" style="height:40upx;" @click="addBoard">添加</button>
<button v-if="index > 0 && !forbidEdit" class="cu-btn round bg-red" style="height:40upx;" @click="removeBoard(index)">删除</button>
</view>
<view class="cu-form-group">
<view class="title">材质:</view>
<input name="input" ref="BOARD_MATERIAL" :disabled="forbidEdit" v-model="boardList[index].BOARD_MATERIAL" placeholder="请输入材质"></input>
</view>
<view class="cu-form-group" >
<view class="title">规格:</view>
<input name="input" ref="BOARD_SPECIFICATION" :disabled="forbidEdit" v-model="boardList[index].BOARD_SPECIFICATION" placeholder="请输入规格"></input>
</view>
<view class="cu-form-group">
<view class="title">编号:</view>
<input name="input" ref="BOARD_NO" :disabled="forbidEdit" v-model="boardList[index].BOARD_NO" placeholder="请输入编号"></input>
</view>
</view>
<view class="cu-form-group group-picker" v-if="pd.BOARD_PATH">
<view class="title">盲板抽堵位置及安全措施:</view>
</view>
<view class="cu-form-group group-picker" v-if="pd.BOARD_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.BOARD_PATH" style="display: flex;align-items: flex-end;padding: 0 30upx">
<view v-for="(item,index) in pd.BOARD_PATH" :key="index" style="margin-right:20upx">
<view class="imgs">
<image :src="baseImgPath + pd.BOARD_PATH[index]" :data-index="index" @click="ViewShowImage(baseImgPath + pd.BOARD_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" >
<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>
<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_BLINDBOARD_MEASURES_ID">
<uni-td>
<view style="margin-bottom: 20upx;">
{{item.PROTECTIVE_MEASURES}}
<view v-if="item.SIGN_PATH" class="cu-item">
<view class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
<image :src="baseImgPath + item.SIGN_PATH" :data-index="index" @click="ViewShowImage(baseImgPath + item.SIGN_PATH)"
mode="" style="width: 50upx;height: 50upx;"></image>
<text> {{item.SIGN_TIME}}</text>
</view>
</view>
</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 class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;">
<image :src="baseImgPath + item.SIGN_PATH[0]" :data-index="index" @click="ViewShowImage(baseImgPath + item.SIGN_PATH[0])"
mode="" style="width: 50upx;height: 50upx;"></image>
</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="showGuardianTree">{{pd.GUARDIAN_DEPARTMENT_NAME?pd.GUARDIAN_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_guardian"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="guardiantreeConfirm"
@cancel="guardiantreeCancel"></tki-tree>
</view>
<view class="cu-form-group" >
<view class="title">监护人</view>
<picker @change="PickerGuardian" :value="guardianindex" :range="guardianUserList" range-key="NAME" :disabled="guardianUserList.length == 0" @click="isBlankList('guardian')">
<view class="picker">
{{pd.GUARDIAN_USER_NAME?pd.GUARDIAN_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="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="showConfessTree">{{pd.CONFESS_DEPARTMENT_NAME?pd.CONFESS_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_confess"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="confesstreeConfirm"
@cancel="confesstreeCancel"></tki-tree>
</view>
<view class="cu-form-group" >
<view class="title">安全交底人</view>
<picker @change="PickerConfess" :value="confessindex" :range="confessUserList" range-key="NAME" :disabled="confessUserList.length == 0" @click="isBlankList('confess')">
<view class="picker">
{{pd.CONFESS_USER_NAME?pd.CONFESS_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" >
<view class="title">接受交底人单位</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showAcceptconfessTree">{{pd.ACCEPT_CONFESS_DEPARTMENT_NAME?pd.ACCEPT_CONFESS_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_acceptconfess"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="confesstreeAcceptconfirm"
@cancel="acceptconfesstreeCancel"></tki-tree>
</view>
<view class="cu-form-group" >
<view class="title">接受交底人</view>
<picker @change="PickerAcceptconfess" :value="acceptconfessindex" :range="acceptconfessUserList" range-key="NAME" :disabled="acceptconfessUserList.length == 0" @click="isBlankList('acceptconfess')">
<view class="picker">
{{pd.ACCEPT_CONFESS_USER_NAME?pd.ACCEPT_CONFESS_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" 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" v-if="!forbidEdit">
<view class="title">作业人</view>
<picker @change="PickerWorkusers" :value="workusersindex" :range="workUsersList" range-key="NAME" :disabled="workUsersList.length == 0" @click="isBlankList('workuser')">
<view class="picker">
{{pd.WORK_USER_NAME?pd.WORK_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">作业负责人单位</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showConfirmTree">{{pd.CONFIRM_DEPARTMENT_NAME?pd.CONFIRM_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_confirm"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="confirmtreeConfirm"
@cancel="confirmtreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">作业负责人</view>
<picker @change="PickerConfirm" :value="confirmindex" :range="confirmUserList" range-key="NAME" :disabled="confirmUserList.length == 0" @click="isBlankList('confirm')">
<view class="picker">
{{pd.CONFIRM_USER_NAME?pd.CONFIRM_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">所在单位</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showLeaderTree">{{pd.LEADER_DEPARTMENT_NAME?pd.LEADER_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_leader"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="leadertreeConfirm"
@cancel="leadertreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">所在单位负责人</view>
<picker @change="PickerLeader" :value="leaderindex" :range="leaderUserList" range-key="NAME" :disabled="leaderUserList.length == 0" @click="isBlankList('leader')">
<view class="picker">
{{pd.LEADER_USER_NAME?pd.LEADER_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" >
<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>
<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>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" >
<view class="title">验收部门</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showAcceptTree">{{pd.ACCEPT_DEPARTMENT_NAME?pd.ACCEPT_DEPARTMENT_NAME:''}}</view>
</view>
<tki-tree ref="tkiTree_accept"
:selectParent=true
:range="treeNode"
rangeKey="name"
@confirm="accepttreeConfirm"
@cancel="accepttreeCancel"></tki-tree>
</view>
<view class="cu-form-group" >
<view class="title">验收部门负责人</view>
<picker @change="PickerAccept" :value="acceptindex" :range="acceptUserList" range-key="NAME" :disabled="acceptUserList.length == 0" @click="isBlankList('accept')">
<view class="picker">
{{pd.ACCEPT_USER_NAME?pd.ACCEPT_USER_NAME:'请选择'}}
</view>
</picker>
</view>
<view 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.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.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_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>
<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.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.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>
<text> {{signs.ACCEPT[0].SIGN_TIME[index]}}</text>
</view>
</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/writing-board/writing-board.vue"
import gcoord from '@/common/gcoord.js'
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue';
import OtherSelect from '@/components/other-select/index.vue';
export default {
components: {
tkiTree,ruiDatePicker,writingBoard,OtherSelect
},
data() {
return {
baseImgPath:baseImgPath,
buttonloading: false,
isUps:false,
forbidEdit:true,// 禁止修改
msg:'add',
noClick:true,
treeNode:[],//部门下拉数据
levelindex:-1,
workTypeList:[{NAME:"堵盲板",ID:'1'},{NAME:"抽盲板",ID:'2'},],
workTypeindex:-1,
files: [],
files1: [],
analyzeUserList:[],
analyzeindex:-1,
confirmUserList:[],
workuserindex:-1,
confessUserList: [],
confessindex:-1,
boardList:[{"BOARD_MATERIAL":'',"BOARD_SPECIFICATION":'',"BOARD_NO":''}],
acceptconfessUserList:[],
acceptconfessindex:-1,
workUserList:[],
workstartindex:-1,
workstartUserList:[],
workendindex:-1,
workendUserList:[],
confirmindex:-1,
guardianUserList:[],
guardianindex:-1,
leaderUserList:[],
workUsersList:[],
workusersindex:-1,
leaderindex:-1,
workLevelIndex:-1,
acceptUserList:[],
acceptindex:-1,
pd:{},// 数据
signs:{},
measuresList:[],
plsNode:[],
plsList:[],
plxIndex:-1,
rules:
[
{name:'NAME',message:'请输入设备管线名'},
{name:'WORK_TYPE',message:'请选择作业类别'},
{name:'WORK_USER_ID',message:'请输入作业人'},
{name:'MEDIUM',message:'请输入介质'},
{name:'TEMPERATURE',message:'请输入温度'},
{name:'PRESSURE',message:'请输入压力'},
{name:'LEADER_USER_ID',message:'请选择单位领导'},
{name:'ACCEPT_USER_ID',message:'请选择验收部门负责人'},
{name:'SPECIAL_WORK',message:'请输入关联的其他特殊作业及安全作业票编号'},
{name:'GUARDIAN_USER_ID',message:'请选择监护人'},
{name:'CONFESS_USER_ID',message:'请输入安全交底人'},
{name:'ACCEPT_CONFESS_USER_ID',message:'请输入接受交底人'},
{
name: 'CONFIRM_USER_ID',
message: '请选择作业负责人'
},
],
todayDate:'',
otherAssignments:false,
otherIdentification:false,
}
},
onLoad(event){
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.pd.BLINDBOARD_ID = event.BLINDBOARD_ID;
if(this.pd.BLINDBOARD_ID){
this.msg="edit";
this.getData();
}else {
// 初始化作业负责人
this.pd.APPLY_DEPARTMENT_ID = loginUser.DEPARTMENT_ID;
this.pd.APPLY_DEPARTMENT_NAME = loginUser.DEPARTMENT_NAME;
this.pd.APPLY_USER_ID = loginUser.USER_ID;
this.pd.APPLY_USER_NAME = loginUser.NAME;
this.forbidEdit = false;
}
// 初始化现场作业负责人
this.getDept();
this.getPlsList();
loginSession();
},
methods: {
//跳转事件
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/blindboard/blindboard-gas/gas-list?BLINDBOARD_ID='+e
});
},
getCode(){
uni.request({
url: basePath + '/app/blindboard/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;
}
})
},
addBoard: function(){
var _this=this;
let o = {"BOARD_MATERIAL":'',"BOARD_SPECIFICATION":'',"BOARD_NO":''};
_this.boardList.push(o);
},
removeBoard: function(index){
this.boardList.splice(index,1);
},
PickerWorkType(e) {
this.workTypeindex = e.detail.value;
this.pd.WORK_TYPE=this.workTypeList[this.workTypeindex].ID;
this.pd.WORK_TYPE_NAME=this.workTypeList[this.workTypeindex].NAME;
this.$forceUpdate();//强制刷新
},
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/blindboard/findById',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BLINDBOARD_ID: _this.pd.BLINDBOARD_ID,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.pd = res.data.pd; //参数map
_this.boardList = res.data.boardList; //参数map
if(_this.pd.STEP_ID === 0){
_this.forbidEdit = false;
this.getUserList(this.pd.CONFIRM_DEPARTMENT_ID,'confirmUserList');
this.getUserList(this.pd.LEADER_DEPARTMENT_ID,'leaderUserList');
this.getUserList(this.pd.ACCEPT_DEPARTMENT_ID,'acceptUserList');
this.getUserList(this.pd.WORK_START_DEPARTMENT_ID,'workstartUserList');
this.getUserList(this.pd.WORK_USER_DEPARTMENT_ID,'workusersUserList');
}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/blindboard/listSignFinished',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BLINDBOARD_ID: _this.pd.BLINDBOARD_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/blindboard/listSignFinishMeasures',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
BLINDBOARD_ID: _this.pd.BLINDBOARD_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) {
this.rules.map(({name,message}) => {
if (!this.pd[name]) {
uni.showToast({
icon: 'none',
title: message,
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.boardList = JSON.stringify(this.boardList)
formData.TASK_ID=13
this.buttonloading = true
uni.request({
url: basePath + "app/blindboard/"+_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
});
}
})
},
getDept() {
var _this = this;
uni.request({
url: basePath + '/app/sys/listTree',//部门下拉接口
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
if("success" == res.data.result){
_this.treeNode=eval(res.data.zTreeNodes);
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
});
},
//获取人员列表
getUserList(dept,list,i){
//发送 post 请求
var _this=this
uni.request({
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
url: basePath+'/app/sys/listUser',
data: {
DEPARTMENT_ID:dept,
tm:new Date().getTime(),
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: function(res){
if("success" == res.data.result){
if(i>-1) {
_this[list][i] = [];
_this[list][i] = res.data.userList;
_this.$forceUpdate();//强制刷新
}else{
_this[list]=res.data.userList;
}
}else{
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
/*
*作业人
*/
// 确定回调事件
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_USER_ID = ''
this.pd.WORK_USER_USER_NAME = ''
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_NAME=this.workUsersList[this.workusersindex].NAME;
this.$forceUpdate();//强制刷新
},
getPlsList(){
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);
} 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 'leader':
if(this.leaderUserList.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.$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.$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.$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.$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;
},
// 显示树形选择器
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();
},
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();//强制刷新
},
PickerWorkuser(e) {
this.workuserindex = e.detail.value;
this.pd.WORK_USER_ID=this.workUserList[this.workuserindex].USER_ID;
this.pd.WORK_USER=this.workUserList[this.workuserindex].NAME;
this.$forceUpdate();//强制刷新
},
/*
*确认人
*/
// 确定回调事件
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.$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.$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();//强制刷新
},
/*
*验收部门
*/
// 确定回调事件
accepttreeConfirm(e) {
this.isUps=false;
this.pd.ACCEPT_DEPARTMENT_ID=e[0].id;
this.pd.ACCEPT_DEPARTMENT_NAME=e[0].name;
this.pd.ACCEPT_USER_ID = ''
this.pd.ACCEPT_USER_NAME = ''
this.$forceUpdate();//强制刷新
this.getUserList(e[0].id,'acceptUserList');
},
// 取消回调事件
accepttreeCancel(e) {
this.isUps=false;
},
// 显示树形选择器
showAcceptTree() {
this.isUps=true
this.$refs.tkiTree_accept._show();
},
PickerAccept(e) {
this.acceptindex = e.detail.value;
this.pd.ACCEPT_USER_ID=this.acceptUserList[this.acceptindex].USER_ID;
this.pd.ACCEPT_USER_NAME=this.acceptUserList[this.acceptindex].NAME;
this.$forceUpdate();//强制刷新
},
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();//强制刷新
},
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>
</style>