田源
2024-08-19 39a6e2d4cbbc789955400ffd2352514a8fe4c188
Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -40,7 +40,6 @@
    <el-dialog
      v-dialogDrag
      v-loading="statisticsLoading"
      :destroy-on-close="true"
      :visible.sync="statisticsVisible"
      append-to-body="true"
      class="avue-dialog"
@@ -54,14 +53,15 @@
      </avue-crud>
      <div slot="footer" class="dialog-footer" style="display: flex;gap: 20px;justify-content: center">
        <div>
          <el-tag>当前角色总人数: {{this.countData.length}}</el-tag>
          <el-tag>当前角色总人数: {{ this.countData.length }}</el-tag>
        </div>
        <el-button size="small" @click="statisticsVisible = false" icon="el-icon-close" type="danger">关 闭</el-button>
        <el-button icon="el-icon-close" size="small" type="danger" @click="statisticsVisible = false">关 闭</el-button>
      </div>
    </el-dialog>
    <!-- 导入角色  -->
    <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" @updata="getTableList" title="导入角色"></upload-file>
    <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导入角色"
                 @updata="getTableList"></upload-file>
  </basic-container>
</template>
@@ -78,6 +78,7 @@
} from '@/api/system/role/api'
import basicOption from "@/util/basic-option";
import {column} from "@/views/system/role/option";
import func from "@/util/func";
export default {
  name: "index",
@@ -88,8 +89,8 @@
        ...basicOption,
        dialogTop: 0,
        dialogWidth: '30%',
        column: column,
        calcHeight: -60,
        column: column
      },
      page: {
        currentPage: 1,
@@ -108,10 +109,10 @@
      countData: [],
      countOption: {
        ...basicOption,
        selection:false,
        selection: false,
        refreshBtn: false,
        addBtn:false,
        menu:false,
        addBtn: false,
        menu: false,
        column: [
          {
            label: '部门',
@@ -132,11 +133,13 @@
            label: '角色',
            prop: 'pkPersonName',
            sortable: true,
            overHidden: true,
          },
        ]
      },
      upFileType: ['xls', 'xlsx'],
      fileUrl: 'api/roleQueryController/importRole',
      tipList: ["角色导入只有 名称 和 描述 两列,且名称为必输项不能为空"]
    }
  },
  methods: {
@@ -173,34 +176,44 @@
    // 行单选
    rowClickHandler(row) {
      this.$refs.roleCrud.toggleRowSelection(row);
      func.rowClickHandler(
        row,
        this.$refs.roleCrud,
        this.lastIndex,
        (newIndex) => { this.lastIndex = newIndex; },
        () => { this.selectList = []; }
      );
    },
    // 添加
    rowSaveHandler(row, done) {
    rowSaveHandler(row, done, loading) {
      delete row.roleClassifyText;
      addRole(row).then(res => {
        console.log(res)
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done();
        }
      }).catch(err => {
        console.log(err);
        loading();
      })
      done();
    },
    // 编辑
    rowUpdateHandler(row, index, done) {
    rowUpdateHandler(row, index, done, loading) {
      delete row.roleClassifyText;
      updateRole(row).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
          done();
        }
      }).catch(err => {
        loading();
        console.log(err);
      });
      done()
    },
    // 删除
@@ -208,14 +221,24 @@
      let params = {
        ids: row.oid
      }
      deleteRole(params).then(res => {
        if (res.data.code === 200) {
          this.$message.success(res.data.obj);
          this.getTableList();
        }
      }).catch(err => {
        console.log(err);
      })
      this.$confirm('您确定要删除当前角色吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteRole(params).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getTableList();
          }
        });
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    // 多选删除
@@ -311,9 +334,9 @@
          this.countData = data.map(item => {
            return {
              pkDepartmentName: item.pkDepartmentName,
              name:item.name,
              id:item.id,
              pkPersonName:this.selectList[0].name
              name: item.name,
              id: item.id,
              pkPersonName: this.selectList[0].name
            }
          });
          this.statisticsVisible = true;
@@ -324,7 +347,7 @@
    },
    // 导入角色
    upLoadRole(){
    upLoadRole() {
      this.$refs.upload.visible = true;
    }
  }