From be30a62a2dddf9ba36e69ade654513cbd7aa0c52 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期六, 14 九月 2024 11:56:31 +0800 Subject: [PATCH] 机构切换 --- src/views/class/index.vue | 4 vue.config.js | 2 src/views/curriculum/index.vue | 4 src/views/integral/index.vue | 4 src/views/login/index.vue | 4 src/layout/components/Navbar.vue | 247 +++++++------ src/views/student/index.vue | 473 +++++++++++++------------ src/views/comment/index.vue | 4 README.md | 2 src/views/scheduleCourses/index.vue | 278 +++++++------- .env.development | 2 src/views/rollCall/index.vue | 6 src/views/student/components/create.vue | 4 src/utils/graphql.js | 6 src/layout/components/Sidebar/index.vue | 2 src/views/development/index.vue | 4 src/views/student/components/details.vue | 2 src/views/work/index.vue | 4 18 files changed, 548 insertions(+), 504 deletions(-) diff --git a/.env.development b/.env.development index 0162bc9..46e640e 100644 --- a/.env.development +++ b/.env.development @@ -2,4 +2,4 @@ ENV = 'development' # base api -VUE_APP_BASE_API = 'https://www.9village.cn/dream_test' +VUE_APP_BASE_API = '/dream_test' diff --git a/README.md b/README.md index 49586cb..f5f4252 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## dream_web +## dream_test_web 鍙綋寰暀鍔″悗鍙� diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 53ce25c..8774f9e 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -1,24 +1,44 @@ <template> - <div class="navbar"> - <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> + <div class="navbar"> + <hamburger + :is-active="sidebar.opened" + class="hamburger-container" + @toggleClick="toggleSideBar" + /> - <breadcrumb class="breadcrumb-container" /> - <!-- 鍥哄畾鍙充笂瑙� --> - <h3 style="position: fixed; top: 0; font-size: 16px; color: #5a5e66; " :style="'right:' + orgCss() ">{{ getOrgName() }}</h3> - <div class="right-menu"> - <el-dropdown class="avatar-container" trigger="click"> - <div class="avatar-wrapper"> - {{ '浣犲ソ锛�' + getUserName() }} - <i class="el-icon-caret-bottom"></i> + <breadcrumb class="breadcrumb-container" /> + <!-- 鍥哄畾鍙充笂瑙� --> + <!-- <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"> + {{ selectStaff.org.name }} + <i class="el-icon-caret-bottom"></i> + </div> + <el-dropdown-menu slot="dropdown" align="center"> + <el-dropdown-item + v-for="item in staffs" + @click.native="changeStaff(item)" + :key="item.id" + > + {{ item.org.name }} + </el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + <el-dropdown class="avatar-container" trigger="click"> + <div class="avatar-wrapper"> + {{ '鎮ㄥソ锛�' + getUserName() }} + <i class="el-icon-caret-bottom"></i> + </div> + <el-dropdown-menu slot="dropdown" class="user-dropdown"> + <el-dropdown-item @click.native="logout"> + <span style="display: block">閫�鍑虹櫥褰�</span> + </el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> </div> - <el-dropdown-menu slot="dropdown" class="user-dropdown"> - <el-dropdown-item @click.native="logout"> - <span style="display:block;">閫�鍑虹櫥褰�</span> - </el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> </div> - </div> </template> <script> @@ -27,113 +47,124 @@ import Hamburger from '@/components/Hamburger' export default { - components: { - Breadcrumb, - Hamburger - }, - computed: { - ...mapGetters([ - 'sidebar', - 'avatar' - ]) - }, - methods: { - orgCss() { - return JSON.parse(localStorage.getItem("user")).name.length * 20 + 100 + 'px'; + data() { + return { + selectStaff: JSON.parse(localStorage.getItem("selectStaff")), + staffs: JSON.parse(localStorage.getItem("staffs")) + } }, - getOrgName() { - return JSON.parse(localStorage.getItem("user")).staffs[0].org.name; + components: { + Breadcrumb, + Hamburger }, - getUserName() { - return JSON.parse(localStorage.getItem("user")).name; + computed: { + ...mapGetters([ + 'sidebar', + 'avatar' + ]) }, - toggleSideBar() { - this.$store.dispatch('app/toggleSideBar') - }, - async logout() { - // await this.$store.dispatch('user/logout') - this.$router.push(`/login`) + methods: { + changeStaff(item) { + this.selectStaff = item + localStorage.setItem("selectStaff", JSON.stringify(item)) + this.$router.go(0) + }, + orgCss() { + return JSON.parse(localStorage.getItem("user")).name.length * 20 + 100 + 'px'; + }, + getOrgName() { + return JSON.parse(localStorage.getItem("user")).staffs[0].org.name; + }, + getUserName() { + return JSON.parse(localStorage.getItem("user")).name; + }, + toggleSideBar() { + this.$store.dispatch('app/toggleSideBar') + }, + async logout() { + // await this.$store.dispatch('user/logout') + this.$router.push(`/login`) + } } - } } </script> <style lang="scss" scoped> .navbar { - height: 50px; - overflow: hidden; - position: relative; - background: #fff; - box-shadow: 0 1px 4px rgba(0,21,41,.08); + height: 50px; + overflow: hidden; + position: relative; + background: #fff; + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); - .hamburger-container { - line-height: 46px; - height: 100%; - float: left; - cursor: pointer; - transition: background .3s; - -webkit-tap-highlight-color:transparent; - - &:hover { - background: rgba(0, 0, 0, .025) - } - } - - .breadcrumb-container { - float: left; - } - - .right-menu { - float: right; - height: 100%; - line-height: 50px; - - &:focus { - outline: none; - } - - .right-menu-item { - display: inline-block; - padding: 0 8px; - height: 100%; - font-size: 18px; - color: #5a5e66; - vertical-align: text-bottom; - - &.hover-effect { + .hamburger-container { + line-height: 46px; + height: 100%; + float: left; cursor: pointer; - transition: background .3s; + transition: background 0.3s; + -webkit-tap-highlight-color: transparent; &:hover { - background: rgba(0, 0, 0, .025) + background: rgba(0, 0, 0, 0.025); } - } } - .avatar-container { - margin-right: 50px; - - .avatar-wrapper { - margin-top: 5px; - position: relative; - cursor: pointer; - - .user-avatar { - cursor: pointer; - width: 40px; - height: 40px; - border-radius: 10px; - } - - .el-icon-caret-bottom { - cursor: pointer; - position: absolute; - right: -20px; - top: 25px; - font-size: 12px; - } - } + .breadcrumb-container { + float: left; } - } + + .right-menu { + float: right; + height: 100%; + line-height: 50px; + + &:focus { + outline: none; + } + + .right-menu-item { + display: inline-block; + padding: 0 8px; + height: 100%; + font-size: 18px; + color: #5a5e66; + vertical-align: text-bottom; + + &.hover-effect { + cursor: pointer; + transition: background 0.3s; + + &:hover { + background: rgba(0, 0, 0, 0.025); + } + } + } + + .avatar-container { + margin-right: 50px; + + .avatar-wrapper { + margin-top: 5px; + position: relative; + cursor: pointer; + + .user-avatar { + cursor: pointer; + width: 40px; + height: 40px; + border-radius: 10px; + } + + .el-icon-caret-bottom { + cursor: pointer; + position: absolute; + right: -20px; + top: 25px; + font-size: 12px; + } + } + } + } } </style> diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index ea7723a..3dae328 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -12,7 +12,7 @@ :collapse-transition="false" mode="vertical" > - <sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" /> + <sidebar-item v-for="(route,index) in routes" :key="index" :item="route" :base-path="route.path" /> </el-menu> </el-scrollbar> </div> diff --git a/src/utils/graphql.js b/src/utils/graphql.js index 0035dcd..319754f 100644 --- a/src/utils/graphql.js +++ b/src/utils/graphql.js @@ -6,8 +6,8 @@ // export default apolloClient; // 瀹氫箟涓嶅悓璇锋眰鍦板潃 -const EFORMURI = "https://www.9village.cn/dream_test/graphql"; -const IOTURI = "https://www.9village.cn/dream_test" + "/graphql"; +const EFORMURI = "/dream_test/graphql"; +const IOTURI = "/dream_test/graphql"; // import ApolloClient from 'apollo-boost' //寮曞叆apollo-boost鎻掍欢 import { ApolloClient } from "apollo-client"; import { createHttpLink } from "apollo-link-http"; @@ -23,7 +23,7 @@ headers: { Authorization: JSON.parse(localStorage.getItem("user")).jwtToken, // Authorization:'eyJhbGciOiJIUzI1NiJ9.eyJleHBUaW1lIjoiMjAyNC8wNy8zMSAxODoxMSIsInVzZXJJZCI6NDQsImp0aSI6ImVlMDM3NmFjLWQ5OTAtNDRkZS05YTVmLTUxYjhjMjc0YWNiOSIsImlhdCI6MTcyMjQxMzUwMSwic3ViIjoieWNsIiwiZXhwIjoxNzIyNDIwNzAxfQ.bSd0qag44dwXeJQpvryYJXEtrQ03-8MmHQWhgILGXO4', - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, playerId: JSON.parse(localStorage.getItem("user")).players.length > 0 ? JSON.parse(localStorage.getItem("user")).players[0].id diff --git a/src/views/class/index.vue b/src/views/class/index.vue index b3aeb84..ccaf192 100644 --- a/src/views/class/index.vue +++ b/src/views/class/index.vue @@ -104,7 +104,7 @@ activeName: "all", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -158,7 +158,7 @@ this.listLoading = true; let data = { itemType: "TEAM", - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/src/views/comment/index.vue b/src/views/comment/index.vue index 004ad03..3eaefa3 100644 --- a/src/views/comment/index.vue +++ b/src/views/comment/index.vue @@ -129,7 +129,7 @@ activeName: "comment", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -172,7 +172,7 @@ this.listLoading = true; let data = { commentTypes: ["DIRECT_COMMENT"], - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/src/views/curriculum/index.vue b/src/views/curriculum/index.vue index de71a49..99960f4 100644 --- a/src/views/curriculum/index.vue +++ b/src/views/curriculum/index.vue @@ -188,7 +188,7 @@ methods: { getCourses() { let data = { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, day: this.getYMD(this.time), }; getBySessionExistsOfDay(data).then((res) => { @@ -197,7 +197,7 @@ courseIds.push(i.id); }); let params = { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, beginDate: this.getYMD(this.time), endDate: this.getYMD(this.time), courseIds: courseIds, diff --git a/src/views/development/index.vue b/src/views/development/index.vue index 26bd43e..a656e7f 100644 --- a/src/views/development/index.vue +++ b/src/views/development/index.vue @@ -133,7 +133,7 @@ activeName: "all", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -182,7 +182,7 @@ } else if (this.activeName == "other") { this.listLoading = true; let data = { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/src/views/integral/index.vue b/src/views/integral/index.vue index 9104d43..e009c1f 100644 --- a/src/views/integral/index.vue +++ b/src/views/integral/index.vue @@ -132,7 +132,7 @@ activeName: "student", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -175,7 +175,7 @@ this.listLoading = true; let data = { types: ["NORMAL"], - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 10ac0b8..00c9d6f 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -88,7 +88,9 @@ login({ code: code, }).then((res) => { - localStorage.setItem("user", JSON.stringify(res)); + localStorage.setItem("user", JSON.stringify(res)); + localStorage.setItem("staffs", JSON.stringify(res.staffs)); + localStorage.setItem("selectStaff", JSON.stringify(res.staffs[0])); this.$router.push("/student"); }); }, diff --git a/src/views/rollCall/index.vue b/src/views/rollCall/index.vue index 6f529cd..626a217 100644 --- a/src/views/rollCall/index.vue +++ b/src/views/rollCall/index.vue @@ -198,7 +198,7 @@ activeName: "student", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -242,7 +242,7 @@ this.listLoading = true; let data = { types: ["NORMAL"], - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; @@ -259,7 +259,7 @@ this.listLoading = true; let data = { completeTypes: ["ROLL_CALL"], - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/src/views/scheduleCourses/index.vue b/src/views/scheduleCourses/index.vue index 08aebe3..5bfb40b 100644 --- a/src/views/scheduleCourses/index.vue +++ b/src/views/scheduleCourses/index.vue @@ -1,151 +1,155 @@ <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 + height="100%" + > + <el-table-column label="璇剧▼鍚嶇О"> + <template slot-scope="scope"> + <el-link type="primary" :underline="false">{{ + scope.row.name + }}</el-link> + </template> + </el-table-column> + <el-table-column + label="鍋滅敤鏃堕棿" + width="200" + v-if="activeName == 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.modifyTime }} + </template> + </el-table-column> + <el-table-column + label="鎿嶄綔" + width="200" + v-if="activeName == 'deactivated'" + > + <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> </div> - <div style="height: calc(100vh - 248px)"> - <el-table - v-loading="listLoading" - :data="list" - element-loading-text="Loading" - fit - height="100%" - > - <el-table-column label="璇剧▼鍚嶇О"> - <template slot-scope="scope"> - <el-link type="primary" :underline="false">{{ - scope.row.name - }}</el-link> - </template> - </el-table-column> - <el-table-column - label="鍋滅敤鏃堕棿" - width="200" - v-if="activeName == 'deactivated'" - > - <template slot-scope="scope"> - {{ scope.row.modifyTime }} - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - width="200" - v-if="activeName == 'deactivated'" - > - <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> - </div> </template> <script> import { getCourse, getDeletedItem } from "@/api/scheduleCourses"; export default { - filters: { - statusFilter(status) { - const statusMap = { - published: "success", - draft: "gray", - deleted: "danger", - }; - return statusMap[status]; - }, - }, - data() { - return { - list: null, - listLoading: true, - activeName: "all", - total: 0, - data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].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: ["BOOKING_NONE", "BOOKING_TIME_STAFF", "BOOKING_TIME_PLACE"], - }, - }; - }, - created() { - this.fetchData(); - }, - methods: { - 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; - getCourse(this.data).then((response) => { - this.list = response.data.findCourse.ls; - this.total = response.data.findCourse.pageOut.total; - this.listLoading = false; - }); - } else if (this.activeName == "deactivated") { - this.listLoading = true; - let data = { - itemType: "COURSE", - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, - keyword: this.data.keyword, - pageIn: { ...this.data.pageIn }, + data() { + return { + 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: ["BOOKING_NONE", "BOOKING_TIME_STAFF", "BOOKING_TIME_PLACE"], + }, }; - getDeletedItem(data).then((response) => { - this.list = response.data.findDeletedItem.ls; - this.total = response.data.findDeletedItem.pageOut.total; - this.listLoading = false; - }); - } }, - }, + created() { + this.fetchData(); + }, + methods: { + handleSizeChange(val) { + this.data.pageIn.size = val; + this.fetchData("pageIn"); + }, + handleCurrentChange(val) { + this.data.pageIn.index = val - 1; + this.fetchData("pageIn"); + }, + fetchData(_val) { + + this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id + if (_val !== "pageIn") { + this.data.pageIn.index = 0; + this.data.pageIn.size = 10; + } + this.listLoading = true; + if (this.activeName == "all") { + this.listLoading = true; + getCourse(this.data).then((response) => { + this.list = response.data.findCourse.ls; + this.total = response.data.findCourse.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "deactivated") { + this.listLoading = true; + let data = { + itemType: "COURSE", + 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; + }); + } + }, + }, }; </script> diff --git a/src/views/student/components/create.vue b/src/views/student/components/create.vue index 5a8c4a2..9c776a7 100644 --- a/src/views/student/components/create.vue +++ b/src/views/student/components/create.vue @@ -142,7 +142,7 @@ id: "", name: "", }, - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, visibility: true, voucherId: "", //璇惧寘/浼氬憳鍗� }, @@ -158,7 +158,7 @@ }, getSaleManList() { let data = { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { index: 0, diff --git a/src/views/student/components/details.vue b/src/views/student/components/details.vue index 6fd1646..298efcc 100644 --- a/src/views/student/components/details.vue +++ b/src/views/student/components/details.vue @@ -156,7 +156,7 @@ }, getSaleManList() { let data = { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { index: 0, diff --git a/src/views/student/index.vue b/src/views/student/index.vue index 49be9ef..e010ca1 100644 --- a/src/views/student/index.vue +++ b/src/views/student/index.vue @@ -1,120 +1,126 @@ <template> - <div class="app-container"> - <el-tabs v-model="activeName" @tab-click="handleClick"> - <el-tab-pane label="鍏ㄩ儴" name="all" /> - <el-tab-pane label="寰呯画璐�" name="pendingFees" /> - <el-tab-pane label="宸茶繃鏈�" name="expired" /> - <el-tab-pane label="宸插仠鐢�" name="deactivated" /> - </el-tabs> - <div style="display: flex; justify-content: space-between"> - <!-- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</el-button> --> - <el-button type="primary" size="small" @click="handleExport">瀵煎嚭瀛﹀憳</el-button> - <div style="width: 500px"> - <!-- <el-date-picker v-model="dateRange" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" + <div class="app-container"> + <el-tabs v-model="activeName" @tab-click="handleClick"> + <el-tab-pane label="鍏ㄩ儴" name="all" /> + <el-tab-pane label="寰呯画璐�" name="pendingFees" /> + <el-tab-pane label="宸茶繃鏈�" name="expired" /> + <el-tab-pane label="宸插仠鐢�" name="deactivated" /> + </el-tabs> + <div style="display: flex; justify-content: space-between"> + <!-- <el-button type="primary" size="small" @click="showCreate">鏂板缓瀛﹀憳</el-button> --> + <el-button type="primary" size="small" @click="handleExport" + >瀵煎嚭瀛﹀憳</el-button + > + <div style="width: 500px"> + <!-- <el-date-picker v-model="dateRange" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd" style="margin-right: 10px"> </el-date-picker> <el-button type="primary" @click="handleExport2">瀵煎嚭璇惧寘</el-button> --> - </div> - <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="handleClick" - ></el-button> - </el-input> - </div> - </div> - <div style="height: calc(100vh - 248px)"> - <el-table - v-loading="listLoading" - :data="list" - element-loading-text="Loading" - fit - height="100%" - > - <el-table-column label="濮撳悕" prop=""> - <template slot-scope="scope"> - <el-link - type="primary" - :underline="false" - @click="goDetails(scope.row)" - >{{ scope.row.name }}</el-link - > - <!-- <el-link type="primary" :underline="false">{{ + </div> + <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="handleClick" + ></el-button> + </el-input> + </div> + </div> + <div style="height: calc(100vh - 248px)"> + <el-table + v-loading="listLoading" + :data="list" + element-loading-text="Loading" + fit + height="100%" + > + <el-table-column label="濮撳悕" prop=""> + <template slot-scope="scope"> + <el-link + type="primary" + :underline="false" + @click="goDetails(scope.row)" + >{{ scope.row.name }}</el-link + > + <!-- <el-link type="primary" :underline="false">{{ scope.row.name }}</el-link> --> - </template> - </el-table-column> - <el-table-column - label="鎬у埆" - width="80" - v-if="activeName !== 'deactivated'" - > - <template slot-scope="scope"> - {{ scope.row.gender == "FEMALE" ? "濂�" : "鐢�" }} - </template> - </el-table-column> - <el-table-column - label="鎵嬫満鍙�" - width="200" - prop="mobile" - v-if="activeName !== 'deactivated'" - > - <template slot-scope="scope"> - {{ scope.row.mobile ? scope.row.mobile : "--" }} - </template> - </el-table-column> - <el-table-column - label="鏄惁缁戝畾寰俊" - width="200" - v-if="activeName !== 'deactivated'" - > - <template slot-scope="scope"> - {{ scope.row.user ? "鏄�" : "鍚�" }} - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - width="200" - v-if="activeName == 'deactivated'" - > - <template slot-scope=""> - <el-link type="primary" :underline="false">鍒犻櫎</el-link> - - <el-link type="primary" :underline="false">鎭㈠</el-link> - </template> - </el-table-column> - <el-table-column - label="鍋滅敤鏃堕棿" - width="200" - v-if="activeName == 'deactivated'" - > - <template slot-scope="scope"> - {{ scope.row.modifyTime }} - </template> - </el-table-column> - </el-table> + </template> + </el-table-column> + <el-table-column + label="鎬у埆" + width="80" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.gender == 'FEMALE' ? '濂�' : '鐢�' }} + </template> + </el-table-column> + <el-table-column + label="鎵嬫満鍙�" + width="200" + prop="mobile" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.mobile ? scope.row.mobile : '--' }} + </template> + </el-table-column> + <el-table-column + label="鏄惁缁戝畾寰俊" + width="200" + v-if="activeName !== 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.user ? '鏄�' : '鍚�' }} + </template> + </el-table-column> + <el-table-column + label="鎿嶄綔" + width="200" + v-if="activeName == 'deactivated'" + > + <template slot-scope=""> + <el-link type="primary" :underline="false" + >鍒犻櫎</el-link + > + + <el-link type="primary" :underline="false" + >鎭㈠</el-link + > + </template> + </el-table-column> + <el-table-column + label="鍋滅敤鏃堕棿" + width="200" + v-if="activeName == 'deactivated'" + > + <template slot-scope="scope"> + {{ scope.row.modifyTime }} + </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> + <StudentCreate ref="studentCreate" /> </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> - <StudentCreate ref="studentCreate" /> - </div> </template> <script> @@ -123,135 +129,136 @@ export default { - filters: { - statusFilter(status) { - const statusMap = { - published: "success", - draft: "gray", - deleted: "danger", - }; - return statusMap[status]; - }, - }, - components: { - StudentCreate, - }, - data() { - return { - dateRange: [], - list: null, - listLoading: true, - activeName: "all", - total: 0, - data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].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]; }, - }, - }; - }, - created() { - // 鑾峰彇鍦板潃鏍廲ode - // let code = this.$route.query.code; - // if (code) { - // if (localStorage.getItem("code")) { - // if (code !== localStorage.getItem("code")) { - // this.getUserDate(code); - // } - // } else { - // this.getUserDate(code); - // } - // } else { - // if (!localStorage.getItem("user")) { - // this.$router.push("/login"); - // } - // } - if (localStorage.getItem("user")) { - this.fetchData(); - } else { - this.$router.push("/login"); - } - }, - methods: { - handleExport() { - this.download('exportPlayer?orgId=' + JSON.parse(localStorage.getItem("user")).staffs[0].org.id, { - }, `瀵煎嚭_${new Date().getTime()}.xlsx`) }, - handleExport2() { - if (this.dateRange.length == 0) { - this.$message.warning("璇烽�夋嫨鏃ユ湡鑼冨洿"); - return; - } - this.download('exportReport?startDate=' + this.dateRange[0] + '&endDate=' + this.dateRange[1], { - }, `瀵煎嚭_${new Date().getTime()}.xlsx`) + components: { + StudentCreate, }, - fetchData() { - this.listLoading = true; - getData(this.data).then((response) => { - this.list = response.data.findPlayerByStaff.ls; - this.total = response.data.findPlayerByStaff.pageOut.total; - this.listLoading = false; - }) - }, - handleSizeChange(val) { - this.data.pageIn.size = val; - this.handleClick(); - }, - handleCurrentChange(val) { - this.data.pageIn.index = val - 1; - this.handleClick(); - }, - handleClick(tab, event) { - if (this.activeName == "pendingFees") { - this.listLoading = true; - getRenew(this.data).then((response) => { - this.list = response.data.findPlayerRenew.ls; - this.total = response.data.findPlayerRenew.pageOut.total; - this.listLoading = false; - }); - } else if (this.activeName == "expired") { - this.listLoading = true; - getExpire(this.data).then((response) => { - this.list = response.data.findPlayerExpire.ls; - this.total = response.data.findPlayerExpire.pageOut.total; - this.listLoading = false; - }); - } else if (this.activeName == "all") { - this.fetchData(); - } else if (this.activeName == "deactivated") { - this.listLoading = true; - let data = { - itemType: "PLAYER", - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, - keyword: this.data.keyword, - pageIn: { ...this.data.pageIn }, + data() { + return { + dateRange: [], + 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", //鎺掑簭鏂瑰悜 + }, + }, + }, }; - getDeleted(data).then((response) => { - this.list = response.data.findDeletedItem.ls; - this.total = response.data.findDeletedItem.pageOut.total; - this.listLoading = false; - }); - } }, - goDetails(row) { - this.$router.push({ - name: "StudentDetails", - query: { - id: row.id, + created() { + // 鑾峰彇鍦板潃鏍廲ode + // let code = this.$route.query.code; + // if (code) { + // if (localStorage.getItem("code")) { + // if (code !== localStorage.getItem("code")) { + // this.getUserDate(code); + // } + // } else { + // this.getUserDate(code); + // } + // } else { + // if (!localStorage.getItem("user")) { + // this.$router.push("/login"); + // } + // } + if (localStorage.getItem("user")) { + this.fetchData(); + } else { + this.$router.push("/login"); + } + }, + methods: { + handleExport() { + this.download('exportPlayer?orgId=' + JSON.parse(localStorage.getItem("user")).staffs[0].org.id, { + }, `瀵煎嚭_${new Date().getTime()}.xlsx`) }, - }); + handleExport2() { + if (this.dateRange.length == 0) { + this.$message.warning("璇烽�夋嫨鏃ユ湡鑼冨洿"); + return; + } + this.download('exportReport?startDate=' + this.dateRange[0] + '&endDate=' + this.dateRange[1], { + }, `瀵煎嚭_${new Date().getTime()}.xlsx`) + }, + fetchData() { + this.listLoading = true; + getData(this.data).then((response) => { + this.list = response.data.findPlayerByStaff.ls; + this.total = response.data.findPlayerByStaff.pageOut.total; + this.listLoading = false; + }) + }, + handleSizeChange(val) { + this.data.pageIn.size = val; + this.handleClick(); + }, + handleCurrentChange(val) { + this.data.pageIn.index = val - 1; + this.handleClick(); + }, + handleClick(tab, event) { + this.data.staffId = JSON.parse(localStorage.getItem("selectStaff")).id + if (this.activeName == "pendingFees") { + this.listLoading = true; + getRenew(this.data).then((response) => { + this.list = response.data.findPlayerRenew.ls; + this.total = response.data.findPlayerRenew.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "expired") { + this.listLoading = true; + getExpire(this.data).then((response) => { + this.list = response.data.findPlayerExpire.ls; + this.total = response.data.findPlayerExpire.pageOut.total; + this.listLoading = false; + }); + } else if (this.activeName == "all") { + this.fetchData(); + } else if (this.activeName == "deactivated") { + this.listLoading = true; + let data = { + itemType: "PLAYER", + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, + keyword: this.data.keyword, + pageIn: { ...this.data.pageIn }, + }; + getDeleted(data).then((response) => { + this.list = response.data.findDeletedItem.ls; + this.total = response.data.findDeletedItem.pageOut.total; + this.listLoading = false; + }); + } + }, + goDetails(row) { + this.$router.push({ + name: "StudentDetails", + query: { + id: row.id, + }, + }); + }, + showCreate() { + this.$refs.studentCreate.showDialog(); + }, }, - showCreate() { - this.$refs.studentCreate.showDialog(); - }, - }, }; </script> diff --git a/src/views/work/index.vue b/src/views/work/index.vue index 90e2f7f..edd8024 100644 --- a/src/views/work/index.vue +++ b/src/views/work/index.vue @@ -149,7 +149,7 @@ activeName: "work", total: 0, data: { - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: "", pageIn: { //鍙�夛紝濡傛灉鏄垎椤垫煡璇紝闇�瑕佸姞涓娿�� @@ -194,7 +194,7 @@ this.listLoading = true; let data = { commentTypes: ["PLAYER_REPLY"], - staffId: JSON.parse(localStorage.getItem("user")).staffs[0].id, + staffId: JSON.parse(localStorage.getItem("selectStaff")).id, keyword: this.data.keyword, pageIn: { ...this.data.pageIn }, }; diff --git a/vue.config.js b/vue.config.js index b94fa30..e37ff00 100644 --- a/vue.config.js +++ b/vue.config.js @@ -39,7 +39,7 @@ proxy: { [process.env.VUE_APP_BASE_API]: { // 鍖归厤鎵�鏈変互 '/dev-api'寮�澶寸殑璇锋眰璺緞 - target: "http://192.168.3.87:18081/dream", //绫讳技浜嶯ginx鍙嶅悜浠g悊 + target: "http://localhost:18081/dream_test", //绫讳技浜嶯ginx鍙嶅悜浠g悊 changeOrigin: true, // 鏀寔璺ㄥ煙 pathRewrite: { // 閲嶅啓璺緞: 鍘绘帀璺緞涓紑澶寸殑'/dev-api' -- Gitblit v1.8.0