Browse Source

bug修改

V1.0
jiangyy 3 years ago
parent
commit
b8c9adfe75
  1. 337
      src/views/modules/communityParty/calendar/index.vue
  2. 43
      src/views/modules/communityParty/orgActivity/activivityList/addRule.vue
  3. 6
      src/views/modules/communityParty/orgActivity/activivityList/scheduleForm.vue

337
src/views/modules/communityParty/calendar/index.vue

@ -1,28 +1,25 @@
<template> <template>
<div> <div>
<div v-if="showType === 'list'" class="g-cnt"> <div v-if="showType === 'list'"
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 <el-cascader class="customer_cascader"
class="customer_cascader" ref="myCascader"
ref="myCascader" size="small"
size="small" 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" label="1" <el-radio v-model="fmData.isSelf"
>本人创建的活动</el-radio label="1">本人创建的活动</el-radio>
> <el-radio v-model="fmData.isSelf"
<el-radio v-model="fmData.isSelf" label="0" label="0">本组织所有活动</el-radio>
>本组织所有活动</el-radio
>
</div> </div>
</div> </div>
@ -34,26 +31,22 @@
<div class="date-week">{{ currentDate.dayFormat }}</div> <div class="date-week">{{ currentDate.dayFormat }}</div>
</div> </div>
<div <div class="m-list"
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 <div class="item"
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>
<div class="item-prop"> <div class="item-prop">
<span>活动类型</span> <span>活动类型</span>
<span>{{ item.type }}</span> <span>{{ item.actTypeName }}</span>
</div> </div>
<div class="item-prop"> <div class="item-prop">
<span>开始时间</span> <span>开始时间</span>
@ -67,32 +60,22 @@
<span>参加组织</span> <span>参加组织</span>
<span>{{ item.joinOrgs.join("、") }}</span> <span>{{ item.joinOrgs.join("、") }}</span>
</div> </div>
<div class="item-ope"> <div v-if="item.isMe"
<el-button class="item-ope">
type="primary" <el-button type="primary"
size="mini" size="mini"
@click="handleClickHuodong('publish', item)" @click="handleClickHuodong('publish', item)">发布</el-button>
>发布</el-button <el-button type="success"
> size="mini"
<el-button @click="handleClickHuodong('edit', item)">编辑</el-button>
type="success" <el-button size="mini"
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> </div>
<div <div class="item"
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>
@ -105,29 +88,22 @@
<span>{{ item.remark }}</span> <span>{{ item.remark }}</span>
</div> </div>
<div class="item-ope"> <div class="item-ope">
<el-button <el-button type="success"
type="success" size="mini"
size="mini" @click="handleClickRicheng('edit', item)">编辑</el-button>
@click="handleClickRicheng('edit', item)" <el-button size="mini"
>编辑</el-button @click="handleClickRicheng('del', item)">删除</el-button>
>
<el-button
size="mini"
@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" style="width: 48%" @click="addHudong" <el-button type="warning"
>添加活动计划</el-button style="width: 48%"
> @click="addHudong">添加活动计划</el-button>
<el-button style="width: 48%" @click="addRicheng" <el-button style="width: 48%"
>添加日程</el-button @click="addRicheng">添加日程</el-button>
>
</div> </div>
</el-col> </el-col>
@ -135,67 +111,51 @@
<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 <el-date-picker v-model="currentYearStr"
v-model="currentYearStr" value-format="yyyy"
value-format="yyyy" type="year"
type="year" placeholder="选择年"
placeholder="选择年" size="small"
size="small" style="width: 150px">
style="width: 150px"
>
</el-date-picker> </el-date-picker>
</div> </div>
<div class="hd-month"> <div class="hd-month">
<div <div class="month-item"
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]"
> :hidden="monthData[m-1] == 0"
<el-badge class="item">
:value="monthData[m-1]"
:hidden="monthData[m-1] == 0"
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 <el-button type="primary"
type="primary" size="small"
size="small" @click="handleAddYearPlan">批量生成年度报表</el-button>
@click="handleAddYearPlan"
>批量生成年度报表</el-button
>
</div> </div>
</div> </div>
<calendar <calendar :currentYear="currentYear"
: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 <div class="tip"
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"
<div v-if="rangeData[item.dateId].activityList.length > 1">
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].type }}</span {{ rangeData[item.dateId].activityList[0].actTypeName }}</span>
>
{{ {{
rangeData[item.dateId].activityList[0].isPublicValue rangeData[item.dateId].activityList[0].isPublicValue
? "(已发布)" ? "(已发布)"
@ -206,18 +166,17 @@
{{ rangeData[item.dateId].activityList[0].topic }} {{ rangeData[item.dateId].activityList[0].topic }}
</div> </div>
<div class="all-list" :class="computeAllListClass(index)"> <div class="all-list"
<div :class="computeAllListClass(index)">
class="item" <div 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>
<div class="item-prop"> <div class="item-prop">
<span>活动类型</span> <span>活动类型</span>
<span>{{ item.type }}</span> <span>{{ item.actTypeName }}</span>
</div> </div>
<div class="item-prop"> <div class="item-prop">
<span>开始时间</span> <span>开始时间</span>
@ -234,24 +193,21 @@
</div> </div>
</div> </div>
</div> </div>
<div <div class="corn"
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" :class="computeAllListClass(index)"> <div class="all-list"
<div :class="computeAllListClass(index)">
class="item" <div 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>
@ -274,50 +230,40 @@
</div> </div>
<div v-if="showType === 'yearplan'"> <div v-if="showType === 'yearplan'">
<yearplan-list <yearplan-list @handleOk="handleAddPlanOk"
@handleOk="handleAddPlanOk" @handleClose="handleAddPlanClose"></yearplan-list>
@handleClose="handleAddPlanClose"
></yearplan-list>
</div> </div>
<el-dialog <el-dialog v-if="showAdd"
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" :title="addDiaTitle"
:title="addDiaTitle" 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"
> :formType="formType"
<add-activity :icPartyActId="icPartyActId"
ref="ref_add_form" @handleOk="handleOk"
:formType="formType" @handleClose="handleClose"></add-activity>
:icPartyActId="icPartyActId"
@handleOk="handleOk"
@handleClose="handleClose"
></add-activity>
</el-dialog> </el-dialog>
<el-dialog <el-dialog v-if="showSchedule"
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" :title="scheduleDiaTitle"
:title="scheduleDiaTitle" 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"
> :formType="formType"
<schedule-form :scheduleId="scheduleId"
ref="ref_schedule_form" @handleOk="handleOk"
:formType="formType" @handleClose="handleClose">
:scheduleId="scheduleId"
@handleOk="handleOk"
@handleClose="handleClose"
>
</schedule-form> </schedule-form>
</el-dialog> </el-dialog>
</div> </div>
@ -331,7 +277,7 @@ import yearplanList from "../orgActivity/activivityList/yearplanList";
import addActivity from "../orgActivity/activivityList/addActivity"; import addActivity from "../orgActivity/activivityList/addActivity";
import scheduleForm from "../orgActivity/activivityList/scheduleForm"; import scheduleForm from "../orgActivity/activivityList/scheduleForm";
function doAfter(fn) { function doAfter (fn) {
return new Promise(async (resolve) => { return new Promise(async (resolve) => {
while (!fn()) { while (!fn()) {
await nextTick(100); await nextTick(100);
@ -348,7 +294,7 @@ export default {
addActivity, addActivity,
scheduleForm, scheduleForm,
}, },
data() { data () {
let todayObj = new Date(); let todayObj = new Date();
return { return {
@ -399,10 +345,10 @@ export default {
}; };
}, },
computed: { computed: {
currentYear() { currentYear () {
return parseInt(this.currentYearStr); return parseInt(this.currentYearStr);
}, },
apiParams() { apiParams () {
const { currentYear, fmData } = this; const { currentYear, fmData } = this;
return { return {
yearId: currentYear, yearId: currentYear,
@ -427,13 +373,13 @@ export default {
this.getMonthData(); this.getMonthData();
}, },
}, },
async mounted() { async mounted () {
await this.getPartyOptions(); await this.getPartyOptions();
this.getMonthData(); this.getMonthData();
}, },
methods: { methods: {
// //
addHudong() { addHudong () {
this.icPartyActId = ""; this.icPartyActId = "";
this.addDiaTitle = "新增活动计划"; this.addDiaTitle = "新增活动计划";
this.formType = "add"; this.formType = "add";
@ -441,13 +387,14 @@ export default {
}, },
// //
addRicheng() { addRicheng () {
this.formType = "schedule"; this.formType = "schedule";
this.scheduleId = ''
this.showSchedule = true; this.showSchedule = true;
}, },
// //
handleClickHuodong(type, item) { handleClickHuodong (type, item) {
console.log(type, item); console.log(type, item);
this.icPartyActId = item.activityId; this.icPartyActId = item.activityId;
@ -491,7 +438,7 @@ export default {
} }
}, },
async publishActivity() { async publishActivity () {
const url = `/resi/partymember/icPartyAct/publish/${this.icPartyActId}`; const url = `/resi/partymember/icPartyAct/publish/${this.icPartyActId}`;
const { data, code, msg } = await requestPost(url, {}); const { data, code, msg } = await requestPost(url, {});
@ -504,7 +451,7 @@ export default {
} }
}, },
async cancelActivity() { async cancelActivity () {
const url = "/resi/partymember/icPartyAct/del"; const url = "/resi/partymember/icPartyAct/del";
let params = []; let params = [];
@ -521,7 +468,7 @@ export default {
}, },
// //
handleClickRicheng(type, item) { handleClickRicheng (type, item) {
console.log(type, item); console.log(type, item);
this.scheduleId = item.scheduleId; this.scheduleId = item.scheduleId;
if (type == "edit") { if (type == "edit") {
@ -546,7 +493,7 @@ export default {
} }
}, },
async cancelSchedule() { async cancelSchedule () {
const url = "/resi/partymember/icSchedule/del"; const url = "/resi/partymember/icSchedule/del";
let params = []; let params = [];
@ -563,15 +510,15 @@ export default {
}, },
// //
refreshData() { refreshData () {
this.getMonthData(); this.getMonthData();
this.getRangeData(); this.getRangeData();
this.getCurrentDateData(); this.getCurrentDateData();
}, },
handleChangeParty() {}, handleChangeParty () { },
handleChangeDate(item) { handleChangeDate (item) {
console.log("handleChangeDate"); console.log("handleChangeDate");
this.currentYearStr = item.year + ""; this.currentYearStr = item.year + "";
this.currentMonth = item.month; this.currentMonth = item.month;
@ -580,7 +527,7 @@ export default {
this.getCurrentDateData(); this.getCurrentDateData();
}, },
computeAllListClass(index) { computeAllListClass (index) {
let x = index % 7; let x = index % 7;
let y = Math.floor(index / 7); let y = Math.floor(index / 7);
if (x < 3) { if (x < 3) {
@ -598,12 +545,12 @@ export default {
} }
}, },
handleRangeChange(arr) { handleRangeChange (arr) {
this.rangeDateList = arr; this.rangeDateList = arr;
this.getRangeData(); this.getRangeData();
}, },
async getRangeData() { async getRangeData () {
const arr = this.rangeDateList; const arr = this.rangeDateList;
const url = "/resi/partymember/icPartyAct/homeSearch"; const url = "/resi/partymember/icPartyAct/homeSearch";
@ -641,7 +588,7 @@ export default {
} }
}, },
async getMonthData() { async getMonthData () {
const url = "/resi/partymember/icPartyAct/homeMonthTotal"; const url = "/resi/partymember/icPartyAct/homeMonthTotal";
if (!this.apiParams.orgId) return; if (!this.apiParams.orgId) return;
@ -661,7 +608,7 @@ export default {
} }
}, },
async getCurrentDateData() { async getCurrentDateData () {
const url = "/resi/partymember/icPartyAct/actAndScheduleList"; const url = "/resi/partymember/icPartyAct/actAndScheduleList";
if (!this.apiParams.orgId) return; if (!this.apiParams.orgId) return;
@ -678,7 +625,7 @@ export default {
} }
}, },
async getPartyOptions() { async getPartyOptions () {
const url = "/resi/partymember/icPartyOrg/getSearchTreelist"; const url = "/resi/partymember/icPartyOrg/getSearchTreelist";
let params = { let params = {
customerId: localStorage.getItem("customerId"), customerId: localStorage.getItem("customerId"),
@ -695,25 +642,25 @@ export default {
} }
}, },
handleAddYearPlan() { handleAddYearPlan () {
this.showType = "yearplan"; this.showType = "yearplan";
}, },
handleAddPlanOk() { handleAddPlanOk () {
this.showType = "list"; this.showType = "list";
this.refreshData(); this.refreshData();
}, },
handleAddPlanClose() { handleAddPlanClose () {
this.showType = "list"; this.showType = "list";
}, },
handleClose() { handleClose () {
this.formType = ""; this.formType = "";
this.showAdd = false; this.showAdd = false;
this.showSchedule = false; this.showSchedule = false;
}, },
handleOk() { handleOk () {
this.handleClose(); this.handleClose();
this.refreshData(); this.refreshData();
}, },

43
src/views/modules/communityParty/orgActivity/activivityList/addRule.vue

@ -242,6 +242,7 @@ export default {
tableLoading: false, tableLoading: false,
tableData: [], tableData: [],
isHasRule: false,
actTypeArray: [], actTypeArray: [],
selActType: {}, selActType: {},
actType: "", actType: "",
@ -307,14 +308,36 @@ export default {
this.selActType = { ...this.actTypeArray[index] } this.selActType = { ...this.actTypeArray[index] }
// //
// await this.getTableData() await this.getTableData()
// //
// if (this.tableData.length === 0) { if (this.isHasRule) {
for (let i = 0; i < this.selActType.yearCount; i++) {
this.handleAdd() this.$confirm("您已经生成过该活动类型的规则,您需要在该活动类型下追加新的活动吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.tableData = []
for (let i = 0; i < this.selActType.yearCount; i++) {
this.handleAdd()
}
})
.catch(err => {
if (err == "cancel") {
this.tableData = []
}
});
} else {
this.tableData = []
for (let i = 0; i < this.selActType.yearCount; i++) {
this.handleAdd()
}
} }
// }
}, },
@ -354,11 +377,11 @@ export default {
}); });
if (data.length > 0) {
this.isHasRule = true
this.tableData = tempArray } else {
console.log(' this.tableData', this.tableData) this.isHasRule = false
}
} else { } else {
this.$message.error(msg); this.$message.error(msg);

6
src/views/modules/communityParty/orgActivity/activivityList/scheduleForm.vue

@ -117,6 +117,7 @@ export default {
}, },
components: {}, components: {},
async mounted () { async mounted () {
if (this.scheduleId) { if (this.scheduleId) {
this.formData.scheduleId = this.scheduleId this.formData.scheduleId = this.scheduleId
await this.loadInfo() await this.loadInfo()
@ -203,17 +204,14 @@ export default {
}, },
resetData () { resetData () {
this.scheduleId = ''
this.formData = { this.formData = {
title: '',// title: '',//
remindTime: '',// remindTime: '',//
isPublic: '',// isPublic: '',//
remark: '',// remark: '',//
scheduleId: '', scheduleId: '',
} }
}, },

Loading…
Cancel
Save