[update] 分标委详情,理事会列表及详情,修改系统名称

This commit is contained in:
zhaoxiao
2021-12-13 19:45:44 +08:00
parent ba9ac335be
commit 673bbde472
15 changed files with 960 additions and 34 deletions
+116 -4
View File
@@ -1,13 +1,125 @@
<template>
<div>理事会</div>
<div class="main-box">
<a-card :bordered="false">
<!--查询区域begin-->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="理事会名称">
<a-input placeholder="请输入理事会名称" v-model="queryParam.councilName" :maxLength="50"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="8" :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 class="reset-button" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!--查询区域end-->
<div>
<a-table
ref="table"
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
@change="handleTableChange"
class="j-table-force-nowrap">
<!-- 项目名称-->
<template slot="projectName" slot-scope="text, record">
<j-ellipsis :value="text" :length="20" class="project-name" @click="toDetail(record)"></j-ellipsis>
</template>
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="20"></j-ellipsis>
</template>
<!-- 查看理事会名单-->
<span slot="action" class="action-span-cell" slot-scope="text,record">
<a @click="viewCouncilMember(record)">查看</a>
</span>
</a-table>
</div>
</a-card>
<member-list-modal ref="memberList"></member-list-modal>
</div>
</template>
<script>
import { JeroListMixin } from '@/mixins/JeroListMixin'
import MemberListModal from '@views/standardsAssociation/modules/MemberListModal'
export default {
name: 'Council'
name: 'Council',
components: { MemberListModal },
mixins: [JeroListMixin],
data() {
return {
columns: [
{
title: '理事会名称',
align: 'center',
dataIndex: 'name',
scopedSlots: { customRender: 'projectName' }
}, {
title: '负责人',
align: 'center',
dataIndex: 'principal',
scopedSlots: { customRender: 'text' }
}, {
title: '目标简述',
align: 'center',
dataIndex: 'remarks',
scopedSlots: { customRender: 'text' }
}, {
title: '理事会名单',
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: 130,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: '/payCaseCouncilSubitem/payCaseCouncilSubitem/findTwo'
}
}
},
methods: {
/**
* 查看理事会名单
* @param record
*/
viewCouncilMember(record) {
this.$refs.memberList.title = '理事会名单'
this.$refs.memberList.dataSource = record.list
this.$refs.memberList.visible = true
},
/**
* 跳转至理事会详情
* @param record
*/
toDetail(record) {
console.log(record)
this.$router.push({
path: '/standardsAssociation/CouncilDetailPage',
query: {
id: record.id
}
})
}
}
}
</script>
<style scoped>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>
@@ -0,0 +1,126 @@
<template>
<div class="main-box">
<a-card :bordered="false">
<!-- 基本信息-->
<div class="basic-info basic-box">
<h3 class="title">基本信息</h3>
<a-spin :spinning="basicLoading">
<a-row :gutter="10">
<a-col :span="12" class="basic-info-item"><label>理事会名称:</label><span>{{ councilDetail.name }}</span>
</a-col>
<a-col :span="12" class="basic-info-item"><label>负责人:</label><span>{{ councilDetail.principal }}</span>
</a-col>
<a-col :span="24" class="basic-info-item"><label>目标简述:</label><span>{{ councilDetail.remarks }}</span>
</a-col>
</a-row>
</a-spin>
</div>
<!-- 理事会会议-->
<div class="meeting basic-box">
<h3 class="title">理事会会议</h3>
<meeting-list></meeting-list>
</div>
<!-- 其他分发资料-->
<div class="meeting basic-box">
<div class="file-title"><h3 class="title">其他分发资料</h3><span>(如月报、调研表等)</span></div>
<file-list ref="fileList"></file-list>
</div>
</a-card>
</div>
</template>
<script>
import MeetingList from '@comp/detailPage/MeetingList'
import FileList from '@comp/detailPage/FileList'
import { getCouncilDetailById } from '@api/incomePaymentsApi'
export default {
name: 'CouncilDetailPage',
components: { MeetingList, FileList },
data() {
return {
basicLoading: false,
// 理事会详情数据
councilDetail: {},
// 文件数据
fileList: []
}
},
created() {
this.getCouncilDetail()
},
methods: {
getCouncilDetail() {
if (!this.$route.query.id) {
return
}
this.basicLoading = true
this.$nextTick(() => {
this.$refs.fileList.loading = true
})
let param = {id: this.$route.query.id}
getCouncilDetailById(param).then(res => {
if (res.success) {
this.councilDetail = res.result
this.$refs.fileList.dataSource = res.result.files
} else {
this.$message.warn(res.message)
}
}).finally(() => {
this.basicLoading = false
this.$nextTick(() => {
this.$refs.fileList.loading = false
})
})
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.title {
position: relative;
}
.title::before {
position: absolute;
top: 4px;
left: -10px;
content: "";
height: 20px;
width: 2px;
background: #069f99;
}
.basic-box {
padding: 0 20px 10px 20px;
}
.basic-info {
.ant-col {
margin: 5px 0;
}
&-item {
display: flex;
label {
flex-shrink: 0;
}
}
}
.file-title {
display: flex;
align-items: center;
span {
margin-left: 10px;
margin-bottom: 5px;
}
}
</style>
@@ -0,0 +1,102 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
okText=""
@cancel="handleCancel"
cancelText="关闭">
<!-- table表格区域-->
<div>
<a-table
ref="table"
size="middle"
bordered
:rowKey="record => record.id || record.childrenId"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="confirmLoading"
class="j-table-force-nowrap">
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
</a-table>
</div>
<template slot="footer">
<a-button key="back" @click="handleCancel">关闭</a-button>
</template>
</j-modal>
</template>
<script>
export default {
name: 'MemberListModal',
data() {
return {
title: '操作',
width: 1000,
visible: false,
confirmLoading: false,
ipagination:{
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '30'],
showTotal: (total, range) => {
return range[0] + '-' + range[1] + ' 共' + total + '条'
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
columns: [{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
}, {
title: '姓名',
align: 'center',
dataIndex: 'peopleName',
scopedSlots: { customRender: 'text' }
}, {
title: '企业名称',
align: 'center',
dataIndex: 'companyName',
scopedSlots: { customRender: 'text' }
}, {
title: '职务',
align: 'center',
dataIndex: 'post',
scopedSlots: { customRender: 'text' }
}, {
title: '手机号',
align: 'center',
dataIndex: 'phone',
scopedSlots: { customRender: 'text' }
}],
dataSource: []
}
},
methods: {
handleCancel() {
this.visible = false
this.dataSource = []
}
}
}
</script>
<style scoped>
</style>
+55 -22
View File
@@ -7,7 +7,7 @@
<a-row :gutter="24">
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="分标委名称">
<a-input placeholder="请输入分标委名称" v-model="queryParam.name" :maxLength="50"></a-input>
<a-input placeholder="请输入分标委名称" v-model="queryParam.fenBiaoWeiName" :maxLength="50"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="8" :md="8" :sm="24">
@@ -25,6 +25,7 @@
<a-table
ref="table"
rowKey="id"
:scroll="{x: 1200}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
@@ -34,71 +35,103 @@
<!-- 项目名称-->
<template slot="projectName" slot-scope="text, record">
<j-ellipsis :value="text" :length="50" class="project-name" @click="openDetail(record)"></j-ellipsis>
<j-ellipsis :value="text" :length="20" class="project-name" @click="openDetail(record)"></j-ellipsis>
</template>
<!-- 跳转分标委会议-->
<template slot="text" slot-scope="text, record">
<j-ellipsis :value="text" :length="20"></j-ellipsis>
</template>
<!-- 查看分标委委员信息-->
<span slot="action" class="action-span-cell" slot-scope="text,record">
<a-button type="primary" @click="toCommitteeMeeting(record)">分标委会议<a-icon type="right"/></a-button>
<!-- <a @click="toCommitteeMeeting(record)">分标委会议</a>-->
<a @click="viewMemberList(record)">查看</a>
</span>
</a-table>
</div>
</a-card>
<!-- 分标委详情-->
<sub-bid-committee-detail ref="detail"></sub-bid-committee-detail>
<!-- 委员列表-->
<member-list-modal ref="memberList"></member-list-modal>
</div>
</template>
<script>
import { JeroListMixin } from '@/mixins/JeroListMixin'
import SubBidCommitteeDetail from '@views/subBidCommittee/modules/SubBidCommitteeDetail'
import MemberListModal from '@views/standardsAssociation/modules/MemberListModal'
export default {
name: 'SubBidCommittee',
components: { SubBidCommitteeDetail },
components: { SubBidCommitteeDetail, MemberListModal },
mixins: [JeroListMixin],
data() {
return {
columns: [
{
title: '分标委列表',
align: 'left',
title: '分标委名称',
align: 'center',
dataIndex: 'name',
scopedSlots: { customRender: 'projectName' }
}, {
title: '',
title: '负责人',
align: 'center',
dataIndex: 'principal',
scopedSlots: { customRender: 'text' }
}, {
title: '目标简述',
align: 'center',
dataIndex: 'remarks',
scopedSlots: { customRender: 'text' }
}, {
title: '委员信息',
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: 160,
width: 130,
scopedSlots: { customRender: 'action' }
}
],
dataSource: [
{
id: 1,
name: '分标委分标委分标委分标委分标委分标委分标委分标委分标委'
}
],
url: {
list: '/payCaseCommittee/payCaseCommittee/list'
list: '/payCaseCommitteeSubitem/payCaseCommitteeSubitem/findTwo'
}
}
},
methods: {
/**
* 跳转至分标委详情
* @param record
*/
openDetail(record) {
this.$refs.detail.committee = record
this.$refs.detail.open()
// this.$refs.detail.open()
this.$router.push({
path: '/subBidCommittee/SubBidCommitteeDetailPage',
query: {
id: record.id
}
})
},
/*
* 分标委会议
* */
toCommitteeMeeting(record){
toCommitteeMeeting(record) {
this.$router.push({
path:'/meetingActivity/MeetingActivity',
query:{
meetingType:'5',
id:record.id
path: '/meetingActivity/MeetingActivity',
query: {
meetingType: '5',
id: record.id
}
})
},
/**
* 显示委员列表
* @param record
*/
viewMemberList(record) {
this.$refs.memberList.title='委员信息'
this.$refs.memberList.dataSource = record.list
this.$refs.memberList.visible = true
}
}
}
@@ -0,0 +1,138 @@
<template>
<div class="main-box">
<a-card :bordered="false">
<!-- 基本信息-->
<div class="basic-info basic-box">
<h3 class="title">基本信息</h3>
<a-spin :spinning="basicLoading">
<a-row :gutter="10">
<a-col :span="12" class="basic-info-item"><label>分标委名称:</label><span>{{ committeeDetail.name }}</span>
</a-col>
<a-col :span="12" class="basic-info-item"><label>负责人:</label><span>{{ committeeDetail.principal }}</span>
</a-col>
<a-col :span="24" class="basic-info-item"><label>目标简述:</label><span>{{ committeeDetail.remarks }}</span>
</a-col>
</a-row>
</a-spin>
</div>
<!-- 在研项目-->
<div class="under-study basic-box">
<h3 class="title">在研项目</h3>
<under-study-project-list></under-study-project-list>
</div>
<!-- 分标委会议-->
<div class="meeting basic-box">
<h3 class="title">分标委会议</h3>
<meeting-list></meeting-list>
</div>
<!-- 其他分发资料-->
<div class="meeting basic-box">
<div class="file-title"><h3 class="title">其他分发资料</h3><span>(如月报、调研表等)</span></div>
<file-list ref="fileList"></file-list>
</div>
</a-card>
</div>
</template>
<script>
import { getSubBidCommitteeDetail } from '@api/incomePaymentsApi'
import UnderStudyProjectList from '@comp/detailPage/UnderStudyProjectList'
import MeetingList from '@comp/detailPage/MeetingList'
import FileList from '@comp/detailPage/FileList'
export default {
name: 'SubBidCommitteeDetailPage',
components: { UnderStudyProjectList, MeetingList, FileList },
data() {
return {
basicLoading: false,
// 分标委详情数据
committeeDetail: {},
// 文件数据
fileList: [],
}
},
created() {
this.getCommitteeDetail()
},
methods: {
/**
* 获取分标委详情数据
*/
getCommitteeDetail() {
if (!this.$route.query.id) {
return
}
this.basicLoading = true
this.$nextTick(() => {
this.$refs.fileList.loading = true
})
let param = {
id: this.$route.query.id
}
getSubBidCommitteeDetail(param).then(res => {
if (res.success) {
this.committeeDetail = res.result
this.$refs.fileList.dataSource = res.result.files
} else {
this.$message.warn(res.message)
}
}).finally(() => {
this.basicLoading = false
this.$nextTick(() => {
this.$refs.fileList.loading = false
})
})
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.title {
position: relative;
}
.title::before {
position: absolute;
top: 4px;
left: -10px;
content: "";
height: 20px;
width: 2px;
background: #069f99;
}
.basic-box {
padding: 0 20px 10px 20px;
}
.basic-info {
.ant-col {
margin: 5px 0;
}
&-item {
display: flex;
label {
flex-shrink: 0;
}
}
}
.file-title {
display: flex;
align-items: center;
span {
margin-left: 10px;
margin-bottom: 5px;
}
}
</style>
@@ -80,7 +80,6 @@ export default {
name: this.committee.name
}
}
} else {
this.$message.warn(res.message)
}
+1 -1
View File
@@ -190,7 +190,7 @@ export default {
}
},
created() {
document.title = '标准所协同工作平台'
document.title = '汽车标准化工作平台'
this.currdatetime = new Date().getTime()
Vue.ls.remove(ACCESS_TOKEN)
this.getRouterData()
+2 -2
View File
@@ -3,7 +3,7 @@
<div class='alteration-head logo'>
<router-link :to="{name:'dashboard'}">
<img src="~@/assets/logo.png" alt="logo">
<h1>标准所来款管理系统</h1>
<h1>汽车标准化工作平台</h1>
</router-link>
</div>
<div class='alteration-center'>
@@ -155,7 +155,7 @@ export default {
}
},
created() {
document.title = '标准所协同工作平台'
document.title = '汽车标准化工作平台'
// 初次登录直接获取公钥
if (this.$route.query.isFirstLogin === 'true') {
this.getPublicKey()