From 3e998850b5c4af147a60ed0b86b47379fc9eb1f2 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期四, 16 六月 2022 15:42:33 +0800
Subject: [PATCH] bei bei ke
---
src/pages/library/components/baseList.vue | 426 +++++++++++++---------------------------------------
1 files changed, 109 insertions(+), 317 deletions(-)
diff --git a/src/pages/library/components/baseList.vue b/src/pages/library/components/baseList.vue
index e2e91b9..ef99051 100644
--- a/src/pages/library/components/baseList.vue
+++ b/src/pages/library/components/baseList.vue
@@ -1,43 +1,25 @@
<template>
- <div
- :style="listWidth ? `width:${listWidth};` : ''"
- class="out-div el-menu-vertical-demo"
- >
+ <div :style="listWidth ? `width:${listWidth};` : ''" class="out-div el-menu-vertical-demo">
<el-collapse v-model="activeNames">
<el-collapse-item name="1" class="el-collapse-item__wrap">
<template slot="title">
- <span
- :class="
- title === '鍚屾搴�'
- ? 'iconfont icontongbuku_v'
- : 'iconfont iconbendiku_v'
- "
- style="font-size: 32px"
- ></span>
+ <img v-if="title === '鍚屾搴�'" src="/images/library/鍚屾搴�2.png" alt="" srcset="" />
+ <img v-else src="/images/library/鏈湴搴�2.png" alt="" srcset="" />
<span class="m5">{{ title }}</span>
- <span
- class="iconfont icontianjiaku-09"
- style="
- font-size: 22px;
- color: #666666;
- position: absolute;
- right: 10px;
- "
- @click.stop="add('sync')"
- v-if="isShow('library:set')"
- ></span>
- <!-- <i
- class="el-icon-circle-plus-outline ml10"
- style="font-size: 20px; color: #3d68e1"
-
- ></i> -->
- <!-- <span
- class="m5"
- style="font-size: 14px; color: #3d68e1"
- @click.stop="add('sync')"
- v-if="isShow('library:set')"
- >鏂板</span
- > -->
+ <el-tooltip content="娣诲姞鍚屾搴�" placement="top">
+ <!-- popper-class="atooltip" -->
+ <span
+ class="iconfont icontianjiaku-09"
+ style="
+ font-size: 22px;
+ color: #666666;
+ position: absolute;
+ right: 10px;
+ "
+ @click.stop="add('sync')"
+ v-if="isShow('library:set')"
+ ></span>
+ </el-tooltip>
</template>
<div class="max-height">
<el-row
@@ -47,68 +29,19 @@
@click.native="clickCategory(index, 'sync', item)"
:class="{ activeRow: categoryIndex == 'sync' + index }"
>
- <el-col
- :span="12"
- :class="item.bwType === '1' ? 'c-red' : 'c-green'"
- >
- <p
- style="text-align: left; margin-left: 5px"
- class="name-ellipsis"
- :title="item.tableName"
- >
- <span
- class="iconfont iconrenyuanku-09"
- v-if="item.tableType == 'person'"
- ></span>
- <span
- class="iconfont iconcheliangku-09"
- v-if="item.tableType == 'car'"
- ></span>
- <span style="font-size: 14px; font-weight: bold">
- {{ item.tableName }}</span
- >
+ <el-col :span="12" :class="item.bwType === '1' ? 'c-red' : 'c-green'">
+ <p style="text-align: left; margin-left: 5px" class="name-ellipsis" :title="item.tableName">
+ <span class="iconfont iconrenyuanku-09" v-if="item.tableType == 'person'"></span>
+ <span class="iconfont iconcheliangku-09" v-if="item.tableType == 'car'"></span>
+ <span style="font-size: 14px; font-weight: bold"> {{ item.tableName }}</span>
</p>
</el-col>
<el-col :span="10" :offset="1">
- <!-- <el-switch
- :active-value="1"
- :inactive-value="0"
- v-model="item.enable"
- size="small"
- style="margin-top: -7px"
- :disabled="isDisabled(item)"
- @change="setEnable(item)"
- >
-
- </el-switch> -->
- <!-- <div class="status-dot"></div> -->
<div
class="status-dot"
+ :class="item.enable == 1 ? 'status-dot-active' : ''"
:style="item.enable == 1 ? { background: '#4E94FF' } : {}"
></div>
- <!-- <el-tooltip
- content="缂栬緫"
- placement="top"
- popper-class="atooltip"
- >
- <span
- class="iconfont iconbianji iconStyle1"
- @click.stop="edit(item, 'sync')"
- v-if="isShow('library:set')"
- ></span>
- </el-tooltip> -->
- <!-- <el-tooltip
- content="鍒犻櫎"
- placement="top"
- popper-class="atooltip"
- >
- <span
- class="iconfont iconshanchu iconStyle1"
- style="color: #e74c3c"
- v-if="isShow('library:set')"
- @click.stop="deleteBase(item.id)"
- ></span>
- </el-tooltip> -->
</el-col>
<el-col
:span="24"
@@ -130,32 +63,21 @@
</el-collapse-item>
<el-collapse-item name="2" class="el-collapse-item__wrap">
<template slot="title">
- <span class="iconfont iconbendiku_v" style="font-size: 32px"></span>
+ <img src="/images/library/鏈湴搴�2.png" alt="" srcset="" />
<span class="m5">{{ titleB }}</span>
- <span
- class="iconfont icontianjiaku-09"
- style="
- font-size: 22px;
- color: #666666;
- position: absolute;
- right: 10px;
- "
- @click.stop="add('local')"
- v-if="isShow('library:set')"
- ></span>
-
- <!-- <i
- class="el-icon-circle-plus-outline ml10"
- style="font-size: 20px; color: #3d68e1"
-
- ></i> -->
- <!-- <span
- class="m5"
- style="font-size: 14px; color: #3d68e1"
- @click.stop="add('local')"
- v-if="isShow('library:set')"
- >鏂板</span
- > -->
+ <el-tooltip content="娣诲姞鍚屾搴�" placement="top">
+ <span
+ class="iconfont icontianjiaku-09"
+ style="
+ font-size: 22px;
+ color: #666666;
+ position: absolute;
+ right: 10px;
+ "
+ @click.stop="add('local')"
+ v-if="isShow('library:set')"
+ ></span>
+ </el-tooltip>
</template>
<div class="max-height">
<el-row
@@ -165,64 +87,19 @@
@click.native="clickCategory(index, 'local', item)"
:class="{ activeRow: categoryIndex == 'local' + index }"
>
- <el-col
- :span="12"
- :class="item.bwType === '1' ? 'c-red' : 'c-green'"
- >
- <p
- style="text-align: left; margin-left: 5px"
- class="name-ellipsis"
- :title="item.tableName"
- >
- <span
- class="iconfont iconrenyuanku-09"
- v-if="item.tableType == 'person'"
- ></span>
- <span
- class="iconfont iconcheliangku-09"
- v-if="item.tableType == 'car'"
- ></span>
+ <el-col :span="12" :class="item.bwType === '1' ? 'c-red' : 'c-green'">
+ <p style="text-align: left; margin-left: 5px" class="name-ellipsis" :title="item.tableName">
+ <span class="iconfont iconrenyuanku-09" v-if="item.tableType == 'person'"></span>
+ <span class="iconfont iconcheliangku-09" v-if="item.tableType == 'car'"></span>
<span> {{ item.tableName }}</span>
</p>
</el-col>
<el-col :span="10" :offset="1">
- <!-- <el-switch
- :active-value="1"
- :inactive-value="0"
- v-model="item.enable"
- size="small"
- style="margin-top: -7px"
- :disabled="isDisabled(item)"
- @change="setEnable(item)"
- ></el-switch> -->
<div
class="status-dot"
+ :class="item.enable == 1 ? 'status-dot-active' : ''"
:style="item.enable == 1 ? { background: '#4E94FF' } : {}"
></div>
-
- <!-- <el-tooltip
- content="缂栬緫"
- placement="top"
- popper-class="atooltip"
- >
- <span
- class="iconfont iconbianji iconStyle1"
- @click.stop="edit(item, 'local')"
- v-if="isShow('library:set')"
- ></span>
- </el-tooltip> -->
- <!-- <el-tooltip
- content="鍒犻櫎"
- placement="top"
- popper-class="atooltip"
- >
- <span
- class="iconfont iconshanchu iconStyle1"
- style="color: #e74c3c"
- v-if="isShow('library:set')"
- @click.stop="deleteBase(item.id)"
- ></span>
- </el-tooltip> -->
</el-col>
<el-col
:span="24"
@@ -238,9 +115,6 @@
<div class="time-end">
{{ item.endTime ? item.endTime : "姘镐箙鏈夋晥" }}
</div>
- <!-- {{ item.startTime }}~{{
- item.endTime ? item.endTime : "姘镐箙鏈夋晥"
- }} -->
</el-col>
</el-row>
</div>
@@ -249,7 +123,7 @@
</div>
</template>
<script>
-import { updateDbTableStatus } from "@/api/baseLibrary";
+import { updateDbTableStatus } from "@/api/baseLibrary"
export default {
name: "baseList",
data() {
@@ -259,203 +133,113 @@
categoryIndex: "",
syncTableList: [],
localTableList: [],
- clickBase: {}, // 褰撳墠鐐瑰嚮鐨勫簳搴撳璞�
- };
+ clickBase: {} // 褰撳墠鐐瑰嚮鐨勫簳搴撳璞�
+ }
},
computed: {
- // eslint-disable-next-line vue/return-in-computed-property
isAdmin() {
- if (
- sessionStorage.getItem("userInfo") &&
- sessionStorage.getItem("userInfo") !== ""
- ) {
- let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
- return loginName === "superadmin" || loginName === "basic";
+ if (sessionStorage.getItem("userInfo") && sessionStorage.getItem("userInfo") !== "") {
+ let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username
+ return loginName === "superadmin" || loginName === "basic"
}
- return false;
- },
+ return false
+ }
},
mounted() {
- this.init();
+ this.init()
},
methods: {
isShow(authority) {
- if (this.isAdmin) {
- return true;
- } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) {
- return true;
+ return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
+ },
+ async init(typ) {
+ await this.BaseManageData.querySyncTables()
+ this.syncTableList = this.BaseManageData.syncTables
+ if (typ) {
+ this.clickLast(typ)
} else {
- return false;
+ this.defaultShow()
}
- },
- async init() {
- await this.BaseManageData.querySyncTables();
- this.syncTableList = this.BaseManageData.syncTables;
- this.defaultShow();
- await this.BaseManageData.queryLocalTables();
- this.localTableList = this.BaseManageData.localTables;
- this.defaultShow();
- },
- handleChange(val) {
- console.log(val);
- },
- async setEnable(item) {
- let res = await updateDbTableStatus({
- id: item.id,
- enable: item.enable,
- });
- if (res.success === true) {
- this.$notify({
- type: "success",
- message: "搴曞簱鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
- });
+ await this.BaseManageData.queryLocalTables()
+ this.localTableList = this.BaseManageData.localTables
+ if (typ) {
+ this.clickLast(typ)
} else {
- this.$notify({
- type: "error",
- message: "搴曞簱鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
- });
+ this.defaultShow()
}
},
add(type) {
- this.$emit("changeShow", null, type);
+ this.$emit("changeShow", null, type)
},
- isDisabled(item) {
- var flag = true;
- if (this.isShow("library:set")) {
- if (item.endTime == "") {
- flag = false;
- } else {
- flag = !this.$moment(new Date()).isBetween(
- item.startTime,
- item.endTime
- );
- }
- }
- return flag;
+ clickLast(type) {
+ // this.$nextTick(() => {
+
+ // });
+ this.clickCategory(this.syncTableList.length - 1, type, this.syncTableList[this.syncTableList.length - 1])
},
clickCategory(index, type, item) {
- // 杩欓噷鎴戜滑浼犲叆涓�涓綋鍓嶅��
- this.categoryIndex = type + index;
+ this.categoryIndex = type + index
// 璋冪敤鍒囨崲鍙充晶闈㈡澘鐨勫嚱鏁板苟涓斿垏鎹㈢埗缁勪欢涓璱sSelected鐨勫�艰鍙︿竴涓粍浠舵竻闄よ閫変腑鐘舵��
- // this.$emit('clearSelected')
- this.clickBase = item;
- this.$emit("getList", item, type);
- },
- edit(item, type) {
- this.$emit("changeShow", item, type);
- },
- deleteBase(id) {
- debugger;
- let token =
- sessionStorage.getItem("loginedInfo") &&
- JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
- this.$confirm("鎻愮ず锛氱‘瀹氬垹闄ゅ簳搴擄紵", {
- center: true,
- cancelButtonClass: "comfirm-class-cancle",
- confirmButtonClass: "comfirm-class-sure",
- }).then(() => {
- fetch(`/data/api-v/dbtable/deleteDBtablesById?id=${id}`, {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- Authorization: token,
- },
- })
- .then((res) => {
- return res.json();
- })
- .then((res) => {
- if (res.success) {
- this.$notify({
- type: "success",
- message: "搴曞簱鍒犻櫎鎴愬姛锛�",
- });
- }
- this.init();
- })
- .catch((err) => {
- this.$notify({
- type: "error",
- message: err,
- });
- });
- });
+ this.clickBase = item
+ this.$emit("getList", item, type)
+ console.log("clickCategory", item, type)
},
// 榛樿鏄剧ず绗竴涓簱鐨勬暟鎹�
defaultShow() {
if (this.syncTableList && this.syncTableList.length) {
- this.clickCategory(0, "sync", this.syncTableList[0]);
+ this.clickCategory(0, "sync", this.syncTableList[0])
} else {
if (this.localTableList && this.localTableList.length) {
- this.clickCategory(0, "local", this.syncTableList[0]);
+ this.clickCategory(0, "local", this.syncTableList[0])
}
}
},
// 娣诲姞鏃堕棿姣旇緝鍑芥暟
dateParse(dateString) {
- var SEPARATOR_BAR = "-";
- var SEPARATOR_SLASH = "/";
- var SEPARATOR_DOT = ".";
- var dateArray;
+ var SEPARATOR_BAR = "-"
+ var SEPARATOR_SLASH = "/"
+ var SEPARATOR_DOT = "."
+ var dateArray
if (dateString.indexOf(SEPARATOR_BAR) > -1) {
- dateArray = dateString.split(SEPARATOR_BAR);
+ dateArray = dateString.split(SEPARATOR_BAR)
} else if (dateString.indexOf(SEPARATOR_SLASH) > -1) {
- dateArray = dateString.split(SEPARATOR_SLASH);
+ dateArray = dateString.split(SEPARATOR_SLASH)
} else {
- dateArray = dateString.split(SEPARATOR_DOT);
+ dateArray = dateString.split(SEPARATOR_DOT)
}
- return new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);
+ return new Date(dateArray[0], dateArray[1] - 1, dateArray[2])
},
isEmpty(str) {
if (!str || str === undefined || str === null) {
- return true;
+ return true
} else {
- return false;
+ return false
}
- },
- dateCompare(dateString, compareDateString) {
- // dateString:褰撳墠鏃堕棿
- // compareDateString:闇�瑕佹瘮杈冪殑鏃堕棿
- if (this.isEmpty(dateString)) {
- return;
- }
- if (this.isEmpty(compareDateString)) {
- return 1;
- }
- var dateTime = this.dateParse(dateString).getTime();
- var compareDateTime = this.dateParse(compareDateString).getTime();
- if (compareDateTime > dateTime) {
- return 1;
- } else if (compareDateTime === dateTime) {
- return 0;
- } else {
- return -1;
- }
- },
+ }
},
props: {
listWidth: {
- default: "234px",
- type: String,
+ default: "224px",
+ type: String
},
title: {
default: "鍚屾搴�",
- type: String,
+ type: String
},
titleB: {
default: "鏈湴搴�",
- type: String,
+ type: String
},
isSelected: {
default: false,
- type: Boolean,
+ type: Boolean
},
type: {
default: "",
- type: String,
- },
- },
-};
+ type: String
+ }
+ }
+}
</script>
<style lang="scss">
.iconStyle1 {
@@ -474,6 +258,7 @@
display: flex;
align-items: center;
justify-content: right;
+ width: auto;
float: right;
margin-right: 10px;
}
@@ -496,8 +281,11 @@
font-size: 14px;
}
.out-div {
- // overflow: hidden auto;
max-height: 100%;
+ height: 100%;
+ .el-collapse-item__header {
+ position: relative;
+ }
.el-collapse-item__wrap {
will-change: height;
background-color: #fff;
@@ -510,8 +298,12 @@
display: none;
}
.el-row {
- border-radius: 9px; background: rgba(239, 241, 245, 0.35);
-
+ border-radius: 9px;
+ background: rgba(239, 241, 245, 0.35);
+ margin-bottom: 4px;
+ min-height: 72px;
+ box-sizing: border-box;
+ padding: 10px 5px;
}
.time-start {
display: inline-block;
@@ -520,7 +312,7 @@
display: inline-block;
}
.activeRow {
- background: #4e94ff;
+ background: var(--colorCard);
color: #fff;
.time-start {
color: #e9e9e9;
@@ -528,7 +320,7 @@
.time-end {
color: #e9e9e9;
}
- .status-dot {
+ .status-dot-active {
background: #fff !important;
}
}
--
Gitblit v1.8.0