zhangjie vor 3 Jahren
Ursprung
Commit
b44cb15c6e

+ 54 - 0
src/components/MoreText.vue

@@ -0,0 +1,54 @@
+<template>
+  <div class="more-text">
+    <span>{{ showContent }}</span>
+    <el-popover
+      v-if="moreContent"
+      placement="top"
+      width="300"
+      trigger="hover"
+      :content="moreContent"
+    >
+      <el-button
+        class="ml-1"
+        type="text"
+        icon="el-icon-more"
+        slot="reference"
+      ></el-button>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "more-text",
+  props: {
+    data: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    showCount: {
+      type: Number,
+      default: 1
+    }
+  },
+  data() {
+    return {
+      showContent: "",
+      moreContent: ""
+    };
+  },
+  created() {
+    this.initData();
+  },
+  methods: {
+    initData() {
+      this.showContent = this.data.slice(0, this.showCount).join(",");
+      if (this.data.length > this.showCount) {
+        this.moreContent = this.data.join(",");
+      }
+    }
+  }
+};
+</script>

+ 1 - 2
src/modules/base/components/ResetPwd.vue

@@ -188,7 +188,6 @@ export default {
     },
     cancel() {
       this.modalIsShow = false;
-      this.$emit("cancel");
     },
     open() {
       this.modalIsShow = true;
@@ -262,7 +261,7 @@ export default {
 
       this.isSubmit = false;
       this.$message.success("修改成功!");
-      this.$emit("modified");
+      this.$emit("modified", data);
       this.cancel();
     }
   }

+ 5 - 2
src/modules/base/views/CardRuleManage.vue

@@ -71,7 +71,7 @@
         <el-table-column prop="name" label="题卡规则名称"></el-table-column>
         <el-table-column prop="orgs" label="适用学院">
           <template slot-scope="scope">
-            {{ scope.row.orgs | orgsFilter }}
+            <more-text :data="scope.row.orgNames"></more-text>
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注">
@@ -222,7 +222,10 @@ export default {
       if (datas.enable !== null && datas.enable !== "")
         datas.enable = !!datas.enable;
       const data = await cardRuleListPage(datas);
-      this.rules = data.records;
+      this.rules = data.records.map(item => {
+        item.orgNames = item.orgs.map(org => org.name);
+        return item;
+      });
       this.total = data.total;
     },
     toPage(page) {

+ 5 - 2
src/modules/base/views/CourseManage.vue

@@ -93,7 +93,7 @@
         ></el-table-column>
         <el-table-column prop="clazzList" label="授课班级">
           <span slot-scope="scope">
-            {{ scope.row.clazzList.map(item => item.name).join(",") }}
+            <more-text :data="scope.row.clazzNames" :show-count="3"></more-text>
           </span>
         </el-table-column>
         <el-table-column prop="createTime" label="创建时间">
@@ -205,7 +205,10 @@ export default {
         datas.enable = !!datas.enable;
 
       const data = await courseListPage(datas);
-      this.courses = data.records;
+      this.courses = data.records.map(item => {
+        item.clazzNames = item.clazzList.map(org => org.name);
+        return item;
+      });
       this.total = data.total;
     },
     toPage(page) {

+ 5 - 2
src/modules/base/views/TemplateManage.vue

@@ -79,7 +79,7 @@
         </el-table-column>
         <el-table-column prop="orgs" label="适用学院">
           <template slot-scope="scope">
-            {{ scope.row.orgs | orgsFilter }}
+            <more-text :data="scope.row.orgNames"></more-text>
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注">
@@ -220,7 +220,10 @@ export default {
       if (datas.enable !== null && datas.enable !== "")
         datas.enable = !!datas.enable;
       const data = await templateListPage(datas);
-      this.templates = data.records;
+      this.templates = data.records.map(item => {
+        item.orgNames = item.orgs.map(org => org.name);
+        return item;
+      });
       this.total = data.total;
     },
     toPage(page) {

+ 20 - 1
src/modules/login/views/Login.vue

@@ -71,7 +71,7 @@
     <reset-pwd
       :user-info="userInfo"
       ref="ResetPwd"
-      @cancel="clearSetContent"
+      @modified="resetPwdSuccess"
     ></reset-pwd>
   </div>
 </template>
@@ -186,6 +186,25 @@ export default {
         });
       }
     },
+    resetPwdSuccess(data) {
+      if (data.orgInfo)
+        this.$ls.set("orgId", data.orgInfo.id, this.GLOBAL.authTimeout);
+      if (data.schoolInfo)
+        this.$ls.set("schoolId", data.schoolInfo.id, this.GLOBAL.authTimeout);
+      this.$ls.set("user", data, this.GLOBAL.authTimeout);
+
+      this.$ls.set("token", data.accessToken, this.GLOBAL.authTimeout);
+
+      if (data.roleList && data.roleList.includes("ADMIN")) {
+        this.$router.push({
+          name: "SelectSchool"
+        });
+      } else {
+        this.$router.push({
+          name: "Home"
+        });
+      }
+    },
     // code valid
     checkField(field) {
       return new Promise((resolve, reject) => {

+ 2 - 0
src/plugins/globalVuePlugins.js

@@ -4,6 +4,7 @@ import commonMixins from "../mixins/common";
 import privilegeMixins from "../mixins/privilege";
 // components
 import ViewFooter from "@/components/ViewFooter.vue";
+import MoreText from "@/components/MoreText.vue";
 import RoomSelect from "../components/base/RoomSelect.vue";
 import PlaceSelect from "../components/base/PlaceSelect.vue";
 import PrintPlanSelect from "../components/base/PrintPlanSelect.vue";
@@ -22,6 +23,7 @@ import ClazzSelect from "../components/base/ClazzSelect.vue";
 
 const components = {
   ViewFooter,
+  MoreText,
   RoomSelect,
   PlaceSelect,
   PrintPlanSelect,

+ 8 - 1
src/views/Home.vue

@@ -167,7 +167,11 @@
     </el-dialog>
 
     <!-- 修改密码 -->
-    <reset-pwd :user-info="userInfo" ref="ResetPwd"></reset-pwd>
+    <reset-pwd
+      :user-info="userInfo"
+      ref="ResetPwd"
+      @modified="resetPwdModified"
+    ></reset-pwd>
   </div>
 </template>
 
@@ -377,6 +381,9 @@ export default {
     toSelectSchool() {
       if (this.IS_SUPER_ADMIN) this.$router.push({ name: "SelectSchool" });
     },
+    resetPwdModified() {
+      this.logoutAction();
+    },
     // popover menu
     showMenu() {
       this.menuDailogIsShow = !this.menuDailogIsShow;