对接文档对比

This commit is contained in:
qq787203167
2022-08-05 14:33:46 +08:00
parent 63ef236d3c
commit ff0068715e
3 changed files with 106 additions and 28 deletions
@@ -20,7 +20,7 @@
</div> </div>
<div class="comment-box" v-if="dataList && dataList.length > 0"> <div class="comment-box" v-if="dataList && dataList.length > 0">
<div class="comment-box-top-box" v-for="(item,index) in dataList" :key="index"> <div class="comment-box-top-box" v-for="(item,index) in dataList" :key="index">
<!-- <div class="title-text">{{$t('record')+(index + 1)}}</div>--> <!-- <div class="title-text">{{$t('record')+(index + 1)}}</div>-->
<div class="box-content"> <div class="box-content">
<div class="img-box"> <div class="img-box">
<img src="../../../../assets/daiban.png" class="img" alt=""> <img src="../../../../assets/daiban.png" class="img" alt="">
@@ -112,8 +112,8 @@
confirmLoading: false, confirmLoading: false,
visibleComment: false, visibleComment: false,
url: { url: {
list: '/project/projectCommentEO/list', list: '/compare/sarFileCompareResComment/list',
add: '/project/projectCommentEO/add', add: '/sarFileCompareResComment/add',
edit: '/project/projectReplyEO/add' edit: '/project/projectReplyEO/add'
}, },
rules: { rules: {
@@ -387,7 +387,7 @@
} }
</style> </style>
<style> <style>
.box-input-search .ant-input-suffix .ant-input-search-icon{ .box-input-search .ant-input-suffix .ant-input-search-icon {
display: none; display: none;
} }
</style> </style>
@@ -28,14 +28,14 @@
style="margin-left: 20px;float: left"></a-checkbox> style="margin-left: 20px;float: left"></a-checkbox>
<div class="detail-content-header-content"> <div class="detail-content-header-content">
<div class="detail-content-header-content-left" <div class="detail-content-header-content-left"
:class="{'detail-content-header-content-left-active':$route.query.isDisplay}"> :class="{'detail-content-header-content-left-active':isDisplay}">
所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word 所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word
</div> </div>
<div class="detail-content-header-content-content" <div class="detail-content-header-content-content"
:class="{'detail-content-header-content-left-active':$route.query.isDisplay}"> :class="{'detail-content-header-content-left-active':isDisplay}">
所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word 所选标准:GB 23456-2020 机动车标准 FMVSS 114 中文.word
</div> </div>
<div class="detail-content-header-content-right" v-if="!$route.query.isDisplay"> <div class="detail-content-header-content-right" v-if="!isDisplay">
操作 操作
</div> </div>
</div> </div>
@@ -47,7 +47,7 @@
</a-checkbox> </a-checkbox>
<div class="detail-content-content-text"> <div class="detail-content-content-text">
<div class="detail-content-content-text-left" <div class="detail-content-content-text-left"
:class="{'detail-content-content-text-dis':$route.query.isDisplay}"> :class="{'detail-content-content-text-dis':isDisplay}">
<div class="detail-content-left"> <div class="detail-content-left">
<div class="detail-content-left-top"> <div class="detail-content-left-top">
<span>第10条</span> <span>第10条</span>
@@ -77,7 +77,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="detail-content-content-text-right" v-if="!$route.query.isDisplay"> <div class="detail-content-content-text-right" v-if="!isDisplay">
<span class="text-button-one"> <span class="text-button-one">
<a class="text-button" @click="comparaEdit">{{$t('edit')}}</a> <a class="text-button" @click="comparaEdit">{{$t('edit')}}</a>
<a class="text-button" @click="comparaDelete">{{$t('delete')}}</a> <a class="text-button" @click="comparaDelete">{{$t('delete')}}</a>
@@ -91,7 +91,7 @@
</a-checkbox> </a-checkbox>
<div class="detail-content-content-text"> <div class="detail-content-content-text">
<div class="detail-content-content-text-left" <div class="detail-content-content-text-left"
:class="{'detail-content-content-text-dis':this.$route.query.isDisplay}"> :class="{'detail-content-content-text-dis':isDisplay}">
<div class="detail-content-content-text-left-text"> <div class="detail-content-content-text-left-text">
{{$t('fullTextComments')}}: 文字占位符评论文字内容文字占位符评论文 {{$t('fullTextComments')}}: 文字占位符评论文字内容文字占位符评论文
字内容文字占位符评论文字内容文字 字内容文字占位符评论文字内容文字
@@ -110,7 +110,7 @@
占位符评论文字内容文字占位符评论文字内容文字占 占位符评论文字内容文字占位符评论文字内容文字占
</div> </div>
</div> </div>
<div class="detail-content-content-text-right" v-if="!this.$route.query.isDisplay"> <div class="detail-content-content-text-right" v-if="!isDisplay">
<span class="text-button-one"> <span class="text-button-one">
<a class="text-button" @click="fullTextEdit">{{$t('edit')}}</a> <a class="text-button" @click="fullTextEdit">{{$t('edit')}}</a>
<!-- <a class="text-button">{{$t('delete')}}</a>--> <!-- <a class="text-button">{{$t('delete')}}</a>-->
@@ -184,9 +184,18 @@
rulesText: {}, rulesText: {},
title: '', title: '',
indeterminate: false, indeterminate: false,
checkAll: false checkAll: false,
isDisplay: false
} }
}, },
mounted() {
if (this.$route.query.isDisplay == 2) {
this.isDisplay = false
} else {
this.isDisplay = true
}
this.getData()
},
methods: { methods: {
Fallback() { Fallback() {
this.$router.push({ this.$router.push({
@@ -198,6 +207,16 @@
}, },
exportComparisonReportClick() { exportComparisonReportClick() {
},
getData() {
let query = {
id: this.$route.query.id
}
getAction('/compare/sarFileCompareItemComment/list', query).then((res) => {
if (res.success) {
}
})
}, },
checkboxChange(checkedList) { checkboxChange(checkedList) {
this.indeterminate = !!checkedList.length && checkedList.length < this.checkboxList.length this.indeterminate = !!checkedList.length && checkedList.length < this.checkboxList.length
@@ -76,7 +76,7 @@
<div class="detail-content-content-right-right"> <div class="detail-content-content-right-right">
<div class="detail-content-content-right-data-right" @click="detailRight(index,item)" <div class="detail-content-content-right-data-right" @click="detailRight(index,item)"
v-for="(item,index) in resultData.textRight" v-for="(item,index) in resultData.textRight"
:class="{'detail-content-content-right-data-blue-right':true}"> :class="{'detail-content-content-right-data-blue-right':false}">
<div class="detail-content-content-right-data-text" style="margin-bottom: 10px;color: #040B29"> <div class="detail-content-content-right-data-text" style="margin-bottom: 10px;color: #040B29">
{{item.itemsNum + ' ' + item.itemsName}} {{item.itemsNum + ' ' + item.itemsName}}
</div> </div>
@@ -93,9 +93,9 @@
<div class="title-text-Remarks" :title="$t('comparativeComments')"> <div class="title-text-Remarks" :title="$t('comparativeComments')">
<span>{{$t('comparativeComments')}}</span> <span>{{$t('comparativeComments')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="dreUserIdName"> <a-form-model-item class="itemModel" prop="comment">
<a-textarea :placeholder="$t('pleaseEnter')+$t('comparativeComments')" <a-textarea :placeholder="$t('pleaseEnter')+$t('comparativeComments')"
v-model="formInline.RemarkInfo" v-model="formInline.comment"
:rows="4"/> :rows="4"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -119,7 +119,7 @@
<a-button type="primary" @click="fullTextCommentsEdit"> <a-button type="primary" @click="fullTextCommentsEdit">
{{$t('edit')}} {{$t('edit')}}
</a-button> </a-button>
<a-button type="primary" @click="fullTextCommentsSubmit"> <a-button type="primary" :confirm-loading="confirmLoading" @click="fullTextCommentsSubmit">
{{$t('submit')}} {{$t('submit')}}
</a-button> </a-button>
</template> </template>
@@ -128,16 +128,16 @@
<div class="title-text-Remarks" :title="$t('fullTextComments')"> <div class="title-text-Remarks" :title="$t('fullTextComments')">
<span>{{$t('fullTextComments')}}</span> <span>{{$t('fullTextComments')}}</span>
</div> </div>
<a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="fullTextComments"> <a-form-model-item class="itemModel" style="width: calc(100% - 113px)" prop="comment">
<a-textarea :placeholder="$t('pleaseEnter')+$t('fullTextComments')" <a-textarea :placeholder="$t('pleaseEnter')+$t('fullTextComments')"
v-model="formInlineText.fullTextComments" v-model="formInlineText.comment"
:disabled="fullTextDisabled" :disabled="fullTextDisabled"
:rows="4"/> :rows="4"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-form-model> </a-form-model>
</a-modal> </a-modal>
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading> <JLoading :loading="loading">{{dataLoadingText}}</JLoading>
</div> </div>
</template> </template>
@@ -150,8 +150,18 @@
return { return {
formInline: {}, formInline: {},
formInlineText: {}, formInlineText: {},
dataLoadingText: '',
rules: { rules: {
fullTextComments: [ comment: [
{
max: 300,
message: this.$t('comparativeComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur'
}
]
},
rulesText: {
comment: [
{ {
max: 300, max: 300,
message: this.$t('fullTextComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'), message: this.$t('fullTextComments') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
@@ -159,7 +169,6 @@
} }
] ]
}, },
rulesText: {},
loading: false, loading: false,
visible: false, visible: false,
confirmLoading: false, confirmLoading: false,
@@ -186,13 +195,36 @@
} }
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
let query = {
itemsIdLeft: this.dataLeft.id,
itemsIdRight: this.dataRight.id,
infoId: this.$route.query.id,
comment: this.formInline.comment
}
this.dataLoadingText = this.$t('pleaseWaitWhileRunning')
this.loading = true
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.loading = false
// this.$router.push({
// path: '/documentComparison'
// })
} else {
this.$message.warning(this.$t('operationFailed'))
this.loading = false
}
})
} }
}) })
}, },
viewTheComparisonResultsClick() { viewTheComparisonResultsClick() {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/comparisonResults' path: '/comparisonResults',
query: {
id: this.$route.query.id,
isDisplay: 2
}
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
}, },
@@ -208,12 +240,31 @@
this.fullTextDisabled = false this.fullTextDisabled = false
}, },
fullTextCommentsSubmit() { fullTextCommentsSubmit() {
this.$refs.ruleFormText.validate(valid => {
if (valid) {
this.confirmLoading = true
let query = {
infoId: this.$route.query.id,
comment: this.formInlineText.comment
}
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.confirmLoading = false
this.fullTextDisabled = false
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
}
})
}, },
getData() { getData() {
let query = { let query = {
id: this.$route.query.id id: this.$route.query.id
} }
this.dataLoadingText = this.$t('dataLoading')
this.loading = true this.loading = true
postAction('/compare/sarFileCompareInfo/getComparisonDetail', query).then((res) => { postAction('/compare/sarFileCompareInfo/getComparisonDetail', query).then((res) => {
if (res.success) { if (res.success) {
@@ -231,6 +282,10 @@
if (detailLeftColor && detailLeftColor.length > 0) { if (detailLeftColor && detailLeftColor.length > 0) {
detailLeftColor[0].classList.remove('detail-content-content-right-data-color') detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
} }
if (item.id == this.dataLeft.id && !this.isMatching) {
this.dataLeft = {}
return
}
let detailLeft = document.getElementsByClassName('detail-content-content-right-data') let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
if (detailLeft && detailLeft.length > 0) { if (detailLeft && detailLeft.length > 0) {
detailLeft[num].classList.add('detail-content-content-right-data-color') detailLeft[num].classList.add('detail-content-content-right-data-color')
@@ -243,10 +298,10 @@
} }
let detailContent = document.getElementsByClassName('detail-content-content-right-right-top') let detailContent = document.getElementsByClassName('detail-content-content-right-right-top')
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right') let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
this.dataRight = this.resultData.textRight[item.itemsDisplayNum - 1] this.dataRight = this.resultData.textRight[item.targetStand - 1]
if (detailRight && detailRight.length > 0) { if (detailRight && detailRight.length > 0) {
detailRight[item.itemsDisplayNum - 1].classList.add('detail-content-content-right-data-color-right') detailRight[item.itemsDisplayNum - 1].classList.add('detail-content-content-right-data-color-right')
detailContent[0].scrollTop = detailRight[item.itemsDisplayNum - 1].offsetTop - 150 detailContent[0].scrollTop = detailRight[item.targetStand - 1].offsetTop - 150
} }
} }
}, },
@@ -255,6 +310,10 @@
if (detailRightColor && detailRightColor.length > 0) { if (detailRightColor && detailRightColor.length > 0) {
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right') detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
} }
if (item.id == this.dataRight.id && !this.isMatching) {
this.dataRight = {}
return
}
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right') let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
if (detailRight && detailRight.length > 0) { if (detailRight && detailRight.length > 0) {
detailRight[num].classList.add('detail-content-content-right-data-color-right') detailRight[num].classList.add('detail-content-content-right-data-color-right')
@@ -265,12 +324,12 @@
if (detailLeftColor && detailLeftColor.length > 0) { if (detailLeftColor && detailLeftColor.length > 0) {
detailLeftColor[0].classList.remove('detail-content-content-right-data-color') detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
} }
this.dataLeft = this.resultData.textLeft[item.itemsDisplayNum - 1] this.dataLeft = this.resultData.textLeft[item.targetStand - 1]
let detailContent = document.getElementsByClassName('detail-content-content-right-top') let detailContent = document.getElementsByClassName('detail-content-content-right-top')
let detailLeft = document.getElementsByClassName('detail-content-content-right-data') let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
if (detailLeft && detailLeft.length > 0) { if (detailLeft && detailLeft.length > 0) {
detailLeft[item.itemsDisplayNum - 1].classList.add('detail-content-content-right-data-color') detailLeft[item.itemsDisplayNum - 1].classList.add('detail-content-content-right-data-color')
detailContent[0].scrollTop = detailLeft[item.itemsDisplayNum - 1].offsetTop - 150 detailContent[0].scrollTop = detailLeft[item.targetStand - 1].offsetTop - 150
} }
} }
}, },