[update] 分标委详情,理事会列表及详情,修改系统名称
This commit is contained in:
@@ -15,6 +15,8 @@ const getSubBidCommitteeDetail = (param) => getAction('/payCaseCommittee/payCase
|
||||
const batchDownloadFile = (param) => getAction('/project/payWorkingGroupDistributionRecord/zipFile', param)
|
||||
// 我的合同--详情
|
||||
const getContractDetailById = (param) => getAction('/contract/payIncomeContract/queryCompanyById', param)
|
||||
// 理事会详情
|
||||
const getCouncilDetailById = (param) => getAction('/payCaseCouncil/payCaseCouncil/detail', param)
|
||||
|
||||
export {
|
||||
queryCommonProjectById,
|
||||
@@ -24,5 +26,6 @@ export {
|
||||
editUserInfo,
|
||||
getSubBidCommitteeDetail,
|
||||
batchDownloadFile,
|
||||
getContractDetailById
|
||||
getContractDetailById,
|
||||
getCouncilDetailById
|
||||
}
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
:rowKey="record => record.id || record.fileId"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="50"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleDownload(record)">下载</a>
|
||||
<a @click="preview(record)">查看</a>
|
||||
</span>
|
||||
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { downloadFile } from '@api/manage'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '文件名',
|
||||
align: 'center',
|
||||
dataIndex: 'fileName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '上传时间',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
dataIndex: 'createTime',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
dataIndex: 'action',
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
]
|
||||
export default {
|
||||
name: 'FileList',
|
||||
data() {
|
||||
return {
|
||||
columns,
|
||||
dataSource: [],
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 下载
|
||||
* @param record
|
||||
*/
|
||||
handleDownload(record) {
|
||||
downloadFile(`sys/common/download/${record.fileId}`, record.fileName)
|
||||
},
|
||||
/**
|
||||
* 预览
|
||||
* @param record
|
||||
*/
|
||||
preview(record) {
|
||||
if (record && record.fileId) {
|
||||
const fileFullUrl = `${window._CONFIG['domianWebSocketURL']}/sys/common/download/${record.fileId}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${record.fileName}`
|
||||
let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||
window.open(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
@@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1200}"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
<a @click="confirmDelete(record)">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const columns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '会议名称',
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '负责人',
|
||||
align: 'center',
|
||||
dataIndex: 'dutyCode',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '召开时间',
|
||||
align: 'center',
|
||||
dataIndex: 'companyAddress',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '召开地点',
|
||||
align: 'center',
|
||||
dataIndex: 'companyPhone',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '年份',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'status_dictText',
|
||||
scopedSlots: { customRender: 'project-approval' }
|
||||
}, {
|
||||
title: '报名状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'createTime',
|
||||
scopedSlots: { customRender: 'advice' }
|
||||
}, {
|
||||
title: '会议状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'bankAccountName',
|
||||
scopedSlots: { customRender: 'review-material' }
|
||||
}, {
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
]
|
||||
export default {
|
||||
name: 'MeetingList',
|
||||
data() {
|
||||
return {
|
||||
columns,
|
||||
dataSource:[],
|
||||
loading: false,
|
||||
/* 分页参数 */
|
||||
ipagination: {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
pageSizeOptions: ['10', '20', '30', '50', '100'],
|
||||
showTotal: (total, range) => {
|
||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
||||
},
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
|
||||
},
|
||||
/**
|
||||
* 分页变化
|
||||
* @param pagination
|
||||
* @param filters
|
||||
* @param sorter
|
||||
*/
|
||||
handleTableChange(pagination, filters, sorter) {
|
||||
//分页、排序、筛选变化时触发
|
||||
//TODO 筛选
|
||||
if (Object.keys(sorter).length > 0) {
|
||||
this.isorter.column = sorter.field
|
||||
this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc'
|
||||
}
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
@@ -0,0 +1,158 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
rowKey="id"
|
||||
:scroll="{x: 1200}"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<!-- 立项文件-->
|
||||
<span slot="project-approval" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="viewProjectApproval(record)">查看</a>
|
||||
</span>
|
||||
|
||||
<!-- 征求意见-->
|
||||
<span slot="advice" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="viewAdvice(record)">查看</a>
|
||||
</span>
|
||||
|
||||
<!-- 送审材料-->
|
||||
<span slot="review-material" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="viewReviewMaterial(record)">查看</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const columns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '项目名称',
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '计划号',
|
||||
align: 'center',
|
||||
dataIndex: 'dutyCode',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '起草单位',
|
||||
align: 'center',
|
||||
dataIndex: 'companyAddress',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '项目进度',
|
||||
align: 'center',
|
||||
dataIndex: 'companyPhone',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '立项文件',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
fixed: 'right',
|
||||
dataIndex: 'status_dictText',
|
||||
scopedSlots: { customRender: 'project-approval' }
|
||||
}, {
|
||||
title: '征求意见',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
fixed: 'right',
|
||||
dataIndex: 'createTime',
|
||||
scopedSlots: { customRender: 'advice' }
|
||||
}, {
|
||||
title: '送审材料',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
fixed: 'right',
|
||||
dataIndex: 'bankAccountName',
|
||||
scopedSlots: { customRender: 'review-material' }
|
||||
}
|
||||
]
|
||||
export default {
|
||||
name: 'UnderStudyProjectList',
|
||||
data() {
|
||||
return {
|
||||
columns,
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
/* 分页参数 */
|
||||
ipagination: {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
pageSizeOptions: ['10', '20', '30', '50', '100'],
|
||||
showTotal: (total, range) => {
|
||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
||||
},
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
|
||||
},
|
||||
/**
|
||||
* 分页变化
|
||||
* @param pagination
|
||||
* @param filters
|
||||
* @param sorter
|
||||
*/
|
||||
handleTableChange(pagination, filters, sorter) {
|
||||
//分页、排序、筛选变化时触发
|
||||
//TODO 筛选
|
||||
if (Object.keys(sorter).length > 0) {
|
||||
this.isorter.column = sorter.field
|
||||
this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc'
|
||||
}
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
},
|
||||
/**
|
||||
* 查看立项文件
|
||||
* @param record
|
||||
*/
|
||||
viewProjectApproval(record) {
|
||||
console.log('查看立项文件', record)
|
||||
},
|
||||
/**
|
||||
* 查看征求意见
|
||||
* @param record
|
||||
*/
|
||||
viewAdvice(record) {
|
||||
console.log('查看征求意见', record)
|
||||
},
|
||||
/**
|
||||
* 查看送审材料
|
||||
* @param record
|
||||
*/
|
||||
viewReviewMaterial(record) {
|
||||
console.log('查看送审材料', record)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
// update-begin-author:sunjianlei date:20200120 for: 动态更改页面标题
|
||||
changeTitle(title) {
|
||||
let projectTitle = '标准所协同工作平台'
|
||||
let projectTitle = '汽车标准化工作平台'
|
||||
// 首页特殊处理
|
||||
if (this.$route.path === indexKey) {
|
||||
document.title = projectTitle
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
||||
@click="toggle"/>
|
||||
|
||||
<span v-if="device === 'desktop'">欢迎进入标准所协同工作平台</span>
|
||||
<span v-if="device === 'desktop'">欢迎进入汽车标准化工作平台</span>
|
||||
<span v-else>Jero-Boot</span>
|
||||
|
||||
<user-menu/>
|
||||
@@ -26,7 +26,7 @@
|
||||
<div v-else :class="['top-nav-header-index']">
|
||||
<div class="header-index-wide">
|
||||
<div class="header-index-left" :style="topMenuStyle.headerIndexLeft">
|
||||
<logo class="top-nav-header" title='标准所来款管理系统' :show-title="device !== 'mobile'"/>
|
||||
<logo class="top-nav-header" title='汽车标准化工作平台' :show-title="device !== 'mobile'"/>
|
||||
<div v-if="device !== 'mobile'" :style="topMenuStyle.topSmenuStyle">
|
||||
<s-menu
|
||||
mode="horizontal"
|
||||
|
||||
@@ -355,5 +355,35 @@ export const routerData = [
|
||||
},
|
||||
name: 'account-center',
|
||||
id: '10'
|
||||
},
|
||||
{
|
||||
path: '/subBidCommittee/SubBidCommitteeDetailPage',
|
||||
component: 'subBidCommittee/SubBidCommitteeDetailPage',
|
||||
redirect: null,
|
||||
hidden: true,
|
||||
route: '1',
|
||||
meta: {
|
||||
icon: '', // 菜单前图标
|
||||
componentName: 'SubBidCommitteeDetailPage',
|
||||
keepAlive: false,
|
||||
title: '分标委详情' // 菜单名称
|
||||
},
|
||||
name: 'sub-bid-committee-detail-page',
|
||||
id: '11'
|
||||
},
|
||||
{
|
||||
path: '/standardsAssociation/CouncilDetailPage',
|
||||
component: 'standardsAssociation/CouncilDetailPage',
|
||||
redirect: null,
|
||||
hidden: true,
|
||||
route: '1',
|
||||
meta: {
|
||||
icon: '', // 菜单前图标
|
||||
componentName: 'CouncilDetailPage',
|
||||
keepAlive: false,
|
||||
title: '理事会详情' // 菜单名称
|
||||
},
|
||||
name: 'council-detail-page',
|
||||
id: '12'
|
||||
}
|
||||
]
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
document.title = '标准所协同工作平台'
|
||||
document.title = '汽车标准化工作平台'
|
||||
this.currdatetime = new Date().getTime()
|
||||
Vue.ls.remove(ACCESS_TOKEN)
|
||||
this.getRouterData()
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user