From c6f4e4e63aee131fb67edac90a6d64520df81fa4 Mon Sep 17 00:00:00 2001 From: jiangyy Date: Fri, 19 Aug 2022 15:23:45 +0800 Subject: [PATCH] 111 --- .../activivityList/activivityList.vue | 244 ++++++---- .../activivityList/addActivity.vue | 421 ++++++++++-------- 2 files changed, 401 insertions(+), 264 deletions(-) diff --git a/src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue b/src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue index 8291b79e5..49b9ed035 100644 --- a/src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue +++ b/src/views/modules/communityParty/orgActivity/activivityList/activivityList.vue @@ -9,7 +9,7 @@
+ prop="publishPartyOrgId"> - + - + - - + - + + prop="isPublish"> @@ -115,10 +114,13 @@ 添加日程提醒 - - + size="small">导出
+ + - - - - - - + 发布 + 修改 + 删除 + @@ -222,6 +249,7 @@ @closed="showAdd = false"> @@ -267,11 +295,9 @@ export default { let endDisabledDate = (time) => {//这个关键属性我们一定要写在data的里面并且return的外面,这是动态改变区间的关键 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_service服务中;completed:已完成 - satisfaction: '',//满意度.不满意:bad、基本满意:good、非常满意:perfect + publishPartyOrgId: '',//发布活动党组织;所属党组织 + actType: '',//活动类型 + startDate: '',//活动开始时间20220817 + endDate: '',//活动结束时间20220817 + isPublish: '',//活动状态。0未完成;1:已完成 + 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: '', } diff --git a/src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue b/src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue index 9764df454..01216283f 100644 --- a/src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue +++ b/src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue @@ -10,13 +10,12 @@ - + @@ -26,40 +25,41 @@ - + v-model="formData.topic"> + v-model="formData.address"> @@ -73,25 +73,38 @@ + + + @@ -105,15 +118,15 @@ + v-model="isAutoInform"> + v-model="formData.introduce"> { - 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党委,5支部;6党小组 + publishOrgPath: '',//PUBLISH_PARTY_ORG_ID的全路径,包含自身。方便前端回显 + joinUserType: '',//参加人员类型,0:全体党员;1:支部委员 + isAutoInform: '',// 是否自动通知参加人员,0否;1是 + 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: '' + }, }