huwhois %!s(int64=5) %!d(string=hace) años
padre
commit
cf1701bcff

+ 156 - 0
src/views/modules/admin/adminmenu-add-or-update.vue

@ -0,0 +1,156 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="父菜单ID,一级菜单为0" prop="parentId">
8
      <el-input v-model="dataForm.parentId" placeholder="父菜单ID,一级菜单为0"></el-input>
9
    </el-form-item>
10
    <el-form-item label="菜单名称" prop="name">
11
      <el-input v-model="dataForm.name" placeholder="菜单名称"></el-input>
12
    </el-form-item>
13
    <el-form-item label="菜单URL" prop="url">
14
      <el-input v-model="dataForm.url" placeholder="菜单URL"></el-input>
15
    </el-form-item>
16
    <el-form-item label="授权(多个用逗号分隔,如:user:list,user:create)" prop="perms">
17
      <el-input v-model="dataForm.perms" placeholder="授权(多个用逗号分隔,如:user:list,user:create)"></el-input>
18
    </el-form-item>
19
    <el-form-item label="类型   0:目录   1:菜单   2:按钮" prop="type">
20
      <el-input v-model="dataForm.type" placeholder="类型   0:目录   1:菜单   2:按钮"></el-input>
21
    </el-form-item>
22
    <el-form-item label="菜单图标" prop="icon">
23
      <el-input v-model="dataForm.icon" placeholder="菜单图标"></el-input>
24
    </el-form-item>
25
    <el-form-item label="排序" prop="orderNum">
26
      <el-input v-model="dataForm.orderNum" placeholder="排序"></el-input>
27
    </el-form-item>
28
    <el-form-item label="会议目录" prop="me">
29
      <el-input v-model="dataForm.me" placeholder="会议目录"></el-input>
30
    </el-form-item>
31
    <el-form-item label="tab" prop="isTab">
32
      <el-input v-model="dataForm.isTab" placeholder="tab"></el-input>
33
    </el-form-item>
34
    </el-form>
35
    <span slot="footer" class="dialog-footer">
36
      <el-button @click="visible = false">取消</el-button>
37
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
38
    </span>
39
  </el-dialog>
40
</template>
41
42
<script>
43
  export default {
44
    data () {
45
      return {
46
        visible: false,
47
        dataForm: {
48
          menuId: 0,
49
          parentId: '',
50
          name: '',
51
          url: '',
52
          perms: '',
53
          type: '',
54
          icon: '',
55
          orderNum: '',
56
          me: '',
57
          isTab: ''
58
        },
59
        dataRule: {
60
          parentId: [
61
            { required: true, message: '父菜单ID,一级菜单为0不能为空', trigger: 'blur' }
62
          ],
63
          name: [
64
            { required: true, message: '菜单名称不能为空', trigger: 'blur' }
65
          ],
66
          url: [
67
            { required: true, message: '菜单URL不能为空', trigger: 'blur' }
68
          ],
69
          perms: [
70
            { required: true, message: '授权(多个用逗号分隔,如:user:list,user:create)不能为空', trigger: 'blur' }
71
          ],
72
          type: [
73
            { required: true, message: '类型   0:目录   1:菜单   2:按钮不能为空', trigger: 'blur' }
74
          ],
75
          icon: [
76
            { required: true, message: '菜单图标不能为空', trigger: 'blur' }
77
          ],
78
          orderNum: [
79
            { required: true, message: '排序不能为空', trigger: 'blur' }
80
          ],
81
          me: [
82
            { required: true, message: '会议目录不能为空', trigger: 'blur' }
83
          ],
84
          isTab: [
85
            { required: true, message: 'tab不能为空', trigger: 'blur' }
86
          ]
87
        }
88
      }
89
    },
90
    methods: {
91
      init (id) {
92
        this.dataForm.menuId = id || 0
93
        this.visible = true
94
        this.$nextTick(() => {
95
          this.$refs['dataForm'].resetFields()
96
          if (this.dataForm.menuId) {
97
            this.$http({
98
              url: this.$http.adornUrl(`/generator/adminmenu/info/${this.dataForm.menuId}`),
99
              method: 'get',
100
              params: this.$http.adornParams()
101
            }).then(({data}) => {
102
              if (data && data.code === 0) {
103
                this.dataForm.parentId = data.adminMenu.parentId
104
                this.dataForm.name = data.adminMenu.name
105
                this.dataForm.url = data.adminMenu.url
106
                this.dataForm.perms = data.adminMenu.perms
107
                this.dataForm.type = data.adminMenu.type
108
                this.dataForm.icon = data.adminMenu.icon
109
                this.dataForm.orderNum = data.adminMenu.orderNum
110
                this.dataForm.me = data.adminMenu.me
111
                this.dataForm.isTab = data.adminMenu.isTab
112
              }
113
            })
114
          }
115
        })
116
      },
117
      // 表单提交
118
      dataFormSubmit () {
119
        this.$refs['dataForm'].validate((valid) => {
120
          if (valid) {
121
            this.$http({
122
              url: this.$http.adornUrl(`/generator/adminmenu/${!this.dataForm.menuId ? 'save' : 'update'}`),
123
              method: 'post',
124
              data: this.$http.adornData({
125
                'menuId': this.dataForm.menuId || undefined,
126
                'parentId': this.dataForm.parentId,
127
                'name': this.dataForm.name,
128
                'url': this.dataForm.url,
129
                'perms': this.dataForm.perms,
130
                'type': this.dataForm.type,
131
                'icon': this.dataForm.icon,
132
                'orderNum': this.dataForm.orderNum,
133
                'me': this.dataForm.me,
134
                'isTab': this.dataForm.isTab
135
              })
136
            }).then(({data}) => {
137
              if (data && data.code === 0) {
138
                this.$message({
139
                  message: '操作成功',
140
                  type: 'success',
141
                  duration: 1500,
142
                  onClose: () => {
143
                    this.visible = false
144
                    this.$emit('refreshDataList')
145
                  }
146
                })
147
              } else {
148
                this.$message.error(data.msg)
149
              }
150
            })
151
          }
152
        })
153
      }
154
    }
155
  }
156
</script>

+ 211 - 0
src/views/modules/admin/adminmenu.vue

@ -0,0 +1,211 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('generator:adminmenu:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:adminmenu:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
11
      </el-form-item>
12
    </el-form>
13
    <el-table
14
      :data="dataList"
15
      border
16
      v-loading="dataListLoading"
17
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="menuId"
27
        header-align="center"
28
        align="center"
29
        label="">
30
      </el-table-column>
31
      <el-table-column
32
        prop="parentId"
33
        header-align="center"
34
        align="center"
35
        label="父菜单ID,一级菜单为0">
36
      </el-table-column>
37
      <el-table-column
38
        prop="name"
39
        header-align="center"
40
        align="center"
41
        label="菜单名称">
42
      </el-table-column>
43
      <el-table-column
44
        prop="url"
45
        header-align="center"
46
        align="center"
47
        label="菜单URL">
48
      </el-table-column>
49
      <el-table-column
50
        prop="perms"
51
        header-align="center"
52
        align="center"
53
        label="授权(多个用逗号分隔,如:user:list,user:create)">
54
      </el-table-column>
55
      <el-table-column
56
        prop="type"
57
        header-align="center"
58
        align="center"
59
        label="类型   0:目录   1:菜单   2:按钮">
60
      </el-table-column>
61
      <el-table-column
62
        prop="icon"
63
        header-align="center"
64
        align="center"
65
        label="菜单图标">
66
      </el-table-column>
67
      <el-table-column
68
        prop="orderNum"
69
        header-align="center"
70
        align="center"
71
        label="排序">
72
      </el-table-column>
73
      <el-table-column
74
        prop="me"
75
        header-align="center"
76
        align="center"
77
        label="会议目录">
78
      </el-table-column>
79
      <el-table-column
80
        prop="isTab"
81
        header-align="center"
82
        align="center"
83
        label="tab">
84
      </el-table-column>
85
      <el-table-column
86
        fixed="right"
87
        header-align="center"
88
        align="center"
89
        width="150"
90
        label="操作">
91
        <template slot-scope="scope">
92
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.menuId)">修改</el-button>
93
          <el-button type="text" size="small" @click="deleteHandle(scope.row.menuId)">删除</el-button>
94
        </template>
95
      </el-table-column>
96
    </el-table>
97
    <el-pagination
98
      @size-change="sizeChangeHandle"
99
      @current-change="currentChangeHandle"
100
      :current-page="pageIndex"
101
      :page-sizes="[10, 20, 50, 100]"
102
      :page-size="pageSize"
103
      :total="totalPage"
104
      layout="total, sizes, prev, pager, next, jumper">
105
    </el-pagination>
106
    <!-- 弹窗, 新增 / 修改 -->
107
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
108
  </div>
109
</template>
110
111
<script>
112
  import AddOrUpdate from './adminmenu-add-or-update'
113
  export default {
114
    data () {
115
      return {
116
        dataForm: {
117
          key: ''
118
        },
119
        dataList: [],
120
        pageIndex: 1,
121
        pageSize: 10,
122
        totalPage: 0,
123
        dataListLoading: false,
124
        dataListSelections: [],
125
        addOrUpdateVisible: false
126
      }
127
    },
128
    components: {
129
      AddOrUpdate
130
    },
131
    activated () {
132
      this.getDataList()
133
    },
134
    methods: {
135
      // 获取数据列表
136
      getDataList () {
137
        this.dataListLoading = true
138
        this.$http({
139
          url: this.$http.adornUrl('/generator/adminmenu/list'),
140
          method: 'get',
141
          params: this.$http.adornParams({
142
            'page': this.pageIndex,
143
            'limit': this.pageSize,
144
            'key': this.dataForm.key
145
          })
146
        }).then(({data}) => {
147
          if (data && data.code === 0) {
148
            this.dataList = data.page.list
149
            this.totalPage = data.page.totalCount
150
          } else {
151
            this.dataList = []
152
            this.totalPage = 0
153
          }
154
          this.dataListLoading = false
155
        })
156
      },
157
      // 每页数
158
      sizeChangeHandle (val) {
159
        this.pageSize = val
160
        this.pageIndex = 1
161
        this.getDataList()
162
      },
163
      // 当前页
164
      currentChangeHandle (val) {
165
        this.pageIndex = val
166
        this.getDataList()
167
      },
168
      // 多选
169
      selectionChangeHandle (val) {
170
        this.dataListSelections = val
171
      },
172
      // 新增 / 修改
173
      addOrUpdateHandle (id) {
174
        this.addOrUpdateVisible = true
175
        this.$nextTick(() => {
176
          this.$refs.addOrUpdate.init(id)
177
        })
178
      },
179
      // 删除
180
      deleteHandle (id) {
181
        var ids = id ? [id] : this.dataListSelections.map(item => {
182
          return item.menuId
183
        })
184
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
185
          confirmButtonText: '确定',
186
          cancelButtonText: '取消',
187
          type: 'warning'
188
        }).then(() => {
189
          this.$http({
190
            url: this.$http.adornUrl('/generator/adminmenu/delete'),
191
            method: 'post',
192
            data: this.$http.adornData(ids, false)
193
          }).then(({data}) => {
194
            if (data && data.code === 0) {
195
              this.$message({
196
                message: '操作成功',
197
                type: 'success',
198
                duration: 1500,
199
                onClose: () => {
200
                  this.getDataList()
201
                }
202
              })
203
            } else {
204
              this.$message.error(data.msg)
205
            }
206
          })
207
        })
208
      }
209
    }
210
  }
211
</script>

+ 201 - 0
src/views/modules/admin/company-add-or-update.vue

@ -0,0 +1,201 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="账号" prop="username">
8
      <el-input v-model="dataForm.username" placeholder="账号"></el-input>
9
    </el-form-item>
10
    <el-form-item label="密码" prop="password">
11
      <el-input v-model="dataForm.password" placeholder="密码"></el-input>
12
    </el-form-item>
13
    <el-form-item label="单位名称" prop="companyname">
14
      <el-input v-model="dataForm.companyname" placeholder="单位名称"></el-input>
15
    </el-form-item>
16
    <el-form-item label="单位地址" prop="address">
17
      <el-input v-model="dataForm.address" placeholder="单位地址"></el-input>
18
    </el-form-item>
19
    <el-form-item label="单位电话" prop="telephone">
20
      <el-input v-model="dataForm.telephone" placeholder="单位电话"></el-input>
21
    </el-form-item>
22
    <el-form-item label="联系人姓名" prop="contactname">
23
      <el-input v-model="dataForm.contactname" placeholder="联系人姓名"></el-input>
24
    </el-form-item>
25
    <el-form-item label="联系人电话" prop="cellphone">
26
      <el-input v-model="dataForm.cellphone" placeholder="联系人电话"></el-input>
27
    </el-form-item>
28
    <el-form-item label="统一社会信用代码(Uniform Social Credit Code" prop="uscCode">
29
      <el-input v-model="dataForm.uscCode" placeholder="统一社会信用代码(Uniform Social Credit Code"></el-input>
30
    </el-form-item>
31
    <el-form-item label="证件扫码件(图片)地址" prop="uscPicture">
32
      <el-input v-model="dataForm.uscPicture" placeholder="证件扫码件(图片)地址"></el-input>
33
    </el-form-item>
34
    <el-form-item label="账号等级" prop="level">
35
      <el-input v-model="dataForm.level" placeholder="账号等级"></el-input>
36
    </el-form-item>
37
    <el-form-item label="是否通过审核 0:未通过 1:通过" prop="isCheck">
38
      <el-input v-model="dataForm.isCheck" placeholder="是否通过审核 0:未通过 1:通过"></el-input>
39
    </el-form-item>
40
    <el-form-item label="创建时间" prop="createTime">
41
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
42
    </el-form-item>
43
    <el-form-item label="修改时间" prop="modifyTime">
44
      <el-input v-model="dataForm.modifyTime" placeholder="修改时间"></el-input>
45
    </el-form-item>
46
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
47
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
48
    </el-form-item>
49
    </el-form>
50
    <span slot="footer" class="dialog-footer">
51
      <el-button @click="visible = false">取消</el-button>
52
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
53
    </span>
54
  </el-dialog>
55
</template>
56

57
<script>
58
  export default {
59
    data () {
60
      return {
61
        visible: false,
62
        dataForm: {
63
          id: 0,
64
          username: '',
65
          password: '',
66
          companyname: '',
67
          address: '',
68
          telephone: '',
69
          contactname: '',
70
          cellphone: '',
71
          uscCode: '',
72
          uscPicture: '',
73
          level: '',
74
          isCheck: '',
75
          createTime: '',
76
          modifyTime: '',
77
          isDel: ''
78
        },
79
        dataRule: {
80
          username: [
81
            { required: true, message: '账号不能为空', trigger: 'blur' }
82
          ],
83
          password: [
84
            { required: true, message: '密码不能为空', trigger: 'blur' }
85
          ],
86
          companyname: [
87
            { required: true, message: '单位名称不能为空', trigger: 'blur' }
88
          ],
89
          address: [
90
            { required: true, message: '单位地址不能为空', trigger: 'blur' }
91
          ],
92
          telephone: [
93
            { required: true, message: '单位电话不能为空', trigger: 'blur' }
94
          ],
95
          contactname: [
96
            { required: true, message: '联系人姓名不能为空', trigger: 'blur' }
97
          ],
98
          cellphone: [
99
            { required: true, message: '联系人电话不能为空', trigger: 'blur' }
100
          ],
101
          uscCode: [
102
            { required: true, message: '统一社会信用代码(Uniform Social Credit Code不能为空', trigger: 'blur' }
103
          ],
104
          uscPicture: [
105
            { required: true, message: '证件扫码件(图片)地址不能为空', trigger: 'blur' }
106
          ],
107
          level: [
108
            { required: true, message: '账号等级不能为空', trigger: 'blur' }
109
          ],
110
          isCheck: [
111
            { required: true, message: '是否通过审核 0:未通过 1:通过不能为空', trigger: 'blur' }
112
          ],
113
          createTime: [
114
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
115
          ],
116
          modifyTime: [
117
            { required: true, message: '修改时间不能为空', trigger: 'blur' }
118
          ],
119
          isDel: [
120
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
121
          ]
122
        }
123
      }
124
    },
125
    methods: {
126
      init (id) {
127
        this.dataForm.id = id || 0
128
        this.visible = true
129
        this.$nextTick(() => {
130
          this.$refs['dataForm'].resetFields()
131
          if (this.dataForm.id) {
132
            this.$http({
133
              url: this.$http.adornUrl(`/generator/company/info/${this.dataForm.id}`),
134
              method: 'get',
135
              params: this.$http.adornParams()
136
            }).then(({data}) => {
137
              if (data && data.code === 0) {
138
                this.dataForm.username = data.company.username
139
                this.dataForm.password = data.company.password
140
                this.dataForm.companyname = data.company.companyname
141
                this.dataForm.address = data.company.address
142
                this.dataForm.telephone = data.company.telephone
143
                this.dataForm.contactname = data.company.contactname
144
                this.dataForm.cellphone = data.company.cellphone
145
                this.dataForm.uscCode = data.company.uscCode
146
                this.dataForm.uscPicture = data.company.uscPicture
147
                this.dataForm.level = data.company.level
148
                this.dataForm.isCheck = data.company.isCheck
149
                this.dataForm.createTime = data.company.createTime
150
                this.dataForm.modifyTime = data.company.modifyTime
151
                this.dataForm.isDel = data.company.isDel
152
              }
153
            })
154
          }
155
        })
156
      },
157
      // 表单提交
158
      dataFormSubmit () {
159
        this.$refs['dataForm'].validate((valid) => {
160
          if (valid) {
161
            this.$http({
162
              url: this.$http.adornUrl(`/generator/company/${!this.dataForm.id ? 'save' : 'update'}`),
163
              method: 'post',
164
              data: this.$http.adornData({
165
                'id': this.dataForm.id || undefined,
166
                'username': this.dataForm.username,
167
                'password': this.dataForm.password,
168
                'companyname': this.dataForm.companyname,
169
                'address': this.dataForm.address,
170
                'telephone': this.dataForm.telephone,
171
                'contactname': this.dataForm.contactname,
172
                'cellphone': this.dataForm.cellphone,
173
                'uscCode': this.dataForm.uscCode,
174
                'uscPicture': this.dataForm.uscPicture,
175
                'level': this.dataForm.level,
176
                'isCheck': this.dataForm.isCheck,
177
                'createTime': this.dataForm.createTime,
178
                'modifyTime': this.dataForm.modifyTime,
179
                'isDel': this.dataForm.isDel
180
              })
181
            }).then(({data}) => {
182
              if (data && data.code === 0) {
183
                this.$message({
184
                  message: '操作成功',
185
                  type: 'success',
186
                  duration: 1500,
187
                  onClose: () => {
188
                    this.visible = false
189
                    this.$emit('refreshDataList')
190
                  }
191
                })
192
              } else {
193
                this.$message.error(data.msg)
194
              }
195
            })
196
          }
197
        })
198
      }
199
    }
200
  }
201
</script>

+ 241 - 0
src/views/modules/admin/company.vue

@ -0,0 +1,241 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('generator:company:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:company:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
11
      </el-form-item>
12
    </el-form>
13
    <el-table
14
      :data="dataList"
15
      border
16
      v-loading="dataListLoading"
17
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="单位id (单位表)">
30
      </el-table-column>
31
      <el-table-column
32
        prop="username"
33
        header-align="center"
34
        align="center"
35
        label="账号">
36
      </el-table-column>
37
      <el-table-column
38
        prop="password"
39
        header-align="center"
40
        align="center"
41
        label="密码">
42
      </el-table-column>
43
      <el-table-column
44
        prop="companyname"
45
        header-align="center"
46
        align="center"
47
        label="单位名称">
48
      </el-table-column>
49
      <el-table-column
50
        prop="address"
51
        header-align="center"
52
        align="center"
53
        label="单位地址">
54
      </el-table-column>
55
      <el-table-column
56
        prop="telephone"
57
        header-align="center"
58
        align="center"
59
        label="单位电话">
60
      </el-table-column>
61
      <el-table-column
62
        prop="contactname"
63
        header-align="center"
64
        align="center"
65
        label="联系人姓名">
66
      </el-table-column>
67
      <el-table-column
68
        prop="cellphone"
69
        header-align="center"
70
        align="center"
71
        label="联系人电话">
72
      </el-table-column>
73
      <el-table-column
74
        prop="uscCode"
75
        header-align="center"
76
        align="center"
77
        label="统一社会信用代码(Uniform Social Credit Code">
78
      </el-table-column>
79
      <el-table-column
80
        prop="uscPicture"
81
        header-align="center"
82
        align="center"
83
        label="证件扫码件(图片)地址">
84
      </el-table-column>
85
      <el-table-column
86
        prop="level"
87
        header-align="center"
88
        align="center"
89
        label="账号等级">
90
      </el-table-column>
91
      <el-table-column
92
        prop="isCheck"
93
        header-align="center"
94
        align="center"
95
        label="是否通过审核 0:未通过 1:通过">
96
      </el-table-column>
97
      <el-table-column
98
        prop="createTime"
99
        header-align="center"
100
        align="center"
101
        label="创建时间">
102
      </el-table-column>
103
      <el-table-column
104
        prop="modifyTime"
105
        header-align="center"
106
        align="center"
107
        label="修改时间">
108
      </el-table-column>
109
      <el-table-column
110
        prop="isDel"
111
        header-align="center"
112
        align="center"
113
        label="是否被删除 状态  0:正常   1:删除">
114
      </el-table-column>
115
      <el-table-column
116
        fixed="right"
117
        header-align="center"
118
        align="center"
119
        width="150"
120
        label="操作">
121
        <template slot-scope="scope">
122
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
123
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
124
        </template>
125
      </el-table-column>
126
    </el-table>
127
    <el-pagination
128
      @size-change="sizeChangeHandle"
129
      @current-change="currentChangeHandle"
130
      :current-page="pageIndex"
131
      :page-sizes="[10, 20, 50, 100]"
132
      :page-size="pageSize"
133
      :total="totalPage"
134
      layout="total, sizes, prev, pager, next, jumper">
135
    </el-pagination>
136
    <!-- 弹窗, 新增 / 修改 -->
137
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
138
  </div>
139
</template>
140

141
<script>
142
  import AddOrUpdate from './company-add-or-update'
143
  export default {
144
    data () {
145
      return {
146
        dataForm: {
147
          key: ''
148
        },
149
        dataList: [],
150
        pageIndex: 1,
151
        pageSize: 10,
152
        totalPage: 0,
153
        dataListLoading: false,
154
        dataListSelections: [],
155
        addOrUpdateVisible: false
156
      }
157
    },
158
    components: {
159
      AddOrUpdate
160
    },
161
    activated () {
162
      this.getDataList()
163
    },
164
    methods: {
165
      // 获取数据列表
166
      getDataList () {
167
        this.dataListLoading = true
168
        this.$http({
169
          url: this.$http.adornUrl('/generator/company/list'),
170
          method: 'get',
171
          params: this.$http.adornParams({
172
            'page': this.pageIndex,
173
            'limit': this.pageSize,
174
            'key': this.dataForm.key
175
          })
176
        }).then(({data}) => {
177
          if (data && data.code === 0) {
178
            this.dataList = data.page.list
179
            this.totalPage = data.page.totalCount
180
          } else {
181
            this.dataList = []
182
            this.totalPage = 0
183
          }
184
          this.dataListLoading = false
185
        })
186
      },
187
      // 每页数
188
      sizeChangeHandle (val) {
189
        this.pageSize = val
190
        this.pageIndex = 1
191
        this.getDataList()
192
      },
193
      // 当前页
194
      currentChangeHandle (val) {
195
        this.pageIndex = val
196
        this.getDataList()
197
      },
198
      // 多选
199
      selectionChangeHandle (val) {
200
        this.dataListSelections = val
201
      },
202
      // 新增 / 修改
203
      addOrUpdateHandle (id) {
204
        this.addOrUpdateVisible = true
205
        this.$nextTick(() => {
206
          this.$refs.addOrUpdate.init(id)
207
        })
208
      },
209
      // 删除
210
      deleteHandle (id) {
211
        var ids = id ? [id] : this.dataListSelections.map(item => {
212
          return item.id
213
        })
214
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
215
          confirmButtonText: '确定',
216
          cancelButtonText: '取消',
217
          type: 'warning'
218
        }).then(() => {
219
          this.$http({
220
            url: this.$http.adornUrl('/generator/company/delete'),
221
            method: 'post',
222
            data: this.$http.adornData(ids, false)
223
          }).then(({data}) => {
224
            if (data && data.code === 0) {
225
              this.$message({
226
                message: '操作成功',
227
                type: 'success',
228
                duration: 1500,
229
                onClose: () => {
230
                  this.getDataList()
231
                }
232
              })
233
            } else {
234
              this.$message.error(data.msg)
235
            }
236
          })
237
        })
238
      }
239
    }
240
  }
241
</script>

+ 183 - 0
src/views/modules/admin/employee-add-or-update.vue

@ -0,0 +1,183 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="账号" prop="username">
8
      <el-input v-model="dataForm.username" placeholder="账号"></el-input>
9
    </el-form-item>
10
    <el-form-item label="密码" prop="password">
11
      <el-input v-model="dataForm.password" placeholder="密码"></el-input>
12
    </el-form-item>
13
    <el-form-item label="姓名" prop="truename">
14
      <el-input v-model="dataForm.truename" placeholder="姓名"></el-input>
15
    </el-form-item>
16
    <el-form-item label="单位id" prop="companyId">
17
      <el-input v-model="dataForm.companyId" placeholder="单位id"></el-input>
18
    </el-form-item>
19
    <el-form-item label="角色id(控制权限)" prop="roleId">
20
      <el-input v-model="dataForm.roleId" placeholder="角色id(控制权限)"></el-input>
21
    </el-form-item>
22
    <el-form-item label="部门id" prop="departmentId">
23
      <el-input v-model="dataForm.departmentId" placeholder="部门id"></el-input>
24
    </el-form-item>
25
    <el-form-item label="职位id" prop="positionId">
26
      <el-input v-model="dataForm.positionId" placeholder="职位id"></el-input>
27
    </el-form-item>
28
    <el-form-item label="联系电话" prop="phone">
29
      <el-input v-model="dataForm.phone" placeholder="联系电话"></el-input>
30
    </el-form-item>
31
    <el-form-item label="邮箱" prop="email">
32
      <el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
33
    </el-form-item>
34
    <el-form-item label="创建时间" prop="createTime">
35
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
36
    </el-form-item>
37
    <el-form-item label="修改时间" prop="modifyTime">
38
      <el-input v-model="dataForm.modifyTime" placeholder="修改时间"></el-input>
39
    </el-form-item>
40
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
41
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
42
    </el-form-item>
43
    </el-form>
44
    <span slot="footer" class="dialog-footer">
45
      <el-button @click="visible = false">取消</el-button>
46
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
47
    </span>
48
  </el-dialog>
49
</template>
50

51
<script>
52
  export default {
53
    data () {
54
      return {
55
        visible: false,
56
        dataForm: {
57
          id: 0,
58
          username: '',
59
          password: '',
60
          truename: '',
61
          companyId: '',
62
          roleId: '',
63
          departmentId: '',
64
          positionId: '',
65
          phone: '',
66
          email: '',
67
          createTime: '',
68
          modifyTime: '',
69
          isDel: ''
70
        },
71
        dataRule: {
72
          username: [
73
            { required: true, message: '账号不能为空', trigger: 'blur' }
74
          ],
75
          password: [
76
            { required: true, message: '密码不能为空', trigger: 'blur' }
77
          ],
78
          truename: [
79
            { required: true, message: '姓名不能为空', trigger: 'blur' }
80
          ],
81
          companyId: [
82
            { required: true, message: '单位id不能为空', trigger: 'blur' }
83
          ],
84
          roleId: [
85
            { required: true, message: '角色id(控制权限)不能为空', trigger: 'blur' }
86
          ],
87
          departmentId: [
88
            { required: true, message: '部门id不能为空', trigger: 'blur' }
89
          ],
90
          positionId: [
91
            { required: true, message: '职位id不能为空', trigger: 'blur' }
92
          ],
93
          phone: [
94
            { required: true, message: '联系电话不能为空', trigger: 'blur' }
95
          ],
96
          email: [
97
            { required: true, message: '邮箱不能为空', trigger: 'blur' }
98
          ],
99
          createTime: [
100
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
101
          ],
102
          modifyTime: [
103
            { required: true, message: '修改时间不能为空', trigger: 'blur' }
104
          ],
105
          isDel: [
106
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
107
          ]
108
        }
109
      }
110
    },
111
    methods: {
112
      init (id) {
113
        this.dataForm.id = id || 0
114
        this.visible = true
115
        this.$nextTick(() => {
116
          this.$refs['dataForm'].resetFields()
117
          if (this.dataForm.id) {
118
            this.$http({
119
              url: this.$http.adornUrl(`/generator/employee/info/${this.dataForm.id}`),
120
              method: 'get',
121
              params: this.$http.adornParams()
122
            }).then(({data}) => {
123
              if (data && data.code === 0) {
124
                this.dataForm.username = data.employee.username
125
                this.dataForm.password = data.employee.password
126
                this.dataForm.truename = data.employee.truename
127
                this.dataForm.companyId = data.employee.companyId
128
                this.dataForm.roleId = data.employee.roleId
129
                this.dataForm.departmentId = data.employee.departmentId
130
                this.dataForm.positionId = data.employee.positionId
131
                this.dataForm.phone = data.employee.phone
132
                this.dataForm.email = data.employee.email
133
                this.dataForm.createTime = data.employee.createTime
134
                this.dataForm.modifyTime = data.employee.modifyTime
135
                this.dataForm.isDel = data.employee.isDel
136
              }
137
            })
138
          }
139
        })
140
      },
141
      // 表单提交
142
      dataFormSubmit () {
143
        this.$refs['dataForm'].validate((valid) => {
144
          if (valid) {
145
            this.$http({
146
              url: this.$http.adornUrl(`/generator/employee/${!this.dataForm.id ? 'save' : 'update'}`),
147
              method: 'post',
148
              data: this.$http.adornData({
149
                'id': this.dataForm.id || undefined,
150
                'username': this.dataForm.username,
151
                'password': this.dataForm.password,
152
                'truename': this.dataForm.truename,
153
                'companyId': this.dataForm.companyId,
154
                'roleId': this.dataForm.roleId,
155
                'departmentId': this.dataForm.departmentId,
156
                'positionId': this.dataForm.positionId,
157
                'phone': this.dataForm.phone,
158
                'email': this.dataForm.email,
159
                'createTime': this.dataForm.createTime,
160
                'modifyTime': this.dataForm.modifyTime,
161
                'isDel': this.dataForm.isDel
162
              })
163
            }).then(({data}) => {
164
              if (data && data.code === 0) {
165
                this.$message({
166
                  message: '操作成功',
167
                  type: 'success',
168
                  duration: 1500,
169
                  onClose: () => {
170
                    this.visible = false
171
                    this.$emit('refreshDataList')
172
                  }
173
                })
174
              } else {
175
                this.$message.error(data.msg)
176
              }
177
            })
178
          }
179
        })
180
      }
181
    }
182
  }
183
</script>

+ 229 - 0
src/views/modules/admin/employee.vue

@ -0,0 +1,229 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('generator:employee:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:employee:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
11
      </el-form-item>
12
    </el-form>
13
    <el-table
14
      :data="dataList"
15
      border
16
      v-loading="dataListLoading"
17
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="员工id (员工表)">
30
      </el-table-column>
31
      <el-table-column
32
        prop="username"
33
        header-align="center"
34
        align="center"
35
        label="账号">
36
      </el-table-column>
37
      <el-table-column
38
        prop="password"
39
        header-align="center"
40
        align="center"
41
        label="密码">
42
      </el-table-column>
43
      <el-table-column
44
        prop="truename"
45
        header-align="center"
46
        align="center"
47
        label="姓名">
48
      </el-table-column>
49
      <el-table-column
50
        prop="companyId"
51
        header-align="center"
52
        align="center"
53
        label="单位id">
54
      </el-table-column>
55
      <el-table-column
56
        prop="roleId"
57
        header-align="center"
58
        align="center"
59
        label="角色id(控制权限)">
60
      </el-table-column>
61
      <el-table-column
62
        prop="departmentId"
63
        header-align="center"
64
        align="center"
65
        label="部门id">
66
      </el-table-column>
67
      <el-table-column
68
        prop="positionId"
69
        header-align="center"
70
        align="center"
71
        label="职位id">
72
      </el-table-column>
73
      <el-table-column
74
        prop="phone"
75
        header-align="center"
76
        align="center"
77
        label="联系电话">
78
      </el-table-column>
79
      <el-table-column
80
        prop="email"
81
        header-align="center"
82
        align="center"
83
        label="邮箱">
84
      </el-table-column>
85
      <el-table-column
86
        prop="createTime"
87
        header-align="center"
88
        align="center"
89
        label="创建时间">
90
      </el-table-column>
91
      <el-table-column
92
        prop="modifyTime"
93
        header-align="center"
94
        align="center"
95
        label="修改时间">
96
      </el-table-column>
97
      <el-table-column
98
        prop="isDel"
99
        header-align="center"
100
        align="center"
101
        label="是否被删除 状态  0:正常   1:删除">
102
      </el-table-column>
103
      <el-table-column
104
        fixed="right"
105
        header-align="center"
106
        align="center"
107
        width="150"
108
        label="操作">
109
        <template slot-scope="scope">
110
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
111
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
112
        </template>
113
      </el-table-column>
114
    </el-table>
115
    <el-pagination
116
      @size-change="sizeChangeHandle"
117
      @current-change="currentChangeHandle"
118
      :current-page="pageIndex"
119
      :page-sizes="[10, 20, 50, 100]"
120
      :page-size="pageSize"
121
      :total="totalPage"
122
      layout="total, sizes, prev, pager, next, jumper">
123
    </el-pagination>
124
    <!-- 弹窗, 新增 / 修改 -->
125
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
126
  </div>
127
</template>
128

129
<script>
130
  import AddOrUpdate from './employee-add-or-update'
131
  export default {
132
    data () {
133
      return {
134
        dataForm: {
135
          key: ''
136
        },
137
        dataList: [],
138
        pageIndex: 1,
139
        pageSize: 10,
140
        totalPage: 0,
141
        dataListLoading: false,
142
        dataListSelections: [],
143
        addOrUpdateVisible: false
144
      }
145
    },
146
    components: {
147
      AddOrUpdate
148
    },
149
    activated () {
150
      this.getDataList()
151
    },
152
    methods: {
153
      // 获取数据列表
154
      getDataList () {
155
        this.dataListLoading = true
156
        this.$http({
157
          url: this.$http.adornUrl('/generator/employee/list'),
158
          method: 'get',
159
          params: this.$http.adornParams({
160
            'page': this.pageIndex,
161
            'limit': this.pageSize,
162
            'key': this.dataForm.key
163
          })
164
        }).then(({data}) => {
165
          if (data && data.code === 0) {
166
            this.dataList = data.page.list
167
            this.totalPage = data.page.totalCount
168
          } else {
169
            this.dataList = []
170
            this.totalPage = 0
171
          }
172
          this.dataListLoading = false
173
        })
174
      },
175
      // 每页数
176
      sizeChangeHandle (val) {
177
        this.pageSize = val
178
        this.pageIndex = 1
179
        this.getDataList()
180
      },
181
      // 当前页
182
      currentChangeHandle (val) {
183
        this.pageIndex = val
184
        this.getDataList()
185
      },
186
      // 多选
187
      selectionChangeHandle (val) {
188
        this.dataListSelections = val
189
      },
190
      // 新增 / 修改
191
      addOrUpdateHandle (id) {
192
        this.addOrUpdateVisible = true
193
        this.$nextTick(() => {
194
          this.$refs.addOrUpdate.init(id)
195
        })
196
      },
197
      // 删除
198
      deleteHandle (id) {
199
        var ids = id ? [id] : this.dataListSelections.map(item => {
200
          return item.id
201
        })
202
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
203
          confirmButtonText: '确定',
204
          cancelButtonText: '取消',
205
          type: 'warning'
206
        }).then(() => {
207
          this.$http({
208
            url: this.$http.adornUrl('/generator/employee/delete'),
209
            method: 'post',
210
            data: this.$http.adornData(ids, false)
211
          }).then(({data}) => {
212
            if (data && data.code === 0) {
213
              this.$message({
214
                message: '操作成功',
215
                type: 'success',
216
                duration: 1500,
217
                onClose: () => {
218
                  this.getDataList()
219
                }
220
              })
221
            } else {
222
              this.$message.error(data.msg)
223
            }
224
          })
225
        })
226
      }
227
    }
228
  }
229
</script>

+ 102 - 0
src/views/modules/admin/industry-add-or-update.vue

@ -0,0 +1,102 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="名称" prop="name">
8
      <el-input v-model="dataForm.name" placeholder="名称"></el-input>
9
    </el-form-item>
10
    <el-form-item label="创建时间" prop="createTime">
11
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
12
    </el-form-item>
13
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
14
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
15
    </el-form-item>
16
    </el-form>
17
    <span slot="footer" class="dialog-footer">
18
      <el-button @click="visible = false">取消</el-button>
19
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
20
    </span>
21
  </el-dialog>
22
</template>
23

24
<script>
25
  export default {
26
    data () {
27
      return {
28
        visible: false,
29
        dataForm: {
30
          id: 0,
31
          name: '',
32
          createTime: '',
33
          isDel: ''
34
        },
35
        dataRule: {
36
          name: [
37
            { required: true, message: '名称不能为空', trigger: 'blur' }
38
          ],
39
          createTime: [
40
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
41
          ],
42
          isDel: [
43
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
44
          ]
45
        }
46
      }
47
    },
48
    methods: {
49
      init (id) {
50
        this.dataForm.id = id || 0
51
        this.visible = true
52
        this.$nextTick(() => {
53
          this.$refs['dataForm'].resetFields()
54
          if (this.dataForm.id) {
55
            this.$http({
56
              url: this.$http.adornUrl(`/generator/industry/info/${this.dataForm.id}`),
57
              method: 'get',
58
              params: this.$http.adornParams()
59
            }).then(({data}) => {
60
              if (data && data.code === 0) {
61
                this.dataForm.name = data.industry.name
62
                this.dataForm.createTime = data.industry.createTime
63
                this.dataForm.isDel = data.industry.isDel
64
              }
65
            })
66
          }
67
        })
68
      },
69
      // 表单提交
70
      dataFormSubmit () {
71
        this.$refs['dataForm'].validate((valid) => {
72
          if (valid) {
73
            this.$http({
74
              url: this.$http.adornUrl(`/generator/industry/${!this.dataForm.id ? 'save' : 'update'}`),
75
              method: 'post',
76
              data: this.$http.adornData({
77
                'id': this.dataForm.id || undefined,
78
                'name': this.dataForm.name,
79
                'createTime': this.dataForm.createTime,
80
                'isDel': this.dataForm.isDel
81
              })
82
            }).then(({data}) => {
83
              if (data && data.code === 0) {
84
                this.$message({
85
                  message: '操作成功',
86
                  type: 'success',
87
                  duration: 1500,
88
                  onClose: () => {
89
                    this.visible = false
90
                    this.$emit('refreshDataList')
91
                  }
92
                })
93
              } else {
94
                this.$message.error(data.msg)
95
              }
96
            })
97
          }
98
        })
99
      }
100
    }
101
  }
102
</script>

+ 175 - 0
src/views/modules/admin/industry.vue

@ -0,0 +1,175 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('generator:industry:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:industry:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
11
      </el-form-item>
12
    </el-form>
13
    <el-table
14
      :data="dataList"
15
      border
16
      v-loading="dataListLoading"
17
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="行业id (行业表)">
30
      </el-table-column>
31
      <el-table-column
32
        prop="name"
33
        header-align="center"
34
        align="center"
35
        label="名称">
36
      </el-table-column>
37
      <el-table-column
38
        prop="createTime"
39
        header-align="center"
40
        align="center"
41
        label="创建时间">
42
      </el-table-column>
43
      <el-table-column
44
        prop="isDel"
45
        header-align="center"
46
        align="center"
47
        label="是否被删除 状态  0:正常   1:删除">
48
      </el-table-column>
49
      <el-table-column
50
        fixed="right"
51
        header-align="center"
52
        align="center"
53
        width="150"
54
        label="操作">
55
        <template slot-scope="scope">
56
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
57
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
58
        </template>
59
      </el-table-column>
60
    </el-table>
61
    <el-pagination
62
      @size-change="sizeChangeHandle"
63
      @current-change="currentChangeHandle"
64
      :current-page="pageIndex"
65
      :page-sizes="[10, 20, 50, 100]"
66
      :page-size="pageSize"
67
      :total="totalPage"
68
      layout="total, sizes, prev, pager, next, jumper">
69
    </el-pagination>
70
    <!-- 弹窗, 新增 / 修改 -->
71
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
72
  </div>
73
</template>
74

75
<script>
76
  import AddOrUpdate from './industry-add-or-update'
77
  export default {
78
    data () {
79
      return {
80
        dataForm: {
81
          key: ''
82
        },
83
        dataList: [],
84
        pageIndex: 1,
85
        pageSize: 10,
86
        totalPage: 0,
87
        dataListLoading: false,
88
        dataListSelections: [],
89
        addOrUpdateVisible: false
90
      }
91
    },
92
    components: {
93
      AddOrUpdate
94
    },
95
    activated () {
96
      this.getDataList()
97
    },
98
    methods: {
99
      // 获取数据列表
100
      getDataList () {
101
        this.dataListLoading = true
102
        this.$http({
103
          url: this.$http.adornUrl('/generator/industry/list'),
104
          method: 'get',
105
          params: this.$http.adornParams({
106
            'page': this.pageIndex,
107
            'limit': this.pageSize,
108
            'key': this.dataForm.key
109
          })
110
        }).then(({data}) => {
111
          if (data && data.code === 0) {
112
            this.dataList = data.page.list
113
            this.totalPage = data.page.totalCount
114
          } else {
115
            this.dataList = []
116
            this.totalPage = 0
117
          }
118
          this.dataListLoading = false
119
        })
120
      },
121
      // 每页数
122
      sizeChangeHandle (val) {
123
        this.pageSize = val
124
        this.pageIndex = 1
125
        this.getDataList()
126
      },
127
      // 当前页
128
      currentChangeHandle (val) {
129
        this.pageIndex = val
130
        this.getDataList()
131
      },
132
      // 多选
133
      selectionChangeHandle (val) {
134
        this.dataListSelections = val
135
      },
136
      // 新增 / 修改
137
      addOrUpdateHandle (id) {
138
        this.addOrUpdateVisible = true
139
        this.$nextTick(() => {
140
          this.$refs.addOrUpdate.init(id)
141
        })
142
      },
143
      // 删除
144
      deleteHandle (id) {
145
        var ids = id ? [id] : this.dataListSelections.map(item => {
146
          return item.id
147
        })
148
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
149
          confirmButtonText: '确定',
150
          cancelButtonText: '取消',
151
          type: 'warning'
152
        }).then(() => {
153
          this.$http({
154
            url: this.$http.adornUrl('/generator/industry/delete'),
155
            method: 'post',
156
            data: this.$http.adornData(ids, false)
157
          }).then(({data}) => {
158
            if (data && data.code === 0) {
159
              this.$message({
160
                message: '操作成功',
161
                type: 'success',
162
                duration: 1500,
163
                onClose: () => {
164
                  this.getDataList()
165
                }
166
              })
167
            } else {
168
              this.$message.error(data.msg)
169
            }
170
          })
171
        })
172
      }
173
    }
174
  }
175
</script>

+ 102 - 0
src/views/modules/admin/subject-add-or-update.vue

@ -0,0 +1,102 @@
1
<template>
2
  <el-dialog
3
    :title="!dataForm.id ? '新增' : '修改'"
4
    :close-on-click-modal="false"
5
    :visible.sync="visible">
6
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
7
    <el-form-item label="名称" prop="name">
8
      <el-input v-model="dataForm.name" placeholder="名称"></el-input>
9
    </el-form-item>
10
    <el-form-item label="创建时间" prop="createTime">
11
      <el-input v-model="dataForm.createTime" placeholder="创建时间"></el-input>
12
    </el-form-item>
13
    <el-form-item label="是否被删除 状态  0:正常   1:删除" prop="isDel">
14
      <el-input v-model="dataForm.isDel" placeholder="是否被删除 状态  0:正常   1:删除"></el-input>
15
    </el-form-item>
16
    </el-form>
17
    <span slot="footer" class="dialog-footer">
18
      <el-button @click="visible = false">取消</el-button>
19
      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
20
    </span>
21
  </el-dialog>
22
</template>
23
24
<script>
25
  export default {
26
    data () {
27
      return {
28
        visible: false,
29
        dataForm: {
30
          id: 0,
31
          name: '',
32
          createTime: '',
33
          isDel: ''
34
        },
35
        dataRule: {
36
          name: [
37
            { required: true, message: '名称不能为空', trigger: 'blur' }
38
          ],
39
          createTime: [
40
            { required: true, message: '创建时间不能为空', trigger: 'blur' }
41
          ],
42
          isDel: [
43
            { required: true, message: '是否被删除 状态  0:正常   1:删除不能为空', trigger: 'blur' }
44
          ]
45
        }
46
      }
47
    },
48
    methods: {
49
      init (id) {
50
        this.dataForm.id = id || 0
51
        this.visible = true
52
        this.$nextTick(() => {
53
          this.$refs['dataForm'].resetFields()
54
          if (this.dataForm.id) {
55
            this.$http({
56
              url: this.$http.adornUrl(`/generator/subject/info/${this.dataForm.id}`),
57
              method: 'get',
58
              params: this.$http.adornParams()
59
            }).then(({data}) => {
60
              if (data && data.code === 0) {
61
                this.dataForm.name = data.subject.name
62
                this.dataForm.createTime = data.subject.createTime
63
                this.dataForm.isDel = data.subject.isDel
64
              }
65
            })
66
          }
67
        })
68
      },
69
      // 表单提交
70
      dataFormSubmit () {
71
        this.$refs['dataForm'].validate((valid) => {
72
          if (valid) {
73
            this.$http({
74
              url: this.$http.adornUrl(`/generator/subject/${!this.dataForm.id ? 'save' : 'update'}`),
75
              method: 'post',
76
              data: this.$http.adornData({
77
                'id': this.dataForm.id || undefined,
78
                'name': this.dataForm.name,
79
                'createTime': this.dataForm.createTime,
80
                'isDel': this.dataForm.isDel
81
              })
82
            }).then(({data}) => {
83
              if (data && data.code === 0) {
84
                this.$message({
85
                  message: '操作成功',
86
                  type: 'success',
87
                  duration: 1500,
88
                  onClose: () => {
89
                    this.visible = false
90
                    this.$emit('refreshDataList')
91
                  }
92
                })
93
              } else {
94
                this.$message.error(data.msg)
95
              }
96
            })
97
          }
98
        })
99
      }
100
    }
101
  }
102
</script>

+ 175 - 0
src/views/modules/admin/subject.vue

@ -0,0 +1,175 @@
1
<template>
2
  <div class="mod-config">
3
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
4
      <el-form-item>
5
        <el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
6
      </el-form-item>
7
      <el-form-item>
8
        <el-button @click="getDataList()">查询</el-button>
9
        <el-button v-if="isAuth('generator:subject:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
10
        <el-button v-if="isAuth('generator:subject:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
11
      </el-form-item>
12
    </el-form>
13
    <el-table
14
      :data="dataList"
15
      border
16
      v-loading="dataListLoading"
17
      @selection-change="selectionChangeHandle"
18
      style="width: 100%;">
19
      <el-table-column
20
        type="selection"
21
        header-align="center"
22
        align="center"
23
        width="50">
24
      </el-table-column>
25
      <el-table-column
26
        prop="id"
27
        header-align="center"
28
        align="center"
29
        label="学科id">
30
      </el-table-column>
31
      <el-table-column
32
        prop="name"
33
        header-align="center"
34
        align="center"
35
        label="名称">
36
      </el-table-column>
37
      <el-table-column
38
        prop="createTime"
39
        header-align="center"
40
        align="center"
41
        label="创建时间">
42
      </el-table-column>
43
      <el-table-column
44
        prop="isDel"
45
        header-align="center"
46
        align="center"
47
        label="是否被删除 状态  0:正常   1:删除">
48
      </el-table-column>
49
      <el-table-column
50
        fixed="right"
51
        header-align="center"
52
        align="center"
53
        width="150"
54
        label="操作">
55
        <template slot-scope="scope">
56
          <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
57
          <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
58
        </template>
59
      </el-table-column>
60
    </el-table>
61
    <el-pagination
62
      @size-change="sizeChangeHandle"
63
      @current-change="currentChangeHandle"
64
      :current-page="pageIndex"
65
      :page-sizes="[10, 20, 50, 100]"
66
      :page-size="pageSize"
67
      :total="totalPage"
68
      layout="total, sizes, prev, pager, next, jumper">
69
    </el-pagination>
70
    <!-- 弹窗, 新增 / 修改 -->
71
    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
72
  </div>
73
</template>
74
75
<script>
76
  import AddOrUpdate from './subject-add-or-update'
77
  export default {
78
    data () {
79
      return {
80
        dataForm: {
81
          key: ''
82
        },
83
        dataList: [],
84
        pageIndex: 1,
85
        pageSize: 10,
86
        totalPage: 0,
87
        dataListLoading: false,
88
        dataListSelections: [],
89
        addOrUpdateVisible: false
90
      }
91
    },
92
    components: {
93
      AddOrUpdate
94
    },
95
    activated () {
96
      this.getDataList()
97
    },
98
    methods: {
99
      // 获取数据列表
100
      getDataList () {
101
        this.dataListLoading = true
102
        this.$http({
103
          url: this.$http.adornUrl('/generator/subject/list'),
104
          method: 'get',
105
          params: this.$http.adornParams({
106
            'page': this.pageIndex,
107
            'limit': this.pageSize,
108
            'key': this.dataForm.key
109
          })
110
        }).then(({data}) => {
111
          if (data && data.code === 0) {
112
            this.dataList = data.page.list
113
            this.totalPage = data.page.totalCount
114
          } else {
115
            this.dataList = []
116
            this.totalPage = 0
117
          }
118
          this.dataListLoading = false
119
        })
120
      },
121
      // 每页数
122
      sizeChangeHandle (val) {
123
        this.pageSize = val
124
        this.pageIndex = 1
125
        this.getDataList()
126
      },
127
      // 当前页
128
      currentChangeHandle (val) {
129
        this.pageIndex = val
130
        this.getDataList()
131
      },
132
      // 多选
133
      selectionChangeHandle (val) {
134
        this.dataListSelections = val
135
      },
136
      // 新增 / 修改
137
      addOrUpdateHandle (id) {
138
        this.addOrUpdateVisible = true
139
        this.$nextTick(() => {
140
          this.$refs.addOrUpdate.init(id)
141
        })
142
      },
143
      // 删除
144
      deleteHandle (id) {
145
        var ids = id ? [id] : this.dataListSelections.map(item => {
146
          return item.id
147
        })
148
        this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
149
          confirmButtonText: '确定',
150
          cancelButtonText: '取消',
151
          type: 'warning'
152
        }).then(() => {
153
          this.$http({
154
            url: this.$http.adornUrl('/generator/subject/delete'),
155
            method: 'post',
156
            data: this.$http.adornData(ids, false)
157
          }).then(({data}) => {
158
            if (data && data.code === 0) {
159
              this.$message({
160
                message: '操作成功',
161
                type: 'success',
162
                duration: 1500,
163
                onClose: () => {
164
                  this.getDataList()
165
                }
166
              })
167
            } else {
168
              this.$message.error(data.msg)
169
            }
170
          })
171
        })
172
      }
173
    }
174
  }
175
</script>