update 起草组完善

This commit is contained in:
danshihao
2024-01-10 09:06:50 +08:00
parent ef0ef97443
commit 6fc993c16b
10 changed files with 365 additions and 15 deletions
@@ -32,6 +32,25 @@
<a-divider></a-divider>
<!-- 入会信息 -->
<div class="part-title">
<div class="part-title-text">入会信息</div>
</div>
<a-spin :spinning="spinning">
<a-row class="flex-col">
<a-col :xxl="8" :xl="12" :sm="24">
<label>报名链接</label><span>{{ signUpHerfUrl }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>报名二维码</label><img class="qr-code" :src="signUpQRCode" alt="报名二维码"/><i class="copy primary-color"
@click="copy(signUpHerfUrl)">复制</i>
</a-col>
</a-row>
</a-spin>
<!-- /入会信息 -->
<a-divider></a-divider>
<!-- 查询区域-->
<div class="part-title">
<div class="part-title-text">成员信息</div>
@@ -137,6 +156,8 @@
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
<!-- 1.待审核 2.已通过 3.已驳回 -->
<a @click="handleCheck(record)" v-if="record.checkResult === 1" v-has="'draftingGroupMember:edit'">审核</a>
<a @click="handleEdit(record)" v-has="'draftingGroupMember:edit'">编辑</a>
<a @click="handleDelete(record.id)" v-has="'draftingGroupMember:delete'">删除</a>
</span>
@@ -146,6 +167,8 @@
<project-detail-modal ref="projectDetail"></project-detail-modal>
<drafting-group-member-unit-module ref="modalForm" @ok="modalFormOk"></drafting-group-member-unit-module>
<!-- 审核弹框 -->
<drafting-group-member-unit-check-module ref="draftingGroupMemberUnitCheckModule"/>
</div>
</template>
@@ -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;
}
}
}
</style>