List.vue 2.8 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2
<template>
  <div>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
3 4 5 6 7 8 9 10
    <div class="head">
      <div class="title">测试数据列表</div>
      <div class="buttons">
        <a-button type="primary" @click="create()">新建</a-button>
      </div>
    </div>

    <a-table :columns="columns" :data-source="defs" rowKey="id">
aaronchen2k2k's avatar
aaronchen2k2k 已提交
11
      <a slot="name" slot-scope="text">{{ text }}</a>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
12 13 14 15 16

      <span slot="customTitle">名称</span>

      <span slot="action" slot-scope="record">
        <a @click="edit(record)">编辑</a> |
aaronchen2k2k's avatar
aaronchen2k2k 已提交
17 18 19 20 21 22 23 24 25 26
        <a @click="design(record)">设计</a> |

        <a-popconfirm
            title="确认删除?"
            ok-text="是"
            cancel-text="否"
            @confirm="remove(record)"
          >
          <a href="#">删除</a>
        </a-popconfirm>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
27
      </span>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
28
    </a-table>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
29 30

    <div class="full-screen-modal">
aaronchen2k2k's avatar
aaronchen2k2k 已提交
31
      <design-component
aaronchen2k2k's avatar
aaronchen2k2k 已提交
32
          ref="designPage"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
33
          type="def"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
34 35
          :visible="designVisible"
          :model="designModel"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
36
          :time="time"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
37 38
          @ok="handleDesignOk"
          @cancel="handleDesignCancel" >
aaronchen2k2k's avatar
aaronchen2k2k 已提交
39
      </design-component>
aaronchen2k2k's avatar
aaronchen2k2k 已提交
40 41
    </div>

aaronchen2k2k's avatar
aaronchen2k2k 已提交
42 43 44 45 46
  </div>
</template>

<script>

aaronchen2k2k's avatar
aaronchen2k2k 已提交
47
import { listDef, removeDef } from "../../../api/manage";
aaronchen2k2k's avatar
aaronchen2k2k 已提交
48
import { DesignComponent } from '../../../components'
aaronchen2k2k's avatar
aaronchen2k2k 已提交
49

aaronchen2k2k's avatar
aaronchen2k2k 已提交
50 51
const columns = [
  {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
52 53 54
    dataIndex: 'title',
    slots: { name: 'customTitle' },
    scopedSlots: { customRender: 'title' },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
55 56
  },
  {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
57 58
    title: '路径',
    dataIndex: 'path',
aaronchen2k2k's avatar
aaronchen2k2k 已提交
59 60
  },
  {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
61
    title: '操作',
aaronchen2k2k's avatar
aaronchen2k2k 已提交
62 63 64 65 66
    key: 'action',
    scopedSlots: { customRender: 'action' },
  },
];

aaronchen2k2k's avatar
aaronchen2k2k 已提交
67 68
export default {
  name: 'Mine',
aaronchen2k2k's avatar
aaronchen2k2k 已提交
69
  components: {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
70
    DesignComponent
aaronchen2k2k's avatar
aaronchen2k2k 已提交
71
  },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
72 73 74
  data() {
    return {
      defs: [],
aaronchen2k2k's avatar
aaronchen2k2k 已提交
75 76 77 78
      columns,

      designVisible: false,
      designModel: {},
aaronchen2k2k's avatar
aaronchen2k2k 已提交
79
      time: 0,
aaronchen2k2k's avatar
aaronchen2k2k 已提交
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
    };
  },
  computed: {

  },
  created () {
    console.log('===')
    listDef().then(res => {
      console.log('listDefs', res)
      this.defs = res.data
    })
  },
  mounted () {
  },
  methods: {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
95 96 97
    create() {
      this.$router.push({path: '/data/mine/edit/0'});
    },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
98 99
    edit(record) {
      console.log(record)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
100
      this.$router.push({path: `/data/mine/edit/${record.id}`});
aaronchen2k2k's avatar
aaronchen2k2k 已提交
101
    },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
102
    design(record) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
103
      this.time = Date.now() // trigger data refresh
aaronchen2k2k's avatar
aaronchen2k2k 已提交
104
      console.log(record)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
105
      this.designVisible = true
aaronchen2k2k's avatar
aaronchen2k2k 已提交
106
      this.designModel = record
aaronchen2k2k's avatar
aaronchen2k2k 已提交
107
    },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
108 109
    remove(record) {
      console.log(record)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
110 111 112 113 114 115 116 117 118
      removeDef(record.id).then(json => {
        console.log('removeDef', json)
        if (json.code == 1) {
          listDef().then(res => {
            console.log('listDefs', res)
            this.defs = res.data
          })
        }
      })
aaronchen2k2k's avatar
aaronchen2k2k 已提交
119 120 121 122 123 124 125 126 127 128
    },

    handleDesignOk() {
      console.log('handleDesignOk')
      this.designVisible = false
    },
    handleDesignCancel() {
      console.log('handleDesignCancel')
      this.designVisible = false
    },
aaronchen2k2k's avatar
aaronchen2k2k 已提交
129 130 131 132 133 134 135
  }
}
</script>

<style scoped>

</style>