zhanghua
2022-11-29 55b0cd22baf5aa729253639877e5bf3656144bf9
src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue
@@ -1,63 +1,111 @@
<template>
    <div class="vio">
        <!-- 到达现场情况 -->
        <MyArrive ref="arrive"></MyArrive>
        <!-- 调查取证 -->
        <MyEvidence ref="evidence"></MyEvidence>
        <!-- 底部按钮 -->
        <div class="footer">
            <el-button @click="handleSubmit" type="primary">确定</el-button>
            <el-button>返回</el-button>
        </div>
  <div class="vio">
    <!-- 到达现场情况 -->
    <MyArrive ref="arrive" :arriveData="arriveData"></MyArrive>
    <!-- 调查取证 -->
    <MyEvidence
      ref="evidence"
      :evidenceData="evidenceData"
      :mytype="1"
      :mycode="mycode"
    ></MyEvidence>
    <!-- 底部按钮 -->
    <div class="footer">
      <el-button @click="handleSubmit" type="primary">确定</el-button>
      <el-button @click="handleBack">返回</el-button>
    </div>
  </div>
</template>
<script>
import MyArrive from '../components/arrive'
import MyEvidence from "../components/evidence"
export default {
    components:{
        MyArrive,MyEvidence
    },
    data() {
        return {
import MyArrive from "../components/arrive";
import MyEvidence from "../components/evidence";
import casequery from "@/api/operate/basecase";
export default {
  components: {
    MyArrive,
    MyEvidence,
  },
  data() {
    return {
      arriveData: null,
      evidenceData: null,
    };
  },
  props: ["caseId", "closeDialog", "mycode", "vioData", "imageResourceId"],
  created() {
    this.arriveData = this.vioData.arrivalSituation;
    this.evidenceData = this.vioData.investigation;
  },
  methods: {
    handleSubmit() {
      const { arrive, evidence } = this.$refs;
      const { arriveForm } = arrive.$refs;
      const { evidenceForm } = evidence.$refs;
      arriveForm.validate((valid) => {
        if (valid) {
          evidenceForm.validate((flag) => {
            if (flag) {
              const arriveData = Object.assign({}, arrive.arrive);
              const evidenceData = Object.assign({}, evidence.evidence);
              const { partyInfo } = evidenceData;
              const arrivalSituationId = arriveData.id;
              const investigationId = evidenceData.id;
              const partyInfoId = partyInfo ? partyInfo.id : 0;
              const evidencePic = evidenceData.pic.join(",");
              const situationPic = arriveData.situationPic.join(",");
              delete evidenceData.id;
              delete evidenceData.partyInfo;
              delete evidenceData.pic;
              delete arriveData.situationPic;
              delete arriveData.id;
              casequery
                .updateDisposeResult({
                  caseId: this.caseId,
                  imageResourceId: this.imageResourceId,
                  pic: evidencePic,
                  arrivalSituationId,
                  situationPic,
                  partyInfoId,
                  investigationId,
                  ...arriveData,
                  ...evidenceData,
                  ...partyInfo,
                })
                .then(() => {
                  this.$message.success("操作成功");
                  this.$emit("closeDialog");
                })
                .catch((err) => {
                  this.$message.error(err);
                });
            } else {
              return false;
            }
          });
        } else {
          evidenceForm.validate((flag) => {
            if (!flag) {
              return false;
            }
          });
          return false;
        }
      });
    },
    methods:{
        handleSubmit(){
            const {arrive,evidence} = this.$refs;
            const {arriveForm} = arrive.$refs;
            const {evidenceForm} = evidence.$refs;
            console.log(evidenceForm);
            arriveForm.validate((valid)=>{
                console.log(valid);
                if(valid){
                    evidenceForm.validate((flag)=>{
                        if(flag){
                            console.log(flag);
                        }else{
                            return false;
                        }
                    })
                }else{
                    evidenceForm.validate((flag)=>{
                        if(!flag){
                            return false;
                        }
                    })
                    return false;
                }
            })
        }
    }
}
    handleBack() {
      this.$emit("closeDialog", { flag: false });
    },
  },
};
</script>
<style lang="scss" scoped>
    .vio{
        padding: 20px 200px;
    }
.vio {
  padding: 20px 200px 100px;
}
.footer {
        display: flex;
        justify-content: flex-end;
    }
  display: flex;
  justify-content: flex-end;
}
</style>