From 649a012bd1f445afd51e3aad8e137d43c36434e0 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 05 八月 2022 11:48:21 +0800
Subject: [PATCH] 检索导出添加组织字段
---
src/views/personalCenter/components/SubAccount.vue | 173 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 113 insertions(+), 60 deletions(-)
diff --git a/src/views/personalCenter/components/SubAccount.vue b/src/views/personalCenter/components/SubAccount.vue
index 723d23c..996cc34 100644
--- a/src/views/personalCenter/components/SubAccount.vue
+++ b/src/views/personalCenter/components/SubAccount.vue
@@ -10,7 +10,11 @@
<div class="cluster">
鎺堟潈鏃堕暱
- <el-select v-model="timeLength" placeholder="璇烽�夋嫨">
+ <el-select
+ @change="findUserList"
+ v-model="timeLength"
+ placeholder="璇烽�夋嫨"
+ >
<el-option
v-for="item in durationArr"
:key="item.value"
@@ -29,39 +33,42 @@
</div>
<div class="btns">
- <div class="button add" @click="isShowAdd = true">
+ <div class="button add" @click="addSubCount">
<span class="iconfont"></span>
<span>娣诲姞瀛愯处鍙�</span>
</div>
- <div class="button export" @click="isShowRelate = true">
+ <!-- <div class="button export" @click="isShowRelate = true">
<span class="iconfont"></span>
<span>鍏宠仈瀛愯处鍙�</span>
- </div>
+ </div> -->
</div>
<div class="table-area">
<el-table
id="multipleTable"
ref="multipleTable"
- tooltip-effect="dark"
:data="dataList"
:fit="true"
:default-sort="{ prop: 'createTime', order: 'descending' }"
- :stripe="true"
>
<el-table-column label="搴忓彿" width="55" class-name="index">
<template slot-scope="scope">{{
scope.$index + 1 + (page - 1) * size
}}</template>
</el-table-column>
- <el-table-column
+ <!-- <el-table-column
prop="trueName"
label="濮撳悕"
show-overflow-tooltip
- ></el-table-column>
+ ></el-table-column> -->
<el-table-column
prop="username"
label="鐢ㄦ埛鍚�"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="phoneNum"
+ label="鎵嬫満鍙�"
show-overflow-tooltip
></el-table-column>
<el-table-column prop="userType" label="鐢ㄦ埛绫诲瀷">
@@ -69,8 +76,15 @@
<span>{{ scope.row.userType == 1 ? "涓汉" : "鍏徃" }}</span>
</template>
</el-table-column>
+
<el-table-column prop="authDuration" label="鎺堟潈鏃堕暱">
+ <template slot-scope="scope">
+ <span>{{ scope.row.authDuration + " 骞�" }} </span>
+ </template>
</el-table-column>
+
+ <!-- <el-table-column prop="authDuration" label="鎺堟潈鏃堕暱">
+ </el-table-column> -->
<el-table-column prop="dataNames" label="鏉冮檺"> </el-table-column>
<el-table-column label="鐘舵��">
@@ -121,11 +135,11 @@
<el-form-item label="瀵嗙爜" prop="password">
<el-input v-model="ruleForm.password" style="width: 350px"></el-input>
</el-form-item>
- <el-form-item label="閲嶇疆瀵嗙爜" prop="isChangePwd">
+ <!-- <el-form-item label="閲嶇疆瀵嗙爜">
<el-checkbox v-model="ruleForm.isChangePwd"
>棣栨鐧婚檰淇敼瀵嗙爜</el-checkbox
>
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="鐢ㄦ埛绫诲瀷" prop="userType">
<el-radio v-model="ruleForm.userType" :label="1">涓汉</el-radio>
<el-radio v-model="ruleForm.userType" :label="2">鍏徃</el-radio>
@@ -133,11 +147,11 @@
<el-form-item label="濮撳悕" prop="trueName">
<el-input v-model="ruleForm.trueName" style="width: 350px"></el-input>
</el-form-item>
- <el-form-item label="閭" prop="email">
+ <el-form-item label="閭">
<el-input v-model="ruleForm.email" style="width: 350px"></el-input>
</el-form-item>
- <el-form-item label="琛屼笟" prop="industryId">
+ <el-form-item label="琛屼笟">
<el-select
v-model="ruleForm.industryId"
placeholder="璇烽�夋嫨琛屼笟"
@@ -151,15 +165,14 @@
></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍦板尯" prop="address">
+ <el-form-item label="鍦板尯">
<el-cascader
v-model="ruleForm.address"
:props="options"
style="width: 350px"
- @change="handleChange"
></el-cascader>
</el-form-item>
- <el-form-item label="鎺堟潈鏃堕暱" prop="authDuration">
+ <el-form-item label="鎺堟潈鏃堕暱">
<el-select
v-model="ruleForm.authDuration"
style="width: 350px"
@@ -172,8 +185,6 @@
</el-form-item>
<el-form-item label="鐢ㄦ埛鏉冮檺" prop="menuIds" class="user-tree">
- <!-- <TreeBox :defaultProp="defaultProp" :treeData="sysMenus"></TreeBox> -->
- <!-- <TreeBox :defaultProp="defaultProp2" :treeData="data2"></TreeBox> -->
<div class="tree-box">
<div class="t">鑿滃崟鏉冮檺</div>
<el-tree
@@ -234,6 +245,18 @@
StepsCard,
},
data() {
+ const validateTree = (rule, value, callback) => {
+ if (
+ this.ruleForm.menuIds &&
+ this.ruleForm.dataIds &&
+ this.ruleForm.menuIds.length > 0 &&
+ this.ruleForm.dataIds.length > 0
+ ) {
+ callback();
+ } else {
+ callback(new Error("璇烽�夎彍鍗曟潈闄愬拰鏁版嵁鏉冮檺"));
+ }
+ };
return {
searchTime: [
this.$moment().format("YYYY-MM-DD 00:00:00"),
@@ -277,15 +300,15 @@
durationArr: [
{
value: 1,
- label: "涓�骞�",
+ label: "1骞�",
},
{
value: 2,
- label: "涓ゅ勾",
+ label: "2骞�",
},
{
value: 3,
- label: "涓夊勾",
+ label: "3骞�",
},
], //鎵�灞為泦缇や笅鎷夋
timeLength: null, //閫変腑鐨勬巿鏉冩椂闀�
@@ -304,24 +327,22 @@
isChangePwd: false,
industryId: "",
address: [],
- authDuration: "",
+ authDuration: 1,
areaId: "",
provinceId: "",
menuIds: [],
dataIds: [],
},
rules: {
- name: [
- { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" },
- { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" },
+ username: [
+ { required: true, message: "璇疯緭鍏ョ敤鎴峰悕", trigger: "blur" },
],
- region: [
- { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" },
+ password: [{ required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }],
+ userType: [
+ { required: true, message: "璇烽�夋嫨鐢ㄦ埛绫诲瀷", trigger: "blur" },
],
- resource: [
- { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" },
- ],
- desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }],
+ trueName: [{ required: true, message: "璇疯緭鍏ュ鍚�", trigger: "blur" }],
+ menuIds: [{ validator: validateTree, trigger: "blur" }],
},
sysMenus: [],
DataTree: [],
@@ -354,6 +375,10 @@
}
});
},
+ addSubCount() {
+ this.isShowAdd = true;
+ this.resetUser();
+ },
editUser(row) {
this.isShowAdd = true;
this.isEditing = true;
@@ -381,13 +406,16 @@
trueName: "",
email: "",
isChangePwd: false,
+ address: [],
industryId: "",
areaId: "",
provinceId: "",
- authDuration: "",
+ authDuration: 1,
};
- this.$refs.treeMenus.setCheckedKeys([]);
- this.$refs.treeData.setCheckedKeys([]);
+ this.$nextTick(() => {
+ this.$refs.treeMenus.setCheckedKeys([]);
+ this.$refs.treeData.setCheckedKeys([]);
+ });
},
async getIndustrys() {
let res = await getDic();
@@ -400,39 +428,57 @@
saveSubUser() {
this.ruleForm.menuIds = this.$refs.treeMenus.getCheckedKeys();
this.ruleForm.dataIds = this.$refs.treeData.getCheckedKeys();
- let json = {
- id: this.isEditing ? this.ruleForm.id : "",
- username: this.ruleForm.username,
- password: this.ruleForm.password,
- isChangePwd: this.ruleForm.isChangePwd,
- userType: this.ruleForm.userType,
- trueName: this.ruleForm.trueName,
- email: this.ruleForm.email,
- industryId: this.ruleForm.industryId,
- areaId: this.ruleForm.address[1],
- authDuration: this.ruleForm.authDuration,
- menuIds: this.ruleForm.menuIds,
- dataIds: this.ruleForm.dataIds,
- };
- saveSubUser(json)
- .then((res) => {
- if (res.success) {
- this.isShowAdd = false;
- this.isEditing = false;
- this.findUserList();
- } else {
- this.$notify.error(res.msg);
+ this.$refs["ruleForm"].validate((valid) => {
+ if (valid) {
+ let json = {
+ id: this.isEditing ? this.ruleForm.id : "",
+ username: this.ruleForm.username,
+ password: this.ruleForm.password,
+ isChangePwd: this.ruleForm.isChangePwd,
+ userType: this.ruleForm.userType,
+ trueName: this.ruleForm.trueName,
+ email: this.ruleForm.email,
+ industryId: this.ruleForm.industryId,
+ areaId:
+ this.ruleForm.address.length == 2 ? this.ruleForm.address[1] : "",
+ authDuration: this.ruleForm.authDuration,
+ menuIds: this.ruleForm.menuIds,
+ dataIds: this.ruleForm.dataIds,
+ };
+
+ if (typeof json.areaId === "string") {
+ delete json.areaId;
}
- })
- .catch((err) => {
- this.$notify.error(err.message);
- });
+
+ if (typeof json.authDuration === "string") {
+ delete json.authDuration;
+ }
+
+ saveSubUser(json)
+ .then((res) => {
+ if (res.success) {
+ this.$notify.success(res.data);
+ this.isShowAdd = false;
+ this.isEditing = false;
+ this.findUserList();
+ } else {
+ this.$notify.error(res.msg);
+ }
+ })
+ .catch((err) => {
+ this.$notify.error(err.data.msg);
+ });
+ } else {
+ return false;
+ }
+ });
},
findUserList() {
findUserList({
inputText: this.inputText,
page: this.page,
size: this.size,
+ authDuration: this.timeLength,
})
.then((res) => {
if (res.success) {
@@ -490,10 +536,12 @@
//鍒嗛〉鍔熻兘
handleSizeChange(size) {
this.size = size;
+ this.findUserList();
},
//鍒嗛〉鍔熻兘
refrash(page) {
this.page = page;
+ this.findUserList();
},
//瑙g粦鎸夐挳
@@ -585,6 +633,11 @@
border-color: #c0c5cc;
}
.user-tree {
+ .el-form-item__label:before {
+ content: "*";
+ color: #f52323;
+ margin-right: 4px;
+ }
.el-form-item__content {
display: flex;
.tree-box {
@@ -847,4 +900,4 @@
color: #0065ff;
border-color: #0065ff;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.8.0