2 changed files with 1702 additions and 0 deletions
@ -0,0 +1,700 @@ |
|||
<template> |
|||
<div class=""> |
|||
<div v-if="pageTypeCopy == 'add'"> |
|||
<el-card> |
|||
<h3 class="h3-title"> |
|||
<!-- <img src="../../../../../assets/images/index/title-icon-zntb.png" width="30px" height="30px" alt="" /> --> |
|||
新增事件 |
|||
</h3> |
|||
<event-add ref="ref_add" @changeName="changeName" @changeMobile="changeMobile" @changeUserId="changeUserId" |
|||
@changeGridId="changeGridId" @changeLevel="changeLevel"></event-add> |
|||
</el-card> |
|||
<div class="process-form"> |
|||
<el-card> |
|||
<h3 class="h3-title"> |
|||
<!-- <img alt="" width="30px" height="30px" |
|||
src="../../../../../assets/images/index/title-icon-chuli.png" /> --> |
|||
处理 |
|||
</h3> |
|||
<process-form ref="ref_processinfo_add" :demandUserId="demandUserId" :eventDetailData="eventDetailData" |
|||
:demandUserName="demandUserName" :demandUserMobile="demandUserMobile" |
|||
:gridId="gridId"></process-form> |
|||
<div class="div-btn"> |
|||
<el-button size="small" @click="handleClose">关闭</el-button> |
|||
<el-button style="margin-left: 20px" type="primary" size="small" |
|||
@click="handleComfirm">保存</el-button> |
|||
</div> |
|||
</el-card> |
|||
</div> |
|||
</div> |
|||
<div v-if="pageTypeCopy == 'dispose' || pageTypeCopy == 'info'" class="g-page"> |
|||
<!-- 面包屑放到这里--> |
|||
<div class="tabs" v-if="pageTypeCopy == 'info'"> |
|||
<i class="el-icon-arrow-left"></i> |
|||
<el-button class="diy-button--white" style="height: 20px" @click="handleClose"> |
|||
查看详情</el-button> |
|||
</div> |
|||
<div :class="['g-total', { 'g-left': projectProcess.length > 0, 'g-left-top40': pageType == 'info' }]"> |
|||
<event-detail ref="ref_detail" :type="pageType" :eventId="eventId" :eventDetailData="eventDetailData" |
|||
:source="source" @handleToProject="handleToProject" @handleToDemand="handleToDemand" |
|||
@handleToIssue="handleToIssue" @handleClose="handleClose" @handelCLickGridId="handelCLickGridId"></event-detail> |
|||
<div v-if="!eventDetailData.operationId && pageTypeCopy == 'dispose'" class="process-form"> |
|||
<el-card :class="{ 'box-card': source === 'visiual' }"> |
|||
<div :class="[ |
|||
'process-title', |
|||
{ 'process-title-vis': source === 'visiual' }, |
|||
]"> |
|||
<!-- <img src="../../../../../assets/images/index/title-icon-chuli.png" width="30px" height="30px" |
|||
alt="" /> --> |
|||
处理 |
|||
</div> |
|||
<process-form ref="ref_processinfo_dispose" :source="source" :eventId="eventId" |
|||
:eventDetailData="eventDetailData"></process-form> |
|||
<div class="div-btn"> |
|||
<el-button size="small" @click="handleClose">关闭</el-button> |
|||
<el-button style="margin-left: 20px" type="primary" size="small" |
|||
@click="handleComfirm">保存</el-button> |
|||
</div> |
|||
</el-card> |
|||
</div> |
|||
</div> |
|||
<div v-if="projectProcess.length > 0" :class="['g-right', pageType == 'info' ? 'g-right-top40' : '']"> |
|||
<el-card :class="{ 'box-card': source === 'visiual' }" |
|||
style="min-height: calc(88vh - 50px); overflow: auto"> |
|||
<div class="m-process"> |
|||
<div :class="[ |
|||
'process-title', |
|||
{ 'process-title-vis': source === 'visiual' }, |
|||
]"> |
|||
<!-- <img src="../../../../../assets/images/index/title-icon-cljz.png" width="30px" height="30px" |
|||
alt="" /> --> |
|||
处理进展 |
|||
</div> |
|||
<div class="list"> |
|||
<div class="item" :key="item.processId" v-for="(item, index) in projectProcess" |
|||
:class="[index === 0 ? 'z-on' : '', { 'item-vis': source === 'visiual' }]"> |
|||
<div class="item-row"> |
|||
<!-- <template v-if="item.agencyId"> |
|||
<div class="name">指派</div> |
|||
</template> |
|||
<template v-if="!item.timeLimit"> |
|||
<div class="name">完成并回复</div> |
|||
</template> |
|||
<template v-if="!item.agencyId && item.timeLimit"> |
|||
<div class="name">{{ item.processName }}</div> |
|||
</template> |
|||
<div class="date"> |
|||
{{ item.processTime }} |
|||
</div> --> |
|||
<div class="name">{{ item.processName }}</div> |
|||
<div class="date"> |
|||
{{ item.processTime }} |
|||
</div> |
|||
</div> |
|||
<div v-if="item.type === 'event'"> |
|||
<template v-if="item.agencyId"> |
|||
<div class="detail"> |
|||
<div class="detail-field">指派人:</div> |
|||
<div class="detail-value">{{ item.departmentName }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">指派部门:</div> |
|||
<div class="detail-value">{{ item.agencyName }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">转办意见:</div> |
|||
<div class="detail-value">{{ item.publicReply }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">办结时限:</div> |
|||
<div class="detail-value">{{ formTimeLimit(item.timeLimit) }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">附件/图片:</div> |
|||
<template v-if="item.internalFile && item.internalFile.length > 0" |
|||
v-for="i in item.internalFile"> |
|||
<template v-if="i.attachmentType === 'image'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<img :src="i.attachmentUrl" :key="i.attachmentUrl" |
|||
style="width: 50px; height: 50px; padding-right: 10px" |
|||
@click="watchImg(i.attachmentUrl)" /> |
|||
</div> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'voice'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<audio controls> |
|||
<source :src="i.attachmentUrl" type="" :key="i.attachmentUrl" /> |
|||
</audio> |
|||
</div> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'doc'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<a :href="i.attachmentUrl">{{ i.attachmentName }}</a> |
|||
</div> |
|||
|
|||
</template> |
|||
</template> |
|||
</div> |
|||
|
|||
</template> |
|||
<template v-else> |
|||
<div class="detail"> |
|||
<div class="detail-field">回复人:</div> |
|||
<div class="detail-value">{{ item.departmentName }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">回复内容:</div> |
|||
<div class="detail-value">{{ item.publicReply }}</div> |
|||
</div> |
|||
<div class="detail" v-if="item.timeLimit"> |
|||
<div class="detail-field">办结时限:</div> |
|||
<div class="detail-value">{{ formTimeLimit(item.timeLimit) }}</div> |
|||
</div> |
|||
<div :class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<span class="u-info-title-2">附件/图片:</span> |
|||
<template v-if="item.internalFile && item.internalFile.length > 0" |
|||
v-for="i in item.internalFile"> |
|||
<template v-if="i.attachmentType === 'image'"> |
|||
|
|||
<img :src="i.attachmentUrl" :key="i.attachmentUrl" |
|||
style="width: 50px; height: 50px; padding-right: 10px" |
|||
@click="watchImg(i.attachmentUrl)" /> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'voice'"> |
|||
|
|||
<audio controls> |
|||
<source :src="i.attachmentUrl" type="" :key="i.attachmentUrl" /> |
|||
</audio> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'doc'"> |
|||
|
|||
<audio controls> |
|||
<source :src="i.attachmentUrl" type="" :key="i.attachmentUrl" /> |
|||
</audio> |
|||
|
|||
</template> |
|||
</template> |
|||
</div> |
|||
|
|||
</template> |
|||
</div> |
|||
<div v-else-if="item.type === 'demand'"> |
|||
<template v-if="item.agencyId"> |
|||
<div class="detail"> |
|||
<div class="detail-field">指派人:</div> |
|||
<div class="detail-value">{{ item.departmentName }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">指派部门:</div> |
|||
<div class="detail-value">{{ item.agencyName }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">转办意见:</div> |
|||
<div class="detail-value">{{ item.publicReply }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">办结时限:</div> |
|||
<div class="detail-value">{{ formTimeLimit(item.timeLimit) }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">附件/图片:</div> |
|||
<template v-if="item.internalFile && item.internalFile.length > 0" |
|||
v-for="i in item.internalFile"> |
|||
<template v-if="i.attachmentType === 'image'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<img :src="i.attachmentUrl" :key="i.attachmentUrl" |
|||
style="width: 50px; height: 50px; padding-right: 10px" |
|||
@click="watchImg(i.attachmentUrl)" /> |
|||
</div> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'voice'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<audio controls> |
|||
<source :src="i.attachmentUrl" type="" :key="i.attachmentUrl" /> |
|||
</audio> |
|||
</div> |
|||
|
|||
</template> |
|||
<template v-if="i.attachmentType === 'doc'"> |
|||
|
|||
<div |
|||
:class="['m-info-prop', { 'm-info-prop-vis': source === 'visiual' },]"> |
|||
<a :href="i.attachmentUrl">{{ i.name }}</a> |
|||
</div> |
|||
|
|||
</template> |
|||
</template> |
|||
</div> |
|||
|
|||
</template> |
|||
<div v-if="item.processName === '需求完成'"> |
|||
<div class="detail"> |
|||
<div class="detail-field">服务组织:</div> |
|||
<div class="detail-value">{{ item.serviceParty }}</div> |
|||
</div> |
|||
<div class="detail"> |
|||
<div class="detail-field">实际服务时间:</div> |
|||
<div class="detail-value"> |
|||
{{ item.actualServiceTime }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div v-if="item.processName === '转服务'"> |
|||
<div class="detail"> |
|||
<div class="detail-field">服务时间:</div> |
|||
<div class="detail-value">{{ item.serviceTime }}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-card> |
|||
</div> |
|||
</div> |
|||
<div v-if="pageTypeCopy == 'demand'"> |
|||
<demand-info-origin ref="demandEditForm" :source="source" :demandRecId="eventDetailCopy.operationId" |
|||
@close="handleCloseProject" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { requestPost } from "@/js/dai/request"; |
|||
import { Loading } from "element-ui"; // 引入Loading服务 |
|||
import foldText from "@/views/components/foldText"; |
|||
// import projectInfoOrigin from "../../xiangmu/cpts/project-info"; |
|||
// import demandInfoOrigin from "@/views/modules/communityService/measure/info"; |
|||
// import issueInfoOrigin from "../../issue/cpts/issue-info"; |
|||
// import dateFormat from "dai-js/tools/dateFormat"; |
|||
// import eventAdd from "./add"; |
|||
// import eventDetail from "./event-detail"; |
|||
// import processForm from "./process-form"; |
|||
let loading; // 加载动画 |
|||
function iniData() { |
|||
return { |
|||
formData: { |
|||
operationType: "", |
|||
}, |
|||
eventInfoData: {}, |
|||
replayInfo: {}, |
|||
demand: {}, |
|||
project: {}, |
|||
issueInfo: {}, |
|||
//新增 |
|||
demandUserId: "", |
|||
demandUserName: "", |
|||
demandUserMobile: "", |
|||
gridId: "", |
|||
eventDetailCopy: {}, |
|||
projectProcess: [], |
|||
projectPageType: "info", |
|||
pageTypeCopy: "", |
|||
issuePageType: "", |
|||
issueDetailData: {}, |
|||
sourceType: "", |
|||
level: '' |
|||
}; |
|||
} |
|||
export default { |
|||
name: "projectInfo", |
|||
props: { |
|||
eventId: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
pageType: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
eventDetailData: { |
|||
type: Object, |
|||
default() { |
|||
return {}; |
|||
}, |
|||
}, |
|||
source: { |
|||
//展示来源:manage 管理平台 visiual 可视化平台 |
|||
type: String, |
|||
default: "manage", |
|||
}, |
|||
}, |
|||
components: { |
|||
// foldText, |
|||
// eventAdd, |
|||
// eventDetail, |
|||
// processForm, |
|||
// projectInfoOrigin, |
|||
// demandInfoOrigin, |
|||
// issueInfoOrigin, |
|||
}, |
|||
data: iniData, |
|||
computed: {}, |
|||
watch: { |
|||
eventId() { |
|||
let data = iniData(); |
|||
Object.keys(data).forEach((k) => { |
|||
this[k] = data[k]; |
|||
}); |
|||
// this.getApiData(); |
|||
}, |
|||
}, |
|||
created() { }, |
|||
mounted() { |
|||
this.pageTypeCopy = this.pageType; |
|||
if (this.pageTypeCopy !== "add") { |
|||
this.getProjectProcess(); |
|||
} |
|||
if (this.eventId) { |
|||
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData)); |
|||
} |
|||
}, |
|||
methods: { |
|||
changeName(val) { |
|||
this.demandUserName = val; |
|||
}, |
|||
changeMobile(val) { |
|||
this.demandUserMobile = val; |
|||
}, |
|||
changeUserId(val) { |
|||
this.demandUserId = val; |
|||
}, |
|||
changeGridId(val) { |
|||
this.gridId = val; |
|||
}, |
|||
changeLevel(val) { |
|||
this.level = val; |
|||
}, |
|||
//加载组织数据 |
|||
async getProjectProcess() { |
|||
const url = "/governance/icEventOld/process"; |
|||
const { data, code, msg } = await requestPost(url, { |
|||
icEventId: this.eventId, |
|||
}); |
|||
if (code === 0) { |
|||
this.projectProcess = data.map((item) => { |
|||
item.processTime = dateFormat( |
|||
new Date(item.processTime * 1000), |
|||
"yyyy-MM-dd hh:mm" |
|||
); |
|||
return item; |
|||
}); |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
getEventInfo() { |
|||
this.$refs.ref_add.getEventInfo(); |
|||
if (this.$refs.ref_add.okflag) { |
|||
this.eventInfoData = this.$refs.ref_add.formData; |
|||
} else { |
|||
return false; |
|||
} |
|||
}, |
|||
async handleComfirm() { |
|||
this.startLoading(); |
|||
if (this.pageTypeCopy === "add") { |
|||
await this.handelAdd(); |
|||
} |
|||
if (this.pageTypeCopy === "dispose") { |
|||
await this.handelDispose(); |
|||
} |
|||
this.endLoading(); |
|||
}, |
|||
async handelAdd() { |
|||
this.$refs.ref_add.getEventInfo(); |
|||
if (this.$refs.ref_add.okflag) { |
|||
this.eventInfoData = this.$refs.ref_add.formData; |
|||
} else { |
|||
return false; |
|||
} |
|||
this.$refs.ref_processinfo_add.getProcessInfo(); |
|||
if (this.$refs.ref_processinfo_add.okflag) { |
|||
this.formData.operationType = this.$refs.ref_processinfo_add.operationType; |
|||
console.log(this.formData.operationType); |
|||
this.eventInfoData.operationType = this.$refs.ref_processinfo_add.operationType; |
|||
if (this.formData.operationType === "0" || this.formData.operationType === "6") { |
|||
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo; |
|||
//回复属性赋值 |
|||
this.eventInfoData.content = this.replayInfo.content; |
|||
this.eventInfoData.status = this.replayInfo.status; |
|||
this.eventInfoData.timeLimit = this.replayInfo.timeLimit; |
|||
if (this.replayInfo.categoryId) { |
|||
this.eventInfoData.categoryList = []; |
|||
this.eventInfoData.categoryList.push(this.replayInfo.categoryId); |
|||
} |
|||
} else if (this.formData.operationType === "5") { |
|||
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo; |
|||
//回复属性赋值 |
|||
this.eventInfoData.content = this.replayInfo.content; |
|||
this.eventInfoData.status = this.replayInfo.status; |
|||
this.eventInfoData.timeLimit = this.replayInfo.timeLimit; |
|||
if (this.replayInfo.categoryId) { |
|||
this.eventInfoData.categoryList = []; |
|||
this.eventInfoData.categoryList.push(this.replayInfo.categoryId); |
|||
} |
|||
} else if (this.formData.operationType === "2") { |
|||
this.replayInfo = {}; |
|||
this.project = {}; |
|||
this.demand = this.$refs.ref_processinfo_add.demand; |
|||
this.demand.gridId = this.eventInfoData.gridId; |
|||
} else if (this.formData.operationType === "4") { |
|||
this.replayInfo = {}; |
|||
} |
|||
} |
|||
this.formData = { |
|||
...this.eventInfoData, |
|||
replayInfo: this.replayInfo, |
|||
project: this.project, |
|||
demand: this.demand, |
|||
issueInfo: this.issueInfo, |
|||
openFlag:0 |
|||
}; |
|||
await this.submit(); |
|||
}, |
|||
async submit() { |
|||
console.log(this.formData.operationType); |
|||
// (this.formData.operationType == 2 && this.demand.demandUserName) ||(this.formData.operationType == 3 && this.issueInfo.issueTitle) || (this.formData.operationType == 1 && this.project.categoryList) ||(this.formData.operationType == 0 && this.eventInfoData.content) || |
|||
if ( |
|||
this.formData.operationType == "4" || |
|||
this.formData.operationType == "5" || |
|||
this.formData.operationType == "6" || |
|||
this.formData.operationType == "0" || |
|||
this.formData.operationType == "7" || |
|||
(this.formData.operationType == 2 && this.demand.demandUserName) |
|||
) { |
|||
if (Array.isArray(this.formData.gridId) && this.formData.gridId.length) { |
|||
if (this.level == "grid") { |
|||
this.formData.gridId = this.formData.gridId[this.formData.gridId.length - 1]; |
|||
this.formData.agencyId = ""; |
|||
} else { |
|||
this.formData.agencyId = this.formData.gridId[this.formData.gridId.length - 1]; |
|||
this.formData.gridId = ""; |
|||
} |
|||
} else { |
|||
this.formData.agencyId = ""; |
|||
this.formData.gridId = ""; |
|||
} |
|||
this.formData.openFlag = 0 |
|||
const url = "/governance/icEventOld/add"; |
|||
const { data, code, msg } = await requestPost(url, { |
|||
...this.formData, |
|||
}); |
|||
if (code === 0) { |
|||
this.$message.success("操作成功!"); |
|||
if (this.pageTypeCopy === "add") { |
|||
this.eventInfo = this.$refs.ref_add.resetData(); |
|||
} |
|||
this.$emit("handleOk"); |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
} else if (this.formData.operationType == "") { |
|||
this.$message.error("请选择处理方式!"); |
|||
} |
|||
}, |
|||
handelCLickGridId(val){ |
|||
this.grid = val.value; |
|||
}, |
|||
async handelDispose() { |
|||
this.$refs.ref_processinfo_dispose.getProcessInfo(); |
|||
if (this.$refs.ref_processinfo_dispose.okflag) { |
|||
this.formData.operationType = this.$refs.ref_processinfo_dispose.operationType; |
|||
if (this.formData.operationType === "0" || this.formData.operationType === '5' |
|||
|| this.formData.operationType === '6' || this.formData.operationType === '7') { |
|||
this.project = {}; |
|||
this.demand = {}; |
|||
if (this.$refs.ref_processinfo_dispose.replayInfo.okflag) { |
|||
this.endLoading(); |
|||
return false |
|||
} |
|||
this.replayInfo = this.$refs.ref_processinfo_dispose.replayInfo; |
|||
this.replayInfo.icEventId = this.eventId; |
|||
this.replayInfo.openFlag = null; |
|||
this.replayInfo.openId = this.eventDetailCopy.openId; |
|||
this.replayInfo.gridId = this.grid; |
|||
//回复属性赋值 |
|||
let url = "/governance/icEventOld/reply"; |
|||
await this.submitDispose(url, this.replayInfo); |
|||
} else if (this.formData.operationType === "1") { |
|||
this.replayInfo = {}; |
|||
this.demand = {}; |
|||
this.project = this.$refs.ref_processinfo_dispose.project; |
|||
//项目的属性同事件一样 |
|||
this.project.icEventId = this.eventId; |
|||
let url = "/governance/icEventOld/icEventToProject"; |
|||
await this.submitDispose(url, this.project); |
|||
} else if (this.formData.operationType === "2") { |
|||
this.project = {}; |
|||
this.demand = this.$refs.ref_processinfo_dispose.demand; |
|||
//需求的属性同事件一样 |
|||
this.demand.icEventId = this.eventId; |
|||
if (this.demand.gridId === '') { |
|||
this.demand.gridId = this.eventDetailData.gridId |
|||
} |
|||
let url = "/governance/icEventOld/icEventToDemand"; |
|||
await this.submitDispose(url, this.demand); |
|||
} else if (this.formData.operationType === "3") { |
|||
this.replayInfo = {}; |
|||
this.demand = {}; |
|||
this.project = {}; |
|||
this.issueInfo = this.$refs.ref_processinfo_dispose.issueInfo; |
|||
//项目的属性同事件一样 |
|||
let url = "/governance/icEventOld/icEventToIssue"; |
|||
await this.submitDispose(url, this.issueInfo); |
|||
} else { |
|||
this.$message.info("请选择一种处理方式"); |
|||
} |
|||
if(this.formData.operationType){ |
|||
await this.sendProcessNotificationMsg() |
|||
} |
|||
} else { |
|||
return false; |
|||
} |
|||
}, |
|||
async sendProcessNotificationMsg(){ |
|||
let parm = { |
|||
operationType:this.formData.operationType, |
|||
openId:this.eventDetailData.openId, |
|||
eventContent:this.eventDetailData.eventContent, |
|||
latestOperatedTime:this.eventDetailData.latestOperatedTime |
|||
} |
|||
let {data,code,msg} = await requestPost('/actual/base/communityPublicity/sendProcessNotificationMsg',parm) |
|||
if(code === 0){ |
|||
}else{ |
|||
console.log(msg); |
|||
} |
|||
}, |
|||
async submitDispose(url, params) { |
|||
const { data, code, msg } = await requestPost(url, { |
|||
...params, |
|||
}); |
|||
if (code === 0) { |
|||
this.$message.success("操作成功!"); |
|||
this.$emit("handleOk"); |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
handleClose() { |
|||
if (this.pageTypeCopy === "add") { |
|||
this.eventInfo = this.$refs.ref_add.resetData(); |
|||
} |
|||
this.$emit("handleClose"); |
|||
}, |
|||
handleToProject(type) { |
|||
if (this.eventDetailCopy.status === "processing") { |
|||
this.projectPageType = "edit"; |
|||
} else { |
|||
this.projectPageType = "info"; |
|||
} |
|||
this.sourceType = "event"; |
|||
this.pageTypeCopy = "project"; |
|||
}, |
|||
handleToDemand() { |
|||
// if (this.eventDetailCopy.status === 'processing') { |
|||
// this.projectPageType = 'edit' |
|||
// } else { |
|||
// this.projectPageType = 'info' |
|||
// } |
|||
this.pageTypeCopy = "demand"; |
|||
}, |
|||
async handleToIssue() { |
|||
const url = "/governance/manage/votingissuedetail"; |
|||
const { data, code, msg } = await requestPost(url, { |
|||
issueId: this.eventDetailCopy.operationId, |
|||
}); |
|||
if (code === 0) { |
|||
this.issueDetailData = { ...data }; |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
if (this.issueDetailData.issueStatus === "voting") { |
|||
this.issuePageType = "dispose"; |
|||
} else { |
|||
this.issuePageType = "info"; |
|||
} |
|||
this.pageTypeCopy = "issue"; |
|||
}, |
|||
handleCloseProject() { |
|||
this.getProjectProcess(); |
|||
this.pageTypeCopy = "info"; |
|||
}, |
|||
// 开启加载动画 |
|||
startLoading() { |
|||
loading = Loading.service({ |
|||
lock: true, // 是否锁定 |
|||
text: "正在加载……", // 加载中需要显示的文字 |
|||
background: "rgba(0,0,0,.7)", // 背景颜色 |
|||
}); |
|||
}, |
|||
// 结束加载动画 |
|||
endLoading() { |
|||
// clearTimeout(timer); |
|||
if (loading) { |
|||
loading.close(); |
|||
} |
|||
}, |
|||
formTimeLimit(val) { |
|||
return dateFormat( |
|||
new Date(val * 1000), |
|||
"yyyy-MM-dd hh:mm" |
|||
); |
|||
}, |
|||
|
|||
watchImg (src) { |
|||
window.open(src); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/modules/shequzhili/event-info.scss"; |
|||
.tabs { |
|||
position: absolute; |
|||
margin-left: 30px; |
|||
height: 50px; |
|||
line-height: 50px; |
|||
.diy-button--white { |
|||
border: none !important; |
|||
color: rgba(0, 0, 0, 0.65) !important; |
|||
height: 30px !important; |
|||
padding: 0 12px !important; |
|||
margin-left: 10px; |
|||
} |
|||
} |
|||
.list { |
|||
&> :last-child { |
|||
border: none !important; |
|||
} |
|||
&> :first-child { |
|||
.name { |
|||
// background: url("../../../assets/images/index/bubble.png") no-repeat; |
|||
color: #fff !important; |
|||
padding: 0px 10px 3px 13px !important; |
|||
background-size: 100% 100%; |
|||
border: none !important; |
|||
} |
|||
} |
|||
} |
|||
.g-left-top40 { |
|||
margin-top: 40px; |
|||
} |
|||
.g-right-top40 { |
|||
margin-top: 40px; |
|||
} |
|||
</style> |
File diff suppressed because it is too large
Loading…
Reference in new issue