[update] 工作组、分标委文字修改;分标委添加简称;理事会增删改查
This commit is contained in:
@@ -89,6 +89,9 @@ const getAllRevenueContract = (param) => getAction('/contract/payIncomeContract/
|
||||
// 打印获取邮寄联系人信息接口,传票据邮寄列表id
|
||||
const getPrintPostContactByMailId = (param) => getAction('/mail/payMailBill/print', param)
|
||||
|
||||
// 全所统计--通过部门code查所有人员
|
||||
const getUserByDepartCode = (param) => getAction('/statistics/allProjectStatistics/listForUserByOrgCode', param)
|
||||
|
||||
export {
|
||||
getWorkingGroupById,
|
||||
getChargeNotice,
|
||||
@@ -133,5 +136,6 @@ export {
|
||||
aduitExpenditureContract,
|
||||
archiveExpenditureContract,
|
||||
getAllRevenueContract,
|
||||
getPrintPostContactByMailId
|
||||
getPrintPostContactByMailId,
|
||||
getUserByDepartCode
|
||||
}
|
||||
|
||||
@@ -59,10 +59,11 @@
|
||||
</template>
|
||||
|
||||
<span slot="operation" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleMaintainData(record)" v-has="'committee:fileMaintenance'">资料维护</a>
|
||||
<a @click="handleMaintainMeeting(record)" v-has="'committee:meetingMaintenance'">会议维护</a>
|
||||
<a @click="handleAddCommitteeMember(record)" v-has="'committee:addMember'">新增成员</a>
|
||||
<a @click="handleEdit(record)" v-has="'committee:edit'">编辑</a>
|
||||
<a @click="toUnderStudyProject(record)" v-has="'committee:underStudyProject'">在研项目</a>
|
||||
<a @click="handleMaintainData(record)" v-has="'committee:fileMaintenance'">其他分发资料</a>
|
||||
<a @click="handleMaintainMeeting(record)" v-has="'committee:meetingMaintenance'">分标委会议</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>
|
||||
</span>
|
||||
|
||||
@@ -146,7 +147,7 @@ export default {
|
||||
title: '操作',
|
||||
dataIndex: 'operation',
|
||||
align: 'center',
|
||||
width: 400,
|
||||
width: 300,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
@@ -180,13 +181,13 @@ export default {
|
||||
title: '手机号',
|
||||
align: 'center',
|
||||
dataIndex: 'phone',
|
||||
width: 200,
|
||||
width: 220,
|
||||
scopedSlots: { customRender: 'textRow' }
|
||||
}, {
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 199,
|
||||
width: 79,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
@@ -268,6 +269,10 @@ export default {
|
||||
this.$refs.memberModalForm.title = '新增成员'
|
||||
this.$refs.memberModalForm.disableSubmit = false
|
||||
},
|
||||
/**
|
||||
* 删除成员
|
||||
* @param id
|
||||
*/
|
||||
handleDeleteMember(id) {
|
||||
console.log(id)
|
||||
if (!this.url.deleteMember) {
|
||||
@@ -313,6 +318,13 @@ export default {
|
||||
meetingType: '5'
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 前往在研项目
|
||||
* @param record
|
||||
*/
|
||||
toUnderStudyProject(record) {
|
||||
console.log('在研项目', record)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
: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-row :gutter="10">
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="分标委名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入分标委名称"
|
||||
v-decorator="['name',validatorRules.name]"
|
||||
@@ -19,16 +19,27 @@
|
||||
@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">
|
||||
<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-col>
|
||||
<a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-form-item label="目标简述" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
v-decorator="['remarks']"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
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>
|
||||
@@ -53,9 +64,17 @@ export default {
|
||||
model: {},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 3 }
|
||||
sm: { span: 6 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 18 }
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 3 }
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 21 }
|
||||
},
|
||||
@@ -63,6 +82,14 @@ export default {
|
||||
name: {
|
||||
rules: [{ required: true, message: '请输入分标委名称' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
abbreviation: {
|
||||
rules: [{ required: true, message: '请输入分标委简称' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
remarks: {
|
||||
rules: [{ required: true, message: '请输入目标简述' }],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
url: {
|
||||
@@ -80,7 +107,7 @@ export default {
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'name', 'remarks'))
|
||||
this.form.setFieldsValue(pick(this.model, 'name', 'abbreviation', 'remarks'))
|
||||
})
|
||||
},
|
||||
close() {
|
||||
@@ -103,8 +130,9 @@ export default {
|
||||
} else {
|
||||
httpurl += this.url.edit
|
||||
}
|
||||
console.log(values, '============')
|
||||
const formData = Object.assign(this.model, values)
|
||||
// 把list的数据删掉
|
||||
delete formData.list
|
||||
console.log('表单提交数据', formData)
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -130,13 +158,21 @@ export default {
|
||||
// 下拉框的搜索
|
||||
filterOption(input, option) {
|
||||
return (
|
||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="less">
|
||||
.abbreviation {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&-title {
|
||||
flex: 1;
|
||||
padding: 0 10px 0 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
+264
-4
@@ -1,16 +1,276 @@
|
||||
<!--理事会维护 --列表页-->
|
||||
<template>
|
||||
<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>
|
||||
</template>
|
||||
|
||||
<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 {
|
||||
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>
|
||||
|
||||
<style scoped>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</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>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">文件维护</a>
|
||||
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">会议维护</a>
|
||||
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">其他分发资料</a>
|
||||
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">工作组会议</a>
|
||||
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'"
|
||||
v-if="record.checkoutOperation === 1">复制</a>
|
||||
<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'"
|
||||
v-if="record.checkoutOperation === 1">删除</a>
|
||||
</span>
|
||||
@@ -160,7 +160,7 @@ export default {
|
||||
align: 'center',
|
||||
dataIndex: 'principalNameA'
|
||||
}, {
|
||||
title: '进度',
|
||||
title: '收款进度',
|
||||
align: 'center',
|
||||
dataIndex: 'obj',
|
||||
width: 250,
|
||||
@@ -170,7 +170,7 @@ export default {
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 300,
|
||||
width: 420,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
import IconImg from '@/assets/imgs/icon/icon_statistical_report.png'
|
||||
import PageHeaderTitle from '../../components/layouts/PageHeaderTitle'
|
||||
import { JeroListMixin } from '../../mixins/JeroListMixin'
|
||||
import { getAllDepartTreeList, queryUserByDepartId } from '../../api/incomePaymentsApi'
|
||||
import { getAllDepartTreeList, getUserByDepartCode } from '../../api/incomePaymentsApi'
|
||||
import JYearDate from '../../components/jero/JYearDate'
|
||||
import { getAction } from '../../api/manage'
|
||||
import ProjectDetailModal from '../../components/ProjectDetailModal'
|
||||
@@ -392,7 +392,7 @@ export default {
|
||||
let param = {
|
||||
departCode: departCode
|
||||
}
|
||||
queryUserByDepartId(param).then(res => {
|
||||
getUserByDepartCode(param).then(res => {
|
||||
if (res.success) {
|
||||
this.userList = res.result
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user