【update】-理事会-新增导入到标协会员;工作组起草组-会议-文件上传可以批量上传

This commit is contained in:
fengchenchen
2024-07-04 14:33:43 +08:00
parent 5172d0ca42
commit cb9688229f
6 changed files with 182 additions and 10 deletions
+2 -2
View File
@@ -316,8 +316,8 @@ export default {
file.uploadGoOn = true
const fileSize = file.size // 上传的文件大小
const fileType = file.type // 上传的文件类型
if (fileSize > 1024 * 1024 * 100) {
this.$message.warning('文件大小限制为100M')
if (fileSize > 1024 * 1024 * 200) {
this.$message.warning('文件大小限制为200M')
this.uploadGoOn = false
file.uploadGoOn = false
return false
@@ -176,7 +176,7 @@
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议通知" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload :return-id="true" v-decorator="[ 'meetingFiles',validatorRules.meetingFiles]"></j-upload>
<j-upload :return-id="true" :multiple="true" v-decorator="[ 'meetingFiles',validatorRules.meetingFiles]"></j-upload>
</a-form-item>
</a-col>
</a-row>
@@ -10,7 +10,7 @@
<a-spin :spinning="confirmLoading">
<!-- 以表格的形式展示 所有的文件 -->
<div class="table-operator">
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
<a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader"
:action="importExcelUrl" :beforeUpload="beforeUpload" @change="handleChange"
>
<a-button type="primary" icon="plus">新增</a-button>
@@ -363,8 +363,8 @@ export default {
file.uploadGoOn = true
const fileSize = file.size // 上传的文件大小
const fileType = file.type // 上传的文件类型
if (fileSize > 1024 * 1024 * 100) {
this.$message.warning('文件大小限制为100M')
if (fileSize > 1024 * 1024 * 200) {
this.$message.warning('文件大小限制为200M')
this.uploadGoOn = false
file.uploadGoOn = false
return false
@@ -454,8 +454,8 @@ export default {
this.uploadGoOn = true
file.uploadGoOn = true
const fileSize = file.size // 上传的文件大小
if (fileSize > 1024 * 1024 * 100) {
this.$message.warning('文件大小限制为100M')
if (fileSize > 1024 * 1024 * 200) {
this.$message.warning('文件大小限制为200M')
this.uploadGoOn = false
file.uploadGoOn = false
return false
@@ -60,6 +60,7 @@
</template>
<span slot="operation" class="action-span-cell" slot-scope="text, record">
<a @click="handleImportMemberModule(record)" v-has="'council:fileMaintenance'">导入到标协会员</a>
<a @click="handleMaintainData(record)" v-has="'council:fileMaintenance'">其他分发资料</a>
<a @click="handleMaintainMeeting(record)" v-has="'council:meetingMaintenance'">理事会会议</a>
<a @click="handleAddMember(record)" v-has="'council:addMember'">新增成员</a>
@@ -94,6 +95,8 @@
<council-maintenance-modal ref="modalForm" @ok="modalFormOk"></council-maintenance-modal>
<!-- 新增理事会成员-->
<council-maintenance-member-modal ref="memberModalForm" @ok="modalFormOk"></council-maintenance-member-modal>
<!-- 导入到标协会员 -->
<import-member-module-modal ref="importMemberModuleModal" @ok="modalFormOk"></import-member-module-modal>
</div>
</template>
@@ -104,10 +107,11 @@ import IconImg from '../../../../assets/imgs/icon/icon_stander_member.png'
import { getAction } from '../../../../api/manage'
import CouncilMaintenanceModal from './modules/CouncilMaintenanceModal'
import CouncilMaintenanceMemberModal from './modules/CouncilMaintenanceMemberModal'
import ImportMemberModuleModal from './modules/ImportMemberModuleModal'
export default {
name: 'CouncilMaintenanceList',
components: { PageHeaderTitle, CouncilMaintenanceModal, CouncilMaintenanceMemberModal },
components: { PageHeaderTitle, CouncilMaintenanceModal, CouncilMaintenanceMemberModal, ImportMemberModuleModal },
mixins: [JeroListMixin],
data() {
return {
@@ -139,7 +143,7 @@ export default {
title: '操作',
dataIndex: 'operation',
align: 'center',
width: 420,
width: 580,
scopedSlots: { customRender: 'operation' }
}
],
@@ -302,6 +306,13 @@ export default {
})
}
})
},
/**
* 导入到标协会员
* @param record
*/
handleImportMemberModule(record) {
this.$refs.importMemberModuleModal.add(record)
}
}
}
@@ -0,0 +1,161 @@
<!--导入到标协会员-->
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
@ok="handleOk"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-row>
<a-col>
<a-form-item label="标协会员项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select placeholder="请选择标协会员项目"
show-search
v-decorator="['projectId',validatorRules.projectId]"
option-filter-prop="children"
:filter-option="filterOption"
>
<a-select-option v-for="item in memberProjectList" :key="item.id" :value="item.id">
{{ item.projectName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</j-modal>
</template>
<script>
import pick from 'lodash.pick'
import { getAction, httpAction } from '../../../../../api/manage'
export default {
name: 'ImportMemberModuleModal',
data() {
return {
title: '操作',
width: 800,
visible: false,
confirmLoading: false,
form: this.$form.createForm(this),
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 6 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 }
},
remarksLabelCol: {
xs: {span: 24},
sm: {span: 3}
},
remarksWrapperCol: {
xs: {span: 24},
sm: {span: 21}
},
// 不包含在列表的会员项目
memberProjectList:[],
validatorRules: {
projectId: {
rules: [{ required: true, message: '请选择标协会员项目' }],
validateTrigger: 'change'
}
},
url: {
// todo 需要换接口,
add: '/payCaseCouncil/payCaseCouncil/add',
memberList: '/member/tbMemberProject/page',
}
}
},
methods: {
add(record) {
this.edit({id: record.id})
},
edit(record) {
this.form.resetFields()
this.model = Object.assign({}, record)
this.visible = true
this.queryMemberProject()
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'projectId'))
})
},
close() {
this.$emit('close')
this.visible = false
},
/*
* 查询会员项目
* */
queryMemberProject() {
const param = {
pageNo: 1,
pageSize: -1
}
this.memberProjectList = []
getAction(this.url.memberList, param).then(res => {
if(res.success){
this.memberProjectList = res.result.records || res.result || []
}else {
console.log(res.message)
}
})
},
handleOk() {
if (this.confirmLoading) {
return
}
this.confirmLoading = true
const that = this
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
let method = 'post'
let httpUrl = this.url.add
const formData = Object.assign(this.model, values)
console.log('表单提交数据', formData)
httpAction(httpUrl, formData, method).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
that.close()
} else {
that.$message.warning(res.message)
}
}).finally(() => {
setTimeout(() => {
this.confirmLoading = false
}, 1000)
})
} else {
this.confirmLoading = false
}
})
},
handleCancel() {
this.close()
},
// 下拉框的搜索
filterOption(input, option) {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
)
}
}
}
</script>
<style scoped>
</style>