From 46e5592169f0045fcb40d175c21ea3a1e9aeb593 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期六, 14 九月 2024 16:41:28 +0800 Subject: [PATCH] 登录二维码样式修改 关闭页面清空localStorage --- src/views/class/index.vue | 386 +++++++++++++++++++++++++++--------------------- src/views/login/index.vue | 13 + src/layout/components/Navbar.vue | 12 + src/App.vue | 33 +++ 4 files changed, 263 insertions(+), 181 deletions(-) diff --git a/src/App.vue b/src/App.vue index ec9032c..6bb22ac 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,11 +1,36 @@ <template> - <div id="app"> - <router-view /> - </div> + <div id="app"> + <router-view v-if="isRouterAlive" /> + </div> </template> <script> export default { - name: 'App' + name: 'App', + provide() { + return { + reload: this.reload + } + }, + data() { + return { + isRouterAlive: true + } + }, + mounted() { + // 鍏抽棴娴忚鍣ㄧ獥鍙g殑鏃跺�欐竻绌烘祻瑙堝櫒缂撳瓨鍦╨ocalStorage鐨勬暟鎹� + window.onbeforeunload = function (e) { + var storage = window.localStorage; + storage.clear() + } + }, + methods: { + reload() { + this.isRouterAlive = false + this.$nextTick(function () { + this.isRouterAlive = true + }) + } + } } </script> diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 8774f9e..71a8aef 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -11,8 +11,12 @@ <!-- <h3 style="position: fixed; top: 0; font-size: 16px; color: #5a5e66; " :style="'right:' + orgCss() ">{{ getOrgName() }}</h3> --> <div class="right-menu"> - <el-dropdown trigger="click" ref="eldrop" style="margin-right:20px"> - <div class="avatar-wrapper" style="font-size:20px"> + <el-dropdown + trigger="click" + ref="eldrop" + style="margin-right: 20px" + > + <div class="avatar-wrapper" style="font-size: 20px"> {{ selectStaff.org.name }} <i class="el-icon-caret-bottom"></i> </div> @@ -47,6 +51,7 @@ import Hamburger from '@/components/Hamburger' export default { + inject: ['reload'], // 渚濊禆娉ㄥ叆 data() { return { selectStaff: JSON.parse(localStorage.getItem("selectStaff")), @@ -67,7 +72,8 @@ changeStaff(item) { this.selectStaff = item localStorage.setItem("selectStaff", JSON.stringify(item)) - this.$router.go(0) + // this.$router.go(0) + this.reload() }, orgCss() { return JSON.parse(localStorage.getItem("user")).name.length * 20 + 100 + 'px'; diff --git a/src/views/class/index.vue b/src/views/class/index.vue index ccaf192..cf7a66b 100644 --- a/src/views/class/index.vue +++ b/src/views/class/index.vue @@ -1,185 +1,231 @@ <template> - <div class="app-container"> - <el-tabs v-model="activeName" @tab-click="fetchData"> - <el-tab-pane label="鍏ㄩ儴" name="all" /> - <el-tab-pane label="宸插仠鐢�" name="deactivated" /> - </el-tabs> - <div style="display: flex; flex-direction: row-reverse"> - <div style="width: 300px"> - <el-input placeholder="鎸夌彮绾у悕绉版悳绱�" v-model="data.keyword" class="input-with-select" size="small"> - <el-button slot="append" icon="el-icon-search" @click="fetchData"></el-button> - </el-input> - </div> + <div class="app-container"> + <el-tabs v-model="activeName" @tab-click="fetchData"> + <el-tab-pane label="鍏ㄩ儴" name="all" /> + <el-tab-pane label="宸插仠鐢�" name="deactivated" /> + </el-tabs> + <div style="display: flex; flex-direction: row-reverse"> + <div style="width: 300px"> + <el-input + placeholder="鎸夌彮绾у悕绉版悳绱�" + v-model="data.keyword" + class="input-with-select" + size="small" + > + <el-button + slot="append" + icon="el-icon-search" + @click="fetchData" + ></el-button> + </el-input> + </div> + </div> + <div style="height: calc(100vh - 248px)"> + <el-table + v-loading="listLoading" + :data="list" + element-loading-text="Loading" + fit + v-if="activeName == 'all'" + height="100%" + > + <el-table-column label="鐝骇鍚嶇О"> + <template slot-scope="scope"> + <el-link type="primary" :underline="false">{{ + scope.row.team.name + }}</el-link> + </template> + </el-table-column> + <el-table-column label="鐝骇浜烘暟" width="200"> + <template slot-scope="scope" + >{{ scope.row.playerCount }} 浜�</template + > + </el-table-column> + <el-table-column label="璇惧寘/浼氬憳鍗�" width="200"> + <template slot-scope="scope">{{ + scope.row.team.voucher + ? scope.row.team.voucher.name + : '' + }}</template> + </el-table-column> + <el-table-column label="鏁欏笀" width=""> + <template slot-scope="scope">{{ + concatenateArray(scope.row.team.sessionStaffs) + }}</template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="200"> + <template slot-scope="scope"> + <el-button type="text" @click="handleExport(scope.row)"> + 瀵煎嚭 + </el-button> + </template> + </el-table-column> + </el-table> + <el-table + v-loading="listLoading" + :data="list" + element-loading-text="Loading" + fit + height="100%" + v-else + > + <el-table-column label="鐝骇鍚嶇О"> + <template slot-scope="scope" + >{{ scope.row.name }} + </template> + </el-table-column> + <el-table-column label="鍋滅敤鏃堕棿"> + <template slot-scope="scope" + >{{ scope.row.modifyTime }} + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="200"> + <template slot-scope=""> + <el-link type="primary" :underline="false" + >鎭㈠</el-link + > + </template> + </el-table-column> + </el-table> + </div> + <div> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="data.pageIn.index + 1" + :page-sizes="[10, 20, 30, 40]" + :page-size="data.pageIn.size" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > + </el-pagination> + </div> + <el-dialog title="瀵煎嚭" :visible.sync="dialogVisible" width="50%"> + <el-form ref="form" :model="form" label-width="180px"> + <el-form-item label="鏃ユ湡鑼冨洿"> + <el-date-picker + v-model="form.dateRange" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmExport" + >瀵� 鍑�</el-button + > + </div> + </el-dialog> </div> - <div style="height: calc(100vh - 248px)"> - <el-table v-loading="listLoading" :data="list" element-loading-text="Loading" fit v-if="activeName == 'all'" - height="100%"> - <el-table-column label="鐝骇鍚嶇О"> - <template slot-scope="scope"> - <el-link type="primary" :underline="false">{{ - scope.row.team.name - }}</el-link> - </template> - </el-table-column> - <el-table-column label="鐝骇浜烘暟" width="200"> - <template slot-scope="scope">{{ scope.row.playerCount }} 浜�</template> - </el-table-column> - <el-table-column label="璇惧寘/浼氬憳鍗�" width="200"> - <template slot-scope="scope">{{ - scope.row.team.voucher.name - }}</template> - </el-table-column> - <el-table-column label="鏁欏笀" width=""> - <template slot-scope="scope">{{ - concatenateArray(scope.row.team.sessionStaffs) - }}</template> - </el-table-column> - <el-table-column label="鎿嶄綔" width="200"> - <template slot-scope="scope"> - <el-button type="text" @click="handleExport(scope.row)"> - 瀵煎嚭 - </el-button> - </template> - </el-table-column> - </el-table> - <el-table v-loading="listLoading" :data="list" element-loading-text="Loading" fit height="100%" v-else> - <el-table-column label="鐝骇鍚嶇О"> - <template slot-scope="scope">{{ scope.row.name }} </template> - </el-table-column> - <el-table-column label="鍋滅敤鏃堕棿"> - <template slot-scope="scope">{{ scope.row.modifyTime }} </template> - </el-table-column> - <el-table-column label="鎿嶄綔" width="200"> - <template slot-scope=""> - <el-link type="primary" :underline="false">鎭㈠</el-link> - </template> - </el-table-column> - </el-table> - </div> - <div> - <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="data.pageIn.index + 1" :page-sizes="[10, 20, 30, 40]" :page-size="data.pageIn.size" - layout="total, sizes, prev, pager, next, jumper" :total="total"> - </el-pagination> - </div> - <el-dialog title="瀵煎嚭" :visible.sync="dialogVisible" width="50%"> - <el-form ref="form" :model="form" label-width="180px"> - <el-form-item label="鏃ユ湡鑼冨洿"> - <el-date-picker v-model="form.dateRange" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd"></el-date-picker> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmExport">瀵� 鍑�</el-button> - </div> - </el-dialog> - </div> </template> <script> import { getTeamDtoAll, getDeletedItem } from "@/api/class"; export default { - filters: { - statusFilter(status) { - const statusMap = { - published: "success", - draft: "gray", - deleted: "danger", - }; - return statusMap[status]; - }, - }, - data() { - return { - dialogVisible: false, - form: { - dateRange: [], - teamId: "", - name: "", - }, - list: null, - listLoading: true, - activeName: "all", - total: 0, - data: { - staffId: JSON.parse(localStorage.getItem("selectStaff")).id, - keyword: "", - pageIn: { - //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� - index: 0, //蹇呴�� - size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20 - sorts: { - name: "name", //鎺掑簭瀛楁鍚嶇О - direction: "ASC", //鎺掑簭鏂瑰悜 - }, + filters: { + statusFilter(status) { + const statusMap = { + published: "success", + draft: "gray", + deleted: "danger", + }; + return statusMap[status]; }, - types: ["NORMAL"], - }, - }; - }, - created() { - this.fetchData(); - }, - methods: { - handleExport(row) { - this.form.dateRange = []; - this.form.teamId = row.team.id; - this.form.name = row.team.name; - this.dialogVisible = true; }, - confirmExport() { - this.download('exportSignIn?teamId=' + this.form.teamId + '&startTime=' + this.form.dateRange[0] + '&endTime=' + this.form.dateRange[1], { - }, `${this.form.name}涓婅绛惧埌琛�.xlsx`) - }, - handleSizeChange(val) { - this.data.pageIn.size = val; - this.fetchData("pageIn"); - }, - handleCurrentChange(val) { - this.data.pageIn.index = val - 1; - this.fetchData("pageIn"); - }, - fetchData(_val) { - if (_val !== "pageIn") { - this.data.pageIn.index = 0; - this.data.pageIn.size = 10; - } - this.listLoading = true; - if (this.activeName == "all") { - this.listLoading = true; - getTeamDtoAll(this.data).then((response) => { - this.list = response.data.findTeamDtoAll.ls; - this.total = response.data.findTeamDtoAll.pageOut.total; - this.listLoading = false; - }); - } else if (this.activeName == "deactivated") { - this.listLoading = true; - let data = { - itemType: "TEAM", - staffId: JSON.parse(localStorage.getItem("selectStaff")).id, - keyword: this.data.keyword, - pageIn: { ...this.data.pageIn }, + data() { + return { + dialogVisible: false, + form: { + dateRange: [], + teamId: "", + name: "", + }, + list: null, + listLoading: true, + activeName: "all", + total: 0, + data: { + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, + keyword: "", + pageIn: { + //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� + index: 0, //蹇呴�� + size: 10, //姣忛〉鐨勫ぇ灏忋�傞粯璁�20 + sorts: { + name: "name", //鎺掑簭瀛楁鍚嶇О + direction: "ASC", //鎺掑簭鏂瑰悜 + }, + }, + types: ["NORMAL"], + }, }; - getDeletedItem(data).then((response) => { - this.list = response.data.findDeletedItem.ls; - this.total = response.data.findDeletedItem.pageOut.total; - this.listLoading = false; - }); - } }, - concatenateArray(arr) { - let result = ""; - for (let i = 0; i < arr.length; i++) { - if (i == 0) { - result += arr[i].name; - } else { - result += "," + arr[i].name; - } - } - return result; + created() { + this.fetchData(); }, - }, + methods: { + handleExport(row) { + this.form.dateRange = []; + this.form.teamId = row.team.id; + this.form.name = row.team.name; + this.dialogVisible = true; + }, + confirmExport() { + this.download('exportSignIn?teamId=' + this.form.teamId + '&startTime=' + this.form.dateRange[0] + '&endTime=' + this.form.dateRange[1], { + }, `${this.form.name}涓婅绛惧埌琛�.xlsx`) + }, + handleSizeChange(val) { + this.data.pageIn.size = val; + this.fetchData("pageIn"); + }, + handleCurrentChange(val) { + this.data.pageIn.index = val - 1; + this.fetchData("pageIn"); + }, + fetchData(_val) { + if (_val !== "pageIn") { + this.data.pageIn.index = 0; + this.data.pageIn.size = 10; + } + this.listLoading = true; + if (this.activeName == "all") { + this.listLoading = true; + getTeamDtoAll(this.data).then((response) => { + this.list = response.data.findTeamDtoAll.ls; + this.total = response.data.findTeamDtoAll.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "deactivated") { + this.listLoading = true; + let data = { + itemType: "TEAM", + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, + keyword: this.data.keyword, + pageIn: { ...this.data.pageIn }, + }; + getDeletedItem(data).then((response) => { + this.list = response.data.findDeletedItem.ls; + this.total = response.data.findDeletedItem.pageOut.total; + this.listLoading = false; + }); + } + }, + concatenateArray(arr) { + let result = ""; + for (let i = 0; i < arr.length; i++) { + if (i == 0) { + result += arr[i].name; + } else { + result += "," + arr[i].name; + } + } + return result; + }, + }, }; </script> diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 00c9d6f..5ede3fc 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -40,7 +40,7 @@ appid: "wx7103925df6236723", redirect_uri: encodeURIComponent("https://dingdang.9village.cn/#/login"), state: "1", - href: "data:text/css;base64,LmltcG93ZXJCb3ggLnFyY29kZSB7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTQwcHg7CiAgICAgICAgICBoZWlnaHQ6IDE0MHB4OwogICAgICAgIH0=", // 鑷畾涔夋牱寮忛摼鎺� + href: "data:text/css;base64,LmltcG93ZXJCb3ggLnFyY29kZSB7d2lkdGg6IDIwMHB4O30KLmltcG93ZXJCb3ggLnRpdGxlIHtkaXNwbGF5OiBub25lO30KLmltcG93ZXJCb3ggLmluZm8ge3dpZHRoOiAyMDBweDt9Ci5zdGF0dXNfaWNvbiB7ZGlzcGxheTogbm9uZX0KLmltcG93ZXJCb3ggLnN0YXR1cyB7dGV4dC1hbGlnbjogY2VudGVyO30g", // 鑷畾涔夋牱寮忛摼鎺� loginForm: { username: "admin", password: "111111", @@ -88,9 +88,9 @@ login({ code: code, }).then((res) => { - localStorage.setItem("user", JSON.stringify(res)); - localStorage.setItem("staffs", JSON.stringify(res.staffs)); - localStorage.setItem("selectStaff", JSON.stringify(res.staffs[0])); + sessionStorage.setItem("user", JSON.stringify(res)); + sessionStorage.setItem("staffs", JSON.stringify(res.staffs)); + sessionStorage.setItem("selectStaff", JSON.stringify(res.staffs[0])); this.$router.push("/student"); }); }, @@ -263,4 +263,9 @@ user-select: none; } } + +.main_wx{ + height: 360px; + margin-bottom: 100px; +} </style> -- Gitblit v1.8.0