|
|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<ele-modal
|
|
|
:visible="detailFlag"
|
|
|
- :width="modelWidth"
|
|
|
+ width="1100px"
|
|
|
:centered="true"
|
|
|
:close-on-click-modal="false"
|
|
|
append-to-body
|
|
|
@@ -25,8 +25,22 @@
|
|
|
</el-tag>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <div style="display: flex; height: 100%; justify-content: space-between">
|
|
|
- <div class="form-box">
|
|
|
+ <div>
|
|
|
+ <div class="switch">
|
|
|
+ <div class="switch_left">
|
|
|
+ <ul>
|
|
|
+ <li
|
|
|
+ v-for="item in tabOptions"
|
|
|
+ :key="item.key"
|
|
|
+ :class="{ active: activeComp == item.key }"
|
|
|
+ @click="handleTag(item.key)"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="activeComp === 'main'" class="form-box">
|
|
|
<fm-generate-form
|
|
|
v-if="Object.keys(form?.formJson || {}).length !== 0"
|
|
|
:data="jsonData"
|
|
|
@@ -46,6 +60,10 @@
|
|
|
|
|
|
</fm-generate-form>
|
|
|
</div>
|
|
|
+ <bpmDetail
|
|
|
+ v-if="activeComp === 'bpm' && form.id"
|
|
|
+ :id="form.id"
|
|
|
+ ></bpmDetail>
|
|
|
<!-- <div
|
|
|
style="
|
|
|
align-self: center;
|
|
|
@@ -89,6 +107,7 @@
|
|
|
<script>
|
|
|
import dictMixins from '@/mixins/dictMixins';
|
|
|
import { getToken } from '@/utils/token-util';
|
|
|
+ import bpmDetail from '@/views/bpm/processInstance/detail.vue';
|
|
|
// import outgoingDetails from '@/views/bpm/outgoingManagement/details.vue';
|
|
|
// import storageApi from '@/api/warehouseManagement';
|
|
|
// import Detail from '@/views/bpm/processInstance/detailNew.vue';
|
|
|
@@ -96,6 +115,7 @@
|
|
|
export default {
|
|
|
name: 'formDetailDialog',
|
|
|
// components: {outgoingDetails, businessComponent, useSealComponent, useQualificationComponent, productSpecificationComponent, eventComponent, reissueComponent, Detail},
|
|
|
+ components: {bpmDetail},
|
|
|
props: {
|
|
|
detailFlag: {
|
|
|
type: Boolean,
|
|
|
@@ -109,26 +129,26 @@
|
|
|
mixins: [dictMixins],
|
|
|
data() {
|
|
|
return {
|
|
|
+ activeComp: 'main',
|
|
|
+ tabOptions: [
|
|
|
+ { key: 'main', name: '合同详情' },
|
|
|
+ { key: 'bpm', name: '流程详情' }
|
|
|
+ ],
|
|
|
form: {},
|
|
|
jsonData: {},
|
|
|
outgoingData:{},
|
|
|
isRight: false,
|
|
|
};
|
|
|
},
|
|
|
- computed: {
|
|
|
- // modelWidth() {
|
|
|
- // return (this.outgoingData?.id || this.jsonData.config?.platform && this.jsonData.config.platform === 'pc') ? '80%' : '400px';
|
|
|
- // }
|
|
|
- modelWidth() {
|
|
|
- let width = this.jsonData.config?.platform && this.jsonData.config.platform === 'pc' ? 1100 : 450;
|
|
|
- if(this.isRight) {
|
|
|
- return width + 750 + 'px'
|
|
|
- } else {
|
|
|
- return width + 'px'
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
methods: {
|
|
|
+ handleTag(val) {
|
|
|
+ this.activeComp = val;
|
|
|
+ // if (val == 'store') {
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // // this.$refs.innerBoundDetailsRef._getInfo(this.form.docNo);
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ },
|
|
|
open(row) {
|
|
|
this.form = _.cloneDeep(row);
|
|
|
// if(this.form.id){
|