zhangjie 1 jaar geleden
bovenliggende
commit
74dd95fccd
3 gewijzigde bestanden met toevoegingen van 64 en 4 verwijderingen
  1. 57 0
      src/components/MoreBtn.vue
  2. 5 4
      src/modules/exam/components/ApplyContent.vue
  3. 2 0
      src/plugins/globalVuePlugins.js

+ 57 - 0
src/components/MoreBtn.vue

@@ -0,0 +1,57 @@
+<template>
+  <el-popover
+    v-if="moreContent"
+    placement="top"
+    width="300"
+    trigger="hover"
+    :content="moreContent"
+  >
+    <el-button slot="reference" v-bind="$attrs" v-on="$listeners"
+      >{{ showContent }}...</el-button
+    >
+  </el-popover>
+  <el-button v-else v-bind="$attrs" v-on="$listeners">{{
+    showContent
+  }}</el-button>
+</template>
+
+<script>
+export default {
+  name: "more-btn",
+  props: {
+    data: {
+      type: String,
+      default: null,
+    },
+    showCount: {
+      type: Number,
+      default: 1,
+    },
+  },
+  data() {
+    return {
+      showContent: "",
+      moreContent: "",
+    };
+  },
+  watch: {
+    data(val) {
+      this.initData();
+    },
+  },
+  created() {
+    this.initData();
+  },
+  methods: {
+    initData() {
+      if (!this.data) return;
+
+      this.showContent = this.data.substring(0, this.showCount);
+      this.moreContent = "";
+      if (this.data.length > this.showCount) {
+        this.moreContent = this.data;
+      }
+    },
+  },
+};
+</script>

+ 5 - 4
src/modules/exam/components/ApplyContent.vue

@@ -13,7 +13,7 @@
       </div>
       <table class="table mb-2">
         <colgroup>
-          <col width="80" />
+          <col width="100" />
           <col width="300" />
           <col width="300" />
         </colgroup>
@@ -392,14 +392,15 @@
                   class="flow-item-attachment"
                 >
                   <span>附件:</span>
-                  <el-button
+                  <more-btn
                     v-for="item in flow.attachments"
                     :key="item.name"
                     type="text"
                     class="btn-primary"
+                    :data="`${item.name}卷:${item.filename}`"
+                    :show-count="20"
                     @click="downloadPaper(item)"
-                    >{{ item.name }}卷:{{ item.filename }}</el-button
-                  >
+                  ></more-btn>
                 </div>
                 <div
                   v-if="flow.isApproveSetFlowNextNode && approveUsers.length"

+ 2 - 0
src/plugins/globalVuePlugins.js

@@ -5,6 +5,7 @@ import privilegeMixins from "../mixins/privilege";
 // components
 import ViewFooter from "@/components/ViewFooter.vue";
 import MoreText from "@/components/MoreText.vue";
+import MoreBtn from "@/components/MoreBtn.vue";
 import RoomSelect from "../components/base/RoomSelect.vue";
 import PlaceSelect from "../components/base/PlaceSelect.vue";
 import PrintPlanSelect from "../components/base/PrintPlanSelect.vue";
@@ -36,6 +37,7 @@ import SecpSelect from "../components/SecpSelect.vue";
 const components = {
   ViewFooter,
   MoreText,
+  MoreBtn,
   RoomSelect,
   PlaceSelect,
   PrintPlanSelect,