Browse Source

111

feature
jiangyy 3 years ago
parent
commit
c6f4e4e63a
  1. 244
      src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue
  2. 421
      src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue

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

@ -9,7 +9,7 @@
<div> <div>
<el-form-item label="所属组织" <el-form-item label="所属组织"
prop="serviceCategoryKey"> prop="publishPartyOrgId">
<el-cascader class="customer_cascader" <el-cascader class="customer_cascader"
ref="myCascader" ref="myCascader"
size="small" size="small"
@ -20,8 +20,8 @@
@change="handleChangeAgency"></el-cascader> @change="handleChangeAgency"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="活动类型" <el-form-item label="活动类型"
prop="serviceCategoryKey"> prop="actType">
<el-select v-model="formData.serviceCategoryKey" <el-select v-model="formData.actType"
placeholder="请选择" placeholder="请选择"
size="small" size="small"
clearable clearable
@ -34,30 +34,29 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="举办时间" <el-form-item label="举办时间"
prop="serviceTimeStart"> prop="startDate">
<el-date-picker v-model="formData.serviceTimeStart" <el-date-picker v-model="formData.startDate"
:picker-options="startPickerOptions"
class="item_width_2" class="item_width_2"
size="small" size="small"
type="date" type="date"
value-format="yyyy-MM-dd HH:mm" value-format="yyyyMMdd"
value="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="开始时间"> placeholder="开始时间">
</el-date-picker> </el-date-picker>
<span class="data-tag"></span> <span class="data-tag"></span>
<el-date-picker v-model="formData.serviceTimeEnd" <el-date-picker v-model="formData.endDate"
:picker-options="endPickerOptions" :picker-options="endPickerOptions"
class="item_width_2 data-tag" class="item_width_2 data-tag"
size="small" size="small"
type="date" type="date"
value-format="yyyy-MM-dd HH:mm" value-format="yyyyMMdd"
value="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="结束时间"> placeholder="结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="活动地点" <el-form-item label="活动地点"
prop="serviceProjectName"> prop="address">
<el-input v-model="formData.serviceProjectName" <el-input v-model="formData.address"
class="item_width_2" class="item_width_2"
size="small" size="small"
clearable clearable
@ -66,8 +65,8 @@
</el-form-item> </el-form-item>
<el-form-item label="活动主题" <el-form-item label="活动主题"
prop="serviceOrgName"> prop="topic">
<el-input v-model="formData.serviceOrgName" <el-input v-model="formData.topic"
class="item_width_2" class="item_width_2"
size="small" size="small"
clearable clearable
@ -76,9 +75,9 @@
</el-form-item> </el-form-item>
<el-form-item label="发布状态" <el-form-item label="发布状态"
prop="serviceStatus"> prop="isPublish">
<el-select class="item_width_2" <el-select class="item_width_2"
v-model="formData.serviceStatus" v-model="formData.isPublish"
placeholder="全部" placeholder="全部"
size="small" size="small"
clearable> clearable>
@ -115,10 +114,13 @@
<el-button class="diy-button--add" <el-button class="diy-button--add"
size="small" size="small"
@click="handleAddSchedule">添加日程提醒</el-button> @click="handleAddSchedule">添加日程提醒</el-button>
<el-button style="float:left;margin-left:10px"
<!-- <el-button @click="handleExport" class="diy-button--delete"
size="small"
@click="deleteBatch">批量删除</el-button>
<el-button @click="handleExport"
class="diy-button--reset" class="diy-button--reset"
size="small">导出</el-button> --> size="small">导出</el-button>
</div> </div>
<el-table :data="tableData" <el-table :data="tableData"
@ -127,27 +129,32 @@
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" :header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
class="table" class="table"
style="width: 100%" style="width: 100%"
@select-all="selectAll"
@selection-change="selectionChange"
:height="maxTableHeight"> :height="maxTableHeight">
<el-table-column type="selection"
width="55">
</el-table-column>
<el-table-column label="序号" <el-table-column label="序号"
fixed="left" fixed="left"
type="index" type="index"
align="center" align="center"
width="50" /> width="50" />
<el-table-column prop="serviceCategoryName" <el-table-column prop="topic"
align="center" align="center"
min-width="150" min-width="150"
label="活动主题" label="活动主题"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="serviceProjectName" <el-table-column prop="publishPartyOrgName"
label="所属组织" label="所属组织"
align="center" align="center"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="serviceOrgName" <el-table-column prop="actTypeName"
align="center" align="center"
width="100" width="100"
label="会议类型" label="会议类型"
@ -155,23 +162,28 @@
</el-table-column> </el-table-column>
<el-table-column prop="servicePeopleNumber" <el-table-column prop="holdTime"
align="center" align="center"
width="110" width="110"
label="开始时间" label="开始时间"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="servicePeopleNumber" <el-table-column prop="address"
align="center" align="center"
width="110" width="110"
label="活动地点" label="活动地点"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="servicePeopleNumber" <el-table-column prop="isPublish"
align="center" align="center"
width="80" width="80"
label="发布状态" label="发布状态"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.isPublish == '1'">已发布</span>
<span v-if="scope.row.isPublish == '0'">未发布</span>
</template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" <el-table-column fixed="right"
@ -183,15 +195,30 @@
type="text" type="text"
size="small" size="small"
class=".div-table-button--detail">发布</el-button> class=".div-table-button--detail">发布</el-button>
<!-- <el-button v-if="scope.row.isPublish == '0'"
@click="handlePublish(scope.row)"
type="text"
size="small"
class=".div-table-button--detail">发布</el-button> -->
<el-button @click="handleEdit(scope.row)" <el-button @click="handleEdit(scope.row)"
type="text" type="text"
size="small" size="small"
class="div-table-button--edit">修改</el-button> class="div-table-button--edit">修改</el-button>
<!-- <el-button v-if="user.id===scope.row.publishStaffId"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">修改</el-button> -->
<el-button @click="handleDel(scope.row)" <el-button @click="handleDel(scope.row)"
type="text" type="text"
size="small" size="small"
class="div-table-button--delete">删除</el-button> class="div-table-button--delete">删除</el-button>
<!-- <el-button v-if="user.id===scope.row.publishStaffId"
@click="handleDel(scope.row)"
type="text"
size="small"
class="div-table-button--delete">删除</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
@ -222,6 +249,7 @@
@closed="showAdd = false"> @closed="showAdd = false">
<add-activity ref="ref_add_form" <add-activity ref="ref_add_form"
:formType="formType" :formType="formType"
:icPartyActId="icPartyActId"
@handleOk="handleOk" @handleOk="handleOk"
@handleClose="handleClose"></add-activity> @handleClose="handleClose"></add-activity>
</el-dialog> </el-dialog>
@ -267,11 +295,9 @@ export default {
let endDisabledDate = (time) => {//datareturn let endDisabledDate = (time) => {//datareturn
let nowData = Date.now() let nowData = Date.now()
if (this.formData.serviceTimeStart) { if (this.formData.startDate) {
let serviceTimeStart = new Date(this.formData.serviceTimeStart) let startDate = new Date(this.formData.startDate)
return time.getTime() > nowData || time.getTime() < serviceTimeStart || time.getTime() === serviceTimeStart return time.getTime() < startDate || time.getTime() === startDate
} else {
return time.getTime() > nowData
} }
} }
@ -289,38 +315,23 @@ export default {
categrayArray: [], categrayArray: [],
statusArray: [ statusArray: [
{ {
value: "in_service", value: "0",
label: "未发布", label: "未发布",
}, },
{ {
value: "completed", value: "1",
label: "已发布", label: "已发布",
}, },
], ],
satisfyArray: [
{
value: "bad",
label: "不满意",
},
{
value: "good",
label: "基本满意",
},
{
value: "perfect",
label: "非常满意",
},
],
formData: { formData: {
serviceCategoryKey: '',//id publishPartyOrgId: '',//
serviceProjectName: '',// actType: '',//
serviceOrgName: '',// startDate: '',//20220817
serviceTimeStart: '',//yyyy-MM-dd endDate: '',//20220817
serviceTimeEnd: '',//yyyy-MM-dd isPublish: '',//01:
serviceStatus: '',//in_servicecompleted: address: '',
satisfaction: '',//.:bad:good:perfect topic: '',
}, },
pageNo: 1, pageNo: 1,
@ -329,11 +340,10 @@ export default {
endPickerOptions: { endPickerOptions: {
disabledDate: endDisabledDate disabledDate: endDisabledDate
}, },
startPickerOptions: { // startPickerOptions: {
disabledDate: startDisabledDate // disabledDate: startDisabledDate
}, // },
serviceRecordId: '',
serviceProjectName: '',
orgOptions: [], orgOptions: [],
orgOptionProps: { orgOptionProps: {
@ -351,7 +361,8 @@ export default {
showSchedule: false, showSchedule: false,
showType: 'list', showType: 'list',
icPartyActId: '',
selection: []
}; };
}, },
computed: { computed: {
@ -363,13 +374,7 @@ export default {
...mapGetters(["clientHeight", "iframeHeight"]), ...mapGetters(["clientHeight", "iframeHeight"]),
}, },
watch: { watch: {
"formData.serviceTimeEnd": function (val) {
if (val && val != '') {
let arrayTemp = val.split(' ')
this.formData.serviceTimeEnd = arrayTemp[0] + ' 23:59:59'
}
},
}, },
mounted () { mounted () {
console.log(this.$store.state) console.log(this.$store.state)
@ -402,11 +407,12 @@ export default {
}, },
handleChangeAgency (val) { handleChangeAgency (val) {
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data let obj = this.$refs["myCascader"].getCheckedNodes()[0].data
if (obj) { if (obj) {
this.formData.publishPartyOrgId = obj.id
} else { } else {
this.formData.publishPartyOrgId = ''
} }
}, },
@ -434,11 +440,10 @@ export default {
}, },
// //
async getCategrayList () { async getCategrayList () {
const url = "/sys/dict/data/dictlist" // const url = "/resi/partymember/icPartyAct/acttypelist"
const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/acttypelist"
let params = { let params = {}
dictType: 'ic_service_type'
}
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
@ -457,6 +462,8 @@ export default {
}, },
async handlePublish (row) { async handlePublish (row) {
this.icPartyActId = row.icPartyActId
this.$confirm("确认发布活动?", "提示", { this.$confirm("确认发布活动?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
@ -479,7 +486,8 @@ export default {
async publishActivity () { async publishActivity () {
const url = `/heart/icServiceProject/service/cancel/${this.serviceRecordId}`; // const url = `/resi/partymember/icPartyAct/publish/${this.icPartyActId}`;
const url = `http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/publish/${this.icPartyActId}`;
const { data, code, msg } = await requestPost(url, {}); const { data, code, msg } = await requestPost(url, {});
@ -518,9 +526,9 @@ export default {
async handleDel (row) { async handleDel (row) {
this.serviceRecordId = row.serviceRecordId this.icPartyActId = row.icPartyActId
this.$confirm("确认取消服务?", "提示", { this.$confirm("确认取消活动?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
@ -542,23 +550,79 @@ export default {
async cancelActivity () { async cancelActivity () {
const url = `/heart/icServiceProject/service/cancel/${this.serviceRecordId}`; // const url = "/resi/partymember/icPartyAct/del";
const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/del";
let params = []
params.push(this.icPartyActId)
const { data, code, msg } = await requestPost(url, {}); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.$message.success("取消成功!"); this.$message.success("删除成功!");
this.getTableData(); this.getTableData();
} else { } else {
this.$message.error("操作失败!"); this.$message.error("操作失败!");
} }
}, },
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.icPartyActId)
});
// const url = "/resi/partymember/icPartyAct/del";
const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/del";
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message.success("删除成功!");
this.getTableData();
} else {
this.$message.error('操作失败!')
}
},
async getTableData () { async getTableData () {
this.tableLoading = true this.tableLoading = true
const url = "/heart/icServiceProject/service/recordList"; // const url = "/resi/partymember/icPartyAct/page-list";
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/recordList"; const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/page-list";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,
@ -594,7 +658,8 @@ export default {
}, },
async handleExport () { async handleExport () {
const url = "/gov/project/icEvent/export"; // const url = "/resi/partymember/icPartyAct/export-act";
const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/export-act";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
axios({ axios({
url: window.SITE_CONFIG["apiURL"] + url, url: window.SITE_CONFIG["apiURL"] + url,
@ -641,14 +706,15 @@ export default {
}, },
resetSearch () { resetSearch () {
this.agencyIdArray = []
this.formData = { this.formData = {
serviceCategoryKey: '', publishPartyOrgId: '',//
serviceProjectName: '', actType: '',//
serviceOrgName: '', startDate: '',//20220817
serviceTimeStart: '', endDate: '',//20220817
serviceTimeEnd: '', isPublish: '',//
serviceStatus: '', address: '',
satisfaction: '' topic: '',
} }

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

@ -10,13 +10,12 @@
<el-form-item label="活动类型" <el-form-item label="活动类型"
label-width="150px" label-width="150px"
prop="serviceCategoryKey"> prop="actType">
<el-select v-model="formData.serviceCategoryKey" <el-select v-model="formData.actType"
placeholder="请选择" placeholder="请选择"
clearable clearable
class="item_width_1"> class="item_width_1">
<el-option v-for="(item,index) in categrayArray" <el-option v-for="(item,index) in categrayArray"
@click.native="hancleClickCategray(index)"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value">
@ -26,40 +25,41 @@
<el-form-item label="举办活动时间" <el-form-item label="举办活动时间"
style="display: block" style="display: block"
prop="activityTime" prop="holdTime"
label-width="150px"> label-width="150px">
<el-date-picker v-model="formData.activityTime" <el-date-picker v-model="formData.holdTime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime" type="datetime"
placeholder="选择时间"> placeholder="选择时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="活动主题" <el-form-item label="活动主题"
prop="principalName" prop="topic"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
placeholder="请输入活动主题" placeholder="请输入活动主题"
v-model="formData.principalName"> v-model="formData.topic">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="活动地点" <el-form-item label="活动地点"
prop="principalName" prop="address"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
placeholder="请输入活动地点" placeholder="请输入活动地点"
v-model="formData.principalName"> v-model="formData.address">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="自动发布时间" <el-form-item label="自动发布时间"
prop="serviceProjectId" prop="autoPublicType"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-select class="item_width_1" <el-select class="item_width_1"
v-model="formData.serviceProjectId" v-model="formData.autoPublicType"
placeholder="请选择" placeholder="请选择"
filterable filterable
clearable> clearable>
@ -73,25 +73,38 @@
</el-form-item> </el-form-item>
<el-form-item label="参加活动党组织" <el-form-item label="参加活动党组织"
prop="serviceScope" prop="publishPartyOrgId"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-cascader class="item_width_1" <el-cascader class="item_width_1"
ref="myCascader" ref="myCascader"
v-model="scopeIdArray" v-model="publichIdArray"
:key="iscascaderShow" :key="iscascaderShow"
:options="orgOptions" :options="publishOptions"
:props="optionProps" :props="publichOptionProps"
:show-all-levels="false" :show-all-levels="false"
@change="handleChangeScope"></el-cascader> @change="handleChangeScope"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="发布活动党组织"
prop="serviceScope1"
label-width="150px"
style="display: block">
<el-cascader class="item_width_1"
ref="myCascader_join"
v-model="joinIdArray"
:key="joinIscascaderShow"
:options="joinOptions"
:props="joinOptionProps"
:show-all-levels="false"
@change="handleChangeJoinOrg"></el-cascader>
</el-form-item>
<el-form-item label="参加人员" <el-form-item label="参加人员"
prop="serviceOrgId" prop="joinUserType"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-select class="item_width_1" <el-select class="item_width_1"
v-model="formData.serviceOrgId" v-model="formData.joinUserType"
placeholder="请选择" placeholder="请选择"
filterable filterable
clearable> clearable>
@ -105,15 +118,15 @@
</el-form-item> </el-form-item>
<el-form-item label="自动通知参加人员" <el-form-item label="自动通知参加人员"
prop="remark" prop="isAutoInform"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-checkbox :label="'是'" <el-checkbox :label="'是'"
v-model="autoNotice"></el-checkbox> v-model="isAutoInform"></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="活动介绍" <el-form-item label="活动介绍"
prop="remark" prop="introduce"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-input class="item_width_1" <el-input class="item_width_1"
@ -122,7 +135,7 @@
show-word-limit show-word-limit
:rows="3" :rows="3"
placeholder="请输入活动介绍,不超过1000字" placeholder="请输入活动介绍,不超过1000字"
v-model="formData.remark"></el-input> v-model="formData.introduce"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="block" <el-form-item class="block"
@ -171,68 +184,68 @@ export default {
data () { data () {
return { return {
btnDisable: false, btnDisable: false,
orgOptions: [], publishOptions: [],
scopeIdArray: [], publichIdArray: [],
iscascaderShow: 0, iscascaderShow: 0,
publichOptionProps: {
multiple: false,
value: 'id',
label: 'partyOrgName',
children: 'children',
checkStrictly: true
},
optionProps: { joinOptions: [],
joinIdArray: [],
joinIscascaderShow: 0,
joinOptionProps: {
multiple: true, multiple: true,
value: 'id', value: 'id',
label: 'partyOrgName', label: 'partyOrgName',
children: 'children', children: 'children',
checkStrictly: true checkStrictly: false
}, },
categrayArray: [], categrayArray: [],
formData: { formData: {
serviceCategoryKey: '',//id icPartyActId: '',//
serviceProjectId: '',//id actType: '',// value
serviceOrgId: '',//id holdYearId: '',//yyyy
serviceScope: [],// holdMonthId: '',//yyyyMM
principalName: '',//() holdTime: '',//yyyy-MM-dd HH:mm:ss
principalContact: '',// topic: '',//
serviceTimeStart: '',//yyyy-MM-dd address: '',//
serviceTimeEnd: '',//yyyy-MM-dd latitude: '',//
remark: '',// longitude: '',//
autoPublicType: '',//key;
publishPartyOrgId: '',// id
publishPartyOrgName: '',//
publishOrgPid: '',// ID
publishOrgType: '',// 0,1,2,3,4,56
publishOrgPath: '',//PUBLISH_PARTY_ORG_ID便
joinUserType: '',//01
isAutoInform: '',// 01
introduce: '',//
joinOrgList: [],
attachmentList: []
}, },
autoNotice: true, isAutoInform: true,
autoTimeArray: [ autoTimeArray: [],
{
valule: '3',
label: '活动开始前3天'
},
{
valule: '5',
label: '活动开始前5天'
},
{
valule: '7',
label: '活动开始前7天'
},
{
valule: '1',
label: '活动开始前1天'
},
],
joinArray: [// joinArray: [//
{ {
valule: 'all', valule: '0',
label: '全体党员' label: '全体党员'
}, },
{ {
valule: 'branch', valule: '1',
label: '支部委员' label: '支部委员'
}, },
], ],
fileList: [], fileList: [],
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
@ -240,183 +253,228 @@ export default {
}, },
watch: { watch: {
"formData.serviceTimeEnd": function (val) { "formData.holdTime": function (val) {
if (val && val != '') { let array = val.split('-')
let arrayTemp = val.split(' ') formData.holdYearId = array[0]
this.formData.serviceTimeEnd = arrayTemp[0] + ' 23:59:59' formData.holdMonthId = array[0] + array[1]
} }
},
}, },
components: {}, components: {},
async mounted () { async mounted () {
this.startLoading() this.startLoading()
await this.getCategrayList() await this.getCategrayList()
await this.getAutoTimeArray()
await this.getOrgTreeList() await this.getOrgTreeList()
await this.getJoinOrgTreeList()
if (this.formType === 'add') { if (this.icPartyActId) {
this.$refs.ref_form.resetFields(); await this.loadInfo()
} else { } else {
this.$refs.ref_form.resetFields();
} }
this.endLoading() this.endLoading()
}, },
methods: { methods: {
handleChangeScope (value) {
debugger
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data
if (obj) {
this.formData.publishPartyOrgId = obj.id//id
this.formData.publishPartyOrgName = obj.partyOrgName//
this.formData.publishOrgPid = obj.orgPids//ID
this.formData.publishOrgType = obj.partyOrgType// 0,1,2,3,4,56
this.formData.publishOrgPath = value.join(',')//PUBLISH_PARTY_ORG_ID便
} else {
this.formData.publishPartyOrgId = ''
this.formData.publishPartyOrgName = ''
this.formData.publishOrgPid = ''
this.formData.publishOrgType = ''
this.formData.publishOrgPath = ''
}
},
handleChangeJoinOrg (value) {
console.log('value', value)
this.formData.serviceScope = []
let selArray = this.$refs["myCascader_join"].getCheckedNodes()
console.log('selArray', selArray)
selArray.forEach(element => {
hancleClickCategray () { let obj = {
this.formData.serviceProjectId = '' joinOrgId: element.id,
this.formData.serviceOrgId = '' orgType: element.partyOrgType,
pid: element.pid,
joinOrgPath: element.data.objectName,
}
this.formData.serviceScope.push(obj)
});
//
// this.loadOrgList()
}, },
// async handleComfirm () {
async getCategrayList () {
const url = "/sys/dict/data/dictlist" this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
}, 10000)
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
this.addActivity()
}
})
},
async addActivity () {
if (this.isAutoInform) {
this.formData.isAutoInform = '1'
} else {
this.formData.isAutoInform = '0'
}
this.formData.attachmentList = [...this.fileList]
if (this.formType === 'add') {
this.formData.icPartyActId = ''
}
console.log(this.formData)
// const url = '/resi/partymember/icPartyAct/addOrUpdate'
const url = 'http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/addOrUpdate'
let params = { let params = {
dictType: 'ic_service_type'
...this.formData
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
this.categrayArray = data this.$message.success('操作成功')
this.resetData()
this.$emit('handleOk')
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
async getOrgTreeList () { async loadInfo () {
// const url = `/resi/partymember/icPartyAct/act-detail/${this.icPartyActId}`;
const url = `http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/act-detail/${this.icPartyActId}`;
const url = '/resi/partymember/icPartyOrg/getSearchTreelist' let params = {}
let params = {
customerId: localStorage.getItem('customerId'), const { data, code, msg } = await requestPost(url, params)
agencyId: localStorage.getItem('agencyId')
};
const { data, code, msg } = await requestGet(url, params);
console.log('data-orgparty----o', data)
if (code === 0) { if (code === 0) {
this.formData = { ...data }
this.orgOptions = data this.publichIdArray = data.publishOrgPath.split(',')
} else { } else {
this.$message.error(msg)
} }
}, },
//
async getCategrayList () {
// const url = "/resi/partymember/icPartyAct/acttypelist"
const url = "http://yapi.elinkservice.cn/mock/245/resi/partymember/icPartyAct/acttypelist"
handleChangeScope (value) { let params = {}
this.formData.serviceScope = []
let selArray = this.$refs["myCascader"].getCheckedNodes()
selArray.forEach(element => {
let obj = { const { data, code, msg } = await requestPost(url, params)
objectType: element.data.objectType === 'grid' ? 'grid' : element.data.objectType === 'neighborhood' ? 'neighborhood' : 'agency',
objectId: element.data.objectId,
objectName: element.data.objectName,
}
this.formData.serviceScope.push(obj)
});
if (code === 0) {
this.categrayArray = data
} else {
this.$message.error(msg)
}
}, },
//
async getAutoTimeArray () {
const url = "/sys/dict/data/dictlist"
//
async loadOrgList () {
const url = '/heart/icServiceOrg/selectlist'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceOrg/selectlist'
let params = { let params = {
serviceType: this.formData.serviceCategoryKey, dictType: 'icpartyact_auto_publish_time'
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
this.orgList = data this.autoTimeArray = data
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
async handleComfirm () { async getOrgTreeList () {
if (this.formType === 'add') {
this.handleAdd()
} else if (this.formType === 'feedback') {
}
},
async handleAdd () {
this.btnDisable = true
setTimeout(() => {
this.btnDisable = false
}, 10000)
this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
const url = '/resi/partymember/icPartyOrg/getSearchTreelist'
let params = {
customerId: localStorage.getItem('customerId'),
agencyId: localStorage.getItem('agencyId')
};
this.addActivity() const { data, code, msg } = await requestGet(url, params);
console.log('data-orgparty----o', data)
if (code === 0) {
this.publishOptions = data
this.joinOptions = data
this.changeKey(this.joinOptions)
} } else {
}
})
}, },
async addActivity () { changeKey (arr) {
for (var i = 0; i < arr.length; i++) {
arr[i].value = arr[i].userId
arr[i].label = arr[i].userName
console.log(this.formData) if (arr[i].children.length) {
// return false this.changeKey(arr[i].children)
const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; // } else {
if (this.formData.principalContact && regPhone.test(this.formData.principalContact) === false) { delete arr[i].children
this.btnDisable = false }
this.$message({
type: 'warning',
message: '请输入正确的手机号码'
})
return false;
} }
},
//
const url = '/heart/icServiceProject/service/initiate' async getJoinOrgTreeList () {
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate' const url = '/resi/partymember/icPartyOrg/getOrgTreeHaveGroup'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceOrg/selectlist'
let params = { let params = {
agencyId: localStorage.getItem('agencyId')
...this.formData
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
this.$message.success('发起成功') // this.joinOptions = data
this.resetData()
this.$emit('handleOk')
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
beforeUpload (file) { beforeUpload (file) {
const array = file.name.split('.') const array = file.name.split('.')
const extension = array[array.length - 1] const extension = array[array.length - 1]
@ -491,17 +549,29 @@ export default {
resetData () { resetData () {
this.joinIdArray = []
this.publichIdArray = []
this.formData = { this.formData = {
serviceCategoryKey: '',//id icPartyActId: '',//
serviceProjectId: '',//id actType: '',// value
serviceOrgId: '',//id holdYearId: '',//yyyy
serviceScope: [],// holdMonthId: '',//yyyyMM
principalName: '',//() holdTime: '',//yyyy-MM-dd HH:mm:ss
principalContact: '',// topic: '',//
serviceTimeStart: '',//yyyy-MM-dd address: '',//
serviceTimeEnd: '',//yyyy-MM-dd latitude: '',//
remark: '',// longitude: '',//
autoPublicType: '',//key;
publishPartyOrgId: '',// id
publishPartyOrgName: '',//
publishOrgPid: '',// ID
publishOrgType: '',// 0,1,2,3,4,56
publishOrgPath: '',//PUBLISH_PARTY_ORG_ID便
joinUserType: '',//01
isAutoInform: '',// 01
introduce: '',//
joinOrgList: [],
attachmentList: []
} }
@ -526,21 +596,18 @@ export default {
dataRule () { dataRule () {
return { return {
serviceCategoryKey: [ actType: [
{ required: true, message: '服务类别不能为空', trigger: 'blur' }, { required: true, message: '活动类型不能为空', trigger: 'blur' },
], ],
serviceProjectId: [ holdTime: [
{ required: true, message: '服务项目不能为空', trigger: 'blur' } { required: true, message: '活动举办时间不能为空', trigger: 'blur' }
], ],
serviceOrgId: [ topic: [
{ required: true, message: '服务组织不能为空', trigger: 'blur' } { required: true, message: '活动主题不能为空', trigger: 'blur' }
],
serviceTimeStart: [
{ required: true, message: '服务时间不能为空', trigger: 'blur' }
], ],
serviceScope: [ address: [
{ required: true, message: '服务范围不能为空', trigger: 'blur' } { required: true, message: '活动地点不能为空', trigger: 'blur' }
], ],
} }
@ -555,6 +622,10 @@ export default {
type: String, type: String,
required: '' required: ''
}, },
icPartyActId: {
type: String,
required: ''
},
} }

Loading…
Cancel
Save