<!-- 收到随手拍详情 -->
<template>
    <view id="casuallyPatInfo">
        <view class="big-box">
			<view class="title-box">
			    <view>{{newData.handleStatus == 0?'问题发现人：':'问题反馈人：'}}</view>
			    <view>{{newData.applyName}}</view>
			</view>
			<view class="title-box">
			    <view>{{newData.handleStatus == 0?'发现时间：':'反馈时间：'}}</view>
			    <view>{{newData.createTimeStr2}}</view>
			</view>
            <view class="title-box">
                <view>实验室名称：</view>
                <view>{{newData.subName}}</view>
            </view>
            <view class="title-box">
                <view>描述：</view>
                <view>{{newData.describe}}</view>
            </view>
            <view class="img-max-box">
                <view class="img-title-box">现场照片：</view>
                <view class="img-for-max-box">
                    <img :src="baseUrl+img" v-for="(img,index) in newData.imgList" :key="index" @click="clickImg(img)">
                </view>
            </view>
			<view class="tip"></view>
			<view class="title-box" v-if="newData.handleStatus == 1">
			    <view>处理人：</view>
			    <view>{{newData.handleName}}</view>
			</view>
			<view class="title-box" v-if="newData.handleStatus == 1">
			    <view>处理时间：</view>
			    <view>{{newData.handleDescribe}}</view>
			</view>
			<view class="input-box">
			    <view class="left-box">处理描述：</view>
			    <textarea :disabled="newData.handleStatus==1" v-model="formData.handleDescribe" maxlength="200" placeholder="请输入描述"></textarea>
			</view>
			<view class="up-img-box">
			    <view class="title-view">处理后照片:</view>
			    <view class="img-max-box">
			        <view class="img-box" v-for="(item,index) in formData.handleImg" :key="index">
			            <img class="img-data" :src="baseUrl+item" @click="clickImg(item)">
			            <img class="position-img" src="@/pages_manage/images/icon_ssp_closure.png" v-if="newData.handleStatus==0" @click="delImg(index)">
			        </view>
			        <img class="add-button" src="@/pages_manage/images/icon_07.png" @click="selectImage" v-if="newData.handleStatus==0">
			    </view>
			</view>
        </view>
        <view class="bottom-button-box" :class="newData.handleStatus == 0?'colorA':'colorB'" @click="clickButton">{{newData.handleStatus == 0?'处理':'已处理'}}</view>
    </view>
</template>

<script>
    import { getPhotonote,editPhotoNote,groupListRead} from '@/api/index.js'
	import { config } from '@/api/request/config.js'
    export default {
        data() {
            return {
				baseUrl:config.base_url,
                itemData:{},
                newData:{},
				formData:{
					handleDescribe:'',
					handleImg:[],
				},
            }
        },
        onLoad(option) {
            this.itemData = JSON.parse(decodeURIComponent(option.item));
            console.log("this.itemData",this.itemData)

            this.getPhotonote();
			if(this.itemData.isApply==2){
				this.readNnreadFun();
			}

        },
        methods: {
			//已读未读

			async readNnreadFun() {
			    let self = this;
			    const {data} = await groupListRead({messageId:this.itemData.messageId})
			    if(data.code==200){
					console.log(data.data.dynamicId)
					self.itemData.id=data.data.dynamicId
					console.log(self.itemData.id)
					 this.getPhotonote();
			    }
			},

            clickButton(){
                let self = this;
                if(self.newData.handleStatus == 0){
                    uni.showModal({
                        content: '确认处理吗?',
                        cancelColor:"#999",
                        confirmColor:"#0183FA",
                        success: function (res) {
                            if (res.confirm) {
                                self.editPhotoNote();
                                console.log('用户点击确定');
                            } else if (res.cancel) {
                                console.log('用户点击取消');
                            }
                        }
                    });
                }
            },
            //确认处理随手拍
            async editPhotoNote(){
                let obj = {
                  id:this.itemData.id,
                };
                const {data} = await editPhotoNote(
                    {
                        id:this.itemData.id,
						handleDescribe:this.formData.handleDescribe,
						handleImg:this.formData.handleImg.join(','),
                    }
                );
                if(data.code == 200){
                    uni.showToast({
                        title: '处理成功',
                        icon:"none",
                        mask:true,
                        duration: 2000
                    });
                    setTimeout(function(){
                        uni.navigateBack();
                    },2000);
                }
            },
            //获取管理员工作台随手拍数量数据
            async getPhotonote(){
                const {data} = await getPhotonote(this.itemData.id);
                if(data.code == 200){
                    this.newData = data.data;
					if(data.data.handleImg){
						this.formData.handleDescribe=data.data.handleDescribe;
						this.formData.handleImg=data.data.handleImg.split(',');
					}

                    this.newData.imgList = data.data.imgUrl.split(",");

                }
            },
			// 图片上传
			selectImage(index) {
			    let self = this;
			    if(self.formData.handleImg.length>4){
			        uni.showToast({
			            title: '最多上传5张图片',
			            icon:"none",
			            mask:true,
			            duration: 2000
			        });
			        return
			    }
			    wx.chooseImage({
			        count: 1,
			        sizeType: ["original", "compressed"],
			        sourceType: ["album", "camera"],
			        success: function(res) {
						console.log(res)
			            let tempFilePaths = res.tempFilePaths[0];
			            self.uploadImg(tempFilePaths,index);
			        }
			    });
			},
			async uploadImg(tempFilePaths,index){
			    var self = this;
			    uni.showLoading({
			        title: '上传中',
			        mask: true
			    });
			    uni.uploadFile({
			        url: config.base_url+'/base/file/upload', //仅为示例，非真实的接口地址
			        header:{'Authorization':uni.getStorageSync('token')},
			        filePath: tempFilePaths,
			        name: 'file',
			        formData: {
			            'user': 'test'
			        },
			        success: (uploadFileRes) => {
			            let res = JSON.parse(uploadFileRes.data);
						if(res.code == 200){
							self.formData.handleImg.push(res.data.url);

						}else{
							uni.showToast({
								title: res.msg,
								icon:"none",
								mask:true,
								duration: 2000
							});
						}
			        },
			        fail: err => {},
			        complete: () => {
			            uni.hideLoading()
			        }
			    });
			},
			//删除图片
			delImg(index){
			    this.formData.handleImg.splice(index,1);
			},
            clickImg(url) {
                wx.previewImage({
                    urls: [this.baseUrl+url], //需要预览的图片http链接列表，多张的时候，url直接写在后面就行了
                    current: '', // 当前显示图片的http链接，默认是第一个
                    success: function(res) {},
                    fail: function(res) {},
                    complete: function(res) {},
                })
            }
        }
    }
</script>

<style lang="stylus" scoped>
    #casuallyPatInfo{
        height:100%;
        overflow-y:scroll;
        .big-box{
            overflow hidden
            background #fff
            margin:20rpx;
            border-radius:20rpx;
            padding:20rpx;
            .title-box{
                display flex
                view{
                    line-height:60rpx;
                }
                view:nth-child(1){
                    width:180rpx;
                    font-size:30rpx;
                    color:#999 ;
                }
                view:nth-child(2){
                    font-size:28rpx;
                    flex:1;
                    color:#333333;
                }
            }
            .img-max-box{
                display flex;
				flex-wrap: wrap;
                .img-title-box{
                    width:150rpx;
                    line-height:60rpx;
                    font-size:30rpx;
                    color:#999 ;
                }
                .img-for-max-box{
                    flex:1;
                    margin-top:20rpx;
                    img{
                        height:150rpx;
                        width:150rpx;
                        display inline-block
                        margin: 0 20rpx 20rpx 0;
                    }
                }
            }
             .tip{
				 width: 662rpx;
				 height: 1rpx;
				 border-top :1rpx dashed #e0e0e0;
				 padding-bottom :30rpx;
				 box-sizing :border-box;
			 }
			 .input-box{
                 height:auto;
                 //display flex;


                 .left-box{
                     width:180rpx;
                     line-height:80rpx;
                     font-size: 30rpx;
                     color:#333;
                 }
                 textarea{
                     width:620rpx;
                     border-radius: 10rpx;
                     border:2rpx solid #E0E0E0;
                     height:206rpx;
                     padding:20rpx;
                     font-size: 24rpx;
                     color: #333;
                 }
             }
			 .up-img-box{
            display flex
            margin-top:30rpx;
            .title-view{
                width:180rpx;
                line-height:80rpx;
                font-size: 30rpx;
                color:#333;
            }
            .img-max-box{
                width:510rpx;
                .img-box{
                    display inline-block
                    height:140rpx;
                    width:140rpx;
                    position relative
                    margin:0 20rpx 20rpx 0;
                    .img-data{
                        height:140rpx;
                        width:140rpx;
                    }
                    .position-img{
                        position absolute
                        right:0;
                        top:0;
                        width:36rpx;
                        height:36rpx;
                    }
                }
                .add-button{
                    display inline-block
                    height:150rpx;
                    width:150rpx;
                }
            }
        }

		}
        .bottom-button-box{
            width: 550rpx;
            height: 80rpx;
            border-radius: 20rpx;
            font-size:30rpx;
            line-height:80rpx;
            margin:120rpx auto 40rpx;
            text-align center;
        }
        .colorA{
            color: #ffffff;
            background:#0183fa;
        }
        .colorB{
            color:#333;
            background: #E0E0E0;
        }
    }
</style>
