招标解析

This commit is contained in:
cwchen 2025-11-27 10:59:57 +08:00
parent c7e61523c1
commit 16c61cdd1b
4 changed files with 97 additions and 27 deletions

View File

@ -541,6 +541,20 @@ export const dynamicRoutes = [
}
]
},
{
path: '/analysisBidView',
component: Layout,
hidden: true,
permissions: ['enterpriseLibrary:analysis:detail'],
children: [
{
path: 'index',
component: () => import('@/views/analysis/components/AnalysisBidView'),
name: 'AnalysisBidView',
meta: { title: '解析结果', activeMenu: '/analysis', noCache: true }
}
]
},
{
path: '/testOnlyOffice',
component: Layout,

View File

@ -125,7 +125,7 @@
</template>
<script>
import { decryptWithSM4 } from '@/utils/sm'
import { decryptWithSM4, encryptWithSM4 } from '@/utils/sm'
import { getProDetailAPI, getBidListAPI } from '@/api/analysis/analysis'
import { formLabel, detailColumnsList } from '../config'
import TableModel from '@/components/TableModel2'
@ -157,6 +157,7 @@ export default {
detailColumnsList,
getBidListAPI,
proId: '',
bidId: '',
detailData: {},
sendParams: {
proId: decryptWithSM4(this.$route.query.proId),
@ -209,6 +210,7 @@ export default {
},
created() {
this.proId = decryptWithSM4(this.$route.query.proId)
this.bidId = this.$route.query.bidId ? decryptWithSM4(this.$route.query.bidId) : null
this.getDetail()
},
methods: {
@ -242,7 +244,10 @@ export default {
},
//
handleClose() {
const obj = { path: "/analysis" }
let obj = { path: "/analysis" }
if (this.bidId) {
obj = { name: "AnalysisBidIndex", query: { proId: encryptWithSM4(this.proId) } }
}
this.$tab.closeOpenPage(obj)
},
//

View File

@ -7,17 +7,9 @@
</el-button>
</div>
<div class="table-container">
<TableModel
:formLabel="bidFormLabel"
:showOperation="true"
:showRightTools="false"
ref="analysisTableRef"
:columnsList="bidListColumnsList"
:request-api="getBidListAPI"
:sendParams="sendParams"
:handleColWidth="200"
:isShowtableCardStyle="false"
>
<TableModel :formLabel="bidFormLabel" :showOperation="true" :showRightTools="false" ref="analysisTableRef"
:columnsList="bidListColumnsList" :request-api="getBidListAPI" :sendParams="sendParams"
:handleColWidth="200" :isShowtableCardStyle="false">
<template slot="parsingState" slot-scope="{ data }">
<el-tag v-if="data.parsingState === '0'" type="info">解析中</el-tag>
<el-tag v-else-if="data.parsingState === '1'" type="success">解析成功</el-tag>
@ -84,9 +76,10 @@ export default {
/* 查看操作 */
handleDetail(row) {
this.$router.push({
name: 'AnalysisDetail',
name: 'AnalysisBidView',
query: {
proId: encryptWithSM4('2')
proId: encryptWithSM4(row.proId + '' || '0'),
bidId: encryptWithSM4(row.bidId + '' || '0'),
}
})
},
@ -95,20 +88,13 @@ export default {
this.$router.push({
name: 'AnalysisBidDetail',
query: {
proId: encryptWithSM4('2')
}
})
},
/** 查看标段操作 */
handleBidListDetail(row) {
this.$router.push({
name: 'AnalysisBidIndex',
query: {
proId: encryptWithSM4('2')
proId: encryptWithSM4(row.proId + '' || '0'),
bidId: encryptWithSM4(row.bidId + '' || '0'),
}
})
},
/* 搜索操作 */
handleQuery() {
this.$refs.analysisTableRef.getTableList()
@ -188,8 +174,9 @@ export default {
}
}
}
.table-container{
::v-deep .el-card.table-card.is-always-shadow{
.table-container {
::v-deep .el-card.table-card.is-always-shadow {
height: calc(100vh - 285px) !important;
}
}

View File

@ -0,0 +1,64 @@
<!-- 标段解析 -->
<template>
<el-card class="analysis-container">
<div class="back-container">
<el-button type="default" size="small" @click="handleBack" class="back-btn">
返回
</el-button>
</div>
</el-card>
</template>
<script>
import { decryptWithSM4, encryptWithSM4 } from '@/utils/sm'
export default {
name: 'AnalysisBidView',
data() {
return {
proId: decryptWithSM4(this.$route.query.proId),
bidId: decryptWithSM4(this.$route.query.bidId),
}
},
created() {
},
methods: {
handleBack() {
const obj = { name: "AnalysisBidIndex", query: { proId: encryptWithSM4(this.proId) } }
this.$tab.closeOpenPage(obj)
}
},
}
</script>
<style scoped lang="scss">
.analysis-container {
height: calc(100vh - 84px);
overflow: hidden;
background: linear-gradient(180deg, #F1F6FF 20%, #E5EFFF 100%);
}
.back-container {
display: flex;
justify-content: flex-end;
align-items: center;
margin-bottom: 20px;
padding: 0 20px;
.back-btn {
width: 98px;
height: 36px;
background: #FFFFFF;
box-shadow: 0px 4px 8px 0px rgba(76, 76, 76, 0.2);
border-radius: 4px;
border: none;
color: #666;
font-size: 14px;
transition: all 0.3s ease;
&:hover {
background: #f5f5f5;
color: #409EFF;
box-shadow: 0px 6px 12px 0px rgba(76, 76, 76, 0.3);
}
}
}
</style>