<template>
  <div class="header">
    <div class="topheader">
      <div style="float: right;height:0;">
        <el-button style="margin: 10px 10px 0 0;" @click="goback">返回</el-button>
      </div>
      <div class="user">
        <img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="" v-if="list.sex == 'MALE'" />
        <img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt="" v-if="list.sex == 'FEMALE'" />
        <div class="name">
          {{ list.patientName }}
        </div>
        <div class="gender">
          {{ list.sex == "MALE" ? "男" : list.sex == "FEMALE" ? "女" : "" }}
        </div>
        <div class="age">
          {{ list.age }}
        </div>
        <div class="source">
          <div class="item" style="color: #00e06e; border-color: #00e06e"
            v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'">
            <img src="../../../assets/manage/gzh.png" alt="" style="width: 24px" />
            <div>公众号</div>
          </div>
          <div class="item" style="color: #339de5; border-color: #339de5" v-if="list.patientSource == 'WE_CHAT_APPLET'">
            <img src="../../../assets/manage/xcx.png" alt="" />
            <div>小程序</div>
          </div>
          <div class="item" style="color: #f4881f; border-color: #f4881f" v-if="list.patientSource == 'MANAGE_END'">
            <img src="../../../assets/manage/gld.png" alt="" />
            <div>管理端</div>
          </div>
        </div>
      </div>
      <div class="information">
        <div class="top">
          <div>身份证号：{{ list.cardNo }}</div>
          <div>患者电话：{{ list.patientPhone }}</div>
          <div style="width: 50%">出生日期：{{ list.birthDate }}</div>
        </div>
        <div class="bottom">
          <div>问卷总分：{{ questiondata.questionnaireTotalScore }}</div>
          <div style="width: 50%">问卷得分：{{ questiondata.totalScore }}</div>
        </div>
      </div>
    </div>
    <div class="bottomheader">
      <!-- 问卷模板 -->
      <div class="right">
        <div class="words" v-for="(item, index) in questiondata.subjectResultList" :key="index">
          {{ index + 1 }}.{{ item.questionName }}
          <span v-if="item.questionType == 'MULTIPLE_CHOICE'">（单选题）</span>
          <span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'">（多选题）</span>
          <span v-if="item.questionType == 'SCORING_QUESTIONS'">（打分题）</span>
          <span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'">（组合单选题）</span>
          <span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">（组合多选题）</span>
          <span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'">（组合填空题）</span>
          <span v-if="item.questionType == 'FILL_IN_THE_BLANKS'">（填空题）</span>
          <span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'">（组合打分题）</span>
          <span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'">（日期填空题）</span>
          <span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">（时间填空题）</span>
          <el-radio-group v-if="item.questionType == 'MULTIPLE_CHOICE' ||
          item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
          item.questionType == 'SCORING_QUESTIONS' ||
          item.questionType == 'COMBINATION_SCORING_SUBJECT'
          " v-model="item.checked" class="custom-radio-group" @change="radioGroupChange($event, item)">
            <el-radio disabled class="custom" v-for="(aitem, aindex) in item.optionResults" :key="aindex"
              :label="aitem.id" @change="radioChange($event, aitem, index)">{{ aitem.optionName }}</el-radio>
          </el-radio-group>
          <!-- 多选、组合多选 -->
          <el-checkbox-group v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
          item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
          ">
            <el-checkbox disabled v-for="(aitem, aindex) in item.optionResults" :key="aindex" :label="aitem.id"
              @change="radioChangecheck($event, aitem, index, aindex)">{{ aitem.optionName }}</el-checkbox>
          </el-checkbox-group>
          <!-- 填空题、组合填空 -->
          <div v-if="item.questionType == 'FILL_IN_THE_BLANKS' ||
          item.questionType == 'COMBINATION_BLANKS_SUBJECT'
          " class="tk">
            <el-input disabled v-model="item.fillBlanksAnswer" placeholder="请输入答案" type="textarea" />
            <!-- <el-input></el-input> -->
          </div>
          <!-- 日期填空题、 -->
          <div v-if="item.questionType == 'DATE_BLANKS_SUBJECT'" style="margin: 20px 0 10px 30px">
            <el-date-picker disabled @change="timepicker($event, index)" clearable v-model="item.fillBlanksAnswer"
              type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
            </el-date-picker>
          </div>
          <!-- 时间填空题 -->
          <div style="margin: 20px 0 10px 30px" v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">
            <el-time-select disabled @change="timepickerselect($event, index)" clearable v-model="item.fillBlanksAnswer"
              :picker-options="{
          start: '08:30',
          step: '00:30',
          end: '23:30',
        }" placeholder="选择时间">
            </el-time-select>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import {
  selectQuestionnaireResult
} from "@/api/system/SatisfactionQuestionnaireDetails";
export default {
  name: "SatisfactionQuestionnaireDetails",
  data() {
    return {
      checkeddata: [],
      formlists: {},
      baseUrl: process.env.VUE_APP_BASE_API,
      radio: "1",
      activeName: "first",
      id: "",
      list: [],
      questiondata: {
        totalScore: 0, //总分
        routeHandlePerson: null,
        routeHandleId: null,
      },
      formview: [],
      // 电话外呼
      formlist: {},
      materialsFilePath: "",
      materialsType: "",
      // rules: {
      //   routeHandleRemark: [
      //     { required: true, message: "请输入任务处理信息", trigger: "change" },
      //   ],
      // },
    };
  },
  created() {
    this.list = this.$route.query
    this.selectlist();
  },
  methods: {
    // 问卷和随访
    selectlist() {
      selectQuestionnaireResult(this.$route.query.patientQuestionSubmitResultId).then((res) => {
        this.questiondata = res.data;
        if (this.$route.query.routeHandleRemark) {
          this.questiondata.routeHandleRemark =
            this.$route.query.routeHandleRemark;
        }
        this.questiondata.subjectResultList.forEach((e) => {
          e.optionResults.forEach((el) => {
            // console.log(el, "el");
            if (
              (el.optionChooseSign == "0" &&
                e.questionType == "MULTIPLE_CHOICE") ||
              e.questionType == "COMBINATION_RADIO_SUBJECT"
            ) {
              e.checked = el.id;
            } else if (
              el.optionChooseSign == "0" &&
              e.questionType == "MULTIPLE_CHOICE_QUESTIONS"
            ) {
              this.checkeddata.push(el.id);
            } else if (
              el.optionChooseSign == "0" &&
              e.questionType == "SCORING_QUESTIONS"
            ) {
              e.checked = el.id;
            } else if (
              e.questionType == "COMBINATION_MULTIPLE_SUBJECT" &&
              el.optionChooseSign == "0"
            ) {
              this.checkeddata.push(el.id);
            }
          });
        });
      });
    },
    // 日期填空题
    timepicker(e, index) {
      this.questiondata.questionSubjectList[index].optionAnswer = e;
    },
    // 时间填空题
    timepickerselect(e, index) {
      console.log(e);
      this.questiondata.questionSubjectList[index].optionAnswer = e;
    },
    radioGroupChange(e, item) { },
    // 选中某个单选框时，由radio时触发
    radioChange(e, item, index) {
      console.log(e, item, index, "选中某个单选框时");
      this.questiondata.questionSubjectList[
        index
      ].questionSubjectOptionList.forEach((el) => {
        if (el.id == item.id) {
          el.optionChooseSign = "0";
        } else {
          el.optionChooseSign = "1";
        }
      });
    },
    // 复选框
    radioChangecheck(e, item, index, aindex) {
      console.log(e, item, index, "选中某个复选框时");
      if (e == true) {
        this.questiondata.questionSubjectList[index].questionSubjectOptionList[
          aindex
        ].optionChooseSign = "0";
      } else {
        this.questiondata.questionSubjectList[index].questionSubjectOptionList[
          aindex
        ].optionChooseSign = "1";
      }
    },
    goback() {
      this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
        this.$router.push({
          path: "/satisfactionSurvey/satisfactionSurvey",
        });
      })
    },
  },
};
</script>
<style lang="scss" scoped>
.tk {
  ::v-deep .el-textarea__inner {
    margin: 20px 0 10px 30px;
  }
}

::v-deep .el-radio {
  padding: 10px;
}

::v-deep .el-checkbox-group {
  display: flex;
  flex-direction: column;
  padding: 10px 0px 10px 24px;
}

::v-deep .el-checkbox {
  padding: 10px 0 10px 0px;
  // padding: 10px;
}

.custom-radio-group {
  display: flex;
  flex-direction: column;
  padding: 10px 0 10px 10px;

  .custom {
    padding: 10px 0 10px 10px;
  }
}

.custom-radio-group {
  display: flex;
  flex-direction: column;
  padding: 10px 0 10px 10px;

  .custom {
    padding: 10px 0 10px 10px;
  }
}

.bodytop {
  position: relative;
  top: 20px;
  height: 500px;
  width: 600px;
  margin: 0 auto;
  // background: red;f
  overflow: auto;
  border: 1px solid #e2e2e2;

  .titledata {
    margin: 30px 0px 15px 30px;
    top: 14px;
    font-size: 20px;
  }

  .audiotop {
    margin: 10px 0px 10px 30px;
  }

  img {
    // width: 362px;
    // height: 127px;
    margin: 0px 0px 0px 30px;
  }

  video {
    margin: 0px 0px 0px 30px;
  }

  .know {
    margin: 11px 0px 10px 30px;
    font-size: 20px;
    font-weight: 550;
  }

  .knowlist {
    margin: 10px 0px 10px 30px;
    font-size: 16px;
  }
}

.right {
  width: 100%;
  height: 500px;
  // background: yellow;
}

.header {
  background-color: #f1f3f5;
  padding-top: 10px;

  ::v-deep .el-tabs__header {
    margin: 0 !important;
    width: 100%;
    // overflow: auto;
    // height: 500px;
    // background: red;
  }

  .bottomheader {
    overflow: auto;
    width: 99%;
    background-color: #fff;
    margin: 10px auto;
    padding: 10px 20px;

    .sport {
      padding: 10px 50px 10px 10px;
      font-size: 20px;
      font-weight: 600;
    }

    .words {
      font-size: 15px;
      padding: 10px 50px 10px 10px;
    }

    .sports {
      position: absolute;
      left: 50%;
      transform: translate(-50%);
      font-size: 18px;
      font-weight: 600;
    }

    .word {
      font-size: 14px;
      font-weight: 550;
      padding: 50px 50px 10px 10px;
    }

    .videoleft {
      width: 40%;
      height: 200px;
      background: red;
    }

    .time {
      font-size: 20px;
      font-weight: 550;
      padding: 10px 50px 10px 10px;
    }

    .number {
      width: 25px;
      height: 25px;
      text-align: center;
      display: inline-block;
      color: white;
      background: blue;
      border-radius: 50%;
    }

    .nexttime {
      font-size: 15px;
      padding: 10px 50px 10px 10px;
    }

    .images {
      width: 53%;
      height: 241px;
      margin: 0 auto;
      background: red;
    }

    .attention {
      font-size: 14px;
      font-weight: 550;
      padding: 10px 50px 10px 10px;
    }

    // .videobottom
    // {
    //   font-size: 14px;
    //   font-weight: 550;
    //   padding: 10px 50px 10px 10px;
    // }
  }

  .topheader {
    width: 99%;
    background-color: #fff;
    margin: 0 auto;

    .information {
      display: flex;
      flex-wrap: wrap;
      padding: 10px 20px;
      height: 110px;

      .top,
      .bottom {
        color: #666666;
        width: 100%;
        display: flex;

        div {
          width: 25%;
        }
      }
    }

    .user {
      width: 100%;
      padding: 0 20px;
      display: flex;
      height: 80px;
      align-items: center;
      line-height: 80px;

      .source {
        display: flex;

        .item {
          line-height: 30px;
          font-size: 14px;
          margin-left: 20px;
          border: 1px solid #c7c7c7;
          width: 100px;
          border-radius: 5px;
          justify-content: center;
          height: 30px;
          display: flex;
          align-items: center;

          img {
            margin-right: 10px;
            width: 20px;
            height: 20px;
          }
        }
      }

      .name {
        font-size: 20px;
        padding-left: 12px;
      }

      .gender {
        padding-left: 10px;
      }

      .age {
        padding-left: 10px;
      }

      .headsculpture {
        border-radius: 50%;
        width: 40px;
        height: 40px;
      }
    }
  }
}
</style>
