zhoujump 1 månad sedan
förälder
incheckning
b5e4db589c
2 ändrade filer med 44 tillägg och 2 borttagningar
  1. 3 0
      src/permission.js
  2. 41 2
      src/views/components/packetList.vue

+ 3 - 0
src/permission.js

@@ -18,6 +18,9 @@ export function canIShow(roles) {
     let timer = setTimeout(()=>{
       if(!is_init){
         try {
+          if(root.$store.getters.user.permission.includes('show_official_footer')) {
+            allPermission = allPermission.concat(['exhibitor.copyright'])
+          }
           if(root.$store.getters.user.permission.includes('expo_management')) {
             allPermission = allPermission.concat(permission.EXPO_MANAGEMENT)
           }

+ 41 - 2
src/views/components/packetList.vue

@@ -22,6 +22,10 @@ export default Vue.extend({
           url: '',
           button: '立即订购'
         }
+      },
+      packetData: {
+        invitation: false,
+        expo: false
       }
     }
   },
@@ -44,6 +48,22 @@ export default Vue.extend({
         this.packetList = res2.data
         this.computeInfo()
       })
+      try {
+        const appList = this.user.app_list
+        appList.forEach(item => {
+          if (item.app_code === 'EXPOREG') {
+            this.packet = item
+          }
+        })
+        const permissions = this.user.permission
+        if (permissions.includes('expo_invitation_management')) {
+          this.packetData.invitation = true
+        }
+        if (permissions.includes('expo_management')) {
+          this.packetData.expo = true
+        }
+      } catch (e) {
+      }
     },
     computeInfo() {
       let basePacket = ''
@@ -156,8 +176,14 @@ export default Vue.extend({
       <template>
         <div class="hr" />
         <div class="cycle-tab">
-          <div :class="['cycle-item',type==='expoReg'?'active':'']" @click="changeType('expoReg')">展会预登记</div>
-          <div :class="['cycle-item',type==='invitation'?'active':'']" @click="changeType('invitation')">签证邀请函</div>
+          <div :class="['cycle-item',type==='expoReg'?'active':'']" @click="changeType('expoReg')">
+            <div>展会预登记</div>
+            <div class="badge" v-if="packetData.expo">已订购</div>
+          </div>
+          <div :class="['cycle-item',type==='invitation'?'active':'']" @click="changeType('invitation')">
+            <div>签证邀请函</div>
+            <div class="badge" v-if="packetData.expo">已订购</div>
+          </div>
         </div>
       </template>
     </div>
@@ -564,6 +590,7 @@ export default Vue.extend({
       display: flex;
       justify-content: center;
       .cycle-item{
+        gap: 6px;
         color: #2563EB;
         cursor: pointer;
         transition-duration: 300ms;
@@ -571,6 +598,18 @@ export default Vue.extend({
         border: 1px solid #2563EB;
         outline: 2px solid #2563EB00;
         padding: 8px 16px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        .badge{
+          border: 1px solid #C4A793;
+          font-size: 12px;
+          background-image: linear-gradient(60deg,#EAD5C3,#C7A088);
+          padding: 1px 6px;
+          font-weight: normal;
+          color: #543317;
+          border-radius: 12px;
+        }
         &:hover{
           outline: 2px solid #2563EBFF;
         }