123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- <template>
- <audit-form-top-banner>
- <template slot="afterbtn">
- <div :class="$style.delete">
- <a-button v-if="detailStatus" type="primary" @click="ondetailDelete">删除</a-button>
- </div>
- </template>
- <div :class="$style.detail">
- <div :class="$style.modelDetail">
- <span>模型编码:{{ modelDetail.batchCode }}</span>
- <span>模型名称:{{ modelDetail.batchName }}</span>
- <span>业务领域:{{ modelDetail.modelDomainName }}</span>
- <span>风险描述:{{ modelDetail.riskData }}</span>
- </div>
- <sd-table
- :columns="columnsDetail"
- :data-source="dataDetail"
- :row-key="(_, index) => index"
- :loading="loading"
- :scroll="{ x: 1150 }"
- :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
- >
- </sd-table>
- </div>
- </audit-form-top-banner>
- </template>
- <script>
- import components from './_import-components/audit-risk-detail-import'
- import AuditRiskbraryService from './riskLibrary'
- import auditFormTopBanner from './audit-top-banner'
- import { Modal, message } from 'ant-design-vue'
- export default {
- name: 'AuditRiskDetail',
- metaInfo: {
- title: '详情',
- },
- components: {
- ...components,
- auditFormTopBanner,
- },
- props: {
- // searchData
- searchData: {
- type: Object,
- default: () => ({}),
- },
- // searchType
- searchType: {
- type: String,
- default: '', // 组件模式 component
- },
- },
- data() {
- return {
- modelDetail: {},
- columnsDetail: [],
- dataDetail: [],
- detailStatus: false,
- selectedRowKeys: [],
- loading: false,
- }
- },
- created() {
- // 阻止页面刷新
- let queryData = this.$route.query
- if (this.searchType === 'component') {
- queryData = this.searchData
- }
- this.showModal(queryData)
- },
- methods: {
- showModal(searchParams) {
- // 审核状态
- this.loading = true
- if (searchParams.detailStatus || searchParams.detailStatus) {
- this.detailStatus = true
- }
- const params = JSON.parse(searchParams.queryJson || '{}')
- const formData = new FormData()
- Object.keys(params).forEach((key) => {
- formData.append(key, params[key])
- })
- const status = params.status
- if (status === 1 || status === '1') {
- this.detailStatus = false
- } else {
- this.detailStatus = true
- }
- this.modelDetail = JSON.parse(searchParams.modelDetail || '{}')
- const type = searchParams.type
- if (type !== 'sh') {
- this.detailStatus = false
- }
- // 下发状态
- if (type === 'sh') {
- AuditRiskbraryService.getQuestionExamineDetail(params)
- .then((res) => {
- const allField = []
- this.columnsDetail = res.data[0].detailArr.map((item) => {
- allField.push(item.commit)
- return {
- title: item.commit,
- dataIndex: item.commit,
- width: item.value === 'null' ? '100px' : '240px',
- ellipsis: true,
- }
- })
- this.columnsDetail = this.columnsDetail.filter((item) => {
- return (
- item.title !== '事件标签' && item.title !== '业务主键' && item.title !== '业务时间'
- )
- })
- this.dataDetail = res.data.map((item) => {
- const obj = {}
- allField.forEach((field) => {
- const onfield = item.detailArr.find((i) => i.commit === field).value
- obj[field] = onfield !== 'null' ? onfield : ''
- })
- obj.id = item.questionId
- return obj
- })
- })
- .finally(() => {
- this.loading = false
- })
- } else {
- AuditRiskbraryService.getDetailInfo(params)
- .then((res) => {
- const allField = []
- this.columnsDetail = res.data[0].detailArr.map((item) => {
- allField.push(item.commit)
- return {
- title: item.commit,
- dataIndex: item.commit,
- width: item.value === 'null' ? '100px' : '240px',
- ellipsis: true,
- }
- })
- // 过滤事件标签 业务主键 业务时间 buss_key event_type buss_time
- this.columnsDetail = this.columnsDetail.filter((item) => {
- return (
- item.title !== 'buss_key' &&
- item.title !== 'event_type' &&
- item.title !== 'buss_time' &&
- item.title !== '事件标签' &&
- item.title !== '业务主键' &&
- item.title !== '业务时间'
- )
- })
- this.dataDetail = res.data.map((item) => {
- const obj = {}
- allField.forEach((field) => {
- const onfield = item.detailArr.find((i) => i.commit === field).value
- obj[field] = onfield !== 'null' ? onfield : ''
- })
- obj.id = item.questionId
- return obj
- })
- })
- .finally(() => {
- this.loading = false
- })
- }
- },
- ondetailDelete() {
- Modal.confirm({
- title: '提示',
- content: '是否确认删除?',
- onOk: () => {
- const ids = this.selectedRows.map((item) => item.id).join(',')
- AuditRiskbraryService.deleteDetailInfo(ids).then((res) => {
- message.success('删除成功')
- this.selectedRowKeys = []
- this.selectedRows = []
- this.dataDetail = []
- this.columnsDetail = []
- this.showModal()
- })
- },
- })
- },
- onSelectChange(selectedRowKeys, selectedRows) {
- this.selectedRowKeys = selectedRowKeys
- this.selectedRows = selectedRows
- },
- },
- }
- </script>
- <style module lang="scss">
- @use '@/common/design' as *;
- .wrap-height {
- height: 100%;
- .row-height {
- display: flex;
- flex: auto;
- height: 100%;
- .rightcard {
- flex: 1;
- width: calc(100% - 20%);
- height: 100%;
- }
- }
- }
- .button-content {
- button {
- margin: 0 4px;
- }
- }
- .no-action {
- padding: 0 15px;
- color: $text-color-secondary;
- }
- .detail {
- width: 100%;
- overflow-x: auto;
- }
- .detail-delete {
- display: flex;
- justify-content: flex-end;
- margin-bottom: 10px;
- }
- .model-detail {
- display: flex;
- margin-bottom: 10px;
- span {
- margin-right: 20px;
- }
- }
- .delete {
- display: flex;
- justify-content: flex-end;
- padding: 9px 15px 0 0;
- }
- </style>
|