对接条款比对

This commit is contained in:
范强强
2024-02-27 15:17:17 +08:00
parent 15c0fb6ddf
commit 48d50501ce
4 changed files with 179 additions and 34 deletions
+1 -1
View File
@@ -64,7 +64,7 @@ const getComparisonDetail = (params) => postAction('/compare/sarFileCompareInfo/
// 文档对比-文档对比-条款对比左侧目录
const getSplitMenusByInfo = (params) => getAction('/split/sarFileSplitMenu/getSplitMenusByInfoId', params)
// 文档对比-文档对比-条款对比右侧展示
const documentSplitView = (params) => postAction('/laws/DocumentTool/documentSplit/queryView', params)
const documentSplitView = (params) => postAction('/laws/DocumentTool/documentSplit/queryDocumentSplitDetail', params)
// 文档对比-文档对比-条款对比对比按钮
const clauseComparisonEvent = (params) => postAction('/compare/sarFileCompareItem/clauseComparisonEvent', params)
+10 -1
View File
@@ -61,7 +61,16 @@ export const constantRouterMap = [
},
component: () => import(/* webpackChunkName: "user" */ '@/views/documentTool/documentComparison/comparisonOfTerms')
},
// 新旧拆分单对比-对比结果
// 新旧拆分单对比-条款对比对比结果
{
path: '/documentTool/comparisonTermsView',
name: 'documentTool-comparisonTermsView',
meta: {
title: '新旧拆分单对比-条款对比'
},
component: () => import(/* webpackChunkName: "user" */ '@/views/documentTool/documentComparison/comparisonTermsView')
},
// 新旧拆分单对比-对比结果全文对比
{
path: '/documentTool/ComparisonResults',
name: 'documentTool-ComparisonResults',
@@ -41,12 +41,12 @@
</a-tooltip>
</div>
<div class="detail-content-left-scroll">
<div class="detail-content-left-item"
v-for="(item,index) in 1" :key="index">
<div class="detail-content-item-text" style="margin-bottom: 10px;color: #040B29">
条款内容</br>
但是看见官方电话就是官方的话就十分大师傅df ghdfgkj定时联发科和司法会计的是疯狂的事哈佛导师反馈但是反馈的身
份和但是开发的是否和的课时费和上课积分都十分考究的释放的空间是犯得上看见发大师傅但是豆腐干豆腐干豆腐干的
<div class="detail-content-left-item">
<div class="detail-content-item-text" v-if="textLeft"
style="margin-bottom: 10px;color: #040B29;font-weight: bold;">
条款内容
</div>
<div class="detail-content-item-text" style="margin-bottom: 10px;color: #040B29" v-html="textLeft">
</div>
</div>
</div>
@@ -87,12 +87,12 @@
</a-tooltip>
</div>
<div class="detail-content-right-scroll">
<div class="detail-content-right-item"
v-for="(item,index) in resultData.textRight" :key="index">
<div class="detail-content-item-text" style="margin-bottom: 10px;color: #040B29">
{{ item.itemsNum + ' ' + item.itemsName }}
<div class="detail-content-right-item">
<div v-if="textRight" class="detail-content-item-text"
style="margin-bottom: 10px;color: #040B29;font-weight: bold;">
条款内容
</div>
<div class="detail-content-item-text" v-html="item.itemsText">
<div class="detail-content-item-text" v-html="textRight">
</div>
</div>
</div>
@@ -108,6 +108,7 @@
{{ $t('docTool.comparison.comparison') }}
</a-button>
</div>
</internal-detail-page>
</template>
@@ -127,7 +128,9 @@ export default {
menuRight: [],
menuLeft: [],
leftData: {},
rightData: {}
rightData: {},
textRight: '',
textLeft: ''
}
},
mounted () {
@@ -149,15 +152,24 @@ export default {
},
getLeftDocumentSplitView () {
const query = {
menuId: this.leftData.id,
infoId: this.$route.query.infoIdLeft,
page: 1,
pageSize: 9999
menu_id: this.leftData.id,
info_id: this.$route.query.infoIdLeft,
pageNo: 1,
pageSize: 9999,
order: 'desc'
}
this.loading = true
documentSplitView(query).then((res) => {
if (res.success) {
if (res.result.records && res.result.records.length > 0){
this.textLeft = res.result.records[0].item_content
} else {
this.textLeft = ''
}
} else {
this.textLeft = ''
}
this.loading = false
})
},
// 右侧树选择
@@ -172,15 +184,24 @@ export default {
getRightDocumentSplitView () {
const query = {
menuId: this.rightData.id,
infoId: this.$route.query.infoIdRight,
page: 1,
pageSize: 9999
menu_id: this.rightData.id,
info_id: this.$route.query.infoIdRight,
pageNo: 1,
pageSize: 9999,
order: 'desc'
}
this.loading = true
documentSplitView(query).then((res) => {
if (res.success) {
if (res.result.records && res.result.records.length > 0){
this.textRight = res.result.records[0].item_content
} else {
this.textRight = ''
}
} else {
this.textRight = ''
}
this.loading = false
})
},
@@ -206,16 +227,22 @@ export default {
})
},
comparisonClick () {
const query = {
// oldItemId: this.saveItemId,
// newItemId: this.saveItemIdRight,
standHisId: this.$route.query.id
}
clauseComparisonEvent(query).then((res) => {
if (res.success) {
if (!this.leftData.id) {
this.$message.warning('请选择左侧条款')
} else if (!this.rightData.id) {
this.$message.warning('请选择右侧条款')
} else {
const query = {
oldItemId: this.leftData.id,
newItemId: this.rightData.id,
standHisId: this.$route.query.id
}
})
clauseComparisonEvent(query).then((res) => {
if (res.success) {
}
})
}
}
}
}
@@ -375,7 +402,7 @@ export default {
.detail-content-right-item {
padding: 16px 20px;
box-sizing: border-box;
border: 1px solid #EFF1F3;
/*border: 1px solid #EFF1F3;*/
cursor: pointer;
background-color: white;
}
@@ -0,0 +1,109 @@
<template>
<internal-detail-page :title="$t('docTool.comparison.comparisonOfTerms')"
:content-padding="0"
:loading="loading"
need-custom-back-func
@back="handleBack">
<div class="can-scroll-content">
<j-table
ref="table"
size="middle"
:columns="columns"
:data-source="dataSource"
:can-drag="true"
:loading="loading"
:pagination="ipagination"
:scroll="{x: '100%', y: yScrollHeight}"
:operation-list="operationList">
<!--新文本跳转标准详情-->
<template v-slot:newTextDetail="{text, record}">
<a-tooltip overlay-class-name="tooltip-style">
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
<div class="table-text can-click-table-text" v-if="text || text === 0" @click="toDetailPage('new', record)">{{
text
}}
</div>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</a-tooltip>
</template>
</j-table>
</div>
</internal-detail-page>
</template>
<script>
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
import JTable from '../../../components/jero/JTable.vue'
export default {
name: 'comparisonTermsView',
components: {
InternalDetailPage,
JTable
},
data () {
return {
loading: false,
resultData: {},
columns: [
{
title: '旧条款号',
dataIndex: 'serialNumberLeft',
width: 170,
ellipsis: true,
},
{
title: '旧条款名称',
dataIndex: 'serialNumberLeft',
width: 170,
ellipsis: true,
},
{
title: '新条款号',
dataIndex: 'serialNumberLeft',
width: 170,
ellipsis: true,
},
{
title: '新条款名称',
dataIndex: 'serialNumberLeft',
width: 170,
ellipsis: true,
},
{
title: '比对时间',
dataIndex: 'serialNumberLeft',
width: 170,
ellipsis: true,
},
// 操作
{
title: this.$t('operation'),
fixed: 'right',
width: 250,
scopedSlots: { customRender: 'action' }
}
],
dataSource: [],
operationList: [
{
text: '查看差异',
clickEvent: 'viewDifference'
},
]
}
},
methods: {
handleBack () {
},
viewDifference () {
}
}
}
</script>
<style scoped>
</style>