288 lines
8.0 KiB
Vue
288 lines
8.0 KiB
Vue
<template>
|
||
<view>
|
||
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
||
<block slot="backText">返回</block>
|
||
<block slot="content">安全例会详情</block>
|
||
</cu-custom>
|
||
<scroll-view scroll-y>
|
||
<view class="dy-card">
|
||
<view class="dy-card-title">
|
||
<text>{{pd.MEETING_TITLE}}</text>
|
||
</view>
|
||
<view class="dy-card-content">
|
||
<view class="dy-card-content-item">
|
||
<text>主持人:</text>
|
||
<text>{{pd.HOST_PERSON}}</text>
|
||
</view>
|
||
<view class="dy-card-content-item">
|
||
<text>记录人:</text>
|
||
<text>{{pd.RECORDER}}</text>
|
||
</view>
|
||
<view class="dy-card-content-item">
|
||
<text>会议开始时间:</text>
|
||
<text>{{pd.MEETING_DATE_START}}</text>
|
||
</view>
|
||
<view class="dy-card-content-item">
|
||
<text>会议结束时间:</text>
|
||
<text>{{pd.MEETING_DATE_END}}</text>
|
||
</view>
|
||
<view class="dy-card-content-item">
|
||
<text>会议类型:</text>
|
||
<text>{{pd.MEETING_TYPE === '1' ? '安全生产例会' : pd.MEETING_TYPE === '2' ? '安全生产委员会会议' : ''}}</text>
|
||
</view>
|
||
<view class="dy-card-content-item">
|
||
<text>会议内容:</text>
|
||
<rich-text :nodes="pd.MEETING_CONTENT"></rich-text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="cu-tabbar-height"></view>
|
||
</scroll-view>
|
||
<uni-drawer ref="showHiddenWindow" mode="right" :mask-click="true">
|
||
<scroll-view scroll-y="true" style="height: 100vh;">
|
||
<!-- 实时照片部分 -->
|
||
<view class="cu-form-group image-upload-container">
|
||
<view class="title">实时照片:</view>
|
||
<view class="icon-upload" v-if="!livePhotos.length" @click="chooseImage('LIVEPHOTOS')">
|
||
<text class='cuIcon-cameraadd'></text>
|
||
</view>
|
||
<!-- 图片预览区 -->
|
||
<view class="image-preview" v-for="(photo, index) in livePhotos" :key="index">
|
||
<image :src="photo" mode="aspectFill" class="upload-image"></image>
|
||
<!-- 删除按钮 -->
|
||
<view class="delete-icon" @tap.stop="removeImage(index, 'LIVEPHOTOS')">
|
||
<text class='cuIcon-close'></text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 签字照片部分 -->
|
||
<view class="cu-form-group image-upload-container">
|
||
<view class="title">签字照片:</view>
|
||
<view class="icon-upload" v-if="!signaturePicture" @click="chooseImage('SIGNATUREPICTURE')">
|
||
<text class='cuIcon-edit'></text>
|
||
</view>
|
||
<!-- 图片预览区 -->
|
||
<view class="image-preview" v-if="signaturePicture">
|
||
<image :src="signaturePicture" mode="aspectFill" class="upload-image"></image>
|
||
</view>
|
||
<!-- 删除按钮 -->
|
||
<view>
|
||
<view class="delete-icon" @tap.stop="removeImage('SIGNATUREPICTURE')">
|
||
<text class='cuIcon-close'></text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
<button @click="saveAndCloseDrawer">保存并关闭</button>
|
||
</uni-drawer>
|
||
<view class="cu-form-group">
|
||
<view class="title">是否参会:</view>
|
||
<button class="cu-btn round bg-blue" @click="addHidden">参会</button>
|
||
</view>
|
||
|
||
<yk-authpup ref="authpup" type="top" @changeAuth="$noMultipleClicks(editLocation)" :permissionID="permissionID"></yk-authpup>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
basePath,loginUser
|
||
} from '@/common/tool.js';
|
||
import ykAuthpup from "@/components/yk-authpup/yk-authpup"
|
||
export default {
|
||
components: {
|
||
ykAuthpup
|
||
},
|
||
data() {
|
||
return {
|
||
permissionID:'',
|
||
SAFETY_MEETING_ID : '',
|
||
varList:[],
|
||
pd:[],
|
||
noClick:true,
|
||
ACCIDENTS_NAME:"",
|
||
MEETING_TITLE:"",
|
||
MEETING_TYPE:"",
|
||
MEETING_ADDRESS:"",
|
||
HOST_PERSON:"",
|
||
MEETING_CONTENT:"",
|
||
RECORDER:"",
|
||
MEETING_DATE_START:"",
|
||
MEETING_DATE_END:"",
|
||
livePhotos: [],
|
||
signaturePicture: [],
|
||
}
|
||
},
|
||
onLoad(e){
|
||
var _this = this;
|
||
_this.SAFETY_MEETING_ID=e.id;
|
||
_this.getData();
|
||
|
||
},
|
||
methods: {
|
||
//跳转事件
|
||
goToEdit(e) {
|
||
uni.navigateTo({
|
||
url: '/pages/application/basic-info-manage/basic-information/basic-information-edit'
|
||
});
|
||
},
|
||
getData() {
|
||
var _this = this;
|
||
uni.showLoading({
|
||
title: '请稍候'
|
||
})
|
||
uni.request({
|
||
url: basePath + '/app/safetymeeting/goEdit',
|
||
method: 'POST',
|
||
dataType: 'json',
|
||
header:{
|
||
'Content-type':'application/x-www-form-urlencoded'
|
||
},
|
||
data: {
|
||
SAFETY_MEETING_ID: _this.SAFETY_MEETING_ID,
|
||
CORPINFO_ID:loginUser.CORPINFO_ID,
|
||
USER_ID:loginUser.USER_ID,
|
||
},
|
||
success: (res) => {
|
||
if (res.data != null) {
|
||
uni.hideLoading();
|
||
_this.pd = res.data.pd;
|
||
} else {
|
||
uni.showToast({
|
||
title: res.data.message,
|
||
duration: 2000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
|
||
addHidden() {
|
||
if (this.$refs.showHiddenWindow) {
|
||
this.$refs.showHiddenWindow.open();
|
||
}
|
||
this.creatorList = [{
|
||
NAME: loginUser.NAME,
|
||
USER_ID: loginUser.USER_ID
|
||
}]
|
||
this.$refs['showHiddenWindow'].open()
|
||
this.showHiddenWindow = true
|
||
this.hiddenIsEdit = true
|
||
},
|
||
chooseImage(type) {
|
||
uni.chooseImage({
|
||
count: 1, // 限制只能选择一张图片
|
||
success: (res) => {
|
||
if (type === 'LIVEPHOTOS' && res.tempFilePaths.length) {
|
||
this.livePhotos = res.tempFilePaths[0]; // 如果是单图,确保赋值字符串
|
||
} else if (type === 'SIGNATUREPICTURE' && res.tempFilePaths.length) {
|
||
this.signaturePicture = res.tempFilePaths[0]; // 确保赋值为字符串路径
|
||
}
|
||
},
|
||
});
|
||
},
|
||
removeImage(type) {
|
||
if (type === 'LIVEPHOTOS') {
|
||
this.livePhotos = []; // 清空数组即可移除图片
|
||
} else {
|
||
this.signaturePicture = null; // 设为null即可移除图片
|
||
}
|
||
},
|
||
|
||
openAuth(permissionID){
|
||
this.permissionID = permissionID;
|
||
setTimeout(()=>{
|
||
this.$refs['authpup'].open();
|
||
},200)
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.dy-card {
|
||
background-color: #fff;
|
||
border-radius: 10upx;
|
||
margin: 30upx;
|
||
}
|
||
|
||
.dy-card-title {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
border-bottom: 1px solid #eee;
|
||
min-height: 80upx;
|
||
line-height: 80upx;
|
||
padding: 0 30upx;
|
||
}
|
||
|
||
.dy-card-content {
|
||
padding: 0upx 30upx 30upx;
|
||
}
|
||
|
||
.dy-card-content-item {
|
||
margin-top: 20upx;
|
||
}
|
||
|
||
.dy-card-content-item .title {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
/* 注释掉未使用的样式 */
|
||
/* .dy-card-content-item .title .l {
|
||
width: 10upx;
|
||
height: 30upx;
|
||
border-radius: 20upx;
|
||
background-color: #666;
|
||
margin-right: 10upx;
|
||
} */
|
||
|
||
.dy-card-content-item .content,
|
||
.dy-card-content-item .name text {
|
||
background-color: #F1F1F1;
|
||
padding: 10upx 14upx;
|
||
margin-top: 14upx;
|
||
line-height: 1.6;
|
||
display: inline-block; /* 如果需要显示为inline-block */
|
||
}
|
||
|
||
.image-upload-container {
|
||
position: relative;
|
||
padding: 10px;
|
||
}
|
||
|
||
.upload-image {
|
||
width: 100%; /* 宽度占满容器,根据需要调整 */
|
||
height: auto; /* 高度自适应 */
|
||
border-radius: 4px; /* 轻微圆角 */
|
||
}
|
||
|
||
.image-preview {
|
||
position: relative;
|
||
width: 90px; /* 根据需要调整 */
|
||
height: 90px; /* 根据需要调整 */
|
||
margin-right: 10px; /* 与下一张图片的间距 */
|
||
display: inline-block; /* 使图片并排显示 */
|
||
}
|
||
|
||
.delete-icon {
|
||
position: absolute;
|
||
top: -10px; /* 超出图片范围的一部分,根据需要调整 */
|
||
right: -10px; /* 超出图片范围的一部分,根据需要调整 */
|
||
background-color: #ff4949; /* 您的红色背景 */
|
||
width: 20px; /* 删除图标的大小,根据实际情况调整 */
|
||
height: 20px;
|
||
border-radius: 10px; /* 圆形 */
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.delete-icon text {
|
||
color: white; /* 图标颜色为白色 */
|
||
font-size: 14px; /* 图标大小,根据需要调整 */
|
||
}
|
||
|
||
</style>
|