| | |
| | | <template> |
| | | <div class="vio"> |
| | | <div class="arrive"> |
| | | <div class="arrive-title">到大现场情况</div> |
| | | <div class="arrive-form"> |
| | | <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on"> |
| | | <!-- 到达时间 --> |
| | | <el-form-item label="到达时间" prop="arriveTime"> |
| | | <el-input v-model="arrive.arriveTime"></el-input> |
| | | </el-form-item> |
| | | <!-- 到达地址 --> |
| | | <el-form-item label="到达地址" prop="arriveAddr"> |
| | | <el-input v-model="arrive.arriveAddr"></el-input> |
| | | </el-form-item> |
| | | <!-- 现场情况说明 --> |
| | | <el-form-item label="现场情况说明" prop="arriveCondition"> |
| | | <el-input type="textarea" v-model="arrive.arriveCondition"></el-input> |
| | | </el-form-item> |
| | | <!-- 信访回复说明 --> |
| | | <el-form-item label="信访回复说明" prop="arriveLetter"> |
| | | <el-input v-model="arrive.arriveLetter"></el-input> |
| | | </el-form-item> |
| | | <!-- 现场情况照片 --> |
| | | <el-form-item label="现场情况照片" prop="arrivePhoto"> |
| | | <el-input v-model="arrive.arrivePhoto"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div class="evidence"> |
| | | <div class="evidence-title">调查取证</div> |
| | | <div class="evidence-form"> |
| | | <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on"> |
| | | <!-- 承办队员 --> |
| | | <el-form-item label="承办队员" prop="team"> |
| | | <el-input v-model="evidence.team"></el-input> |
| | | </el-form-item> |
| | | <!-- 协办队员 --> |
| | | <el-form-item label="协办队员" prop="helper"> |
| | | <el-input v-model="evidence.helper"></el-input> |
| | | </el-form-item> |
| | | <!-- 时间 --> |
| | | <el-form-item label="时间" prop="time"> |
| | | <el-input v-model="evidence.time"></el-input> |
| | | </el-form-item> |
| | | <!-- 地址 --> |
| | | <el-form-item label="地址" prop="address"> |
| | | <el-input v-model="evidence.address"></el-input> |
| | | </el-form-item> |
| | | <!-- 案由 --> |
| | | <el-form-item label="案由" prop="cause"> |
| | | <el-input v-model="evidence.cause"></el-input> |
| | | </el-form-item> |
| | | <!-- 承办队员 --> |
| | | <el-form-item label="承办队员" prop="team"> |
| | | <el-input v-model="evidence.team"></el-input> |
| | | </el-form-item> |
| | | <!-- 当事人信息 --> |
| | | <el-form-item label="当事人信息" prop="appender"> |
| | | <el-input v-model="evidence.appender"></el-input> |
| | | </el-form-item> |
| | | <!-- 情况描述 --> |
| | | <el-form-item label="情况描述" prop="description"> |
| | | <el-input v-model="evidence.description"></el-input> |
| | | </el-form-item> |
| | | <!-- 照片附件 --> |
| | | <el-form-item label="照片附件" prop="photo"> |
| | | <el-input v-model="evidence.photo"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <!-- 到达现场情况 --> |
| | | <MyArrive ref="arrive" :arriveData="arriveData"></MyArrive> |
| | | <!-- 调查取证 --> |
| | | <MyEvidence ref="evidence" :illegal-type="illegalType" :evidenceData="evidenceData"></MyEvidence> |
| | | <!-- 底部按钮 --> |
| | | <div class="footer"> |
| | | <el-button>确定</el-button> |
| | | <el-button>返回</el-button> |
| | | <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" |
| | | import casequery from "@/api/operate/basecase"; |
| | | |
| | | export default { |
| | | components: { |
| | | MyArrive, MyEvidence |
| | | }, |
| | | data() { |
| | | return { |
| | | arrive:{ |
| | | |
| | | }, |
| | | arriveRules:{ |
| | | |
| | | }, |
| | | evidence:{ |
| | | |
| | | }, |
| | | evidenceRules:{ |
| | | |
| | | } |
| | | arriveData: null, |
| | | evidenceData: null |
| | | } |
| | | }, |
| | | props: ['caseId', 'closeDialog', 'vioData', 'imageResourceId', 'illegalType'], |
| | | 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 = evidence.user; |
| | | const arrivalSituationId = arriveData.id; |
| | | const investigationId = evidenceData.id; |
| | | const partyInfoId = this.evidenceData ? partyInfo.id : null; |
| | | const evidencePic = evidenceData.pic.join(','); |
| | | const situationPic = arriveData.situationPic.join(','); |
| | | delete evidenceData.id; |
| | | delete evidenceData.partyInfo; |
| | | delete evidenceData.userInfo; |
| | | delete evidenceData.pic; |
| | | delete arriveData.situationPic; |
| | | delete arriveData.id; |
| | | delete partyInfo.illegalType; |
| | | 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; |
| | | } |
| | | }) |
| | | }, |
| | | handleBack(){ |
| | | this.$emit('closeDialog',{flag:false}); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .vio{ |
| | | padding: 50px 100px; |
| | | .arrive-title,.evidence-title{ |
| | | line-height: 40px; |
| | | font-weight: 650; |
| | | font-size: 20px; |
| | | width: 160px; |
| | | padding-right: 12px; |
| | | text-align: right; |
| | | color: #4b9bb7; |
| | | } |
| | | .footer{ |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | } |
| | | ::v-deep .el-input__inner{ |
| | | background-color: #09152f; |
| | | border: 1px solid #17324c; |
| | | } |
| | | ::v-deep .el-textarea__inner{ |
| | | background-color: #09152f; |
| | | border: 1px solid #17324c; |
| | | } |
| | | ::v-deep .el-form-item__label{ |
| | | color:#4b9bb7; |
| | | } |
| | | .vio { |
| | | padding: 20px 200px 100px; |
| | | } |
| | | |
| | | .footer { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | } |
| | | </style> |