update 文档比对
This commit is contained in:
@@ -9,7 +9,18 @@ const getDocSplitTableHeader = (params) => getAction('', params)
|
|||||||
// 文档拆分详情-查询条件
|
// 文档拆分详情-查询条件
|
||||||
const getDocSplitSearch = (params) => getAction('', params)
|
const getDocSplitSearch = (params) => getAction('', params)
|
||||||
|
|
||||||
// 文档比对
|
// 文档对比-发布/撤回
|
||||||
|
const withdrawPublication = (params) => postAction('/compare/sarFileCompareInfo/changeState', params)
|
||||||
|
// 文档对比-发起对比-获取页面数据
|
||||||
|
const getInitComparsionPageData = (params) => getAction('/split/sarFileSplitInfo/page', params)
|
||||||
|
// 文档对比-发起对比-提交数据
|
||||||
|
const submitInitComparsion = (params) => postAction('/compare/sarFileCompareInfo/fullTextComparison', params)
|
||||||
|
// 文档对比-文档对比-一致/保存
|
||||||
|
const docComparsionConsistentAndSave = (params) => postAction('/compare/sarFileCompareItemComment/add', params)
|
||||||
|
// 文档对比-文档对比-获取对比详情
|
||||||
|
const getComparisonDetail = (params) => postAction('/compare/sarFileCompareInfo/getComparisonDetail', params)
|
||||||
|
// 文档对比-文档对比-自动匹配
|
||||||
|
const clauseComparison = (params) => getAction('/compare/sarFileCompareItem/clauseComparison', params)
|
||||||
|
|
||||||
export {
|
export {
|
||||||
// 文档拆分
|
// 文档拆分
|
||||||
@@ -17,5 +28,13 @@ export {
|
|||||||
|
|
||||||
// 文档拆分-详情
|
// 文档拆分-详情
|
||||||
getDocSplitTableHeader,
|
getDocSplitTableHeader,
|
||||||
getDocSplitSearch
|
getDocSplitSearch,
|
||||||
|
|
||||||
|
// 文档比对
|
||||||
|
withdrawPublication,
|
||||||
|
getInitComparsionPageData,
|
||||||
|
submitInitComparsion,
|
||||||
|
docComparsionConsistentAndSave,
|
||||||
|
getComparisonDetail,
|
||||||
|
clauseComparison
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -403,6 +403,12 @@ module.exports = {
|
|||||||
numberColumns: 'Number of columns'
|
numberColumns: 'Number of columns'
|
||||||
},
|
},
|
||||||
comparison: {
|
comparison: {
|
||||||
|
oldDocumentTextNumber: 'Old document text number',
|
||||||
|
oldDocumentTextName: 'Old document text name',
|
||||||
|
oldTextState: 'Old text state',
|
||||||
|
newDocumentTextNumber: 'New document text number',
|
||||||
|
newDocumentTextName: 'New document text name',
|
||||||
|
newTextState: 'New text state',
|
||||||
releaseSituation: 'Release situation',
|
releaseSituation: 'Release situation',
|
||||||
comparisonResults: 'Comparison results',
|
comparisonResults: 'Comparison results',
|
||||||
initiateComparison: 'Initiate Comparison',
|
initiateComparison: 'Initiate Comparison',
|
||||||
|
|||||||
@@ -402,7 +402,14 @@ module.exports = {
|
|||||||
numberRows: '行数',
|
numberRows: '行数',
|
||||||
numberColumns: '列数'
|
numberColumns: '列数'
|
||||||
},
|
},
|
||||||
|
// 文档比对
|
||||||
comparison: {
|
comparison: {
|
||||||
|
oldDocumentTextNumber: '旧文档文本号',
|
||||||
|
oldDocumentTextName: '旧文档文本名称',
|
||||||
|
oldTextState: '旧文本状态',
|
||||||
|
newDocumentTextNumber: '新文档文本号',
|
||||||
|
newDocumentTextName: '新文档文本名称',
|
||||||
|
newTextState: '新文本状态',
|
||||||
releaseSituation: '发布情况',
|
releaseSituation: '发布情况',
|
||||||
comparisonResults: '对比结果',
|
comparisonResults: '对比结果',
|
||||||
initiateComparison: '发起对比',
|
initiateComparison: '发起对比',
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ export const constantRouterMap = [
|
|||||||
{
|
{
|
||||||
path: '/comparisonResults',
|
path: '/comparisonResults',
|
||||||
name: 'comparisonResults',
|
name: 'comparisonResults',
|
||||||
component: () => import(/* webpackChunkName: "user" */ '@/views/documentTool/modules/ComparisonResults')
|
component: () => import(/* webpackChunkName: "user" */ '../views/documentTool/documentComparison/ComparisonResults.vue')
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// path: '/',
|
// path: '/',
|
||||||
|
|||||||
+127
-131
@@ -1,167 +1,148 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-spin :spinning="loading">
|
<internal-detail-page :loading="loading" :title="$t('docTool.comparison.comparisonResults')" :content-padding="0">
|
||||||
<div class="doc-detail-wrap">
|
<template #titleRightCustom>
|
||||||
<div class="doc-detail-header">
|
<!--查看差异项-->
|
||||||
<div class="doc-detail-title">
|
<a-button type="primary" ghost class="header-btn" icon="eye" @click="viewVarianceAssessmentClick">
|
||||||
<span style="line-height: 66px;display: inline-block;float: left" @click="goBack">
|
{{ $t('docTool.comparison.viewVarianceAssessment') }}
|
||||||
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
</a-button>
|
||||||
</span>
|
<!--查看一致项-->
|
||||||
<span> {{$t('docTool.comparison.comparisonResults')}}</span>
|
<a-button type="primary" ghost class="header-btn" icon="eye" @click="viewConsistentAssessmentClick">
|
||||||
</div>
|
{{ $t('docTool.comparison.viewConsistentAssessment') }}
|
||||||
<div class="doc-detail-right">
|
</a-button>
|
||||||
<div @click="viewVarianceAssessmentClick"
|
<!--查看全部-->
|
||||||
class="operator-text-text"
|
<a-button type="primary" ghost class="header-btn" icon="eye" @click="viewAllClick">
|
||||||
:class="{'operator-text-text-text': isVarianceOne}"
|
{{ $t('docTool.comparison.viewAll') }}
|
||||||
:title="$t('docTool.comparison.viewVarianceAssessment')">
|
</a-button>
|
||||||
<a-icon type="eye"/>
|
<!--导出对比报告-->
|
||||||
{{$t('docTool.comparison.viewVarianceAssessment')}}
|
<a-button type="primary" ghost class="header-btn" icon="export" @click="exportComparisonReportClick">
|
||||||
|
{{ $t('docTool.comparison.exportComparisonReport') }}
|
||||||
|
</a-button>
|
||||||
|
<!--评论-->
|
||||||
|
<a-button type="primary" ghost class="header-btn" icon="message" @click="commentClick">
|
||||||
|
{{ $t('docTool.comparison.comment') }}
|
||||||
|
</a-button>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<div class="detail-content">
|
||||||
|
<div class="detail-content-header">
|
||||||
|
<a-checkbox @change="onChange" :indeterminate="indeterminate" :checked="checkAll" style="margin-left: 20px;float: left"></a-checkbox>
|
||||||
|
<div class="detail-content-header-content">
|
||||||
|
<div class="detail-content-header-content-left"
|
||||||
|
:title="resultData.serialNumberLeft + resultData.fileNameLeft"
|
||||||
|
:class="{'detail-content-header-content-left-active': isDisplay}">
|
||||||
|
{{ $t('docTool.comparison.selectedStandard') }}:{{ resultData.serialNumberLeft }}
|
||||||
|
<span style="cursor: pointer"
|
||||||
|
@click="fileClick(resultData.fileNameLeft,resultData.fileIdLeft)">{{ resultData.fileNameLeft }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div @click="viewConsistentAssessmentClick" class="operator-text-text"
|
<div class="detail-content-header-content-content"
|
||||||
:class="{'operator-text-text-text': isVarianceTwo}"
|
:title="resultData.serialNumberRight + resultData.fileNameRight"
|
||||||
:title="$t('docTool.comparison.viewConsistentAssessment')">
|
:class="{'detail-content-header-content-left-active':isDisplay}">
|
||||||
<a-icon type="eye"/>
|
{{ $t('docTool.comparison.selectedStandard') }}:{{ resultData.serialNumberRight }}
|
||||||
{{$t('docTool.comparison.viewConsistentAssessment')}}
|
<span style="cursor: pointer"
|
||||||
|
@click="fileClick(resultData.fileNameRight,resultData.fileIdRight)">{{ resultData.fileNameRight }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div @click="viewAllClick" class="operator-text-text"
|
<div class="detail-content-header-content-rightOne"
|
||||||
:class="{'operator-text-text-text': isVarianceThe}"
|
:class="{'detail-content-header-content-rightOne-active':isDisplay}"
|
||||||
:title="$t('docTool.comparison.viewAll')">
|
:title="$t('docTool.comparison.comparisonDifferenceComment')">
|
||||||
<a-icon type="eye"/>
|
{{ $t('docTool.comparison.comparisonDifferenceComment') }}
|
||||||
{{$t('docTool.comparison.viewAll')}}
|
|
||||||
</div>
|
</div>
|
||||||
<div @click="exportComparisonReportClick" class="operator-text-text"
|
<div class="detail-content-header-content-right" v-if="!isDisplay">
|
||||||
:title="$t('docTool.comparison.exportComparisonReport')">
|
{{ $t('operation') }}
|
||||||
<a-icon type="export" :rotate="-90"/>
|
|
||||||
{{$t('docTool.comparison.exportComparisonReport')}}
|
|
||||||
</div>
|
|
||||||
<div @click="commentClick" class="operator-text-text"
|
|
||||||
:title="$t('docTool.comparison.comment')">
|
|
||||||
<a-icon type="message"/>
|
|
||||||
{{$t('docTool.comparison.comment')}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="">
|
<div class="scroll-content">
|
||||||
<div class="detail-content">
|
<a-checkbox-group @change="checkboxChange" v-model="checkboxList">
|
||||||
<div class="detail-content-header" style="margin-bottom: 20px">
|
<div class="detail-content-content" v-for="(item,index) in resultData.resList" :key="index">
|
||||||
<a-checkbox @change="onChange" :indeterminate="indeterminate" :checked="checkAll"
|
<a-checkbox :value="item.id" class="detail-checkbox"></a-checkbox>
|
||||||
style="margin-left: 20px;float: left"></a-checkbox>
|
<div class="detail-content-content-text"
|
||||||
<div class="detail-content-header-content">
|
:class="{'detail-content-content-text-color':checkboxList.join(',').includes(item.id)}">
|
||||||
<div class="detail-content-header-content-left"
|
|
||||||
:title="resultData.serialNumberLeft + resultData.fileNameLeft"
|
|
||||||
:class="{'detail-content-header-content-left-active': isDisplay}">
|
|
||||||
{{$t('docTool.comparison.selectedStandard')}}:{{resultData.serialNumberLeft}}
|
|
||||||
<span style="cursor: pointer"
|
|
||||||
@click="fileClick(resultData.fileNameLeft,resultData.fileIdLeft)">{{resultData.fileNameLeft}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-header-content-content"
|
|
||||||
:title="resultData.serialNumberRight + resultData.fileNameRight"
|
|
||||||
:class="{'detail-content-header-content-left-active':isDisplay}">
|
|
||||||
{{$t('docTool.comparison.selectedStandard')}}:{{resultData.serialNumberRight}}
|
|
||||||
<span style="cursor: pointer"
|
|
||||||
@click="fileClick(resultData.fileNameRight,resultData.fileIdRight)">{{resultData.fileNameRight}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-header-content-rightOne"
|
|
||||||
:class="{'detail-content-header-content-rightOne-active':isDisplay}"
|
|
||||||
:title="$t('docTool.comparison.comparisonDifferenceComment')">
|
|
||||||
{{$t('docTool.comparison.comparisonDifferenceComment')}}
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-header-content-right" v-if="!isDisplay">
|
|
||||||
{{$t('operation')}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a-checkbox-group @change="checkboxChange" v-model="checkboxList"
|
|
||||||
style="width: 100%;height: calc(100vh - 300px)">
|
|
||||||
<div class="detail-content-content" v-for="(item,index) in resultData.resList" :key="index">
|
|
||||||
<a-checkbox :value="item.id" class="detail-checkbox"></a-checkbox>
|
|
||||||
<div class="detail-content-content-text"
|
|
||||||
:class="{'detail-content-content-text-color':checkboxList.join(',').includes(item.id)}">
|
|
||||||
<div class="detail-content-content-text-left"
|
|
||||||
:class="{'detail-content-content-text-dis':isDisplay}">
|
|
||||||
<div class="detail-content-left">
|
|
||||||
<div class="detail-content-left-top">
|
|
||||||
<span>{{item.itemsNumLeft}}</span>
|
|
||||||
<span style="margin-left: 10px">{{item.itemsNameLeft}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-left-button" v-html="item.itemsTextLeft"></div>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-right">
|
|
||||||
<div class="detail-content-left-top">
|
|
||||||
<span>{{item.itemsNumRight}}</span>
|
|
||||||
<span style="margin-left: 10px">{{item.itemsNameRight}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-left-button" v-html="item.itemsTextRight"></div>
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-right-one">
|
|
||||||
<div class="detail-content-left-button">
|
|
||||||
{{item.comment}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="detail-content-bottom"-->
|
|
||||||
<!-- :class="{'detail-content-bottom-color':checkboxList.join(',').includes(item.id)}">-->
|
|
||||||
<!-- <div class="detail-content-bottom-left"-->
|
|
||||||
<!-- :class="{'detail-content-bottom-left-text':language == 'en-us' ? true:false}"-->
|
|
||||||
<!-- :title="$t('docTool.comparison.comparisonDifferenceComment')">-->
|
|
||||||
<!-- <a-icon type="message"/>-->
|
|
||||||
<!-- {{$t('docTool.comparison.comparisonDifferenceComment')}}:-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div class="detail-content-bottom-right"-->
|
|
||||||
<!-- :class="{'detail-content-bottom-right-text':language == 'en-us' ? true:false}">-->
|
|
||||||
<!-- {{item.comment}}-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
|
||||||
<div class="detail-content-content-text-right" v-if="!isDisplay">
|
|
||||||
<span class="text-button-one">
|
|
||||||
<a class="text-button" @click="comparaEdit(item)">{{$t('edit')}}</a>
|
|
||||||
<a class="text-button" @click="comparaDelete(item)">{{$t('delete')}}</a>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a-checkbox-group>
|
|
||||||
<div class="detail-content-content">
|
|
||||||
<a-checkbox @change="fullCheckboxChange" v-model="fullCheckbox" class="detail-checkbox">
|
|
||||||
</a-checkbox>
|
|
||||||
<div class="detail-content-content-text" :class="{'detail-content-content-text-color':fullCheckbox}">
|
|
||||||
<div class="detail-content-content-text-left"
|
<div class="detail-content-content-text-left"
|
||||||
:class="{'detail-content-content-text-dis':isDisplay}">
|
:class="{'detail-content-content-text-dis':isDisplay}">
|
||||||
<div class="detail-content-content-text-left-text" :title="resultData.comments">
|
<div class="detail-content-left">
|
||||||
<span>{{$t('docTool.comparison.fullTextComments')}}:</span> {{resultData.comments}}
|
<div class="detail-content-left-top">
|
||||||
|
<span>{{ item.itemsNumLeft }}</span>
|
||||||
|
<span style="margin-left: 10px">{{ item.itemsNameLeft }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="detail-content-left-button" v-html="item.itemsTextLeft"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="detail-content-right">
|
||||||
|
<div class="detail-content-left-top">
|
||||||
|
<span>{{ item.itemsNumRight }}</span>
|
||||||
|
<span style="margin-left: 10px">{{ item.itemsNameRight }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="detail-content-left-button" v-html="item.itemsTextRight"></div>
|
||||||
|
</div>
|
||||||
|
<div class="detail-content-right-one">
|
||||||
|
<div class="detail-content-left-button">
|
||||||
|
{{ item.comment }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="detail-content-bottom"-->
|
||||||
|
<!-- :class="{'detail-content-bottom-color':checkboxList.join(',').includes(item.id)}">-->
|
||||||
|
<!-- <div class="detail-content-bottom-left"-->
|
||||||
|
<!-- :class="{'detail-content-bottom-left-text':language == 'en-us' ? true:false}"-->
|
||||||
|
<!-- :title="$t('docTool.comparison.comparisonDifferenceComment')">-->
|
||||||
|
<!-- <a-icon type="message"/>-->
|
||||||
|
<!-- {{$t('docTool.comparison.comparisonDifferenceComment')}}:-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="detail-content-bottom-right"-->
|
||||||
|
<!-- :class="{'detail-content-bottom-right-text':language == 'en-us' ? true:false}">-->
|
||||||
|
<!-- {{item.comment}}-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-content-content-text-right" v-if="!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="comparaEdit(item)">{{ $t('edit') }}</a>
|
||||||
<!-- <a class="text-button">{{$t('delete')}}</a>-->
|
<a class="text-button" @click="comparaDelete(item)">{{ $t('delete') }}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-checkbox-group>
|
||||||
|
</div>
|
||||||
|
<div class="detail-content-content">
|
||||||
|
<a-checkbox @change="fullCheckboxChange" v-model="fullCheckbox" class="detail-checkbox">
|
||||||
|
</a-checkbox>
|
||||||
|
<div class="detail-content-content-text" :class="{'detail-content-content-text-color':fullCheckbox}">
|
||||||
|
<div class="detail-content-content-text-left"
|
||||||
|
:class="{'detail-content-content-text-dis':isDisplay}">
|
||||||
|
<div class="detail-content-content-text-left-text" :title="resultData.comments">
|
||||||
|
<span>{{ $t('docTool.comparison.fullTextComments') }}:</span> {{ resultData.comments }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail-content-content-text-right" v-if="!isDisplay">
|
||||||
|
<span class="text-button-one">
|
||||||
|
<a class="text-button" @click="fullTextEdit">{{ $t('edit') }}</a>
|
||||||
|
<!-- <a class="text-button">{{$t('delete')}}</a>-->
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<commentList ref="commentListRef"/>
|
<commentList ref="commentListRef" />
|
||||||
<comparison-result-edit-modal ref="comparisonResultEditModal" @ok="getData"></comparison-result-edit-modal>
|
<comparison-result-edit-modal ref="comparisonResultEditModal" @ok="getData"></comparison-result-edit-modal>
|
||||||
<div id="images">
|
<div id="images">
|
||||||
<div class="image" v-viewer="{movable: false}">
|
<div class="image" v-viewer="{movable: false}">
|
||||||
<img v-show="image" :src="imageUrl">
|
<img v-show="image" :src="imageUrl">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-spin>
|
</internal-detail-page>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, downloadFile, deleteAction, getFileAccessHttpUrl } from '@/api/manage'
|
import { getAction, downloadFile, deleteAction, getFileAccessHttpUrl } from '../../../api/manage.js'
|
||||||
import { previewPdf } from '@/utils/previewPdf'
|
import { previewPdf } from '../../../utils/previewPdf.js'
|
||||||
import { Base64 } from 'js-base64'
|
import { Base64 } from 'js-base64'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import CommentList from './CommentList'
|
import CommentList from '../modules/CommentList.vue'
|
||||||
import ComparisonResultEditModal from './ComparisonResultEditModal'
|
import ComparisonResultEditModal from '../modules/ComparisonResultEditModal.vue'
|
||||||
|
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ComparisonResults',
|
name: 'ComparisonResults',
|
||||||
components: { CommentList, ComparisonResultEditModal },
|
components: { CommentList, ComparisonResultEditModal, InternalDetailPage },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -380,6 +361,7 @@ export default {
|
|||||||
line-height: 68px;
|
line-height: 68px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.doc-detail-right {
|
.doc-detail-right {
|
||||||
width: 600px;
|
width: 600px;
|
||||||
line-height: 68px;
|
line-height: 68px;
|
||||||
@@ -409,13 +391,19 @@ export default {
|
|||||||
padding: 24px 32px 0 32px;
|
padding: 24px 32px 0 32px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
margin-top: 68px;
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-content {
|
||||||
|
height: calc(100% - 76px - 71px - 24px);
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-content-header {
|
.detail-content-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 56px;
|
height: 56px;
|
||||||
line-height: 56px;
|
line-height: 56px;
|
||||||
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-content-header-content {
|
.detail-content-header-content {
|
||||||
@@ -724,4 +712,12 @@ export default {
|
|||||||
.operator-text-text-text {
|
.operator-text-text-text {
|
||||||
color: #00B3BE !important;
|
color: #00B3BE !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-btn {
|
||||||
|
margin-left: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-btn:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -34,11 +34,14 @@
|
|||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
|
<!--发起对比-->
|
||||||
<!-- v-has="'documentComparison:Initiate'"-->
|
<!-- v-has="'documentComparison:Initiate'"-->
|
||||||
<a-button icon="block" type="primary" ghost @click="initiatingProcessClick">{{ $t('docTool.comparison.initiateComparison') }}
|
<a-button icon="block" type="primary" ghost @click="initiatingProcessClick">{{ $t('docTool.comparison.initiateComparison') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
|
<!--批量删除-->
|
||||||
<!-- v-has="'documentComparison:batchDelete'"-->
|
<!-- v-has="'documentComparison:batchDelete'"-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'split:sarFileSplitInfo:deleteBatch'">{{ $t('batchDelete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost @click="batchDelete" v-has="'split:sarFileSplitInfo:deleteBatch'">{{ $t('batchDelete') }}
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<j-table
|
<j-table
|
||||||
@@ -55,11 +58,23 @@
|
|||||||
:operation-list="operationList"
|
:operation-list="operationList"
|
||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
@operationClick="operationClick">
|
@operationClick="operationClick">
|
||||||
<template v-slot:serialNumberRight="{text,record}">
|
|
||||||
<a @click="serialNumberRightClick(record)" :title="text">{{ text }}</a>
|
<!--旧文本跳转标准详情-->
|
||||||
|
<template v-slot:oldTextDetail="{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('old', record)">{{ text }}</div>
|
||||||
|
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||||
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:serialNumberLeft="{text,record}">
|
|
||||||
<a @click="serialNumberLeftClick(record)" :title="text">{{ text }}</a>
|
<!--新文本跳转标准详情-->
|
||||||
|
<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>
|
</template>
|
||||||
</j-table>
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -67,11 +82,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { postAction, deleteAction } from '../../../api/manage.js'
|
import '../../../assets/less/common.less'
|
||||||
|
import { postAction } from '../../../api/manage.js'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import JDictSelectTag from '../../../components/dict/JDictSelectTag.vue'
|
import JDictSelectTag from '../../../components/dict/JDictSelectTag.vue'
|
||||||
import JTable from '../../../components/jero/JTable.vue'
|
import JTable from '../../../components/jero/JTable.vue'
|
||||||
import { JeroListMixin } from '../../../mixins/JeroListMixin.js'
|
import { JeroListMixin } from '../../../mixins/JeroListMixin.js'
|
||||||
|
import { StandardSource } from '../../../enums/commonEnums.js'
|
||||||
|
import { withdrawPublication } from '../../../api/documentToolApi.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentComparison',
|
name: 'DocumentComparison',
|
||||||
@@ -89,68 +107,70 @@ export default {
|
|||||||
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
||||||
userInfoQuery: {},
|
userInfoQuery: {},
|
||||||
columns: [
|
columns: [
|
||||||
|
// 旧文档文本号
|
||||||
{
|
{
|
||||||
title: this.$t('number') + ' 1',
|
title: this.$t('docTool.comparison.oldDocumentTextNumber'),
|
||||||
dataIndex: 'serialNumberLeft',
|
dataIndex: 'serialNumberLeft',
|
||||||
width: 170,
|
width: 170,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'serialNumberLeft' }
|
scopedSlots: { customRender: 'oldTextDetail' }
|
||||||
},
|
},
|
||||||
|
// 旧文档文本名称
|
||||||
{
|
{
|
||||||
title: this.$t('title') + ' 1',
|
title: this.$t('docTool.comparison.oldDocumentTextName'),
|
||||||
dataIndex: 'titleLeft',
|
dataIndex: 'titleLeft',
|
||||||
width: 170,
|
width: 170,
|
||||||
ellipsis: true,
|
scopedSlots: { customRender: 'oldTextDetail' }
|
||||||
scopedSlots: { customRender: 'serialNumberLeft' }
|
|
||||||
},
|
},
|
||||||
|
// 旧文本状态
|
||||||
{
|
{
|
||||||
title: this.$t('docTool.comparison.textStatus') + ' 1',
|
title: this.$t('docTool.comparison.oldTextState'),
|
||||||
width: 150,
|
width: 150,
|
||||||
ellipsis: true,
|
|
||||||
dataIndex: 'fileTypeLeft'
|
dataIndex: 'fileTypeLeft'
|
||||||
},
|
},
|
||||||
|
// 新文档文本号
|
||||||
{
|
{
|
||||||
title: this.$t('number') + ' 2',
|
title: this.$t('docTool.comparison.newDocumentTextNumber'),
|
||||||
dataIndex: 'serialNumberRight',
|
dataIndex: 'serialNumberRight',
|
||||||
ellipsis: true,
|
width: 170,
|
||||||
scopedSlots: { customRender: 'serialNumberRight' },
|
scopedSlots: { customRender: 'newTextDetail' }
|
||||||
width: 170
|
|
||||||
},
|
},
|
||||||
|
// 新文档文本名称
|
||||||
{
|
{
|
||||||
title: this.$t('title') + ' 2',
|
title: this.$t('docTool.comparison.newDocumentTextName'),
|
||||||
dataIndex: 'titleRight',
|
dataIndex: 'titleRight',
|
||||||
scopedSlots: { customRender: 'serialNumberRight' },
|
width: 170,
|
||||||
ellipsis: true,
|
scopedSlots: { customRender: 'newTextDetail' }
|
||||||
width: 170
|
|
||||||
},
|
},
|
||||||
|
// 新文本状态
|
||||||
{
|
{
|
||||||
title: this.$t('docTool.comparison.textStatus') + ' 2',
|
title: this.$t('docTool.comparison.newTextState'),
|
||||||
width: 150,
|
width: 150,
|
||||||
ellipsis: true,
|
|
||||||
dataIndex: 'fileTypeRight'
|
dataIndex: 'fileTypeRight'
|
||||||
},
|
},
|
||||||
|
// 发布情况
|
||||||
{
|
{
|
||||||
title: this.$t('docTool.comparison.releaseSituation'),
|
title: this.$t('docTool.comparison.releaseSituation'),
|
||||||
width: 170,
|
width: 170,
|
||||||
ellipsis: true,
|
|
||||||
dataIndex: 'releaseStateTitle'
|
dataIndex: 'releaseStateTitle'
|
||||||
},
|
},
|
||||||
|
// 创建人
|
||||||
{
|
{
|
||||||
title: this.$t('creator'),
|
title: this.$t('creator'),
|
||||||
width: 150,
|
width: 150,
|
||||||
ellipsis: true,
|
|
||||||
dataIndex: 'createBy'
|
dataIndex: 'createBy'
|
||||||
},
|
},
|
||||||
|
// 备注
|
||||||
{
|
{
|
||||||
title: this.$t('remarks'),
|
title: this.$t('remarks'),
|
||||||
ellipsis: true,
|
|
||||||
width: 270,
|
width: 270,
|
||||||
dataIndex: 'remark'
|
dataIndex: 'remark'
|
||||||
},
|
},
|
||||||
|
// 操作
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 310,
|
width: 250,
|
||||||
scopedSlots: { customRender: 'action' }
|
scopedSlots: { customRender: 'action' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -222,40 +242,37 @@ export default {
|
|||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getList () {
|
|
||||||
this.dataSource = [{ id: 1, serialNumberLeft: '11' }]
|
|
||||||
},
|
|
||||||
batchDelete () {
|
batchDelete () {
|
||||||
if (this.selectedRowKeys.length > 0) {
|
if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) {
|
||||||
this.$confirm({
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
content: this.$t('confirmBatchDeletion'),
|
return
|
||||||
onOk: () => {
|
}
|
||||||
const idList = []
|
this.$confirm({
|
||||||
const selectionRows = JSON.parse(JSON.stringify(this.selectionRows))
|
content: this.$t('confirmBatchDeletion'),
|
||||||
for (let i = 0; i < selectionRows.length; i++) {
|
onOk: () => {
|
||||||
if (selectionRows[i].createBy === this.userInfo.username &&
|
const idList = []
|
||||||
selectionRows[i].releaseState === 'draft') {
|
const selectionRows = JSON.parse(JSON.stringify(this.selectionRows))
|
||||||
idList.push(selectionRows[i].id)
|
for (let i = 0; i < selectionRows.length; i++) {
|
||||||
}
|
if (selectionRows[i].createBy === this.userInfo.username &&
|
||||||
}
|
selectionRows[i].releaseState === 'draft') {
|
||||||
if (idList.length > 0) {
|
idList.push(selectionRows[i].id)
|
||||||
deleteAction(this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
|
||||||
this.selectedRowKeys = []
|
|
||||||
this.getList()
|
|
||||||
} else {
|
|
||||||
this.$message.warning(res.message)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.$message.warning(this.$t('doNotHavePermissionDeleteData'))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
if (idList.length > 0) {
|
||||||
} else {
|
postAction(this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
if (res.success) {
|
||||||
}
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
|
this.selectedRowKeys = []
|
||||||
|
this.loadData(1)
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('doNotHavePermissionDeleteData'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// 对比结果按钮点击
|
// 对比结果按钮点击
|
||||||
comparisonResultsClick (item) {
|
comparisonResultsClick (item) {
|
||||||
@@ -264,14 +281,13 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
item.isDisplay = 1
|
item.isDisplay = 1
|
||||||
}
|
}
|
||||||
const newUrl = this.$router.resolve({
|
this.$router.push({
|
||||||
path: '/comparisonResults',
|
path: '/documentTool/ComparisonResults',
|
||||||
query: {
|
query: {
|
||||||
id: item.id,
|
id: item.id,
|
||||||
isDisplay: item.isDisplay
|
isDisplay: item.isDisplay
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
|
||||||
},
|
},
|
||||||
// 撤回按钮点击
|
// 撤回按钮点击
|
||||||
subscribe (record) {
|
subscribe (record) {
|
||||||
@@ -288,17 +304,21 @@ export default {
|
|||||||
releaseState: releaseState,
|
releaseState: releaseState,
|
||||||
id: record.id
|
id: record.id
|
||||||
}
|
}
|
||||||
postAction('/compare/sarFileCompareInfo/changeState', query).then((res) => {
|
withdrawPublication(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(res.message)
|
||||||
this.getList()
|
this.loadData(1)
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
* @param row
|
||||||
|
*/
|
||||||
edit (row) {
|
edit (row) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/documentTool/DocumentDataComparison',
|
path: '/documentTool/DocumentDataComparison',
|
||||||
@@ -307,55 +327,72 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 发起对比按钮点击
|
/**
|
||||||
|
* 发起比对
|
||||||
|
*/
|
||||||
initiatingProcessClick () {
|
initiatingProcessClick () {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/documentTool/InitiateComparison'
|
path: '/documentTool/InitiateComparison'
|
||||||
})
|
})
|
||||||
// let newUrl = this.$router.resolve({
|
|
||||||
// path: '/initiateDocumentComparison'
|
|
||||||
// })
|
|
||||||
// window.open(newUrl.href, '_blank')
|
|
||||||
},
|
},
|
||||||
deleteData (val) {
|
/**
|
||||||
this.$confirm({
|
* 跳转标准详情
|
||||||
content: this.$t('confirmDeletion'),
|
* @param type
|
||||||
onOk: () => {
|
* @param record
|
||||||
deleteAction(this.url.deleteBatch, { ids: val.id }).then((res) => {
|
*/
|
||||||
if (res.success) {
|
toDetailPage (type, record) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
let standardId, standardNumber, standardSource, path, query
|
||||||
this.getList()
|
// 判断是新旧那个标准点击的,取字段
|
||||||
} else {
|
if (type === 'old') {
|
||||||
this.$message.warning(res.message)
|
standardId = record.standardIdLeft
|
||||||
}
|
standardNumber = record.serialNumberLeft
|
||||||
})
|
standardSource = record.standardSourceLeft
|
||||||
}
|
}
|
||||||
|
if (type === 'new') {
|
||||||
|
standardId = record.standardIdRight
|
||||||
|
standardNumber = record.serialNumberRight
|
||||||
|
standardSource = record.standardSourceRight
|
||||||
|
}
|
||||||
|
// 根据来源跳转不同的详情页
|
||||||
|
switch (standardSource) {
|
||||||
|
// 国内
|
||||||
|
case StandardSource.DOMESTIC.value:
|
||||||
|
path = '/standardRegulationLibrary/DomesticStandardDetail'
|
||||||
|
query = {
|
||||||
|
id: standardId,
|
||||||
|
type: standardSource,
|
||||||
|
standardNumber: standardNumber
|
||||||
|
}
|
||||||
|
break
|
||||||
|
// 企标
|
||||||
|
case StandardSource.OVERSEAS.value:
|
||||||
|
path = ''
|
||||||
|
query = {
|
||||||
|
id: standardId,
|
||||||
|
type: standardSource,
|
||||||
|
standardNumber: standardNumber
|
||||||
|
}
|
||||||
|
break
|
||||||
|
// 海外
|
||||||
|
case StandardSource.ENTERPRISE.value:
|
||||||
|
path = '/enterpriseStandardLibrary/enterpriseStandardDetail'
|
||||||
|
query = {
|
||||||
|
id: standardId
|
||||||
|
}
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if (!path) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$openPageNewSheet({
|
||||||
|
path, query
|
||||||
})
|
})
|
||||||
},
|
|
||||||
// 编号2和标题2列的点击事件
|
|
||||||
serialNumberRightClick (row) {
|
|
||||||
const newUrl = this.$router.resolve({
|
|
||||||
path: '/documentManage/library/detail',
|
|
||||||
query: {
|
|
||||||
id: row.fileKeyRight
|
|
||||||
}
|
|
||||||
})
|
|
||||||
window.open(newUrl.href, '_blank')
|
|
||||||
},
|
|
||||||
// 编号1列和标题1列的点击事件
|
|
||||||
serialNumberLeftClick (row) {
|
|
||||||
const newUrl = this.$router.resolve({
|
|
||||||
path: '/documentManage/library/detail',
|
|
||||||
query: {
|
|
||||||
id: row.fileKeyLeft
|
|
||||||
}
|
|
||||||
})
|
|
||||||
window.open(newUrl.href, '_blank')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@import '~../../../assets/less/common.less';
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<internal-detail-page :title="$t('docTool.comparison.documentComparison')" :content-padding="0" :loading="loading">
|
<internal-detail-page :title="$t('docTool.comparison.documentComparison')"
|
||||||
|
:content-padding="0"
|
||||||
|
:loading="loading"
|
||||||
|
need-custom-back-func
|
||||||
|
@back="handleBack">
|
||||||
<template v-slot:titleRightCustom>
|
<template v-slot:titleRightCustom>
|
||||||
<!--查看比对结果-->
|
<!--查看比对结果-->
|
||||||
<a-button class="header-btn" type="primary" icon="eye" ghost @click="viewTheComparisonResultsClick">
|
<a-button class="header-btn" type="primary" icon="eye" ghost @click="viewTheComparisonResultsClick">
|
||||||
@@ -95,9 +99,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="submit-button">
|
<div class="submit-button">
|
||||||
<a-button style="margin-right: 10px" type="primary" @click="consistentAssessmentClick()">{{ $t('docTool.comparison.consistentAssessment') }}
|
<a-button style="margin-right: 10px" type="primary" @click="consistentAssessmentClick">{{ $t('docTool.comparison.consistentAssessment') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button type="primary" @click="submit()">{{ $t('preservation') }}</a-button>
|
<a-button type="primary" @click="submit">{{ $t('preservation') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<comparison-add-full-comment ref="comparisonAddFullComment"></comparison-add-full-comment>
|
<comparison-add-full-comment ref="comparisonAddFullComment"></comparison-add-full-comment>
|
||||||
@@ -105,10 +109,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { postAction, getAction } from '../../../api/manage.js'
|
|
||||||
// 添加全文评论弹框
|
// 添加全文评论弹框
|
||||||
import ComparisonAddFullComment from './modules/ComparisonAddFullComment.vue'
|
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'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentDataComparison',
|
name: 'DocumentDataComparison',
|
||||||
@@ -122,7 +126,8 @@ export default {
|
|||||||
resultData: {},
|
resultData: {},
|
||||||
isMatching: true, // 自动匹配是否开启
|
isMatching: true, // 自动匹配是否开启
|
||||||
dataLeft: {},
|
dataLeft: {},
|
||||||
dataRight: {}
|
dataRight: {},
|
||||||
|
pageFrom: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
@@ -130,11 +135,6 @@ export default {
|
|||||||
document.title = this.$t('docTool.comparison.documentComparison') + ' - ' + this.$t('edit')
|
document.title = this.$t('docTool.comparison.documentComparison') + ' - ' + this.$t('edit')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goBack () {
|
|
||||||
this.$router.push({
|
|
||||||
path: '/documentTool/documentComparison'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 文档对比的一致按钮点击
|
// 文档对比的一致按钮点击
|
||||||
consistentAssessmentClick () {
|
consistentAssessmentClick () {
|
||||||
if (!this.dataLeft.id && !this.dataRight.id) {
|
if (!this.dataLeft.id && !this.dataRight.id) {
|
||||||
@@ -148,7 +148,7 @@ export default {
|
|||||||
comment: '一致'
|
comment: '一致'
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
|
docComparsionConsistentAndSave(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
@@ -195,7 +195,7 @@ export default {
|
|||||||
comment: this.formInline.comment
|
comment: this.formInline.comment
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
|
docComparsionConsistentAndSave(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
@@ -234,21 +234,20 @@ export default {
|
|||||||
},
|
},
|
||||||
// 查看对比结果按钮点击
|
// 查看对比结果按钮点击
|
||||||
viewTheComparisonResultsClick () {
|
viewTheComparisonResultsClick () {
|
||||||
const newUrl = this.$router.resolve({
|
this.$router.push({
|
||||||
path: '/comparisonResults',
|
path: '/documentTool/ComparisonResults',
|
||||||
query: {
|
query: {
|
||||||
id: this.$route.query.id,
|
id: this.$route.query.id,
|
||||||
isDisplay: 2
|
isDisplay: 2
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
|
||||||
},
|
},
|
||||||
// 添加全文评论按钮点击
|
// 添加全文评论按钮点击
|
||||||
addFullTextCommentClick () {
|
addFullTextCommentClick () {
|
||||||
const query = {
|
const query = {
|
||||||
id: this.$route.query.id
|
id: this.$route.query.id
|
||||||
}
|
}
|
||||||
postAction('/compare/sarFileCompareInfo/getComparisonDetail', query).then((res) => {
|
getComparisonDetail(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$refs.comparisonAddFullComment.open(res.result.comments || '')
|
this.$refs.comparisonAddFullComment.open(res.result.comments || '')
|
||||||
}
|
}
|
||||||
@@ -265,7 +264,7 @@ export default {
|
|||||||
id: this.$route.query.id
|
id: this.$route.query.id
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
postAction('/compare/sarFileCompareInfo/getComparisonDetail', query).then((res) => {
|
getComparisonDetail(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.resultData = res.result || {}
|
this.resultData = res.result || {}
|
||||||
} else {
|
} else {
|
||||||
@@ -350,7 +349,7 @@ export default {
|
|||||||
rightId: this.dataRight.id
|
rightId: this.dataRight.id
|
||||||
}
|
}
|
||||||
this.loadingText = true
|
this.loadingText = true
|
||||||
getAction('/compare/sarFileCompareItem/clauseComparison', query).then((res) => {
|
clauseComparison(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.loadingText = false
|
this.loadingText = false
|
||||||
this.resultData.textLeft[this.dataLeft.numIndex].itemsText = res.result[0]
|
this.resultData.textLeft[this.dataLeft.numIndex].itemsText = res.result[0]
|
||||||
@@ -391,6 +390,11 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
handleBack () {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/documentTool/documentComparison'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="detail-content-box">
|
<div class="detail-content-box">
|
||||||
<div class="detail-content-left">
|
<div class="detail-content-left">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQueryLeft">
|
<a-form layout="inline" @keyup.enter.native="searchQueryLeft">
|
||||||
<a-row :gutter="24">
|
<a-row>
|
||||||
<a-col :md="8" :sm="8">
|
<a-col :md="8" :sm="8">
|
||||||
<a-form-item :label="$t('number')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="$t('number')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :placeholder="$t('pleaseEnter')+$t('number')"
|
<a-input :placeholder="$t('pleaseEnter')+$t('number')"
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="detail-content-right">
|
<div class="detail-content-right">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQueryRight">
|
<a-form layout="inline" @keyup.enter.native="searchQueryRight">
|
||||||
<a-row :gutter="24">
|
<a-row>
|
||||||
<a-col :md="8" :sm="8">
|
<a-col :md="8" :sm="8">
|
||||||
<a-form-item :label="$t('number')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item :label="$t('number')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input :placeholder="$t('pleaseEnter')+$t('number')"
|
<a-input :placeholder="$t('pleaseEnter')+$t('number')"
|
||||||
@@ -134,12 +134,12 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import JTable from '../../../components/jero/JTable.vue'
|
import JTable from '../../../components/jero/JTable.vue'
|
||||||
import { getAction, downloadFile, getFileAccessHttpUrl } from '../../../api/manage.js'
|
import { downloadFile, getFileAccessHttpUrl } from '../../../api/manage.js'
|
||||||
import { previewPdf } from '../../../utils/previewPdf.js'
|
import { previewPdf } from '../../../utils/previewPdf.js'
|
||||||
import { Base64 } from 'js-base64'
|
import { Base64 } from 'js-base64'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
||||||
|
import { getInitComparsionPageData, submitInitComparsion } from '../../../api/documentToolApi.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'InitiateComparison',
|
name: 'InitiateComparison',
|
||||||
@@ -151,7 +151,7 @@ export default {
|
|||||||
span: 6
|
span: 6
|
||||||
},
|
},
|
||||||
wrapperCol: {
|
wrapperCol: {
|
||||||
span: 14
|
span: 18
|
||||||
},
|
},
|
||||||
loadingLeft: false,
|
loadingLeft: false,
|
||||||
queryParamLeft: {},
|
queryParamLeft: {},
|
||||||
@@ -273,10 +273,6 @@ export default {
|
|||||||
width: 79
|
width: 79
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
url: {
|
|
||||||
list: '/split/sarFileSplitInfo/page',
|
|
||||||
add: '/compare/sarFileCompareInfo/fullTextComparison'
|
|
||||||
},
|
|
||||||
image: false,
|
image: false,
|
||||||
imageUrl: ''
|
imageUrl: ''
|
||||||
}
|
}
|
||||||
@@ -342,38 +338,36 @@ export default {
|
|||||||
this.getListRight()
|
this.getListRight()
|
||||||
},
|
},
|
||||||
submit () {
|
submit () {
|
||||||
this.$router.push({
|
if (!this.selectedRowsRight[0] || !this.selectedRowsLeft[0]) {
|
||||||
path: '/documentTool/DocumentDataComparison'
|
this.$message.warning(this.$t('pleaseSelectTheDataCompared'))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$refs.ruleForm.validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.loading = true
|
||||||
|
const query = {
|
||||||
|
leftStandard: this.selectedRowsLeft[0].id,
|
||||||
|
rightStandard: this.selectedRowsRight[0].id,
|
||||||
|
remark: this.formInline.remark
|
||||||
|
}
|
||||||
|
submitInitComparsion(query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
console.log(res)
|
||||||
|
this.loading = false
|
||||||
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
|
this.$router.push({
|
||||||
|
path: '/documentTool/DocumentDataComparison',
|
||||||
|
query: {
|
||||||
|
id: res.result
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.loading = false
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
// if (!this.selectedRowsRight[0] || !this.selectedRowsLeft[0]) {
|
|
||||||
// this.$message.warning(this.$t('pleaseSelectTheDataCompared'))
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
// this.$refs.ruleForm.validate(valid => {
|
|
||||||
// if (valid) {
|
|
||||||
// this.loading = true
|
|
||||||
// const query = {
|
|
||||||
// leftStandard: this.selectedRowsLeft[0].id,
|
|
||||||
// rightStandard: this.selectedRowsRight[0].id,
|
|
||||||
// remark: this.formInline.remark
|
|
||||||
// }
|
|
||||||
// postAction(this.url.add, query).then((res) => {
|
|
||||||
// if (res.success) {
|
|
||||||
// this.loading = false
|
|
||||||
// this.$message.success(this.$t('operationSuccessful'))
|
|
||||||
// this.$router.push({
|
|
||||||
// path: '/documentDataComparison',
|
|
||||||
// query: {
|
|
||||||
// id: res.result
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// } else {
|
|
||||||
// this.loading = false
|
|
||||||
// this.$message.warning(this.$t('operationFailed'))
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
getListLeft () {
|
getListLeft () {
|
||||||
const queryParam = JSON.parse(JSON.stringify(this.queryParamLeft))
|
const queryParam = JSON.parse(JSON.stringify(this.queryParamLeft))
|
||||||
@@ -389,7 +383,7 @@ export default {
|
|||||||
...queryParam
|
...queryParam
|
||||||
}
|
}
|
||||||
this.loadingLeft = true
|
this.loadingLeft = true
|
||||||
getAction(this.url.list, query).then((res) => {
|
getInitComparsionPageData(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
if (res.result.current > 1 && res.result.records.length === 0) {
|
if (res.result.current > 1 && res.result.records.length === 0) {
|
||||||
this.ipaginationLeft.current = 1
|
this.ipaginationLeft.current = 1
|
||||||
@@ -447,7 +441,7 @@ export default {
|
|||||||
...queryParam
|
...queryParam
|
||||||
}
|
}
|
||||||
this.loadingRight = true
|
this.loadingRight = true
|
||||||
getAction(this.url.list, query).then((res) => {
|
getInitComparsionPageData(query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
if (res.result.current > 1 && res.result.records.length === 0) {
|
if (res.result.current > 1 && res.result.records.length === 0) {
|
||||||
this.pageNoRight = 1
|
this.pageNoRight = 1
|
||||||
|
|||||||
@@ -5,25 +5,22 @@
|
|||||||
:visible="visible"
|
:visible="visible"
|
||||||
:confirm-loading="confirmLoading"
|
:confirm-loading="confirmLoading"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
@cancel="visible = false"
|
@cancel="visible = false">
|
||||||
>
|
|
||||||
<template slot="footer">
|
<template slot="footer">
|
||||||
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
||||||
{{$t('submit')}}
|
{{ $t('submit') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</template>
|
</template>
|
||||||
<a-form-model :model="formInlineText" class="formAdd" :rules="rulesText" ref="ruleFormText">
|
<a-form-model :model="formInlineText" class="formAdd" :rules="rulesText" ref="ruleFormText">
|
||||||
<div class="box-title-text-remarks">
|
<a-form-model-item prop="comment"
|
||||||
<div class="title-text-remarks" :title="$t('docTool.comparison.fullTextComments')">
|
:labelCol="labelCol" :wrapperCol="wrapperCol"
|
||||||
<span>{{$t('docTool.comparison.fullTextComments')}}</span>
|
:label="$t('docTool.comparison.fullTextComments')">
|
||||||
</div>
|
<a-textarea :placeholder="$t('pleaseEnter')+' '+$t('docTool.comparison.fullTextComments')"
|
||||||
<a-form-model-item class="item-model" style="width: calc(100% - 113px)" prop="comment">
|
v-model.trim="formInlineText.comment"
|
||||||
<a-textarea :placeholder="$t('pleaseEnter')+' '+$t('docTool.comparison.fullTextComments')"
|
:maxLength="500"
|
||||||
v-model.trim="formInlineText.comment"
|
:rows="4" />
|
||||||
:maxLength="500"
|
</a-form-model-item>
|
||||||
:rows="4"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</template>
|
</template>
|
||||||
@@ -38,12 +35,19 @@ export default {
|
|||||||
visible: false, // 全文评论弹框是否显示
|
visible: false, // 全文评论弹框是否显示
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
formInlineText: {},
|
formInlineText: {},
|
||||||
rulesText: {}
|
rulesText: {},
|
||||||
|
labelCol: {
|
||||||
|
span: 5
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
span: 18
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
open (comments) {
|
open (comments) {
|
||||||
this.formInlineText.comment = comments
|
this.formInlineText.comment = comments
|
||||||
|
this.visible = true
|
||||||
},
|
},
|
||||||
// 添加全文评论弹框的提交按钮
|
// 添加全文评论弹框的提交按钮
|
||||||
fullTextCommentsSubmit () {
|
fullTextCommentsSubmit () {
|
||||||
@@ -67,7 +71,7 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user