1
This commit is contained in:
parent
b63792e74c
commit
658191f0e2
@ -20,7 +20,7 @@
|
||||
<u-button type="primary" text="查询" @click="filterData"></u-button>
|
||||
|
||||
</u--form>
|
||||
<u--form labelWidth="auto" :model="model" ref="wForm" class="demo-ruleForm" style="margin-top: 20px;">
|
||||
<u--form labelWidth="auto" :model="model" ref="wForm" class="demo-ruleForm" style="margin-top: 20px;" v-if="filterDatas&&filterDatas.Nav_Librarys&&filterDatas.Nav_Librarys.length>0">
|
||||
<view style="position: relative;">
|
||||
<view style="position: absolute;left: -10px;color: #3d4b70;top: -3px;">*</view>
|
||||
</view>
|
||||
@ -36,7 +36,7 @@
|
||||
</u-checkbox>
|
||||
|
||||
<u-form-item label="辨识区域" prop="Nav_Contents.CHECKCONTENT" borderBottom>
|
||||
<u--input fontSize="14px" disabled disabledColor="#fff" v-model="item.AREA_NAME" border="none" inputAlign="right"></u--input>
|
||||
<u--input fontSize="14px" disabled disabledColor="#fff" v-model="(item.Nav_Area||{}).NAME" border="none" inputAlign="right"></u--input>
|
||||
|
||||
</u-form-item>
|
||||
<u-form-item label="风险名称" prop="HIDDEN_PLACE" borderBottom>
|
||||
@ -46,7 +46,7 @@
|
||||
</u-form-item>
|
||||
<u--textarea fontSize="14px" disabled disabledColor="#fff" v-model="item.RISK_DESCRIPTION" border="none" inputAlign="right" autoHeight></u--textarea>
|
||||
<u-form-item label="风险类别" prop="HIDDEN_PLACE" borderBottom>
|
||||
<u--input fontSize="14px" disabled disabledColor="#fff" v-model="item.TYPE_NAME" border="none" inputAlign="right"></u--input>
|
||||
<u--input fontSize="14px" disabled disabledColor="#fff" v-model="(item.Nav_Type||{}).NAME" border="none" inputAlign="right"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="风险等级" prop="HIDDEN_PLACE" borderBottom>
|
||||
<u--input fontSize="14px" disabled disabledColor="#fff" v-model="item.EVALUATE_LEVELName" border="none" inputAlign="right"></u--input>
|
||||
@ -58,7 +58,7 @@
|
||||
</u--form>
|
||||
|
||||
</view>
|
||||
<view style="padding: 10px 16px;" class="bottom-button">
|
||||
<view style="padding: 10px 16px;" class="bottom-button" v-if="filterDatas&&filterDatas.Nav_Librarys&&filterDatas.Nav_Librarys.length>0">
|
||||
<u-button type="primary" @click="submit" color="#3d4b70">生产岗位告知卡</u-button>
|
||||
</view>
|
||||
<query-selector :show="selectorInfo.showPopup" :defaultChecked="selectorInfo.defaultChecked" :title="selectorInfo.title" :lists="selectorInfo.dataLists" @search="handleSearch" @select="handleSelected"
|
||||
@ -142,7 +142,7 @@
|
||||
onLoad(option) {
|
||||
this.OrgId = option.OrgId // 'B043B28B-BBC3-C452-6052-4FBA1457ABFA'
|
||||
// const orgId = uni.getStorageSync('orgId')
|
||||
this.fetchEnums(['SKEvaluateLevelEnum']);
|
||||
this.fetchEnums(['SKEvaluateLevelEnum','SKProductionUnit']);
|
||||
},
|
||||
// onReady() {
|
||||
// //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
|
||||
@ -198,6 +198,10 @@
|
||||
if (item.Nav_Librarys && item.Nav_Librarys.length > 0) {
|
||||
item.Nav_Librarys.map(item1 => {
|
||||
item1.EVALUATE_LEVELName = item1.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item => item.code === item1.EVALUATE_LEVEL).name : '';
|
||||
if(!item1.MINE_NAME){
|
||||
item1.MINE_NAME = item1.MineType !== undefined ? this.enumsData['SKProductionUnit'].find(item => item.code === item1.MineType).name : '';
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
@ -269,15 +273,6 @@
|
||||
if (e.length === allIds.length && allIds.length > 0) {
|
||||
this.checkedItems.unshift('all');
|
||||
}
|
||||
// const diff = this.checkedItems.filter(item => !e.includes(item));
|
||||
|
||||
// // 取消其他选项
|
||||
// this.checkedItems = e.filter(item => item !== 'all');
|
||||
|
||||
// // 检查是否所有选项都被选中,如果是则自动勾选全选
|
||||
// if (this.checkedItems.length === allIds.length && allIds.length > 0) {
|
||||
// this.checkedItems.unshift('all');
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -286,16 +281,10 @@
|
||||
this.allData.map(item => {
|
||||
if (item.DEPARTMENT_ID == this.model.DEPARTMENT_ID && item.POST_NAME == this.model.Nav_Post.NAME) {
|
||||
this.filterDatas = item
|
||||
console.log(this.filterDatas, 'this.filterData')
|
||||
}
|
||||
})
|
||||
},
|
||||
checkChange(e) {
|
||||
console.log(e, '888')
|
||||
},
|
||||
submit() {
|
||||
console.log(this.checkedItems, '9999')
|
||||
console.log(this.filterDatas, '9999')
|
||||
let arr = []
|
||||
this.filterDatas.Nav_Librarys.map(item => {
|
||||
this.checkedItems.map(item1 => {
|
||||
@ -304,7 +293,6 @@
|
||||
}
|
||||
})
|
||||
})
|
||||
console.log(arr, 'arr')
|
||||
//MEASURES_NAME处理
|
||||
const groupedData = arr.reduce((acc, item) => {
|
||||
const riskName = item.RISK_NAME;
|
||||
@ -325,7 +313,22 @@
|
||||
//
|
||||
// 1. 按 RISK_NAME 分组,收集所有对应的 RISK_DESCRIPTION
|
||||
|
||||
const allPhotos = [];
|
||||
const photoNames = new Set(); // 用于记录已添加的图片name,实现去重
|
||||
|
||||
arr.forEach(item => {
|
||||
// 确保当前对象存在 Nav_Photo 且是数组,避免报错
|
||||
if (Array.isArray(item.Nav_Photo)) {
|
||||
item.Nav_Photo.forEach(photo => {
|
||||
// 判断图片name是否已存在,不存在则添加
|
||||
if (!photoNames.has(photo.name)) {
|
||||
allPhotos.push(photo);
|
||||
photoNames.add(photo.name);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// 此时 allPhotos 已包含所有 Nav_Photo 中的图片对象
|
||||
let newarr = {
|
||||
departName: this.filterDatas.Nav_Department ? this.filterDatas.Nav_Department.NAME : '',
|
||||
userName: this.filterDatas.USER_NAME,
|
||||
@ -357,13 +360,9 @@
|
||||
})
|
||||
.join(''),
|
||||
RISK_DESCRIPTION: this.handleData(arr,'RISK_DESCRIPTION'),
|
||||
EMERGENCY: this.handleData(arr,'EMERGENCY')
|
||||
EMERGENCY: this.handleData(arr,'EMERGENCY'),
|
||||
Nav_Photo:allPhotos
|
||||
}
|
||||
|
||||
console.log(newarr, 'nnnnnnnnnnnnn')
|
||||
|
||||
|
||||
|
||||
uni.setStorageSync('detailData', newarr);
|
||||
uni.navigateTo({
|
||||
url: '/pages/apply/jobRiskShow'
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<view class="todo-page">
|
||||
<view class="todo-page" style="padding-bottom: 10px;">
|
||||
<view class="background"></view>
|
||||
|
||||
<view class="card">
|
||||
@ -21,8 +21,27 @@
|
||||
<u-form-item label="风险描述" prop="HIDDEN_PLACE" borderBottom>
|
||||
</u-form-item>
|
||||
<u--textarea fontSize="14px" disabled disabledColor="#fff" v-model="detailData.RISK_DESCRIPTION" border="none" inputAlign="right" autoHeight></u--textarea>
|
||||
<u-form-item label="安全标志" prop="HIDDEN_PLACE" borderBottom>
|
||||
<u-form-item label="安全标志" prop="HIDDEN_PLACE" >
|
||||
</u-form-item>
|
||||
<!-- 安全标志图片列表 -->
|
||||
<view class="safety-sign-list">
|
||||
<!-- 循环展示所有图片 -->
|
||||
<view class="safety-sign-item" v-for="(photo, index) in detailData.Nav_Photo" :key="index">
|
||||
<!-- 图片展示 -->
|
||||
<image
|
||||
:src="hosturl +photo.Nav_ImgFile.FILE_PATH"
|
||||
mode="widthFix"
|
||||
class="sign-image"
|
||||
alt="安全标志图片"
|
||||
></image>
|
||||
<!-- 图片对应的名称 -->
|
||||
<view class="sign-name">{{ photo.NAME }}</view>
|
||||
</view>
|
||||
<!-- 没有图片时的提示 -->
|
||||
<view v-if="!detailData.Nav_Photo || detailData.Nav_Photo.length === 0" class="no-data">
|
||||
暂无安全标志图片
|
||||
</view>
|
||||
</view>
|
||||
<!-- <u--textarea fontSize="14px" disabled disabledColor="#fff" v-model="detailData.RISK_DESCRIPTION" border="none" inputAlign="right" autoHeight></u--textarea> -->
|
||||
<u-form-item label="管控措施" prop="HIDDEN_PLACE" borderBottom>
|
||||
</u-form-item>
|
||||
@ -65,12 +84,12 @@
|
||||
data() {
|
||||
return {
|
||||
detailData: {},
|
||||
model: {}
|
||||
model: {},
|
||||
hosturl:config.uni_app_web_source_url
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.detailData = uni.getStorageSync('detailData');
|
||||
console.log(this.detailData, 'this.detailData')
|
||||
},
|
||||
onUnload() {
|
||||
// 可选:用完删除,避免占用存储
|
||||
@ -86,4 +105,48 @@
|
||||
|
||||
<style>
|
||||
@import url("../../style/css/newTemplate.css");
|
||||
.safety-sign-list {
|
||||
padding: 0 16px;
|
||||
/* margin-bottom: 5px; */
|
||||
/* 启用 Flex 布局 */
|
||||
display: flex;
|
||||
/* 允许换行 */
|
||||
flex-wrap: wrap;
|
||||
/* 子元素之间的间距(可选,调整水平间距) */
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.safety-sign-item {
|
||||
/* 每个元素占 1/3 宽度(减去间距的容错) */
|
||||
width: calc(33.33% - 10px);
|
||||
margin-bottom: 15px;
|
||||
text-align: center;
|
||||
/* 避免内容溢出时压缩元素宽度 */
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 其他样式保持不变 */
|
||||
.sign-image {
|
||||
width: 100%; /* 图片自适应父元素宽度 */
|
||||
max-width: 300px;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.sign-name {
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
line-height: 1.5;
|
||||
/* 文字超长时自动换行 */
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.no-data {
|
||||
font-size: 14px;
|
||||
color: #999;
|
||||
padding: 10px 0;
|
||||
text-align: center;
|
||||
/* 占满整行 */
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue
Block a user