299 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			299 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| 
								 | 
							
								<!-- 隐患上报 查看  BS006_VIEW-->
							 | 
						||
| 
								 | 
							
								<template>
							 | 
						||
| 
								 | 
							
									<view class="page-wrap">
							 | 
						||
| 
								 | 
							
										<view class="card">
							 | 
						||
| 
								 | 
							
											<uni-card margin="0" :is-shadow="true">
							 | 
						||
| 
								 | 
							
												<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" ref="wForm"
							 | 
						||
| 
								 | 
							
													errorType="border-bottom">
							 | 
						||
| 
								 | 
							
													<u-form-item label="编码" prop="CODE" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.CODE" border="none" slot="right"
							 | 
						||
| 
								 | 
							
															inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>
							 | 
						||
| 
								 | 
							
													<u-form-item label="隐患上报名称" prop="NAME" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.NAME" border="none" slot="right"
							 | 
						||
| 
								 | 
							
															inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>
							 | 
						||
| 
								 | 
							
													<!--<u-form-item label="检查任务" prop="Nav_Check.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.Nav_Check.NAME" border="none"
							 | 
						||
| 
								 | 
							
															slot="right" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>-->
							 | 
						||
| 
								 | 
							
													<u-form-item label="检查类型" prop="Nav_CheckType.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.Nav_CheckType.NAME" border="none"
							 | 
						||
| 
								 | 
							
															slot="right" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>
							 | 
						||
| 
								 | 
							
													<u-form-item label="检查层级" prop="Nav_CheckTypeLevel.Nav_Enums.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.Nav_CheckTypeLevel.Nav_Enums.NAME"
							 | 
						||
| 
								 | 
							
															border="none" slot="right" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>
							 | 
						||
| 
								 | 
							
													<u-form-item label="检查时间" prop="CREATE_TIME" borderBottom>
							 | 
						||
| 
								 | 
							
														<u--input disabled disabledColor="#ffffff" v-model="model.CREATE_TIME" border="none"
							 | 
						||
| 
								 | 
							
															slot="right" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
													</u-form-item>
							 | 
						||
| 
								 | 
							
													<view class="upload-title">附件</view>
							 | 
						||
| 
								 | 
							
								<!--					<u-album :urls="model.attachments" singleSize="70" keyName="src"></u-album>-->
							 | 
						||
| 
								 | 
							
													<full-upload v-model="model.Nav_Files" :isShowBtn='false'></full-upload>
							 | 
						||
| 
								 | 
							
												</u--form>
							 | 
						||
| 
								 | 
							
											</uni-card>
							 | 
						||
| 
								 | 
							
										</view>
							 | 
						||
| 
								 | 
							
										<u-sticky offset-top="20">
							 | 
						||
| 
								 | 
							
											<view class="sub-form">
							 | 
						||
| 
								 | 
							
												<view class="sub-form-wrap">
							 | 
						||
| 
								 | 
							
													<u-form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom" :borderBottom="false"
							 | 
						||
| 
								 | 
							
														ref="sForm">
							 | 
						||
| 
								 | 
							
														<u-collapse accordion>
							 | 
						||
| 
								 | 
							
															<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
							 | 
						||
| 
								 | 
							
																v-for="(item, index) in model.Nav_ListRiskSubmitContent" :name="index">
							 | 
						||
| 
								 | 
							
																<u-collapse-item title-border="none" :show-arrow="false" :border="false">
							 | 
						||
| 
								 | 
							
																	<view slot="title" class="collapse-title">
							 | 
						||
| 
								 | 
							
																		<view class="down">
							 | 
						||
| 
								 | 
							
																			<uni-icons type="bottom"></uni-icons>
							 | 
						||
| 
								 | 
							
																		</view>
							 | 
						||
| 
								 | 
							
																		<view class="text">{{index + 1 + '. ' +item.CHECKCONTENT}}</view>
							 | 
						||
| 
								 | 
							
																	</view>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="检查区域" prop="Nav_RiskArea.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabled disabledColor="#ffffff" v-model="item.Nav_RiskArea.NAME"
							 | 
						||
| 
								 | 
							
																			border="none" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<view class="label-title">检查内容</view>
							 | 
						||
| 
								 | 
							
																	<u-form-item prop="DESCREPTION" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--textarea disabled autoHeight v-model="item.DESCREPTION" placeholder="检查内容"
							 | 
						||
| 
								 | 
							
																			border="surround"></u--textarea>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
																	<u-form-item label="问题等级" prop="QUESTION_LEVEL_SHOW" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabled disabledColor="#ffffff" v-model="item.QUESTION_LEVEL_SHOW"
							 | 
						||
| 
								 | 
							
																			border="none" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<view class="label-title">整改建议与措施</view>
							 | 
						||
| 
								 | 
							
																	<u-form-item prop="DEMAND" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--textarea disabled autoHeight v-model="item.DEMAND" placeholder="整改建议与措施"
							 | 
						||
| 
								 | 
							
																			border="surround"></u--textarea>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabledColor="#ffffff" v-model="item.listCheckDetailReason"
							 | 
						||
| 
								 | 
							
																			border="none" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="隐患地点" prop="ADDRESS" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabledColor="#ffffff" v-model="item.ADDRESS" border="none"
							 | 
						||
| 
								 | 
							
																			inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="整改期限" prop="LastDateUser" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input v-model="item.LastDateUser" disabledColor="#fff" placeholder="请选择整改期限"
							 | 
						||
| 
								 | 
							
																			border="none" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="整改实施单位" prop="Nav_DepartmentDeal.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabledColor="#fff" v-model="item.Nav_DepartmentDeal.NAME"
							 | 
						||
| 
								 | 
							
																			border="none" inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="整改责任人" prop="Nav_UserDeal.NAME" borderBottom>
							 | 
						||
| 
								 | 
							
																		<u--input disabledColor="#fff" :value="item.responsibler" border="none"
							 | 
						||
| 
								 | 
							
																			inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																	<u-form-item label="验收人" prop="Nav_UserCheck.NAME" :borderBottom="false">
							 | 
						||
| 
								 | 
							
																		<u--input disabledColor="#fff" :value="item.accepter" border="none"
							 | 
						||
| 
								 | 
							
																			inputAlign="right"></u--input>
							 | 
						||
| 
								 | 
							
																	</u-form-item>
							 | 
						||
| 
								 | 
							
																</u-collapse-item>
							 | 
						||
| 
								 | 
							
															</uni-card>
							 | 
						||
| 
								 | 
							
														</u-collapse>
							 | 
						||
| 
								 | 
							
													</u-form>
							 | 
						||
| 
								 | 
							
												</view>
							 | 
						||
| 
								 | 
							
											</view>
							 | 
						||
| 
								 | 
							
										</u-sticky>
							 | 
						||
| 
								 | 
							
										<audit-process :show="showAudit" @close="handleCloseAudit" :dataSource="auditData" />
							 | 
						||
| 
								 | 
							
									</view>
							 | 
						||
| 
								 | 
							
								</template>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<script>
							 | 
						||
| 
								 | 
							
									import {
							 | 
						||
| 
								 | 
							
										guid,
							 | 
						||
| 
								 | 
							
										initFilter,
							 | 
						||
| 
								 | 
							
										extendRule,
							 | 
						||
| 
								 | 
							
										extendInclude,
							 | 
						||
| 
								 | 
							
										extendGroupRule,
							 | 
						||
| 
								 | 
							
										initFilterGroup,
							 | 
						||
| 
								 | 
							
										extendFilterGroup,
							 | 
						||
| 
								 | 
							
										extendFilterGroupGroupRules
							 | 
						||
| 
								 | 
							
									} from '../../../../utils/common'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									import {
							 | 
						||
| 
								 | 
							
										GetBS006,
							 | 
						||
| 
								 | 
							
										getLoadAuditData
							 | 
						||
| 
								 | 
							
									} from '../../../../services/apply/subPages/BS/riskSubmit'
							 | 
						||
| 
								 | 
							
									import config from '../../../../config/common'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									export default {
							 | 
						||
| 
								 | 
							
										data() {
							 | 
						||
| 
								 | 
							
											return {
							 | 
						||
| 
								 | 
							
												sourceUrl: config.uni_app_web_source_url,
							 | 
						||
| 
								 | 
							
												tableKey: '0',
							 | 
						||
| 
								 | 
							
												TaskID: '',
							 | 
						||
| 
								 | 
							
												model: {
							 | 
						||
| 
								 | 
							
													ID: '',
							 | 
						||
| 
								 | 
							
													TaskID: '',
							 | 
						||
| 
								 | 
							
													Nav_Check: {
							 | 
						||
| 
								 | 
							
														NAME: ''
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													Nav_CheckType: {
							 | 
						||
| 
								 | 
							
														NAME: ''
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													Nav_CheckTypeLevel: {
							 | 
						||
| 
								 | 
							
														Nav_Enums: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													},
							 | 
						||
| 
								 | 
							
													Nav_Files: [],
							 | 
						||
| 
								 | 
							
													attachments: [], // 附件
							 | 
						||
| 
								 | 
							
													Nav_ListRiskSubmitContent: [{
							 | 
						||
| 
								 | 
							
														Nav_Department: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														},
							 | 
						||
| 
								 | 
							
														LastDateUser: null,
							 | 
						||
| 
								 | 
							
														departmentName: '',
							 | 
						||
| 
								 | 
							
														userChecker: '',
							 | 
						||
| 
								 | 
							
														userDetailer: '',
							 | 
						||
| 
								 | 
							
														Nav_Files: [],
							 | 
						||
| 
								 | 
							
														Nav_ListRiskQuestionReason: [{
							 | 
						||
| 
								 | 
							
															Nav_RiskReason: {
							 | 
						||
| 
								 | 
							
																NAME: ''
							 | 
						||
| 
								 | 
							
															}
							 | 
						||
| 
								 | 
							
														}],
							 | 
						||
| 
								 | 
							
														listCheckDetailReason: '',
							 | 
						||
| 
								 | 
							
														accepter: '', // 验收人
							 | 
						||
| 
								 | 
							
														responsibler: '', // 整改责任人
							 | 
						||
| 
								 | 
							
														Nav_RiskArea: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														},
							 | 
						||
| 
								 | 
							
														Nav_DepartmentDeal: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														},
							 | 
						||
| 
								 | 
							
														Nav_UserCheck: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														},
							 | 
						||
| 
								 | 
							
														Nav_UserDeal: {
							 | 
						||
| 
								 | 
							
															NAME: ''
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													}]
							 | 
						||
| 
								 | 
							
												},
							 | 
						||
| 
								 | 
							
												isLoadOK: false,
							 | 
						||
| 
								 | 
							
												lists: [],
							 | 
						||
| 
								 | 
							
												auditData: [],
							 | 
						||
| 
								 | 
							
												showAudit: false
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										onLoad(option) {
							 | 
						||
| 
								 | 
							
											this.model.ID = option.ID
							 | 
						||
| 
								 | 
							
											this.loadData()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										methods: {
							 | 
						||
| 
								 | 
							
											loadData() {
							 | 
						||
| 
								 | 
							
												const orgId = uni.getStorageSync('orgId')
							 | 
						||
| 
								 | 
							
												const json = initFilter(orgId, "", "CODE", 1)
							 | 
						||
| 
								 | 
							
												extendRule(json, 'ID', 1, this.model.ID);
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_Check');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_CheckType');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_CheckTypeLevel.Nav_Enums');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_SafeCheckDetail');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_CheckMain');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_Question');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_CheckMain.Nav_CheckProject');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_UserDeal');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_UserCheck');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_Department');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_DepartmentDeal');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_ListRiskSubmitContent.Nav_ListRiskQuestionReason.Nav_RiskReason');
							 | 
						||
| 
								 | 
							
												extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File');
							 | 
						||
| 
								 | 
							
												json.IgnoreDataRule = true
							 | 
						||
| 
								 | 
							
												GetBS006(json).then(res => {
							 | 
						||
| 
								 | 
							
													this.model = res
							 | 
						||
| 
								 | 
							
													if (this.model.Nav_ListRiskSubmitContent != null && this.model.Nav_ListRiskSubmitContent
							 | 
						||
| 
								 | 
							
														.length > 0) {
							 | 
						||
| 
								 | 
							
														let reasons = ''
							 | 
						||
| 
								 | 
							
														this.model.Nav_ListRiskSubmitContent.forEach(e => {
							 | 
						||
| 
								 | 
							
															reasons = ''
							 | 
						||
| 
								 | 
							
															if (e.Nav_ListRiskQuestionReason != null && e.Nav_ListRiskQuestionReason
							 | 
						||
| 
								 | 
							
																.length > 0) {
							 | 
						||
| 
								 | 
							
																e.Nav_ListRiskQuestionReason.forEach(er => {
							 | 
						||
| 
								 | 
							
																	reasons += er.Nav_RiskReason.NAME
							 | 
						||
| 
								 | 
							
																})
							 | 
						||
| 
								 | 
							
															}
							 | 
						||
| 
								 | 
							
															e.listCheckDetailReason = reasons
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
															e.accepter = e.Nav_UserCheck?.NAME || ''
							 | 
						||
| 
								 | 
							
															e.responsibler = e.Nav_UserDeal?.NAME || ''
							 | 
						||
| 
								 | 
							
														})
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
													if (this.model.Nav_Files && this.model.Nav_Files.length) {
							 | 
						||
| 
								 | 
							
														this.model.attachments = this.model.Nav_Files
							 | 
						||
| 
								 | 
							
															.filter(i => !!i.Nav_ImgFile?.Nav_File)
							 | 
						||
| 
								 | 
							
															.map(o => {
							 | 
						||
| 
								 | 
							
																return {
							 | 
						||
| 
								 | 
							
																	...o.Nav_ImgFile.Nav_File,
							 | 
						||
| 
								 | 
							
																	src: this.sourceUrl + o.Nav_ImgFile.Nav_File.FILE_PATH
							 | 
						||
| 
								 | 
							
																}
							 | 
						||
| 
								 | 
							
															})
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
													this.isLoadOK = true
							 | 
						||
| 
								 | 
							
												})
							 | 
						||
| 
								 | 
							
											},
							 | 
						||
| 
								 | 
							
											loadAuditData() {
							 | 
						||
| 
								 | 
							
												const orgId = uni.getStorageSync('orgId')
							 | 
						||
| 
								 | 
							
												// const json = initFilter(orgId, "8ca253be-2f46-7e21-b8a7-ccc1000271d8", "CODE", 1)
							 | 
						||
| 
								 | 
							
												const json = initFilter(orgId, this.model.ID, "CODE", 1)
							 | 
						||
| 
								 | 
							
												json.Parameter2 = "T_BS_RISK_SUBMIT_NOTICE,RISK_SUBMIT_ID"
							 | 
						||
| 
								 | 
							
												return new Promise((resolve, reject) => {
							 | 
						||
| 
								 | 
							
													getLoadAuditData(json).then(res => {
							 | 
						||
| 
								 | 
							
														if (res) {
							 | 
						||
| 
								 | 
							
															if (res && res[0].Nav_ApproveDetails.length > 0) {
							 | 
						||
| 
								 | 
							
																resolve(res)
							 | 
						||
| 
								 | 
							
															}
							 | 
						||
| 
								 | 
							
														} else {
							 | 
						||
| 
								 | 
							
															uni.showToast({
							 | 
						||
| 
								 | 
							
																title: '暂无审批数据',
							 | 
						||
| 
								 | 
							
																icon: 'none'
							 | 
						||
| 
								 | 
							
															})
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													}).catch(err => {
							 | 
						||
| 
								 | 
							
														reject(err)
							 | 
						||
| 
								 | 
							
													})
							 | 
						||
| 
								 | 
							
												})
							 | 
						||
| 
								 | 
							
											},
							 | 
						||
| 
								 | 
							
											handleCloseAudit() {
							 | 
						||
| 
								 | 
							
												this.showAudit = false
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										computed: {},
							 | 
						||
| 
								 | 
							
										async onNavigationBarButtonTap() {
							 | 
						||
| 
								 | 
							
											const res = await this.loadAuditData()
							 | 
						||
| 
								 | 
							
											if (res) {
							 | 
						||
| 
								 | 
							
												this.auditData = res
							 | 
						||
| 
								 | 
							
												this.showAudit = true
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								</script>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<style scoped>
							 | 
						||
| 
								 | 
							
									@import url("../../../../style/css/editTemplate.css");
							 | 
						||
| 
								 | 
							
									.collapse-title {
							 | 
						||
| 
								 | 
							
										display: flex;
							 | 
						||
| 
								 | 
							
										justify-content: space-between;
							 | 
						||
| 
								 | 
							
										align-items: center;
							 | 
						||
| 
								 | 
							
										width: 100%;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									.collapse-title .down {
							 | 
						||
| 
								 | 
							
										width: 20px;
							 | 
						||
| 
								 | 
							
										flex: 0 0 auto;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									.collapse-title .text {
							 | 
						||
| 
								 | 
							
										white-space: nowrap;
							 | 
						||
| 
								 | 
							
										text-overflow: ellipsis;
							 | 
						||
| 
								 | 
							
										overflow: hidden;
							 | 
						||
| 
								 | 
							
										flex: 1;
							 | 
						||
| 
								 | 
							
										width: calc(100% - 60px);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								</style>
							 |