From 2fc52c10964ef98247e6e0eeb4be9c85c9d513f6 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 22 十一月 2024 11:06:17 +0800
Subject: [PATCH] 修改basic表单组件
---
Source/plt-web/plt-web-ui/src/views/system/user/index.vue | 178 ++++++++++++++++++++++-------------------------------------
1 files changed, 66 insertions(+), 112 deletions(-)
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
index 1970aa3..3751399 100644
--- 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
@@ -2,7 +2,6 @@
<basic-container>
<avue-crud
ref="userCrud"
- :before-open="beforeOpen"
:data="tableData"
:option="option"
:page.sync="page"
@@ -18,26 +17,6 @@
@row-save="rowSaveHandler"
@row-update="rowUpdateHandler"
>
- <!-- 閮ㄩ棬澶撮儴鎼滅储鎻掓Ы -->
- <template slot-scope="{disabled,size}" slot="pkDepartmentNameSearch">
- <div style="display: flex;gap: 5px">
- <el-select v-model="departSearchValue" clearable placeholder="璇烽�夋嫨閮ㄩ棬">
- <el-option :label="departSearchObj.name" :value="departSearchObj.oid"></el-option>
- </el-select>
- <el-button size="small" type="success" @click="dialogDepartSearchHandler">閫夋嫨閮ㄩ棬</el-button>
- </div>
- </template>
-
- <!-- 瀵硅瘽妗嗛儴闂ㄦ彃妲� -->
- <template slot="pkDepartmentNameForm" slot-scope="scope">
- <div style="display: flex;gap: 5px">
- <el-select v-model="departValue" clearable placeholder="璇烽�夋嫨閮ㄩ棬">
- <el-option :label="departObj.name" :value="departObj.oid"></el-option>
- </el-select>
- <el-button size="small" type="success" @click="dialogDepartHandler">閫夋嫨閮ㄩ棬</el-button>
- </div>
- </template>
-
<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>
@@ -53,7 +32,7 @@
<el-button icon="el-icon-delete" size="small" type="text" @click.stop="rowDeleteHandler(row)">鍒犻櫎</el-button>
<el-button size="small" type="text" @click.stop="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>
+ <span v-if="row.status === 1" style="color: #55b61d"><i class="el-icon-video-play"></i> 鍚敤</span>
</el-button>
</template>
@@ -62,7 +41,7 @@
<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" @click="departmentHandler">鍒嗛厤閮ㄩ棬</el-button>
<el-button icon="el-icon-key" plain size="small" type="success" @click="setPwsHandler">璁剧疆瀵嗙爜绛栫暐</el-button>
- <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadRole">瀵煎叆浜哄憳</el-button>
+ <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">瀵煎叆浜哄憳</el-button>
<el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">涓嬭浇瀵煎叆妯℃澘</el-button>
</template>
</avue-crud>
@@ -77,7 +56,6 @@
<el-dialog
v-dialogDrag
v-loading="pwdLoading"
- :destroy-on-close="true"
:visible.sync="pwdVisible"
append-to-body="true"
class="avue-dialog"
@@ -94,19 +72,19 @@
</div>
<div slot="footer" class="dialog-footer">
- <el-button size="small" @click="pwdVisible = false">鍙� 娑�</el-button>
<el-button size="small" type="primary" @click="savePwdHandler">纭� 瀹�</el-button>
+ <el-button size="small" @click="pwdVisible = false">鍙� 娑�</el-button>
</div>
</el-dialog>
<!-- 瀵煎叆浜哄憳 -->
- <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" title="瀵煎叆浜哄憳"></upload-file>
+ <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="瀵煎叆浜哄憳"
+ @updata="getTableList"></upload-file>
<!-- 鍒嗛厤閮ㄩ棬瀵硅瘽妗� -->
<el-dialog
v-dialogDrag
v-loading="departLoading"
- :destroy-on-close="true"
:visible.sync="departVisible"
append-to-body="true"
class="avue-dialog"
@@ -121,8 +99,8 @@
>
</avue-crud>
<div slot="footer" class="dialog-footer">
- <el-button size="small" @click="departVisible = false">鍙� 娑�</el-button>
<el-button size="small" type="primary" @click="saveDepartHandler">纭� 瀹�</el-button>
+ <el-button size="small" @click="departVisible = false">鍙� 娑�</el-button>
</div>
</el-dialog>
</basic-container>
@@ -152,15 +130,14 @@
name: "userManage",
data: function () {
return {
- departSearchObj:{},
- departSearchValue:'',
+ departSearchObj: {},
+ departSearchValue: '',
loadKey: 0,
departStatus: '', // 鍖哄垎涓嶅悓鏂瑰紡鎵撳紑閮ㄩ棬瀵硅瘽妗�
- departValue: '', // 閮ㄩ棬瀵硅瘽妗嗕笅鎷夋缁戝畾鍊�
- departObj: {}, // 閮ㄩ棬瀵硅瘽妗嗕笅鎷夋閫夐」缁戝畾鍊�
departCurrenRow: {},
departOption: {
...basicOption,
+ addBtn: false,
rowKey: 'oid',
rowParentKey: 'parentId',
selection: false,
@@ -169,10 +146,12 @@
menu: false,
refreshBtn: false,
gridBtn: false,
+ header: false,
column: [
{
label: '鍚嶇О',
prop: 'name',
+ align: 'left'
},
{
label: '缂栧彿',
@@ -213,20 +192,14 @@
selectList: [],
leftRoleData: [], // 鍒嗛厤瑙掕壊绌挎妗嗗乏渚у垵濮嬫暟鎹�
rightRoleData: [], // 鍒嗛厤瑙掕壊绌挎妗嗗彸渚у垵濮嬫暟鎹�
- transferTitle: ['鐜版湁瑙掕壊', '鎷ユ湁瑙掕壊']
+ transferTitle: ['鐜版湁瑙掕壊', '鎷ユ湁瑙掕壊'],
+ tipList: ["瀵煎叆妯℃澘涓爣鏄庣孩鑹插瓧浣撶殑涓哄繀杈撻」", "閮ㄩ棬鍒椾笂涓嬬骇鍏崇郴蹇呴』鎸夌収鍙嶆枩鏉犻殧寮�(/)"],
+ lastIndex: null,
}
},
created() {
},
methods: {
- // 鏂板鎴栦慨鏀瑰璇濇鎵撳紑鍓�
- beforeOpen(done, type) {
- if(type == 'add'){
- this.departObj = {};
- this.departValue = "";
- }
- done();
- },
// 琛ㄦ牸璇锋眰
getTableList() {
this.tableLoading = true;
@@ -235,9 +208,8 @@
this.tableData = data;
this.page.total = res.data.total;
this.tableLoading = false;
- }).catch(err => {
- this.$message.error(err)
- });
+ })
+ this.departmentQueryOnLoad()
},
// 琛ㄦ牸鍙充晶鍒锋柊鍥炬爣
@@ -248,10 +220,6 @@
// 鎼滅储鏌ヨ
handleSearch(params, done) {
this.searchParams = {};
- if(this.departSearchObj && this.departSearchValue){
- this.searchParams['conditionMap["pkDepartment"]'] = this.departSearchValue;
- }
-
if (!func.isEmptyObject(params)) {
for (let key in params) {
if (params.hasOwnProperty(key)) {
@@ -262,7 +230,7 @@
}
}
- if (func.isEmptyObject(params) && !this.departSearchValue) {
+ if (func.isEmptyObject(params)) {
this.searchParams = {};
}
@@ -272,8 +240,6 @@
// 閲嶇疆鎼滅储鏉′欢
handleReset() {
- this.departSearchObj = {};
- this.departSearchValue = "";
this.searchParams = {};
this.getTableList();
},
@@ -310,7 +276,17 @@
// 鐐瑰嚮琛�
rowClickHandler(row) {
- this.$refs.userCrud.toggleRowSelection(row);
+ func.rowClickHandler(
+ row,
+ this.$refs.userCrud,
+ this.lastIndex,
+ (newIndex) => {
+ this.lastIndex = newIndex;
+ },
+ () => {
+ this.selectList = [];
+ }
+ );
},
// 鍒嗛厤瑙掕壊
@@ -387,51 +363,42 @@
},
// 鏂板
- rowSaveHandler(row, done) {
+ rowSaveHandler(row, done, loading) {
if (row.password != row.confirmPassword) {
this.$message.error('璇锋鏌ヤ袱娆″瘑鐮佹槸鍚﹁緭鍏ヤ竴鑷达紒')
return this.$refs.userCrud.$refs.dialogForm.$refs.tableForm.allDisabled = false;
}
- row.pkDepartment = this.departValue; // 灏嗗綋鍓嶈鐨勯儴闂ㄥ弬鏁皃kDepartment 璧嬪�间负涓嬫媺妗嗙粦瀹氱殑鍊�
addUser(row).then(res => {
if (res.data.code === 200) {
this.$message.success(res.data.obj);
this.getTableList();
+ done();
}
}).catch(err => {
- console.log(err);
+ loading()
})
- done()
},
// 鎿嶄綔鏍忕紪杈�
rowEditHandler(row, index) {
- let obj = { name: row.pkDepartmentName, oid: row.pkDepartment, rowOid: row.oid };
- this.departValue = row.pkDepartment;
- this.departObj = obj;
-
- if (this.departObj.rowOid) {
- this.$refs.userCrud.rowEdit(row, index);
- }
-
+ this.$refs.userCrud.rowEdit(row, index);
},
// 缂栬緫
- rowUpdateHandler(row, index, done) {
+ rowUpdateHandler(row, index, done, loading) {
if (row.password != row.confirmPassword) {
this.$message.error('璇锋鏌ヤ袱娆″瘑鐮佹槸鍚﹁緭鍏ヤ竴鑷达紒')
return this.$refs.userCrud.$refs.dialogForm.$refs.tableForm.allDisabled = false;
}
- row.pkDepartment = this.departValue; // 灏嗗綋鍓嶈鐨勯儴闂ㄥ弬鏁皃kDepartment 璧嬪�间负涓嬫媺妗嗙粦瀹氱殑鍊�
updateUser(row).then(res => {
if (res.data.code === 200) {
this.$message.success(res.data.obj);
this.getTableList();
+ done()
}
}).catch(err => {
- console.log(err);
+ loading()
});
- done()
},
// 鍒犻櫎
@@ -439,14 +406,24 @@
let params = {
ids: row.oid
}
- deleteUser(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(() => {
+ deleteUser(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ }
+ });
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
},
// 澶氶�夊垹闄�
@@ -480,27 +457,24 @@
// 涓嬭浇瀵煎叆妯℃澘
downloadHandler() {
download().then(res => {
- console.log(res);
func.downloadFileByBlobHandler(res);
- this.$message.success('涓嬭浇鎴愬姛')
- }).catch(err => {
- this.$message.error(err);
+ this.$message.success('涓嬭浇鎴愬姛');
})
},
// 瀵煎叆浜哄憳
- uploadRole() {
+ uploadUser() {
this.$refs.upload.visible = true;
},
// 鍒嗛厤閮ㄩ棬
departmentHandler() {
if (this.selectList.length <= 0) {
- this.$message.warning('娓呭厛閫夋嫨浜哄憳鍐嶈繘琛屾搷浣滐紒')
+ this.$message.warning('娓呭厛閫夋嫨浜哄憳鍐嶈繘琛屾搷浣滐紒');
return;
}
this.departStatus = 'default'; // 鍖哄垎涓嶅悓鏂瑰紡鎵撳紑閮ㄩ棬瀵硅瘽妗�
- this.departmentQueryOnLoad();
+ this.departVisible = true;
},
// 鍒嗛厤閮ㄩ棬琛ㄦ牸鍒濆鍖栬姹�
@@ -508,7 +482,14 @@
departmentQueryController({queryAllLevel: true}).then(res => {
const data = res.data.treeData;
this.departData = this.departDtaFormAtter(data);
- this.departVisible = true;
+ this.option.column[7].dicData = [{
+ oid: 'ALLDept',
+ name: '鎵�鏈夐儴闂�',
+ expand: true,
+ disabled: true,
+ children: this.departData
+ }]
+ this.option.column[7].defaultExpandedKeys = ['ALLDept'];
}).catch(err => {
this.$message.error(err);
})
@@ -545,6 +526,7 @@
return;
}
+ //鍒嗛厤閮ㄩ棬
if (this.departStatus == 'default') {
let params = {
userOIds: this.selectList.map(item => item.oid).join(','),
@@ -556,37 +538,9 @@
this.getTableList();
this.$message.success('鍒嗛厤鎴愬姛锛�')
}
- }).catch(err => {
- console.log(err);
})
return;
}
-
- if (this.departStatus == 'handle') {
- this.departObj = this.departCurrenRow;
- this.departValue = this.departCurrenRow.oid;
- this.departVisible = false;
- return;;
- }
-
- if(this.departStatus == 'search'){
- this.departSearchObj = this.departCurrenRow;
- this.departSearchValue = this.departCurrenRow.oid;
- this.departVisible = false;
- return;
- }
- },
-
- // 瀵硅瘽妗嗗垎閰嶉儴闂ㄦ寜閽�
- dialogDepartHandler() {
- this.departmentQueryOnLoad();
- this.departStatus = 'handle'; // 鍖哄垎涓嶅悓鏂瑰紡鎵撳紑閮ㄩ棬瀵硅瘽妗�
- },
-
- // 鎼滅储瀵硅瘽妗嗗垎閰嶉儴闂ㄦ寜閽�
- dialogDepartSearchHandler(){
- this.departmentQueryOnLoad();
- this.departStatus = 'search'; // 鍖哄垎涓嶅悓鏂瑰紡鎵撳紑閮ㄩ棬瀵硅瘽妗�
},
}
--
Gitblit v1.9.3