mail.vue 14.9 KB
Newer Older
xd's avatar
xd committed
1
<template>
xd's avatar
xd committed
2
  <div class="mail">
xd's avatar
xd committed
3
    <div class="left">
4
      <div v-loading="orgLoading"  element-loading-text="正在加载中">
xd's avatar
xd committed
5 6
        <div class="title">组织架构</div>
        <div class="bottom">
xd's avatar
xd committed
7
          <div class="ty" @click="getMailList(1)">
xd's avatar
xd committed
8 9
            <div>
              <span>全部</span>
xd's avatar
xd committed
10
              <span class="number">{{ allNumber }}</span>
xd's avatar
xd committed
11
            </div>
xd's avatar
xd committed
12
          </div>
13
          <div class="ty" style="margin:12px 0;" @click="getNoGroupMember(1,1)">
xd's avatar
xd committed
14 15
            <div>
              <span>未分组</span>
xd's avatar
xd committed
16
              <span class="number">{{ wNumber }}</span>
xd's avatar
xd committed
17 18 19 20
            </div>
          </div>
          <div class="tree">
            <el-tree
xd's avatar
xd committed
21
              class="trees"
xd's avatar
xd committed
22 23
              :data="data1"
              node-key="id"
xd's avatar
xd committed
24
              default-expand-all
xd's avatar
xd committed
25
              expand-on-click-node
xd's avatar
xd committed
26
              @node-click="handleTreeClick"
27
              :highlight-current="true"
xd's avatar
xd committed
28 29 30 31
            >
            </el-tree>
          </div>
        </div>
xd's avatar
xd committed
32
      </div>
xd's avatar
xd committed
33 34
    </div>
    <div class="right">
xd's avatar
xd committed
35
      <div class="line">
xd's avatar
xd committed
36
        <span class="number">{{groupName}}</span>
xd's avatar
xd committed
37 38 39
      </div>
      <div class="line lines">
        <div >
xd's avatar
xd committed
40
          <el-button class="button button_group" size="small" @click="addChild">添加子部门</el-button>
xd's avatar
xd committed
41
          <el-button class="button buttondark" :disabled="groupId ? false : true" size="small" @click="editChild">编辑部门</el-button>
xd's avatar
xd committed
42
          <el-button class="button buttondark" :disabled="groupId ? false : true" size="small" @click="deleteChild">删除部门</el-button
wengjianling's avatar
wengjianling committed
43
          >
xd's avatar
xd committed
44
        </div>
xd's avatar
xd committed
45
        <!-- 搜索区 -->
xd's avatar
xd committed
46 47
        <el-form :inline="true"  :model="formData" style="height: 42px;">
          <el-form-item label="关键词" >
xd's avatar
xd committed
48 49
            <el-input
              size="small"
xd's avatar
xd committed
50
              v-model="formData.keywords"
xd's avatar
xd committed
51 52 53
              placeholder="请输入关键词"
            />
          </el-form-item>
xd's avatar
xd committed
54
          <el-button class="button buttondark" size="small" @click="handleSearch(1,1)" style="margin-top:4px;">搜索</el-button>
xd's avatar
xd committed
55 56
        </el-form>
      </div>
xd's avatar
xd committed
57
      <div class="line">
xd's avatar
xd committed
58 59
        <span class="number">全部({{totalNumber}}</span>
        <el-button class="button buttondark" size="small" style="margin-left:20px;" @click="handleMove" :disabled="idList.length>0? false:true">批量移动</el-button>
xd's avatar
xd committed
60
      </div>
xd's avatar
xd committed
61 62 63 64
      <el-table
        stripe
        class="list"
        ref="multipleTable"
xd's avatar
xd committed
65
        :data="tableData"
xd's avatar
xd committed
66 67
        tooltip-effect="dark"
        style="width: 100%"
68 69
        v-loading="tableLoading"  
        element-loading-text="正在加载中"
xd's avatar
xd committed
70
        height="calc(100% - 140px)"
xd's avatar
xd committed
71
        @selection-change="handleMemberChange"
xd's avatar
xd committed
72 73
      >
        <el-table-column type="selection" width="60"></el-table-column>
xd's avatar
xd committed
74 75 76 77 78
        <el-table-column prop="userName" label="姓名" align="center"></el-table-column>
        <el-table-column prop="userId" label="企业微信ID" align="center"></el-table-column>
        <el-table-column prop="oyStallName" label="门店" align="center"></el-table-column>
        <el-table-column prop="oyStallCode" label="门店ID" align="center"></el-table-column>
        <el-table-column prop="oyStallMemberId" label="门店会员ID" align="center"></el-table-column>
wengjianling's avatar
wengjianling committed
79
        <el-table-column prop="isManager" label="角色" align="center">
xd's avatar
xd committed
80
          <template slot-scope="scope">
xd's avatar
xd committed
81 82
            <span v-if="scope.row.isSupervisor == false">普通用户</span>
            <span v-if="scope.row.isSupervisor == true">主管</span>
xd's avatar
xd committed
83 84
          </template>
        </el-table-column>
xd's avatar
xd committed
85 86 87
        <el-table-column prop="mobile" label="手机号" align="center"></el-table-column>
        <el-table-column prop="synchronization" label="同步时间" align="center"></el-table-column>
        <el-table-column prop="isManager" label="操作" align="center">
wengjianling's avatar
wengjianling committed
88
          <template slot-scope="scope">
xd's avatar
xd committed
89
            <el-button :disabled="scope.row.isSupervisor? true:false" @click="handleSingleMove(scope.row.id)">移动</el-button>
wengjianling's avatar
wengjianling committed
90 91
          </template>
        </el-table-column>
xd's avatar
xd committed
92 93 94
      </el-table>
      <div class="fy">
        <el-pagination
xd's avatar
xd committed
95 96 97 98 99 100 101
          @current-change="handleCurrentChange"
          :current-page="page.currentPage"
          :page-size="page.size"
          layout="total, prev, pager, next, jumper"
          :total="page.total"
        >
        </el-pagination>
xd's avatar
xd committed
102
      </div>
xd's avatar
xd committed
103
    </div>
xd's avatar
xd committed
104 105 106 107 108
    <move-dialog
      v-if="moveDialogShow"
      :moveDialog="moveDialogShow"
      @handleCancel="moveDialogShow = false"
      @handleFinish="removeFinish"
xd's avatar
xd committed
109
      :idList="idList"
xd's avatar
xd committed
110
    ></move-dialog>
wengjianling's avatar
wengjianling committed
111 112 113 114 115 116
    <add-dialog
      v-if="addDialogShow"
      :addDialog="addDialogShow"
      @handleAddCancel="addDialogShow = false"
      @handleAddFinish="addFinish"
    ></add-dialog>
xd's avatar
xd committed
117 118 119 120 121 122 123 124
     <edit-dialog
      v-if="editDialogShow"
      :groupId="groupId"
      :editDialog="editDialogShow"
      @handleEditCancel="editDialogShow = false"
      @handleEditFinish="editFinish"
      
    ></edit-dialog>
wengjianling's avatar
wengjianling committed
125 126 127 128 129 130 131
    <delete-dialog
      v-if="deleteDialogShow"
      :daleteDialog="deleteDialogShow"
      @handleDeleteCancel="deleteDialogShow = false"
      @handleDeleteFinish="deleteFinish"
      :nowNode="nowNode"
    ></delete-dialog>
xd's avatar
xd committed
132 133 134 135
  </div>
</template>

<script>
xd's avatar
xd committed
136
import MoveDialog from "./components/move";
wengjianling's avatar
wengjianling committed
137
import AddDialog from "./components/addGroup";
xd's avatar
xd committed
138
import EditDialog from "./components/editGroup";
wengjianling's avatar
wengjianling committed
139
import DeleteDialog from "./components/deleteGroup";
xd's avatar
xd committed
140 141 142 143 144 145
import {
  getOrgTree,
  getAllMemberList,
  getNoGroupMember,
  getMemberById,
  storeNameChange,
xd's avatar
xd committed
146
  getGroupById,
wengjianling's avatar
wengjianling committed
147
  changeRole,
xd's avatar
xd committed
148
  search
xd's avatar
xd committed
149
} from "@/api/in/mail";
xd's avatar
xd committed
150
export default {
xd's avatar
xd committed
151
  data() {
wengjianling's avatar
wengjianling committed
152
   
xd's avatar
xd committed
153
    return {
wengjianling's avatar
wengjianling committed
154 155
      data1: [],
      groupName: '',
xd's avatar
xd committed
156
      tableData: [],
xd's avatar
xd committed
157
      isShow: false,
xd's avatar
xd committed
158
      formData: {
xd's avatar
xd committed
159
        keywords:""
xd's avatar
xd committed
160 161 162 163
      },
      statusList: [],
      page: {
        currentPage: 1,
xd's avatar
xd committed
164
        size: 10,
xd's avatar
xd committed
165
        total: 0
xd's avatar
xd committed
166 167
      },
      moveDialogShow: false,
wengjianling's avatar
wengjianling committed
168
      addDialogShow: false,
xd's avatar
xd committed
169
      editDialogShow: false,
wengjianling's avatar
wengjianling committed
170
      deleteDialogShow: false,
xd's avatar
xd committed
171 172 173 174 175 176 177
      nameDialog: false,
      allNumber: "",
      wNumber: "",
      orgData: {
        label: "name",
        children: "adminStallList",
        id: "id"
xd's avatar
xd committed
178
      },
xd's avatar
xd committed
179
      type: 1,
xd's avatar
xd committed
180
      sType: 1,
xd's avatar
xd committed
181 182
      idList: [],
      storeId: "",
xd's avatar
xd committed
183 184 185
      groupId: "",
      counterId: 0,
      title: "全部",
wengjianling's avatar
wengjianling committed
186
      totalNumber: "",
xd's avatar
xd committed
187
      nowNode: {},
188 189 190
      flag: 0,
      orgLoading: false,
      tableLoading: false
xd's avatar
xd committed
191 192
    };
  },
xd's avatar
xd committed
193
  components: {
wengjianling's avatar
wengjianling committed
194 195
    MoveDialog,
    AddDialog,
xd's avatar
xd committed
196 197
    DeleteDialog,
    EditDialog
xd's avatar
xd committed
198
  },
xd's avatar
xd committed
199
  created() {
xd's avatar
xd committed
200
    this.getOrgTree();
xd's avatar
xd committed
201
    this.getMailList(1,1);
xd's avatar
xd committed
202
  },
xd's avatar
xd committed
203
  methods: {
xd's avatar
xd committed
204
    getOrgTree() {
205
      this.orgLoading = true
xd's avatar
xd committed
206 207
      getOrgTree().then(res => {
        let data = res.data;
wengjianling's avatar
wengjianling committed
208 209 210
        this.allNumber = data.numOfClerks;
        this.wNumber = data.numOfClerksArrangeNot
        this.data1 = [data.organizations];
211
        this.orgLoading = false
xd's avatar
xd committed
212
      });
xd's avatar
xd committed
213
    },
xd's avatar
xd committed
214
    handleTreeClick(data) {      
xd's avatar
xd committed
215
      this.flag = ''
wengjianling's avatar
wengjianling committed
216 217 218 219 220
      this.nowNode = data
      this.groupName = data.label
      this.groupId = data.id
      this.getGroupMember(1,1)
      
xd's avatar
xd committed
221
    },
xd's avatar
xd committed
222 223
    getGroupMember(page,ctPage) {
      this.page.currentPage = ctPage
xd's avatar
xd committed
224
      this.type = this.sType = 3
wengjianling's avatar
wengjianling committed
225

xd's avatar
xd committed
226 227
       let params = {
        pageNum: page,
wengjianling's avatar
wengjianling committed
228
        id: this.groupId
xd's avatar
xd committed
229
      };
wengjianling's avatar
wengjianling committed
230

xd's avatar
xd committed
231
      getGroupById(params).then(res => {
wengjianling's avatar
wengjianling committed
232 233
        this.tableData = res.data.pageInfo.list;
        this.page.total = this.totalNumber = Number(res.data.pageInfo.total);
xd's avatar
xd committed
234 235
      });
    },
xd's avatar
xd committed
236 237
    getStoreMember(page,ctPage) {
      this.page.currentPage = ctPage
xd's avatar
xd committed
238
       this.type = this.sType = 5
xd's avatar
xd committed
239 240 241 242
       let params = {
        pageNum: page,
        stallId: this.storeId
      };
xd's avatar
xd committed
243
      getMemberById(params).then(res => {
xd's avatar
xd committed
244 245
        this.tableData = res.data.list;
        this.page.total = Number(res.data.total);
xd's avatar
xd committed
246
        this.totalNumber = Number(res.data.total)
xd's avatar
xd committed
247
      });
xulili's avatar
xulili committed
248
    },
xd's avatar
xd committed
249 250 251 252 253
    synchronismMember() {
      this.isShow = true;
      this.$emit("isShow", this.isShow);
    },
    handleMove() {
xd's avatar
xd committed
254
      this.moveDialogShow = true;
xd's avatar
xd committed
255
    },
xd's avatar
xd committed
256 257 258 259
    handleSingleMove(val) {
      this.moveDialogShow = true;
      this.idList = [val]
    },
xd's avatar
xd committed
260
    removeFinish() {
xd's avatar
xd committed
261
      this.handleTypeChange(1,1)
xulili's avatar
xulili committed
262
      this.moveDialogShow = false;
xd's avatar
xd committed
263
    },
xd's avatar
xd committed
264
    handleCurrentChange(val) {
xd's avatar
xd committed
265
      let ctPage = val
266
      this.handleTypeChange(val,ctPage)
xd's avatar
xd committed
267
    },
xd's avatar
xd committed
268
    getMailList(page,ctPage) {
269
      this.tableLoading = true
wengjianling's avatar
wengjianling committed
270
      this.groupName = ''
xd's avatar
xd committed
271
      this.formData.keywords = ''
xd's avatar
xd committed
272
      this.groupName = "全部"
xd's avatar
xd committed
273
      this.type = this.sType  = 1;
xd's avatar
xd committed
274
      this.flag = 0
xd's avatar
xd committed
275
      this.page.currentPage = ctPage
wengjianling's avatar
wengjianling committed
276
      this.groupId = ''
xd's avatar
xd committed
277 278
      let params = {
        pageNum: page
xd's avatar
xd committed
279
      };
xd's avatar
xd committed
280
      getAllMemberList(params).then(res => {
wengjianling's avatar
wengjianling committed
281 282
        this.tableData = res.data.pageInfo.list;
        this.page.total = this.totalNumber = this.allNumber = Number(res.data.pageInfo.total);
283
        this.tableLoading = false
xd's avatar
xd committed
284
      });
xd's avatar
xd committed
285
    },
xd's avatar
xd committed
286
    handleShopowner() {},
xd's avatar
xd committed
287
    getNoGroupMember(page,ctPage) {
wengjianling's avatar
wengjianling committed
288
      this.groupName = ''
289 290
      this.formData.keywords = ''
      this.page.currentPage = ctPage
xd's avatar
xd committed
291
      this.groupName = "未分组"
xd's avatar
xd committed
292
       this.flag = 1
xd's avatar
xd committed
293
      this.type = this.sType = 2;
wengjianling's avatar
wengjianling committed
294
      this.groupId = ''
xd's avatar
xd committed
295 296
      let params = {
        pageNum: page
xd's avatar
xd committed
297
      };
xd's avatar
xd committed
298
      getNoGroupMember(params).then(res => {
wengjianling's avatar
wengjianling committed
299 300 301
        console.log(res.data)
        this.tableData = res.data.pageInfo.list;
        this.page.total = this.totalNumber = this.wNumber = Number(res.data.pageInfo.total);
xd's avatar
xd committed
302 303
      });
    },
xd's avatar
xd committed
304
    handleMemberChange(val) {     
xd's avatar
xd committed
305 306
      let ids = []
      val.map(function(item) {
307
        ids.push(item.id)
xd's avatar
xd committed
308
      });
309
      this.idList = ids
xd's avatar
xd committed
310 311 312
    },
    handleTypeChange(val,ctPage) {
      if(this.type == 1) {
313 314
        this.getMailList(val,ctPage)
      }else if (this.type == 2) {
xd's avatar
xd committed
315
        this.getNoGroupMember(val,ctPage)
316
      }else if (this.type == 3) {
xd's avatar
xd committed
317
        this.getGroupMember(val,ctPage)
318
      }else if (this.type == 4) {
xd's avatar
xd committed
319
        this.handleSearch(val,ctPage)
xd's avatar
xd committed
320 321 322 323 324
      }
      else {
        this.getStoreMember(val,ctPage)
      }
    },
xd's avatar
xd committed
325 326 327
    handleSearch(page,ctPage) {
      this.type = 4
      this.page.currentPage = ctPage
xd's avatar
xd committed
328
      switch (this.sType) {
xd's avatar
xd committed
329 330 331 332 333 334 335 336 337
        case 1:
        this.counterId = 0;
        break
        case 2:
        this.counterId = -1;
        break
        case 3:
        this.counterId = this.groupId;
        break
xd's avatar
xd committed
338 339
        case 5: 
        this.counterId = this.groupId;
xd's avatar
xd committed
340 341
      }
      let params = {
342
        param: this.formData.keywords,
xd's avatar
xd committed
343 344
        departmentId: this.groupId,
        flag: this.flag
xd's avatar
xd committed
345
      }
346
      search(params).then(res=>{
347
        console.log(res,'搜索数据')
wengjianling's avatar
wengjianling committed
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
        this.tableData = res.data
        // this.page.total = Number(res.data.total);
      })
    },
    setAdmin(user) {
      this.changeRole(1, user.d_id, user.id)
    },
    cancelAdmin(user) {
      this.changeRole(0, user.d_id, user.id)
    },
    changeRole(state, departmentId, id) {
      let params = {
        departmentId,
        flag: state,
        id
      }
      changeRole(params).then(res => {
        if(this.groupId) {
          this.getGroupMember(1,1);
        }else if(this.title === '未分组') {
          this.getNoGroupMember(1,1)
        }else if(this.formData.keywords){
          this.handleSearch(1,1)
        }else {
          this.getOrgTree();
          this.getMailList(1,1);
        }
        
376
      })
wengjianling's avatar
wengjianling committed
377 378 379 380
    },
    addChild() {
      this.addDialogShow = true
    },
xd's avatar
xd committed
381 382 383
    editChild() {
      this.editDialogShow = true
    },
wengjianling's avatar
wengjianling committed
384 385
    addFinish() {
      this.addDialogShow = false
386
      // this.orgLoading = true      
wengjianling's avatar
wengjianling committed
387 388
      this.getOrgTree();
      this.getMailList(1,1);
389
      this.$message.success('添加成功')
wengjianling's avatar
wengjianling committed
390
    },
xd's avatar
xd committed
391 392
    editFinish() {
      this.editDialogShow = false
393
      // this.orgLoading = true 
xd's avatar
xd committed
394 395
      this.getOrgTree()
      this.getMailList(1,1)
396
      this.$message.success('编辑成功')
xd's avatar
xd committed
397
    },
wengjianling's avatar
wengjianling committed
398 399 400 401 402
    deleteChild() {
      this.deleteDialogShow = true
    },
    deleteFinish() {
      this.deleteDialogShow = false
403
      // this.orgLoading = true 
wengjianling's avatar
wengjianling committed
404
      this.getOrgTree();
405 406
      this.getMailList(1,1)
      this.$message.success('删除成功')
xd's avatar
xd committed
407
    }
xd's avatar
xd committed
408
  }
xd's avatar
xd committed
409
};
xd's avatar
xd committed
410
</script>
411 412 413 414 415
<style >
  .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
    background-color: #d0d0d0 !important;
  }
</style>
xd's avatar
xd committed
416
<style scoped>
417 418 419
.trees >>> .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
  background-color: #d0d0d0 !important;
}
xd's avatar
xd committed
420 421 422 423 424
.lines {
  height: 55px;
  align-items: center;
  background-color: rgba(201, 201, 201, 1);
}
xd's avatar
xd committed
425
.trees >>> .el-tree-node__content {
426 427
  padding: 5px;
  /*border-bottom: 1px solid #fff;*/
xd's avatar
xd committed
428
}
xd's avatar
xd committed
429 430 431
.btn >>> .el-button + .el-button {
  margin-left: 5px;
}
xd's avatar
xd committed
432 433 434 435 436
.mail {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
}
xd's avatar
xd committed
437 438 439 440
.run {
  height: 34px;
  width: 100%;
  position: relative;
xd's avatar
xd committed
441
}
xd's avatar
xd committed
442 443
.top {
  padding-bottom: 10px;
444
  border-bottom: 1px solid #f8f8f8;
xd's avatar
xd committed
445
}
xd's avatar
xd committed
446 447 448 449 450 451 452
.changeName {
  display: flex;
  align-items: center;
}
.changeName >>> .el-input {
  width: 70%;
}
xd's avatar
xd committed
453 454 455 456
.end {
  display: flex;
  align-items: center;
  width: 100%;
xd's avatar
xd committed
457
  box-sizing: border-box;
xd's avatar
xd committed
458
  bottom: 0;
xd's avatar
xd committed
459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476
}
.add-l,
.add-r {
  width: 50%;
  height: 32px;
  border: 1px solid rgba(78, 89, 199, 1);
  width: 100%;
  text-align: center;
  line-height: 32px;
}
.add-l {
  background-color: #e8e9fe;
  color: rgba(78, 89, 199, 1);
}
.add-r {
  background-color: #4e59c7;
  color: #fff;
}
xd's avatar
xd committed
477
.ty {
xd's avatar
xd committed
478 479 480
  height: 40px;
  background: rgba(248, 248, 248, 1);
  border-radius: 26px;
xd's avatar
xd committed
481 482 483 484
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-size: 16px;
xd's avatar
xd committed
485
  color: rgba(51, 51, 51, 1);
xd's avatar
xd committed
486
  justify-content: space-between;
xd's avatar
xd committed
487
  cursor: pointer;
xd's avatar
xd committed
488 489 490
}
.bottom {
  padding: 12px;
xd's avatar
xd committed
491
  margin-bottom: 20px;
xd's avatar
xd committed
492 493 494
}
.title {
  height: 48px;
xd's avatar
xd committed
495
  background: rgba(78, 89, 199, 1);
xd's avatar
xd committed
496 497 498 499 500 501 502 503
  line-height: 48px;
  text-align: center;
  color: #fff;
  font-size: 16px;
}
.ct {
  display: flex;
  flex-direction: row;
xd's avatar
xd committed
504
  background-color: #f8f8f8;
xd's avatar
xd committed
505 506
  min-height: 100%;
}
xd's avatar
xd committed
507 508 509
.left {
  position: relative;
  width: 20%;
xd's avatar
xd committed
510
  overflow: auto;
xd's avatar
xd committed
511 512
  flex-direction: column;
  justify-content: space-between;
xd's avatar
xd committed
513 514
}
.right {
xd's avatar
xd committed
515
  position: relative;
xd's avatar
xd committed
516 517
  padding: 10px;
  margin-left: 10px;
xd's avatar
xd committed
518
  width: 79%;
xd's avatar
xd committed
519
}
xd's avatar
xd committed
520
.left,
xd's avatar
xd committed
521 522 523
.right {
  display: flex;
  flex-direction: column;
xd's avatar
xd committed
524 525 526
  background-color: #fff;
  height: 100%;
  box-sizing: border-box;
xd's avatar
xd committed
527
  box-shadow: 0px 2px 4px 0px #ddd;
xd's avatar
xd committed
528 529
}

xd's avatar
xd committed
530
.number {
xd's avatar
xd committed
531 532
  font-size: 16px;
  font-weight: bold;
xd's avatar
xd committed
533 534 535 536 537 538 539
}
.icon {
  /* display: inline-block; */
  width: 16px;
  height: 16px;
}

xd's avatar
xd committed
540
.main {
xd's avatar
xd committed
541
  /* // border: 2px solid orange; */
xd's avatar
xd committed
542
  width: 100%;
xd's avatar
xd committed
543 544 545 546 547
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
xd's avatar
xd committed
548

xd's avatar
xd committed
549 550 551 552 553 554
.lists {
  height: auto;
  min-height: 70%;
  width: 100%;
  margin-top: 20px;
}
xd's avatar
xd committed
555

xd's avatar
xd committed
556 557 558 559 560 561 562 563 564 565 566 567
.listButtonRed {
  /* // border: 2px solid green; */
  color: red;
}
.pages {
  height: 40px;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
xd's avatar
xd committed
568 569 570
.fy {
  height: 35px;
}
xd's avatar
xd committed
571
.tree {
xd's avatar
xd committed
572
  border-radius: 10px;
xd's avatar
xd committed
573 574 575 576 577 578
  background: #f8f8f8;
}
.tree >>> .el-tree {
  background: transparent;
}
.el-icon-delete {
xd's avatar
xd committed
579
  color: rgba(208, 2, 27, 1);
xd's avatar
xd committed
580
}
xd's avatar
xd committed
581 582
.el-icon-delete,
.el-icon-edit {
xd's avatar
xd committed
583 584
  font-weight: bold;
}
wengjianling's avatar
wengjianling committed
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603
.setAdmin {
  color: blue;
  text-decoration: underline;
  cursor: pointer;
}
.cancelAdmin {
  color: #aaa;
  text-decoration: underline;
  cursor: pointer;
}
.button_group {
    height: 32px;
    background-color: #e8e9fe;
    color: #4e59c7;
    border: 1px solid #4e59c7;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 4px;
}
xd's avatar
xd committed
604
</style>