[update] 工作组、分标委文字修改;分标委添加简称;理事会增删改查
This commit is contained in:
@@ -89,6 +89,9 @@ const getAllRevenueContract = (param) => getAction('/contract/payIncomeContract/
|
|||||||
// 打印获取邮寄联系人信息接口,传票据邮寄列表id
|
// 打印获取邮寄联系人信息接口,传票据邮寄列表id
|
||||||
const getPrintPostContactByMailId = (param) => getAction('/mail/payMailBill/print', param)
|
const getPrintPostContactByMailId = (param) => getAction('/mail/payMailBill/print', param)
|
||||||
|
|
||||||
|
// 全所统计--通过部门code查所有人员
|
||||||
|
const getUserByDepartCode = (param) => getAction('/statistics/allProjectStatistics/listForUserByOrgCode', param)
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getWorkingGroupById,
|
getWorkingGroupById,
|
||||||
getChargeNotice,
|
getChargeNotice,
|
||||||
@@ -133,5 +136,6 @@ export {
|
|||||||
aduitExpenditureContract,
|
aduitExpenditureContract,
|
||||||
archiveExpenditureContract,
|
archiveExpenditureContract,
|
||||||
getAllRevenueContract,
|
getAllRevenueContract,
|
||||||
getPrintPostContactByMailId
|
getPrintPostContactByMailId,
|
||||||
|
getUserByDepartCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,10 +59,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="operation" class="action-span-cell" slot-scope="text, record">
|
<span slot="operation" class="action-span-cell" slot-scope="text, record">
|
||||||
<a @click="handleMaintainData(record)" v-has="'committee:fileMaintenance'">资料维护</a>
|
<a @click="toUnderStudyProject(record)" v-has="'committee:underStudyProject'">在研项目</a>
|
||||||
<a @click="handleMaintainMeeting(record)" v-has="'committee:meetingMaintenance'">会议维护</a>
|
<a @click="handleMaintainData(record)" v-has="'committee:fileMaintenance'">其他分发资料</a>
|
||||||
<a @click="handleAddCommitteeMember(record)" v-has="'committee:addMember'">新增成员</a>
|
<a @click="handleMaintainMeeting(record)" v-has="'committee:meetingMaintenance'">分标委会议</a>
|
||||||
<a @click="handleEdit(record)" v-has="'committee:edit'">编辑</a>
|
<a @click="handleAddCommitteeMember(record)" v-has="'committee:addMember'">新增委员</a>
|
||||||
|
<a @click="handleEdit(record)" v-has="'committee:edit'">基本信息维护</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'committee:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has="'committee:delete'">删除</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
@@ -146,7 +147,7 @@ export default {
|
|||||||
title: '操作',
|
title: '操作',
|
||||||
dataIndex: 'operation',
|
dataIndex: 'operation',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 400,
|
width: 300,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -180,13 +181,13 @@ export default {
|
|||||||
title: '手机号',
|
title: '手机号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'phone',
|
dataIndex: 'phone',
|
||||||
width: 200,
|
width: 220,
|
||||||
scopedSlots: { customRender: 'textRow' }
|
scopedSlots: { customRender: 'textRow' }
|
||||||
}, {
|
}, {
|
||||||
title: '操作',
|
title: '操作',
|
||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 199,
|
width: 79,
|
||||||
scopedSlots: { customRender: 'action' }
|
scopedSlots: { customRender: 'action' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -268,6 +269,10 @@ export default {
|
|||||||
this.$refs.memberModalForm.title = '新增成员'
|
this.$refs.memberModalForm.title = '新增成员'
|
||||||
this.$refs.memberModalForm.disableSubmit = false
|
this.$refs.memberModalForm.disableSubmit = false
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 删除成员
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
handleDeleteMember(id) {
|
handleDeleteMember(id) {
|
||||||
console.log(id)
|
console.log(id)
|
||||||
if (!this.url.deleteMember) {
|
if (!this.url.deleteMember) {
|
||||||
@@ -313,6 +318,13 @@ export default {
|
|||||||
meetingType: '5'
|
meetingType: '5'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 前往在研项目
|
||||||
|
* @param record
|
||||||
|
*/
|
||||||
|
toUnderStudyProject(record) {
|
||||||
|
console.log('在研项目', record)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<j-modal
|
<j-modal
|
||||||
:title="title"
|
:title="title"
|
||||||
:width="width"
|
:width="width"
|
||||||
:visible="visible"
|
:visible="visible"
|
||||||
:confirmLoading="confirmLoading"
|
:confirmLoading="confirmLoading"
|
||||||
switchFullscreen
|
switchFullscreen
|
||||||
@ok="handleOk"
|
@ok="handleOk"
|
||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
cancelText="关闭">
|
cancelText="关闭">
|
||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form :form="form">
|
<a-form :form="form">
|
||||||
<a-row>
|
<a-row :gutter="10">
|
||||||
<a-col>
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="分标委名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="分标委名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入分标委名称"
|
<a-input placeholder="请输入分标委名称"
|
||||||
v-decorator="['name',validatorRules.name]"
|
v-decorator="['name',validatorRules.name]"
|
||||||
@@ -19,16 +19,27 @@
|
|||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="分标委简称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<div class="abbreviation">
|
||||||
|
<div class="abbreviation-title">SC</div>
|
||||||
|
<a-input placeholder="请输入分标委简称"
|
||||||
|
v-decorator="['abbreviation',validatorRules.abbreviation]"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => e.target.value = (e.target.value.replace(/[^0-9]/g, '')).trim()"></a-input>
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="目标简述" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
placeholder="请输入备注"
|
placeholder="请输入目标简述"
|
||||||
v-decorator="['remarks']"
|
v-decorator="['remarks',validatorRules.remarks]"
|
||||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||||
:maxLength='200'
|
:maxLength='200'
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -53,9 +64,17 @@ export default {
|
|||||||
model: {},
|
model: {},
|
||||||
labelCol: {
|
labelCol: {
|
||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 3 }
|
sm: { span: 6 }
|
||||||
},
|
},
|
||||||
wrapperCol: {
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 18 }
|
||||||
|
},
|
||||||
|
remarksLabelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 3 }
|
||||||
|
},
|
||||||
|
remarksWrapperCol: {
|
||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 21 }
|
sm: { span: 21 }
|
||||||
},
|
},
|
||||||
@@ -63,6 +82,14 @@ export default {
|
|||||||
name: {
|
name: {
|
||||||
rules: [{ required: true, message: '请输入分标委名称' }],
|
rules: [{ required: true, message: '请输入分标委名称' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
abbreviation: {
|
||||||
|
rules: [{ required: true, message: '请输入分标委简称' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
remarks: {
|
||||||
|
rules: [{ required: true, message: '请输入目标简述' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
@@ -80,7 +107,7 @@ export default {
|
|||||||
this.model = Object.assign({}, record)
|
this.model = Object.assign({}, record)
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'name', 'remarks'))
|
this.form.setFieldsValue(pick(this.model, 'name', 'abbreviation', 'remarks'))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
@@ -103,8 +130,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
httpurl += this.url.edit
|
httpurl += this.url.edit
|
||||||
}
|
}
|
||||||
console.log(values, '============')
|
|
||||||
const formData = Object.assign(this.model, values)
|
const formData = Object.assign(this.model, values)
|
||||||
|
// 把list的数据删掉
|
||||||
|
delete formData.list
|
||||||
console.log('表单提交数据', formData)
|
console.log('表单提交数据', formData)
|
||||||
httpAction(httpurl, formData, method).then((res) => {
|
httpAction(httpurl, formData, method).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -130,13 +158,21 @@ export default {
|
|||||||
// 下拉框的搜索
|
// 下拉框的搜索
|
||||||
filterOption(input, option) {
|
filterOption(input, option) {
|
||||||
return (
|
return (
|
||||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
)
|
)
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="less">
|
||||||
|
.abbreviation {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
flex: 1;
|
||||||
|
padding: 0 10px 0 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
+264
-4
@@ -1,16 +1,276 @@
|
|||||||
<!--理事会维护 --列表页-->
|
<!--理事会维护 --列表页-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
理事会维护 --列表页
|
<page-header-title :img-for-icon="IconImg"></page-header-title>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<!-- 查询区域-start -->
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
|
<a-row>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="理事会名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入理事会名称" v-model="queryParam.councilName" :maxLength='50'></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入企业名称" v-model="queryParam.companyName" :maxLength='50'></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入姓名" v-model="queryParam.contactsName" :maxLength='50'></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" icon="search" @click="searchQuery" v-has="'council:search'">查询</a-button>
|
||||||
|
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
<!-- 查询区域-end-->
|
||||||
|
|
||||||
|
<!-- 操作按钮区域-->
|
||||||
|
<div class="table-operator">
|
||||||
|
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'council:add'">新增理事会</a-button>
|
||||||
|
<a-button type="primary" icon="export" @click="handleExportXls('理事会维护')" v-has="'council:export'">导出
|
||||||
|
</a-button>
|
||||||
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'council:batchDel'">批量删除</a-button>
|
||||||
|
</div>
|
||||||
|
<!-- 操作按钮区域-end-->
|
||||||
|
|
||||||
|
<!-- table表格区域-->
|
||||||
|
<div>
|
||||||
|
<a-table rowKey="id"
|
||||||
|
size="middle"
|
||||||
|
:scroll="{x: 1300}"
|
||||||
|
:columns="columns"
|
||||||
|
:data-source="dataSource"
|
||||||
|
:pagination="ipagination"
|
||||||
|
:expandedRowKeys.sync="expandedRowKeys"
|
||||||
|
bordered
|
||||||
|
:loading="loading"
|
||||||
|
@change="handleTableChange"
|
||||||
|
class="j-table-force-nowrap">
|
||||||
|
<template slot="text" slot-scope="text">
|
||||||
|
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<span slot="operation" class="action-span-cell" slot-scope="text, record">
|
||||||
|
<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>
|
||||||
|
<a @click="handleEdit(record)" v-has="'council:edit'">基本信息维护</a>
|
||||||
|
<a @click="handleDelete(record.id)" v-has="'council:delete'">删除</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a-table
|
||||||
|
rowKey="id"
|
||||||
|
slot="expandedRowRender"
|
||||||
|
slot-scope="record"
|
||||||
|
:columns="memberColumns"
|
||||||
|
:data-source="record.list"
|
||||||
|
:pagination="false"
|
||||||
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, columnWidth: 80}"
|
||||||
|
class="j-table-force-nowrap">
|
||||||
|
<template slot="textRow" slot-scope="text">
|
||||||
|
<j-ellipsis :value="text" :length="12"></j-ellipsis>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<span slot="action" class="action-span-cell" slot-scope="text, itemRecord">
|
||||||
|
<a @click="handleDeleteMember(itemRecord.childrenId)" v-has="'council:member:delete'">删除</a>
|
||||||
|
</span>
|
||||||
|
</a-table>
|
||||||
|
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
<!-- /table表格区域-->
|
||||||
|
</a-card>
|
||||||
|
|
||||||
|
<!-- 新增理事会-->
|
||||||
|
<council-maintenance-modal ref="modalForm" @ok="modalFormOk"></council-maintenance-modal>
|
||||||
|
<!-- 新增理事会成员-->
|
||||||
|
<council-maintenance-member-modal ref="memberModalForm" @ok="modalFormOk"></council-maintenance-member-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import PageHeaderTitle from '../../../../components/layouts/PageHeaderTitle'
|
||||||
|
import { JeroListMixin } from '../../../../mixins/JeroListMixin'
|
||||||
|
import IconImg from '../../../../assets/imgs/icon/icon_committee.png'
|
||||||
|
import { getAction } from '../../../../api/manage'
|
||||||
|
import CouncilMaintenanceModal from './modules/CouncilMaintenanceModal'
|
||||||
|
import CouncilMaintenanceMemberModal from './modules/CouncilMaintenanceMemberModal'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CouncilMaintenanceList'
|
name: 'CouncilMaintenanceList',
|
||||||
|
components: { PageHeaderTitle, CouncilMaintenanceModal, CouncilMaintenanceMemberModal },
|
||||||
|
mixins: [JeroListMixin],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
IconImg,
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 10 }
|
||||||
|
},// 父级表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
dataIndex: '',
|
||||||
|
key: 'rowIndex',
|
||||||
|
width: 80,
|
||||||
|
align: 'center',
|
||||||
|
customRender: function (t, r, index) {
|
||||||
|
return parseInt(index) + 1
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '理事会名称',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'name',
|
||||||
|
scopedSlots: { customRender: 'text' }
|
||||||
|
}, {
|
||||||
|
title: '操作',
|
||||||
|
dataIndex: 'operation',
|
||||||
|
align: 'center',
|
||||||
|
width: 420,
|
||||||
|
scopedSlots: { customRender: 'operation' }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 成员表头
|
||||||
|
memberColumns: [
|
||||||
|
{
|
||||||
|
title: '序号',
|
||||||
|
dataIndex: '',
|
||||||
|
key: 'rowIndex',
|
||||||
|
width: 80,
|
||||||
|
align: 'center',
|
||||||
|
customRender: function (t, r, index) {
|
||||||
|
return parseInt(index) + 1
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '姓名',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'peopleName',
|
||||||
|
scopedSlots: { customRender: 'textRow' }
|
||||||
|
}, {
|
||||||
|
title: '企业名称',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'companyName',
|
||||||
|
scopedSlots: { customRender: 'textRow' }
|
||||||
|
}, {
|
||||||
|
title: '职务',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'post',
|
||||||
|
scopedSlots: { customRender: 'textRow' }
|
||||||
|
}, {
|
||||||
|
title: '手机号',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'phone',
|
||||||
|
width: 220,
|
||||||
|
scopedSlots: { customRender: 'textRow' }
|
||||||
|
}, {
|
||||||
|
title: '操作',
|
||||||
|
dataIndex: 'action',
|
||||||
|
align: 'center',
|
||||||
|
width: 199,
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
url: {
|
||||||
|
list: '/payCaseCouncilSubitem/payCaseCouncilSubitem/find',
|
||||||
|
delete: '/payCaseCouncil/payCaseCouncil/delete',
|
||||||
|
deleteMember: '/payCaseCouncilSubitem/payCaseCouncilSubitem/delete',
|
||||||
|
deleteBatch: '/payCaseCouncilSubitem/payCaseCouncilSubitem/deleteBatch',
|
||||||
|
exportXlsUrl: '/payCaseCouncilSubitem/payCaseCouncilSubitem/exportXls'
|
||||||
|
},
|
||||||
|
// 展开行的id
|
||||||
|
expandedRowKeys: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
loadData(arg) {
|
||||||
|
if (!this.url.list) {
|
||||||
|
this.$message.error('请设置url.list属性!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//加载数据 若传入参数1则加载第一页的内容
|
||||||
|
if (arg === 1) {
|
||||||
|
this.ipagination.current = 1
|
||||||
|
}
|
||||||
|
// 清除展开的行id
|
||||||
|
this.expandedRowKeys = []
|
||||||
|
let params = this.getQueryParams()//查询条件
|
||||||
|
this.loading = true
|
||||||
|
getAction(this.url.list, params).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.dataSource = res.result.records || res.result
|
||||||
|
// 表格有数据则需要展开
|
||||||
|
if (this.dataSource.length > 0) {
|
||||||
|
this.dataSource.forEach(item => {
|
||||||
|
this.expandedRowKeys.push(item.id)
|
||||||
|
})
|
||||||
|
this.$forceUpdate()
|
||||||
|
}
|
||||||
|
if (res.result.total) {
|
||||||
|
this.ipagination.total = res.result.total
|
||||||
|
//清空列表选中
|
||||||
|
this.onClearSelected()
|
||||||
|
} else {
|
||||||
|
this.ipagination.total = 0
|
||||||
|
}
|
||||||
|
//update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
||||||
|
}
|
||||||
|
if (res.code === 510) {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
this.loading = false
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 下拉框的搜索
|
||||||
|
filterOption(input, option) {
|
||||||
|
return (
|
||||||
|
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
)
|
||||||
|
},
|
||||||
|
handleAdd() {
|
||||||
|
this.$refs.modalForm.add()
|
||||||
|
this.$refs.modalForm.title = '新增理事会'
|
||||||
|
this.$refs.modalForm.disableSubmit = false
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 新增成员
|
||||||
|
* @param record
|
||||||
|
*/
|
||||||
|
handleAddMember(record) {
|
||||||
|
this.$refs.memberModalForm.add(record)
|
||||||
|
this.$refs.memberModalForm.title = '新增成员'
|
||||||
|
this.$refs.memberModalForm.disableSubmit = false
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 其他分发资料
|
||||||
|
* @param record
|
||||||
|
*/
|
||||||
|
handleMaintainData(record) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/projectManagement/WorkingGroupProjectDataMaintenance',
|
||||||
|
query: {
|
||||||
|
id: record.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+232
@@ -0,0 +1,232 @@
|
|||||||
|
<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 :xl="12" :sm="24">
|
||||||
|
<a-form-item label="理事会名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入理事会名称"
|
||||||
|
v-decorator="['name',validatorRules.name]"
|
||||||
|
:disabled="true"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<company-select placeholder="请选择企业"
|
||||||
|
v-decorator="['company',validatorRules.company]"
|
||||||
|
@change="companyChange">
|
||||||
|
</company-select>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<!-- 联系人使用将label、value合并为数组形式传值-->
|
||||||
|
<select-contacts :selected-company="selectedCompany"
|
||||||
|
placeholder="请选择联系人"
|
||||||
|
v-decorator="['contacts',validatorRules.contacts]"
|
||||||
|
:maxLength='50'
|
||||||
|
ref="selectContacts"
|
||||||
|
labelInValue
|
||||||
|
valueType="object"
|
||||||
|
@change="handleContactChange"
|
||||||
|
@ok="addContactsOk"></select-contacts>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入职务"
|
||||||
|
v-decorator="['post',validatorRules.post]"
|
||||||
|
:disabled="true"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="手机" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入手机"
|
||||||
|
v-decorator="['phone',validatorRules.phone]"
|
||||||
|
:disabled="true"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :xl="12" :sm="24">
|
||||||
|
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
|
<a-input placeholder="请输入邮箱"
|
||||||
|
v-decorator="['email',validatorRules.email]"
|
||||||
|
:disabled="true"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import pick from 'lodash.pick'
|
||||||
|
import CompanySelect from '../../../../../components/company/CompanySelect'
|
||||||
|
import SelectContacts from '../../../../../components/company/SelectContacts'
|
||||||
|
import { getContactsById } from '../../../../../api/api'
|
||||||
|
import { httpAction } from '../../../../../api/manage'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CouncilMaintenanceMemberModal',
|
||||||
|
components: { CompanySelect, SelectContacts },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '操作',
|
||||||
|
width: 800,
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
model: {},
|
||||||
|
selectedCompany: {},
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 6 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 18 }
|
||||||
|
},
|
||||||
|
validatorRules: {
|
||||||
|
company: {
|
||||||
|
rules: [{ required: true, message: '请选择企业' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
},
|
||||||
|
contacts: {
|
||||||
|
rules: [{ required: true, message: '请选择联系人' }],
|
||||||
|
validateTrigger: 'change'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
add: '/payCaseCouncilSubitem/payCaseCouncilSubitem/add'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
add(record) {
|
||||||
|
this.edit(record)
|
||||||
|
},
|
||||||
|
edit(record) {
|
||||||
|
console.log(record)
|
||||||
|
this.form.resetFields()
|
||||||
|
let recordValue = {
|
||||||
|
name: record.name,
|
||||||
|
councilId: record.id
|
||||||
|
}
|
||||||
|
this.model = Object.assign({}, recordValue)
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue(pick(this.model, 'name'))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
let httpurl = this.url.add
|
||||||
|
let method = 'post'
|
||||||
|
// 拆分联系人信息
|
||||||
|
values.contactsName = values.contacts.label
|
||||||
|
values.contactsId = values.contacts.key
|
||||||
|
const submitValue = Object.assign(this.model, values)
|
||||||
|
const formData = {
|
||||||
|
councilId: submitValue.councilId,
|
||||||
|
companyId: submitValue.companyId,
|
||||||
|
companyName: submitValue.companyName,
|
||||||
|
contactsId: submitValue.contactsId,
|
||||||
|
contactsName: submitValue.contactsName
|
||||||
|
}
|
||||||
|
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()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 选中企业变化,将联系人的值清空
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
|
companyChange(value) {
|
||||||
|
console.log(value)
|
||||||
|
this.selectedCompany = value
|
||||||
|
this.model.contacts = undefined
|
||||||
|
this.model.email = undefined
|
||||||
|
this.model.phone = undefined
|
||||||
|
this.model.post = undefined
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue(pick(this.model, 'contacts', 'email', 'phone', 'post'))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 在新增成功后重新获取联系人列表
|
||||||
|
*/
|
||||||
|
addContactsOk() {
|
||||||
|
this.$refs.selectContacts.getContactsList()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取选中联系人的信息并回显
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
|
handleContactChange(value) {
|
||||||
|
console.log(value)
|
||||||
|
const param = {
|
||||||
|
id: value.key
|
||||||
|
}
|
||||||
|
getContactsById(param).then(res => {
|
||||||
|
this.model = Object.assign(this.model, res.result)
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue(pick(this.model, 'email', 'phone', 'post'))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
+155
@@ -0,0 +1,155 @@
|
|||||||
|
<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="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||||
|
<a-input placeholder="请输入理事会名称"
|
||||||
|
v-decorator="['name',validatorRules.name]"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row>
|
||||||
|
<a-col>
|
||||||
|
<a-form-item label="目标简述" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||||
|
<a-textarea
|
||||||
|
placeholder="请输入目标简述"
|
||||||
|
v-decorator="['remarks',validatorRules.remarks]"
|
||||||
|
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||||
|
:maxLength='200'
|
||||||
|
@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'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CouncilMaintenanceModal',
|
||||||
|
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: 18 }
|
||||||
|
},
|
||||||
|
remarksLabelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 3 }
|
||||||
|
},
|
||||||
|
remarksWrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 21 }
|
||||||
|
},
|
||||||
|
validatorRules: {
|
||||||
|
name: {
|
||||||
|
rules: [{ required: true, message: '请输入分标委名称' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
},
|
||||||
|
remarks: {
|
||||||
|
rules: [{ required: true, message: '请输入目标简述' }],
|
||||||
|
validateTrigger: 'blur'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
add: '/payCaseCouncil/payCaseCouncil/add',
|
||||||
|
edit: '/payCaseCouncil/payCaseCouncil/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, 'name', 'remarks'))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
let httpurl = ''
|
||||||
|
let method = 'post'
|
||||||
|
if (!this.model.id) {
|
||||||
|
httpurl += this.url.add
|
||||||
|
} else {
|
||||||
|
httpurl += this.url.edit
|
||||||
|
}
|
||||||
|
const formData = Object.assign(this.model, values)
|
||||||
|
// 把list的数据删掉
|
||||||
|
delete formData.list
|
||||||
|
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>
|
||||||
@@ -92,12 +92,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||||
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">文件维护</a>
|
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">其他分发资料</a>
|
||||||
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">会议维护</a>
|
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">工作组会议</a>
|
||||||
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'"
|
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'"
|
||||||
v-if="record.checkoutOperation === 1">复制</a>
|
v-if="record.checkoutOperation === 1">复制</a>
|
||||||
<a @click="handleEdit(record)" v-has="'workingGroupProject:edit'"
|
<a @click="handleEdit(record)" v-has="'workingGroupProject:edit'"
|
||||||
v-if="record.checkoutOperation === 1">编辑</a>
|
v-if="record.checkoutOperation === 1">基本信息维护</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'workingGroupProject:delete'"
|
<a @click="handleDelete(record.id)" v-has="'workingGroupProject:delete'"
|
||||||
v-if="record.checkoutOperation === 1">删除</a>
|
v-if="record.checkoutOperation === 1">删除</a>
|
||||||
</span>
|
</span>
|
||||||
@@ -160,7 +160,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'principalNameA'
|
dataIndex: 'principalNameA'
|
||||||
}, {
|
}, {
|
||||||
title: '进度',
|
title: '收款进度',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'obj',
|
dataIndex: 'obj',
|
||||||
width: 250,
|
width: 250,
|
||||||
@@ -170,7 +170,7 @@ export default {
|
|||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 300,
|
width: 420,
|
||||||
scopedSlots: { customRender: 'action' }
|
scopedSlots: { customRender: 'action' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
import IconImg from '@/assets/imgs/icon/icon_statistical_report.png'
|
import IconImg from '@/assets/imgs/icon/icon_statistical_report.png'
|
||||||
import PageHeaderTitle from '../../components/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '../../components/layouts/PageHeaderTitle'
|
||||||
import { JeroListMixin } from '../../mixins/JeroListMixin'
|
import { JeroListMixin } from '../../mixins/JeroListMixin'
|
||||||
import { getAllDepartTreeList, queryUserByDepartId } from '../../api/incomePaymentsApi'
|
import { getAllDepartTreeList, getUserByDepartCode } from '../../api/incomePaymentsApi'
|
||||||
import JYearDate from '../../components/jero/JYearDate'
|
import JYearDate from '../../components/jero/JYearDate'
|
||||||
import { getAction } from '../../api/manage'
|
import { getAction } from '../../api/manage'
|
||||||
import ProjectDetailModal from '../../components/ProjectDetailModal'
|
import ProjectDetailModal from '../../components/ProjectDetailModal'
|
||||||
@@ -392,7 +392,7 @@ export default {
|
|||||||
let param = {
|
let param = {
|
||||||
departCode: departCode
|
departCode: departCode
|
||||||
}
|
}
|
||||||
queryUserByDepartId(param).then(res => {
|
getUserByDepartCode(param).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.userList = res.result
|
this.userList = res.result
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user