[add] 注册页面,分标委在研项目

This commit is contained in:
zhaoxiao
2021-12-14 14:58:03 +08:00
parent a215332de6
commit 3343f87335
13 changed files with 1512 additions and 519 deletions
@@ -25,7 +25,6 @@
<a-table
ref="table"
rowKey="id"
:scroll="{x: 1200}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
@@ -108,7 +107,8 @@ export default {
this.$router.push({
path: '/subBidCommittee/SubBidCommitteeDetailPage',
query: {
id: record.id
id: record.id,
abbreviation: record.abbreviation
}
})
},
@@ -19,7 +19,36 @@
<!-- 在研项目-->
<div class="under-study basic-box">
<h3 class="title">在研项目</h3>
<under-study-project-list></under-study-project-list>
<a-table
ref="table"
rowKey="id"
size="middle"
:scroll="{x: 1200}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
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>
<!-- 分标委会议-->
@@ -34,18 +63,74 @@
<file-list ref="fileList"></file-list>
</div>
</a-card>
<committee-under-study-files-modal ref="filesModal"></committee-under-study-files-modal>
</div>
</template>
<script>
import { getSubBidCommitteeDetail } from '@api/incomePaymentsApi'
import UnderStudyProjectList from '@comp/detailPage/UnderStudyProjectList'
import { getSubBidCommitteeDetail, getCommitteeUnderStudyProject } from '@api/incomePaymentsApi'
import MeetingList from '@comp/detailPage/MeetingList'
import FileList from '@comp/detailPage/FileList'
import CommitteeUnderStudyFilesModal from '@views/subBidCommittee/modules/CommitteeUnderStudyFilesModal'
const columns = [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
}, {
title: '项目名称',
align: 'center',
dataIndex: 'projectName',
scopedSlots: { customRender: 'text' }
}, {
title: '计划号',
align: 'center',
dataIndex: 'planNo',
scopedSlots: { customRender: 'text' }
}, {
title: '起草单位',
align: 'center',
dataIndex: 'draftCompany',
scopedSlots: { customRender: 'text' }
}, {
title: '项目进度',
align: 'center',
dataIndex: 'projectSchedule',
scopedSlots: { customRender: 'text' }
}, {
title: '立项文件',
align: 'center',
width: 100,
fixed: 'right',
dataIndex: 'FILE_LIST10',
scopedSlots: { customRender: 'project-approval' }
}, {
title: '征求意见',
align: 'center',
width: 100,
fixed: 'right',
dataIndex: 'FILE_LIST20',
scopedSlots: { customRender: 'advice' }
}, {
title: '送审材料',
align: 'center',
width: 100,
fixed: 'right',
dataIndex: 'FILE_LIST30',
scopedSlots: { customRender: 'review-material' }
}
]
export default {
name: 'SubBidCommitteeDetailPage',
components: { UnderStudyProjectList, MeetingList, FileList },
components: { MeetingList, FileList, CommitteeUnderStudyFilesModal },
data() {
return {
basicLoading: false,
@@ -53,14 +138,31 @@ export default {
committeeDetail: {},
// 文件数据
fileList: [],
// 在研项目
columns,
dataSource: [],
/* 分页参数 */
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
},
loading: false
}
},
created() {
this.getCommitteeDetail()
this.getUnderStudyProjectList()
},
methods: {
/**
* 获取分标委详情数据
* 获取基本信息、其他分发资料数据
*/
getCommitteeDetail() {
if (!this.$route.query.id) {
@@ -86,7 +188,68 @@ export default {
this.$refs.fileList.loading = false
})
})
}
},
/**
* 获取在研项目
*/
getUnderStudyProjectList() {
let param = {
abbreviation: this.$route.query.abbreviation
}
getCommitteeUnderStudyProject(param).then(res => {
if (res.success) {
this.dataSource = res.result.result.records
if (res.result.result.total) {
this.ipagination.total = res.result.result.total
} else {
this.ipagination.total = 0
}
}
})
},
/**
* 查看立项文件
* @param record
*/
viewProjectApproval(record) {
this.$refs.filesModal.title = '立项文件'
this.$refs.filesModal.dataSource = record.FILE_LIST10
this.$refs.filesModal.visible = true
},
/**
* 查看征求意见
* @param record
*/
viewAdvice(record) {
this.$refs.filesModal.title = '征求意见'
this.$refs.filesModal.dataSource = record.FILE_LIST20
this.$refs.filesModal.visible = true
},
/**
* 查看送审材料
* @param record
*/
viewReviewMaterial(record) {
this.$refs.filesModal.title = '送审材料'
this.$refs.filesModal.dataSource = record.FILE_LIST30
this.$refs.filesModal.visible = true
},
/**
* 分页变化
* @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.getUnderStudyProjectList()
},
}
}
</script>
@@ -130,6 +293,7 @@ export default {
.file-title {
display: flex;
align-items: center;
span {
margin-left: 10px;
margin-bottom: 5px;
@@ -0,0 +1,118 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
switchFullscreen
@cancel="handleCancel"
cancelText="关闭">
<!-- table表格区域-->
<div>
<a-table
ref="table"
size="middle"
bordered
:columns="columns"
:dataSource="dataSource"
:pagination="false"
:loading="confirmLoading"
class="j-table-force-nowrap">
<template slot="text" slot-scope="text">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
<!-- 时间戳转时间-->
<template slot="time" slot-scope="text">
<j-ellipsis :value="processingTimestamp(text)" :length="20"></j-ellipsis>
</template>
<!-- 操作-->
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleDownload(record)">下载</a>
<a @click="handlePreview(record)">查看</a>
</span>
</a-table>
</div>
<template slot="footer">
<a-button key="back" @click="handleCancel">关闭</a-button>
</template>
</j-modal>
</template>
<script>
import { downloadFile } from '@api/manage'
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { processingTimestamp } from '@/utils/util'
const columns = [
{
title: '文件名',
align: 'center',
dataIndex: 'FILE_NAME',
scopedSlots: { customRender: 'text' }
}, {
title: '上传时间',
align: 'center',
dataIndex: 'CREAT_TIME',
scopedSlots: { customRender: 'time' }
}, {
title: '操作',
align: 'center',
dataIndex: 'action',
width: 160,
scopedSlots: { customRender: 'action' }
}
]
export default {
name: 'CommitteeUnderStudyFilesModal',
data() {
return {
title: '操作',
width: 800,
visible: false,
confirmLoading: false,
columns,
dataSource: []
}
},
methods: {
processingTimestamp,
/**
* 下载
* @param record
*/
handleDownload(record) {
let param = {
fileId: record.FILE_ID,
fileName: record.FILE_NAME
}
downloadFile(`/payResearchProject/payResearchProject/downLoad`, record.FILE_NAME, param)
},
/**
* 预览
* @param record
*/
handlePreview(record) {
if (record && record.FILE_ID) {
const fileFullUrl = `${ window._CONFIG['domianWebSocketURL'] }/sys/common/download/${ record.FILE_ID }?token=${ Vue.ls.get(ACCESS_TOKEN) }&fullfilename=${ record.FILE_NAME }`
let url = `${ window._CONFIG['onlinePreviewDomainURL'] }?url=${ encodeURIComponent(fileFullUrl) }`
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
window.open(url)
}
},
handleCancel() {
this.dataSource = []
this.visible = false
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>