zxl
2026-03-25 27c7661cae945f65f8d2752cae41801e3c2b1485
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
<template>
  <a-card :bordered="false">
    <a-form>
      <a-form-item label="角色" style="width: 300px">
        <j-multi-select-tag v-model="roleList" placeholder="请选择角色" dictCode="sys_role,role_name,id" />
      </a-form-item>
      <a-form-item label="用户" style="width: 300px">
        <j-select-multi-user v-model="userList" :valueKey="'id'" />
      </a-form-item>
      <a-form-item label="字典" style="width: 300px">
        <j-multi-select-tag v-model="dictList" placeholder="请选择字典" dictCode="sys_dict,dict_name,id,del_flag=0" />
      </a-form-item>
      <a-form-item label="菜单" style="width: 300px">
        <j-tree-select
          v-model="orderList"
          placeholder="请选择菜单"
          dict="sys_permission,name,id,del_flag=0"
          pidField="parent_id"
          pidValue=""
          multiple
        />
      </a-form-item>
    </a-form>
    <a-button type="primary" @click="exportData"> 导出 </a-button>
  </a-card>
</template>
 
<script>
import { getAction, postAction } from '@tievd/cube-block/lib/api/manage'
import * as dayjs from 'dayjs'
 
export default {
  name: 'DataExport',
 
  data() {
    return {
      exportUrl: 'sys/export/sql/insert',
      roleList: '',
      userList: '',
      dictList: '',
      orderList: ''
    }
  },
  methods: {
    exportData: function() {
      console.log(this.roleList)
      console.log(this.userList)
      console.log(this.dictList)
      console.log(this.orderList)
 
      let params = {
        permissionIds: this.orderList.split(','),
        userIds: this.userList.split(','),
        roleIds: this.roleList.split(','),
        dictIds: this.dictList.split(',')
      }
      postAction(this.exportUrl, params).then(res => {
        let sqlData = new Blob([res])
        var link = document.createElement('a')
        link.href = window.URL.createObjectURL(sqlData)
        link.download = 'SQLData.' + dayjs(new Date()).format('YYYY-MM-DD') + '.sql'
        link.click()
        //释放内存
        window.URL.revokeObjectURL(link.href)
      })
    }
  }
}
</script>