zhaowei
2024-06-07 becc07cee688680d61c41546866a01244ec92df7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<template>
  <j-modal
    title="详细信息"
    :width="1200"
    :visible="visible"
    @ok="handleOk"
    @cancel="close"
    switch-fullscreen
    :fullscreen.sync="fullscreen"
  >
 
    <transition name="fade">
      <div v-if="visible">
        <slot name="mainForm" :row="row" :column="column"/>
        <slot name="subForm" :row="row" :column="column"/>
      </div>
    </transition>
 
  </j-modal>
</template>
<script>
 
  import { cloneObject } from '@/utils/util'
 
  export default {
    name: 'JVxeDetailsModal',
    inject: ['superTrigger'],
    data() {
      return {
        visible: false,
        fullscreen: false,
        row: null,
        column: null,
      }
    },
    created() {
    },
    methods: {
 
      open(event) {
        let {row, column} = event
        this.row = cloneObject(row)
        this.column = column
        this.visible = true
      },
 
      close() {
        this.visible = false
      },
 
      handleOk() {
        this.superTrigger('detailsConfirm', {
          row: this.row,
          column: this.column,
          callback: (success) => {
            this.visible = !success
          },
        })
      },
 
    },
  }
</script>
<style lang="less">
  .fade-enter-active,
  .fade-leave-active {
    opacity: 1;
    transition: opacity 0.5s;
  }
 
  .fade-enter,
  .fade-leave-to {
    opacity: 0;
  }
</style>