Browse Source

merge123

test
huxiaolei 3 years ago
parent
commit
49f85a72f7
  1. 4
      src/views/modules/communityParty/calendar/index.vue
  2. 4
      src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue
  3. 2
      src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue
  4. 39
      src/views/modules/communityParty/orgActivity/activivityList/addRule.vue
  5. 593
      src/views/modules/communityParty/orgActivity/activivityList/scheduleList.vue
  6. 41
      src/views/modules/communityParty/orgActivity/activivityList/yearplanList.vue

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

@ -63,6 +63,7 @@
<div v-if="item.isMe"
class="item-ope">
<el-button type="primary"
v-if="item.isPublish === '0'"
size="mini"
@click="handleClickHuodong('publish', item)">发布</el-button>
<el-button type="success"
@ -230,7 +231,8 @@
</div>
<div v-if="showType === 'yearplan'">
<yearplan-list @handleOk="handleAddPlanOk"
<yearplan-list :currentYearStr="currentYearStr"
@handleOk="handleAddPlanOk"
@handleClose="handleAddPlanClose"></yearplan-list>
</div>

4
src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue

@ -108,12 +108,12 @@
<el-button class="diy-button--add"
size="small"
@click="handleAdd">新增活动计划</el-button>
<el-button class="diy-button--add"
<!-- <el-button class="diy-button--add"
size="small"
@click="handleAddYearPlan">生成年度活动计划</el-button>
<el-button class="diy-button--add"
size="small"
@click="handleAddSchedule">添加日程提醒</el-button>
@click="handleAddSchedule">添加日程提醒</el-button> -->
<el-button style="float:left;margin-left:10px"
class="diy-button--delete"
size="small"

2
src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue

@ -220,7 +220,7 @@ export default {
actType: '',// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
holdTime: new Date(),//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//

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

@ -60,6 +60,7 @@
format="yyyy-MM-dd hh:mm:ss"
value-format="yyyy-MM-dd hh:mm:ss"
type="datetime"
default-time="09:00:00"
placeholder="选择日期">
</el-date-picker>
@ -471,7 +472,7 @@ export default {
async handleDelete (row, tableIndex) {
this.$confirm("活动删除后不可恢复,您确定要删除吗?", "提示", {
this.$confirm("您确定要删除该条活动计划吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@ -528,28 +529,28 @@ export default {
}
let obj = {
icPartyActId: '',//
actType: this.actType,// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//
longitude: '',//
autoPublicType: '',//key;
publishPartyOrgId: this.defaultPublishParty.defaultPartyOrgId,// id
publishPartyOrgName: this.defaultPublishParty.defaultPartyOrgName,//
publishOrgPid: this.defaultPublishParty.defaultPartyOrgPid,// ID
publishOrgType: this.defaultPublishParty.orgType,// 0,1,2,3,4,56
publishOrgPathShow: this.defaultPublishParty.defaultPartyOrgPath,//PUBLISH_PARTY_ORG_ID便
joinUserType: '',//01
isAutoInform: '',// 01
icPartyActId: '',//
actType: this.actType,// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//
longitude: '',//
autoPublicType: this.autoTimeArray[1].value ||'',//key; 3
publishPartyOrgId: this.defaultPublishParty.defaultPartyOrgId,// id
publishPartyOrgName: this.defaultPublishParty.defaultPartyOrgName,//
publishOrgPid: this.defaultPublishParty.defaultPartyOrgPid,// ID
publishOrgType: this.defaultPublishParty.orgType,// 0,1,2,3,4,56
publishOrgPathShow: this.defaultPublishParty.defaultPartyOrgPath,//PUBLISH_PARTY_ORG_ID便
joinUserType: this.joinArray[0].value ||'',//01
isAutoInform: '',// 01
introduce: '',//
attachmentList: [],
joinOrgList: [],
publichIdArray: this.defaultPublishParty.defaultPartyOrgPath.split(':'),
publichIdArray: this.defaultPublishParty.defaultPartyOrgId.split(':') || [],//
// publichIdArray: ['1536584227130798081'],
joinIdArray: [],
isAutoInformShow: true

593
src/views/modules/communityParty/orgActivity/activivityList/scheduleList.vue

@ -0,0 +1,593 @@
<template>
<div class="div_main">
<div v-if="showType==='list'">
<div class="div_search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'80px'">
<div>
<el-form-item label="提醒时间"
prop="startTime">
<el-date-picker v-model="formData.startTime"
class="item_width_2"
size="small"
type="date"
value-format="yyyyMMdd"
format="yyyy-MM-dd"
placeholder="开始时间">
</el-date-picker>
<span class="data-tag"></span>
<el-date-picker v-model="formData.endTime"
:picker-options="endPickerOptions"
class="item_width_2 data-tag"
size="small"
type="date"
value-format="yyyyMMdd"
format="yyyy-MM-dd"
placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="日程标题"
prop="topic">
<el-input v-model="formData.title"
class="item_width_2"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="是否公开"
prop="isPublic">
<el-select v-model="formData.isPublic" clearable placeholder="请选择">
<el-option
v-for="item in isPublicList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
size="small"
@click="handleAddSchedule">添加日程提醒</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--delete"
size="small"
@click="deleteBatch">批量删除</el-button>
<!--<el-button @click="handleExport"
class="diy-button&#45;&#45;reset"
size="small">导出</el-button>-->
</div>
<el-table :data="tableData"
border
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
class="table"
style="width: 100%"
@select-all="selectAll"
@selection-change="selectionChange"
:height="maxTableHeight">
<el-table-column :selectable="checkSelf"
type="selection"
width="55">
</el-table-column>
<el-table-column label="序号"
fixed="left"
type="index"
align="center"
width="50" />
<el-table-column prop="title"
align="center"
min-width="150"
label="日程标题"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="remindTime"
label="提醒时间"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="remark"
align="center"
width="150"
label="备注"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right"
label="操作"
align="center"
width="180">
<template slot-scope="scope">
<el-button v-if="user.id===scope.row.staffId"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">修改</el-button>
<el-button v-if="user.id===scope.row.staffId"
@click="handleDel(scope.row)"
type="text"
size="small"
class="div-table-button--delete">删除</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
<el-dialog v-if="showAdd"
:visible.sync="showAdd"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="addDiaTitle"
width="850px"
top="5vh"
class="dialog-h"
@closed="showAdd = false">
<add-activity ref="ref_add_form"
:formType="formType"
:icPartyActId="icPartyActId"
@handleOk="handleOk"
@handleClose="handleClose"></add-activity>
</el-dialog>
<el-dialog v-if="showSchedule"
:visible.sync="showSchedule"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'添加日程提醒'"
width="850px"
top="5vh"
class="dialog-h"
@closed="showSchedule = false">
<schedule-form ref="ref_schedule_form"
:formType="formType"
@handleOk="handleOk"
@handleClose="handleClose">
</schedule-form>
</el-dialog>
<div v-if="showType==='yearplan'">
<yearplan-list @handleOk="handleAddPlanOk"
@handleClose="handleAddPlanClose"></yearplan-list>
</div>
<el-dialog
title="修改日程提醒"
:visible.sync="dialogVisible"
width="850px"
top="5vh"
class="dialog-h"
:before-close="handleClose">
<el-form ref="ref_form"
:inline="true"
:model="scFormData"
:rules="dataRule"
class="div_form">
<el-form-item label="日程标题"
prop="title"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入活动标题"
v-model="scFormData.title">
</el-input>
</el-form-item>
<el-form-item label="提醒时间"
style="display: block"
prop="remindTime"
label-width="150px">
<el-date-picker v-model="scFormData.remindTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="选择时间">
</el-date-picker>
</el-form-item>
<el-form-item label="是否公开"
label-width="150px"
prop="isPublic">
<el-select v-model="scFormData.isPublic"
placeholder="请选择"
clearable
class="item_width_1">
<el-option v-for="item in gongkaiArray"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="日程介绍"
prop="remark"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="1000"
show-word-limit
:rows="3"
placeholder="请输入日程介绍,不超过1000字"
v-model="scFormData.remark"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="editSchedule"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from "vuex";
import axios from "axios";
import scheduleForm from "./scheduleForm";
export default {
components: { scheduleForm },
data () {
let endDisabledDate = (time) => {//datareturn
let nowData = Date.now()
if (this.formData.startTime) {
let startTime = new Date(this.formData.startTime)
return time.getTime() < startTime || time.getTime() === startTime
}
}
let startDisabledDate = (time) => {//datareturn
let nowData = Date.now()
return time.getTime() > nowData
}
return {
dialogVisible: false,
isPublicList: [
{
value: '0',
label: '仅自己可见'
},
{
value: '1',
label: '组织内其他人可见'
}
],
tableLoading: false,
user: {},
agencyId: '',
gongkaiArray: [
{
value: '0',
label: '仅自己可见'
},
{
value: '1',
label: '组织内其他人可见'
},
],
tableData: [],
scFormData: {
title: '',
remindTime: '',
remark: '',
scheduleId: '',
isPublic: ''
},
formData: {
title: '',
startTime: '',//20220817
endTime: '',//20220817
isPublish: ''
},
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
endPickerOptions: {
disabledDate: endDisabledDate
},
agencyIdArray: [],
showAdd: false,
formType: 'add',
addDiaTitle: '添加活动计划',
showSchedule: false,
showType: 'list',
scheduleId: '',
selection: [],
scheduleDiaTitle: '',
isPublic: '',
title: '',
remindTime: ''
};
},
computed: {
dataRule () {
return {
title: [
{ required: true, message: '日程标题不能为空', trigger: 'change' },
],
remindTime: [
{ required: true, message: '提醒时间不能为空', trigger: 'change' }
],
isPublic: [
{ required: true, message: '是否公开不能为空', trigger: 'change' }
],
}
},
maxTableHeight () {
return this.$store.state.inIframe
? this.clientHeight - 410 + this.iframeHeigh
: this.clientHeight - 410;
},
...mapGetters(["clientHeight", "iframeHeight"]),
},
watch: {
},
mounted () {
this.user = this.$store.state.user
this.agencyId = this.user.agencyId
this.getTableData();
},
methods: {
checkSelf (row) {
return this.$store.state.user.id === row.staffId
},
handleAddYearPlan () {
this.showType = 'yearplan'
},
handleAddPlanOk () {
this.showType = 'list'
},
handleAddPlanClose () {
this.showType = 'list'
},
handleAddSchedule () {
this.formType = 'schedule'
this.showSchedule = true;
},
handleSearch (val) {
this.pageNo = 1;
this.getTableData();
},
async handleAdd () {
this.icPartyActId = ''
this.addDiaTitle = '新增活动计划'
this.formType = 'add'
this.showAdd = true;
},
async handlePublish (row) {
this.icPartyActId = row.icPartyActId
this.$confirm("确认发布活动?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.publishActivity()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
},
async handleEdit (row) {
this.scFormData = row
this.dialogVisible = true
this.scFormData.scheduleId = row.id
},
async editSchedule () {
const url = '/resi/partymember/icSchedule/addOrEdit'
// const url = 'http://yapi.elinkservice.cn/mock/245/icSchedule/addOrEdit'
let params = {
...this.scFormData
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message.success('操作成功')
this.$emit('handleOk')
} else {
this.$message.error(msg)
}
this.dialogVisible = false
},
handleClose () {
this.formType = ''
this.showAdd = false
this.showSchedule = false
this.dialogVisible = false
},
handleOk () {
this.handleClose()
this.pageNo = 1
this.getTableData()
},
async handleDel (row) {
this.scheduleId = row.id
this.$confirm("活动删除后不可恢复,您确定要删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteActBatch()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
},
selectAll (selection) {
this.selection = selection
},
selectionChange (selection) {
this.selection = selection
},
deleteBatch () {
if (this.selection.length > 0) {
this.$confirm("确认删除选择的活动?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteActBatch()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
} else {
this.$message.warning('请先选择要删除的活动')
}
},
async deleteActBatch () {
let params = []
this.selection.forEach(element => {
params.push(element.id)
});
if (this.scheduleId !== null && this.scheduleId !== '' && this.scheduleId !== undefined){
params.push(this.scheduleId)
}
const url = "/resi/partymember/icSchedule/del";
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message.success("删除成功!");
this.getTableData();
} else {
this.$message.error('操作失败!')
}
},
async getTableData () {
this.tableLoading = true
const url = "/resi/partymember/icSchedule/list";
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
...formData,
});
this.tableLoading = false
if (code === 0) {
this.total = data.total || 0;
this.tableData = data.list;
} else {
this.$message.error(msg);
}
},
handleSizeChange (val) {
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange (val) {
this.pageNo = val;
this.getTableData();
},
resetSearch () {
this.agencyIdArray = []
this.formData = {
startTime: '',//20220817
endTime: '',//20220817
isPublish: '',
title: '',
}
this.pageNo = 1
this.getTableData()
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/buttonstyle.scss";
@import "@/assets/scss/modules/management/list-main.scss";
@import "@/assets/scss/modules/shequzhili/event-info.scss";
</style>

41
src/views/modules/communityParty/orgActivity/activivityList/yearplanList.vue

@ -5,28 +5,35 @@
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'80px'">
:label-width="'150px'">
<div>
<el-form-item label="活动类型"
<el-form-item label="选择计划年度"
prop="serviceCategoryKey">
<el-select v-model="formData.yearId"
<el-date-picker v-model="formData.yearId"
value-format="yyyy"
type="year"
placeholder="选择年"
size="small"
style="width: 150px">
</el-date-picker>
<!-- <el-select v-model="formData.yearId"
placeholder="请选择"
size="small"
clearable
class="item_width_2">
<el-option v-for="item in yearArray"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-select> -->
</el-form-item>
<el-button style="margin-left:30px"
<!--<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
class="diy-button&#45;&#45;search"
@click="handleSearch">查询</el-button>-->
</div>
</el-form>
@ -257,7 +264,13 @@ export default {
this.yearArray = []
let now = new Date()
let year = now.getFullYear()
this.formData.yearId = year + ''
if (this.currentYearStr) {
this.formData.yearId = this.currentYearStr
} else {
this.formData.yearId = year + ''
}
for (let i = 0; i < 5; i++) {
let obj = {
value: (year - i) + '',
@ -485,6 +498,16 @@ export default {
},
props: {
currentYearStr: { //
type: String,
required: ''
},
}
};
</script>

Loading…
Cancel
Save