From 22aaacd9e51da58ed10221639b6bd2fd9a13c6e5 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 16 一月 2026 18:49:23 +0800
Subject: [PATCH] 经销商管理
---
admin/src/components/business/OperaMemberDetail.vue | 212 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 167 insertions(+), 45 deletions(-)
diff --git a/admin/src/components/business/OperaMemberDetail.vue b/admin/src/components/business/OperaMemberDetail.vue
index a20e0f9..8734a5f 100644
--- a/admin/src/components/business/OperaMemberDetail.vue
+++ b/admin/src/components/business/OperaMemberDetail.vue
@@ -1,65 +1,187 @@
<template>
- <GlobalAlertWindow
- :title="title"
- :visible.sync="visible"
- :confirm-working="isWorking"
- @confirm="confirm"
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
>
- <el-descriptions direction="horizontal" labelClassName="descriptions-label" :column="1">
- <el-descriptions-item label="浼氬憳鏄电О">{{ form.nickName }}</el-descriptions-item>
- <el-descriptions-item label="鐪熷疄濮撳悕">{{ form.name }}</el-descriptions-item>
- <el-descriptions-item label="鎵嬫満鍙�">{{ form.phone }}</el-descriptions-item>
- <el-descriptions-item label="韬唤璇佸彿">{{ form.idcard }}</el-descriptions-item>
- <el-descriptions-item label="鎬у埆">{{ form.sex==0?'鐢�':form.sex==1?'濂�':'鏈煡' }}</el-descriptions-item>
- <el-descriptions-item label="鍦板尯">{{ form.addr }}</el-descriptions-item>
- <el-descriptions-item label="涓�鍙ヨ瘽浠嬬粛">{{ form.info }}</el-descriptions-item>
- </el-descriptions>
- <div slot="footer"></div>
- </GlobalAlertWindow>
+ <div style="display: block">
+ <div class="header">
+ <div class="header-b">鐢ㄦ埛淇℃伅</div>
+ <div v-if="info.phone!=null && info.phone!=''" class="header-blue">宸叉巿鏉冩墜鏈哄彿</div>
+ </div>
+ <div class="info-item">
+ <div class="info-item-a">寰俊openid锛�<span>{{info.openId}}</span></div>
+ <div class="info-item-a">鏄电О锛�<span>{{info.nickname}}</span></div>
+ <div class="info-item-a">瀹㈡埛濮撳悕锛�<span>{{info.name}}</span></div>
+ </div>
+ <div class="info-item">
+ <div class="info-item-a">鎺堟潈鎵嬫満鍙凤細<span>{{info.phone}}</span></div>
+ <div class="info-item-a">鍏宠仈缁忛攢鍟嗭細<span>{{info.shopName}}</span> <span class="blue btn" @click="showChangeRecord">鍙樻洿璁板綍</span></div>
+ <div class="info-item-a"></div>
+ </div>
+ <div class="info-item"></div>
+ </div>
+ <div style="display: block">
+ <div class="header">
+ <div class="header-b">绉垎鏄庣粏</div>
+ <div v-if="info.phone!=null && info.phone!=''" class="header-btn">
+ <el-button style="display: inline" type="primary" @click="changeIntegral">绉垎璋冩暣</el-button>
+ </div>
+ </div>
+ <TableLayout >
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <div >
+ <div style="float: left; margin-bottom: 20px;width:50%;">
+ <div class="info-item">
+ <div class="info-item-a">鐜版湁绉垎锛�<span>{{info.integral || 0}}</span></div>
+ <div class="info-item-a">绱绉垎锛�<span>{{info.totalIntegral||0}}</span></div>
+ </div>
+ </div>
+ <div style="float: right; margin-bottom: 20px;">
+ <el-select v-model="searchForm.type" placeholder="鍏ㄩ儴" clearable @change="search" style="width: 120px;" >
+ <el-option :key="0" :value="0" label="鑾峰緱" ></el-option>
+ <el-option :key="1" :value="1" label="鎵i櫎" ></el-option>
+ </el-select>
+ <el-button @click="search" type="鐐瑰嚮鍒锋柊" icon="el-icon-refresh" style="margin-left: 10px;" ></el-button>
+ </div>
+ </div>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ border
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column prop="type" label="鑾峰緱/鎵i櫎" align="center" min-width="150px">
+ <template slot-scope="{row}">
+ {{ row.saleType == 1?'鎵i櫎':'鑾峰緱'}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="num" label="鏁伴噺" fixed align="center" min-width="100px"> </el-table-column>
+ <el-table-column prop="strObjType" label="娑堣垂绫诲瀷" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="orderCode" label="鍏宠仈璁㈠崟" align="center" min-width="150px"></el-table-column>
+ <el-table-column prop="remark" label="澶囨敞" align="center" min-width="200px"></el-table-column>
+ <el-table-column prop="createDate" label="鍙樺姩鏃堕棿" align="center" min-width="200px"></el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ </TableLayout>
+ </div>
+ <template v-slot:footer>
+ <el-button @click="visible=false">杩斿洖</el-button>
+ </template>
+ <OperaChangeShopRecordWindow ref="OperaChangeShopRecordWindow"/>
+ <OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
+ </GlobalWindow>
</template>
<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaChangeShopRecordWindow from '@/components/business/OperaChangeShopRecordWindow'
+import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
export default {
- name: 'OperaCouponWindow',
- extends: BaseOpera,
- components: { GlobalAlertWindow },
+ name: 'OperaShopGoodsWindow',
+ extends: BaseTable,
+ components: { GlobalWindow, TableLayout, Pagination, OperaChangeShopRecordWindow,OperaChangeIntegralWindow },
data () {
-
return {
- getDate: [],
- // 琛ㄥ崟鏁版嵁
- form: {
- id: null,
- name: '',
- nickName: '',
- sex: '',
- addr: '',
- phone: '',
- idcard: '',
- info: ''
- },
-
+ title: '',
+ visible: false,
+ tabelHeight: null,
+ info: {},
+ // 鎼滅储
+ searchForm: {
+ memberId: '',
+ userType: 0,
+ type: null
+ }
}
},
+
created () {
this.config({
- api: '/business/coupon',
- 'field.id': 'id'
+ module: '鐢ㄦ埛淇℃伅琛�',
+ api: '/business/integral',
+ 'field.id': 'id',
+ 'field.main': 'id'
})
},
methods: {
-
- },
+ successBiz(){
+ this.handlePageChange()
+ this.$emit('success')
+ },
+ showChangeRecord () {
+ if (this.info) {
+ this.$refs.OperaChangeShopRecordWindow.open('瀹㈡埛缁忛攢鍟嗗彉鏇磋褰�', this.info)
+ }
+ },
+ changeIntegral () {
+ if (this.info) {
+ this.$refs.OperaChangeIntegralWindow.open('瀹㈡埛绉垎璋冩暣', this.info)
+ }
+ },
+ open (title, goods) {
+ this.title = title
+ this.visible = true
+ this.info = goods
+ this.searchForm.memberId = goods.id
+ this.search()
+ },
+ handleClick (val) {
+ }
+ }
}
</script>
+<style scoped>
+.table-pagination{
+ position: fixed !important;
+ bottom: 50px;
+}
+.header-b{
+ display: inline-block;
+ font-size: 16px;
+ font-weight: bold;
+}
+.header-blue{
+ display: inline-block;
+ font-size: 12px;
+ border: 1px solid #216EEE;
+ padding: 2px 10px;
+ margin-left: 20px;
+ color: #216EEE;
+ border-radius: 5px ;
+}
+.header-btn{
+ display: inline-block;
+ border: none;
+ padding: 2px 10px;
+ margin-left: 20px;
+}
+.info-item{
+ display: flex;
+ width: 100%;
+ margin: 15px;
+}
+.info-item-a{
+ flex: 1;
+ font-size: 14px;
-<style lang="scss">
-.descriptions-label {
- width: 80px;
- text-align: right !important;
- display: block !important;;
+}
+.info-item-a span{
+ font-weight: 600;
+}
+.info-item-a .btn{
+ font-size: 12px !important;
+ cursor: pointer !important;
}
</style>
-
--
Gitblit v1.9.3