epmet pc工作端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

223 lines
8.1 KiB

<template>
<div class="">
<div>
<el-form ref="ref_form1" :inline="false" :rules="dataRule" class="form">
<el-form-item label="办理状态" label-width="118px" :class="{ 'form-item': source === 'visiual' }"
prop="operationType" v-if="pageType !== 'assign'">
<el-select v-model="operationType" placeholder="请选择" :disabled="pageType === 'check'">
<el-option label="联系当事人" value="9"></el-option>
<el-option label="办理中" value="10"></el-option>
<el-option label="已办结" value="11"></el-option>
</el-select>
</el-form-item>
</el-form>
<div v-if="operationType === '9' && pageType !== 'assign'">
<process-form-contact ref="process_form_contact" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-contact>
</div>
<div v-if="operationType === '10' && pageType !== 'assign'">
<process-form-process ref="ref_process_form_process" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-process>
</div>
<div v-if="operationType === '11' && pageType !== 'assign'">
<process-form-complete :eventDetailData="eventDetailData" ref="ref_process_form_complete"
:eventId="eventId" :pageType="pageType" :replayDetailObj="replayDetailObj"></process-form-complete>
</div>
<div v-if="pageType === 'assign'">
<process-form-assign ref="ref_process_form_assign" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-assign>
</div>
</div>
</div>
</template>
<script>
import { Loading } from "element-ui"; // 引入Loading服务
import { requestPost } from "@/js/dai/request";
import processFormContact from "./process-form-contact";
import processFormComplete from "./process-form-complete";
import processFormProcess from "./process-form-process";
import processFormAssign from "./process-form-assign";
let loading; // 加载动画
export default {
data() {
return {
casOptions: [],
iscascaderShow: 0,
selCategoryArray: [],
selCateObj: {},
optionProps: {
multiple: false,
value: 'id',
label: 'name',
children: 'subCategory',
},
operationType: '',
replayInfo: {},
okflag: false,
eventDetailCopy: {},
transferObj: {
latitude: "",
longitude: ""
},
orgOptions: [],
agencyIdArray: [],
orgOptionProps: {
multiple: false,
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
checkStrictly: true
},
};
},
components: {
processFormComplete,
processFormProcess,
processFormContact,
processFormAssign
},
computed: {
dataRule() {
return {
operationType: [
{ required: true, message: "处理方式不能为空", trigger: "blur" },
],
};
},
},
props: {
eventId: {
type: String,
default: "",
},
pageType: {
type: String,
default: "",
},
eventDetailData: {
type: Object,
default() {
return {}
}
},
source: {//展示来源:manage 管理平台 visiual 可视化平台
type: String,
default: 'manage'
},
replayDetailObj:{
type:Object,
default:()=>{}
}
},
watch: {},
created() { },
async mounted() {
const { user } = this.$store.state
this.agencyId = user.agencyId
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
}
this.$nextTick(() => {
if (this.pageType === 'check') {
this.operationType = '11'
}
})
this.getOrgTreeList()
},
methods: {
async getOrgTreeList() {
const url = "/gov/org/customeragency/agencyGridDepttree"
let params = {
agencyId: this.agencyId,
purpose: "query"
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.orgOptions = []
this.orgOptions.push(data)
} else {
this.$message.error(msg)
}
},
handleChangeOperationType(val) {
this.operationType = val;
},
async getProcessInfo() {
this.okflag = false
if (this.operationType === '9') {
this.$refs.process_form_contact.getReplayInfo()
this.replayInfo = this.$refs.process_form_contact.formData;
this.replayInfo.files = [...this.$refs.process_form_contact.imgList,...this.$refs.process_form_contact.audioList]
if (this.$refs.process_form_contact.okflag) {
this.replayInfo = this.$refs.process_form_contact.formData
this.okflag = true
}
} else if (this.operationType === '10') {
this.$refs.ref_process_form_process.getReplayInfo()
this.replayInfo = this.$refs.ref_process_form_process.formData;
this.replayInfo.files = [...this.$refs.ref_process_form_process.imgList,...this.$refs.ref_process_form_process.audioList]
if (this.$refs.ref_process_form_process.okflag) {
this.replayInfo = this.$refs.ref_process_form_process.formData
this.okflag = true
}
} else if (this.operationType === '11' || this.pageType === 'check') {
this.$refs.ref_process_form_complete.getReplayInfo()
this.replayInfo = this.$refs.ref_process_form_complete.formData;
this.replayInfo.files = [...this.$refs.ref_process_form_complete.imgList,...this.$refs.ref_process_form_complete.audioList]
if(this.pageType === 'check'){
this.replayInfo.operationType = '12';
this.replayInfo.files = [...this.replayInfo.files,...this.$refs.ref_process_form_complete.examineImgList]
}
if (this.$refs.ref_process_form_complete.okflag) {
this.replayInfo = this.$refs.ref_process_form_complete.formData
this.okflag = true
}
} else if (this.pageType === 'assign') {
this.$refs.ref_process_form_assign.getReplayInfo()
this.replayInfo = this.$refs.ref_process_form_assign.formData
if (this.$refs.ref_process_form_assign.okflag) {
this.replayInfo = this.$refs.ref_process_form_assign.formData
this.okflag = true
}
}else {
return false
}
},
handleCancle() {
this.resetData();
},
// 开启加载动画
startLoading() {
loading = Loading.service({
lock: true, // 是否锁定
text: "正在加载……", // 加载中需要显示的文字
background: "rgba(0,0,0,.7)", // 背景颜色
});
},
resetData() {
},
// 结束加载动画
endLoading() {
if (loading) {
loading.close();
}
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/shequzhili/event-info.scss";
.el-dialog__body {
padding: 0 10px 20px !important;
}
</style>