Browse Source

修改事件回复、流转等业务

V1.0
luyan 2 years ago
parent
commit
b4ad54dbc2
  1. 65
      src/js/store/index.js
  2. 9
      src/views/main-content.vue
  3. 12
      src/views/modules/secretaryLog/difficulty/difficultyForm.vue
  4. 11
      src/views/modules/secretaryLog/humanisticCare/careForm.vue
  5. 14
      src/views/modules/secretaryLog/workLog/form.vue
  6. 2
      src/views/modules/shequzhili/event/cpts/event-info.vue
  7. 1
      src/views/modules/shequzhili/event/cpts/process-form.vue
  8. 1047
      src/views/modules/shequzhili/eventOld/cpts/add.vue
  9. 853
      src/views/modules/shequzhili/eventOld/cpts/event-detail.vue
  10. 1320
      src/views/modules/shequzhili/eventOld/cpts/event-info.vue
  11. 1190
      src/views/modules/shequzhili/eventOld/cpts/process-form-demand.vue
  12. 5
      src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue
  13. 441
      src/views/modules/shequzhili/eventOld/cpts/process-form-replay.vue
  14. 413
      src/views/modules/shequzhili/eventOld/cpts/process-form.vue
  15. 1584
      src/views/modules/shequzhili/eventOld/eventList.vue

65
src/js/store/index.js

@ -76,52 +76,49 @@ export default new Vuex.Store({
interTimer = setInterval(() => {
const _t = dateFormats("YYYY-mm-dd HH:MM", new Date(new Date().toLocaleDateString()).getTime());
const _tt = new Date(_t).getTime();
console.log("230000---", _t);
const t = dateFormats("YYYY-mm-dd HH:MM", new Date().getTime());
const nt = new Date(t).getTime();
// 判断当前时间是否为 00:00
if (nt == _tt) {
dispatch("setTipsTime");
return;
}
// if (nt == _tt) {
// dispatch("setTipsTime");
// return;
// }
let times = state.tipsTime;
console.log("nt---000", nt);
state.tipsTime.forEach((item, index) => {
const _t = new Date(item).getTime();
if (_t == nt) {
clearInterval(interTimer);
dispatch("setTipsList", item);
// dispatch("setTipsList", item);
times.splice(index, 1);
commit("SET_TIPS_TIME", times);
// commit("SET_TIPS_TIME", times);
}
});
}, 60000);
},
setTipsList({ commit }, time) {
return new Promise(async (resolve, reject) => {
const url = "/governance/memoAttr/memosToRemind";
const params = {
remindTime: time || "",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
commit("SET_TIPS_LIST", data);
resolve();
} else reject(msg);
});
},
setTipsTime({ commit, dispatch }) {
return new Promise(async (resolve, reject) => {
if (interTimer) clearInterval(interTimer);
const url = "/governance/memoAttr/memoTime";
const { data, code, msg } = await requestPost(url);
if (code === 0) {
commit("SET_TIPS_TIME", data);
if (data.length > 0) dispatch("setInterval");
resolve();
} else reject(msg);
});
},
// setTipsList({ commit }, time) {
// return new Promise(async (resolve, reject) => {
// const url = "/governance/memoAttr/memosToRemind";
// const params = {
// remindTime: time || "",
// };
// const { data, code, msg } = await requestPost(url, params);
// if (code === 0) {
// commit("SET_TIPS_LIST", data);
// resolve();
// } else reject(msg);
// });
// },
// setTipsTime({ commit, dispatch }) {
// return new Promise(async (resolve, reject) => {
// if (interTimer) clearInterval(interTimer);
// const url = "/governance/memoAttr/memoTime";
// const { data, code, msg } = await requestPost(url);
// if (code === 0) {
// commit("SET_TIPS_TIME", data);
// if (data.length > 0) dispatch("setInterval");
// resolve();
// } else reject(msg);
// });
// },
},
});

9
src/views/main-content.vue

@ -242,7 +242,6 @@ export default {
const iframe =
document.getElementsByClassName("iframes")[0].contentWindow;
console.log("iframe", iframe);
// iframe.postMessage({
// token: localStorage.getItem('token'),
// customerId: localStorage.getItem('customerId')
@ -250,8 +249,8 @@ export default {
iframe.postMessage({ name: "lalalal" }, "*");
},
loopTips() {
this.$store.dispatch("setTipsList");
this.$store.dispatch("setTipsTime");
// this.$store.dispatch("setTipsList");
// this.$store.dispatch("setTipsTime");
// let id = 1
// this.timer = setInterval(() => {
// id = id + 1
@ -284,12 +283,10 @@ export default {
} else this.$message.error(msg);
},
handleClose(item, index) {
console.log("close-----", item);
this.$store.state.tipsList.splice(index, 1);
this.closeTips(item.memoId);
},
async handleLook(item, index) {
console.log("look-----", item);
const formType = {
work_diary: "ref_form",
concern: "concern_form",
@ -300,9 +297,7 @@ export default {
this.formType = item.type;
this.dialogFormVisible = true;
console.log("ref0-----", this.formType);
this.$nextTick(() => {
console.log("this.$refs-----", this.$refs);
this.$refs[formType[item.type]].initForm("look", item.memoId);
this.$store.state.tipsList.splice(index, 1);
this.closeTips(item.memoId);

12
src/views/modules/secretaryLog/difficulty/difficultyForm.vue

@ -257,8 +257,8 @@ export default {
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
this.$store.dispatch('setTipsList')
this.$store.dispatch('setTipsTime')
// this.$store.dispatch('setTipsList')
// this.$store.dispatch('setTipsTime')
} else {
this.btnDisable = false
this.$message.error(msg)
@ -300,33 +300,25 @@ export default {
},
handleFileSuccess (res, file) {
if (res.code === 0 && res.msg === 'success') {
const array = file.name.split('.')
const fileType = array[array.length - 1]
file.fileName = file.name
file.attachmentUrl = res.data.url
file.attachmentSize = file.size
file.attachmentType = 'doc'
file.attachmentFormat = fileType
this.fileList.push(file)
console.log(this.fileList)
} else this.$message.error(res.msg)
},
//
handleFileDownload (file) {
var a = document.createElement('a');
var event = new MouseEvent('click');
a.download = file.fileName;
console.log(a)
a.href = file.attachmentUrl;
a.dispatchEvent(event);
},
resetData () {

11
src/views/modules/secretaryLog/humanisticCare/careForm.vue

@ -312,8 +312,8 @@ export default {
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
this.$store.dispatch('setTipsList')
this.$store.dispatch('setTipsTime')
// this.$store.dispatch('setTipsList')
// this.$store.dispatch('setTipsTime')
} else {
this.btnDisable = false
this.$message.error(msg)
@ -359,29 +359,22 @@ export default {
if (res.code === 0 && res.msg === 'success') {
const array = file.name.split('.')
const fileType = array[array.length - 1]
file.fileName = file.name
file.attachmentUrl = res.data.url
file.attachmentSize = file.size
file.attachmentType = 'doc'
file.attachmentFormat = fileType
this.fileList.push(file)
console.log(this.fileList)
} else this.$message.error(res.msg)
},
//
handleFileDownload (file) {
var a = document.createElement('a');
var event = new MouseEvent('click');
a.download = file.fileName;
console.log(a)
a.href = file.attachmentUrl;
a.dispatchEvent(event);
},
resetData () {

14
src/views/modules/secretaryLog/workLog/form.vue

@ -233,8 +233,8 @@ export default {
this.$emit('dialogOk')
this.btnDisable = false
this.$store.dispatch('setTipsList')
this.$store.dispatch('setTipsTime')
// this.$store.dispatch('setTipsList')
// this.$store.dispatch('setTipsTime')
} else {
this.btnDisable = false
this.$message.error(msg)
@ -275,44 +275,34 @@ export default {
},
handleFileSuccess (res, file) {
if (res.code === 0 && res.msg === 'success') {
const array = file.name.split('.')
const fileType = array[array.length - 1]
file.fileName = file.name
file.attachmentUrl = res.data.url
file.attachmentSize = file.size
file.attachmentType = 'doc'
file.attachmentFormat = fileType
this.fileList.push(file)
console.log(this.fileList)
} else this.$message.error(res.msg)
},
//
handleFileDownload (file) {
var a = document.createElement('a');
var event = new MouseEvent('click');
a.download = file.name;
console.log(a)
a.href = file.url;
a.dispatchEvent(event);
},
resetData () {
this.id = ''
this.formData = {
content: '',//
workType: '',//
remindTime: '',//yyyy-mm-dd hh:mm
attachmentList: []
}
},
//

2
src/views/modules/shequzhili/event/cpts/event-info.vue

@ -427,7 +427,7 @@ export default {
this.$message.error(msg);
}
} else if (this.formData.operationType == "") {
this.$message.error("请选择处理方式!");
this.$message.error("请选择一种处理方式!");
}
},

1
src/views/modules/shequzhili/event/cpts/process-form.vue

@ -17,6 +17,7 @@
<process-form-replay ref="ref_process_form_replay" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-replay>
</div>
<div v-if="operationType === '6'">
<process-form-replay-end ref="ref_process_form_replay_end" :source="source"
:eventDetailData="eventDetailData" :eventId="eventId"></process-form-replay-end>

1047
src/views/modules/shequzhili/eventOld/cpts/add.vue

File diff suppressed because it is too large

853
src/views/modules/shequzhili/eventOld/cpts/event-detail.vue

@ -1,496 +1,423 @@
<template>
<div class="">
<el-card
:style="containerStyle"
:class="{ 'box-card': source === 'visiual' }"
v-if="showType == ''"
>
<h3 v-if="source === 'manage'" class="h3-title">
<img
src="../../../../../assets/images/index/title-icon-sqzl.png"
width="30px"
height="30px"
alt=""
/>
事件详情
</h3>
<div class="m-detail-main">
<div class="m-info">
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">所属网格</span>
<span>{{ info.gridName }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">上报时间</span>
<span>{{ info.happenTime }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">事件内容</span>
<span>{{ info.eventContent }}</span>
</div>
<div
v-if="info.imageList && info.imageList.length > 0"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">图片</span>
<img
:src="src"
:key="src"
style="width: 150px; height: 150px; padding-right: 10px"
v-for="src in info.imageList"
@click="watchImg(src)"
/>
</div>
<div
v-if="info.voiceList && info.voiceList.length > 0"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">语音</span>
<audio controls>
<source
:src="item.url"
type=""
:key="item.url"
v-for="item in info.voiceList"
/>
</audio>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">反映渠道</span>
<span>{{ info.sourceTypeName }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">地址</span>
<span>{{ info.address }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">上报人</span>
<span>{{ info.name }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">联系电话</span>
<span>{{ info.mobile }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">证件号</span>
<span>{{ info.idCard ? info.idCard : "--" }}</span>
</div>
<div
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">标记</span>
<span>{{ info.markTypeName || "--" }}</span>
</div>
<div
v-if="info.operationType === '1'"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">已立项</span>
<div class="line" @click="handleToProject"><i class="el-icon-view"></i> 查看项目</div>
</div>
<div
v-if="info.operationType === '2'"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">已转需求</span>
<div class="line" @click="handleToDemand"><i class="el-icon-view"></i>查看需求</div>
</div>
<div
v-if="info.operationType === '3'"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">已转议题</span>
<div class="line" @click="handleToIssue">
<i class="el-icon-view"></i> 查看议题
</div>
</div>
<div
v-if="info.satisfactionName"
:class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]"
>
<span class="u-info-title-2">满意度</span>
<div>{{ info.satisfactionName }}</div>
</div>
</div>
</div>
<!--
显示关闭
1状态=完成 (已评价)||(没评价&&不是本人)
2状态=未完成 有操作id -->
<div
v-if="
(info.status === 'processing' && info.operationId) ||
(info.status === 'closed_case' &&
(info.satisfactionName ||
(!info.satisfactionName && user.id != info.createdUserId)))
"
class="div-btn-info"
>
<el-button size="small" @click="handleCloseEvent">关闭</el-button>
</div>
</el-card>
<el-card
:class="{ 'box-card': source === 'visiual' }"
v-if="
info.status === 'closed_case' &&
!info.satisfactionName &&
user.id === info.createdUserId
"
>
<h3>满意度评价</h3>
<div class="m-detail-main">
<div class="m-info">
<div class="div-satisfy">
<div>
<img
:src="selBad ? badurl_light : badurl"
@click="clickSatisfy('bad')"
/>
<div class="tip-satisfy">不满意</div>
<div class="">
<el-card :style="containerStyle" :class="{ 'box-card': source === 'visiual' }" v-if="showType == ''">
<h3 v-if="source === 'manage'" class="h3-title">
<img src="../../../../../assets/images/index/title-icon-sqzl.png" width="30px" height="30px" alt="" />
事件详情
</h3>
<div class="m-detail-main">
<div class="m-info">
<div :class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' }]">
<span class="u-info-title-2">所属网格</span>
<template v-if="!info.gridName">
<el-select v-model.trim="info.gridId" placeholder="请选择" clearable class="cell-width-1">
<el-option v-for="item in gridList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<template v-else>
<span>{{ info.gridName }}</span>
</template>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">上报时间</span>
<span>{{ info.happenTime }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">事件内容</span>
<span>{{ info.eventContent }}</span>
</div>
<div v-if="info.imageList && info.imageList.length > 0" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">图片</span>
<img :src="src" :key="src" style="width: 150px; height: 150px; padding-right: 10px"
v-for="src in info.imageList" @click="watchImg(src)" />
</div>
<div v-if="info.voiceList && info.voiceList.length > 0" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">语音</span>
<audio controls>
<source :src="item.url" type="" :key="item.url" v-for="item in info.voiceList" />
</audio>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">反映渠道</span>
<span>{{ info.sourceTypeName }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">地址</span>
<span>{{ info.address }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">上报人</span>
<span>{{ info.name }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">联系电话</span>
<span>{{ info.mobile }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">证件号</span>
<span>{{ info.idCard ? info.idCard : "--" }}</span>
</div>
<div :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">标记</span>
<span>{{ info.markTypeName || "--" }}</span>
</div>
<div v-if="info.operationType === '1'" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">已立项</span>
<div class="line" @click="handleToProject"><i class="el-icon-view"></i> 查看项目</div>
</div>
<div v-if="info.operationType === '2'" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">已转服务</span>
<div class="line"><i class="el-icon-check"></i></div>
</div>
<div v-if="info.operationType === '3'" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">已转议题</span>
<div class="line" @click="handleToIssue">
<i class="el-icon-view"></i> 查看议题
</div>
</div>
<div v-if="info.satisfactionName" :class="[
'm-info-prop',
{ 'm-info-prop-vis': source === 'visiual' },
]">
<span class="u-info-title-2">满意度</span>
<div>{{ info.satisfactionName }}</div>
</div>
</div>
</div>
<div>
<img
:src="selGood ? goodurl_light : goodurl"
@click="clickSatisfy('good')"
/>
<div class="tip-satisfy">满意</div>
<!--
显示关闭
1状态=完成 (已评价)||(没评价&&不是本人)
2状态=未完成 有操作id -->
<div v-if="(info.status === 'processing' && info.operationId) ||
(info.status === 'closed_case' &&
(info.satisfactionName ||
(!info.satisfactionName && user.id != info.createdUserId)))
" class="div-btn-info">
<el-button size="small" @click="handleCloseEvent">关闭</el-button>
</div>
<div>
<img
:src="selPerfect ? perfecturl_light : perfecturl"
@click="clickSatisfy('perfect')"
/>
<div class="tip-satisfy">非常满意</div>
</el-card>
<el-card :class="{ 'box-card': source === 'visiual' }" v-if="info.status === 'closed_case' &&
!info.satisfactionName &&
user.id === info.createdUserId
">
<h3>满意度评价</h3>
<div class="m-detail-main">
<div class="m-info">
<div class="div-satisfy">
<div>
<img :src="selBad ? badurl_light : badurl" @click="clickSatisfy('bad')" />
<div class="tip-satisfy">不满意</div>
</div>
<div>
<img :src="selGood ? goodurl_light : goodurl" @click="clickSatisfy('good')" />
<div class="tip-satisfy">满意</div>
</div>
<div>
<img :src="selPerfect ? perfecturl_light : perfecturl" @click="clickSatisfy('perfect')" />
<div class="tip-satisfy">非常满意</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="div-btn">
<el-button size="small" @click="handleCloseEvent">关闭</el-button>
<el-button
style="margin-left: 20px"
type="primary"
size="small"
@click="handleComfirmSatisfy"
>确定</el-button
>
</div>
</el-card>
<el-dialog
:visible.sync="showSatisfy"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="满意度评价"
width="550px"
top="15vh"
class="dialog-h"
@closed="showSatisfy = false"
>
<div class="div-btn">
<el-button size="small" @click="showSatisfy = false">关闭</el-button>
<el-button
style="margin-left: 20px"
type="primary"
size="small"
@click="handleComfirmSatisfy"
>确定</el-button
>
</div>
</el-dialog>
</div>
<div class="div-btn">
<el-button size="small" @click="handleCloseEvent">关闭</el-button>
<el-button style="margin-left: 20px" type="primary" size="small"
@click="handleComfirmSatisfy">确定</el-button>
</div>
</el-card>
<el-dialog :visible.sync="showSatisfy" :close-on-click-modal="false" :close-on-press-escape="false" title="满意度评价"
width="550px" top="15vh" class="dialog-h" @closed="showSatisfy = false">
<div class="div-btn">
<el-button size="small" @click="showSatisfy = false">关闭</el-button>
<el-button style="margin-left: 20px" type="primary" size="small"
@click="handleComfirmSatisfy">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import foldText from "@/views/components/foldText";
import projectInfo from "../../xiangmu/cpts/project-info";
import dateFormat from "dai-js/tools/dateFormat";
function iniData() {
return {
user: {},
projectPageType: "info",
info: {},
eventDetailCopy: {},
showType: "",
projectId: "",
demandForm: {
gridId: "",
categoryCode: "",
parentCode: "",
content: "",
reportType: "",
reportUserName: "",
reportUserMobile: "",
reportTime: "",
wantServiceTime: "",
demandUserId: "",
demandUserName: "",
demandUserMobile: "",
},
//
showSatisfy: false,
selBad: false,
selGood: false,
selPerfect: false,
badurl: require("@/assets/img/satisfy-images/face1.png"),
badurl_light: require("@/assets/img/satisfy-images/face1_light.png"),
goodurl: require("@/assets/img/satisfy-images/face2.png"),
goodurl_light: require("@/assets/img/satisfy-images/face2_light.png"),
perfecturl: require("@/assets/img/satisfy-images/face3.png"),
perfecturl_light: require("@/assets/img/satisfy-images/face3_light.png"),
};
return {
user: {},
projectPageType: "info",
gridId: "", //
info: {},
eventDetailCopy: {},
showType: "",
projectId: "",
demandForm: {
gridId: "",
categoryCode: "",
parentCode: "",
content: "",
reportType: "",
reportUserName: "",
reportUserMobile: "",
reportTime: "",
wantServiceTime: "",
demandUserId: "",
demandUserName: "",
demandUserMobile: "",
},
gridList: [], //list--
selGridId: '',
agencyId: '',
//
showSatisfy: false,
selBad: false,
selGood: false,
selPerfect: false,
badurl: require("@/assets/img/satisfy-images/face1.png"),
badurl_light: require("@/assets/img/satisfy-images/face1_light.png"),
goodurl: require("@/assets/img/satisfy-images/face2.png"),
goodurl_light: require("@/assets/img/satisfy-images/face2_light.png"),
perfecturl: require("@/assets/img/satisfy-images/face3.png"),
perfecturl_light: require("@/assets/img/satisfy-images/face3_light.png"),
};
}
export default {
name: "issueInfo",
props: {
eventId: {
type: String,
default: "",
},
type: {
type: String,
default: "info",
},
eventDetailData: {
type: Object,
default() {
return {};
},
},
source: {
//manage visiual
type: String,
default: "manage",
},
},
components: {
foldText,
projectInfo,
},
data: iniData,
watch: {},
created() {},
computed: {
containerStyle() {
if (this.type === 'info') {
return {
minHeight: 'calc(88vh - 50px)',
overflow: 'auto',
position: 'relative'
}
} else {
return {}
}
}
},
mounted() {
this.user = this.$store.state.user;
if (this.eventId) {
this.info = JSON.parse(JSON.stringify(this.eventDetailData));
//
// if (this.info.status === 'closed_case' && this.info.satisfactionName) {
// this.changeSatisfyType(this.info.satisfaction)
// }
}
// this.getApiData();
},
methods: {
watchImg(src) {
window.open(src);
},
handleClose() {
this.showType = "";
},
handleCloseEvent() {
this.$emit("handleClose");
name: "issueInfo",
props: {
eventId: {
type: String,
default: "",
},
type: {
type: String,
default: "info",
},
eventDetailData: {
type: Object,
default() {
return {};
},
},
source: {
//manage visiual
type: String,
default: "manage",
},
},
async getApiData() {},
handleToProject() {
this.$emit("handleToProject");
// if (this.info.status === 'processing') {
// this.projectPageType = 'edit'
// } else {
// this.projectPageType = 'info'
// }
// this.showType = 'project'
components: {
foldText,
projectInfo,
},
handleToDemand() {
this.$emit("handleToDemand");
},
handleToIssue() {
this.$emit("handleToIssue");
},
//
handleSatisfy() {
this.showSatisfy = true;
data: iniData,
watch: {
"info.gridId": function (val) {
this.selGridId = val;
this.$emit("changeGridId", val);
this.gridId = this.selGridId;
if (!this.eventDetailData.gridId && this.selGridId) {
this.updateEvent();
}
},
},
clickSatisfy(type) {
if (this.info.satisfactionName) {
return false;
}
this.changeSatisfyType(type);
},
changeSatisfyType(type) {
if (type === "bad") {
this.selGood = false;
this.selPerfect = false;
this.selBad = true;
} else if (type === "good") {
this.selGood = true;
this.selPerfect = false;
this.selBad = false;
} else if (type === "perfect") {
this.selGood = false;
this.selPerfect = true;
this.selBad = false;
}
created() { },
computed: {
containerStyle() {
if (this.type === 'info') {
return {
minHeight: 'calc(88vh - 50px)',
overflow: 'auto',
position: 'relative'
}
} else {
return {}
}
}
},
async handleComfirmSatisfy() {
let satisfyLevel = "";
if (!this.selBad && !this.selGood && !this.selPerfect) {
this.$message.info("请选择评价级别");
} else {
if (this.selBad) {
satisfyLevel = "bad";
} else if (this.selGood) {
satisfyLevel = "good";
} else if (this.selPerfect) {
satisfyLevel = "perfect";
mounted() {
this.user = this.$store.state.user;
if (this.eventId) {
this.info = JSON.parse(JSON.stringify(this.eventDetailData));
this.agencyId = this.info.agencyId
}
}
const url = "/governance/icEventOld/comment";
let params = {
icEventId: this.eventId,
satisfaction: satisfyLevel,
};
const { data, code, msg } = await requestPost(url, params);
this.loadGrid();
},
if (code === 0) {
this.$message.success("评价成功");
this.info.satisfactionName =
satisfyLevel == "bad"
? "不满意"
: satisfyLevel == "good"
? "满意"
: "非常满意";
this.showSatisfy = false;
} else {
this.$message.error(msg);
}
methods: {
watchImg(src) {
window.open(src);
},
handleClose() {
this.showType = "";
},
handleCloseEvent() {
this.$emit("handleClose");
},
async getApiData() { },
handleToProject() {
this.$emit("handleToProject");
},
handleToDemand() {
this.$emit("handleToDemand");
},
handleToIssue() {
this.$emit("handleToIssue");
},
async loadGrid() {
const url = "/gov/org/customergrid/gridoption";
let params = {
agencyId: this.agencyId,
purpose: "query",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.gridList = data;
} else {
this.$message.error(msg);
}
},
//
handleSatisfy() {
this.showSatisfy = true;
},
clickSatisfy(type) {
if (this.info.satisfactionName) {
return false;
}
this.changeSatisfyType(type);
},
changeSatisfyType(type) {
if (type === "bad") {
this.selGood = false;
this.selPerfect = false;
this.selBad = true;
} else if (type === "good") {
this.selGood = true;
this.selPerfect = false;
this.selBad = false;
} else if (type === "perfect") {
this.selGood = false;
this.selPerfect = true;
this.selBad = false;
}
},
//
updateEvent() {
const url = "/governance/icEventOld/update";
const params = {
id:this.eventDetailData.icEventId,
gridId:this.selGridId
}
const { data, code, msg } = requestPost(url, {
...params,
});
this.eventDetailData.gridId = this.selGridId;
},
async handleComfirmSatisfy() {
let satisfyLevel = "";
if (!this.selBad && !this.selGood && !this.selPerfect) {
this.$message.info("请选择评价级别");
} else {
if (this.selBad) {
satisfyLevel = "bad";
} else if (this.selGood) {
satisfyLevel = "good";
} else if (this.selPerfect) {
satisfyLevel = "perfect";
}
}
const url = "/governance/icEventOld/comment";
let params = {
icEventId: this.eventId,
satisfaction: satisfyLevel,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("评价成功");
this.info.satisfactionName =
satisfyLevel == "bad"
? "不满意"
: satisfyLevel == "good"
? "满意"
: "非常满意";
this.showSatisfy = false;
} else {
this.$message.error(msg);
}
},
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/shequzhili/event-info.scss";
.m-info {
padding-left: 0px !important;
padding-left: 0px !important;
}
.m-info-prop {
margin: 25px 0 !important;
padding-left: 0px !important;
&::before {
content: "";
display: block;
position: absolute;
top: 9px;
left: 0;
width: 7px;
height: 7px;
background: none !important;
border-radius: 3px;
margin-right: 10px;
}
margin: 25px 0 !important;
padding-left: 0px !important;
&::before {
content: "";
display: block;
position: absolute;
top: 9px;
left: 0;
width: 7px;
height: 7px;
background: none !important;
border-radius: 3px;
margin-right: 10px;
}
}
</style>

1320
src/views/modules/shequzhili/eventOld/cpts/event-info.vue

File diff suppressed because it is too large

1190
src/views/modules/shequzhili/eventOld/cpts/process-form-demand.vue

File diff suppressed because it is too large

5
src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue

@ -8,7 +8,7 @@
-->
<template>
<div class="search">
<el-form ref="ref_form2" :inline="false" :model="formData" :rules="dataRule">
<el-form ref="ref_form5" :inline="false" :model="formData" :rules="dataRule">
<el-form-item label="事件分类" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
prop="categoryList">
<div :class="{ 'visiual-form': source === 'visiual' }">
@ -239,7 +239,7 @@ export default {
},
async getReplayInfo() {
this.okflag = false;
this.$refs["ref_form2"].validate((valid, messageObj) => {
this.$refs["ref_form5"].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj);
} else {
@ -250,6 +250,7 @@ export default {
if (this.fileList) {
this.formData.files = this.fileList
}
this.operationType = '5'
this.formData.status = "processing";
this.formData.categoryId = this.selCateObj.id;
this.formData.categoryList = [];

441
src/views/modules/shequzhili/eventOld/cpts/process-form-replay.vue

@ -1,263 +1,220 @@
<!--
* @Author: mk 2403457699@qq.com
* @Date: 2023-07-26 16:23:24
* @LastEditors: mk 2403457699@qq.com
* @LastEditTime: 2023-08-09 10:21:34
* @Description: 事件分类回填
*
*
-->
<template>
<div class="search">
<el-form
ref="ref_form1"
:inline="false"
:model="formData"
:rules="dataRule"
>
<el-form-item
label="事件分类"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
prop="categoryList"
>
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-cascader class="cell-width-2"
ref="myCascader"
v-model="selCategoryArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeCate"></el-cascader>
</div>
</el-form-item>
<el-form-item
label="回复内容"
prop="content"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
style="display: block"
>
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-input
class="cell-width-area"
type="textarea"
maxlength="500"
show-word-limit
:rows="5"
placeholder="请输入回复内容,不超过500字"
v-model="formData.content"
></el-input>
</div>
</el-form-item>
<el-form-item
label=""
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
style="display: block"
>
<el-checkbox
:class="{ 'form-item': source === 'visiual' }"
v-model="status"
@change="handleChangeStatus"
>已完成</el-checkbox
>
</el-form-item>
</el-form>
<el-form ref="ref_form1" :inline="false" :model="formData" :rules="dataRule">
<el-form-item label="事件分类" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
prop="categoryList">
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-cascader class="cell-width-2" ref="myCascader" v-model="selCategoryArray" :key="iscascaderShow"
:options="casOptions" :props="optionProps" :show-all-levels="false" clearable
@change="handleChangeCate"></el-cascader>
</div>
</el-form-item>
<el-form-item label="回复内容" prop="content" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
style="display: block">
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-input class="cell-width-area" type="textarea" maxlength="500" show-word-limit :rows="5"
placeholder="请输入回复内容,不超过500字" v-model="formData.content"></el-input>
</div>
</el-form-item>
<el-form-item label="办结时限" prop="timeLimit" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
style="display: block">
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-date-picker v-model="formData.timeLimit" class="cell-width-1" type="datetime" placeholder="办结时限"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import formVltHelper from "dai-js/tools/formVltHelper";
import { isCard } from "@/utils/validate";
let loading; //
export default {
</template>
<script>
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
let loading; //
export default {
data() {
return {
btnDisable: false,
formData: {
operationType: "0", //[0: 1: 2:]
content: "",
status: "",
categoryList: [],
},
status: false,
okflag: false,
eventDetailCopy: {},
selCategoryArray:[],
casOptions: [],
iscascaderShow: 0,
optionProps: {
multiple: false,
value: "id",
label: "name",
children: "subCategory",
},
dataRule:{
content: [
{ required: true, message: "回复内容不能为空", trigger: "blur" },
],
categoryList: [
// { required: true, message: "", trigger: "blur" },
],
}
};
return {
btnDisable: false,
formData: {
operationType: '0', //[0: 5 6]
content: '',
status: 'processing',
timeLimit: '',//
categoryList: [],
},
status: false,
okflag: false,
eventDetailCopy: {},
selCategoryArray: [],
casOptions: [],
iscascaderShow: 0,
optionProps: {
value: "id",
label: "categoryName",
children: "children",
level: 'categoryType',
checkStrictly: true
},
dataRule: {
content: [
{ required: true, message: '回复内容不能为空', trigger: 'blur' },
],
categoryList: [
{ required: true, message: '事件分类不能为空', trigger: 'blur' },
],
timeLimit: [
{ required: true, message: "办结时限不能为空", trigger: "blur" },
]
}
};
},
components: { },
components: {},
computed: {},
props: {
eventId: {
type: String,
default: "",
},
eventDetailData: {
type: Object,
default() {
return {};
eventId: {
type: String,
default: '',
},
eventDetailData: {
type: Object,
default() {
return {};
},
},
source: {
//manage visiual
type: String,
default: 'manage',
},
},
source: {
//manage visiual
type: String,
default: "manage",
},
},
watch: {},
watch: {
},
created() {
console.log(this.source);
},
async mounted() {
this.getCategoryList();
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
// eventDetailCopy
if (
this.eventDetailCopy.parentCategoryId &&
this.eventDetailCopy.categoryId
) {
this.selCategoryArray.push( this.eventDetailCopy.parentCategoryId,this.eventDetailCopy.categoryId)
this.getCategoryList();
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
if(this.eventDetailCopy.parentCategoryId){
let value = this.eventDetailCopy.parentCategoryId.split(",");
value.push(this.eventDetailCopy.categoryId);
this.handleChangeCate(value)
}
}
}
},
methods: {
async getCategoryList() {
const url = "/governance/issueprojectcategorydict/list";
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let treeDataNew = this.filterTree(data);
//
++this.iscascaderShow;
this.casOptions = [];
this.casOptions = treeDataNew;
} else {
this.$message.error(msg);
}
},
handleChangeCate() {
if(this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0]){
this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data
}else{
this.selCateObj = {}
}
console.log(this.selCateObj);
},
//
filterTree(arr) {
let childs = arr;
for (let i = childs.length; i--; i > 0) {
if (childs[i].subCategory) {
if (childs[i].subCategory.length) {
this.filterTree(childs[i].subCategory);
async getCategoryList() {
const url = '/governance/icEvent/getCategoryTree';
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let treeDataNew = this.deepTree(data, "children");
//
++this.iscascaderShow;
this.casOptions = [];
this.casOptions = treeDataNew;
} else {
delete childs[i].subCategory;
this.$message.error(msg);
}
}
}
return arr;
},
async getReplayInfo() {
this.okflag = false;
this.$refs["ref_form1"].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj);
} else {
if (this.status) {
console.log(this.selCateObj);
if (!this.selCateObj || !this.selCateObj.id) {
this.$message.error("请选择事件分类");
return false;
}
this.formData.status = "closed_case";
if (this.eventDetailCopy.parentCategoryId) {
const pids = this.eventDetailCopy.parentCategoryId.split(',');
pids.push(this.eventDetailCopy.categoryId);
let nodes = this.casOptions;
for (let i = 0; i < pids.length; i++) {
nodes = this.buildNode(nodes, pids[i])
}
if (nodes) {
this.formData.categoryList.push(nodes)
}
}
},
buildNode(nodes, treeId) {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].id === treeId) {
if (nodes[i].children) {
return nodes[i].children
} else {
return nodes[i]
}
}
}
},
handleChangeCate(value) {
if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) {
this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
} else {
this.formData.status = "processing";
this.selCateObj = {}
}
this.formData.categoryId = this.selCateObj.id;
this.formData.categoryList = [];
this.formData.categoryList.push(this.selCateObj);
this.okflag = true;
}
});
},
handleChangeStatus(val){
console.log(val);
if(!val){
this.$set(this.dataRule,'categoryList',[])
}else{
this.$set(this.dataRule,'categoryList',[{ required: true, message: "事件分类不能为空", trigger: "blur" }])
}
console.log(this.dataRule);
},
resetData() {},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: "正在加载……", //
background: "rgba(0,0,0,.7)", //
});
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close();
}
},
if (!value) return
this.selCategoryArray = value
},
//
deepTree(arr, children) {
if (Array.isArray(arr) && arr.length > 0) {
return arr.map((item) => {
return {
...item,
[children]:
(item[children] &&
item[children].length > 0 &&
this.deepTree(item[children], children)) ||
null,
};
});
}
},
async getReplayInfo() {
this.okflag = false;
this.$refs['ref_form1'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj);
} else {
if (this.status) {
if (!this.selCateObj || !this.selCateObj.id) {
this.$message.error('请选择事件分类');
return false;
}
}
this.formData.categoryList = [];
this.formData.categoryList.push(this.selCateObj);
this.formData.categoryId = this.selCateObj.id
this.okflag = true;
}
});
},
resetData() { },
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)', //
});
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close();
}
},
},
};
</script>
<style lang='scss' scoped>
@import "@/assets/scss/modules/visual/a_customize.scss";
@import "@/assets/scss/modules/shequzhili/event-info.scss";
</style>
<style scoped>
.el-dialog__body {
};
</script>
<style lang='scss' scoped>
@import '@/assets/scss/modules/visual/a_customize.scss';
@import '@/assets/scss/modules/shequzhili/event-info.scss';
.el-dialog__body {
padding: 0 10px 20px !important;
}
</style>
}
</style>

413
src/views/modules/shequzhili/eventOld/cpts/process-form.vue

@ -1,274 +1,213 @@
<template>
<div class="">
<div>
<el-form ref="ref_form1" :inline="false" :rules="dataRule" class="form">
<el-form-item
label="处理方式"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
prop="operationType"
>
<el-radio-group
:class="{ 'form-item': source === 'visiual' }"
v-model="operationType"
@change="handleChangeOperationType"
>
<el-radio v-if="!eventId" label="4">暂不处理</el-radio>
<el-radio label="0">回复</el-radio>
<el-radio label="5">指派</el-radio>
<el-radio label="6">完成并回复</el-radio>
<!-- <el-radio label="1">立项</el-radio> -->
<el-radio label="2">转服务</el-radio>
<!-- <el-radio label="3">转议题</el-radio> -->
</el-radio-group>
</el-form-item>
</el-form>
<div v-if="operationType === '0'">
<process-form-replay
ref="ref_process_form_replay"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"
></process-form-replay>
</div>
<div v-if="operationType === '5'">
<process-form-designate
ref="ref_process_form_designate"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"
></process-form-designate>
</div>
<div v-if="operationType === '6'">
<process-form-replay-end
ref="ref_process_form_replay_end"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"
></process-form-replay-end>
</div>
<!-- <div v-if="operationType==='1'">
<process-form-project ref="ref_process_form_project"
:source="source"
:eventDetailData="eventDetailData"
:gridId="gridId"
:eventId="eventId"></process-form-project>
</div> -->
<div v-if="operationType === '2'">
<process-form-demand
ref="ref_process_form_demond"
:source="source"
:eventId="eventId"
:transferObj="transferObj"
:demandUserId="demandUserId"
:demandUserName="demandUserName"
:demandUserMobile="demandUserMobile"
:eventDetailData="eventDetailData"
></process-form-demand>
</div>
<!-- <div v-if="operationType==='3'">
<process-form-issue ref="ref_process_form_issue"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"></process-form-issue>
</div> -->
<div class="">
<div>
<el-form ref="ref_form1" :inline="false" :rules="dataRule" class="form">
<el-form-item label="处理方式" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
prop="operationType">
<el-radio-group :class="{ 'form-item': source === 'visiual' }" v-model="operationType"
@change="handleChangeOperationType">
<el-radio v-if="!eventId" label="4">暂不处理</el-radio>
<el-radio label="0">回复</el-radio>
<el-radio label="5">指派</el-radio>
<el-radio label="6">完成并回复</el-radio>
<el-radio label="2">转服务</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div v-if="operationType === '0'">
<process-form-replay ref="ref_process_form_replay" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-replay>
</div>
<div v-if="operationType === '6'">
<process-form-replay-end ref="ref_process_form_replay_end" :source="source"
:eventDetailData="eventDetailData" :eventId="eventId"></process-form-replay-end>
</div>
<div v-if="operationType === '5'">
<process-form-designate ref="ref_process_form_designate" :source="source" :eventDetailData="eventDetailData"
:eventId="eventId"></process-form-designate>
</div>
<div v-if="operationType === '2'">
<process-form-demand ref="ref_process_form_demond" :source="source" :eventId="eventId"
:transferObj="transferObj" :demandUserId="demandUserId" :demandUserName="demandUserName"
:demandUserMobile="demandUserMobile" :eventDetailData="eventDetailData"></process-form-demand>
</div>
</div>
</div>
</div>
</template>
<script>
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import processFormReplay from "./process-form-replay";
import processFormReplayEnd from "./process-form-replay-end";
import processFormProject from "./process-form-project";
import processFormDemand from "./process-form-demand";
import processFormIssue from "./process-form-issue";
import processFormReplayEnd from "./process-form-replay-end";
import processFormDesignate from "./process-form-designate";
let loading; //
export default {
data() {
return {
casOptions: [],
iscascaderShow: 0,
selCategoryArray: [],
selCateObj: {},
optionProps: {
multiple: false,
value: "id",
label: "name",
children: "subCategory",
},
operationType: "",
replayInfo: {},
demand: {},
project: {},
issueInfo: {},
okflag: false,
eventDetailCopy: {},
transferObj: {
latitude: "",
longitude: "",
},
};
},
components: {
processFormReplay,
processFormProject,
processFormDemand,
processFormIssue,
processFormReplayEnd,
processFormDesignate,
},
computed: {
dataRule() {
return {
operationType: [
{ required: true, message: "处理方式不能为空", trigger: "blur" },
],
};
},
},
props: {
demandUserId: {
type: String,
default: "",
},
demandUserName: {
type: String,
default: "",
},
demandUserMobile: {
type: String,
default: "",
},
gridId: {
type: String,
default: "",
data() {
return {
casOptions: [],
iscascaderShow: 0,
selCategoryArray: [],
selCateObj: {},
optionProps: {
multiple: false,
value: 'id',
label: 'name',
children: 'subCategory',
},
operationType: '',
replayInfo: {},
demand: {},
project: {},
issueInfo: {},
okflag: false,
eventDetailCopy: {},
transferObj: {
latitude: "",
longitude: ""
}
};
},
eventId: {
type: String,
default: "",
components: {
processFormReplay,
processFormProject,
processFormDemand,
processFormIssue,
processFormDesignate,
processFormReplayEnd
},
eventDetailData: {
type: Object,
default() {
return {};
},
computed: {
dataRule() {
return {
operationType: [
{ required: true, message: "处理方式不能为空", trigger: "blur" },
],
};
},
},
source: {
//manage visiual
type: String,
default: "manage",
props: {
demandUserId: {
type: String,
default: "",
},
demandUserName: {
type: String,
default: "",
},
demandUserMobile: {
type: String,
default: "",
},
gridId: {
type: String,
default: "",
},
eventId: {
type: String,
default: "",
},
eventDetailData: {
type: Object,
default() {
return {}
}
},
source: {//manage visiual
type: String,
default: 'manage'
}
},
},
watch: {},
created() {
console.log(this.source);
},
async mounted() {
const { user } = this.$store.state;
this.agencyId = user.agencyId;
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
}
if (this.eventDetailData.operationType) {
this.operationType = this.eventDetailCopy.operationType;
// this.getProcessInfo()
}
this.$EventBus.$on("map", (val) => {
this.transferObj.latitude = val.lat;
this.transferObj.longitude = val.lng;
});
},
watch: {},
methods: {
handleChangeOperationType(val) {
this.operationType = val;
},
async getProcessInfo() {
this.okflag = false;
if (this.operationType === "0") {
this.$refs.ref_process_form_replay.getReplayInfo();
if (this.$refs.ref_process_form_replay.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay.formData;
this.okflag = true;
} else {
return false;
}
} else if (this.operationType === "2") {
this.$refs.ref_process_form_demond.getDemandInfo();
if (this.$refs.ref_process_form_demond.okflag) {
this.demand = this.$refs.ref_process_form_demond.formData;
created() { },
this.okflag = true;
} else {
return false;
async mounted() {
const { user } = this.$store.state
this.agencyId = user.agencyId
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
}
} else if (this.operationType === "5") {
this.$refs.ref_process_form_designate.getReplayInfo();
this.replayInfo = this.$refs.ref_process_form_designate.formData;
if (this.$refs.ref_process_form_designate.okflag) {
this.replayInfo = this.$refs.ref_process_form_designate.formData;
this.okflag = true;
if (this.eventDetailData.operationType) {
this.operationType = this.eventDetailCopy.operationType
}
} else if (this.operationType === "6") {
this.$refs.ref_process_form_replay_end.getReplayInfo();
this.replayInfo = this.$refs.ref_process_form_replay_end.formData;
if (this.$refs.ref_process_form_replay_end.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay_end.formData;
this.okflag = true;
}
} else if (this.formData.operationType === "4") {
this.replayInfo = {};
}
this.$EventBus.$on('map', (val) => {
this.transferObj.latitude = val.lat
this.transferObj.longitude = val.lng
})
},
handleCancle() {
this.resetData();
},
resetData() {},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: "正在加载……", //
background: "rgba(0,0,0,.7)", //
});
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close();
}
methods: {
handleChangeOperationType(val) {
this.operationType = val;
},
async getProcessInfo() {
this.okflag = false
if (this.operationType === '0') {//
this.$refs.ref_process_form_replay.getReplayInfo()
if (this.$refs.ref_process_form_replay.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay.formData;
this.okflag = true;
}
}else if(this.operationType === '2'){//
this.$refs.ref_process_form_demond.getDemandInfo()
this.demand = this.$refs.ref_process_form_demond.formData;
if (this.$refs.ref_process_form_demond.okflag) {
this.replayInfo = this.$refs.ref_process_form_demond.formData;
this.okflag = true;
}
} else if (this.operationType === '5') {//
this.$refs.ref_process_form_designate.getReplayInfo()
this.replayInfo = this.$refs.ref_process_form_designate.formData
if (this.$refs.ref_process_form_designate.okflag) {
this.replayInfo = this.$refs.ref_process_form_designate.formData
this.okflag = true
}
} else if (this.operationType === '6') {//
this.$refs.ref_process_form_replay_end.getReplayInfo()
this.replayInfo = this.$refs.ref_process_form_replay_end.formData
if (this.$refs.ref_process_form_replay_end.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay_end.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";
</style>
<style scoped>
.el-dialog__body {
padding: 0 10px 20px !important;
padding: 0 10px 20px !important;
}
</style>

1584
src/views/modules/shequzhili/eventOld/eventList.vue

File diff suppressed because it is too large
Loading…
Cancel
Save