修改全文对比得细节问题

This commit is contained in:
范强强
2024-02-29 09:46:25 +08:00
parent 27cd6f1118
commit 94606b404a
6 changed files with 395 additions and 499 deletions
+1 -1
View File
@@ -484,7 +484,7 @@ module.exports = {
remarkInfo: 'Remarks Info', remarkInfo: 'Remarks Info',
comparisonOfTerms: 'Comparison Of Terms', comparisonOfTerms: 'Comparison Of Terms',
comparison: 'Comparison', comparison: 'Comparison',
initiateDocumentComparison: 'Initiate Document Comparison', initiateDocumentComparison: 'Full Text Comparison',
documentComparison: 'Doc Comparison', documentComparison: 'Doc Comparison',
viewTheComparisonResults: 'View Results', viewTheComparisonResults: 'View Results',
addFullTextComment: 'Full Text Comment', addFullTextComment: 'Full Text Comment',
+1 -1
View File
@@ -496,7 +496,7 @@ module.exports = {
remarkInfo: '备注信息', remarkInfo: '备注信息',
comparisonOfTerms: '条款对比', comparisonOfTerms: '条款对比',
comparison: '比对', comparison: '比对',
initiateDocumentComparison: '发起文档对比', initiateDocumentComparison: '全文对比',
documentComparison: '文档对比', documentComparison: '文档对比',
viewTheComparisonResults: '查看对比结果', viewTheComparisonResults: '查看对比结果',
addFullTextComment: '添加全文评论', addFullTextComment: '添加全文评论',
+1 -1
View File
@@ -48,7 +48,7 @@ export const constantRouterMap = [
path: '/documentTool/DocumentDataComparison', path: '/documentTool/DocumentDataComparison',
name: 'documentTool-DocumentDataComparison', name: 'documentTool-DocumentDataComparison',
meta: { meta: {
title: '新旧拆分单对比-文对比' title: '新旧拆分单对比-文对比'
}, },
component: () => import(/* webpackChunkName: "user" */ '@/views/documentTool/documentComparison/DocumentDataComparison') component: () => import(/* webpackChunkName: "user" */ '@/views/documentTool/documentComparison/DocumentDataComparison')
}, },
@@ -300,16 +300,14 @@ export default {
} }
}) })
} else { } else {
if (item.releaseState === 'draft') {
item.isDisplay = 2
} else {
item.isDisplay = 1
}
this.$router.push({ this.$router.push({
path: '/documentTool/ComparisonResults', path: '/documentTool/DocumentDataComparison',
query: { query: {
id: item.id, id: item.id,
isDisplay: item.isDisplay infoNameLeft: item.titleLeft,
infoNumberLeft: item.serialNumberLeft,
infoNameRight: item.titleRight,
infoNumberRight: item.serialNumberRight
} }
}) })
} }
@@ -1,39 +1,21 @@
<template> <template>
<internal-detail-page :title="$t('docTool.comparison.documentComparison')" <internal-detail-page :title="$t('docTool.comparison.initiateDocumentComparison')"
:content-padding="0" :content-padding="0"
:loading="loading" :loading="loading"
need-custom-back-func need-custom-back-func
@back="handleBack"> @back="handleBack">
<template v-slot:titleRightCustom>
<!--查看比对结果-->
<a-button class="header-btn"
type="primary"
icon="eye"
ghost
@click="viewTheComparisonResultsClick">
{{ $t('docTool.comparison.viewTheComparisonResults') }}
</a-button>
<!--添加全文评论-->
<a-button class="header-btn"
type="primary"
icon="message"
ghost
@click="addFullTextCommentClick">
{{ $t('docTool.comparison.addFullTextComment') }}
</a-button>
<!--关闭/打开自动匹配-->
<a-button class="header-btn"
type="primary"
:icon="isMatching?'close-circle':'check-circle'"
ghost
@click="turnOffAutomaticMatchingClick">
{{ isMatching ? $t('docTool.comparison.turnOffAutomaticMatching') : $t('docTool.comparison.turnOnAutoMatch') }}
</a-button>
</template>
<div class="can-scroll-content"> <div class="can-scroll-content">
<div class="detail-content"> <div class="detail-content">
<!--左边的文档--> <!--左边的文档-->
<div class="detail-content-left"> <div class="detail-content-left">
<div class="detail-content-left-title">
<a-tooltip placement="topLeft">
<template #title>
<span>{{ $route.query.infoNumberLeft }} {{ $route.query.infoNameLeft }}</span>
</template>
<span>{{ $route.query.infoNumberLeft }} {{ $route.query.infoNameLeft }}</span>
</a-tooltip>
</div>
<!--左边的目录--> <!--左边的目录-->
<div class="standard-catalogue part-common" :class="{'hide-catalogue': !leftCatalogueShow}"> <div class="standard-catalogue part-common" :class="{'hide-catalogue': !leftCatalogueShow}">
<div class="catalogue-show" @click="changeLeftCatalogueShow"> <div class="catalogue-show" @click="changeLeftCatalogueShow">
@@ -80,6 +62,14 @@
</div> </div>
<!--右侧文档--> <!--右侧文档-->
<div class="detail-content-right"> <div class="detail-content-right">
<div class="detail-content-right-title">
<a-tooltip placement="topLeft">
<template #title>
<span>{{ $route.query.infoNumberRight }} {{ $route.query.infoNameRight }}</span>
</template>
<span>{{ $route.query.infoNumberRight }} {{ $route.query.infoNameRight }}</span>
</a-tooltip>
</div>
<!--右侧目录--> <!--右侧目录-->
<div class="standard-catalogue part-common" :class="{'hide-catalogue': !rightCatalogueShow}"> <div class="standard-catalogue part-common" :class="{'hide-catalogue': !rightCatalogueShow}">
<div class="catalogue-show" @click="changeRightCatalogueShow"> <div class="catalogue-show" @click="changeRightCatalogueShow">
@@ -126,49 +116,19 @@
</div> </div>
</div> </div>
</div> </div>
<div class="remarks">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<div class="box-title-text-remarks">
<div class="title-text-remarks" :title="$t('docTool.comparison.comparisonOfArticles')" style="width: 84px">
<span>{{ $t('docTool.comparison.comparisonOfArticles') }}</span>
</div>
<a-form-model-item class="item-model" prop="comment">
<a-textarea :placeholder="$t('pleaseEnter')+$t('docTool.comparison.comparisonOfArticles')"
v-model="formInline.comment"
:maxLength="500"
:rows="3" />
</a-form-model-item>
</div>
</a-form-model>
</div>
</div> </div>
<div class="submit-button">
<!--一致-->
<a-button style="margin-right: 10px"
type="primary"
@click="consistentAssessmentClick">
{{ $t('docTool.comparison.consistentAssessment') }}
</a-button>
<!--保存-->
<a-button type="primary" @click="submit">{{ $t('preservation') }}</a-button>
</div>
<!--全文评论-->
<comparison-add-full-comment ref="comparisonAddFullComment" />
</internal-detail-page> </internal-detail-page>
</template> </template>
<script> <script>
// 添加全文评论弹框 // 添加全文评论弹框
import ComparisonAddFullComment from './modules/ComparisonAddFullComment.vue'
import InternalDetailPage from '../../../components/InternalDetailPage.vue' import InternalDetailPage from '../../../components/InternalDetailPage.vue'
import { docComparsionConsistentAndSave, getComparisonDetail, clauseComparison } from '../../../api/documentToolApi.js' import { getComparisonDetail, clauseComparison } from '../../../api/documentToolApi.js'
export default { export default {
name: 'DocumentDataComparison', name: 'DocumentDataComparison',
components: { ComparisonAddFullComment, InternalDetailPage }, components: { InternalDetailPage },
data () { data () {
return { return {
formInline: {}, formInline: {},
@@ -192,98 +152,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
// 文档对比的一致按钮点击
consistentAssessmentClick () {
if (!this.dataLeft.id && !this.dataRight.id) {
this.$message.warning(this.$t('docTool.comparison.pleaseSelectTheDataCompared'))
return
}
const query = {
itemsIdLeft: this.dataLeft.id,
itemsIdRight: this.dataRight.id,
infoId: this.$route.query.id,
comment: '一致'
}
this.loading = true
docComparsionConsistentAndSave(query).then((res) => {
if (res.success) {
this.$message.success(res.message)
this.formInline = {}
// 保存之后会有一个淡蓝色的边框
if (this.leftHighlightMenuId === this.dataLeft.menuId) {
this.leftHighlightMenuId = null
}
if (this.rightHighlightMenuId === this.dataRight.menuId) {
this.rightHighlightMenuId = null
}
this.resultData.textRight.forEach(val => {
if (val.id === this.dataRight.id) {
val.reviewed = '1'
}
})
this.resultData.textLeft.forEach(val => {
if (val.id === this.dataLeft.id) {
val.reviewed = '1'
}
})
this.resultData = { ...this.resultData }
this.dataLeft = {}
this.dataRight = {}
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 文档对比的保存按钮点击
submit () {
if (!this.dataLeft.id && !this.dataRight.id) {
this.$message.warning(this.$t('docTool.comparison.pleaseSelectTheDataCompared'))
return
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
const query = {
itemsIdLeft: this.dataLeft.id,
itemsIdRight: this.dataRight.id,
infoId: this.$route.query.id,
comment: this.formInline.comment
}
this.loading = true
docComparsionConsistentAndSave(query).then((res) => {
if (res.success) {
this.$message.success(res.message)
this.formInline = {}
// 保存之后会有一个淡蓝色的边框
if (this.leftHighlightMenuId === this.dataLeft.menuId) {
this.leftHighlightMenuId = null
}
if (this.rightHighlightMenuId === this.dataRight.menuId) {
this.rightHighlightMenuId = null
}
this.resultData.textRight.forEach(val => {
if (val.id === this.dataRight.id) {
val.reviewed = '1'
}
})
this.resultData.textLeft.forEach(val => {
if (val.id === this.dataLeft.id) {
val.reviewed = '1'
}
})
this.resultData = { ...this.resultData }
this.dataLeft = {}
this.dataRight = {}
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
// 查看对比结果按钮点击 // 查看对比结果按钮点击
viewTheComparisonResultsClick () { viewTheComparisonResultsClick () {
this.$router.push({ this.$router.push({
@@ -294,17 +162,6 @@ export default {
} }
}) })
}, },
// 添加全文评论按钮点击
addFullTextCommentClick () {
const query = {
id: this.$route.query.id
}
getComparisonDetail(query).then((res) => {
if (res.success) {
this.$refs.comparisonAddFullComment.open(res.result.comments || '')
}
})
},
// 关闭自动匹配、开启自动匹配 // 关闭自动匹配、开启自动匹配
turnOffAutomaticMatchingClick () { turnOffAutomaticMatchingClick () {
this.isMatching = !this.isMatching this.isMatching = !this.isMatching
@@ -415,7 +272,6 @@ export default {
}, },
// 右侧树选中 // 右侧树选中
onSelectRight (selectedKeys, exports) { onSelectRight (selectedKeys, exports) {
debugger
const node = exports.node.$vnode.data.props.dataRef const node = exports.node.$vnode.data.props.dataRef
const index = this.resultData.textRight.findIndex(tt => tt.menuId === node.menuId) const index = this.resultData.textRight.findIndex(tt => tt.menuId === node.menuId)
this.dataRight = this.resultData.textRight[index] this.dataRight = this.resultData.textRight[index]
@@ -443,7 +299,7 @@ export default {
if (index > -1) { if (index > -1) {
const scrollContent = document.getElementsByClassName('detail-content-left-scroll') const scrollContent = document.getElementsByClassName('detail-content-left-scroll')
const clauseItemDom = document.getElementsByClassName('detail-content-left-item') const clauseItemDom = document.getElementsByClassName('detail-content-left-item')
scrollContent[0].scrollTop = clauseItemDom[index].offsetTop - 150 scrollContent[0].scrollTop = clauseItemDom[index].offsetTop - 175
} }
}, },
/** /**
@@ -453,7 +309,7 @@ export default {
if (index > -1) { if (index > -1) {
const detailContent = document.getElementsByClassName('detail-content-right-scroll') const detailContent = document.getElementsByClassName('detail-content-right-scroll')
const detailRight = document.getElementsByClassName('detail-content-right-item') const detailRight = document.getElementsByClassName('detail-content-right-item')
detailContent[0].scrollTop = detailRight[index].offsetTop - 150 detailContent[0].scrollTop = detailRight[index].offsetTop - 175
} }
}, },
handleBack () { handleBack () {
@@ -472,285 +328,327 @@ export default {
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.header-btn { .header-btn {
margin-left: 12px; margin-left: 12px;
}
.header-btn:first-child {
margin-left: 0;
}
.can-scroll-content {
height: calc(100% - 52px);
overflow: auto;
}
.detail-content {
height: calc(100% - 131px);
background-color: #eff1f4;
}
.detail-content-left {
width: 50%;
float: left;
height: 100%;
border-right: 2px #EFF1F3 solid;
box-sizing: border-box;
border-bottom: 2px #EFF1F3 solid;
display: flex;
}
.detail-content-right {
width: 50%;
height: 100%;
float: left;
box-sizing: border-box;
border-bottom: 2px #EFF1F3 solid;
display: flex;
}
.detail-content-left-header {
width: 100%;
font-size: 16px;
font-family: Blue Sky Noto;
font-weight: 400;
color: #040B29;
margin-bottom: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-title-text-remarks {
line-height: 1.4;
display: flex;
/*align-items: center;*/
margin-bottom: 10px;
}
.item-model {
width: calc(100% - 232px);
}
.title-text-remarks {
width: 68px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 6px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
.remarks {
margin-top: 20px;
width: 50%;
display: inline-block;
padding: 0 32px;
box-sizing: border-box;
}
.itemModel {
width: calc(100% - 232px);
}
.submit-button {
height: 52px;
text-align: right;
padding: 10px 24px;
}
.detail-content-left-container {
height: 100%;
overflow-y: auto;
transition: all 1s;
scroll-behavior: smooth;
flex: 1;
}
.detail-content-right-container {
height: 100%;
overflow-y: auto;
transition: all 1s;
scroll-behavior: smooth;
flex: 1;
.standard-name {
margin-right: 0;
} }
}
.detail-content-left-scroll { .header-btn:first-child {
height: calc(100% - 25px - 40px); margin-left: 0;
width: calc(100% - 20px); }
display: inline-block;
margin: 0 10px 0 10px;
overflow: auto;
background-color: white;
}
.detail-content-right-scroll { .can-scroll-content {
height: calc(100% - 25px - 40px); height: 100%;
width: calc(100% - 10px); overflow: auto;
display: inline-block; }
margin-left: 10px;
overflow: auto;
background-color: white;
}
.detail-content-left-item { .detail-content {
padding: 16px 20px; height: 100%;
box-sizing: border-box; background-color: #eff1f4;
border: 1px solid #EFF1F3; }
cursor: pointer;
background-color: white;
}
.detail-content-right-item { .detail-content-left {
padding: 16px 20px; width: 50%;
box-sizing: border-box; float: left;
border: 1px solid #EFF1F3; height: 100%;
cursor: pointer; border-right: 2px #EFF1F3 solid;
background-color: white; box-sizing: border-box;
} border-bottom: 2px #EFF1F3 solid;
/*display: flex;*/
}
.detail-content-left-item:last-child { .detail-content-right {
margin-bottom: 0; width: 50%;
} height: 100%;
float: left;
box-sizing: border-box;
border-bottom: 2px #EFF1F3 solid;
/*display: flex;*/
}
.detail-content-item-text { .detail-content-left-header {
font-size: 16px;
font-weight: 400;
color: #040B29;
word-break: break-word;
/deep/ table {
width: 100%; width: 100%;
font-size: 16px;
font-family: Blue Sky Noto;
font-weight: 400;
color: #040B29;
margin-bottom: 24px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
/deep/ img { .box-title-text-remarks {
max-width: 100%; line-height: 1.4;
} display: flex;
} /*align-items: center;*/
margin-bottom: 10px;
.detail-content-item-selected {
border: 2px red solid !important;
}
.detail-content-item-saved {
border: 2px #21c9cc solid;
}
::v-deep .delClass {
color: #ff7168;
}
::v-deep .insertClass {
color: green;
}
/deep/ .ant-tree li span.ant-tree-switcher {
float: right;
}
::-webkit-scrollbar {
width: 3px;
}
.part-common {
border-radius: 8px;
background: #FFFFFF;
}
.standard-catalogue {
height: calc(100% - 20px);
width: 200px;
margin: 10px 10px 10px 0;
position: relative;
transition: width .2s linear;
/deep/ .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected {
background-color: transparent !important;
color: @primary-color;
} }
.catalogue-show { .item-model {
position: absolute; width: calc(100% - 232px);
width: 12px; }
height: 24px;
left: 100%;
top: 50%;
transform: translateY(-50%);
background-color: @primary-color;
border-radius: 0 12px 12px 0;
cursor: pointer;
color: white;
.anticon { .title-text-remarks {
left: -2px; width: 68px;
position: absolute; color: #000F16;
top: 50%; display: inline-block;
transform: translateY(-50%); font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 6px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
.remarks {
margin-top: 20px;
width: 50%;
display: inline-block;
padding: 0 32px;
box-sizing: border-box;
}
.itemModel {
width: calc(100% - 232px);
}
.submit-button {
height: 52px;
text-align: right;
padding: 10px 24px;
}
.detail-content-left-container {
height: calc(100% - 65px);
width: calc(100% - 201px);
display: inline-block;
overflow-y: auto;
transition: all 1s;
border-radius: 4px;
scroll-behavior: smooth;
flex: 1;
}
.detail-content-right-container {
height: calc(100% - 65px);
width: calc(100% - 201px);
overflow-y: auto;
display: inline-block;
transition: all 1s;
scroll-behavior: smooth;
flex: 1;
.standard-name {
margin-right: 0;
} }
} }
}
.hide-catalogue { .detail-content-left-scroll {
width: 0; height: calc(100% - 25px - 40px);
min-width: 0; width: calc(100% - 20px);
} display: inline-block;
margin: 0 10px 0 10px;
overflow: auto;
background-color: white;
border-radius: 7px;
}
.part-title { .detail-content-right-scroll {
height: 40px; height: calc(100% - 25px - 40px);
background: rgba(213, 44, 38, 0.12); width: calc(100% - 10px);
border-radius: 8px 8px 0 0; display: inline-block;
line-height: 40px; margin-left: 10px;
padding: 0 24px; overflow: auto;
font-size: 16px; border-radius: 7px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif; background-color: white;
font-weight: 600; }
color: #1D2129;
white-space: nowrap;
overflow: hidden;
}
.has-title-part-content { .detail-content-left-item {
height: calc(100% - 40px); padding: 16px 20px;
overflow: auto; box-sizing: border-box;
padding: 0 20px; border: 1px solid #EFF1F3;
} cursor: pointer;
background-color: white;
}
.standard-name { .detail-content-right-item {
margin: 10px 10px 5px 10px; padding: 16px 20px;
height: 40px; box-sizing: border-box;
background: #FFFFFF; border: 1px solid #EFF1F3;
border-radius: 8px; cursor: pointer;
display: flex; background-color: white;
align-items: center; }
justify-content: space-between;
padding: 0 24px;
}
.standard-name > span { .detail-content-left-item:last-child {
font-size: 16px; margin-bottom: 0;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif; }
font-weight: 600;
color: #1D2129; .detail-content-item-text {
flex: 1; font-size: 16px;
width: 0; font-weight: 400;
white-space: nowrap; color: #040B29;
overflow: hidden; word-break: break-word;
text-overflow: ellipsis;
cursor: pointer; /deep/ table {
} width: 100%;
}
/deep/ img {
max-width: 100%;
}
}
.detail-content-item-selected {
border: 2px red solid !important;
}
.detail-content-item-saved {
border: 2px #21c9cc solid;
}
::v-deep .delClass {
color: #ff7168;
}
::v-deep .insertClass {
color: green;
}
/deep/ .ant-tree li span.ant-tree-switcher {
float: right;
}
::-webkit-scrollbar {
width: 3px;
}
.part-common {
border-radius: 8px;
background: #FFFFFF;
}
.standard-catalogue {
height: calc(100% - 83px);
width: 200px;
overflow: auto;
display: inline-block;
margin: 10px 0 10px 0;
position: relative;
transition: width .2s linear;
/deep/ .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected {
background-color: transparent !important;
color: @primary-color;
}
.catalogue-show {
position: absolute;
width: 12px;
height: 24px;
left: 100%;
top: 50%;
transform: translateY(-50%);
background-color: @primary-color;
border-radius: 0 12px 12px 0;
cursor: pointer;
color: white;
.anticon {
left: -2px;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
}
}
.hide-catalogue {
width: 0;
min-width: 0;
}
.part-title {
height: 40px;
background: rgba(213, 44, 38, 0.12);
border-radius: 8px 8px 0 0;
line-height: 40px;
padding: 0 24px;
font-size: 16px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif;
font-weight: 600;
color: #1D2129;
white-space: nowrap;
overflow: hidden;
}
.has-title-part-content {
height: calc(100% - 40px);
overflow: auto;
padding: 0 20px;
}
.standard-name {
margin: 10px 10px 5px 10px;
height: 40px;
background: #FFFFFF;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24px;
}
.standard-name > span {
font-size: 16px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif;
font-weight: 500;
color: #1D2129;
flex: 1;
width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
cursor: pointer;
}
.detail-content-left-title {
height: 50px;
width: calc(100% - 12px);
background: #fff;
margin-top: 8px;
border-radius: 4px;
line-height: 50px;
padding: 0 10px;
box-sizing: border-box;
font-size: 14px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif;
font-weight: 600;
color: #1D2129;
}
.detail-content-right-title{
height: 50px;
width: calc(100% - 2px);
background: #fff;
margin-top: 8px;
border-radius: 4px;
line-height: 50px;
padding: 0 10px;
box-sizing: border-box;
font-size: 14px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif;
font-weight: 600;
color: #1D2129;
}
.detail-content-button{
text-align: right;
padding-right: 16px;
}
</style> </style>
@@ -33,7 +33,7 @@
:can-drag="true" :can-drag="true"
:loading="loadingLeft" :loading="loadingLeft"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:340}" :scroll="{x: '100%',y:'calc(100vh - 400px)'}"
rowKey="id" rowKey="id"
:data-source="dataSourceLeft" :data-source="dataSourceLeft"
:row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft, columnTitle:' ', type: 'radio'}" :row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft, columnTitle:' ', type: 'radio'}"
@@ -88,7 +88,7 @@
:can-drag="true" :can-drag="true"
:loading="loadingRight" :loading="loadingRight"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:340}" :scroll="{x: '100%',y:'calc(100vh - 400px)'}"
rowKey="id" rowKey="id"
:data-source="dataSourceRight" :data-source="dataSourceRight"
:row-selection="{ selectedRowKeys: selectedRowKeysRight, onChange: onSelectChangeRight, columnTitle:' ', type: 'radio'}" :row-selection="{ selectedRowKeys: selectedRowKeysRight, onChange: onSelectChangeRight, columnTitle:' ', type: 'radio'}"
@@ -112,21 +112,21 @@
</div> </div>
</div> </div>
<div class="remarks"> <!-- <div class="remarks">-->
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <!-- <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">-->
<div class="box-title-text-remarks"> <!-- <div class="box-title-text-remarks">-->
<div class="title-text-remarks" :title="$t('docTool.comparison.remarkInfo')"> <!-- <div class="title-text-remarks" :title="$t('docTool.comparison.remarkInfo')">-->
<span>{{ $t('docTool.comparison.remarkInfo') }}</span> <!-- <span>{{ $t('docTool.comparison.remarkInfo') }}</span>-->
</div> <!-- </div>-->
<a-form-model-item class="item-model" prop="remark"> <!-- <a-form-model-item class="item-model" prop="remark">-->
<a-textarea :placeholder="$t('pleaseEnter')+$t('docTool.comparison.remarkInfo')" <!-- <a-textarea :placeholder="$t('pleaseEnter')+$t('docTool.comparison.remarkInfo')"-->
:maxLength="500" <!-- :maxLength="500"-->
v-model="formInline.remark" <!-- v-model="formInline.remark"-->
:rows="4" /> <!-- :rows="4" />-->
</a-form-model-item> <!-- </a-form-model-item>-->
</div> <!-- </div>-->
</a-form-model> <!-- </a-form-model>-->
</div> <!-- </div>-->
</div> </div>
<div class="box-button"> <div class="box-button">
@@ -346,55 +346,55 @@ export default {
this.$message.warning(this.$t('docTool.comparison.pleaseSelectTheDataCompared')) this.$message.warning(this.$t('docTool.comparison.pleaseSelectTheDataCompared'))
return return
} }
this.$refs.ruleForm.validate(valid => { this.loading = true
if (valid) { const query = {
this.loading = true leftStandard: this.selectedRowsLeft[0].id,
const query = { rightStandard: this.selectedRowsRight[0].id,
leftStandard: this.selectedRowsLeft[0].id, remark: this.formInline.remark
rightStandard: this.selectedRowsRight[0].id, }
remark: this.formInline.remark if (type === 'comparisonOfTerms') {
} submitItemComparison(query).then((res) => {
if (type === 'comparisonOfTerms') { if (res.success) {
submitItemComparison(query).then((res) => { this.loading = false
if (res.success) { this.$message.success(this.$t('operationSuccessful'))
this.loading = false this.$router.push({
this.$message.success(this.$t('operationSuccessful')) path: '/documentTool/comparisonOfTerms',
this.$router.push({ query: {
path: '/documentTool/comparisonOfTerms', id: res.result,
query: { infoIdLeft: this.selectedRowsLeft[0].id,
id: res.result, infoNameLeft: this.selectedRowsLeft[0].title,
infoIdLeft: this.selectedRowsLeft[0].id, infoNumberLeft: this.selectedRowsLeft[0].serialNumber,
infoNameLeft: this.selectedRowsLeft[0].title, infoIdRight: this.selectedRowsRight[0].id,
infoNumberLeft: this.selectedRowsLeft[0].serialNumber, infoNameRight: this.selectedRowsRight[0].title,
infoIdRight: this.selectedRowsRight[0].id, infoNumberRight: this.selectedRowsRight[0].serialNumber
infoNameRight: this.selectedRowsRight[0].title,
infoNumberRight: this.selectedRowsRight[0].serialNumber,
}
})
} else {
this.loading = false
this.$message.warning(res.message)
} }
}) })
} else { } else {
submitInitComparsion(query).then((res) => { this.loading = false
if (res.success) { this.$message.warning(res.message)
this.loading = false }
this.$message.success(this.$t('operationSuccessful')) })
this.$router.push({ } else {
path: '/documentTool/DocumentDataComparison', submitInitComparsion(query).then((res) => {
query: { if (res.success) {
id: res.result this.loading = false
} this.$message.success(this.$t('operationSuccessful'))
}) this.$router.push({
} else { path: '/documentTool/DocumentDataComparison',
this.loading = false query: {
this.$message.warning(res.message) id: res.result,
infoNameLeft: this.selectedRowsLeft[0].title,
infoNumberLeft: this.selectedRowsLeft[0].serialNumber,
infoNameRight: this.selectedRowsRight[0].title,
infoNumberRight: this.selectedRowsRight[0].serialNumber
} }
}) })
} else {
this.loading = false
this.$message.warning(res.message)
} }
} })
}) }
}, },
getListLeft () { getListLeft () {
const queryParam = JSON.parse(JSON.stringify(this.queryParamLeft)) const queryParam = JSON.parse(JSON.stringify(this.queryParamLeft))
@@ -498,8 +498,8 @@ export default {
.detail-content-box { .detail-content-box {
display: flex; display: flex;
height: calc(100% - 152px); height: calc(100% - 12px);
min-height: calc(340px + 46px + 40px + 72px + 48px); /*min-height: calc(340px + 46px + 40px + 72px + 48px);*/
} }
.detail-content-left { .detail-content-left {