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