[update 起草组] 批量审核

This commit is contained in:
danshihao
2024-09-11 10:54:07 +08:00
parent 91628f6d31
commit 1c5328b9cc
2 changed files with 238 additions and 0 deletions
@@ -101,6 +101,10 @@
<a-button type="danger" icon="delete" @click="batchDel" v-has="'draftingGroupMember:batchDel'" v-if="canOperate">
批量删除
</a-button>
<a-button type="primary" icon="check" @click="handleBatchCheck" v-has="'draftingGroupMember:check'" v-if="canOperate">
批量审核
</a-button>
<!--<a-button type="primary" @click="setLabel" v-has="'workingGroupMember:setLabel'">设置标签</a-button>-->
</div>
<!-- /操作按钮区域-end-->
@@ -150,6 +154,8 @@
<drafting-group-member-unit-module ref="modalForm" @ok="modalFormOk"></drafting-group-member-unit-module>
<!-- 审核弹框 -->
<drafting-group-member-unit-check-module ref="draftingGroupMemberUnitCheckModule" @ok="modalFormOk"/>
<!-- 批量审核弹框 -->
<drafting-group-member-unit-batch-check-module ref="draftingGroupMemberUnitBatchCheckModule" @ok="modalFormOk" />
</div>
</template>
@@ -165,6 +171,8 @@ import PreviewFile from '../../components/jero/PreviewFile'
import {createQcCode} from '@api/incomeMeetingApi'
import DraftingGroupMemberUnitCheckModule from '@views/draftingGroup/modules/DraftingGroupMemberUnitCheckModule'
import { ProjectTypeEnums } from '../../enums/commonEnums'
import DraftingGroupMemberUnitBatchCheckModule
from '@views/draftingGroup/modules/DraftingGroupMemberUnitBatchCheckModule'
// eslint-disable-next-line no-undef,no-unused-vars
const Base64 = require('js-base64').Base64
@@ -172,6 +180,7 @@ const Base64 = require('js-base64').Base64
export default {
name: 'DraftingGroupMemberUnitMaintenance',
components: {
DraftingGroupMemberUnitBatchCheckModule,
DraftingGroupMemberUnitCheckModule,
PageHeaderTitle,
ProjectDetailModal,
@@ -358,6 +367,15 @@ export default {
this.initWorkGroupData()
},
methods: {
// 批量审核
handleBatchCheck () {
// 必须都是待审核 1.待审核 2.已通过 3.已驳回
if (this.selectionRows.some(item => item.checkResult !== 1)) {
this.$message.warn('勾选数据需要是待审核数据')
return
}
this.$refs.draftingGroupMemberUnitBatchCheckModule.open(this.selectionRows)
},
handleCheck (record) {
this.$refs.draftingGroupMemberUnitCheckModule.open(record)
},
@@ -0,0 +1,220 @@
<!--起草组批量审核弹框-->
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<section class="check">
<h3>报名信息</h3>
<div v-for="row in selectRows" :key="row.id">
<a-row :gutter="24">
<a-col :span="24">
<label>参会企业</label>
<span>{{ row.chargeCompanyTemporaryName }}</span>
</a-col>
</a-row>
<a-row :gutter="24" v-for="item in row.payDraftingGroupSubItemContactsList" :key="item.id">
<a-col :span="12">
<label>姓名</label>
<span>{{ item.contactsTemporaryName }}</span></a-col>
<a-col :span="12">
<label>备注</label>
<span>{{ item.remarks }}</span></a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<label>备注</label>
<span>{{ row.remarks }}</span>
</a-col>
</a-row>
</div>
</section>
<h3>审核</h3>
<a-form :form="form">
<a-row :gutter="24">
<a-col :xl="12" :sm="24">
<a-form-item label="审核" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['checkResult',validatorRules.checkResult]" placeholder="请选择审核结果"
@change="changeCheck">
<a-radio value="2">
通过
</a-radio>
<a-radio value='3'>
驳回
</a-radio>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :xl="24" :sm="24" v-if="checkBool">
<a-form-item label="审核说明" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea
placeholder="请输入审核说明"
:auto-size="{ minRows: 3, maxRows: 6 }"
:maxLength='200'
v-decorator="['checkRemark',validatorRules.checkRemark]"
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
</a-form-item>
</a-col>
<a-col :xl="24" :sm="24" v-if="!checkBool">
<a-form-item label="审核说明" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea
placeholder="请输入审核说明"
:auto-size="{ minRows: 3, maxRows: 6 }"
:maxLength='200'
v-decorator="['checkRemark']"
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
<template slot="footer">
<a-button @click="handleCancel">关闭</a-button>
<a-button type="primary" @click="handleOk" v-preventclick>确定</a-button>
</template>
</j-modal>
</template>
<script>
import {postAction} from '@api/manage'
export default {
name: 'DraftingGroupMemberUnitBatchCheckModule',
data() {
return {
title: '批量审核入会信息',
width: 800,
visible: false,
confirmLoading: false,
form: this.$form.createForm(this),
selectRows: [],
labelCol: {
xs: {span: 24},
sm: {span: 6}
},
wrapperCol: {
xs: {span: 24},
sm: {span: 18}
},
remarksLabelCol: {
xs: {span: 24},
sm: {span: 3}
},
remarksWrapperCol: {
xs: {span: 24},
sm: {span: 21}
},
validatorRules: {
checkRemark: {
rules: [{required: true, message: '请输入审核说明'}],
validateTrigger: 'blur'
},
checkResult: {
rules: [{required: true, message: '请选择审核结果'}],
validateTrigger: 'change'
}
},
url: {
// 审核报名信息
check: '/drafting/payDraftingGroupSubitem/checkRegister'
},
// 审核结果选择
checkBool: false
}
},
methods: {
open(selectRows) {
console.log(selectRows)
this.form.resetFields()
this.selectRows = selectRows
this.visible = true
},
close() {
this.$emit('close')
this.visible = false
this.selectRows = []
},
handleOk() {
const that = this
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
that.confirmLoading = true
const formData = Object.assign({}, values)
formData.id = this.selectRows.map(item => item.id).join(',')
postAction(this.url.check, formData).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
that.confirmLoading = false
that.close()
} else {
that.$message.warning(res.message)
}
}).finally(() => {
that.confirmLoading = false
})
}
})
},
handleCancel() {
this.close()
},
/*
* 选择审核结果
* */
changeCheck(e) {
console.log(e)
// 审核结果选择拒绝 审核说明必填
if (e.target.value === '2') {
this.checkBool = false
} else if (e.target.value === '3') {
this.checkBool = true
}
}
}
}
</script>
<style scoped lang="less">
.check {
.ant-row {
line-height: 3;
.ant-col {
label {
color: #999;
}
span {
color: black;
}
}
}
.label {
color: #999999;
}
.content {
color: black;
}
}
.color-999 {
color: #999;
}
.color-black {
color: black;
}
</style>