[update] 法规符合性排查流程的条款内容显示修改

This commit is contained in:
lideqin
2024-07-22 19:04:37 +08:00
parent 7dd37330f8
commit 566f6331c9
8 changed files with 148 additions and 19 deletions
@@ -15,6 +15,14 @@
:loading="loading"
@change="handleTableChange">
<!--条文内容-->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<template slot="result" slot-scope="{text, record}">
<j-dict-select-tag
style="width: 100%"
@@ -27,15 +35,18 @@
</j-expand-table>
</div>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
<script>
import JExpandTable from '@/components/JExpandTable'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'DesignEngineerEvaluation',
components: { JExpandTable },
components: { JExpandTable, SplitClauseDetail },
props: {
disabled: {
type: Boolean,
@@ -78,7 +89,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -299,6 +310,10 @@ export default {
},
handleTableChange (pagination) {
this.ipagination = pagination
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -198,6 +198,14 @@
</a-tooltip>
</template>
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 操作栏 -->
<div slot="action" slot-scope="{record}" class="action-span-cell">
<a @click="handleDelete(record.uid)" class="table-ope-btn" :disabled="disabled">{{ $t('delete') }}</a>
@@ -216,6 +224,8 @@
disabledSourceSearch/>
<!-- 手动新增弹框 -->
<manual-add-modal ref="manualAddRef" @ok="manualAddOk"/>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
@@ -227,7 +237,8 @@ import ManualAddModal from './ManualAddModal'
import { StandardSource, DecompositionSource } from '@/enums/commonEnums'
import {
regulatoryComplianceCheckGenerate,
interpretGetFileByStandardId } from '@/api/workCenter'
interpretGetFileByStandardId
} from '@/api/workCenter'
import { getFormDictTreeList, queryDepartTreeList } from '../../../../api/api'
import MarketRegulationsListSelection from '../../../../components/selection/MarketRegulationsListSelection'
import Vue from 'vue'
@@ -235,6 +246,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
import { previewPdf } from '@/utils/previewPdf'
import { getFileAccessHttpUrl, downloadFile } from '@/api/manage'
import { kkFilePreview } from '@/utils/kkFilePreview'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
const FILE_TYPE_IMGS = ['jpg', 'jpeg', 'png', 'raw']
const FILE_TYPE_PDF = 'pdf'
@@ -251,7 +263,8 @@ export default {
MarketRegulationsListSelection,
JTable,
ManualAddModal,
StandardSelectionModal
StandardSelectionModal,
SplitClauseDetail
},
props: {
disabled: {
@@ -406,7 +419,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -532,6 +545,10 @@ export default {
splitFileSourceChange () {
this.$forceUpdate()
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
},
getCountryOption () {
getFormDictTreeList({ dictId: '1801130851452059649' }).then(res => {
if (res.success) {
@@ -13,6 +13,14 @@
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
@@ -22,18 +30,22 @@
</j-table>
<!-- 文件列表查看 -->
<upload-file ref="uploadFile" disabled></upload-file>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
<script>
import JTable from '@/components/jero/JTable'
import UploadFile from '@/components/UploadFile'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'FinishAuditBaseInfo',
components: {
JTable,
UploadFile
UploadFile,
SplitClauseDetail
},
data () {
return {
@@ -73,7 +85,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -200,6 +212,10 @@ export default {
handleTableChange (pagination, filters, sorter) {
// 分页、排序、筛选变化时触发
this.ipagination = pagination
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -38,18 +38,29 @@
:pagination="ipagination"
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
</j-table>
</div>
</div>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
<script>
import JTable from '@/components/jero/JTable'
import UserSelection from '@/components/selection/UserSelection'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'InterfacePersonDeliveryBaseInfo',
components: { JTable, UserSelection },
components: { JTable, UserSelection, SplitClauseDetail },
props: {
disabled: {
type: Boolean,
@@ -113,7 +124,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -170,6 +181,10 @@ export default {
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -20,6 +20,14 @@
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
@@ -95,6 +103,8 @@
<main-finder-collect-edit-modal ref="editRef" @ok="editOk"/>
<!-- 文件列表查看 -->
<upload-file ref="uploadFile" disabled></upload-file>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
@@ -104,10 +114,11 @@ import UserSelection from '@/components/selection/UserSelection'
import { downFile } from '../../../../api/manage'
import MainFinderCollectEditModal from './MainFinderCollectEditModal'
import UploadFile from '@/components/UploadFile'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'MainFinderCollectBaseInfo',
components: { JTable, UserSelection, MainFinderCollectEditModal, UploadFile },
components: { JTable, UserSelection, MainFinderCollectEditModal, UploadFile, SplitClauseDetail },
props: {
disabled: {
type: Boolean,
@@ -165,7 +176,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -386,6 +397,10 @@ export default {
const index = this.dataSource.findIndex(item => item.id === result.id)
this.dataSource[index] = Object.assign({}, result)
this.$forceUpdate()
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -49,6 +49,13 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
</j-table>
</div>
</template>
@@ -81,6 +88,14 @@
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<template slot="result" slot-scope="{text, record}">
<j-dict-select-tag
style="width: 100%"
@@ -157,6 +172,8 @@
<!-- 选用户弹框 -->
<user-select-modal ref="userSelectModal" type="checkbox" @change="userSelectModalChange" @nameChange="userSelectNameChange"/>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
@@ -170,13 +187,14 @@ import Vue from 'vue'
import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types'
import store from '@/store'
import { downFile } from '../../../../api/manage'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
// 导入的加载提示
let importModalLoading
export default {
name: 'MainFinderDistributesBaseInfo',
components: { JExpandTable, JTable, UserSelection, UserSelectModal },
components: { JExpandTable, JTable, UserSelection, UserSelectModal, SplitClauseDetail },
props: {
disabled: {
type: Boolean,
@@ -281,7 +299,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -335,7 +353,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -824,6 +842,10 @@ export default {
},
userSelectNameChangeForm (value, fieldName) {
this.personFormInline[fieldName + '_dictText'] = value
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -13,6 +13,14 @@
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
@@ -22,19 +30,22 @@
</j-table>
<!-- 文件列表查看 -->
<upload-file ref="uploadFile" disabled></upload-file>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
<script>
import JTable from '@/components/jero/JTable'
import { downFile } from '../../../../api/manage'
import UploadFile from '@/components/UploadFile'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'MainFinderSingleAuditBaseInfo',
components: {
JTable,
UploadFile
UploadFile,
SplitClauseDetail
},
props: {
disabled: {
@@ -88,7 +99,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -214,6 +225,10 @@ export default {
},
handleMaterialClick (record) {
this.$refs.uploadFile.open(record.material)
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}
@@ -23,12 +23,21 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:loading="loading"
@change="handleTableChange">
<!-- 条款内容 -->
<template slot="item_content" slot-scope="{text, record}">
<div class="table-text" v-if="text || text === 0" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
</j-table>
</div>
<!-- 选用户弹框 -->
<user-select-modal ref="userSelectModal" type="checkbox" @change="userSelectModalChange" @nameChange="userSelectNameChange"/>
<!-- 条款内容 -->
<split-clause-detail ref="splitClauseDetail" />
</div>
</template>
@@ -36,10 +45,11 @@
import JTable from '@/components/jero/JTable'
import UserSelectModal from '@/components/selection/UserSelectModal'
import UserSelection from '@/components/selection/UserSelection'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'MainFinderTwiceDistributesBaseInfo',
components: { JTable, UserSelectModal, UserSelection },
components: { JTable, UserSelectModal, UserSelection, SplitClauseDetail },
props: {
disabled: {
type: Boolean,
@@ -92,7 +102,7 @@ export default {
align: 'center',
width: 180,
dataIndex: 'termContent',
scopedSlots: { customRender: 'text' }
scopedSlots: { customRender: 'item_content' }
},
{ // 车型
title: this.$t('vehicleType'),
@@ -185,6 +195,10 @@ export default {
userNameChange (value, fieldName) {
const dataIndex = this.dataSource.findIndex(item => item.id === fieldName)
this.dataSource[dataIndex].designEngineer_dictText = value
},
// 显示条款内容弹框
showContent (val) {
this.$refs.splitClauseDetail.open(val)
}
}
}