integrated_traffic_uniapp/pages/application/open-circuit/open-circuit-safety/open-circuit-safety-alldeta...

1180 lines
41 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">断路安全作业</block>
</cu-custom>
<scroll-view scroll-y="false">
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">编号</view>
<input name="input" ref="CHECK_NO" :disabled="true" v-model="pd.CHECK_NO"
placeholder="请输入编号"></input>
</view>
<view class="cu-form-group group-picker">
<view class="title">申请部门:</view>
{{pd.APPLY_DEPARTMENT_NAME}}
</view>
<view class="cu-form-group ">
<view class="title">作业开始时间</view>
<ruiDatePicker v-if="!forbidEdit" :start="todayDate" fields="minute"
:value="pd.WORK_START_DATE?pd.WORK_START_DATE:''" @change="changeStartDate"></ruiDatePicker>
<view v-else>{{pd.WORK_START_DATE}}</view>
</view>
<view class="cu-form-group">
<view class="title">作业结束时间</view>
<ruiDatePicker v-if="!forbidEdit" :start="todayDate" fields="minute"
:value="pd.WORK_END_DATE?pd.WORK_END_DATE:''" @change="changeEndDate"></ruiDatePicker>
<view v-else>{{pd.WORK_END_DATE}}</view>
</view>
<view class="cu-form-group bb-default">
<view class="title">涉及相关单位(部门):</view>
<input name="input" ref="OTHER_DEPT" :disabled="forbidEdit" v-model="pd.OTHER_DEPT"
placeholder="请输入涉及相关单位(部门)"></input>
</view>
<!-- <view class="cu-form-group bb-default">-->
<!-- <view class="title">监护人:</view>-->
<!-- <input name="input" ref="GUARDIAN_USER" :disabled="forbidEdit" v-model="pd.GUARDIAN_USER"-->
<!-- placeholder="请输入监护人"></input>-->
<!-- </view>-->
<view class="cu-form-textarea bb-default">
<view class="cu-form-title">断路原因:</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.WORK_REASON"
placeholder="请输入断路原因"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title">断路地段示意图相关说明:</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.WORK_CONTENT"
placeholder="请输入断路地段示意图相关说明"></textarea>
</view>
<view class="cu-bar">
<view class="action" style="font-weight: bold;">
断路地段示意图:
</view>
</view>
<view class="cu-form-group bb-default" v-if="!forbidEdit">
<view class="grid col-4 grid-square flex-sub">
<view v-if="pd.BOARD_PATH">
<image :src="pd.BOARD_PATH" mode="aspectFill" @click="previewImage(pd.BOARD_PATH)"></image>
<view v-if="!forbidEdit" class="cu-tag bg-red" @tap.stop="DelImg">
<text class='cuIcon-close'></text>
</view>
</view>
<view class="solids" @tap="ChooseImage" v-if="!pd.BOARD_PATH">
<text class='cuIcon-cameraadd'></text>
</view>
</view>
</view>
<view class="cu-form-group bb-default" v-else>
<view class="grid col-4 grid-square flex-sub">
<view>
<image :src="baseImgPath + pd.CONTENT_IMG_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONTENT_IMG_PATH)"></image>
</view>
</view>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title">关联的其他特殊作业及安全作业票编号</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.SPECIAL_WORK"
placeholder="请输入关联的其他特殊作业及安全作业票编号"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title">风险辨识结果</view>
<textarea maxlength="255" :disabled="forbidEdit" v-model="pd.HAZARD_IDENTIFICATION"
placeholder="请输入风险辨识结果"></textarea>
</view>
</view>
<view class="wui-form-list" v-if="forbidEdit" style="padding-top: 20upx;">
<view class="wui-title" style="margin-left: 20upx;">
<text class="text-semi">安全防护措施</text>
</view>
<view class="wui-table" style="padding: 0 20upx;">
<uni-table name='measuresList' border stripe emptyText="暂无更多数据">
<!-- 表头行 -->
<uni-tr>
<uni-th align="center" style="font-weight: bold;">主要防护措施</uni-th>
<uni-th align="center" style="font-weight: bold;width: 100px;">操作</uni-th>
</uni-tr>
<uni-tr v-for="(item,index) in measuresList" :key="item.BUS_CUTROAD_MEASURES_ID">
<uni-td>
{{item.PROTECTIVE_MEASURES}}
<radio-group class="wui-radio-group wui-mt10" v-if="item.SELECTIONA">
<view class="group">
<radio class='radio' value="A" :checked="item.ANSWER=='A'" disabled>
<text class="wui-pl10">{{item.SELECTIONA}}</text>
</radio>
</view>
<view class="group">
<radio class='radio' value="B" :checked="item.ANSWER=='B'" disabled>
<text class="wui-pl10">{{item.SELECTIONB}}</text>
</radio>
</view>
</radio-group>
</uni-td>
<uni-td align="center">
<radio-group class="wui-radio-group wui-radio-col">
<view class="group" v-if="item.STATUS=='-1'">
<radio class='radio' value="-1" checked>
<text class="wui-pl10">不涉及</text>
</radio>
</view>
<view class="group" v-if="item.STATUS=='1'">
<radio class='radio' value="1" checked>
<text class="wui-pl10">涉&nbsp;&nbsp;&nbsp;&nbsp;及</text>
</radio>
</view>
</radio-group>
</uni-td>
</uni-tr>
</uni-table>
</view>
<!-- <view class="cu-form-group">-->
<!-- <view class="title">安全交底人:</view>-->
<!-- <input name="input" ref="CONFESS_USER" :disabled="forbidEdit" v-model="pd.CONFESS_USER"-->
<!-- placeholder="请输入安全交底人"></input>-->
<!-- </view>-->
<!-- <view class="cu-form-group">-->
<!-- <view class="title">接受交底人:</view>-->
<!-- <input name="input" ref="ACCEPT_CONFESS_USER" :disabled="forbidEdit" v-model="pd.ACCEPT_CONFESS_USER"-->
<!-- placeholder="请输入接受交底人"></input>-->
<!-- </view>-->
<view class="cu-form-group">
<view class="title">其他防护措施:</view>
<!-- <textarea maxlength="255" ref="OTHER_PROTECTIVE_MEASURES" v-model="pd.OTHER_PROTECTIVE_MEASURES" placeholder="请输入其他防护措施..."></textarea> -->
</view>
<view v-if="pd.APPLY_USER_MEASURES" class="ty-group">
<text class="title">
申请人:</text>
<text>{{ pd.APPLY_USER_MEASURES}}</text>
</view>
<view v-if="pd.CONSTRUCTION_USER_MEASURES" class="ty-group">
<text class="title">
作业单位:</text>
<text>{{ pd.CONSTRUCTION_USER_MEASURES}}</text>
</view>
<view v-if="pd.PRODUCTION_USER_MEASURES" class="ty-group">
<text class="title">
所在单位:</text>
<text>{{ pd.PRODUCTION_USER_MEASURES}}</text>
</view>
<view v-if="pd.SAFETY_USER_MEASURES" class="ty-group">
<text class="title">
消防、安全管理部门:</text>
<text>{{ pd.SAFETY_USER_MEASURES}}</text>
</view>
<view v-if="pd.LEADER_USER_MEASURES" class="ty-group">
<text class="title">
审批部门:</text>
<text>{{ pd.LEADER_USER_MEASURES}}</text>
</view>
<view v-if="pd.CONFESS_USER_SIGNER_PATH">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">安全交底人</view>
{{pd.CONFESS_USER_NAME}} {{pd.CONFESS_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.CONFESS_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONFESS_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.ACCEPT_CONFESS_USER_SIGNER_PATH">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">接受交底人</view>
{{pd.ACCEPT_CONFESS_USER_NAME}} {{pd.ACCEPT_CONFESS_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.ACCEPT_CONFESS_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.ACCEPT_CONFESS_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.GUARDIAN_USER_SIGNER_PATH">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">监护人</view>
{{pd.GUARDIAN_USER_NAME}} {{pd.GUARDIAN_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
</view>
<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="showConstructionTree">
{{pd.CONSTRUCTION_DEPARTMENT_NAME?pd.CONSTRUCTION_DEPARTMENT_NAME:'请选择'}}</view>
</view>
<tki-tree ref="tkiTree_construction" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="constructiontreeConfirm" @cancel="constructiontreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">作业负责人:</view>
<picker @change="PickerConstruction" :value="constructionindex" :range="constructionUserList" range-key="NAME" :disabled="constructionUserList.length == 0" @click="isBlankList('construction')">
<view class="picker">
{{pd.CONSTRUCTION_USER_NAME?pd.CONSTRUCTION_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 v-if="pd.PRODUCTION_DEPARTMENT_NAME" class="cleared" @click="cancelSelect('production')">
清除
</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showProductionTree">
{{pd.PRODUCTION_DEPARTMENT_NAME?pd.PRODUCTION_DEPARTMENT_NAME:'请选择'}}</view>
</view>
<tki-tree ref="tkiTree_production" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="productiontreeConfirm" @cancel="productiontreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">所在单位负责人</view>
<picker @change="PickerProduction" :value="productionindex" :range="productionUserList" range-key="NAME" :disabled="productionUserList.length == 0" @click="isBlankList('production')">
<view class="picker">
{{pd.PRODUCTION_USER_NAME?pd.PRODUCTION_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 v-if="pd.SAFETY_DEPARTMENT_NAME" class="cleared" @click="cancelSelect('safety')">
清除
</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showSafetyTree">
{{pd.SAFETY_DEPARTMENT_NAME?pd.SAFETY_DEPARTMENT_NAME:'请选择'}}</view>
</view>
<tki-tree ref="tkiTree_safety" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="safetytreeConfirm" @cancel="safetytreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">消防、安全管理部门负责人</view>
<picker @change="PickerSafety" :value="safetyindex" :range="safetyUserList" range-key="NAME" :disabled="safetyUserList.length == 0" @click="isBlankList('safety')">
<view class="picker">
{{pd.SAFETY_USER_NAME?pd.SAFETY_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">审批部门</view>
<view v-if="pd.LEADER_DEPARTMENT_NAME" class="cleared" @click="cancelSelect('leader')">
清除
</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showLeaderTree">
{{pd.LEADER_DEPARTMENT_NAME?pd.LEADER_DEPARTMENT_NAME:'请选择'}}</view>
</view>
<tki-tree ref="tkiTree_leader" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="leadertreeConfirm" @cancel="leadertreeCancel"></tki-tree>
</view>
<view class="cu-form-group" v-if="!forbidEdit">
<view class="title">审批部门负责人</view>
<picker @change="PickerLeader" :value="leaderindex" :range="leaderUserList" range-key="NAME" :disabled="leaderUserList.length == 0" @click="isBlankList('leader')">
<view class="picker">
{{pd.LEADER_USER_NAME?pd.LEADER_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="!forbidEdit">
<view class="cu-form-group" v-if="!forbidEdit">
<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" v-if="!forbidEdit">
<view class="title">验收部门负责人</view>
<picker @change="PickerAccept" :value="acceptindex" :range="acceptUserList" range-key="NAME" :disabled="acceptUserList.length == 0" @click="isBlankList('accept')">
<view class="picker">
{{pd.ACCEPT_USER_NAME?pd.ACCEPT_USER_NAME:'请选择'}}
</view>
</picker>
</view>
</view>
<view class="wui-form-list" v-if="forbidEdit">
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">申请人</view>
{{pd.APPLY_USER_NAME}} {{pd.APPLY_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.APPLY_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.APPLY_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
<view v-if="pd.CONSTRUCTION_USER_SIGNER_PATH">
<view class="cu-form-textarea">
<view class="cu-form-title">作业负责人意见</view>
<textarea maxlength="255" disabled="disabled" v-model="pd.CONSTRUCTION_CONTENT"></textarea>
</view>
<!-- <view class="cu-form-group" style="border-bottom: 1px solid #eee;border-top: 1px dashed #eee;">-->
<!-- <view class="title">作业负责人</view>-->
<!-- {{pd.CONSTRUCTION_USER_NAME}} {{pd.CONSTRUCTION_USER_SIGNER_TIME}}-->
<!-- </view>-->
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">作业负责人</view>
{{pd.CONSTRUCTION_USER_NAME}} {{pd.CONSTRUCTION_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.CONSTRUCTION_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONSTRUCTION_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.PRODUCTION_USER_SIGNER_PATH">
<view v-show="validStr(this.pd.PRODUCTION_USER_ID)" class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">所在单位意见</view>
<textarea maxlength="255" disabled="disabled" v-model="pd.PRODUCTION_CONTENT"></textarea>
</view>
<!-- <view v-show="validStr(this.pd.PRODUCTION_USER_ID)" class="cu-form-group"-->
<!-- style="border-bottom: 1px solid #eee;border-top: 1px dashed #eee;">-->
<!-- <view class="title">所在单位负责人</view>-->
<!-- {{pd.PRODUCTION_USER_NAME}} {{pd.PRODUCTION_USER_SIGNER_TIME}}-->
<!-- </view>-->
<view v-show="validStr(this.pd.PRODUCTION_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">所在单位负责人</view>
{{pd.PRODUCTION_USER_NAME}} {{pd.PRODUCTION_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.PRODUCTION_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.PRODUCTION_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.SAFETY_USER_SIGNER_PATH">
<view v-show="validStr(this.pd.SAFETY_USER_ID)" class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">消防、安全管理部门意见</view>
<textarea maxlength="255" disabled="disabled" v-model="pd.SAFETY_CONTENT"></textarea>
</view>
<!-- <view v-show="validStr(this.pd.SAFETY_USER_ID)" class="cu-form-group"-->
<!-- style="border-bottom: 1px solid #eee;border-top: 1px dashed #eee;">-->
<!-- <view class="title">消防、安全管理部门</view>-->
<!-- {{pd.SAFETY_USER_NAME}} {{pd.SAFETY_USER_SIGNER_TIME}}-->
<!-- </view>-->
<view v-show="validStr(this.pd.SAFETY_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">消防、安全管理部门负责人</view>
{{pd.SAFETY_USER_NAME}} {{pd.SAFETY_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.SAFETY_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.SAFETY_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.LEADER_USER_SIGNER_PATH">
<view v-show="validStr(this.pd.LEADER_USER_ID)" class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">审批部门意见</view>
<textarea maxlength="255" disabled="disabled" v-model="pd.LEADER_CONTENT"></textarea>
</view>
<!-- <view v-show="validStr(this.pd.LEADER_USER_ID)" class="cu-form-group"-->
<!-- style="border-bottom: 1px solid #eee;border-top: 1px dashed #eee;">-->
<!-- <view class="title">审批部门负责人</view>-->
<!-- {{pd.LEADER_USER_NAME}} {{pd.LEADER_USER_SIGNER_TIME}}-->
<!-- </view>-->
<view v-show="validStr(this.pd.LEADER_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">审批部门负责人</view>
{{pd.LEADER_USER_NAME}} {{pd.LEADER_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.LEADER_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.LEADER_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
<view v-if="pd.ACCEPT_USER_SIGNER_PATH">
<view class="cu-form-textarea" style="border: none;">
<view class="cu-form-title">完工验收</view>
<textarea maxlength="255" disabled="disabled" v-model="pd.ACCEPT_CONTENT"></textarea>
</view>
<!-- <view class="cu-form-group" style="border-bottom: 1px solid #eee;border-top: 1px dashed #eee;">-->
<!-- <view class="title">验收部门负责人</view>-->
<!-- {{pd.ACCEPT_USER_NAME}} {{pd.ACCEPT_USER_SIGNER_TIME}}-->
<!-- </view>-->
<view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee">
<view class="cu-form-group" >
<view class="title">验收部门负责人</view>
{{pd.ACCEPT_USER_NAME}} {{pd.ACCEPT_USER_SIGNER_TIME}}
</view>
<view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" >
<image :src="baseImgPath + pd.ACCEPT_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.ACCEPT_USER_SIGNER_PATH)" style="height: 100%;"></image>
</view>
</view>
</view>
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg"
@click="$noMultipleClicks(goSubmit,'1')">提交</button>
<button v-if="!forbidEdit" class="cu-btn bg-green margin-tb-sm lg"
@click="$noMultipleClicks(goSubmit,'0')">暂存</button>
<button v-if="forbidEdit" class="cu-btn bg-green margin-tb-sm lg"
@click="$noMultipleClicks(goback)">返回</button>
</view>
<view class="padding flex flex-direction">
</view>
</scroll-view>
</view>
</template>
<script>
import {
basePath,
corpinfoId,
deptId,
loginUser,
formatDate,
loginSession,
baseImgPath
} from '@/common/tool.js';
import tkiTree from "@/components/select-tree/select-tree.vue"
import writingBoard from "@/components/writing-board/writing-board.vue"
import gcoord from '@/common/gcoord.js'
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue';
export default {
components: {
tkiTree,
ruiDatePicker,
writingBoard
},
data() {
return {
baseImgPath: baseImgPath,
isUps: false,
forbidEdit: true, // 禁止修改
msg: 'add',
noClick: true,
treeNode: [], //部门下拉数据
constructionUserList: [],
constructionindex: -1,
productionUserList: [],
productionindex: -1,
safetyUserList: [],
safetyindex: -1,
leaderUserList: [],
leaderindex: -1,
acceptUserList: [],
acceptindex: -1,
pd: {
OTHER_PROTECTIVE_MEASURES: ';_;;_;;_;;_;;_;',
HAZARD_IDENTIFICATION: ';_;;_;;_;;_;;_;',
}, // 数据
measuresList: [],
rules: [{
name: 'CHECK_NO',
message: '请输入编号'
},
{
name: 'WORK_START_DATE',
message: '请输入作业开始时间'
},
{
name: 'WORK_END_DATE',
message: '请输入作业结束时间'
},
{
name: 'OTHER_DEPT',
message: '请输入涉及相关单位(部门)'
},
{
name: 'WORK_CONTENT',
message: '请输入断路地段示意图相关说明'
},
{
name: 'SPECIAL_WORK',
message: '请输入关联的其他特殊作业及安全作业票编号'
},
{
name: 'WORK_REASON',
message: '请输入断路原因'
},
{
name: 'CONFESS_USER',
message: '请输入安全交底人'
},
{
name: 'ACCEPT_CONFESS_USER',
message: '请输入接受交底人'
},
{
name: 'HAZARD_IDENTIFICATION',
message: '请输入风险辨识结果'
},
{
name: 'GUARDIAN_USER',
message: '请输入监护人'
},
{
name: 'CONSTRUCTION_USER_ID',
message: '请选择作业负责人'
},
{
name: 'ACCEPT_USER_ID',
message: '请选择验收部门负责人'
},
],
todayDate: '',
modalName: null,
imgList: [],
img2List: [],
}
},
onLoad(event) {
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.pd.CUTROAD_ID = event.CUTROAD_ID;
if (this.pd.CUTROAD_ID) {
this.msg = "edit";
this.getData();
} else {
// 初始化作业负责人
this.getMeasures();
this.pd.APPLY_DEPARTMENT_ID = loginUser.DEPARTMENT_ID;
this.pd.APPLY_DEPARTMENT_NAME = loginUser.DEPARTMENT_NAME;
this.pd.APPLY_USER_ID = loginUser.USER_ID;
this.pd.APPLY_USER_NAME = loginUser.NAME;
this.forbidEdit = false;
this.pd.OTHER_PROTECTIVE_MEASURES = ''
this.pd.HAZARD_IDENTIFICATION = ''
this.getCode();
}
// 初始化现场作业负责人
this.getDept();
loginSession();
},
methods: {
validStr(str) {
if (str != null && str != '' && typeof(str) != "undefined" && str != 0)
return true
return false
},
getCode(){
uni.request({
url: basePath + '/app/cutroad/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;
}
})
},
getMeasures() {
var _this = this;
uni.request({
url: basePath + '/app/cutroad/goAdd',
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.measuresList = res.data.measuresList
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/cutroad/goEdit',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
CUTROAD_ID: _this.pd.CUTROAD_ID,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.pd = res.data.pd; //参数map
_this.pd = Object.assign(_this.pd,
{
"APPLY_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[0],
"CONSTRUCTION_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[1],
"PRODUCTION_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[2],
"SAFETY_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[3],
"LEADER_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[4]
})
_this.pd.OTHER_PROTECTIVE_MEASURES = ''
_this.pd = Object.assign(_this.pd,
{
"HAZARD_IDENTIFICATION": _this.pd.HAZARD_IDENTIFICATION.split(";_;")[0],
})
_this.measuresList = res.data.measuresList
if (_this.pd.APPLY_STATUS < 1) {
_this.forbidEdit = false;
}
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
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
if (STATUS == 1) {
formData.STATUS = STATUS
for (let i = 0; i < this.measuresList.length; i++) {
const measures = this.measuresList[i]
if (!measures.STATUS) {
uni.showToast({
icon: 'none',
title: '第' + (i + 1) + '项未勾选',
duration: 1500
});
return;
}
if (measures.SELECTIONA && !measures.ANSWER) {
uni.showToast({
icon: 'none',
title: '第' + (i + 1) + '项未勾选选项',
duration: 1500
});
return;
}
}
if (!_this.pd.BOARD_PATH) {
uni.showToast({
icon: 'none',
title: '请上传断路地段示意图',
duration: 1500
});
return;
}
if (!this.imgList || !this.imgList.length>0) {
uni.showToast({
icon: 'none',
title: '请申请人签字',
duration: 1500
});
return;
}
uni.uploadFile({
url: basePath+'app/cutroad/uploadImg',
filePath: _this.pd.BOARD_PATH,
name: 'FFILE',
formData: {
CORPINFO_ID: loginUser.CORPINFO_ID,
USER_ID: loginUser.USER_ID
},
success: (res1) => {
formData.measuresList = JSON.stringify(this.measuresList)
uni.uploadFile({
url: basePath + "app/cutroad/" + _this.msg,
filePath: _this.imgList[0].filePath,
name: 'FFILE',
formData: {
...formData,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
CONTENT_IMG_PATH:JSON.parse(res1.data).path
},
success: (res) => {
uni.hideLoading();
uni.showToast({
icon: 'none',
title: '保存成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
}
})
} else {
formData.STATUS = STATUS
uni.request({
url: basePath + "app/cutroad/" + _this.msg,
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
...formData,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
uni.hideLoading();
uni.showToast({
icon: 'none',
title: '保存成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
}
},
previewImage(url){
uni.previewImage({
urls: [url],
});
},
ChooseImage() {
var _this = this;
const formData={}
formData.CORPINFO_ID = loginUser.CORPINFO_ID
formData.USER_ID = loginUser.USER_ID
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera', 'album'], //从相册选择
success: (res) => {
_this.$set(_this.pd,'BOARD_PATH',res.tempFilePaths[0])
}
});
},
DelImg(){
uni.showModal({
title: '',
content: '确定要删除这张图片吗?',
cancelColor: "#000000",
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
this.pd.BOARD_PATH = ''
}
}
})
},
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
});
}
}
})
},
changeRadio(i, value) {
if (!(typeof(this.measuresList[i].SELECTIONA) != 'undefined' && typeof(this.measuresList[i].ANSWER) ==
'undefined')) {
this.measuresList[i].STATUS = value
}
},
changeAnswer(i, value) {
this.measuresList[i].ANSWER = value
// this.measuresList[i] = Object.assign(this.measuresList[i],{"ANSWER":value})
this.measuresList.splice(1, 0)
},
isBlankList(userType) {
switch(userType) {
case 'construction':
if(this.constructionUserList.length == 0) {
uni.showToast({
icon: 'none',
title: '请先选择作业单位',
duration: 1500
})
}
break
case 'production':
if(this.productionUserList.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 '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
}
},
/*
*施工单位
*/
// 确定回调事件
constructiontreeConfirm(e) {
this.isUps = false;
this.pd.CONSTRUCTION_DEPARTMENT_ID = e[0].id;
this.pd.CONSTRUCTION_DEPARTMENT_NAME = e[0].name;
this.$forceUpdate(); //强制刷新
this.getUserList(e[0].id, 'constructionUserList');
},
// 取消回调事件
constructiontreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showConstructionTree() {
this.isUps = true
this.$refs.tkiTree_construction._show();
},
PickerConstruction(e) {
this.constructionindex = e.detail.value;
this.pd.CONSTRUCTION_USER_ID = this.constructionUserList[this.constructionindex].USER_ID;
this.pd.CONSTRUCTION_USER_NAME = this.constructionUserList[this.constructionindex].NAME;
this.$forceUpdate(); //强制刷新
},
//清除所选部门及部门人员
cancelSelect(dept) {
if (dept == 'production') {
this.pd.PRODUCTION_DEPARTMENT_ID = ''
this.pd.PRODUCTION_DEPARTMENT_NAME = ''
this.pd.PRODUCTION_USER_ID = ''
this.pd.PRODUCTION_USER_NAME = ''
this.productionUserList = []
this.productionindex = -1
this.$refs.tkiTree_production._reTreeList()
this.$refs.tkiTree_production._initTree(this.treeNode)
} else if (dept == 'safety') {
this.pd.SAFETY_DEPARTMENT_ID = ''
this.pd.SAFETY_DEPARTMENT_NAME = ''
this.pd.SAFETY_USER_ID = ''
this.pd.SAFETY_USER_NAME = ''
this.safetyUserList = []
this.safetyindex = -1
this.$refs.tkiTree_safety._reTreeList()
this.$refs.tkiTree_safety._initTree(this.treeNode)
} else if (dept == 'leader') {
this.pd.LEADER_DEPARTMENT_ID = ''
this.pd.LEADER_DEPARTMENT_NAME = ''
this.pd.LEADER_USER_ID = ''
this.pd.LEADER_USER_NAME = ''
this.leaderUserList = []
this.leaderindex = -1
this.$refs.tkiTree_leader._reTreeList()
this.$refs.tkiTree_leader._initTree(this.treeNode)
}
this.$forceUpdate(); //强制刷新
},
/*
*生产部门
*/
// 确定回调事件
productiontreeConfirm(e) {
// this.isUps=false;
this.pd.PRODUCTION_DEPARTMENT_ID = e[0].id;
this.pd.PRODUCTION_DEPARTMENT_NAME = e[0].name;
this.$forceUpdate(); //强制刷新
this.getUserList(e[0].id, 'productionUserList');
},
// 取消回调事件
productiontreeCancel(e) {
// this.isUps=false;
},
// 显示树形选择器
showProductionTree() {
// this.isUps=true
this.$refs.tkiTree_production._show();
},
PickerProduction(e) {
this.productionindex = e.detail.value;
this.pd.PRODUCTION_USER_ID = this.productionUserList[this.productionindex].USER_ID;
this.pd.PRODUCTION_USER_NAME = this.productionUserList[this.productionindex].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.$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(); //强制刷新
},
/*
*单位领导
*/
// 确定回调事件
leadertreeConfirm(e) {
this.isUps = false;
this.pd.LEADER_DEPARTMENT_ID = e[0].id;
this.pd.LEADER_DEPARTMENT_NAME = e[0].name;
this.$forceUpdate(); //强制刷新
this.getUserList(e[0].id, 'leaderUserList');
},
// 取消回调事件
leadertreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showLeaderTree() {
this.isUps = true
this.$refs.tkiTree_leader._show();
},
PickerLeader(e) {
this.leaderindex = e.detail.value;
this.pd.LEADER_USER_ID = this.leaderUserList[this.leaderindex].USER_ID;
this.pd.LEADER_USER_NAME = this.leaderUserList[this.leaderindex].NAME;
this.$forceUpdate(); //强制刷新
},
/*
*验收部门
*/
// 确定回调事件
accepttreeConfirm(e) {
this.isUps = false;
this.pd.ACCEPT_DEPARTMENT_ID = e[0].id;
this.pd.ACCEPT_DEPARTMENT_NAME = e[0].name;
this.$forceUpdate(); //强制刷新
this.getUserList(e[0].id, 'acceptUserList');
},
// 取消回调事件
accepttreeCancel(e) {
this.isUps = false;
},
// 显示树形选择器
showAcceptTree() {
this.isUps = true
this.$refs.tkiTree_accept._show();
},
PickerAccept(e) {
this.acceptindex = e.detail.value;
this.pd.ACCEPT_USER_ID = this.acceptUserList[this.acceptindex].USER_ID;
this.pd.ACCEPT_USER_NAME = this.acceptUserList[this.acceptindex].NAME;
this.$forceUpdate(); //强制刷新
},
changeStartDate(e) {
this.pd.WORK_START_DATE = e
this.$forceUpdate(); //强制刷新
},
changeEndDate(e) {
this.pd.WORK_END_DATE = e
this.$forceUpdate(); //强制刷新
},
goback() {
var pages = getCurrentPages(); // 获取当前页面栈
var prePage = pages[pages.length - 2]; // 上二级页面
prePage.$vm.initflag = true; // A 页面 init方法 为true
uni.navigateBack({
delta: 1
});
uni.hideLoading();
},
radioType(e) {
this.HASINSTRUCTOR = e.detail.value
},
goToEdit() {
this.forbidEdit = false;
},
/*
*手写板
*/
showModal(e) {
this.modalName = e.currentTarget.dataset.target
},
hideModal(e) {
this.modalName = null
},
//完成
subCanvas(e) {
this.imgList.splice(0,this.imgList.length);
this.imgList.push(e);
this.pd.SIGNER_TIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.hideModal()
},
ViewImage(e) {
let files =[];
files.push(e.currentTarget.dataset.url)
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.url
});
},
}
}
</script>
<style>
</style>