小小儁爺
2024-08-08 d20654ba067e5c0621d4d7d95915cbe47a10fe87
src/views/basicSettings/roleList.vue
@@ -163,7 +163,7 @@
        :page.sync="form.page"
        :limit.sync="form.rows"
        align="right"
        layout="total ,prev, pager, next,sizes"
        layout="total ,prev, pager, next,sizes,jumper"
        popper-class="select_bottom"
        @pagination="getRoleSearch"
      />
@@ -187,6 +187,21 @@
        <el-form-item label="角色名称" prop="RoleName">
          <el-input v-model="dialogForm.RoleName" style="width: 200px" />
        </el-form-item>
        <el-form-item label="所属组织" prop="stu_torgcode">
          <el-cascader
            ref="dialogCascader"
            key="cascaderKey"
            v-model="dialogForm.stu_torgcode"
            filterable
            popper-class="elCascader"
            :options="StuOrgArr"
            :props="defaultProps"
            style="width: 200px;"
            @change="dialogCascaderChange"
          />
        </el-form-item>
        <el-form-item prop="RoleTypeCode" label="角色类型">
          <el-select
            v-model="dialogForm.RoleTypeCode"
@@ -196,7 +211,7 @@
            placeholder="请选择"
          >
            <el-option
              v-for="item in RoleTypeCodeArr2"
              v-for="item in RoleTypeCodeArr3"
              :key="item.roletype_code"
              :label="item.roletype_name"
              :value="item.roletype_code"
@@ -239,7 +254,7 @@
        ref="RoleTypeCodeArr"
        :data="RoleTypeCodeArr"
        border
        height="300"
        height="377"
        highlight-current-row
        :header-cell-style="this.$headerCellStyle"
        :cell-style="this.$cellStyle"
@@ -257,6 +272,32 @@
          label="序号"
          prop="RowNum"
        />
        <el-table-column
          v-if="$store.state.settings.orgType!=='W'"
          prop="roletype_code"
          label="所属组织"
          show-tooltip-when-overflow
          sortable="custom"
        >
          <template slot-scope="{row}">
            <el-cascader
              v-if="row.isVisible===1"
              ref="dialogCascader"
              key="cascaderKey"
              v-model="row.storg_code"
              filterable
              popper-class="elCascader"
              :options="StuOrgArr"
              :props="defaultProps"
              style="width: 200px;"
            />
            <div v-else>
              {{ row.org_name }}
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="roletype_code"
          label="类型编码"
@@ -350,14 +391,13 @@
            <el-cascader
              ref="dialogCascaderUser"
              key="cascaderKey"
              v-model="dialogFormUser.orgcode"
              filterable
              popper-class="elCascader"
              :append-to-body="false"
              :options="StuOrgArr"
              :props="defaultProps"
              :style="{width:isIpad? '180px':'200px'}"
              @change="dialogCascaderChange"
            />
            <!--            @focus="getUserOrganization"-->
          </el-form-item>
@@ -613,9 +653,10 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import TableColumnSettings from '@/components/TableColumnSettings'
import { StorgRoleSelect } from '@/api/basicInfo'
export default {
  name: 'JSQD',
  name: 'RoleList',
  components: {
    Pagination, ImportPicker, TableColumnSettings
  },
@@ -638,6 +679,7 @@
      total: 10,
      RoleTypeCodeArr: [], // 角色类型编码数组
      RoleTypeCodeArr2: [], // 角色类型编码数组  搜索
      RoleTypeCodeArr3: [], // 新增时的角色类型数组
      RoleTypeCodeArrLength: 0,
      formSetting: {
        page: 1,
@@ -669,13 +711,31 @@
          show: true,
          fixed: false,
          sortable: true
        }, {
          minWidth: 110,
          width: false,
          prop: 'torg_code',
          label: '组织编码',
          id: 5,
          show: false,
          fixed: false,
          sortable: true
        }, {
          minWidth: 110,
          width: false,
          prop: 'org_name',
          label: '所属组织',
          id: 6,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          prop: 'roletype_code',
          label: '角色类型编码',
          id: 5,
          id: 7,
          show: false,
          fixed: false,
          sortable: true
@@ -685,7 +745,7 @@
          width: false,
          prop: 'roletype_name',
          label: '角色类型',
          id: 6,
          id: 8,
          show: true,
          fixed: false,
          sortable: true
@@ -695,7 +755,7 @@
          width: false,
          prop: 'description',
          label: '角色描述',
          id: 7,
          id: 9,
          show: true,
          fixed: false,
          sortable: true
@@ -705,8 +765,8 @@
          width: false,
          prop: 'is_user',
          label: '关联用户',
          id: 8,
          show: true,
          id: 10,
          show: false,
          fixed: false,
          sortable: true
        },
@@ -715,7 +775,7 @@
          width: false,
          prop: 'is_right',
          label: '分配权限',
          id: 9,
          id: 11,
          show: true,
          fixed: false,
          sortable: true
@@ -725,7 +785,7 @@
          width: false,
          prop: 'lm_user',
          label: '创建人员',
          id: 10,
          id: 12,
          show: true,
          fixed: false,
          sortable: true
@@ -735,7 +795,7 @@
          width: false,
          prop: 'lm_date',
          label: '创建时间',
          id: 11,
          id: 13,
          show: true,
          fixed: false,
          sortable: true
@@ -748,6 +808,7 @@
        RoleId: '',
        RoleCode: '', // 角色编码
        RoleName: '', // 角色名称
        stu_torgcode: getCookie('stu_torgcode'), // 所属组织
        RoleTypeCode: '', // 角色类型
        description: ''//
      },
@@ -761,6 +822,9 @@
        ],
        RoleTypeCode: [
          { required: true, message: '请选择角色类型', trigger: ['blur', 'change'] }
        ],
        stu_torgcode: [
          { required: true, message: '请选择所属组织', trigger: ['blur', 'change'] }
        ]
      },
      settingDialogVisible: false,
@@ -787,7 +851,8 @@
        checkStrictly: true,
        value: 'code',
        label: 'name',
        children: 'children'
        children: 'children',
        emitPath: false
      },
      roleArr: [
        { value: 'Y', label: '是' },
@@ -932,6 +997,10 @@
    add(operation) {
      this.operation = operation
      this.dialogVisible = true
      if (this.$store.state.settings.orgType !== '') {
        this.getStorgRoleSelect(getCookie('stu_torgcode'), this.StuOrgArr.find(i => i.code === getCookie('stu_torgcode')) ? 'D' : 'W')
      }
    },
    // 修改按钮
    edit(operation, row) {
@@ -949,6 +1018,8 @@
        this.dialogForm.RoleName = row.role_name
        this.dialogForm.RoleTypeCode = row.roletype_code
        this.dialogForm.description = row.description
        this.dialogForm.stu_torgcode = row.torg_code
        this.getStorgRoleSelect(row.torg_code, this.StuOrgArr.find(i => i.code === row.torg_code) ? 'D' : 'W')
      })
    },
    // 删除按钮
@@ -974,6 +1045,20 @@
        this.$message.info('已取消删除')
      })
    },
    // 级联选择器
    dialogCascaderChange(val) {
      this.dialogForm.RoleTypeCode = ''
      this.getStorgRoleSelect(val, this.StuOrgArr.find(i => i.code === val) ? 'D' : 'W')
    },
    async   getStorgRoleSelect(stu_torgcode, description) {
      const data = {
        stu_torgcode,
        description
      }
      const { data: res } = await StorgRoleSelect(data)
      this.RoleTypeCodeArr3 = res
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.RoleId = ''
@@ -981,6 +1066,8 @@
      this.dialogForm.RoleName = ''
      this.dialogForm.RoleTypeCode = ''
      this.dialogForm.description = ''
      this.dialogForm.stu_torgcode = getCookie('stu_torgcode')
      this.RoleTypeCodeArr3 = []
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
@@ -998,6 +1085,7 @@
            RoleName: this.dialogForm.RoleName,
            RoleTypeCode: this.dialogForm.RoleTypeCode,
            description: this.dialogForm.description,
            stu_torgcode: this.dialogForm.stu_torgcode,
            OperType: this.operation === 'add' ? 'Add' : 'Update'
            // Operator: getCookie('admin')
          }
@@ -1056,7 +1144,7 @@
      let number = Math.random() * Math.random()// 作为删除时的标识符
      number = number === 0 ? (10 + Math.random()) : number
      const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
      const data = { storg_code: getCookie('stu_torgcode'), roletype_code: '', roletype_name: '', isVisible: 1, number: number }
      this.RoleTypeCodeArr.unshift(data)
    },
    // 删除按钮
@@ -1089,7 +1177,8 @@
      }
      const data = {
        code: row.roletype_code,
        name: row.roletype_name
        name: row.roletype_name,
        flag: row.storg_code
      }
      const res = await RoleTypeAdd([data])
      if (res.code === '200') {
@@ -1215,10 +1304,7 @@
        this.$store.state.app.buttonIsDisabled = false
      }
    },
    // 级联选择器
    dialogCascaderChange(val) {
      this.dialogFormUser.orgcode = val[val.length - 1]
    },
    // 置空按钮
    setRoleAssociationUser() {
      this.dialogFormUser.usercode = ''