From a36a33fe9b9af48b3f03b7a6a19e622c8f3d376c Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 27 六月 2024 17:59:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue |   92 ++++++++
 Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue   |   66 ++++--
 Source/plt-web/plt-web-ui/src/views/system/role/index.vue                 |   13 +
 /dev/null                                                                 |  129 -----------
 Source/plt-web/plt-web-ui/src/views/system/user/index.vue                 |  202 ++++++++++++++++++
 Source/plt-web/plt-web-ui/src/api/system/user/api.js                      |   81 +++++++
 Source/plt-web/plt-web-ui/src/api/base/startWork/index.js                 |    9 
 Source/plt-web/plt-web-ui/src/views/system/department/index.vue           |   18 +
 Source/plt-web/plt-web-ui/src/views/system/password/index.vue             |   13 +
 Source/plt-web/plt-web-ui/src/components/system/department.vue            |   13 +
 Source/plt-web/plt-web-ui/src/main.js                                     |    3 
 Source/plt-web/plt-web-ui/src/views/system/user/option.js                 |    2 
 12 files changed, 489 insertions(+), 152 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/api/base/startWork/index.js b/Source/plt-web/plt-web-ui/src/api/base/startWork/index.js
index 388873f..102dc35 100644
--- a/Source/plt-web/plt-web-ui/src/api/base/startWork/index.js
+++ b/Source/plt-web/plt-web-ui/src/api/base/startWork/index.js
@@ -9,3 +9,12 @@
     params: params,
   });
 }
+
+//鑾峰彇娴佺▼妯℃澘涓殑鎵�鏈変换鍔¤妭鐐逛俊鎭�
+export const getAllProcessNode = (params) => {
+  return request({
+    url: '/api/processDefineController/getAllProcessNode',
+    method: 'get',
+    params: params,
+  });
+}
diff --git a/Source/plt-web/plt-web-ui/src/api/system/user/api.js b/Source/plt-web/plt-web-ui/src/api/system/user/api.js
new file mode 100644
index 0000000..3e042a6
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/api/system/user/api.js
@@ -0,0 +1,81 @@
+import request from '@/router/axios';
+
+// 鍒楄〃鏌ヨ
+export function getDataUsers(page,limit,params) {
+  return request({
+    url: "/api/userQueryController/getDataGridUsers",
+    method: "get",
+    params:{
+      page,
+      limit,
+      ...params
+    }
+  });
+}
+
+// 鍋滅敤鍚敤
+export function stopUser(params) {
+  return request({
+    url: "/api/userQueryController/stopUsers",
+    method: "post",
+    params
+  });
+}
+
+// 瑙掕壊鍏ㄦ煡璇�
+export function gridRoles(page,limit) {
+  return request({
+    url: "/api/roleQueryController/gridRoles",
+    method: "get",
+    params:{
+      page,limit
+    }
+  });
+}
+
+// 鏌ヨ褰撳墠鐢ㄦ埛宸叉嫢鏈夌殑瑙掕壊
+export function listRoleByUserOid(userOid) {
+  return request({
+    url: "/api/roleQueryController/listRoleByUserOid",
+    method: "get",
+    params:{
+      userOid
+    }
+  });
+}
+
+// 淇濆瓨瑙掕壊
+export function saveRights(params) {
+  return request({
+    url: "/api/roleQueryController/saveRights",
+    method: "post",
+    params
+  });
+}
+
+// 鏂板鎴愬憳
+export function addUser(data) {
+  return request({
+    url: "/api/roleQueryController/addUser",
+    method: "post",
+    data:data
+  });
+}
+
+// 淇敼鎴愬憳
+export function updateUser(data) {
+  return request({
+    url: "/api/roleQueryController/updateUser",
+    method: "post",
+    data:data
+  });
+}
+
+// 鍒犻櫎鎴愬憳
+export function deleteUser(params) {
+  return request({
+    url: "/api/roleQueryController/deleteUser",
+    method: "delete",
+    params
+  });
+}
diff --git a/Source/plt-web/plt-web-ui/src/api/user/userManageApi.js b/Source/plt-web/plt-web-ui/src/api/user/userManageApi.js
deleted file mode 100644
index 0dacb61..0000000
--- a/Source/plt-web/plt-web-ui/src/api/user/userManageApi.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import request from '@/router/axios';
-
-// 鍒楄〃鏌ヨ
-export function getDataUsers(page,limit,params) {
-  return request({
-    url: "/api/userQueryController/getDataGridUsers",
-    method: "get",
-    params:{
-      page,
-      limit,
-      ...params
-    }
-  });
-}
-
-// 鍋滅敤鍚敤
-export function stopUser(data) {
-  return request({
-    url: "/api/userQueryController/stopUser",
-    method: "post",
-    data:data
-  });
-}
diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
new file mode 100644
index 0000000..8afee4f
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/transfer.vue
@@ -0,0 +1,92 @@
+<template>
+    <el-dialog
+      v-dialogDrag
+      :close-on-click-modal="false"
+      :destroy-on-close="true"
+      :title="title"
+      :visible.sync="visible"
+      append-to-body="true"
+      class="avue-dialog"
+      style="text-align: center"
+      width="40%"
+      @close="dialogClose">
+      <el-transfer
+        v-model="rightRoleData"
+        v-loading="loading"
+        :data="data"
+        :filter-method="filterMethod"
+        :render-content="renderFunc"
+        :titles="['鐜版湁瑙掕壊', '鎷ユ湁瑙掕壊']"
+        filter-placeholder="瑙掕壊鍚嶇О鎼滅储"
+        filterable
+        style="text-align: left; display: inline-block;">
+      </el-transfer>
+      <span slot="footer" class="dialog-footer">
+    <el-button @click="visible = false">鍙� 娑�</el-button>
+    <el-button type="primary" @click="sendHandler">纭� 瀹�</el-button>
+  </span>
+    </el-dialog>
+</template>
+
+<script>
+export default {
+  name: "transfer",
+  props: ['title', 'leftRoleData', 'rightRoleData'],
+  data() {
+    return {
+      visible: false, // 閫氳繃 this.$refs.transfer.visible = true; 寮�鍚瓙缁勪欢瀵硅瘽妗�
+      data: [],
+      value: [],
+      loading: false,
+      filterMethod(query, item) {
+        return item.label.indexOf(query) > -1;
+      },
+      renderFunc(h, option) {
+        return <span><i class="el-icon-s-custom"></i> { option.label }</span>;
+      }
+    }
+  },
+  watch: {
+    //娓叉煋绌挎妗�
+    leftRoleData: {
+      handler(newval, oldval) {
+        if (newval) {
+          // 娓呯┖data鏁扮粍
+          this.data = [];
+          newval.forEach((city, index) => {
+            this.data.push({
+              label: city.name,
+              key: city.oid,
+            });
+          });
+          this.loading = false;
+        }
+      }
+    },
+  },
+  created() {
+    this.loading = true;
+  },
+  methods: {
+    dialogClose() {
+      this.visible = false;
+      this.data = [];
+      this.leftRoleData = [];
+    },
+    sendHandler() {
+      this.$emit('transferSend', this.rightRoleData);
+      this.visible = false;
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+/deep/ .el-transfer-panel{ /* 宸﹀彸涓や釜绌挎妗嗙殑楂樺害鍜屽搴� */
+  height: 450px;
+}
+/deep/ .el-transfer-panel__list.is-filterable {
+  height: 323px; /* 绌挎妗嗗垪琛ㄩ珮搴� */
+}
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue b/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
index 65e9ee6..ac10977 100644
--- a/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
+++ b/Source/plt-web/plt-web-ui/src/components/actions/base/startWorkFlow.vue
@@ -1,14 +1,14 @@
 <template>
   <el-dialog v-dialogDrag
-             append-to-body="true"
              :close-on-click-modal="false"
              :destroy-on-close="true"
              :visible.sync="visible"
              :width="width"
+             append-to-body="true"
              class="avue-dialog"
+             style="margin-top: -10% !important;"
              title="鍚姩娴佺▼"
              top="0"
-             style="margin-top: -10% !important;"
              @close="dialogClose">
 
     <el-form :model="saveParam" :rules="rules" class="demo-form-inline" label-position="left" label-width="auto">
@@ -26,15 +26,15 @@
     </el-form>
 
     <el-divider></el-divider>
-<!--    <div class="btns-icon">-->
-<!--      <el-button circle icon="el-icon-star-off" @click="handleCollect"></el-button>-->
-<!--    </div>-->
+    <!--    <div class="btns-icon">-->
+    <!--      <el-button circle icon="el-icon-star-off" @click="handleCollect"></el-button>-->
+    <!--    </div>-->
     <el-form :model="collectParam" class="demo-form-inline" label-position="left" label-width="auto">
-      <el-form-item v-for="(item, index) in initFrom" :key="index" :label="item.taskName">
-        <el-select v-model="collectParam.flowTaskUsers[index]['userId']" :placeholder="item.taskName" filterable
-                   style="width: 100%;" @change="handleSelect($event, index)">
-          <el-option v-for="(key, keyi) in typeName" :key="keyi" :label="key.userNames"
-                     :value="key.userId"></el-option>
+      <el-form-item v-for="(item, index) in initFrom" :key="index" :label="`鑺傜偣${index + 1}`">
+        <el-select style="width: 100%;" filterable v-model="collectParam.flowTaskUsers[index]['userId']"
+                   :placeholder="item.value" @change="handleSelect($event, index)">
+          <el-option :label="key.name" :value="key.name" v-for="(key, keyi) in item.processNodes"
+                     :key="keyi"></el-option>
         </el-select>
       </el-form-item>
     </el-form>
@@ -48,7 +48,8 @@
 
 <script>
 import {validatenull} from "@/util/validate";
-import {getTemplateByType} from "@/api/base/startWork/index"
+import {getTemplateByType, getAllProcessNode} from "@/api/base/startWork/index"
+
 export default {
   name: "startWorkFlow",
   props: {
@@ -76,8 +77,8 @@
       typeName: [], // 娴佺▼鑺傜偣option寰幆閫夐」
       rules: {
         processName: [
-          { required: true, message: '娴佺▼鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' },
-          { min: 3, max: 50, message: '闀垮害鍦� 3 鍒� 50 涓瓧绗�', trigger: 'blur' }
+          {required: true, message: '娴佺▼鍚嶇О涓嶈兘涓虹┖', trigger: 'blur'},
+          {min: 3, max: 50, message: '闀垮害鍦� 3 鍒� 50 涓瓧绗�', trigger: 'blur'}
         ]
       }
     }
@@ -92,7 +93,7 @@
     },
     parameter: {
       handler(newval, oldval) {
-        this.saveParam = Object.assign({processName: '', processDesc: '' , }, newval);
+        this.saveParam = Object.assign({processName: '', processDesc: '',}, newval);
       },
       deep: true,
       immediate: true
@@ -127,15 +128,36 @@
   },
   methods: {
     // 鑾峰彇娴佺▼妯℃澘淇℃伅
-    getWorkByType(){
+    getWorkByType() {
       let params = {
-        type:'鏂囨。瀹$娴佺▼',
-        filterTemplate:""
+        type: '鏂囨。瀹$娴佺▼',
+        filterTemplate: ""
       }
       getTemplateByType(params).then(res => {
-        console.log(res)
+        const data = res.data.data;
+        data.forEach(item => {
+          this.getProcessNode(item);
+        })
+        this.initFrom = data;
+      }).catch(error => {
+        console.log(error);
       })
     },
+
+    // 璇锋眰娴佺▼鑺傜偣
+    getProcessNode(item) {
+      let params = {
+        processOid: item.attributes.oid,
+        maxSecret: -1
+      }
+      getAllProcessNode(params).then(res => {
+        const nodes = res.data.data;
+        item.processNodes = nodes;
+      }).catch(error => {
+        console.log(error);
+      })
+    },
+
     // 鍏抽棴寮圭獥
     dialogClose() {
       this.visible = false;
@@ -154,11 +176,11 @@
     },
 
     handleConfirm() {
-      console.log(this.paramVOS)
+      console.log(this.initFrom);
     },
 
-  //  娴佺▼鍚嶇О鍒濆鍖栫粦瀹�
-    modelNameChange(){
+    //  娴佺▼鍚嶇О鍒濆鍖栫粦瀹�
+    modelNameChange() {
       var userInfo = JSON.parse(localStorage.getItem('saber-userInfo'));
 
       if (this.paramVOS && this.paramVOS.modelName) {
@@ -173,6 +195,6 @@
 }
 </script>
 
-<style scoped lang="scss">
+<style lang="scss" scoped>
 
 </style>
diff --git a/Source/plt-web/plt-web-ui/src/components/system/department.vue b/Source/plt-web/plt-web-ui/src/components/system/department.vue
new file mode 100644
index 0000000..8ba9be2
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/components/system/department.vue
@@ -0,0 +1,13 @@
+<template>
+
+</template>
+
+<script>
+export default {
+name: "department"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/main.js b/Source/plt-web/plt-web-ui/src/main.js
index ddd3748..5471b03 100644
--- a/Source/plt-web/plt-web-ui/src/main.js
+++ b/Source/plt-web/plt-web-ui/src/main.js
@@ -42,6 +42,8 @@
 import UploadFiles from  '@/components/PLT-basic-component/Upload-files'
 // 琛ㄥ崟涓婁紶鏂囦欢缁勪欢
 import formUpload from "@/components/PLT-basic-component/formUpload";
+// 绌挎妗嗙粍浠�
+import transfer from "@/components/PLT-basic-component/transfer";
 // 娉ㄥ唽鍏ㄥ眬瀹瑰櫒
 Vue.component('basicContainer', basicContainer);
 Vue.component('basicBlock', basicBlock);
@@ -57,6 +59,7 @@
 Vue.component('UploadFiles', UploadFiles);
 Vue.component('formUpload', formUpload);
 Vue.component('Divider', Divider);
+Vue.component('transfer', transfer);
 
 import 'quill/dist/quill.core.css'
 import 'quill/dist/quill.snow.css'
diff --git a/Source/plt-web/plt-web-ui/src/views/system/department/index.vue b/Source/plt-web/plt-web-ui/src/views/system/department/index.vue
new file mode 100644
index 0000000..fe8983e
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/system/department/index.vue
@@ -0,0 +1,18 @@
+<template>
+  <basic-container>
+  </basic-container>
+</template>
+
+<script>
+export default {
+  name: "departmentManage",
+  data() {
+    return {
+    }
+  },
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/system/password/index.vue b/Source/plt-web/plt-web-ui/src/views/system/password/index.vue
new file mode 100644
index 0000000..54b19c1
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/system/password/index.vue
@@ -0,0 +1,13 @@
+<template>
+
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/system/role/index.vue b/Source/plt-web/plt-web-ui/src/views/system/role/index.vue
new file mode 100644
index 0000000..82a0b37
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -0,0 +1,13 @@
+<template>
+
+</template>
+
+<script>
+export default {
+name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
new file mode 100644
index 0000000..45970cc
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -0,0 +1,202 @@
+<template>
+  <basic-container>
+    <avue-crud
+      ref="userCrud"
+      :data="tableData"
+      :option="option"
+      :page.sync="page"
+      :table-loading="tableLoading"
+      @on-load="getTableList"
+      @refresh-change="handleRefresh"
+      @search-change="handleSearch"
+      @search-reset="handleReset"
+      @size-change="sizeChange"
+      @current-change="currentChange"
+      @selection-change="selectChange"
+      @row-click="rowClickHandler"
+    >
+      <template slot="status" slot-scope="{row}">
+        <el-tag v-if="row.status === 0" type="success">鍚敤</el-tag>
+        <el-tag v-if="row.status === 1" type="danger">鍋滅敤</el-tag>
+      </template>
+
+      <template slot="lockFlag" slot-scope="{row}">
+        <el-tag v-if="!row.lockFlag" type="success">鏈攣瀹�</el-tag>
+        <el-tag v-if="row.lockFlag" type="danger">閿佸畾</el-tag>
+      </template>
+
+      <template #menu="{row,index,size}">
+        <el-button size="small" type="text" @click="stopUserHandler(row)">
+          <span v-if="row.status === 0" style="color: #fa3434"><i class="el-icon-video-pause"></i> 鍋滅敤</span>
+          <span v-if="row.status === 1" style="color: #55b61d"><i class="el-icon-video-pause"></i> 鍚敤</span>
+        </el-button>
+      </template>
+
+      <template slot="menuLeft" slot-scope="scope">
+        <el-button icon="el-icon-delete" plain size="small" type="danger">鍒犻櫎</el-button>
+        <el-button icon="el-icon-user" plain size="small" type="primary" @click="roleHandler">鍒嗛厤瑙掕壊</el-button>
+        <el-button icon="el-icon-school" plain size="small" type="primary">鍒嗛厤閮ㄩ棬</el-button>
+        <el-button icon="el-icon-key" plain size="small" type="success">璁剧疆瀵嗙爜绛栫暐</el-button>
+        <el-button icon="el-icon-upload2" plain size="small" type="primary">瀵煎叆浜哄憳</el-button>
+        <el-button icon="el-icon-download" plain size="small" type="primary">涓嬭浇瀵煎叆妯℃澘</el-button>
+      </template>
+    </avue-crud>
+    <transfer ref="transfer" :left-role-data="leftRoleData" :right-role-data="rightRoleData" title="鍒嗛厤瑙掕壊"
+              @transferSend="roleSendHandler"></transfer>
+  </basic-container>
+</template>
+
+<script>
+import basicOption from '@/util/basic-option'
+import {getDataUsers, stopUser, gridRoles, listRoleByUserOid, saveRights, addUser, updateUser, deleteUser} from '@/api/system/user/api'
+import {column} from "./option"
+import func from '@/util/func'
+
+export default {
+  name: "userManage",
+  data() {
+    return {
+      tableLoading: false,
+      tableData: [],
+      option: {
+        ...basicOption,
+        calcHeight: -60,
+        column: column
+      },
+      page: {
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+        pageSizes: [10, 30, 50, 100],
+      },
+      searchParams: {},
+      selectList: [],
+      leftRoleData: [],  // 鍒嗛厤瑙掕壊绌挎妗嗗乏渚ч粯璁ゆ暟鎹�
+      rightRoleData: [], // 鍒嗛厤瑙掕壊绌挎妗嗗彸渚ч粯璁ゆ暟鎹�
+    }
+  },
+  created() {
+  },
+  methods: {
+    // 琛ㄦ牸璇锋眰
+    getTableList() {
+      this.tableLoading = true;
+      getDataUsers(this.page.currentPage, this.page.pageSize, this.searchParams).then(res => {
+        const data = res.data.data;
+        this.tableData = data;
+        this.page.total = res.data.total;
+        this.tableLoading = false;
+      }).catch(err => {
+        this.$message.error(err)
+      });
+    },
+
+    // 琛ㄦ牸鍙充晶鍒锋柊鍥炬爣
+    handleRefresh() {
+      this.getTableList();
+    },
+
+    // 鎼滅储鏌ヨ
+    handleSearch(params, done) {
+      if (!func.isEmptyObject(params)) {
+        for (let key in params) {
+          if (params.hasOwnProperty(key)) {
+            // 鍒ゆ柇濡傛灉 key 鏄� 'pkPersonName'锛屽垯鏀逛负 'pkPerson' 鍒嗗埆涓烘樉绀哄�煎拰淇濆瓨鍊�
+            let newKey = key === 'pkPersonName' ? 'pkPerson' : key;
+            this.searchParams[`conditionMap["${newKey}"]`] = params[key];
+          }
+        }
+      } else {
+        this.searchParams = {};
+      }
+      this.getTableList();
+      done();
+    },
+
+    // 閲嶇疆鎼滅储鏉′欢
+    handleReset() {
+      this.searchParams = {};
+      this.getTableList();
+    },
+
+    // 鏉℃暟
+    sizeChange(val) {
+      this.page.pageSize = val;
+    },
+
+    // 椤电爜
+    currentChange(val) {
+      this.page.currentPage = val;
+    },
+
+    // 鍋滅敤鍚敤
+    stopUserHandler(row) {
+      let params = {};
+      params = {
+        ids: row.oid,
+        flag: row.status === 0 ? true : false
+      }
+      stopUser(params).then(res => {
+        this.$message.success(res.data.obj);
+        this.getTableList();
+      }).catch(err => {
+        this.$message.error(err)
+      })
+    },
+
+    // 閫夋嫨妗�
+    selectChange(row) {
+      this.selectList = row;
+    },
+
+    // 鐐瑰嚮琛�
+    rowClickHandler(row) {
+      this.$refs.userCrud.toggleRowSelection(row);
+    },
+
+    // 鍒嗛厤瑙掕壊
+    roleHandler() {
+      if (this.selectList.length > 1) {
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹繘琛屽垎閰嶏紒');
+        return;
+      }
+
+      if (this.selectList.length < 1) {
+        this.$message.warning('鑷冲皯閫夋嫨涓�鏉℃暟鎹繘琛屽垎閰嶏紒');
+        return;
+      }
+      this.leftRoleData = [];
+      this.rightRoleData = [];
+      const userOid = this.selectList[0].oid;
+      gridRoles(1, -1).then(res => {
+        this.leftRoleData = res.data.data;
+        listRoleByUserOid(userOid).then(res => {
+          this.rightRoleData = res.data.data.map(item => item.oid);
+        })
+      }).catch(err => {
+        this.$message.error(err)
+      })
+      this.$refs.transfer.visible = true;
+    },
+
+    // 绌挎妗嗙粍浠跺洖濉�
+    roleSendHandler(row) {
+      let params = {
+        userOid: this.selectList[0].oid,
+        roleIds: row.join(',')
+      }
+      saveRights(params).then(res => {
+        this.$message.success(res.data.obj);
+        this.getTableList();
+      }).catch(err => {
+        this.$message.error(err)
+      })
+    }
+  }
+
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/user/userManage.js b/Source/plt-web/plt-web-ui/src/views/system/user/option.js
similarity index 96%
rename from Source/plt-web/plt-web-ui/src/views/user/userManage.js
rename to Source/plt-web/plt-web-ui/src/views/system/user/option.js
index ae166ce..0602863 100644
--- a/Source/plt-web/plt-web-ui/src/views/user/userManage.js
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/option.js
@@ -52,7 +52,7 @@
     prop: 'pkPersonName',
     align:'center',
     type:'select',
-    dicUrl: 'api/roleQueryController/refDataGrid',
+    dicUrl: 'api/roleQueryController/gridRoles',
     props: {
       label: 'name',
       value: 'oid'
diff --git a/Source/plt-web/plt-web-ui/src/views/user/userManage.vue b/Source/plt-web/plt-web-ui/src/views/user/userManage.vue
deleted file mode 100644
index 2f0309a..0000000
--- a/Source/plt-web/plt-web-ui/src/views/user/userManage.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
-  <basic-container>
-    <avue-crud
-      :data="tableData"
-      :option="option"
-      :page.sync="page"
-      :table-loading="tableLoading"
-      @on-load="getTableList"
-      @refresh-change="handleRefresh"
-      @search-change="handleSearch"
-      @search-reset="handleReset"
-      @size-change="sizeChange"
-      @current-change="currentChange"
-    >
-      <template slot="status" slot-scope="{row}">
-        <el-tag v-if="row.status === 0" type="success">鍚敤</el-tag>
-        <el-tag v-if="row.status === 1" type="danger">鍋滅敤</el-tag>
-      </template>
-
-      <template slot="lockFlag" slot-scope="{row}">
-        <el-tag v-if="!row.lockFlag" type="success">鏈攣瀹�</el-tag>
-        <el-tag v-if="row.lockFlag" type="danger">閿佸畾</el-tag>
-      </template>
-
-      <template #menu="{row,index,size}">
-        <el-button size="small" type="text" @click="stopUserHandler(row)">
-          <span style="color: #fa3434" v-if="row.status === 0"><i class="el-icon-video-pause"></i> 鍋滅敤</span>
-          <span style="color: #55b61d" v-if="row.status === 1"><i class="el-icon-video-pause"></i> 鍚敤</span>
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-</template>
-
-<script>
-import basicOption from '@/util/basic-option'
-import {getDataUsers, stopUser} from '@/api/user/userManageApi'
-import {column} from "./userManage"
-import func from '@/util/func'
-
-export default {
-  name: "userManage",
-  data() {
-    return {
-      tableLoading: false,
-      tableData: [],
-      option: {
-        ...basicOption,
-        calcHeight: -60,
-        column: column
-      },
-      page: {
-        currentPage: 1,
-        pageSize: 10,
-        total: 0,
-        pageSizes: [10, 30, 50, 100],
-      },
-      searchParams: {},
-    }
-  },
-  created() {
-  },
-  methods: {
-    // 琛ㄦ牸璇锋眰
-    getTableList() {
-      getDataUsers(this.page.currentPage, this.page.pageSize, this.searchParams).then(res => {
-        const data = res.data.data;
-        this.tableData = data;
-        this.page.total = res.data.total;
-      });
-    },
-
-    // 琛ㄦ牸鍙充晶鍒锋柊鍥炬爣
-    handleRefresh() {
-      this.getTableList();
-    },
-
-    // 鎼滅储鏌ヨ
-    handleSearch(params, done) {
-      if (!func.isEmptyObject(params)) {
-        for (let key in params) {
-          if (params.hasOwnProperty(key)) {
-            // 鍒ゆ柇濡傛灉 key 鏄� 'pkPersonName'锛屽垯鏀逛负 'pkPerson' 鍒嗗埆涓烘樉绀哄�煎拰淇濆瓨鍊�
-            let newKey = key === 'pkPersonName' ? 'pkPerson' : key;
-            this.searchParams[`conditionMap["${newKey}"]`] = params[key];
-          }
-        }
-      } else {
-        this.searchParams = {};
-      }
-      this.getTableList();
-      done();
-    },
-
-    // 閲嶇疆鎼滅储鏉′欢
-    handleReset() {
-      this.searchParams = {};
-      this.getTableList();
-    },
-
-    // 鏉℃暟
-    sizeChange(val) {
-      this.page.pageSize = val;
-    },
-
-    // 椤电爜
-    currentChange(val) {
-      this.page.currentPage = val;
-    },
-
-    // 鍋滅敤鍚敤
-    stopUserHandler(row){
-      let params = {};
-      params = {
-        idList:row.oid,
-        flag: row.status === 0 ? true : false
-      }
-      stopUser(params).then(res => {
-        console.log(res)
-      })
-    }
-  }
-
-}
-</script>
-
-<style scoped>
-
-</style>

--
Gitblit v1.9.3