|
|
@ -1,28 +1,25 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div v-if="showType === 'list'" class="g-cnt"> |
|
|
|
<div v-if="showType === 'list'" |
|
|
|
class="g-cnt"> |
|
|
|
<el-row :gutter="15"> |
|
|
|
<el-col :span="6"> |
|
|
|
<div class="m-sizer"> |
|
|
|
<div class="item"> |
|
|
|
<el-cascader |
|
|
|
class="customer_cascader" |
|
|
|
<el-cascader class="customer_cascader" |
|
|
|
ref="myCascader" |
|
|
|
size="small" |
|
|
|
v-model="fmData.orgId" |
|
|
|
:options="partyOptions" |
|
|
|
:props="partyOptionsProps" |
|
|
|
:show-all-levels="false" |
|
|
|
@change="handleChangeParty" |
|
|
|
></el-cascader> |
|
|
|
@change="handleChangeParty"></el-cascader> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<el-radio v-model="fmData.isSelf" label="1" |
|
|
|
>本人创建的活动</el-radio |
|
|
|
> |
|
|
|
<el-radio v-model="fmData.isSelf" label="0" |
|
|
|
>本组织所有活动</el-radio |
|
|
|
> |
|
|
|
<el-radio v-model="fmData.isSelf" |
|
|
|
label="1">本人创建的活动</el-radio> |
|
|
|
<el-radio v-model="fmData.isSelf" |
|
|
|
label="0">本组织所有活动</el-radio> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
@ -34,26 +31,22 @@ |
|
|
|
<div class="date-week">{{ currentDate.dayFormat }}</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
class="m-list" |
|
|
|
<div class="m-list" |
|
|
|
v-if=" |
|
|
|
currentDateData.activityList.length > 0 || |
|
|
|
currentDateData.scheduleList.length > 0 |
|
|
|
" |
|
|
|
> |
|
|
|
"> |
|
|
|
<div class="list-title">今日活动/日程</div> |
|
|
|
<div class="list"> |
|
|
|
<div |
|
|
|
class="item" |
|
|
|
<div class="item" |
|
|
|
:key="item.activityId" |
|
|
|
v-for="item in currentDateData.activityList" |
|
|
|
> |
|
|
|
v-for="item in currentDateData.activityList"> |
|
|
|
<div class="item-title"> |
|
|
|
{{ item.theme }} |
|
|
|
</div> |
|
|
|
<div class="item-prop"> |
|
|
|
<span>活动类型:</span> |
|
|
|
<span>{{ item.type }}</span> |
|
|
|
<span>{{ item.actTypeName }}</span> |
|
|
|
</div> |
|
|
|
<div class="item-prop"> |
|
|
|
<span>开始时间:</span> |
|
|
@ -67,32 +60,22 @@ |
|
|
|
<span>参加组织:</span> |
|
|
|
<span>{{ item.joinOrgs.join("、") }}</span> |
|
|
|
</div> |
|
|
|
<div class="item-ope"> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
size="mini" |
|
|
|
@click="handleClickHuodong('publish', item)" |
|
|
|
>发布</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
type="success" |
|
|
|
<div v-if="item.isMe" |
|
|
|
class="item-ope"> |
|
|
|
<el-button type="primary" |
|
|
|
size="mini" |
|
|
|
@click="handleClickHuodong('edit', item)" |
|
|
|
>编辑</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
@click="handleClickHuodong('publish', item)">发布</el-button> |
|
|
|
<el-button type="success" |
|
|
|
size="mini" |
|
|
|
@click="handleClickHuodong('del', item)" |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
@click="handleClickHuodong('edit', item)">编辑</el-button> |
|
|
|
<el-button size="mini" |
|
|
|
@click="handleClickHuodong('del', item)">删除</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
class="item" |
|
|
|
<div class="item" |
|
|
|
:key="item.scheduleId" |
|
|
|
v-for="item in currentDateData.scheduleList" |
|
|
|
> |
|
|
|
v-for="item in currentDateData.scheduleList"> |
|
|
|
<div class="item-title"> |
|
|
|
{{ item.title }} |
|
|
|
</div> |
|
|
@ -105,29 +88,22 @@ |
|
|
|
<span>{{ item.remark }}</span> |
|
|
|
</div> |
|
|
|
<div class="item-ope"> |
|
|
|
<el-button |
|
|
|
type="success" |
|
|
|
size="mini" |
|
|
|
@click="handleClickRicheng('edit', item)" |
|
|
|
>编辑</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
<el-button type="success" |
|
|
|
size="mini" |
|
|
|
@click="handleClickRicheng('del', item)" |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
@click="handleClickRicheng('edit', item)">编辑</el-button> |
|
|
|
<el-button size="mini" |
|
|
|
@click="handleClickRicheng('del', item)">删除</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="m-ope"> |
|
|
|
<el-button type="warning" style="width: 48%" @click="addHudong" |
|
|
|
>添加活动计划</el-button |
|
|
|
> |
|
|
|
<el-button style="width: 48%" @click="addRicheng" |
|
|
|
>添加日程</el-button |
|
|
|
> |
|
|
|
<el-button type="warning" |
|
|
|
style="width: 48%" |
|
|
|
@click="addHudong">添加活动计划</el-button> |
|
|
|
<el-button style="width: 48%" |
|
|
|
@click="addRicheng">添加日程</el-button> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
|
|
|
@ -135,67 +111,51 @@ |
|
|
|
<div class="m-cal"> |
|
|
|
<div class="hd"> |
|
|
|
<div class="hd-year"> |
|
|
|
<el-date-picker |
|
|
|
v-model="currentYearStr" |
|
|
|
<el-date-picker v-model="currentYearStr" |
|
|
|
value-format="yyyy" |
|
|
|
type="year" |
|
|
|
placeholder="选择年" |
|
|
|
size="small" |
|
|
|
style="width: 150px" |
|
|
|
> |
|
|
|
style="width: 150px"> |
|
|
|
</el-date-picker> |
|
|
|
</div> |
|
|
|
<div class="hd-month"> |
|
|
|
<div |
|
|
|
class="month-item" |
|
|
|
<div class="month-item" |
|
|
|
:class="{ 'z-on': m - 1 == currentMonth }" |
|
|
|
:key="'month' + m" |
|
|
|
@click="currentMonth = m - 1" |
|
|
|
v-for="m in 12" |
|
|
|
> |
|
|
|
<el-badge |
|
|
|
:value="monthData[m-1]" |
|
|
|
v-for="m in 12"> |
|
|
|
<el-badge :value="monthData[m-1]" |
|
|
|
:hidden="monthData[m-1] == 0" |
|
|
|
class="item" |
|
|
|
> |
|
|
|
class="item"> |
|
|
|
<div class="month-text">{{ m }}月</div> |
|
|
|
</el-badge> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="hd-btn"> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
<el-button type="primary" |
|
|
|
size="small" |
|
|
|
@click="handleAddYearPlan" |
|
|
|
>批量生成年度报表</el-button |
|
|
|
> |
|
|
|
@click="handleAddYearPlan">批量生成年度报表</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<calendar |
|
|
|
:currentYear="currentYear" |
|
|
|
<calendar :currentYear="currentYear" |
|
|
|
:currentMonth="currentMonth" |
|
|
|
@rangeChange="handleRangeChange" |
|
|
|
@clickDate="handleChangeDate" |
|
|
|
> |
|
|
|
@clickDate="handleChangeDate"> |
|
|
|
<template v-slot:date-item="{ item, index }"> |
|
|
|
<div |
|
|
|
class="tip" |
|
|
|
<div class="tip" |
|
|
|
v-if=" |
|
|
|
rangeData[item.dateId] && |
|
|
|
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 }} |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="tip-text"> |
|
|
|
<span class="z-on"> |
|
|
|
{{ rangeData[item.dateId].activityList[0].type }}</span |
|
|
|
> |
|
|
|
{{ rangeData[item.dateId].activityList[0].actTypeName }}</span> |
|
|
|
{{ |
|
|
|
rangeData[item.dateId].activityList[0].isPublicValue |
|
|
|
? "(已发布)" |
|
|
@ -206,18 +166,17 @@ |
|
|
|
{{ rangeData[item.dateId].activityList[0].topic }} |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="all-list" :class="computeAllListClass(index)"> |
|
|
|
<div |
|
|
|
class="item" |
|
|
|
<div class="all-list" |
|
|
|
:class="computeAllListClass(index)"> |
|
|
|
<div class="item" |
|
|
|
:key="item.activityId" |
|
|
|
v-for="item in rangeData[item.dateId].activityList" |
|
|
|
> |
|
|
|
v-for="item in rangeData[item.dateId].activityList"> |
|
|
|
<div class="item-title"> |
|
|
|
{{ item.theme }} |
|
|
|
</div> |
|
|
|
<div class="item-prop"> |
|
|
|
<span>活动类型:</span> |
|
|
|
<span>{{ item.type }}</span> |
|
|
|
<span>{{ item.actTypeName }}</span> |
|
|
|
</div> |
|
|
|
<div class="item-prop"> |
|
|
|
<span>开始时间:</span> |
|
|
@ -234,24 +193,21 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
class="corn" |
|
|
|
<div class="corn" |
|
|
|
v-if=" |
|
|
|
rangeData[item.dateId] && |
|
|
|
rangeData[item.dateId].scheduleList.length > 0 |
|
|
|
" |
|
|
|
> |
|
|
|
"> |
|
|
|
<div class="corn-num"> |
|
|
|
{{ rangeData[item.dateId].scheduleList.length }} |
|
|
|
</div> |
|
|
|
<div class="corn-text">日程</div> |
|
|
|
|
|
|
|
<div class="all-list" :class="computeAllListClass(index)"> |
|
|
|
<div |
|
|
|
class="item" |
|
|
|
<div class="all-list" |
|
|
|
:class="computeAllListClass(index)"> |
|
|
|
<div class="item" |
|
|
|
:key="item.scheduleId" |
|
|
|
v-for="item in rangeData[item.dateId].scheduleList" |
|
|
|
> |
|
|
|
v-for="item in rangeData[item.dateId].scheduleList"> |
|
|
|
<div class="item-title"> |
|
|
|
{{ item.title }} |
|
|
|
</div> |
|
|
@ -274,14 +230,11 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="showType === 'yearplan'"> |
|
|
|
<yearplan-list |
|
|
|
@handleOk="handleAddPlanOk" |
|
|
|
@handleClose="handleAddPlanClose" |
|
|
|
></yearplan-list> |
|
|
|
<yearplan-list @handleOk="handleAddPlanOk" |
|
|
|
@handleClose="handleAddPlanClose"></yearplan-list> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-dialog |
|
|
|
v-if="showAdd" |
|
|
|
<el-dialog v-if="showAdd" |
|
|
|
:visible.sync="showAdd" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
@ -289,19 +242,15 @@ |
|
|
|
width="850px" |
|
|
|
top="5vh" |
|
|
|
class="dialog-h" |
|
|
|
@closed="showAdd = false" |
|
|
|
> |
|
|
|
<add-activity |
|
|
|
ref="ref_add_form" |
|
|
|
@closed="showAdd = false"> |
|
|
|
<add-activity ref="ref_add_form" |
|
|
|
:formType="formType" |
|
|
|
:icPartyActId="icPartyActId" |
|
|
|
@handleOk="handleOk" |
|
|
|
@handleClose="handleClose" |
|
|
|
></add-activity> |
|
|
|
@handleClose="handleClose"></add-activity> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog |
|
|
|
v-if="showSchedule" |
|
|
|
<el-dialog v-if="showSchedule" |
|
|
|
:visible.sync="showSchedule" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
@ -309,15 +258,12 @@ |
|
|
|
width="850px" |
|
|
|
top="5vh" |
|
|
|
class="dialog-h" |
|
|
|
@closed="showSchedule = false" |
|
|
|
> |
|
|
|
<schedule-form |
|
|
|
ref="ref_schedule_form" |
|
|
|
@closed="showSchedule = false"> |
|
|
|
<schedule-form ref="ref_schedule_form" |
|
|
|
:formType="formType" |
|
|
|
:scheduleId="scheduleId" |
|
|
|
@handleOk="handleOk" |
|
|
|
@handleClose="handleClose" |
|
|
|
> |
|
|
|
@handleClose="handleClose"> |
|
|
|
</schedule-form> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
@ -443,6 +389,7 @@ export default { |
|
|
|
// 添加日程 |
|
|
|
addRicheng () { |
|
|
|
this.formType = "schedule"; |
|
|
|
this.scheduleId = '' |
|
|
|
this.showSchedule = true; |
|
|
|
}, |
|
|
|
|
|
|
|