From dd0ab8590ec049657d5686cf5c6e906a30b457f2 Mon Sep 17 00:00:00 2001 From: danshihao Date: Thu, 4 Jan 2024 09:26:49 +0800 Subject: [PATCH 01/29] =?UTF-8?q?[update]=E8=B5=B7=E8=8D=89=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../draftingGroup/ConferenceMaintenance.vue | 395 ++++++++++++++++++ .../draftingGroup/DraftingGroupManagement.vue | 10 +- .../DraftingGroupMemberUnitMaintenance.vue | 6 +- ...> DraftingGroupProjectDataMaintenance.vue} | 16 +- ...vue => DraftingGroupUnderStudyProject.vue} | 8 +- ....vue => DraftingGroupDistributeModule.vue} | 2 +- ...l.vue => DraftingGroupFileUploadModal.vue} | 2 +- ....vue => DraftingGroupMemberUnitModule.vue} | 0 .../modules/DraftingGroupModule.vue | 39 +- ...> DraftingGroupUnderStudyProjectModal.vue} | 2 +- 10 files changed, 452 insertions(+), 28 deletions(-) create mode 100644 src/views/draftingGroup/ConferenceMaintenance.vue rename src/views/draftingGroup/{WorkingGroupProjectDataMaintenance.vue => DraftingGroupProjectDataMaintenance.vue} (93%) rename src/views/draftingGroup/{WorkingGroupUnderStudyProject.vue => DraftingGroupUnderStudyProject.vue} (94%) rename src/views/draftingGroup/modules/{WorkGroupDistributeModule.vue => DraftingGroupDistributeModule.vue} (99%) rename src/views/draftingGroup/modules/{WorkGroupFileUploadModal.vue => DraftingGroupFileUploadModal.vue} (98%) rename src/views/draftingGroup/modules/{WorkingGroupMemberUnitModule.vue => DraftingGroupMemberUnitModule.vue} (100%) rename src/views/draftingGroup/modules/{WorkingGroupUnderStudyProjectModal.vue => DraftingGroupUnderStudyProjectModal.vue} (99%) diff --git a/src/views/draftingGroup/ConferenceMaintenance.vue b/src/views/draftingGroup/ConferenceMaintenance.vue new file mode 100644 index 0000000..75ffdbe --- /dev/null +++ b/src/views/draftingGroup/ConferenceMaintenance.vue @@ -0,0 +1,395 @@ + + + + + \ No newline at end of file diff --git a/src/views/draftingGroup/DraftingGroupManagement.vue b/src/views/draftingGroup/DraftingGroupManagement.vue index 4711b1d..dcb7bf2 100644 --- a/src/views/draftingGroup/DraftingGroupManagement.vue +++ b/src/views/draftingGroup/DraftingGroupManagement.vue @@ -113,10 +113,10 @@ import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png' import { copyWorkingGroup } from '../../api/incomePaymentsApi' import { getAction } from '../../api/manage' -import DraftingGroupModule from "./modules/DraftingGroupModule"; +import DraftingGroupModule from './modules/DraftingGroupModule'; export default { - name: 'WorkingGroupProjectManagement', + name: 'DraftingGroupManagement', components: { JYearDate, DraftingGroupModule, SelectPrincipal, ProgressBar, PageHeaderTitle }, mixins: [JeroListMixin], data() { @@ -245,7 +245,7 @@ export default { goFilesMaintenance(record) { console.log(record) this.$router.push({ - path: '/projectManagement/WorkingGroupProjectDataMaintenance', + path: '/draftingGroup/DraftingGroupProjectDataMaintenance', query: { workingGroupId: record.id, canOperate: record.checkoutOperation === 1 @@ -258,7 +258,7 @@ export default { */ goConferenceMaintenance(record) { this.$router.push({ - path: '/projectManagement/ConferenceMaintenance', + path: '/draftingGroup/ConferenceMaintenance', query: { workingGroupProject: record.workingGroupProject, workingGroupProjectId: record.id, @@ -310,7 +310,7 @@ export default { */ goUnderStudyProject(record) { this.$router.push({ - path: '/projectManagement/WorkingGroupProjectManagement/UnderStudyProject', + path: '/draftingGroup/DraftingGroupUnderStudyProject', query: { title: record.workingGroupProject, id: record.id diff --git a/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue b/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue index ffc83df..f66c6fc 100644 --- a/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue +++ b/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue @@ -145,7 +145,7 @@ - + @@ -162,7 +162,7 @@ import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import { getWorkingGroupById, dunningReminder } from '@api/incomePaymentsApi' import StatusSlot from '../../components/tools/StatusSlot' import ProjectDetailModal from '../../components/ProjectDetailModal' -import WorkingGroupMemberUnitModule from './modules/WorkingGroupMemberUnitModule' +import DraftingGroupMemberUnitModule from './modules/DraftingGroupMemberUnitModule' import WorkingGroupMemberSetChargeNotice from './modules/WorkingGroupMemberSetChargeNotice' import Vue from 'vue' import { ACCESS_TOKEN } from '../../store/mutation-types' @@ -180,7 +180,7 @@ export default { PageHeaderTitle, StatusSlot, ProjectDetailModal, - WorkingGroupMemberUnitModule, + DraftingGroupMemberUnitModule, WorkingGroupMemberSetChargeNotice, PreviewFile, EmailErrorMsgModal, diff --git a/src/views/draftingGroup/WorkingGroupProjectDataMaintenance.vue b/src/views/draftingGroup/DraftingGroupProjectDataMaintenance.vue similarity index 93% rename from src/views/draftingGroup/WorkingGroupProjectDataMaintenance.vue rename to src/views/draftingGroup/DraftingGroupProjectDataMaintenance.vue index 081a56b..7f65f78 100644 --- a/src/views/draftingGroup/WorkingGroupProjectDataMaintenance.vue +++ b/src/views/draftingGroup/DraftingGroupProjectDataMaintenance.vue @@ -66,33 +66,33 @@ - + :project-type="projectType"> - + @ok="modalFormOk"> + + \ No newline at end of file diff --git a/src/views/draftingGroup/modules/DraftingGroupSetLabel.vue b/src/views/draftingGroup/modules/DraftingGroupSetLabel.vue new file mode 100644 index 0000000..a2ba923 --- /dev/null +++ b/src/views/draftingGroup/modules/DraftingGroupSetLabel.vue @@ -0,0 +1,113 @@ + + + + + + \ No newline at end of file From 96e9b1275fd59bf7be9e1cfd5d882099a279e016 Mon Sep 17 00:00:00 2001 From: danshihao Date: Mon, 8 Jan 2024 15:26:24 +0800 Subject: [PATCH 03/29] =?UTF-8?q?update=20=E8=B5=B7=E8=8D=89=E7=BB=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AF=B9=E6=8E=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/incomePaymentsApi.js | 14 ++++- .../draftingGroup/DraftingGroupManagement.vue | 56 ++++++++++++++----- .../modules/DraftingGroupModule.vue | 29 ++++++---- 3 files changed, 74 insertions(+), 25 deletions(-) diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index e5f15ad..265c60a 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -136,6 +136,14 @@ const revokeConfirm = (params) => postAction(`/payConfirmPaymentRecord/backIncom // 判断当前节点 是否可以发邮件 const judgeEmailStatus = (param) => getAction('/sys/message/sysMessageTemplate/queryByCode', param) +// 2024-01-08 起草组相关功能接口 +// 起草组管理-复制 +const copyDraftingGroup = (param) => postAction('/drafting/payDraftingGroup/copy', param) +// 起草组管理-工作组下拉 +const getWorkingGroupList = (param) => getAction('/drafting/payDraftingGroup/queryAllWorkingGroupsIdAndName', param) +// 通过id获取起草组详情 +const getDraftingGroupById = (params) => getAction('/drafting/payDraftingGroup/queryById', params) + export { getWorkingGroupById, getChargeNotice, @@ -206,5 +214,9 @@ export { revokeConfirm, - judgeEmailStatus + judgeEmailStatus, + + copyDraftingGroup, + getWorkingGroupList, + getDraftingGroupById, } diff --git a/src/views/draftingGroup/DraftingGroupManagement.vue b/src/views/draftingGroup/DraftingGroupManagement.vue index dcb7bf2..34afffa 100644 --- a/src/views/draftingGroup/DraftingGroupManagement.vue +++ b/src/views/draftingGroup/DraftingGroupManagement.vue @@ -8,12 +8,22 @@ - + - + + + {{ item.workingGroupProject }} + + + @@ -108,16 +118,15 @@ import { JeroListMixin } from '@/mixins/JeroListMixin' import JYearDate from '@comp/jero/JYearDate' import SelectPrincipal from '@comp/company/SelectPrincipal' -import ProgressBar from '@comp/ProgressBar' import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png' -import { copyWorkingGroup } from '../../api/incomePaymentsApi' +import {copyDraftingGroup, getWorkingGroupList} from '../../api/incomePaymentsApi' import { getAction } from '../../api/manage' -import DraftingGroupModule from './modules/DraftingGroupModule'; +import DraftingGroupModule from './modules/DraftingGroupModule' export default { name: 'DraftingGroupManagement', - components: { JYearDate, DraftingGroupModule, SelectPrincipal, ProgressBar, PageHeaderTitle }, + components: { JYearDate, DraftingGroupModule, SelectPrincipal, PageHeaderTitle }, mixins: [JeroListMixin], data() { return { @@ -131,9 +140,9 @@ export default { sm: { span: 10 } }, url: { - list: '/project/payWorkingGroup/list', - delete: '/project/payWorkingGroup/delete', - deleteBatch: '/project/payWorkingGroup/deleteBatch' + list: '/drafting/payDraftingGroup/list', + delete: '/drafting/payDraftingGroup/delete', + deleteBatch: '/drafting/payDraftingGroup/deleteBatch' }, columns: [ { @@ -148,12 +157,12 @@ export default { }, { title: '起草组项目', align: 'center', - dataIndex: 'workingGroupProject', + dataIndex: 'draftingGroupProject', scopedSlots: { customRender: 'projectName' } }, { title: '关联工作组', align: 'center', - dataIndex: 'obj', + dataIndex: 'workingGroupName', width: 300 }, { title: '负责人A', @@ -175,10 +184,23 @@ export default { lastQueryParam: { year: new Date().getFullYear().toString() }, + // 关联工作组下拉 + workingGroupList: [], operateData: [] // 进行操作权限校验时使用的数据 } }, + created () { + this.loadWorkingGroupList() + }, methods: { + // 获取工作组下拉列表 + loadWorkingGroupList () { + getWorkingGroupList().then(res => { + if (res.success) { + this.workingGroupList = res.result || [] + } + }) + }, loadData(arg) { if (!this.url.list) { this.$message.error('请设置url.list属性!') @@ -271,7 +293,7 @@ export default { * @param id */ copyWorkGroup(id) { - copyWorkingGroup({ id: id }).then(res => { + copyDraftingGroup({ id: id }).then(res => { if (res.success) { this.$message.success(res.message) } else { @@ -289,8 +311,8 @@ export default { this.$router.push({ path: '/draftingGroup/DraftingGroupMemberUnitMaintenance', query: { - workingGroupProject: record.workingGroupProject, - workingGroupProjectId: record.id, + draftingGroupProject: record.draftingGroupProject, + draftingGroupProjectId: record.id, canOperate: record.checkoutOperation === 1 } }) @@ -325,6 +347,12 @@ export default { this.$refs.modalForm.edit(record) this.$refs.modalForm.title = '基本信息维护' this.$refs.modalForm.disableSubmit = false + }, + // 下拉框的搜索 + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 + ) } } } diff --git a/src/views/draftingGroup/modules/DraftingGroupModule.vue b/src/views/draftingGroup/modules/DraftingGroupModule.vue index 2cc3a26..ae5a240 100644 --- a/src/views/draftingGroup/modules/DraftingGroupModule.vue +++ b/src/views/draftingGroup/modules/DraftingGroupModule.vue @@ -17,7 +17,7 @@ @@ -113,17 +113,16 @@ - - \ No newline at end of file diff --git a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue index 02a4517..92d5beb 100644 --- a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue +++ b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue @@ -12,11 +12,11 @@ - + @@ -40,18 +40,17 @@ - 编辑 - 删除 + 编辑 + 删除 diff --git a/src/views/draftingGroup/DraftingGroupUnderStudyProject.vue b/src/views/draftingGroup/DraftingGroupUnderStudyProject.vue index 1302a1f..dbcd03c 100644 --- a/src/views/draftingGroup/DraftingGroupUnderStudyProject.vue +++ b/src/views/draftingGroup/DraftingGroupUnderStudyProject.vue @@ -13,7 +13,7 @@ - 查询 + 查询 重置 @@ -24,8 +24,8 @@
- 新增 - 批量删除 + 新增 + 批量删除
@@ -50,8 +50,8 @@ - 编辑 - 删除 + 编辑 + 删除 diff --git a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue index cee0113..cbc9f4a 100644 --- a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue +++ b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue @@ -314,10 +314,12 @@ - 会议纪要 - 上传文件 + 会议纪要 + 上传文件 - 编辑 - 删除 + 编辑 + 删除 diff --git a/src/views/draftingGroup/DraftingGroupManagement.vue b/src/views/draftingGroup/DraftingGroupManagement.vue index 87a6383..66060fe 100644 --- a/src/views/draftingGroup/DraftingGroupManagement.vue +++ b/src/views/draftingGroup/DraftingGroupManagement.vue @@ -284,7 +284,8 @@ export default { query: { draftingGroupProject: record.draftingGroupProject, draftingGroupProjectId: record.id, - canOperate: record.checkoutOperation === 1 + canOperate: record.checkoutOperation === 1, + meetingType: '7' } }) }, diff --git a/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue b/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue index 278496f..ddf4540 100644 --- a/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue +++ b/src/views/draftingGroup/DraftingGroupMemberUnitMaintenance.vue @@ -32,6 +32,25 @@ + +
+
入会信息
+
+ + + + {{ signUpHerfUrl }} + + + 报名二维码复制 + + + + + + +
成员信息
@@ -137,6 +156,8 @@ + + 审核 编辑 删除 @@ -146,6 +167,8 @@ + +
@@ -159,6 +182,8 @@ import DraftingGroupMemberUnitModule from './modules/DraftingGroupMemberUnitModu import Vue from 'vue' import { ACCESS_TOKEN } from '../../store/mutation-types' import PreviewFile from '../../components/jero/PreviewFile' +import {createQcCode} from '@api/incomeMeetingApi' +import DraftingGroupMemberUnitCheckModule from '@views/draftingGroup/modules/DraftingGroupMemberUnitCheckModule' // eslint-disable-next-line no-undef,no-unused-vars const Base64 = require('js-base64').Base64 @@ -166,6 +191,7 @@ const Base64 = require('js-base64').Base64 export default { name: 'DraftingGroupMemberUnitMaintenance', components: { + DraftingGroupMemberUnitCheckModule, PageHeaderTitle, StatusSlot, ProjectDetailModal, @@ -174,12 +200,21 @@ export default { }, mixins: [JeroListMixin], computed: { + // 报名链接 + signUpHerfUrl() { + return `${ window._CONFIG['singUpQRCodeURL'] }?id=${ this.$route.query.draftingGroupProjectId }` + }, importExcelUrl: function () { return `${ window._CONFIG['domianURL'] }/${ this.url.importExcelUrl }` } }, + async mounted() { + // 生成会议报名二维码 + this.signUpQRCode = await this.generateQRCode(this.signUpHerfUrl) + }, data() { return { + signUpQRCode: '', disableMixinCreated: true, draftingGroupProject: '', draftingGroupProjectId: '', @@ -338,6 +373,26 @@ export default { this.initWorkGroupData() }, methods: { + handleCheck (record) { + this.$refs.draftingGroupMemberUnitCheckModule.open(record) + }, + /* + * 生成二维码 + * */ + generateQRCode(params) { + return new Promise(resolve => { + let code = '' + createQcCode({ contact: params }).then(res => { + if (res.success) { + code = res.result + } else { + console.error('生成二维码失败') + } + }).finally(() => { + resolve(code) + }) + }) + }, /** * 初始化起草组信息 */ @@ -360,7 +415,29 @@ export default { this.spinning = false }) }, - + /* + * 复制地址 + * */ + copy(data) { + // 存储传递过来的数据 + let OrderNumber = data + // 创建一个input 元素 + // createElement() 方法通过指定名称创建一个元素 + let newInput = document.createElement('input') + // 讲存储的数据赋值给input的value值 + newInput.value = OrderNumber + // appendChild() 方法向节点添加最后一个子节点。 + document.body.appendChild(newInput) + // 选中input元素中的文本 + // select() 方法用于选择该元素中的文本。 + newInput.select() + // 执行浏览器复制命令 + // execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令 + document.execCommand('Copy') + // 清空输入框 + newInput.remove() + this.$message.success('复制成功') + }, handleAdd: function () { this.$refs.modalForm.draftingGroupId = this.draftingGroupProjectId this.$refs.modalForm.add() @@ -445,4 +522,37 @@ export default { overflow: hidden; text-overflow: ellipsis; } + +.flex-col { + .ant-col { + display: flex; + } + label { + flex-shrink: 0; + } +} + +.qr-code { + width: 100px; + height: 100px; +} + +.copy { + font-style: normal; + cursor: pointer; +} +.ant-row { + line-height: 3; + + .ant-col { + + label { + color: #999; + } + + span { + color: black; + } + } +} diff --git a/src/views/draftingGroup/modules/DraftingGroupMemberUnitCheckModule.vue b/src/views/draftingGroup/modules/DraftingGroupMemberUnitCheckModule.vue new file mode 100644 index 0000000..a8881df --- /dev/null +++ b/src/views/draftingGroup/modules/DraftingGroupMemberUnitCheckModule.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue index 92d5beb..9d8f7b9 100644 --- a/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue +++ b/src/views/draftingGroup/modules/DraftingGroupMemberUnitModule.vue @@ -113,7 +113,7 @@ import { checkAssociatedProject } from '../../../utils/projectCheck' import { CalcAmountMixin } from '@/mixins/CalcAmountMixin' export default { - name: 'WorkingGroupMemberUnitModule', + name: 'DraftingGroupMemberUnitModule', components: { CompanySelect, SelectContacts }, mixins: [CalcAmountMixin], props: { @@ -411,6 +411,8 @@ export default { let method = 'post' if (!this.model.id) { httpurl += this.url.add + // 通过添加成员来的,默认状态为通过 + values.checkResult = 2 } else { httpurl += this.url.edit } diff --git a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue index cbc9f4a..c57e9e9 100644 --- a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue +++ b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue @@ -916,6 +916,7 @@ export default { formData.meetingType = '2' formData.standardsId = this.$route.query.standardsId } + // 如果是起草组会议需要加上起草组id与会议类型 if (this.isDraftGroupMeetType) { formData.meetingType = '7' formData.draftingGroupId = this.$route.query.draftingGroupProjectId diff --git a/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue b/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue index 7301275..8c74e80 100644 --- a/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue +++ b/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue @@ -238,6 +238,12 @@ export default { uploadFile: '/meeting/councilMeeting/uploadFile', uploadCouncilFile: '/meeting/councilMeeting/uploadCouncilFile', } + // 起草组会议 + case '7': + return { + uploadFile: '/meeting/draftGroupMeeting/uploadFile', + uploadCouncilFile: '/meeting/draftGroupMeeting/uploadCouncilFile', + } } }, handleOk() { diff --git a/src/views/projectManagement/modules/PublishRemindModal.vue b/src/views/projectManagement/modules/PublishRemindModal.vue index 2f2e6f6..9e4c913 100644 --- a/src/views/projectManagement/modules/PublishRemindModal.vue +++ b/src/views/projectManagement/modules/PublishRemindModal.vue @@ -85,7 +85,12 @@