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

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

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

Loading…
Cancel
Save