From 56bdc677d717f8f1d8ff6ff4c87e733d1206e8be Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 27 六月 2024 17:58:15 +0800 Subject: [PATCH] 用户停用启用 分配角色穿梭框功能 创建其他人员组织菜单 表格优化 --- 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