createUser.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div>
  3. <el-button type="success" size="mini" @click="onShow">一键创建账号</el-button>
  4. <el-dialog
  5. title="授权角色"
  6. :visible.sync="drawer"
  7. width="564px"
  8. append-to-body
  9. @close="onClose">
  10. <div>
  11. <el-row :gutter="50">
  12. <el-form :model="form" :rules="rules" ref="form" size="mini" label-position="right">
  13. <el-col :span="24">
  14. <el-form-item label="授权角色" label-width="100px" prop="roleids">
  15. <el-select v-model="form.roleids" style="width:100%" placeholder="请选择" multiple>
  16. <el-option
  17. v-for="item in options"
  18. :key="item.index"
  19. :label="item.rolename"
  20. :value="item.roleid">
  21. <span style="float: left">{{ item.rolename }}</span>
  22. <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
  23. </el-option>
  24. </el-select>
  25. </el-form-item>
  26. </el-col>
  27. </el-form>
  28. </el-row>
  29. </div>
  30. <div class="dialog-footer">
  31. <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
  32. <el-button size="small" type="warning" @click="createUser" class="normal-btn-width btn-warning">确 定</el-button>
  33. </div>
  34. </el-dialog>
  35. </div>
  36. </template>
  37. <script>
  38. export default {
  39. data () {
  40. return {
  41. drawer:false,
  42. rules:{
  43. roleids: [
  44. { required: true, message: '请选择授权角色', trigger: 'change' }
  45. ],
  46. },
  47. form:{
  48. "userid": 0,
  49. "name": "",
  50. "phonenumber": "",
  51. "status": 1,
  52. "remarks":"",
  53. "roleids":[]
  54. },
  55. options:[]
  56. }
  57. },
  58. methods:{
  59. onShow () {
  60. console.log(this.data)
  61. this.drawer = true
  62. this.rolelist()
  63. },
  64. async rolelist () {
  65. let param = {
  66. "classname": "sysmanage.develop.optiontype.optiontype",
  67. "method": "optiontypeselect",
  68. "content": {
  69. "pageNumber": 1,
  70. "pageSize": 20,
  71. "typename": "role",
  72. "parameter": {
  73. }
  74. }
  75. }
  76. const res = await this.$api.requested(param)
  77. this.options = res.data
  78. },
  79. createUser () {
  80. this.$refs['form'].validate(async (valid) => {
  81. if (!valid) return false
  82. const res = await this.$api.requested({
  83. "classname": "webmanage.hr.hr",
  84. "method": "createUser",
  85. "content": {
  86. "hrid":this.$route.query.id,
  87. "roleids":this.form.roleids
  88. }
  89. })
  90. this.tool.showMessage(res,()=>{
  91. this.drawer = false
  92. this.$emit('onSuccess')
  93. })
  94. })
  95. },
  96. onClose () {
  97. this.$refs['form'].resetFields()
  98. }
  99. }
  100. }
  101. </script>
  102. <style scoped>
  103. .dialog-footer{
  104. margin-top:32px;
  105. text-align: center;
  106. }
  107. </style>