|
@ -1,25 +1,28 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
<div v-if="showType === 'list'" |
|
|
<div v-if="showType === 'list'" class="g-cnt"> |
|
|
class="g-cnt"> |
|
|
|
|
|
<el-row :gutter="15"> |
|
|
<el-row :gutter="15"> |
|
|
<el-col :span="6"> |
|
|
<el-col :span="6"> |
|
|
<div class="m-sizer"> |
|
|
<div class="m-sizer"> |
|
|
<div class="item"> |
|
|
<div class="item"> |
|
|
<el-cascader class="customer_cascader" |
|
|
<el-cascader |
|
|
|
|
|
class="customer_cascader" |
|
|
ref="myCascader" |
|
|
ref="myCascader" |
|
|
size="big" |
|
|
size="big" |
|
|
v-model="fmData.orgId" |
|
|
v-model="fmData.orgId" |
|
|
:options="partyOptions" |
|
|
:options="partyOptions" |
|
|
:props="partyOptionsProps" |
|
|
:props="partyOptionsProps" |
|
|
:show-all-levels="false" |
|
|
:show-all-levels="false" |
|
|
@change="handleChangeParty"></el-cascader> |
|
|
@change="handleChangeParty" |
|
|
|
|
|
></el-cascader> |
|
|
</div> |
|
|
</div> |
|
|
<div class="item"> |
|
|
<div class="item"> |
|
|
<el-radio v-model="fmData.isSelf" |
|
|
<el-radio v-model="fmData.isSelf" label="1" |
|
|
label="1">本人创建的活动</el-radio> |
|
|
>本人创建的活动</el-radio |
|
|
<el-radio v-model="fmData.isSelf" |
|
|
> |
|
|
label="0">本组织所有活动</el-radio> |
|
|
<el-radio v-model="fmData.isSelf" label="0" |
|
|
|
|
|
>本组织所有活动</el-radio |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
@ -31,16 +34,20 @@ |
|
|
<div class="date-week">{{ currentDate.dayFormat }}</div> |
|
|
<div class="date-week">{{ currentDate.dayFormat }}</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="m-list" |
|
|
<div |
|
|
|
|
|
class="m-list" |
|
|
v-if=" |
|
|
v-if=" |
|
|
currentDateData.activityList.length > 0 || |
|
|
currentDateData.activityList.length > 0 || |
|
|
currentDateData.scheduleList.length > 0 |
|
|
currentDateData.scheduleList.length > 0 |
|
|
"> |
|
|
" |
|
|
|
|
|
> |
|
|
<div class="list-title">今日活动/日程</div> |
|
|
<div class="list-title">今日活动/日程</div> |
|
|
<div class="list"> |
|
|
<div class="list"> |
|
|
<div class="item" |
|
|
<div |
|
|
|
|
|
class="item" |
|
|
:key="item.activityId" |
|
|
:key="item.activityId" |
|
|
v-for="item in currentDateData.activityList"> |
|
|
v-for="item in currentDateData.activityList" |
|
|
|
|
|
> |
|
|
<div class="item-title"> |
|
|
<div class="item-title"> |
|
|
{{ item.theme }} |
|
|
{{ item.theme }} |
|
|
</div> |
|
|
</div> |
|
@ -60,23 +67,33 @@ |
|
|
<span>参加组织:</span> |
|
|
<span>参加组织:</span> |
|
|
<span>{{ item.joinOrgs.join("、") }}</span> |
|
|
<span>{{ item.joinOrgs.join("、") }}</span> |
|
|
</div> |
|
|
</div> |
|
|
<div v-if="item.isMe" |
|
|
<div v-if="item.isMe" class="item-ope"> |
|
|
class="item-ope"> |
|
|
<el-button |
|
|
<el-button type="primary" |
|
|
type="primary" |
|
|
v-if="item.isPublish === '0'" |
|
|
v-if="item.isPublish === '0'" |
|
|
size="mini" |
|
|
size="mini" |
|
|
@click="handleClickHuodong('publish', item)">发布</el-button> |
|
|
@click="handleClickHuodong('publish', item)" |
|
|
<el-button type="success" |
|
|
>发布</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
type="success" |
|
|
size="mini" |
|
|
size="mini" |
|
|
@click="handleClickHuodong('edit', item)">修改</el-button> |
|
|
@click="handleClickHuodong('edit', item)" |
|
|
<el-button size="mini" |
|
|
>修改</el-button |
|
|
@click="handleClickHuodong('del', item)">删除</el-button> |
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleClickHuodong('del', item)" |
|
|
|
|
|
>删除</el-button |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="item" |
|
|
<div |
|
|
|
|
|
class="item" |
|
|
:key="item.scheduleId" |
|
|
:key="item.scheduleId" |
|
|
v-for="item in currentDateData.scheduleList"> |
|
|
v-for="item in currentDateData.scheduleList" |
|
|
|
|
|
> |
|
|
<div class="item-title"> |
|
|
<div class="item-title"> |
|
|
{{ item.title }} |
|
|
{{ item.title }} |
|
|
</div> |
|
|
</div> |
|
@ -93,22 +110,29 @@ |
|
|
<span>{{ item.remark }}</span> |
|
|
<span>{{ item.remark }}</span> |
|
|
</div> |
|
|
</div> |
|
|
<div class="item-ope"> |
|
|
<div class="item-ope"> |
|
|
<el-button type="success" |
|
|
<el-button |
|
|
|
|
|
type="success" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleClickRicheng('edit', item)" |
|
|
|
|
|
>修改</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
size="mini" |
|
|
size="mini" |
|
|
@click="handleClickRicheng('edit', item)">修改</el-button> |
|
|
@click="handleClickRicheng('del', item)" |
|
|
<el-button size="mini" |
|
|
>删除</el-button |
|
|
@click="handleClickRicheng('del', item)">删除</el-button> |
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="m-ope"> |
|
|
<div class="m-ope"> |
|
|
<el-button type="warning" |
|
|
<el-button type="warning" style="width: 48%" @click="addHudong" |
|
|
style="width: 48%" |
|
|
>添加活动计划</el-button |
|
|
@click="addHudong">添加活动计划</el-button> |
|
|
> |
|
|
<el-button style="width: 48%" |
|
|
<el-button style="width: 48%" @click="addRicheng" |
|
|
@click="addRicheng">添加日程</el-button> |
|
|
>添加日程</el-button |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
|
|
@ -116,54 +140,74 @@ |
|
|
<div class="m-cal"> |
|
|
<div class="m-cal"> |
|
|
<div class="hd"> |
|
|
<div class="hd"> |
|
|
<div class="hd-year"> |
|
|
<div class="hd-year"> |
|
|
<el-date-picker v-model="currentYearStr" |
|
|
<el-date-picker |
|
|
|
|
|
v-model="currentYearStr" |
|
|
value-format="yyyy" |
|
|
value-format="yyyy" |
|
|
type="year" |
|
|
type="year" |
|
|
placeholder="选择年度" |
|
|
placeholder="选择年度" |
|
|
size="big" |
|
|
size="big" |
|
|
style="width: 100px;"> |
|
|
style="width: 100px" |
|
|
|
|
|
:editable="false" |
|
|
|
|
|
:clearable="false" |
|
|
|
|
|
> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</div> |
|
|
</div> |
|
|
<div class="hd-month"> |
|
|
<div class="hd-month"> |
|
|
<div class="month-item" |
|
|
<div |
|
|
|
|
|
class="month-item" |
|
|
:class="{ 'z-on': m - 1 == currentMonth }" |
|
|
:class="{ 'z-on': m - 1 == currentMonth }" |
|
|
:key="'month' + m" |
|
|
:key="'month' + m" |
|
|
@click="currentMonth = m - 1" |
|
|
@click="currentMonth = m - 1" |
|
|
v-for="m in 12"> |
|
|
v-for="m in 12" |
|
|
<el-badge :value="monthData[m-1]" |
|
|
> |
|
|
|
|
|
<el-badge |
|
|
|
|
|
:value="monthData[m - 1]" |
|
|
:hidden="monthData[m - 1] == 0" |
|
|
:hidden="monthData[m - 1] == 0" |
|
|
class="item"> |
|
|
class="item" |
|
|
|
|
|
> |
|
|
<div class="month-text">{{ m }}月</div> |
|
|
<div class="month-text">{{ m }}月</div> |
|
|
</el-badge> |
|
|
</el-badge> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="hd-btn"> |
|
|
<div class="hd-btn"> |
|
|
<el-button type="primary" |
|
|
<el-button |
|
|
|
|
|
type="primary" |
|
|
size="big" |
|
|
size="big" |
|
|
@click="handleAddYearPlan" |
|
|
@click="handleAddYearPlan" |
|
|
style="padding-left:10px; padding-right:10px;">生成年度活动计划</el-button> |
|
|
style="padding-left: 10px; padding-right: 10px" |
|
|
|
|
|
>生成年度活动计划</el-button |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<calendar :currentYear="currentYear" |
|
|
<calendar |
|
|
|
|
|
:currentYear="currentYear" |
|
|
:currentMonth="currentMonth" |
|
|
:currentMonth="currentMonth" |
|
|
@rangeChange="handleRangeChange" |
|
|
@rangeChange="handleRangeChange" |
|
|
@clickDate="handleChangeDate"> |
|
|
@clickDate="handleChangeDate" |
|
|
|
|
|
> |
|
|
<template v-slot:date-item="{ item, index }"> |
|
|
<template v-slot:date-item="{ item, index }"> |
|
|
<div class="tip" |
|
|
<div |
|
|
|
|
|
class="tip" |
|
|
v-if=" |
|
|
v-if=" |
|
|
rangeData[item.dateId] && |
|
|
rangeData[item.dateId] && |
|
|
rangeData[item.dateId].activityList.length > 0 |
|
|
rangeData[item.dateId].activityList.length > 0 |
|
|
"> |
|
|
" |
|
|
<div class="tip-num" |
|
|
> |
|
|
v-if="rangeData[item.dateId].activityList.length > 1"> |
|
|
<div |
|
|
|
|
|
class="tip-num" |
|
|
|
|
|
v-if="rangeData[item.dateId].activityList.length > 1" |
|
|
|
|
|
> |
|
|
{{ rangeData[item.dateId].activityList.length }} |
|
|
{{ rangeData[item.dateId].activityList.length }} |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="tip-text"> |
|
|
<div class="tip-text"> |
|
|
<span class="z-on"> |
|
|
<span class="z-on"> |
|
|
{{ rangeData[item.dateId].activityList[0].actTypeName }}</span> |
|
|
|
|
|
{{ |
|
|
{{ |
|
|
rangeData[item.dateId].activityList[0].isPublish==='0' |
|
|
rangeData[item.dateId].activityList[0].actTypeName |
|
|
|
|
|
}}</span |
|
|
|
|
|
> |
|
|
|
|
|
{{ |
|
|
|
|
|
rangeData[item.dateId].activityList[0].isPublish === "0" |
|
|
? "(未发布)" |
|
|
? "(未发布)" |
|
|
: "(已发布)" |
|
|
: "(已发布)" |
|
|
}} |
|
|
}} |
|
@ -172,11 +216,12 @@ |
|
|
{{ rangeData[item.dateId].activityList[0].topic }} |
|
|
{{ rangeData[item.dateId].activityList[0].topic }} |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="all-list" |
|
|
<div class="all-list" :class="computeAllListClass(index)"> |
|
|
:class="computeAllListClass(index)"> |
|
|
<div |
|
|
<div class="item" |
|
|
class="item" |
|
|
:key="item.activityId" |
|
|
:key="item.activityId" |
|
|
v-for="item in rangeData[item.dateId].activityList"> |
|
|
v-for="item in rangeData[item.dateId].activityList" |
|
|
|
|
|
> |
|
|
<div class="item-title"> |
|
|
<div class="item-title"> |
|
|
{{ item.theme }} |
|
|
{{ item.theme }} |
|
|
</div> |
|
|
</div> |
|
@ -199,21 +244,24 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="corn" |
|
|
<div |
|
|
|
|
|
class="corn" |
|
|
v-if=" |
|
|
v-if=" |
|
|
rangeData[item.dateId] && |
|
|
rangeData[item.dateId] && |
|
|
rangeData[item.dateId].scheduleList.length > 0 |
|
|
rangeData[item.dateId].scheduleList.length > 0 |
|
|
"> |
|
|
" |
|
|
|
|
|
> |
|
|
<div class="corn-num"> |
|
|
<div class="corn-num"> |
|
|
{{ rangeData[item.dateId].scheduleList.length }} |
|
|
{{ rangeData[item.dateId].scheduleList.length }} |
|
|
</div> |
|
|
</div> |
|
|
<div class="corn-text">日程</div> |
|
|
<div class="corn-text">日程</div> |
|
|
|
|
|
|
|
|
<div class="all-list" |
|
|
<div class="all-list" :class="computeAllListClass(index)"> |
|
|
:class="computeAllListClass(index)"> |
|
|
<div |
|
|
<div class="item" |
|
|
class="item" |
|
|
:key="item.scheduleId" |
|
|
:key="item.scheduleId" |
|
|
v-for="item in rangeData[item.dateId].scheduleList"> |
|
|
v-for="item in rangeData[item.dateId].scheduleList" |
|
|
|
|
|
> |
|
|
<div class="item-title"> |
|
|
<div class="item-title"> |
|
|
{{ item.title }} |
|
|
{{ item.title }} |
|
|
</div> |
|
|
</div> |
|
@ -240,12 +288,15 @@ |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div v-if="showType === 'yearplan'"> |
|
|
<div v-if="showType === 'yearplan'"> |
|
|
<yearplan-list :currentYearStr="currentYearStr" |
|
|
<yearplan-list |
|
|
|
|
|
:currentYearStr="currentYearStr" |
|
|
@handleOk="handleAddPlanOk" |
|
|
@handleOk="handleAddPlanOk" |
|
|
@handleClose="handleAddPlanClose"></yearplan-list> |
|
|
@handleClose="handleAddPlanClose" |
|
|
|
|
|
></yearplan-list> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<el-dialog v-if="showAdd" |
|
|
<el-dialog |
|
|
|
|
|
v-if="showAdd" |
|
|
:visible.sync="showAdd" |
|
|
:visible.sync="showAdd" |
|
|
:close-on-click-modal="false" |
|
|
:close-on-click-modal="false" |
|
|
:close-on-press-escape="false" |
|
|
:close-on-press-escape="false" |
|
@ -253,16 +304,20 @@ |
|
|
width="850px" |
|
|
width="850px" |
|
|
top="5vh" |
|
|
top="5vh" |
|
|
class="dialog-h" |
|
|
class="dialog-h" |
|
|
@closed="showAdd = false"> |
|
|
@closed="showAdd = false" |
|
|
<add-activity ref="ref_add_form" |
|
|
> |
|
|
|
|
|
<add-activity |
|
|
|
|
|
ref="ref_add_form" |
|
|
:formType="formType" |
|
|
:formType="formType" |
|
|
:icPartyActId="icPartyActId" |
|
|
:icPartyActId="icPartyActId" |
|
|
:defaultTime="currentDate.dateId" |
|
|
:defaultTime="currentDate.dateId" |
|
|
@handleOk="handleOk" |
|
|
@handleOk="handleOk" |
|
|
@handleClose="handleClose"></add-activity> |
|
|
@handleClose="handleClose" |
|
|
|
|
|
></add-activity> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog v-if="showSchedule" |
|
|
<el-dialog |
|
|
|
|
|
v-if="showSchedule" |
|
|
:visible.sync="showSchedule" |
|
|
:visible.sync="showSchedule" |
|
|
:close-on-click-modal="false" |
|
|
:close-on-click-modal="false" |
|
|
:close-on-press-escape="false" |
|
|
:close-on-press-escape="false" |
|
@ -270,12 +325,15 @@ |
|
|
width="850px" |
|
|
width="850px" |
|
|
top="5vh" |
|
|
top="5vh" |
|
|
class="dialog-h" |
|
|
class="dialog-h" |
|
|
@closed="showSchedule = false"> |
|
|
@closed="showSchedule = false" |
|
|
<schedule-form ref="ref_schedule_form" |
|
|
> |
|
|
|
|
|
<schedule-form |
|
|
|
|
|
ref="ref_schedule_form" |
|
|
:formType="formType" |
|
|
:formType="formType" |
|
|
:scheduleId="scheduleId" |
|
|
:scheduleId="scheduleId" |
|
|
@handleOk="handleOk" |
|
|
@handleOk="handleOk" |
|
|
@handleClose="handleClose"> |
|
|
@handleClose="handleClose" |
|
|
|
|
|
> |
|
|
</schedule-form> |
|
|
</schedule-form> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
@ -403,7 +461,7 @@ export default { |
|
|
// 添加日程 |
|
|
// 添加日程 |
|
|
addRicheng() { |
|
|
addRicheng() { |
|
|
this.formType = "schedule"; |
|
|
this.formType = "schedule"; |
|
|
this.scheduleId = '' |
|
|
this.scheduleId = ""; |
|
|
this.showSchedule = true; |
|
|
this.showSchedule = true; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
@ -616,7 +674,7 @@ export default { |
|
|
this.monthData[index] = parseInt(item.count); |
|
|
this.monthData[index] = parseInt(item.count); |
|
|
}); |
|
|
}); |
|
|
console.log("--------------monthData", this.monthData); |
|
|
console.log("--------------monthData", this.monthData); |
|
|
this.$forceUpdate() |
|
|
this.$forceUpdate(); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
this.$message.error(msg); |
|
|
this.$message.error(msg); |
|
|