1758 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			1758 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Vue
		
	
	
| <template>
 | |
|   <view :class="isUps == true ? 'prevent' : ''">
 | |
|     <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="cu-form-textarea">
 | |
|           <view class="cu-form-title">检查内容</view>
 | |
|           <view class="cu-form-p" style="padding: 0;">
 | |
|             {{ pd.CHECK_CONTENT }}
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-bar bg-white margin-top">
 | |
|           <view class="action" style="font-size: 28upx; font-weight: bold; color: #000;">
 | |
|             隐患照片
 | |
|           </view>
 | |
|           <view class="action">
 | |
|             {{ imgList.length }}/4
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-form-group">
 | |
|           <view class="grid col-4 grid-square flex-sub">
 | |
|             <view class="bg-img" v-for="(item,index) in imgList" :key="index" @tap="ViewImage" data-type="0"
 | |
|                   :data-url="imgList[index].filePath">
 | |
|               <image :src="imgList[index].filePath" mode="aspectFill"></image>
 | |
|               <view class="cu-tag bg-red" @tap.stop="DelImg" data-type="0" :data-index="index">
 | |
|                 <text class='cuIcon-close'></text>
 | |
|               </view>
 | |
|             </view>
 | |
|             <view class="solids" @tap.stop="openAuth('CAMERA')" v-if="imgList.length<4">
 | |
|               <text class='cuIcon-cameraadd'></text>
 | |
|             </view>
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="ai_btn ">
 | |
|           <view class="ai_btn_con" @click="$noMultipleClicks(goIdentifyImg)">
 | |
|             <image src="../../../../static/ai_img.png" style="width: 16px;height: 16px"/>
 | |
|             <view class="text" style="margin-left: 5px;"> AI隐患识别与处置</view>
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-bar bg-white">
 | |
|           <view class="action">
 | |
|             隐患视频
 | |
|           </view>
 | |
|           <view class="action">
 | |
|             {{ videoList.length }}/1
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-form-group">
 | |
|           <view class="grid col-4 grid-square flex-sub">
 | |
|             <view class="bg-img" v-for="(item,vindex) in videoList" :key="vindex" style="background-color: #000">
 | |
|               <image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
 | |
|                      :data-src="videoList[vindex].filePath"></image>
 | |
|               <view class="cu-tag bg-red" @tap.stop="DelVideo" data-type="0" :data-index="vindex">
 | |
|                 <text class='cuIcon-close'></text>
 | |
|               </view>
 | |
|             </view>
 | |
|             <view class="solids" @tap.stop="openAuthVideo('CAMERA')" v-if="videoList.length == 0">
 | |
|               <text class='cuIcon-cameraadd'></text>
 | |
|             </view>
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-form-textarea margin-top">
 | |
|           <view class="cu-form-title">隐患描述</view>
 | |
|           <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENDESCR"
 | |
|                     placeholder="请对隐患进行详细描述(必填项)"></textarea>
 | |
|         </view>
 | |
| <!--        <view class="cu-form-textarea margin-top">-->
 | |
| <!--          <view class="cu-form-title">-->
 | |
| <!--            隐患部位-->
 | |
| <!--            <!–          <button class="cu-btn bg-green sm reg-btn" @click="openHidden" >隐患字典</button>–>-->
 | |
| <!--          </view>-->
 | |
| <!--          <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENPART"-->
 | |
| <!--                    placeholder="请对隐患部位进行详细描述(必填项)"></textarea>-->
 | |
| <!--        </view>-->
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">隐患区域</view>
 | |
|           <view class="picker-tree-box">
 | |
|             <view class="picker-tree" @tap="showHiddenQyZgTree">
 | |
|               {{ pd.HIDDEN_DANGER_AREA_NAME ? pd.HIDDEN_DANGER_AREA_NAME : '请选择' }}
 | |
|             </view>
 | |
|           </view>
 | |
|           <tki-tree ref="tkiTreedd"
 | |
|                     :selectParent=true
 | |
|                     :range="treeNode"
 | |
|                     rangeKey="name"
 | |
|                     @confirm="zgtreeHiddenQy"
 | |
|                     @cancel="zgtreeCancel"></tki-tree>
 | |
|         </view>
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">隐患标签</view>
 | |
|           <picker @change="hiddenDangerLabelPickerChange" :value="dangerLabellindex" :range="hiddenDangerLabelList"
 | |
|                   range-key="NAME">
 | |
|             <view class="picker">
 | |
|               {{ pd.HIDDEN_DANGER_LABEL_NAME ? pd.HIDDEN_DANGER_LABEL_NAME : '请选择' }}
 | |
|             </view>
 | |
|           </picker>
 | |
|         </view>
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">隐患分级</view>
 | |
|           <picker @change="hiddenDangerClassificationPickerChange" :value="hiddenClassificationlindex"
 | |
|                   :range="hiddenClassificationList" range-key="NAME">
 | |
|             <view class="picker">
 | |
|               {{ pd.HIDDEN_CLASSIFICATION_NAME ? pd.HIDDEN_CLASSIFICATION_NAME : '请选择' }}
 | |
|             </view>
 | |
|           </picker>
 | |
|         </view>
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">隐患级别</view>
 | |
|           <picker @change="levelPickerChange" :value="lindex" :range="levelList" range-key="NAME">
 | |
|             <view class="picker">
 | |
|               {{ pd.HIDDENLEVELNAME ? pd.HIDDENLEVELNAME : '请选择' }}
 | |
|             </view>
 | |
|           </picker>
 | |
|         </view>
 | |
|         <view v-if="baoBaoType === '1'" class="cu-form-group margin-top">
 | |
|           <view class="title">隐患类别</view>
 | |
|           <picker @change="categoryPickerChange" :value="cindex" :range="categoryList" range-key="NAME">
 | |
|             <view class="picker">
 | |
|               {{ pd.HIDDEN_CATEGORY_NAME ? pd.HIDDEN_CATEGORY_NAME : '请选择' }}
 | |
|             </view>
 | |
|           </picker>
 | |
|         </view>
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">隐患类型</view>
 | |
|           <view class="picker-tree-box">
 | |
|             <view class="picker-tree" @tap="showZgTree1">{{ pd.HIDDENTYPENAME ? pd.HIDDENTYPENAME : '请选择' }}</view>
 | |
|           </view>
 | |
|           <tki-tree ref="tkiTree1"
 | |
|                     :selectParent="true"
 | |
|                     :range="hiddenTypeList"
 | |
|                     rangeKey="name"
 | |
|                     @confirm="zgtreeConfirm1"
 | |
|                     @cancel="zgtreeCancel1"></tki-tree>
 | |
|         </view>
 | |
| 
 | |
|         <view class="cu-form-group margin-top">
 | |
|           <view class="title">是否立即整改</view>
 | |
|           <radio-group class="selected">
 | |
|             <view class="group mr20" v-if="disabledvalue==false">
 | |
|               <radio class='radio' value="1" :checked="RECTIFICATIONTYPE==1" @click="radioType(1)"></radio>
 | |
|               <text>是</text>
 | |
|             </view>
 | |
|             <view class="group mr20" v-if="disabledvalue==true">
 | |
|               <radio class='radio' disabled="true" value="1" :checked="RECTIFICATIONTYPE==1"></radio>
 | |
|               <text>是</text>
 | |
|             </view>
 | |
|             <view class="group">
 | |
|               <radio class='radio' value="2" :checked="RECTIFICATIONTYPE==2" @click="radioType(2)"></radio>
 | |
|               <text>否</text>
 | |
|             </view>
 | |
|           </radio-group>
 | |
|         </view>
 | |
| 
 | |
| <!--        <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
 | |
| <!--          <view class="title">整改责任部门</view>-->
 | |
| <!--          <view class="picker-tree-box">-->
 | |
| <!--            <view class="picker-tree" @tap="showZgTree">-->
 | |
| <!--              {{ pd.RECTIFICATIONDEPTNAME ? pd.RECTIFICATIONDEPTNAME : '请选择' }}-->
 | |
| <!--            </view>-->
 | |
| <!--          </view>-->
 | |
| <!--          <tki-tree ref="tkiTree"-->
 | |
| <!--                    :selectParent=true-->
 | |
| <!--                    :range="treeNode"-->
 | |
| <!--                    rangeKey="name"-->
 | |
| <!--                    @confirm="zgtreeConfirm"-->
 | |
| <!--                    @cancel="zgtreeCancel"></tki-tree>-->
 | |
| <!--        </view>-->
 | |
| <!--        <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
 | |
| <!--          <view class="title">整改责任人</view>-->
 | |
| <!--          <view style="position: relative">-->
 | |
| <!--            <view class="search-input">-->
 | |
| <!--              <input-->
 | |
| <!--                  type="text"-->
 | |
| <!--                  style="text-align: right"-->
 | |
| <!--                  v-model="searchRectificationUser"-->
 | |
| <!--                  placeholder="请输入整改责任人"-->
 | |
| <!--                  @input="filterRectificationUser"-->
 | |
| <!--                  @click="toggleRectifyDropdown"-->
 | |
| <!--              >-->
 | |
| <!--              <view class="search-icon" @click="toggleRectifyDropdown">-->
 | |
| <!--                <text class="cuIcon-right"></text>-->
 | |
| <!--              </view>-->
 | |
| <!--            </view>-->
 | |
| <!--            <view v-show="showRectifyDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">-->
 | |
| <!--              <view-->
 | |
| <!--                  v-for="(user, index) in filteredRectificationUsers"-->
 | |
| <!--                  :key="index"-->
 | |
| <!--                  @click="selectRectificationUser(user)"-->
 | |
| <!--              >-->
 | |
| <!--                {{ user.NAME }}-->
 | |
| <!--              </view>-->
 | |
| <!--            </view>-->
 | |
| <!--          </view>-->
 | |
| <!--        </view>-->
 | |
|         <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
 | |
|           <view class="title">整改期限</view>
 | |
|           <picker mode="date" :value="pd.RECTIFICATIONDEADLINE" :start="rectifyPlanCompletionStartTime"
 | |
|                   @change="changeDate">
 | |
|             <view class="picker">
 | |
|               {{ pd.RECTIFICATIONDEADLINE ? pd.RECTIFICATIONDEADLINE : '请选择' }}
 | |
|             </view>
 | |
|           </picker>
 | |
|         </view>
 | |
| 
 | |
|         <view class="cu-form-textarea margin-top" v-if="RECTIFICATIONTYPE==1">
 | |
|           <view class="cu-form-title">整改描述</view>
 | |
|           <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.RECTIFYDESCR"
 | |
|                     placeholder="请对隐患进行整改描述(必填项)"></textarea>
 | |
|         </view>
 | |
|         <view class="cu-bar bg-white margin-top" v-if="RECTIFICATIONTYPE==1">
 | |
|           <view class="action">
 | |
|             整改后图片
 | |
|           </view>
 | |
|           <view class="action">
 | |
|             {{ imgList1.length }}/4
 | |
|           </view>
 | |
|         </view>
 | |
|         <view class="cu-form-group" v-if="RECTIFICATIONTYPE==1">
 | |
|           <view class="grid col-4 grid-square flex-sub">
 | |
|             <view class="bg-img" v-for="(item,index) in imgList1" :key="index" @tap="ViewImage" data-type="1"
 | |
|                   :data-url="imgList1[index].filePath">
 | |
|               <image :src="imgList1[index].filePath" mode="aspectFill"></image>
 | |
|               <view class="cu-tag bg-red" @tap.stop="DelImg" data-type="1" :data-index="index">
 | |
|                 <text class='cuIcon-close'></text>
 | |
|               </view>
 | |
|             </view>
 | |
|             <view class="solids" @tap.stop="openAuthZg('CAMERA')" v-if="imgList1.length<4">
 | |
|               <text class='cuIcon-cameraadd'></text>
 | |
|             </view>
 | |
|           </view>
 | |
|         </view>
 | |
| 
 | |
| <!--        <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
 | |
| <!--          <view class="title">隐患确认人部门</view>-->
 | |
| <!--          <view class="picker-tree-box">-->
 | |
| <!--            <view class="picker-tree" @tap="showQrTree">-->
 | |
| <!--              {{ pd.CONFIRM_DEPT_NAME ? pd.CONFIRM_DEPT_NAME : '请选择' }}-->
 | |
| <!--            </view>-->
 | |
| <!--          </view>-->
 | |
| <!--          <tki-tree ref="tkiTreeQr"-->
 | |
| <!--                    :selectParent=true-->
 | |
| <!--                    :range="treeNode"-->
 | |
| <!--                    rangeKey="name"-->
 | |
| <!--                    @confirm="fnHiddenConfirmDept"-->
 | |
| <!--                    @cancel="zgtreeCancel"></tki-tree>-->
 | |
| <!--        </view>-->
 | |
| <!--        <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">-->
 | |
| <!--          <view class="title">隐患确认人</view>-->
 | |
| <!--          <view style="position: relative">-->
 | |
| <!--            <view class="search-input">-->
 | |
| <!--              <input-->
 | |
| <!--                  type="text"-->
 | |
| <!--                  style="text-align: right"-->
 | |
| <!--                  v-model="searchConfirmUser"-->
 | |
| <!--                  placeholder="请输入确认人"-->
 | |
| <!--                  @input="filterConfirmUser"-->
 | |
| <!--                  @click="toggleConfirmDropdown"-->
 | |
| <!--              >-->
 | |
| <!--              <view class="search-icon" @click="toggleConfirmDropdown">-->
 | |
| <!--                <text class="cuIcon-right"></text>-->
 | |
| <!--              </view>-->
 | |
| <!--            </view>-->
 | |
| <!--            <view v-show="showAnalyzeDropdown" class="showbg" style="position: absolute; left: 0; top: 36px;">-->
 | |
| <!--              <view-->
 | |
| <!--                  v-for="(user, index) in filteredConfirmUsers"-->
 | |
| <!--                  :key="index"-->
 | |
| <!--                  @click="selectConfirmUser(user)"-->
 | |
| <!--              >-->
 | |
| <!--                {{ user.NAME }}-->
 | |
| <!--              </view>-->
 | |
| <!--            </view>-->
 | |
| <!--          </view>-->
 | |
| <!--        </view>-->
 | |
| 
 | |
|         <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2">
 | |
|           <view class="title">选择隐患确认人</view>
 | |
|           <view class="picker" @click="openPersonPopup" style="font-size: 28upx; flex: 1; display: flex; align-items: center; justify-content: flex-end; padding-right: 20upx;">
 | |
|             {{ searchPerson || '请选择确认人' }}
 | |
|             <text class="cuIcon-right" style="margin-left: 10upx;"></text>
 | |
|           </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">请选择确认人</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="padding flex flex-direction">
 | |
|         <button :loading="buttonloading" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">
 | |
|           提交
 | |
|         </button>
 | |
|       </view>
 | |
|     </scroll-view>
 | |
|     <view :class="['cu-modal',{'show':modalShow}]" v-if="modalShow">
 | |
|       <view class="cu-dialog">
 | |
|         <view class="cu-bar bg-white justify-end">
 | |
|           <view class="content">播放视频</view>
 | |
|           <view class="action" @tap="modalShow = false">
 | |
|             <text class="cuIcon-close text-red"></text>
 | |
|           </view>
 | |
|         </view>
 | |
|         <video :src="videoSrc" :show-fullscreen-btn="false" :autoplay="true"
 | |
|                @fullscreenchange="fullScreenHandler"></video>
 | |
|         <view class="cu-bar bg-white justify-end">
 | |
|           <view class="action">
 | |
|             <button class="cu-btn line-green text-green" @click="modalShow = false">关闭</button>
 | |
|           </view>
 | |
|         </view>
 | |
|       </view>
 | |
|     </view>
 | |
|     <library-select :visible.sync="library" :value="pd.HIDDENPART" :name="RISK_UNIT_NAME" @confirm="confirm"/>
 | |
| 
 | |
|     <yk-authpup ref="authpup" type="top" @changeAuth="ChooseImage(0)" :permissionID="permissionID"></yk-authpup>
 | |
|     <yk-authpup ref="authpup_video" type="top" @changeAuth="chooseVideo(0)" :permissionID="permissionID"></yk-authpup>
 | |
|     <yk-authpup ref="authpup_zg" type="top" @changeAuth="ChooseImage(1)" :permissionID="permissionID"></yk-authpup>
 | |
|   </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 gcoord from '@/common/gcoord.js'
 | |
| import LibrarySelect from '@/components/library-select/index.vue';
 | |
| import ykAuthpup from "@/components/yk-authpup/yk-authpup"
 | |
| 
 | |
| export default {
 | |
|   components: {
 | |
|     tkiTree, LibrarySelect, ykAuthpup
 | |
|   },
 | |
|   data() {
 | |
|     return {
 | |
|       permissionID: '',
 | |
|       isUps: false,
 | |
|       showRectifyDropdown: false,
 | |
|       filteredRectificationUsers: [],
 | |
|       searchRectificationUser: '',
 | |
|       showAnalyzeDropdown: false,
 | |
|       filteredConfirmUsers: [],
 | |
|       searchConfirmUser: '',
 | |
|       buttonloading: false,
 | |
|       msg: 'riskListCheckAdd',
 | |
|       riskId: '',
 | |
|       itemId: '',
 | |
|       LISTMANAGER_ID: '',
 | |
|       RISK_UNIT_ID: '',
 | |
|       RISK_UNIT_NAME: '',
 | |
|       index: '',
 | |
|       noClick: true,
 | |
|       pd: [{"RECTIFICATIONTYPE": 2}],
 | |
|       imgList: [],
 | |
|       imgList1: [],
 | |
|       HIDDENDESCR: '',//隐患描述
 | |
|       HIDDENPART: '',//隐患部位
 | |
|       modalName: null,
 | |
|       id: '',
 | |
|       CHECK_CONTENT: '',
 | |
|       checkId: '',
 | |
|       RECTIFYDESCR: '',//整改描述
 | |
|       RECTIFICATIONTYPE: 2,//是否立即
 | |
|       treeNode: [],//部门下拉数据
 | |
|       RECTIFICATIONDEPT: '',//整改部门
 | |
|       RECTIFICATIONDEPTNAME: '请选择',//整改部门
 | |
|       CHECKDEPT: '',//验收部门
 | |
|       CHECKDEPTNAME: '请选择',//验收部门
 | |
|       rectificationUserList: [],
 | |
|       RECTIFICATIONOR: '',//整改人
 | |
|       uindex: -1,
 | |
|       lindex: -1,
 | |
|       cindex: -1,
 | |
|       dangerLabellindex: -1,
 | |
|       hiddenClassificationlindex: -1,
 | |
|       hiddenClassificationList: [
 | |
|         {NAME: "公司级", BIANMA: "0"},
 | |
|         {NAME: "厂部级", BIANMA: "1"},
 | |
|         {NAME: "车间级", BIANMA: "2"},
 | |
|         {NAME: "班组级", BIANMA: "3"},
 | |
|       ],
 | |
|       hiddenDangerLabelList: [
 | |
|         {NAME: "外施工", BIANMA: "1"},
 | |
|         {NAME: "厂内", BIANMA: "2"},
 | |
|         {NAME: "BOO、BOT项目", BIANMA: "3"},
 | |
|       ],
 | |
|       levelList: [],
 | |
|       categoryList: [],
 | |
|       tindex: -1,
 | |
|       hiddenTypeList: [],
 | |
|       HIDDENLEVEL: '',//隐患级别
 | |
|       RECTIFICATIONDEADLINE: '',//整改期限
 | |
|       rectifyPlanCompletionStartTime: '',
 | |
|       disabledvalue: false,
 | |
|       videoSrc: '',
 | |
|       modalShow: false,
 | |
|       videoList: [],
 | |
|       confirmUserList: [],
 | |
|       baoBaoType: '',
 | |
|       library: false,
 | |
|       // ... 其他数据
 | |
|       searchPerson: '',           // 显示在表单中的值
 | |
|       personPopupShow: false,     // 控制弹窗显示
 | |
|       popupSearch: '',            // 弹窗内的搜索关键词
 | |
|       filteredPopupList: [],      // 弹窗内过滤后的人员列表
 | |
|       personList: []
 | |
|     }
 | |
|   },
 | |
|   onLoad(event) {
 | |
|     let now = new Date();
 | |
|     var tomorrow = now.setDate(now.getDate() + 1);
 | |
|     tomorrow = new Date(tomorrow);
 | |
|     this.rectifyPlanCompletionStartTime = formatDate(tomorrow, 'yyyy-MM-dd');
 | |
|     this.pd.HIDDEN_ID = event.HIDDEN_ID;
 | |
|     if (this.pd.HIDDEN_ID) {
 | |
|       this.msg = "riskListCheckEdit";
 | |
|       this.getPersonList();
 | |
|       this.getData();
 | |
|     } else {
 | |
|       this.pd.CHECK_CONTENT = JSON.parse(decodeURIComponent(event.checkContent));
 | |
|       this.riskId = JSON.parse(decodeURIComponent(event.riskId));
 | |
|       this.itemId = JSON.parse(decodeURIComponent(event.itemId));
 | |
|       this.LISTMANAGER_ID = JSON.parse(decodeURIComponent(event.LISTMANAGER_ID));
 | |
|       this.RISK_UNIT_ID = JSON.parse(decodeURIComponent(event.RISK_UNIT_ID));
 | |
|       this.RISK_UNIT_NAME = JSON.parse(decodeURIComponent(event.RISK_UNIT_NAME));
 | |
|       this.baoBaoType = JSON.parse(decodeURIComponent(event.baoBaoType)) + '';
 | |
|       console.log(this.baoBaoType)
 | |
|       this.index = event.index;
 | |
|     }
 | |
|     this.getDept();
 | |
|     this.getLevel();
 | |
|     this.getHiddenType();
 | |
|     loginSession();
 | |
|   },
 | |
|   methods: {
 | |
|     openPersonPopup() {
 | |
|       // 提取括号前的名字
 | |
|       this.popupSearch = this.searchPerson.split('(')[0] || ''; // 关键:继承已选姓名
 | |
|       if (this.popupSearch.trim()) {
 | |
|         this.filterPopupList();
 | |
|       } else {
 | |
|         this.getPersonList();
 | |
|         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 => {
 | |
|           // 安全处理:将 undefined 转换为空字符串
 | |
|           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);
 | |
|         });
 | |
|       }
 | |
|     },
 | |
|     // 获取所有人员(接口)
 | |
|     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'
 | |
|           });
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     // 搜索过滤(弹窗内)
 | |
|     filterPopupList() {
 | |
|       const query = this.popupSearch.trim().toLowerCase();
 | |
|       if (!query) {
 | |
|         this.filteredPopupList = [...this.personList];
 | |
|       } else {
 | |
|         this.filteredPopupList = this.personList.filter(user => {
 | |
|           // 安全处理:将 undefined 转换为空字符串
 | |
|           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) {
 | |
|       this.searchPerson = user.DEPT_POST_NAME;
 | |
|       this.pd.CONFIRM_USER = user.USER_ID || '';
 | |
|       this.pd.CONFIRM_DEPT = user.DEPARTMENT_ID || '';
 | |
|       this.pd.CONFIRM_USER_NAME = user.DEPT_POST_NAME; // 保留完整信息用于提交
 | |
|       this.closePersonPopup();
 | |
|     },
 | |
|     filterRectificationUser() {
 | |
|       const query = this.searchRectificationUser.trim().toLowerCase();
 | |
|       if (!query) {
 | |
|         this.filteredRectificationUsers = this.rectificationUserList;
 | |
|         this.pd.RECTIFICATIONOR = '';
 | |
|         this.pd.RECTIFICATIONORNAME = '';
 | |
|       } else {
 | |
|         this.filteredRectificationUsers = this.rectificationUserList.filter(user =>
 | |
|             user.NAME.toLowerCase().includes(query)
 | |
|         );
 | |
|       }
 | |
|     },
 | |
|     toggleRectifyDropdown() {
 | |
|       if (!this.pd.RECTIFICATIONDEPT) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择整改部门',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!this.rectificationUserList.length) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '部门下无整改责任人',
 | |
|           duration: 1500
 | |
|         });
 | |
|         this.searchRectificationUser = ""
 | |
|         return;
 | |
|       }
 | |
|       this.showRectifyDropdown = !this.showRectifyDropdown;
 | |
|       if (this.showRectifyDropdown) this.filterRectificationUser();
 | |
|     },
 | |
|     selectRectificationUser(user) {
 | |
|       this.searchRectificationUser = user.NAME;
 | |
|       this.pd.RECTIFICATIONOR = user.USER_ID;
 | |
|       this.pd.RECTIFICATIONORNAME = user.NAME;
 | |
|       this.showRectifyDropdown = false;
 | |
|     },
 | |
|     filterConfirmUser() {
 | |
|       console.log('filterConfirmUser')
 | |
|       const query = this.searchConfirmUser.trim().toLowerCase();
 | |
|       if (!query) {
 | |
|         this.filteredConfirmUsers = this.confirmUserList;
 | |
|         this.pd.CONFIRM_USER = '';
 | |
|         this.pd.CONFIRM_USER_NAME = '';
 | |
|       } else {
 | |
|         this.filteredConfirmUsers = this.confirmUserList.filter(user =>
 | |
|             user.NAME.toLowerCase().includes(query)
 | |
|         );
 | |
|       }
 | |
|     },
 | |
|     toggleConfirmDropdown() {
 | |
|       if (!this.pd.CONFIRM_DEPT) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择确认人部门',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!this.confirmUserList.length) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '部门下无确认人',
 | |
|           duration: 1500
 | |
|         });
 | |
|         this.searchConfirmUser = ""
 | |
|         return;
 | |
|       }
 | |
|       this.showAnalyzeDropdown = !this.showAnalyzeDropdown;
 | |
|       if (this.showAnalyzeDropdown) this.filterConfirmUser();
 | |
|     },
 | |
|     selectConfirmUser(user) {
 | |
|       this.searchConfirmUser = user.NAME;
 | |
|       this.pd.CONFIRM_USER = user.USER_ID;
 | |
|       this.pd.CONFIRM_USER_NAME = user.NAME;
 | |
|       this.showAnalyzeDropdown = false;
 | |
|     },
 | |
|     hiddenDangerClassificationPickerChange(e) {
 | |
|       this.hiddenClassificationlindex = e.detail.value;
 | |
|       this.pd.HIDDEN_CLASSIFICATION = this.hiddenClassificationList[this.hiddenClassificationlindex].BIANMA;
 | |
|       this.pd.HIDDEN_CLASSIFICATION_NAME = this.hiddenClassificationList[this.hiddenClassificationlindex].NAME;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     fullScreenHandler(e) {
 | |
|       if (uni.getSystemInfoSync().platform == "ios") {
 | |
|         return
 | |
|       }
 | |
|     },
 | |
|     getData() {
 | |
|       var _this = this;
 | |
|       uni.showLoading({
 | |
|         title: '请稍候'
 | |
|       })
 | |
|       uni.request({
 | |
|         url: basePath + '/app/hidden/goEdit',
 | |
|         method: 'POST',
 | |
|         dataType: 'json',
 | |
|         header: {
 | |
|           'Content-type': 'application/x-www-form-urlencoded'
 | |
|         },
 | |
|         data: {
 | |
|           HIDDEN_ID: _this.pd.HIDDEN_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.RISK_UNIT_ID = res.data.pd.RISK_UNIT_ID;
 | |
|             _this.RECTIFICATIONTYPE = _this.pd.RECTIFICATIONTYPE;
 | |
|             _this.pd.HIDDENTYPENAME = _this.pd.HIDDENTYPE_NAME;
 | |
|             _this.searchPerson = _this.pd.CONFIRM_DEPT_POST_NAME;
 | |
|             _this.searchRectificationUser = _this.pd.RECTIFICATIONORNAME;
 | |
|             if (_this.pd.HIDDEN_CLASSIFICATION == '0'){
 | |
|               _this.pd.HIDDEN_CLASSIFICATION_NAME = "公司级"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_CLASSIFICATION == '1'){
 | |
|               _this.pd.HIDDEN_CLASSIFICATION_NAME = "厂部级"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_CLASSIFICATION == '2'){
 | |
|               _this.pd.HIDDEN_CLASSIFICATION_NAME = "车间级"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_CLASSIFICATION == '3'){
 | |
|               _this.pd.HIDDEN_CLASSIFICATION_NAME = "班组级"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_DANGER_LABEL == '1'){
 | |
|               _this.pd.HIDDEN_DANGER_LABEL_NAME = "外施工"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_DANGER_LABEL == '2'){
 | |
|               _this.pd.HIDDEN_DANGER_LABEL_NAME = "厂内"
 | |
|             }
 | |
|             if (_this.pd.HIDDEN_DANGER_LABEL == '3'){
 | |
|               _this.pd.HIDDEN_DANGER_LABEL_NAME = "BOO、BOT项目"
 | |
|             }
 | |
|             let files = res.data.hImgs;
 | |
|             for (var i = 0; i < files.length; i++) {
 | |
|               let img = {};
 | |
|               img.filePath = baseImgPath + files[i].FILEPATH;
 | |
|               if (files[i].FILEPATH.substring(files[i].FILEPATH.lastIndexOf("."), files[i].FILEPATH.length) != '.mp4') {
 | |
|                 img.id = files[i].IMGFILES_ID;
 | |
|                 _this.imgList.push(img);
 | |
|               } else {
 | |
|                 img.id = files[i].IMGFILES_ID;
 | |
|                 _this.videoList.push(img);
 | |
|               }
 | |
|             }
 | |
|             let files1 = res.data.rImgs;
 | |
|             for (var i = 0; i < files1.length; i++) {
 | |
|               let img = {};
 | |
|               img.filePath = baseImgPath + files1[i].FILEPATH;
 | |
|               img.id = files1[i].IMGFILES_ID;
 | |
|               _this.imgList1.push(img);
 | |
|             }
 | |
|             _this.getUserList();
 | |
|           } else if ("exception" == data.result) {
 | |
|             uni.showToast({
 | |
|               title: '错误',
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     openHidden() {
 | |
|       if (!this.pd.HIDDENPART) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请先输入隐患部位信息,在进行隐患字典查询',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       } else {
 | |
|         this.library = true
 | |
|       }
 | |
|     },
 | |
|     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
 | |
|             });
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     // 确定回调事件
 | |
|     zgtreeConfirm(e) {
 | |
|       this.isUps = false;
 | |
|       this.pd.RECTIFICATIONDEPT = e[0].id;
 | |
|       this.pd.RECTIFICATIONDEPTNAME = e[0].name;
 | |
|       this.uindex = -1;
 | |
|       this.pd.RECTIFICATIONOR = '';
 | |
|       this.pd.RECTIFICATIONORNAME = '';
 | |
|       this.pd.searchRectificationUser = '';
 | |
|       this.$forceUpdate();//强制刷新
 | |
|       this.getUserList();
 | |
|     },
 | |
|     showHiddenQyZgTree() {
 | |
|       this.isUps = true
 | |
|       this.$refs.tkiTreedd._show();
 | |
|     },
 | |
|     zgtreeHiddenQy(e) {
 | |
|       this.isUps = false;
 | |
|       this.pd.HIDDEN_DANGER_AREA = e[0].id;
 | |
|       this.pd.HIDDEN_DANGER_AREA_NAME = e[0].name;
 | |
|       this.uindex = -1;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|       this.getUserList();
 | |
|     },
 | |
|     hiddenDangerLabelPickerChange(e) {
 | |
|       this.dangerLabellindex = e.detail.value;
 | |
|       this.pd.HIDDEN_DANGER_LABEL = this.hiddenDangerLabelList[this.dangerLabellindex].BIANMA;
 | |
|       this.pd.HIDDEN_DANGER_LABEL_NAME = this.hiddenDangerLabelList[this.dangerLabellindex].NAME;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     showQrTree() {
 | |
|       this.isUps = true
 | |
|       this.$refs.tkiTreeQr._show();
 | |
|     },
 | |
|     fnHiddenConfirmDept(e) {
 | |
|       this.isUps = false;
 | |
|       this.pd.CONFIRM_DEPT = e[0].id;
 | |
|       this.pd.CONFIRM_DEPT_NAME = e[0].name;
 | |
|       this.uindex = -1;
 | |
|       this.pd.CONFIRM_USER = '';
 | |
|       this.pd.CONFIRM_USER_NAME = '';
 | |
|       this.searchConfirmUser = '';
 | |
|       this.$forceUpdate();//强制刷新
 | |
|       this.getConfirmUserList();
 | |
|     },
 | |
|     getConfirmUserList() {
 | |
|       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: _this.pd.CONFIRM_DEPT,
 | |
|           tm: new Date().getTime(),
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|           ISCONFIRM: 1,
 | |
|         },
 | |
|         success: function (res) {
 | |
|           if ("success" == res.data.result) {
 | |
|             _this.confirmUserList = res.data.userList;
 | |
|           } else {
 | |
|             uni.showToast({
 | |
|               title: res.data.message,
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         }
 | |
|       })
 | |
|     },
 | |
| 
 | |
|     // 取消回调事件
 | |
|     zgtreeCancel(e) {
 | |
|       this.isUps = false;
 | |
|     },
 | |
|     // 显示树形选择器
 | |
|     showZgTree() {
 | |
|       this.isUps = true
 | |
|       this.$refs.tkiTree._show();
 | |
|     },
 | |
| 
 | |
|     // 确定回调事件
 | |
|     ystreeConfirm(e) {
 | |
|       this.pd.CHECKDEPT = e[0].id;
 | |
|       this.pd.CHECKDEPTNAME = e[0].name;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     // 显示树形选择器
 | |
|     showYsTree() {
 | |
|       this.$refs.tkiTree1._show();
 | |
|     },
 | |
|     //获取人员列表
 | |
|     getUserList() {
 | |
|       //发送 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: _this.pd.RECTIFICATIONDEPT,
 | |
|           tm: new Date().getTime(),
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|         },
 | |
|         success: function (res) {
 | |
|           if ("success" == res.data.result) {
 | |
|             _this.rectificationUserList = res.data.userList;
 | |
|           } else {
 | |
|             uni.showToast({
 | |
|               title: res.data.message,
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         }
 | |
|       })
 | |
|     },
 | |
|     //获取数据字典数据
 | |
|     getLevel: function () {
 | |
|       var _this = this;
 | |
|       uni.request({
 | |
|         method: 'POST',
 | |
|         dataType: 'json',
 | |
|         header: {
 | |
|           'Content-type': 'application/x-www-form-urlencoded'
 | |
|         },
 | |
|         url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
 | |
|         data: {
 | |
|           DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a',
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|         },
 | |
|         success: function (res) {
 | |
|           _this.levelList = res.data.list;
 | |
|         }
 | |
|       });
 | |
|       uni.request({
 | |
|         method: 'POST',
 | |
|         dataType: 'json',
 | |
|         header: {
 | |
|           'Content-type': 'application/x-www-form-urlencoded'
 | |
|         },
 | |
|         url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(),
 | |
|         data: {
 | |
|           DICTIONARIES_ID: 'ec1d6dcfd0f2438a88968feea542eab0',
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|         },
 | |
|         success: function (res) {
 | |
|           _this.categoryList = res.data.list;
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     levelPickerChange(e) {
 | |
|       console.log(e)
 | |
|       if (e.detail.value == 1) {
 | |
|         this.disabledvalue = true;
 | |
|         this.RECTIFICATIONTYPE = 2;
 | |
|       } else {
 | |
|         this.disabledvalue = false;
 | |
|       }
 | |
|       this.lindex = e.detail.value;
 | |
|       this.pd.HIDDENLEVEL = this.levelList[this.lindex].BIANMA;
 | |
|       this.pd.HIDDENLEVELNAME = this.levelList[this.lindex].NAME;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     categoryPickerChange(e) {
 | |
|       this.cindex = e.detail.value;
 | |
|       this.pd.HIDDEN_CATEGORY = this.categoryList[this.cindex].DICTIONARIES_ID;
 | |
|       this.pd.HIDDEN_CATEGORY_NAME = this.categoryList[this.cindex].NAME;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     getHiddenType: function () {
 | |
|       var _this = this;
 | |
|       uni.request({
 | |
|         method: 'POST',
 | |
|         dataType: 'json',
 | |
|         header: {
 | |
|           'Content-type': 'application/x-www-form-urlencoded'
 | |
|         },
 | |
|         url: basePath + '/dictionaries/getLevels',
 | |
|         data: {
 | |
|           DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff8',
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|         },
 | |
|         success: function ({data}) {
 | |
|           for (let i = 0; i < data.list.length; i++) {
 | |
|             if (data.list[i].BIANMA.indexOf(loginUser.PROVINCE) > -1) {
 | |
|               _this.getTrainDicList(data.list[i].DICTIONARIES_ID)
 | |
|               break
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     getTrainDicList(parentId) { // trainDicList
 | |
|       var _this = this;
 | |
|       uni.request({
 | |
|         method: 'POST',
 | |
|         dataType: 'json',
 | |
|         header: {
 | |
|           'Content-type': 'application/x-www-form-urlencoded'
 | |
|         },
 | |
|         url: basePath + '/dictionaries/listAllDictToParId',
 | |
|         data: {
 | |
|           parentId,
 | |
|           CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|           USER_ID: loginUser.USER_ID,
 | |
|         },
 | |
|         success: function ({data}) {
 | |
|           let zTreeNodes = data.zTreeNodes
 | |
|           zTreeNodes = zTreeNodes.replace(/"nodes":\[/g, '"children":[')
 | |
|           _this.hiddenTypeList = JSON.parse(zTreeNodes)
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     showZgTree1() {
 | |
|       this.isUps = true
 | |
|       this.$refs.tkiTree1._show();
 | |
|     },
 | |
|     zgtreeCancel1(e) {
 | |
|       this.isUps = false;
 | |
|     },
 | |
|     zgtreeConfirm1(e) {
 | |
|       this.isUps = false;
 | |
|       if (e[0]?.parents.length === 1) {
 | |
|         this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.id || ''];
 | |
|         this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.name || ''].join('/')
 | |
|       } else if (e[0]?.parents.length === 2) {
 | |
|         this.pd.HIDDENTYPE = [e[0]?.parents[0]?.id || '', e[0]?.parents[1]?.id || '', e[0]?.id || ''];
 | |
|         this.pd.HIDDENTYPENAME = [e[0]?.parents[0]?.name || '', e[0]?.parents[1]?.name || '', e[0]?.name || ''].join('/')
 | |
|       } else {
 | |
|         this.pd.HIDDENTYPE = [e[0]?.id || ''];
 | |
|         this.pd.HIDDENTYPENAME = [e[0]?.name || ''].join('/');
 | |
|       }
 | |
|     },
 | |
|     typePickerChange(e) {
 | |
|       this.tindex = e.detail.value;
 | |
|       this.pd.HIDDENTYPE = this.hiddenTypeList[this.tindex].BIANMA;
 | |
|       this.pd.HIDDENTYPENAME = this.hiddenTypeList[this.tindex].NAME;
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
|     changeDate(e) {
 | |
|       this.pd.RECTIFICATIONDEADLINE = e.detail.value
 | |
|       this.$forceUpdate();//强制刷新
 | |
|     },
 | |
| 
 | |
|     openAuth(permissionID) {
 | |
|       this.permissionID = permissionID;
 | |
|       setTimeout(() => {
 | |
|         this.$refs['authpup'].open();
 | |
|       }, 200)
 | |
|     },
 | |
| 
 | |
|     openAuthZg(permissionID) {
 | |
|       this.permissionID = permissionID;
 | |
|       setTimeout(() => {
 | |
|         this.$refs['authpup_zg'].open();
 | |
|       }, 200)
 | |
|     },
 | |
| 
 | |
|     //图片上传
 | |
|     ChooseImage(e) {
 | |
|       var _this = this;
 | |
|       uni.chooseImage({
 | |
|         count: e==0 ? 4-this.imgList.length : 4-this.imgList1.length, //默认9
 | |
|         sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
 | |
|         sourceType: ['camera', 'album'], //从相册选择
 | |
|         success: (res) => {
 | |
|           if (e == 0) {
 | |
|             for (let i = 0; i < res.tempFilePaths.length; i++) {
 | |
|               let img = {};
 | |
|               img.id = '';
 | |
|               img.filePath = res.tempFilePaths[i];
 | |
|               this.imgList.push(img)
 | |
|             }
 | |
|           } else {
 | |
|             for (let i = 0; i < res.tempFilePaths.length; i++) {
 | |
|               let img = {};
 | |
|               img.id = '';
 | |
|               img.filePath = res.tempFilePaths[i];
 | |
|               this.imgList1.push(img)
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     ViewImage(e) {
 | |
|       console.info(e.currentTarget.dataset.type)
 | |
|       if (e.currentTarget.dataset.type == 0) {
 | |
|         let files = [];
 | |
|         for (var i = 0; i < this.imgList.length; i++) {
 | |
|           files.push(this.imgList[i].filePath)
 | |
|         }
 | |
|         uni.previewImage({
 | |
|           urls: files,
 | |
|           current: e.currentTarget.dataset.url
 | |
|         });
 | |
|       } else {
 | |
|         let files = [];
 | |
|         for (var i = 0; i < this.imgList1.length; i++) {
 | |
|           files.push(this.imgList1[i].filePath)
 | |
|         }
 | |
|         uni.previewImage({
 | |
|           urls: files,
 | |
|           current: e.currentTarget.dataset.url
 | |
|         });
 | |
|       }
 | |
|     },
 | |
|     DelImg(e) {
 | |
|       var _this = this;
 | |
|       let i = e.currentTarget.dataset.index
 | |
|       uni.showModal({
 | |
|         title: '双控',
 | |
|         content: '确定要删除这张图片吗?',
 | |
|         cancelColor: "#000000",
 | |
|         cancelText: '取消',
 | |
|         confirmText: '确定',
 | |
|         success: res => {
 | |
|           if (res.confirm) {
 | |
|             if (e.currentTarget.dataset.type == 0) {
 | |
|               if (_this.imgList[i].id) {
 | |
|                 uni.showLoading({
 | |
|                   title: '处理中'
 | |
|                 })
 | |
|                 uni.request({
 | |
|                   url: basePath + '/app/imgfiles/delete',
 | |
|                   method: 'POST',
 | |
|                   dataType: 'json',
 | |
|                   header: {
 | |
|                     'Content-type': 'application/x-www-form-urlencoded'
 | |
|                   },
 | |
|                   data: {
 | |
|                     IMGFILES_ID: _this.imgList[i].id,
 | |
|                     CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|                     USER_ID: loginUser.USER_ID,
 | |
|                   },
 | |
|                   success: (res) => {
 | |
|                     uni.hideLoading();
 | |
|                     uni.showToast({
 | |
|                       icon: 'none',
 | |
|                       title: '删除成功',
 | |
|                       duration: 1500
 | |
|                     });
 | |
|                     _this.imgList.splice(i, 1)
 | |
|                   },
 | |
|                   fail: (err) => {
 | |
|                     uni.hideLoading();
 | |
|                     uni.showModal({
 | |
|                       content: err.errMsg,
 | |
|                       showCancel: false
 | |
|                     });
 | |
|                   }
 | |
|                 })
 | |
|               } else {
 | |
|                 this.imgList.splice(e.currentTarget.dataset.index, 1)
 | |
|               }
 | |
|             } else {
 | |
|               if (_this.imgList1[i].id) {
 | |
|                 uni.showLoading({
 | |
|                   title: '处理中'
 | |
|                 })
 | |
|                 uni.request({
 | |
|                   url: basePath + '/app/imgfiles/delete',
 | |
|                   method: 'POST',
 | |
|                   dataType: 'json',
 | |
|                   header: {
 | |
|                     'Content-type': 'application/x-www-form-urlencoded'
 | |
|                   },
 | |
|                   data: {
 | |
|                     IMGFILES_ID: _this.imgList1[i].id,
 | |
|                     CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|                     USER_ID: loginUser.USER_ID,
 | |
|                   },
 | |
|                   success: (res) => {
 | |
|                     uni.hideLoading();
 | |
|                     uni.showToast({
 | |
|                       icon: 'none',
 | |
|                       title: '删除成功',
 | |
|                       duration: 1500
 | |
|                     });
 | |
|                     _this.imgList1.splice(i, 1)
 | |
|                   },
 | |
|                   fail: (err) => {
 | |
|                     uni.hideLoading();
 | |
|                     uni.showModal({
 | |
|                       content: err.errMsg,
 | |
|                       showCancel: false
 | |
|                     });
 | |
|                   }
 | |
|                 })
 | |
|               } else {
 | |
|                 this.imgList1.splice(e.currentTarget.dataset.index, 1)
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       })
 | |
|     },
 | |
|     textareaAInput(e) {
 | |
|       this.pd.HIDDENDESCR = e.detail.value
 | |
|     },
 | |
|     textareaBInput(e) {
 | |
|       this.pd.HIDDENPART = e.detail.value
 | |
|     },
 | |
|     textareaCInput(e) {
 | |
|       this.pd.RECTIFYDESCR = e.detail.value
 | |
|     },
 | |
|     goIdentifyImg() {
 | |
|       if (this.imgList.length === 0) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请先上传图片',
 | |
|           duration: 2000
 | |
|         });
 | |
|       } else if (this.imgList.length > 1) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '识别暂时只能上传一张图片',
 | |
|           duration: 2000
 | |
|         });
 | |
|       } else {
 | |
|         var _this = this;
 | |
|         if (this.imgList[0].id != "") {
 | |
|           uni.showToast({
 | |
|             icon: 'none',
 | |
|             title: '请删除图片重新上传图片后,再次进行图片识别',
 | |
|             duration: 2000
 | |
|           });
 | |
|           return;
 | |
|         }
 | |
|         _this.buttonloading = true
 | |
|         uni.showLoading({
 | |
|           title: '识别中...'
 | |
|         })
 | |
|         uni.uploadFile({
 | |
|           url: basePath + '/app/hidden/identifyImg',
 | |
|           filePath: _this.imgList[0].filePath,
 | |
|           name: 'FFILE',
 | |
|           formData: {
 | |
|             CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|             USER_ID: loginUser.USER_ID,
 | |
| 
 | |
|           },
 | |
|           success: (res) => {
 | |
|             _this.buttonloading = false
 | |
|             _this.aiFlag = true
 | |
|             if ("success" == JSON.parse(res.data).result) {
 | |
|               const aiHiddens = JSON.parse(res.data).aiHiddens;
 | |
|               let hiddenDescr = ""
 | |
|               let rectificationSuggestions = ""
 | |
|               let legalBasis = ""
 | |
|               aiHiddens.forEach((item) => {
 | |
|                 hiddenDescr += JSON.parse(item).hiddenDescr + ";"
 | |
|                 rectificationSuggestions += JSON.parse(item).rectificationSuggestions + ";"
 | |
|                 legalBasis += JSON.parse(item).legalBasis + ";"
 | |
|               })
 | |
|               _this.pd.HIDDENDESCR = hiddenDescr
 | |
|               _this.pd.LEGALBASIS = legalBasis
 | |
|               _this.pd.RECTIFYDESCR = rectificationSuggestions
 | |
|               _this.radioType(1)
 | |
|             } else {
 | |
|               uni.showToast({
 | |
|                 icon: 'none',
 | |
|                 title: "未识别图片中的隐患",
 | |
|                 duration: 2000
 | |
|               });
 | |
|             }
 | |
|             uni.hideLoading();
 | |
|           },
 | |
|           fail: (err) => {
 | |
|             _this.buttonloading = false
 | |
|             uni.hideLoading();
 | |
|             uni.showModal({
 | |
|               content: err.errMsg,
 | |
|               showCancel: false
 | |
|             });
 | |
|           }
 | |
|         })
 | |
|       }
 | |
|     },
 | |
|     async goSubmit() {
 | |
|       var _this = this;
 | |
|       if (_this.imgList.length <= 0) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请上传隐患图片',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!_this.pd.HIDDENDESCR) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请填隐患描述',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       // if (!_this.pd.HIDDENPART) {
 | |
|       //   uni.showToast({
 | |
|       //     icon: 'none',
 | |
|       //     title: '请填隐患部位',
 | |
|       //     duration: 1500
 | |
|       //   });
 | |
|       //   return;
 | |
|       // }
 | |
|       if (!_this.pd.HIDDENLEVEL) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择隐患级别',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!_this.pd.HIDDENTYPE) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择隐患类型',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (_this.RECTIFICATIONTYPE == 1 && !_this.pd.RECTIFYDESCR) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请填整改描述',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (_this.RECTIFICATIONTYPE == 1 && _this.imgList1.length <= 0) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请上传整改后图片',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!_this.pd.HIDDEN_DANGER_LABEL) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择隐患标签',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!_this.pd.HIDDEN_DANGER_AREA) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择隐患区域',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (!_this.pd.HIDDEN_CLASSIFICATION) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择隐患分级',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择整改期限',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       // if (!_this.pd.CONFIRM_DEPT && _this.RECTIFICATIONTYPE == 2) {
 | |
|       //   uni.showToast({
 | |
|       //     icon: 'none',
 | |
|       //     title: '请选择确认部门',
 | |
|       //     duration: 1500
 | |
|       //   });
 | |
|       //   return;
 | |
|       // }
 | |
|       if (!_this.pd.CONFIRM_USER && _this.RECTIFICATIONTYPE == 2) {
 | |
|         uni.showToast({
 | |
|           icon: 'none',
 | |
|           title: '请选择确认人',
 | |
|           duration: 1500
 | |
|         });
 | |
|         return;
 | |
|       }
 | |
|       // if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEPT) {
 | |
|       //   uni.showToast({
 | |
|       //     icon: 'none',
 | |
|       //     title: '请选择整改部门',
 | |
|       //     duration: 1500
 | |
|       //   });
 | |
|       //   return;
 | |
|       // }
 | |
|       // if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONOR) {
 | |
|       //   uni.showToast({
 | |
|       //     icon: 'none',
 | |
|       //     title: '请选择整改人',
 | |
|       //     duration: 1500
 | |
|       //   });
 | |
|       //   return;
 | |
|       // }
 | |
|       var fileList = [];
 | |
|       for (var i = 0; i < _this.imgList.length; i++) {
 | |
|         if (!_this.imgList[i].id) {
 | |
|           var file = {};
 | |
|           file.type = 3;
 | |
|           file.filePath = _this.imgList[i].filePath;
 | |
|           fileList.push(file);
 | |
|         }
 | |
|       }
 | |
|       for (var i = 0; i < _this.videoList.length; i++) {
 | |
|         if (!_this.videoList[i].id) {
 | |
|           var file = {};
 | |
|           file.type = 3;
 | |
|           file.filePath = _this.videoList[i].filePath;
 | |
|           fileList.push(file);
 | |
|         }
 | |
|       }
 | |
|       if (_this.RECTIFICATIONTYPE == 1) {
 | |
|         for (var i = 0; i < _this.imgList1.length; i++) {
 | |
|           if (!_this.imgList1[i].id) {
 | |
|             var file = {};
 | |
|             file.type = 4;
 | |
|             file.filePath = _this.imgList1[i].filePath;
 | |
|             fileList.push(file);
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|       const FILE_IDS = []
 | |
|       await _this.uploadPromise(fileList,FILE_IDS)
 | |
|       await _this.submit(FILE_IDS)
 | |
|       var pages = getCurrentPages();	// 获取当前页面栈
 | |
|       var prePage = pages[pages.length - 2];	// 上一个页面
 | |
|       // var task = prePage.$vm.list[_this.index];
 | |
|       if (_this.index) {
 | |
|         prePage.$vm.initflag = true;    // A 页面 init方法 为true
 | |
|         prePage.$vm.list[_this.index].ISNORMAL = 1;
 | |
|         prePage.$vm.list[_this.index].HIDDEN_ID = _this.pd.HIDDEN_ID;
 | |
|       }
 | |
|       uni.navigateBack({});
 | |
|       uni.hideLoading();
 | |
|     },
 | |
|     async uploadPromise(tempFilePaths,FILE_IDS) {
 | |
|       if (tempFilePaths.length == 0) {
 | |
|         return
 | |
|       }
 | |
|       uni.showLoading({
 | |
|         title: '上传中'
 | |
|       })
 | |
|       for (let i = 0; i < tempFilePaths.length; i++) {
 | |
|         await this.uploadImg(tempFilePaths[i],FILE_IDS)
 | |
|       }
 | |
|     },
 | |
|     uploadImg(file,FILE_IDS) {
 | |
|       return new Promise((resolve, reject) => {
 | |
|         var _this = this;
 | |
|         uni.uploadFile({
 | |
|           url: basePath + '/app/imgfiles/add',
 | |
|           filePath: file.filePath,
 | |
|           name: 'FFILE',
 | |
|           formData: {
 | |
|             'TYPE': file.type,
 | |
|             'FOREIGN_KEY':'',
 | |
|             CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|             USER_ID: loginUser.USER_ID,
 | |
|           },
 | |
|           success: (res) => {
 | |
|             res.data = JSON.parse(res.data)
 | |
|             FILE_IDS.push(res.data.pd.IMGFILES_ID)
 | |
|             resolve();
 | |
|           },
 | |
|           fail: (err) => {
 | |
|             uni.hideLoading();
 | |
|             uni.showModal({
 | |
|               content: err.errMsg,
 | |
|               showCancel: false
 | |
|             });
 | |
|           }
 | |
|         })
 | |
|       })
 | |
|     },
 | |
|     submit(FILE_IDS) {
 | |
|       return new Promise((resolve, reject) => {
 | |
|         var _this = this;
 | |
|         let longitude;
 | |
|         let latitude;
 | |
|         this.buttonloading = true
 | |
|         uni.getLocation({
 | |
|           type: 'GCJ02',
 | |
|           success: function (res1) {
 | |
|             longitude = res1.longitude;
 | |
|             latitude = res1.latitude;
 | |
|             var result = gcoord.transform(
 | |
|                 [longitude, latitude],    // 经纬度坐标
 | |
|                 gcoord.GCJ02,               // 当前坐标系
 | |
|                 gcoord.BD09                // 目标坐标系
 | |
|             );
 | |
|             longitude = result[0];
 | |
|             latitude = result[1];
 | |
|             //发送 post 请求提交保存
 | |
|             this.buttonloading = true
 | |
|             uni.request({
 | |
|               url: basePath + '/app/hidden/' + _this.msg,
 | |
|               method: 'POST',
 | |
|               dataType: 'json',
 | |
|               header: {
 | |
|                 'Content-type': 'application/x-www-form-urlencoded'
 | |
|               },
 | |
|               data: {
 | |
|                 HIDDEN_ID: _this.pd.HIDDEN_ID,
 | |
|                 SOURCE: '2',
 | |
|                 STATE: '-2',
 | |
|                 HIDDENDESCR: _this.pd.HIDDENDESCR,
 | |
|                 // HIDDENPART: _this.pd.HIDDENPART,
 | |
|                 LATITUDE: latitude,
 | |
|                 LONGITUDE: longitude,
 | |
|                 RECTIFYDESCR: _this.pd.RECTIFYDESCR ? _this.pd.RECTIFYDESCR : '',
 | |
|                 RECTIFICATIONDEADLINE: _this.pd.RECTIFICATIONDEADLINE ? _this.pd.RECTIFICATIONDEADLINE : '',
 | |
|                 RECTIFICATIONTYPE: _this.RECTIFICATIONTYPE,
 | |
|                 RECTIFICATIONDEPT: _this.pd.RECTIFICATIONDEPT ? _this.pd.RECTIFICATIONDEPT : '',
 | |
|                 RECTIFICATIONOR: _this.pd.RECTIFICATIONOR ? _this.pd.RECTIFICATIONOR : '',
 | |
|                 CONFIRM_DEPT: _this.pd.CONFIRM_DEPT,
 | |
|                 CONFIRM_USER: _this.pd.CONFIRM_USER,
 | |
|                 HIDDEN_CLASSIFICATION: _this.pd.HIDDEN_CLASSIFICATION ? _this.pd.HIDDEN_CLASSIFICATION : '',
 | |
|                 HIDDEN_DANGER_AREA: _this.pd.HIDDEN_DANGER_AREA ? _this.pd.HIDDEN_DANGER_AREA : '',
 | |
|                 HIDDEN_DANGER_LABEL: _this.pd.HIDDEN_DANGER_LABEL ? _this.pd.HIDDEN_DANGER_LABEL : '',
 | |
|                 HIDDENLEVEL: _this.pd.HIDDENLEVEL,
 | |
|                 HIDDENTYPE: _this.pd.HIDDENTYPE,
 | |
|                 // CHECKDEPT:_this.pd.CHECKDEPT?_this.pd.CHECKDEPT:'',
 | |
|                 CHECK_CONTENT: _this.pd.CHECK_CONTENT,
 | |
|                 HIDDENFINDDEPT: deptId,
 | |
|                 CREATOR: loginUser.USER_ID,
 | |
|                 RECORDITEM_ID: _this.itemId,
 | |
|                 LISTMANAGER_ID: _this.LISTMANAGER_ID,
 | |
|                 RISKITEM_ID: _this.riskId,
 | |
|                 CLEARIMG: '1',
 | |
|                 HIDDENTYPE_NAME: _this.pd.HIDDENTYPENAME,
 | |
|                 HIDDENTYPE1: _this.pd.HIDDENTYPE[0] || '',
 | |
|                 HIDDENTYPE2: _this.pd.HIDDENTYPE[1] || '',
 | |
|                 HIDDENTYPE3: _this.pd.HIDDENTYPE[2] || '',
 | |
|                 CORPINFO_ID: loginUser.CORPINFO_ID,
 | |
|                 USER_ID: loginUser.USER_ID,
 | |
|                 HIDDEN_CATEGORY: _this.pd.HIDDEN_CATEGORY ? _this.pd.HIDDEN_CATEGORY : '',
 | |
|                 FILE_IDS:FILE_IDS.join(',')
 | |
|               },
 | |
|               success: (res) => {
 | |
|                 this.buttonloading = false
 | |
|                 if ("success" == res.data.result) {
 | |
|                   _this.pd.HIDDEN_ID = res.data.pd.HIDDEN_ID;
 | |
|                   resolve();
 | |
|                   // prePage.$vm.initflag = true;    // A 页面 init方法 为true
 | |
|                   // prePage.$vm.list[_this.index].ISNORMAL = 1;
 | |
|                   // prePage.$vm.list[_this.index].HIDDEN_ID = _this.HIDDEN_ID;
 | |
|                   // uni.navigateBack({});
 | |
|                   // uni.hideLoading();
 | |
|                 } else {
 | |
|                   uni.showToast({
 | |
|                     title: res.data.msaesge,
 | |
|                     duration: 2000
 | |
|                   });
 | |
|                 }
 | |
|               }
 | |
|             });
 | |
|           },
 | |
|           fail: function (res) {
 | |
|             uni.hideLoading();
 | |
|             uni.showToast({
 | |
|               title: "获取位置失败",
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         });
 | |
| 
 | |
|       });
 | |
|     },
 | |
|     radioType(e) {
 | |
|       if (!this.disabledvalue) {
 | |
|         this.RECTIFICATIONTYPE = e
 | |
|       } else {
 | |
|         this.RECTIFICATIONTYPE = 2
 | |
|       }
 | |
|     },
 | |
| 
 | |
|     openAuthVideo(permissionID) {
 | |
|       this.permissionID = permissionID;
 | |
|       setTimeout(() => {
 | |
|         this.$refs['authpup_video'].open();
 | |
|       }, 200)
 | |
|     },
 | |
| 
 | |
|     chooseVideo(e) {
 | |
|       var _this = this;
 | |
|       uni.chooseVideo({
 | |
|         maxDuration: 60,
 | |
|         count: 1, //默认9
 | |
|         // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
 | |
|         sourceType: ['camera', 'album'], //从相册选择
 | |
|         success: (res) => {
 | |
|           if (res.tempFilePath.substring(res.tempFilePath.lastIndexOf(".") + 1, res.tempFilePath.length) === 'mp4') {
 | |
|             let img = {};
 | |
|             img.id = '';
 | |
|             img.filePath = res.tempFilePath;
 | |
|             this.videoList.push(img)
 | |
|           } else {
 | |
|             uni.showToast({
 | |
|               title: "只能上传MP4格式",
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         }
 | |
|       });
 | |
|     },
 | |
|     DelVideo(e) {
 | |
|       uni.showModal({
 | |
|         title: '',
 | |
|         content: '确定要删除这个视频吗?',
 | |
|         cancelColor: "#000000",
 | |
|         cancelText: '取消',
 | |
|         confirmText: '确定',
 | |
|         success: res => {
 | |
|           if (res.confirm) {
 | |
|             this.videoList = []
 | |
|           }
 | |
|         }
 | |
|       })
 | |
|     },
 | |
|     playVideo(e) {
 | |
|       this.videoSrc = e.currentTarget.dataset.src
 | |
|       this.modalShow = true
 | |
|     },
 | |
|     confirm(info) {
 | |
|       this.pd.HIDDENPART = info.HIDDEN_PART
 | |
|       this.pd.HIDDENDESCR = info.INSPECTION_BASIS
 | |
|       this.pd.HIDDENLEVEL = 'hiddenLevel0001'
 | |
|       this.pd.HIDDENLEVELNAME = '一般隐患'
 | |
|       if (info.HIDDEN_TYPE_ONE_NAME) {
 | |
|         this.pd.HIDDENTYPENAME = info.HIDDEN_TYPE_ONE_NAME
 | |
|       }
 | |
|       if (info.HIDDEN_TYPE_TWO_NAME) {
 | |
|         this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME + '/' + info.HIDDEN_TYPE_TWO_NAME
 | |
|       }
 | |
|       if (info.HIDDEN_TYPE_THREE_NAME) {
 | |
|         this.pd.HIDDENTYPENAME = this.pd.HIDDENTYPENAME + '/' + info.HIDDEN_TYPE_THREE_NAME
 | |
|       }
 | |
|       this.pd.HIDDENTYPE = info.HIDDENTYPE
 | |
|     }
 | |
|   }
 | |
| }
 | |
| </script>
 | |
| 
 | |
| <style>
 | |
| .prevent {
 | |
|   width: 100%;
 | |
|   height: 100%;
 | |
|   position: fixed;
 | |
|   top: 0;
 | |
|   left: 0;
 | |
|   overflow: hidden;
 | |
| }
 | |
| 
 | |
| .cu-form-title {
 | |
|   padding: 20upx 0;
 | |
| }
 | |
| 
 | |
| .cu-form-textarea {
 | |
|   background-color: #ffffff;
 | |
|   padding: 1upx 30upx 20upx;
 | |
|   min-height: 100upx;
 | |
| }
 | |
| 
 | |
| .cu-form-textarea textarea {
 | |
|   height: 4.6em;
 | |
|   width: 100%;
 | |
|   line-height: 1.2em;
 | |
|   flex: 1;
 | |
|   font-size: 28upx;
 | |
|   padding: 0;
 | |
| }
 | |
| 
 | |
| .selected {
 | |
|   display: flex;
 | |
|   align-items: center;
 | |
|   height: 100upx;
 | |
| }
 | |
| 
 | |
| .selected .radio {
 | |
|   transform: scale(0.8);
 | |
|   margin-right: 10upx;
 | |
| }
 | |
| 
 | |
| .group {
 | |
|   display: flex;
 | |
|   align-items: center;
 | |
| }
 | |
| 
 | |
| .cu-form-group .title {
 | |
|   font-size: 28upx;
 | |
|   font-weight: bold;
 | |
|   color: #000;
 | |
| }
 | |
| 
 | |
| .cu-bar .action:first-child {
 | |
|   font-size: 28upx;
 | |
| }
 | |
| 
 | |
| .cu-form-group .picker {
 | |
|   color: #808080;
 | |
| }
 | |
| 
 | |
| .picker-tree {
 | |
|   color: #808080;
 | |
| }
 | |
| 
 | |
| .ai_btn {
 | |
|   width: 100%;
 | |
|   box-sizing: border-box;
 | |
|   background: #FFFFFF;
 | |
|   margin-bottom: 10px;
 | |
|   padding: 10px;
 | |
| }
 | |
| 
 | |
| .ai_btn .ai_btn_con {
 | |
|   width: 45%;
 | |
|   background: #dfeaff;
 | |
|   border-radius: 20px;
 | |
|   display: flex;
 | |
|   align-items: center;
 | |
|   height: 40px;
 | |
|   padding: 0 10px;
 | |
| }
 | |
| 
 | |
| .dropdown view {
 | |
|   padding: 8px 10px;
 | |
|   cursor: pointer;
 | |
| }
 | |
| 
 | |
| .dropdown view:hover {
 | |
|   background: #f5f5f5;
 | |
| }
 | |
| .search-input {
 | |
|   position: relative;
 | |
|   display: flex;
 | |
|   align-items: center;
 | |
|   border-radius: 4px;
 | |
|   padding: 0 10px;
 | |
|   height: 40px;
 | |
| }
 | |
| 
 | |
| .search-icon {
 | |
|   position: absolute;
 | |
|   right: 10px;
 | |
|   font-size: 18px;
 | |
|   color: #666;
 | |
| }
 | |
| .cuIcon-right {
 | |
|   position: absolute;
 | |
|   right: -12px;
 | |
|   top: -10px;
 | |
| }
 | |
| 
 | |
| .cuIcon-right:before {
 | |
|   content: "\e6a3";
 | |
|   color: #999;
 | |
| }
 | |
| 
 | |
| .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;
 | |
| }
 | |
| 
 | |
| .list-item {
 | |
|   padding: 14px 12px;
 | |
|   border-bottom: 1px solid #9f9e9e;
 | |
|   font-size: 28upx;
 | |
|   color: #333;
 | |
| }
 | |
| 
 | |
| </style>
 |