manageMain.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888
  1. <template>
  2. <el-container style="height: 100vh; overflow: hidden">
  3. <el-aside style="width: auto">
  4. <el-menu
  5. :unique-opened="true"
  6. ref="menu"
  7. :collapse-transition="false"
  8. class="el-menu-vertical-demo shadow-menu aside-menu"
  9. :router="true"
  10. :default-active="active"
  11. :collapse="isCollapse"
  12. text-color="#333"
  13. active-text-color="#fff"
  14. @select="selectMenu"
  15. >
  16. <!-- <img src="../../assets/img/commons/jhTop.png" /> -->
  17. <img v-show="!isCollapse" src="../../assets/img/commons/jhTop.png" />
  18. <img
  19. v-show="isCollapse"
  20. style="menu_top_suo"
  21. src="../../assets/img/commons/jhTopSuo.png"
  22. />
  23. <el-submenu
  24. v-for="item in menuList"
  25. :key="item.id"
  26. :index="item.path"
  27. v-show="item.showItem"
  28. >
  29. <template slot="title">
  30. <i :class="item.icon"></i>
  31. <span class="menu_name">{{ item.name }}</span>
  32. </template>
  33. <el-menu-item-group>
  34. <el-menu-item v-for="el in item.child" :key="el.id" :index="el.path">
  35. <span class="menu_sub_tt"
  36. ><span class="menu_sub_t1"></span>{{ el.name }}</span
  37. >
  38. </el-menu-item>
  39. </el-menu-item-group>
  40. </el-submenu>
  41. </el-menu>
  42. </el-aside>
  43. <el-container style="height: 100vh; display: flex; flex-direction: column">
  44. <el-header class="shadow-menu">
  45. <el-row class="admin-header-content">
  46. <el-col :span="12"> </el-col>
  47. <el-col :span="12" class="just-right">
  48. <el-menu
  49. :default-active="activeIndex"
  50. class="el-menu-demo"
  51. mode="horizontal"
  52. background-color="transparent"
  53. text-color="#000"
  54. active-text-color="#000"
  55. >
  56. <el-submenu index="2" class="rightExit">
  57. <template slot="title" :size="size" :src="circleUrl">{{
  58. userInfo.userName
  59. }}</template>
  60. <el-menu-item index="2-1" @click="escape()">退出</el-menu-item>
  61. <el-menu-item index="2-1" @click="changePwd()">修改密码</el-menu-item>
  62. </el-submenu>
  63. </el-menu>
  64. <!-- <vue-qr
  65. v-show="false"
  66. :ref="userInfo.name + '-' + userInfo.userNumber"
  67. :text="urlJump + userInfo.invitationCode"
  68. :size="500"
  69. :width="1"
  70. ></vue-qr> -->
  71. </el-col>
  72. </el-row>
  73. </el-header>
  74. <el-container style="flex: 1; overflow: auto">
  75. <el-header class="main-header">
  76. <el-row>
  77. <el-col :span="1">
  78. <div class="menu-hide" @click="changeMenu">
  79. <i class="el-icon-s-fold" style="color: #000; font-size: 20px"></i>
  80. </div>
  81. </el-col>
  82. <el-col :span="10">
  83. <el-breadcrumb class="admin-breadcrumb" separator="/">
  84. <el-breadcrumb-item>{{ crumbParent }}</el-breadcrumb-item>
  85. <el-breadcrumb-item v-if="crumbChild && crumbChild != null">{{
  86. crumbChild
  87. }}</el-breadcrumb-item>
  88. </el-breadcrumb>
  89. </el-col>
  90. </el-row>
  91. </el-header>
  92. <el-main style="background-color: #f5f5f5; display: flex">
  93. <div class="el-main-inner">
  94. <transition name="fade" mode="out-in">
  95. <router-view></router-view>
  96. </transition>
  97. </div>
  98. </el-main>
  99. <!-- <el-footer>
  100. <div style="background-color:#000000">递交</div>
  101. </el-footer> -->
  102. <!-- <el-footer style="padding-left: 0px; padding-right: 0px">
  103. <Footer />
  104. </el-footer> -->
  105. </el-container>
  106. </el-container>
  107. <!---lxh-修改密码-->
  108. <el-dialog
  109. title="修改密码"
  110. :visible.sync="dialogVisible"
  111. :close-on-click-modal="false"
  112. width="40%"
  113. >
  114. <div>
  115. <el-form
  116. :model="ruleForm"
  117. :rules="rules"
  118. ref="ruleForm"
  119. label-width="150px"
  120. class="demo-ruleForm"
  121. >
  122. <el-form-item label="请输入旧密码" prop="oldpass">
  123. <el-input
  124. type="password"
  125. v-model="ruleForm.oldpass"
  126. autocomplete="off"
  127. ></el-input>
  128. </el-form-item>
  129. <el-form-item label="请输入新密码" prop="pass">
  130. <el-input
  131. type="password"
  132. v-model="ruleForm.pass"
  133. autocomplete="off"
  134. ></el-input>
  135. </el-form-item>
  136. <el-form-item label="确认新密码" prop="checkPass">
  137. <el-input
  138. type="password"
  139. v-model="ruleForm.checkPass"
  140. autocomplete="off"
  141. ></el-input>
  142. </el-form-item>
  143. <el-form-item>
  144. <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
  145. <el-button @click="resetForm('ruleForm')">重置</el-button>
  146. </el-form-item>
  147. </el-form>
  148. </div>
  149. </el-dialog>
  150. </el-container>
  151. </template>
  152. <script>
  153. import md5 from "md5";
  154. import vueQr from "vue-qr";
  155. import { mapGetters, mapActions } from "vuex";
  156. import { oSessionStorage } from "@/utils/utils";
  157. import register from "@/components/Register";
  158. import Footer from "@/components/Footer";
  159. export default {
  160. name: "manageMain",
  161. components: {
  162. vueQr,
  163. Footer,
  164. },
  165. computed: {
  166. // ...mapGetters(['sacleListName']),
  167. // ...mapGetters(['menuActive']),
  168. },
  169. data() {
  170. var validatePassOld = (rule, value, callback) => {
  171. // if (value === "") {
  172. // callback(new Error("请输入密码"));
  173. // } else {
  174. // let juPassword = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,16}$/;
  175. // if (!juPassword.test(this.ruleForm.oldpass)) {
  176. // callback(new Error("格式为数字+英文字母+特殊字符(~!@#$%^&*)8-16位"));
  177. // } else {
  178. // callback();
  179. // }
  180. // }
  181. if (value === "") {
  182. callback(new Error("请输入旧密码"));
  183. } else {
  184. if (value.length < 6 || value.length > 18) {
  185. callback(new Error("密码长度需在6~18位之间"));
  186. } else {
  187. this.$refs.ruleForm.validateField("pass");
  188. }
  189. callback();
  190. }
  191. };
  192. var validatePass = (rule, value, callback) => {
  193. // if (value === "") {
  194. // callback(new Error("请输入密码"));
  195. // } else {
  196. // let juPassword = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,16}$/;
  197. // if (!juPassword.test(this.ruleForm.pass)) {
  198. // callback(new Error("格式为数字+英文字母+特殊字符(~!@#$%^&*)8-16位"));
  199. // } else {
  200. // callback();
  201. // }
  202. // }
  203. if (value === "") {
  204. callback(new Error("请输入新密码"));
  205. } else {
  206. if (value.length < 6 || value.length > 18) {
  207. callback(new Error("密码长度需在6~18位之间"));
  208. } else {
  209. this.$refs.ruleForm.validateField("checkPass");
  210. }
  211. callback();
  212. }
  213. };
  214. var validatePass2 = (rule, value, callback) => {
  215. if (value === "") {
  216. callback(new Error("请再次输入密码"));
  217. } else if (value !== this.ruleForm.pass) {
  218. callback(new Error("两次输入密码不一致!"));
  219. } else if (value == this.ruleForm.oldpass) {
  220. callback(new Error("旧密码和新密码相同!"));
  221. } else {
  222. callback();
  223. }
  224. };
  225. return {
  226. userInfo: {}, //用户信息
  227. dialogVisible: false, //弹出窗是否可见
  228. size: "small",
  229. circleUrl: "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",
  230. activeIndex: "10",
  231. activeIndex2: "1",
  232. isCollapse: false,
  233. userType: "",
  234. menuList: [
  235. {
  236. id: "0",
  237. name: "渠道信息",
  238. icon: "el-icon-s-home",
  239. path: "0",
  240. showItem: true,
  241. child: [
  242. {
  243. id: "01",
  244. name: "签约详情",
  245. parentName: "渠道信息",
  246. icon: "el-icon-user-solid",
  247. path: "/manage/channelInfo",
  248. showItem: true,
  249. },
  250. {
  251. id: "02",
  252. name: "订单结算",
  253. icon: "el-icon-user-solid",
  254. parentName: "渠道信息",
  255. path: "/manage/orderSettlement",
  256. showItem: true,
  257. },
  258. {
  259. id: "03",
  260. name: "邀请链接",
  261. icon: "el-icon-user-solid",
  262. parentName: "渠道信息",
  263. path: "/manage/invite",
  264. showItem: true,
  265. },
  266. {
  267. id: "04",
  268. name: "报告记录",
  269. icon: "el-icon-user-solid",
  270. parentName: "渠道信息",
  271. path: "/manage/recordListAll",
  272. showItem: true,
  273. },
  274. {
  275. id: "05",
  276. name: "员工管理",
  277. icon: "el-icon-user-solid",
  278. parentName: "渠道信息",
  279. path: "/manage/channelUserManage",
  280. showItem: true,
  281. },
  282. ],
  283. },//channelUserManage
  284. {
  285. id: "1",
  286. name: "渠道管理",
  287. icon: "el-icon-user-solid",
  288. path: "",
  289. showItem: true,
  290. child: [
  291. {
  292. id: "11",
  293. name: "渠道信息",
  294. icon: "el-icon-user-solid",
  295. parentName: "渠道管理",
  296. path: "/manage/channelManagement",
  297. showItem: true,
  298. },
  299. {
  300. id: "12",
  301. name: "签约详情",
  302. icon: "el-icon-user-solid",
  303. parentName: "渠道管理",
  304. path: "/manage/contract",
  305. showItem: true,
  306. },
  307. ],
  308. },
  309. {
  310. id: "2",
  311. name: "财税报告",
  312. icon: "el-icon-user-solid",
  313. path: "2",
  314. showItem: true,
  315. child: [
  316. {
  317. id: "21",
  318. name: "接口价格",
  319. icon: "el-icon-user-solid",
  320. path: "/manage/interfacePrice",
  321. parentName: "渠道管理",
  322. showItem: true,
  323. },
  324. {
  325. id: "22",
  326. name: "产品定价",
  327. icon: "el-icon-user-solid",
  328. parentName: "渠道管理",
  329. path: "/manage/productPrice",
  330. showItem: true,
  331. },
  332. {
  333. id: "23",
  334. name: "报告记录",
  335. parentName: "渠道管理",
  336. icon: "el-icon-user-solid",
  337. path: "/manage/reportList",
  338. showItem: true,
  339. },
  340. ],
  341. },
  342. {
  343. id: "3",
  344. name: "订单管理",
  345. icon: "el-icon-user-solid",
  346. path: "3",
  347. showItem: true,
  348. child: [
  349. {
  350. id: "31",
  351. name: "用户订单",
  352. icon: "el-icon-user-solid",
  353. parentName: "订单管理",
  354. path: "/manage/userOrder",
  355. showItem: true,
  356. },
  357. {
  358. id: "32",
  359. name: "邀约订单",
  360. icon: "el-icon-user-solid",
  361. parentName: "订单管理",
  362. path: "/manage/orderInvite",
  363. showItem: true,
  364. },
  365. {
  366. id: "33",
  367. name: "订单结算",
  368. icon: "el-icon-user-solid",
  369. parentName: "订单管理",
  370. path: "/manage/orderSettlementManage",
  371. showItem: true,
  372. },
  373. ],
  374. },
  375. /*
  376. {
  377. id: '3',
  378. name: "订单管理",
  379. icon: "el-icon-user-solid",
  380. path: "/manage/userManage",
  381. showItem: true,
  382. child:[
  383. {
  384. id: '31',
  385. name: "用户订单",
  386. icon: "el-icon-user-solid",
  387. path: "/manage/agencyUserManage",
  388. showItem: true,
  389. },
  390. {
  391. id: '32',
  392. name: "邀约订单",
  393. icon: "el-icon-user-solid",
  394. path: "/manage/agencyUserManage",
  395. showItem: true,
  396. },
  397. {
  398. id: '33',
  399. name: "订单结算",
  400. icon: "el-icon-user-solid",
  401. path: "/manage/agencyUserManage",
  402. showItem: true,
  403. },
  404. ]
  405. },
  406. {
  407. id: '4',
  408. name: "邀请管理",
  409. icon: "el-icon-s-order",
  410. path: "/manage/gameRecord1",
  411. showItem: true,
  412. child:[
  413. {
  414. id: '41',
  415. name: "邀请链接",
  416. icon: "el-icon-user-solid",
  417. path: "/manage/agencyUserManage",
  418. showItem: true,
  419. },
  420. ]
  421. },*/
  422. {
  423. id: "5",
  424. name: "用户管理",
  425. icon: "el-icon-s-order",
  426. path: "/manage/gameRecord2",
  427. showItem: true,
  428. child: [
  429. {
  430. parentName: "用户管理",
  431. id: "51",
  432. name: "用户管理",
  433. icon: "el-icon-user-solid",
  434. path: "/manage/userManage",
  435. showItem: true,
  436. },
  437. {
  438. parentName: "用户管理",
  439. id: "52",
  440. name: "角色管理",
  441. icon: "el-icon-user-solid",
  442. path: "/manage/roleManage",
  443. showItem: true,
  444. },
  445. ],
  446. },
  447. // {
  448. // id: "6",
  449. // name: "数据大屏",
  450. // icon: "el-icon-s-order",
  451. // // path: "/manage/gameRecord",
  452. // showItem: true,
  453. // child: [
  454. // {
  455. // id: "61",
  456. // name: "大屏",
  457. // icon: "el-icon-user-solid",
  458. // path: "/manage/agencyUserManage",
  459. // showItem: true,
  460. // },
  461. // ],
  462. // },
  463. {
  464. id: "7",
  465. name: "文件上传",
  466. icon: "el-icon-user-solid",
  467. path: "7",
  468. showItem: true,
  469. child: [
  470. {
  471. id: "71",
  472. name: "生成报告",
  473. icon: "el-icon-user-solid",
  474. parentName: "文件上传",
  475. path: "/manage/createReport/index",
  476. showItem: true,
  477. }
  478. ],
  479. },
  480. ],
  481. //面包屑页签
  482. crumbParent: "首页",
  483. crumbChild: null,
  484. //修改密码
  485. ruleForm: {
  486. pass: "",
  487. checkPass: "",
  488. oldpass: "",
  489. },
  490. upPass: {
  491. institutionNo: "",
  492. password: "",
  493. },
  494. rules: {
  495. pass: [{ required: true, validator: validatePass, trigger: "blur" }],
  496. checkPass: [{ required: true, validator: validatePass2, trigger: "blur" }],
  497. oldpass: [{ required: true, validator: validatePassOld, trigger: "blur" }],
  498. },
  499. ifAdmin: false,
  500. ifSupAdmin: false,
  501. active: "/manage/adminHome",
  502. urlJump: "http://152.136.24.101:8997?invitationCode=", //二维码跳转链接
  503. };
  504. },
  505. created() {
  506. if (oSessionStorage.getItem("userInfo")) {
  507. this.userInfo = JSON.parse(oSessionStorage.getItem("userInfo"));
  508. this.userType = this.userInfo.type;
  509. //假如是代理用户则 //代理用户菜单不显示
  510. if (this.userType == "0") {
  511. for (let i = 0; i < this.menuList.length; i++) {
  512. if (
  513. this.menuList[i].id == "5" ||
  514. this.menuList[i].id == "6" ||
  515. this.menuList[i].id == "2" ||
  516. this.menuList[i].id == "3" ||
  517. this.menuList[i].id == "1"
  518. ) {
  519. this.menuList[i].showItem = false;
  520. }
  521. }
  522. }
  523. }
  524. },
  525. mounted() {
  526. let codeImage = sessionStorage.getItem("codeImage");
  527. this.urlJump = codeImage + "?invitationCode=";
  528. let that = this;
  529. // 页面初始化或者刷新页面初始化页签及激活菜单-2020-03-17 lwl
  530. this.active = this.$route.path;
  531. this.selectMenu(this.$route.path);
  532. this.bus.$on("menuStatusUpdate", (e) => {
  533. that.$refs.menu.activeIndex = e;
  534. that.active = e;
  535. // that.$forceUpdate()
  536. that.selectMenu(e);
  537. });
  538. //得到用户信息,根据角色信息判断哪个显示哪个不显示
  539. },
  540. methods: {
  541. ...mapActions({
  542. // setSacleListName:"setSacleListName",
  543. // setMenuActive:"setMenuActive"
  544. }),
  545. changeMenu: function () {
  546. this.isCollapse = !this.isCollapse;
  547. },
  548. //匹配获取页签名称-2020-03-17 lwl
  549. selectMenu(param) {
  550. this.menuList.forEach((item) => {
  551. if (item.path == param) {
  552. this.crumbParent = item.name;
  553. this.crumbChild = null;
  554. return;
  555. } else {
  556. item.child.forEach((i) => {
  557. if (i.path == param) {
  558. this.crumbParent = i.parentName;
  559. this.crumbChild = i.name;
  560. }
  561. });
  562. }
  563. });
  564. },
  565. //下载专属二维码
  566. downCode(linkId) {
  567. const iconUrl = this.$refs[linkId].$el.src;
  568. const a = document.createElement("a");
  569. const event = new MouseEvent("click");
  570. a.download = linkId;
  571. a.href = iconUrl;
  572. a.dispatchEvent(event);
  573. },
  574. // 退出
  575. escape() {
  576. // localStorage.clear();
  577. // sessionStorage.clear();
  578. //
  579. // this.$router.push({
  580. // path: "/",
  581. // });
  582. oSessionStorage.removeItem("userInfo");
  583. oSessionStorage.removeItem("token");
  584. this.$router.push({ path: "/" });
  585. },
  586. /*lxh-修改密码*/
  587. submitForm(formName) {
  588. this.$refs[formName].validate((valid) => {
  589. if (valid) {
  590. this.$http.post(
  591. "/user/update/password",
  592. {
  593. id: this.userInfo.id,
  594. newPassword: md5(this.ruleForm.pass),
  595. oldPassword: md5(this.ruleForm.oldpass),
  596. },
  597. (res) => {
  598. if (res.code == 2001) {
  599. this.$message({
  600. message: "旧密码错误",
  601. type: "error",
  602. });
  603. }
  604. if (res.code == 200) {
  605. this.ruleForm.oldpass = "";
  606. this.ruleForm.pass = "";
  607. this.ruleForm.checkPass = "";
  608. this.dialogVisible = false;
  609. this.$message({
  610. message: "密码修改完成!",
  611. type: "success",
  612. });
  613. sessionStorage.clear();
  614. this.$router.push({
  615. path: "/",
  616. });
  617. }
  618. }
  619. );
  620. } else {
  621. console.log("error submit!!");
  622. return false;
  623. }
  624. });
  625. },
  626. // 重置表单
  627. resetForm(formName) {
  628. this.$refs[formName].resetFields();
  629. },
  630. // 修改密码
  631. changePwd() {
  632. this.dialogVisible = true;
  633. },
  634. },
  635. };
  636. </script>
  637. >
  638. <style>
  639. .el-menu--popup {
  640. /* min-width:100px */
  641. }
  642. .el-submenu__title:hover {
  643. background-color: #80a1ff;
  644. }
  645. .el-menu {
  646. background-color: #23315a;
  647. }
  648. .el-menu-item-group .el-menu-item.is-active {
  649. background-color: #80a1ff !important;
  650. }
  651. .el-menu-item-group .el-menu-item:hover {
  652. background-color: #80a1ff !important;
  653. }
  654. .el-menu-item-group__title {
  655. padding: 0px !important;
  656. line-height: normal;
  657. font-size: 12px;
  658. color: #909399;
  659. }
  660. .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus,
  661. .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover,
  662. .el-menu--horizontal > .el-submenu .el-submenu__title:hover {
  663. background-color: transparent !important;
  664. }
  665. </style>
  666. <style lang="less" scoped>
  667. .el-menu-vertical-demo:not(.el-menu--collapse) {
  668. width: 200px;
  669. min-height: 400px;
  670. }
  671. .shadow-menu {
  672. // box-shadow: 0 4px 12px 2px rgba(0, 0, 0, 0.1);
  673. }
  674. #app {
  675. margin-top: 0px;
  676. }
  677. .el-header {
  678. padding: 0 0px !important;
  679. box-sizing: border-box;
  680. flex-shrink: 0;
  681. }
  682. .menu-top-left {
  683. background-color: black;
  684. height: 3.75rem;
  685. display: flex;
  686. align-items: center;
  687. font-size: 16px;
  688. line-height: 2;
  689. }
  690. .menu-top-left i img {
  691. width: 30px;
  692. height: 30px;
  693. }
  694. .menu-top-left-title {
  695. color: #ffffff;
  696. font-size: 1rem;
  697. }
  698. .el-menu--horizontal {
  699. // position: absolute;
  700. // top: 60px;
  701. // z-index: 2003;
  702. // left: 975px !important;
  703. }
  704. /*.el-menu--horizontal > .el-submenu {*/
  705. /*float: right;*/
  706. /*}*/
  707. /*.el-menu--horizontal > .el-menu-item {*/
  708. /*float: right;*/
  709. /*height: 60px;*/
  710. /*line-height: 60px;*/
  711. /*margin: 0;*/
  712. /*border-bottom: 2px solid transparent;*/
  713. /*color: #909399;*/
  714. /*}*/
  715. .top-menu-control {
  716. float: left;
  717. }
  718. .aside-menu {
  719. background-color: #000000;
  720. /*height: 98vh;*/
  721. height: 100vh;
  722. text-align: left;
  723. /*padding-top: 60px;*/
  724. border-top-right-radius: 40px;
  725. border-bottom-right-radius: 40px;
  726. }
  727. .aside-menu .el-menu-item.is-active {
  728. background: #80a1ff !important;
  729. }
  730. .el-menu-item-group .el-menu-item.is-active {
  731. background: #80a1ff !important;
  732. }
  733. .fade-enter {
  734. opacity: 0;
  735. }
  736. .fade-leave {
  737. opacity: 1;
  738. }
  739. .fade-leave-active,
  740. .fade-enter-active {
  741. transition: opacity 0s;
  742. }
  743. /*.rightExit {*/
  744. /*float: right !important;*/
  745. /*}*/
  746. .main-header {
  747. height: 40px !important;
  748. padding: 20px 0 0 20px !important;
  749. .menu-hide {
  750. height: 20px !important;
  751. text-align: left;
  752. line-height: 20px !important;
  753. }
  754. }
  755. .admin-header-content {
  756. // background: #57acbb;
  757. background: transparent;
  758. height: 100% !important;
  759. display: flex;
  760. flex-direction: row;
  761. justify-content: space-between;
  762. align-items: center;
  763. }
  764. .admin-header-content .el-col {
  765. height: 100% !important;
  766. }
  767. .admin-header-content .admin-logo-content {
  768. /*box-sizing: border-box;*/
  769. /*width: 100%;*/
  770. /*height: 100%;*/
  771. width: 165px;
  772. height: 45px;
  773. padding: 8px 0 8px 20px;
  774. font-size: 18px;
  775. color: #fff;
  776. text-align: left;
  777. line-height: 45px;
  778. }
  779. .admin-header-content .admin-logo-content img {
  780. width: 100%;
  781. height: 100%;
  782. }
  783. .admin-header-content .admin-head-content {
  784. width: 100%;
  785. height: 100%;
  786. display: flex;
  787. flex-direction: column;
  788. justify-content: space-between;
  789. align-items: center;
  790. flex: 1;
  791. }
  792. .admin-header-content .el-menu-demo {
  793. height: 100%;
  794. }
  795. .el-menu--horizontal > .el-submenu .el-submenu__title,
  796. /deep/.el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
  797. border-bottom: none !important;
  798. }
  799. /deep/.el-menu--horizontal > .el-submenu .el-submenu__icon-arrow {
  800. color: #161616;
  801. }
  802. .el-menu.el-menu--horizontal {
  803. border-bottom: none;
  804. }
  805. .admin-breadcrumb {
  806. padding-top: 3px;
  807. margin-left: -18px;
  808. }
  809. .just-right {
  810. display: flex;
  811. flex-direction: row;
  812. justify-content: flex-end;
  813. }
  814. .el-main-inner {
  815. display: flex;
  816. width: 100%;
  817. background-color: #fff;
  818. padding: 20px;
  819. border-radius: 40px;
  820. overflow: scroll;
  821. }
  822. .el-main {
  823. box-sizing: border-box !important;
  824. display: flex !important;
  825. overflow: hidden !important;
  826. }
  827. .menu_name {
  828. color: #ffffff;
  829. }
  830. .menu_sub_tt {
  831. margin-left: 10px;
  832. color: white;
  833. display: flex;
  834. flex-direction: row;
  835. align-items: center;
  836. .menu_sub_t1 {
  837. background-color: #ffffff;
  838. border-radius: 50%;
  839. width: 5px;
  840. height: 5px;
  841. margin-right: 10px;
  842. }
  843. }
  844. </style>