Просмотр исходного кода

feat(family): 家庭列表接入查看信息弹窗

Xiaogang Liao 1 неделя назад
Родитель
Сommit
194637abd2
1 измененных файлов с 15 добавлено и 1 удалено
  1. 15 1
      cfc-web/src/views/Families.vue

+ 15 - 1
cfc-web/src/views/Families.vue

@@ -61,6 +61,7 @@
                 更多<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
               <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="viewOverview" icon="el-icon-view">查看信息</el-dropdown-item>
                 <el-dropdown-item command="viewMembers" icon="el-icon-user">查看成员</el-dropdown-item>
                 <el-dropdown-item command="viewCoupons" icon="el-icon-ticket">优惠券列表</el-dropdown-item>
                 <el-dropdown-item command="viewUsage" icon="el-icon-document">使用记录</el-dropdown-item>
@@ -293,6 +294,8 @@
   </el-table>
   
   </el-table>
+    <!-- 家庭信息总览弹窗 (Task 9) -->
+    <FamilyOverviewDialog :visible.sync="overviewDialogVisible" :family-id="overviewFamilyId" />
   </div>
 </template>
 
@@ -301,10 +304,14 @@ import SortMixin from '@/mixins/SortMixin'
 import ListStateMixin from '@/mixins/ListStateMixin'
 import { getFamilyList, getFamilyMembers, updateFamily, deleteFamily, setMemberAdminRole } from '@/api/admin'
 import { getCouponList, issueFamilyCoupon, getFamilyCoupons, getFamilyCouponUsage } from '@/api/coupon'
+import FamilyOverviewDialog from '@/views/admin/components/FamilyOverviewDialog.vue'
 
 export default {
   name: 'Families',
   mixins: [SortMixin, ListStateMixin],
+  components: {
+    FamilyOverviewDialog
+  },
   computed: {
     tableHeight() {
       return window.innerHeight - 340
@@ -356,7 +363,9 @@ export default {
       usageListData: [],
       usageLoading: false,
       usagePagination: { current: 1, size: 20, total: 0 },
-      usageDialogVisible: false
+      usageDialogVisible: false,
+      overviewDialogVisible: false,
+      overviewFamilyId: null
     }
   },
   mounted() {
@@ -373,6 +382,7 @@ export default {
     },
     handleActionCmd(row, cmd) {
       switch (cmd) {
+        case 'viewOverview': this.handleViewOverview(row); break;
         case 'viewMembers': this.handleViewMembers(row); break;
         case 'viewCoupons': this.handleViewCoupons(row); break;
         case 'viewUsage': this.handleViewUsage(row); break;
@@ -460,6 +470,10 @@ export default {
         }
       }).catch(() => {})
     },
+    handleViewOverview(row) {
+      this.overviewFamilyId = row.id
+      this.overviewDialogVisible = true
+    },
     async handleViewMembers(row) {
       await this.handleViewMembersById(row.id)
     },