<template>
  <div id="">
    <a-form
      :model="problemForm"
      :label-col="{span: 6}"
      :wrapper-col="{span: 18}"
      :rules="rules"
      ref="problemForm">
      <a-form-item>
        <a-button type="link" @click="selectPblm" style="float: left;">选择问题</a-button>
      </a-form-item>
      <a-form-item label="问题类别" style="text-align:left">
        <a-select v-model:value="t1" placeholder="请选择" disabled>
          <a-select-option v-for="(item, index) in problemList" :key="index" :value="item.inspPblmsName">{{
            item.inspPblmsName }}</a-select-option>
        </a-select>
      </a-form-item>
      <a-form-item label="检查项目" style="text-align:left">
        <a-select v-model:value="t2" placeholder="请选择" disabled>
          <a-select-option v-for="(item, index) in currentCheckPointList" :key="index" :value="item.checkPointName">{{
            item.checkPointName
          }}</a-select-option>
        </a-select>
      </a-form-item>
      <a-form-item label="问题描述" style="text-align:left">
        <a-textarea v-model:value="t3" :rows="4" placeholder="" disabled />
      </a-form-item>
      <!-- <a-form-item label="详情" style="text-align:left">
        <span>{{ t3 }}</span>
      </a-form-item> -->
      <a-form-item label="严重程度" style="text-align:left" prop="inspPblmCate">
        <p v-if="inspPblmCate == 0">一般</p>
        <p v-if="inspPblmCate == 1">较重</p>
        <p v-if="inspPblmCate == 2">严重</p>
        <p v-if="inspPblmCate == 3">特别严重</p>
      </a-form-item>
      <!-- <a-form-item label="典型问题" style="text-align:left">
        <a-radio-group v-model:value="problemForm.ifCasePblm">
          <a-radio value="1">是</a-radio>
          <a-radio value="0">否</a-radio>
        </a-radio-group>
      </a-form-item> -->
      <a-form-item label="详细描述">
        <a-textarea v-model:value="problemForm.inspPblmDesc" :rows="2" placeholder="请输入内容" required />
      </a-form-item>
      <a-form-item label="备注">
        <a-textarea v-model:value="problemForm.note" :rows="2" placeholder="请输入内容" />
      </a-form-item>
      <a-form-item label="上传照片">
        <upload ref="uploadFile" :url="`/pdcApi/file/insert?bizId=`" @uploadOver="removeNewSupervision"></upload>
      </a-form-item>
      <a-form-item :wrapper-col="{ span: 18, offset: 6 }" style="margin-top: 50px">
        <a-button type="primary" @click="onSubmit('problemForm')" style="width: 100px;float:right">保存</a-button>
      </a-form-item>
    </a-form>
    <a-modal :open="pblmEascaderVisible" class="pblmEascader" title="选择问题" width="60%">
      <pblmEascader :objType="109" @modelData="modelData" :vmodelData="newPblmValue" :t3="t3"></pblmEascader>
      <span slot="footer">
        <a-button @click="pblmEascaderVisible=false">返 回</a-button>
        <a-button type="primary" @click="submitEascader">确 定</a-button>
      </span>
    </a-modal>
  </div>
</template>

<script>
import { submitUpload } from '../../../api/duChaAPI.js';
import request from '../../../utils/gw_ajax_request.js';
import upload from '../../../widgets/uploadFile.vue';
import pblmEascader from '../../duChaTianBao/project/pblmEascader';
export default {
  props: [
    'objId',
    'objName',
    'villType',
    'objType',
    'problemMiddleType',
    'problemSmallType',
    'engId',
    'currentObjectRgstrId',
    'newModelData',
    'type',
  ],
  data() {
    return {
      problemForm: {
        t1: '',
        t2: '',
        t3: '',
        villType: '',
        objId: '',
        regid: '',
        objType: '',
        inspPblmCate: '',
        inspPblmDesc: '',
        ifCasePblm: '0',
        pblmStat: '',
        dataStat: '',
        nm: '',
        recPers: '',
        note: '',
        gwComFiles: [
          {
            id: '',
            filePath: '',
            bizId: '',
          },
        ],
      },
      inspPblmCate: '',
      inspPlamCatelist: ['一般', '较重', '严重'],
      imgList: [],
      videoList: [],
      audioList: [],
      pblmStat: '',
      gwComFiles: [],
      problemList: [],
      currentCheckPointList: [],
      currentProblemDescList: [],
      t1: '',
      t2: '',
      t3: '',
      xiangqingmiaoshu: '',
      wenTiLeiBie: '',
      jianChaXiangMu: '',
      rules: {
        inspPblmDesc: [
          {
            required: true,
            message: '请输入描述',
            trigger: 'blur',
          },
        ],
      },
      pblmEascaderVisible: false,
      newPblmValue: [],
    };
  },
  components: {
    upload,
    pblmEascader,
  },
  computed: {
    recPers() {
      return localStorage.getItem('persId')
        ? localStorage.getItem('persId')
        : '';
    },
  },
  mounted() {
    this.newPblmValue = this.newModelData;
    if (this.newPblmValue) {
      this.t1 = this.newPblmValue.model[0];
      this.t2 = this.newPblmValue.model[1];
      this.t3 = this.newPblmValue.label;
      this.getYanZhongChengDu();
    }
  },
  methods: {
    getYanZhongChengDu() {
      request
        .post('/dc/insp/pblms/getByPblms', {
          inspPblmsName: this.t1,
          checkPoint: this.t2,
          pblmDesc: this.t3,
          type: '109',
        })
        .then((res) => {
          if (res.success) {
            console.log('验证' + res);
            this.inspPblmCate = res.data.inspPblmCate;
            this.problemForm.note = res.data.note;
          }
        });
    },
    onSubmit(problemForm) {
      this.$refs[problemForm].validate((valid) => {
        if (valid) {
          this.problemForm.villType = '0';
          this.problemForm.recPers = this.recPers;
          this.problemForm.objId = this.objId;
          this.problemForm.regid = this.currentObjectRgstrId;
          this.problemForm.nm = this.objName;
          this.problemForm.objType = this.objType;
          this.problemForm.pblmStat = '0';

          this.problemForm['inspPblmName'] = this.t1;
          this.problemForm['inspPblmDesc'] = this.problemForm.inspPblmDesc;
          this.problemForm['inspPlbmType'] = this.t2;
          // this.problemForm['inspPblmName'] = this.t3.pblmDesc;
          this.problemForm['inspPblmCode'] = this.t3;
          this.problemForm['pblmsTypeId'] = this.newPblmValue.model[2];
          if (!this.problemForm.inspPblmName) {
            this.$message.info('问题类别不能为空');
            return;
          }
          if (!this.problemForm.inspPlbmType) {
            this.$message.info('检查项目不能为空');
            return;
          }
          if (!this.problemForm.inspPblmCode) {
            this.$message.info('问题描述不能为空');
            return;
          }
          request.post('/dc/insp/pblm', this.problemForm).then((res) => {
            if (res.success) {
              this.pblmId = res.data.pblmId;
              this.gwComFiles = [];
              this.pblmStat = res.data.pblmStat;
              if (this.$refs.uploadFile.submitUpload(res.data.pblmId)) {
                this.removeNewSupervision();
              }
            }
          });
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    // 文件上传
    submitUpload() {
      this.$refs.upload.submit();
    },
    updatefilelist(arg) {
      request
        .post('/dc/insp/pblm/update', {
          pblmId: this.pblmId,
          gwComFiles: arg,
          pblmStat: this.pblmStat,
        })
        .then((res) => {
          this.removeNewSupervision();
        });
    },
    removeNewSupervision(arg) {
      if (arg) {
        console.log(arg);
        var args = this.gwComFiles.concat(arg);
        this.updatefilelist(args);
      }
      this.$message.success('保存成功');
      this.$emit('closeDialog');
      this.gwComFiles = [];
      this.$refs.uploadFile.init();
    },
    problemListChange: function (item) {
      this.currentCheckPointList = item.checkPoints;
    },
    currentCheckPointListChange: function (item) {
      this.currentProblemDescList = item.pblmDescs;
    },
    // currentProblemDescListChange: function (item) {
    //     console.log(item);
    // },
    modelData(val) {
      this.newPblmValue = val;
      this.t1 = this.newPblmValue.model[0];
      this.t2 = this.newPblmValue.model[1];
      this.t3 = this.newPblmValue.label;
      this.getYanZhongChengDu();
    },
    selectPblm() {
      this.pblmEascaderVisible = true;
    },
    submitEascader() {
      if (!this.newPblmValue.model.length) {
        this.$message.warning('问题不能为空');
        return;
      }
      this.pblmEascaderVisible = false;
    },
  },
};
</script>

<style lang='less' scoped>

</style>
