会议管理与组织机构bug修改

This commit is contained in:
fengachen
2021-08-30 19:09:39 +08:00
parent 9dc24b2b8b
commit e0819ed353
7 changed files with 425 additions and 32 deletions
@@ -0,0 +1,178 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="会议名称">
<a-input placeholder="请输入会议名称" v-model="queryParam.projectName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="年份">
<j-year-date placeholder="请选择年份" v-model="queryParam.particularYear"></j-year-date>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">添加</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('会员项目')">导出</a-button>
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
<!-- @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>-->
</div>
<!-- table区域-begin -->
<div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<template slot="htmlSlot" slot-scope="text,record">
<!-- <div class="color_blue" @click="handleSafeguardMember(record)" v-html="text"></div>-->
</template>
<template slot="text" slot-scope="text">
<j-ellipsis v-if="text" :value="text" :length="20"></j-ellipsis>
<span v-else></span>
</template>
<span slot="action" slot-scope="text, record" class="action-span-cell">
<a @click="handleUploadFile(record)">上传文件</a>
<a @click="handleSignup(record)">报名信息</a>
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDelete(record.id)">删除</a>
</span>
</a-table>
</div>
<meet-modal ref="modalForm" @ok="modalFormOk"></meet-modal>
</a-card>
</template>
<script>
import {mixinDevice} from '@/utils/mixin'
import {JeroListMixin} from '@/mixins/JeroListMixin'
import JYearDate from "@comp/jero/JYearDate";
import MeetModal from "@views/incomePayments/meetManage/modules/MeetModal";
export default {
name: "MeetManageList",
mixins: [JeroListMixin, mixinDevice],
components: {
JYearDate,
MeetModal
},
data() {
return {
description: '会员项目管理页面',
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: '会议名称',
align: "center",
dataIndex: '',
scopedSlots: {customRender: 'htmlSlot'}
},
{
title: '会议类型',
align: "center",
dataIndex: '',
},
{
title: '负责人',
align: "center",
dataIndex: ''
},
{
title: '召开时间',
align: "center",
dataIndex: ''
},
{
title: '召开地点',
align: "center",
dataIndex: ''
},
{
title: '年份',
align: "center",
dataIndex: ''
},
{
title: '创建时间',
align: "center",
dataIndex: ''
},
{
title: '操作',
align: "center",
scopedSlots: {customRender: 'action'}
},
],
url: {
list: "/jero/memberProject/page",
delete: "/jero/memberProject/delete",
deleteBatch: "/jero/memberProject/deleteBatch",
exportXlsUrl: "/jero/memberProject/exportXls",
importExcelUrl: "jero/memberProject/importExcel",
},
}
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
/*
* 上传会议文件
* */
handleUploadFile(record) {
console.log("上传会议文件")
},
/*
* 报名信息
* */
handleSignup(record){
console.log('报名信息')
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>
@@ -0,0 +1,212 @@
<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 :gutter="24">
<a-col :xl="24" :sm="24">
<a-form-item label="会员项目" :labelCol=" {xs: {span: 24},sm: {span: 3}}"
:wrapperCol="{ xs: {span: 24},sm: {span: 21}}">
<a-input placeholder="请输入会员项目"
v-decorator="['projectName',validatorRules.projectName]"
:maxLength='50'
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :xl="12" :sm="24">
<a-form-item label="运行年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-year-date style="width:100%" placeholder="请选择运行年份"
v-decorator="['particularYear',validatorRules.particularYear]"></j-year-date>
</a-form-item>
</a-col>
<a-col :xl="12" :sm="24">
<a-form-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择负责人"
v-decorator="['directorId',validatorRules.directorId]"></select-principal>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :xl="12" :sm="24">
<a-form-item label="收费标准" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入收费标准"
:maxLength='50'
v-decorator="[ 'chargeStandard']"
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"></a-input>
<span class="yuan"></span>
</a-form-item>
</a-col>
<a-col :xl="12" :sm="24">
<a-form-item label="收费通知号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入收费通知号"
:maxLength='50'
v-decorator="[ 'chargeNoticeNo']"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-item label="收费通知" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload file-type="pdf" file-type-error-message="请上传收费通知" :multiple="false" :number="1"
:return-id="true"
bizPath="payment" v-decorator="['chargeNoticeFileId']"
:trigger-change="true"></j-upload>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea
placeholder="请输入备注"
:auto-size="{ minRows: 3, maxRows: 6 }"
:maxLength='200'
v-decorator="['remark']"
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-spin>
</j-modal>
</template>
<script>
import pick from "lodash.pick";
import {httpAction} from "@api/manage";
import JYearDate from "@comp/jero/JYearDate";
import JUpload from "@comp/jero/JUpload";
import SelectPrincipal from "@comp/company/SelectPrincipal";
export default {
name: "MeetModal",
components: {
JYearDate,
JUpload,
SelectPrincipal
},
data() {
return {
title: '操作',
width: 800,
visible: false,
confirmLoading: false,
form: this.$form.createForm(this),
// 负责人
chargePersonList: [],
model: {},
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: {
projectName: {
rules: [{required: true, message: '请输入会员项目'}],
validateTrigger: 'blur'
},
particularYear: {
rules: [{required: true, message: '请选择年份'}],
validateTrigger: ['change', 'blur']
},
directorId: {
rules: [{required: true, message: '请选择负责人'}],
validateTrigger: ['change', 'blur']
}
},
url: {
add: "/jero/memberProject/add",
edit: "/jero/memberProject/edit",
}
}
},
methods: {
add() {
this.edit({})
},
edit(record) {
this.form.resetFields()
this.model = Object.assign({}, record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'projectName', 'particularYear', 'chargeNoticeNo', 'directorId', 'chargeNoticeFileId', 'chargeStandard', 'remark'))
})
},
close() {
this.$emit('close')
this.visible = false
},
handleOk() {
const that = this
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
let httpurl = ''
let method = ''
if (!this.model.id) {
httpurl += this.url.add
method = 'post'
} else {
httpurl += this.url.edit
method = 'post'
}
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(() => {
that.confirmLoading = false
})
}
})
},
handleCancel() {
this.close()
},
/**
* 邮编校验
* @param rules
* @param value
* @param callback
*/
checkPostcode(rules, value, callback) {
if (postcode(value)) {
callback()
} else {
callback('请输入正确格式的邮编')
}
}
}
}
</script>
<style scoped>
</style>
+11 -11
View File
@@ -23,17 +23,17 @@
<a-input style="width: 120px;" :maxLength="50" placeholder="请输入名称" v-model="queryParam.itemText"></a-input>
</a-form-item>
</a-col>
<a-col :md="9" :sm="24">
<a-form-item label="状态" style="width: 170px" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select
placeholder="请选择"
v-model="queryParam.status"
>
<a-select-option value="1">正常</a-select-option>
<a-select-option value="0">禁用</a-select-option>
</a-select>
</a-form-item>
</a-col>
<!-- <a-col :md="9" :sm="24">-->
<!-- <a-form-item label="状态" style="width: 170px" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-select-->
<!-- placeholder="请选择"-->
<!-- v-model="queryParam.status"-->
<!-- >-->
<!-- <a-select-option value="1">正常</a-select-option>-->
<!-- <a-select-option value="0">禁用</a-select-option>-->
<!-- </a-select>-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :md="7" :sm="24">
<span style="float: left;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery">搜索</a-button>
+1 -1
View File
@@ -159,7 +159,7 @@ export default {
scopedSlots: { customRender: "text" },
},
{
title: "角色类型",
title: "角色",
align: "center",
width: 100,
dataIndex: "roleName",
+8 -10
View File
@@ -89,19 +89,14 @@ export default {
UserModal,
JEllipsis
},
props:{
departId:{
type:String,
required:false
}
},
data() {
return {
description: '用户信息',
currentDeptId: '',
currentDept: {},
// 表头
columns: [{
columns: [
{
title: '用户账号',
align: "center",
width: 100,
@@ -171,7 +166,7 @@ export default {
let params = this.getQueryParams();//查询条件
params.depId = this.currentDeptId;
getAction(this.url.list, params).then((res) => {
if (res.success && res.result) {
if (res.success && res.result) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
@@ -264,6 +259,9 @@ export default {
open(record) {
this.currentDeptId = record.id;
this.currentDept = record;
// 获取当前选择部门的orgCode 用于筛选数据
this.orgCode = record.orgCode
this.loadData(1);
},
cancelSelect(){
@@ -285,7 +283,7 @@ export default {
if (this.currentDeptId == '') {
this.$message.warn("请选择一个部门!")
} else {
this.$refs.selectUserModal.add()
this.$refs.selectUserModal.add(this.currentDept)
}
},
handleEdit: function (record) {
@@ -303,7 +301,7 @@ export default {
this.$refs.modalForm.userDepartModel.departIdList = [this.currentDeptId]; //传入一个部门id
this.$refs.modalForm.add();
//update-begin---author:liusq Date:20210223 forhttps://gitee.com/jeecg/jeecg-boot/issues/I2SDU1------------
this.$refs.modalForm.resultDepartOptions = [{key: this.currentDept.key, title: this.currentDept.title}]
this.$refs.modalForm.resultDepartOptions = [{key: this.currentDept.key, title: this.currentDept.title,orgCode:this.orgCode}]
//update-end---author:liusq Date:20210223 forhttps://gitee.com/jeecg/jeecg-boot/issues/I2SDU1------------
this.$refs.modalForm.title = "新增";
}
+7 -7
View File
@@ -40,13 +40,13 @@
值越小越靠前支持小数
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="是否启用"
hasFeedback>
<a-switch checkedChildren="启用" unCheckedChildren="禁用" @change="onChose" v-model="visibleCheck"/>
</a-form-item>
<!-- <a-form-item-->
<!-- :labelCol="labelCol"-->
<!-- :wrapperCol="wrapperCol"-->
<!-- label="是否启用"-->
<!-- hasFeedback>-->
<!-- <a-switch checkedChildren="启用" unCheckedChildren="禁用" @change="onChose" v-model="visibleCheck"/>-->
<!-- </a-form-item>-->
</a-form>
</a-spin>
+8 -3
View File
@@ -81,6 +81,8 @@
// 记录上次查询条件
lastQueryParam:{},
disabledStatus:false,
// 当前选中的机构编码
currentOrgCode:'',
// 表头
columns1: [
{
@@ -152,12 +154,11 @@
selectedRowKeys: [],
selectedRows: [],
url: {
list: "/sys/user/page",
list: "/sys/user/pageRoleAndDepart",
}
}
},
created() {
this.loadData();
},
methods: {
searchQuery() {
@@ -180,8 +181,11 @@
this.disabledStatus =false
this.visible = false;
},
add() {
add(record) {
this.visible = true;
// 保存当前的机构编码
this.currentOrgCode = record.orgCode
this.loadData(1)
// 再次打开 清除之前的选中状态
this.onClearSelected()
},
@@ -191,6 +195,7 @@
this.ipagination.current = 1;
}
var params = this.getQueryParams();//查询条件
params.orgCode = this.currentOrgCode
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource1 = res.result.records;