<template>
  <div class="treat-wrap">
    <div v-for="(it,i) in dtoList" 
        v-if="dtoList"
        :key="it.id"
        class="label">
      <p class="quest">{{i + 1 +'.' + (it.description||it.name)}}</p>
      <img class="questionImg" :src="it.url.replace('{imageUrlPrefix}',imgUrl)" v-if="it.url">
        <Label v-if="it.controlType==0" 
              :item="it" 
              :indx="i" 
              :ppId="it.id"
              :moduleType="datas.type"
              @setDetail="setDetail"/>
        <!-- 上传图片 -->
        <UploadImg v-if="it.controlType==4" 
            :item="it" 
            :moduleType="datas.type"
            :imgList="imgs"
            />
        <!-- 输入框 -->
        <Input v-if="it.controlType==6 || it.controlType==7"
            :item="it"
            :key="it.id"
            @updata="updataData($event,it.id)"/>
        <!-- 文本域 -->
        <ComTextArea v-if="it.controlType == 5"
            :item="it"
            @updata="updataData($event,it.id)"/>
        <Radio v-if="it.controlType==1" 
            :item="it"
            :key="it.id"
            @updata="updataData($event,it.id)"/>
        <CheckBox v-if="it.controlType==2" 
            :item="it"
            :key="it.id"
            @updata="updataData($event,it.id)"/>
    </div>
    <div class="result" v-if="checkText.length>0">
      <p class="title">{{datas.name}}</p>
      <!-- <p v-for="(v,i) in checkText">{{v.text}}</p> -->
      <p>{{getText()}}</p>
    </div>

    <div class="foot" v-if="modluesLen==2">
      <span class="back" @click="beBack">{{'返回'+ preName}}</span>
      <span class="next" @click="toNext">{{'预览并提交病历'}}</span>
    </div>
    <div class="foot" v-else>
      <span class="back" @click="beBack">{{'返回'+ preName}}</span>
      <span class="next" @click="toNext">{{'进入'+ nextName}}</span>
    </div>
    <div class="detail" v-if="show">
    <DetailBox @close="closeDetal" 
            :data="labelDetail" 
            :moduleType="datas.type"
            :ppId="ppId"
            v-if="labelDetail.questionMapping&&labelDetail.questionMapping.length>0"
            @pComplete="complete"/>
    </div>
  </div>
</template>
<script type="text/javascript">
  import UploadImg from '../common/UploadImg.vue';
  import Label from '../common/Label.vue';
  import DetailBox from './DetailBox.vue';
  import Input from '../common/Input.vue';
  import ComTextArea from '../common/ComTextArea.vue';
  import {moduleCP,patt,imageUrlPrefix} from '@utils/tools';
  import Radio from '../common/Radio.vue';
  import CheckBox from '../common/CheckBox.vue';
  export default {
    name:'DiagTreat',
    data(){
      let {origin,text,datas} = this.$store.state.diagnose;
      return{
        msg:"诊疗情况",
        imgs:this.$store.state.diagnose.imgSrc,
        // dtoList:origin, //模板数据
        dtoList:datas, //模板数据
        labelDetail:{}, //标签明细
        checkText:text, //选中的文字-Arr
        show:false,
        ppId:null,
        imgUrl:imageUrlPrefix,
      }
    },
    props:['datas','preName','nextName','modluesLen'],
    methods:{
      beBack(){
        this.$emit('back');
      },
      toNext(){
        if(this.modluesLen==2){
          this.$emit('next','preview')
        }else{
          this.$emit('next');
        }
      },
      setDetail(obj){
        this.labelDetail = obj.detail;
        this.ppId = obj.ppId;
        this.show = true;
      },
      complete(){
        this.show = false;
        this.labelDetail = {};
        this.ppId = null;
        // 处理明细选中的值
      },
      closeDetal(){
        this.show = false;
        this.labelDetail = {};
        this.ppId = null;
      },
      getText(){
        let textArr = this.checkText;
        let msg = "";
        for(let k in textArr){
          if(textArr[k].textP){
            msg += textArr[k].textP + '；'
          }
        }          
        return msg;
      },
      updataData(data,id){//输入框存值
        let list = this.dtoList;
        for(let i in list){
          if(list[i].id==data.id){
            list.splice(i,1,data)
          }
        }
        this.$store.commit('setDatas',{type:moduleCP['diagT'],data:data,pId:data.id,ppId:id});
        this.$store.commit('setText',{type:moduleCP['diagT'],text:data.value.replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,''),textP:data.valueP.replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,''),pId:data.id,flag:true}); 
      }
    },
    components:{
      UploadImg,
      Label,
      DetailBox,
      Input,
      ComTextArea,
      Radio,
      CheckBox
    },
    /*watch:{
      dtoList:{
        handler(newVal,oldVal){
        },
        deep:true
      }
    },*/
  }
</script>
<style lang="less" scoped>
@import '../less/base.less';
  .treat-wrap{
    font-size: .3rem;
    .quest{
      color: #000;
      margin-bottom: .36rem;
      font-weight: 700;
    }
    .label{
      .label;
      /* img{
        width:.56rem;
        height: .74rem;
        vertical-align: top;
      } */
    }
    .result{
      .result;
    }
  }
  .foot{
    .dbfooter;
  }
  .detail{
    .mask;
    z-index: 66;
  }
  
.footer{
  .footer;
}
.questionImg {
  width: 96%;
}
</style>
