mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-04 12:18:43 +08:00 
			
		
		
		
	code review:会员详情
This commit is contained in:
		@@ -20,23 +20,3 @@ export const getExperienceRecordPage = async (params) => {
 | 
				
			|||||||
export const getExperienceRecord = async (id: number) => {
 | 
					export const getExperienceRecord = async (id: number) => {
 | 
				
			||||||
  return await request.get({ url: `/member/experience-record/get?id=` + id })
 | 
					  return await request.get({ url: `/member/experience-record/get?id=` + id })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// 新增会员经验记录
 | 
					 | 
				
			||||||
export const createExperienceRecord = async (data: ExperienceRecordVO) => {
 | 
					 | 
				
			||||||
  return await request.post({ url: `/member/experience-record/create`, data })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 修改会员经验记录
 | 
					 | 
				
			||||||
export const updateExperienceRecord = async (data: ExperienceRecordVO) => {
 | 
					 | 
				
			||||||
  return await request.put({ url: `/member/experience-record/update`, data })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 删除会员经验记录
 | 
					 | 
				
			||||||
export const deleteExperienceRecord = async (id: number) => {
 | 
					 | 
				
			||||||
  return await request.delete({ url: `/member/experience-record/delete?id=` + id })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// 导出会员经验记录 Excel
 | 
					 | 
				
			||||||
export const exportExperienceRecord = async (params) => {
 | 
					 | 
				
			||||||
  return await request.download({ url: `/member/experience-record/export-excel`, params })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -138,7 +138,7 @@ export enum DICT_TYPE {
 | 
				
			|||||||
  BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
 | 
					  BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // ========== PAY 模块 ==========
 | 
					  // ========== PAY 模块 ==========
 | 
				
			||||||
  PAY_CHANNEL_CODE = 'pay_channel_code_type', // 支付渠道编码类型
 | 
					  PAY_CHANNEL_CODE = 'pay_channel_code', // 支付渠道编码类型
 | 
				
			||||||
  PAY_ORDER_STATUS = 'pay_order_status', // 商户支付订单状态
 | 
					  PAY_ORDER_STATUS = 'pay_order_status', // 商户支付订单状态
 | 
				
			||||||
  PAY_REFUND_STATUS = 'pay_refund_status', // 退款订单状态
 | 
					  PAY_REFUND_STATUS = 'pay_refund_status', // 退款订单状态
 | 
				
			||||||
  PAY_NOTIFY_STATUS = 'pay_notify_status', // 商户支付回调状态
 | 
					  PAY_NOTIFY_STATUS = 'pay_notify_status', // 商户支付回调状态
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -267,7 +267,7 @@
 | 
				
			|||||||
              <template #default>
 | 
					              <template #default>
 | 
				
			||||||
                <!-- TODO 权限后续补齐 -->
 | 
					                <!-- TODO 权限后续补齐 -->
 | 
				
			||||||
                <div class="flex justify-center items-center">
 | 
					                <div class="flex justify-center items-center">
 | 
				
			||||||
                  <el-button link type="primary" @click="openForm(scope.row.id)">
 | 
					                  <el-button link type="primary" @click="openDetail(scope.row.id)">
 | 
				
			||||||
                    <Icon icon="ep:notification" />
 | 
					                    <Icon icon="ep:notification" />
 | 
				
			||||||
                    详情
 | 
					                    详情
 | 
				
			||||||
                  </el-button>
 | 
					                  </el-button>
 | 
				
			||||||
@@ -445,7 +445,7 @@ const imagePreview = (imgUrl: string) => {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** 查看订单详情 */
 | 
					/** 查看订单详情 */
 | 
				
			||||||
const openForm = (id: number) => {
 | 
					const openDetail = (id: number) => {
 | 
				
			||||||
  push({ name: 'TradeOrderDetail', params: { orderId: id } })
 | 
					  push({ name: 'TradeOrderDetail', params: { orderId: id } })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,19 +54,12 @@
 | 
				
			|||||||
  <ContentWrap>
 | 
					  <ContentWrap>
 | 
				
			||||||
    <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
 | 
					    <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
 | 
				
			||||||
      <el-table-column label="编号" align="center" prop="id" width="150px" />
 | 
					      <el-table-column label="编号" align="center" prop="id" width="150px" />
 | 
				
			||||||
      <el-table-column label="业务编号" align="center" prop="bizId" width="150px">
 | 
					      <el-table-column
 | 
				
			||||||
        <!--   TODO 芋艿:此处应创建对应的字典       -->
 | 
					        label="获得时间"
 | 
				
			||||||
        <template #default="scope">
 | 
					        align="center"
 | 
				
			||||||
          <dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_ID" :value="scope.row.bizId" />
 | 
					        prop="createTime"
 | 
				
			||||||
        </template>
 | 
					        :formatter="dateFormatter"
 | 
				
			||||||
      </el-table-column>
 | 
					      />
 | 
				
			||||||
      <el-table-column label="业务类型" align="center" prop="bizType" width="150px">
 | 
					 | 
				
			||||||
        <template #default="scope">
 | 
					 | 
				
			||||||
          <dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_TYPE" :value="scope.row.bizType" />
 | 
					 | 
				
			||||||
        </template>
 | 
					 | 
				
			||||||
      </el-table-column>
 | 
					 | 
				
			||||||
      <el-table-column label="标题" align="center" prop="title" width="150px" />
 | 
					 | 
				
			||||||
      <el-table-column label="描述" align="center" prop="description" />
 | 
					 | 
				
			||||||
      <el-table-column label="经验" align="center" prop="experience" width="150px">
 | 
					      <el-table-column label="经验" align="center" prop="experience" width="150px">
 | 
				
			||||||
        <template #default="scope">
 | 
					        <template #default="scope">
 | 
				
			||||||
          <el-tag v-if="scope.row.experience > 0" class="ml-2" type="success" effect="dark">
 | 
					          <el-tag v-if="scope.row.experience > 0" class="ml-2" type="success" effect="dark">
 | 
				
			||||||
@@ -77,19 +70,22 @@
 | 
				
			|||||||
          </el-tag>
 | 
					          </el-tag>
 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
      </el-table-column>
 | 
					      </el-table-column>
 | 
				
			||||||
      <el-table-column label="变更后的经验" align="center" prop="totalExperience" width="150px">
 | 
					      <el-table-column label="总经验" align="center" prop="totalExperience" width="150px">
 | 
				
			||||||
        <template #default="scope">
 | 
					        <template #default="scope">
 | 
				
			||||||
          <el-tag class="ml-2" effect="dark">
 | 
					          <el-tag class="ml-2" effect="dark">
 | 
				
			||||||
            {{ scope.row.totalExperience }}
 | 
					            {{ scope.row.totalExperience }}
 | 
				
			||||||
          </el-tag>
 | 
					          </el-tag>
 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
      </el-table-column>
 | 
					      </el-table-column>
 | 
				
			||||||
      <el-table-column
 | 
					      <el-table-column label="标题" align="center" prop="title" width="150px" />
 | 
				
			||||||
        label="创建时间"
 | 
					      <el-table-column label="描述" align="center" prop="description" />
 | 
				
			||||||
        align="center"
 | 
					      <el-table-column label="业务编号" align="center" prop="bizId" width="150px" />
 | 
				
			||||||
        prop="createTime"
 | 
					      <el-table-column label="业务类型" align="center" prop="bizType" width="150px">
 | 
				
			||||||
        :formatter="dateFormatter"
 | 
					        <!--   TODO 芋艿:此处应创建对应的字典 -->
 | 
				
			||||||
      />
 | 
					        <template #default="scope">
 | 
				
			||||||
 | 
					          <dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_TYPE" :value="scope.row.bizType" />
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
    </el-table>
 | 
					    </el-table>
 | 
				
			||||||
    <!-- 分页 -->
 | 
					    <!-- 分页 -->
 | 
				
			||||||
    <Pagination
 | 
					    <Pagination
 | 
				
			||||||
@@ -106,7 +102,7 @@ import { dateFormatter } from '@/utils/formatTime'
 | 
				
			|||||||
import * as ExperienceRecordApi from '@/api/member/experience-record/index'
 | 
					import * as ExperienceRecordApi from '@/api/member/experience-record/index'
 | 
				
			||||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 | 
					import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
defineOptions({ name: 'UserExperienceRecord' })
 | 
					defineOptions({ name: 'UserExperienceRecordList' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const loading = ref(true) // 列表的加载中
 | 
					const loading = ref(true) // 列表的加载中
 | 
				
			||||||
const total = ref(0) // 列表的总页数
 | 
					const total = ref(0) // 列表的总页数
 | 
				
			||||||
@@ -139,7 +139,7 @@
 | 
				
			|||||||
    <el-table v-loading="loading" :data="list">
 | 
					    <el-table v-loading="loading" :data="list">
 | 
				
			||||||
      <el-table-column class-name="order-table-col">
 | 
					      <el-table-column class-name="order-table-col">
 | 
				
			||||||
        <template #header>
 | 
					        <template #header>
 | 
				
			||||||
          <!-- TODO @phui999:小屏幕下,会有偏移,后续看看 -->
 | 
					          <!-- TODO @puhui999:小屏幕下,会有偏移,后续看看 -->
 | 
				
			||||||
          <div class="flex items-center" style="width: 100%">
 | 
					          <div class="flex items-center" style="width: 100%">
 | 
				
			||||||
            <div class="ml-100px mr-200px">商品信息</div>
 | 
					            <div class="ml-100px mr-200px">商品信息</div>
 | 
				
			||||||
            <div class="mr-60px">单价(元)/数量</div>
 | 
					            <div class="mr-60px">单价(元)/数量</div>
 | 
				
			||||||
@@ -263,6 +263,14 @@
 | 
				
			|||||||
                <dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="scope.row.status" />
 | 
					                <dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="scope.row.status" />
 | 
				
			||||||
              </template>
 | 
					              </template>
 | 
				
			||||||
            </el-table-column>
 | 
					            </el-table-column>
 | 
				
			||||||
 | 
					            <el-table-column align="center" fixed="right" label="操作" width="160">
 | 
				
			||||||
 | 
					              <template #default>
 | 
				
			||||||
 | 
					                <el-button link type="primary" @click="openDetail(scope.row.id)">
 | 
				
			||||||
 | 
					                  <Icon icon="ep:notification" />
 | 
				
			||||||
 | 
					                  详情
 | 
				
			||||||
 | 
					                </el-button>
 | 
				
			||||||
 | 
					              </template>
 | 
				
			||||||
 | 
					            </el-table-column>
 | 
				
			||||||
          </el-table>
 | 
					          </el-table>
 | 
				
			||||||
        </template>
 | 
					        </template>
 | 
				
			||||||
      </el-table-column>
 | 
					      </el-table-column>
 | 
				
			||||||
@@ -287,6 +295,8 @@ import { createImageViewer } from '@/components/ImageViewer'
 | 
				
			|||||||
import * as TradeOrderApi from '@/api/mall/trade/order'
 | 
					import * as TradeOrderApi from '@/api/mall/trade/order'
 | 
				
			||||||
import { FormInstance, TableColumnCtx } from 'element-plus'
 | 
					import { FormInstance, TableColumnCtx } from 'element-plus'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { push } = useRouter() // 路由跳转
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const { userId }: { userId: number } = defineProps({
 | 
					const { userId }: { userId: number } = defineProps({
 | 
				
			||||||
  userId: {
 | 
					  userId: {
 | 
				
			||||||
    type: Number,
 | 
					    type: Number,
 | 
				
			||||||
@@ -376,6 +386,12 @@ const spanMethod = ({ row, rowIndex, columnIndex }: SpanMethodProps) => {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** 查看订单详情 */
 | 
				
			||||||
 | 
					const openDetail = (id: number) => {
 | 
				
			||||||
 | 
					  push({ name: 'TradeOrderDetail', params: { orderId: id } })
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** 初始化 **/
 | 
					/** 初始化 **/
 | 
				
			||||||
onMounted(async () => {
 | 
					onMounted(async () => {
 | 
				
			||||||
  queryParams.userId = userId
 | 
					  queryParams.userId = userId
 | 
				
			||||||
@@ -37,14 +37,14 @@
 | 
				
			|||||||
            <UserSignList :user-id="id" />
 | 
					            <UserSignList :user-id="id" />
 | 
				
			||||||
          </el-tab-pane>
 | 
					          </el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="成长值" name="experience" lazy>
 | 
					          <el-tab-pane label="成长值" name="experience" lazy>
 | 
				
			||||||
            <UserExperienceRecord :user-id="id"
 | 
					            <UserExperienceRecordList :user-id="id"
 | 
				
			||||||
          /></el-tab-pane>
 | 
					          /></el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="余额" name="fourth">余额(WIP)</el-tab-pane>
 | 
					          <el-tab-pane label="余额" name="fourth">余额(WIP)</el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="收货地址" name="address" lazy>
 | 
					          <el-tab-pane label="收货地址" name="address" lazy>
 | 
				
			||||||
            <UserAddressList :user-id="id" />
 | 
					            <UserAddressList :user-id="id" />
 | 
				
			||||||
          </el-tab-pane>
 | 
					          </el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="订单管理" name="order" lazy>
 | 
					          <el-tab-pane label="订单管理" name="order" lazy>
 | 
				
			||||||
            <UserOrder :user-id="id" />
 | 
					            <UserOrderList :user-id="id" />
 | 
				
			||||||
          </el-tab-pane>
 | 
					          </el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="售后管理" name="fourth">售后管理(WIP)</el-tab-pane>
 | 
					          <el-tab-pane label="售后管理" name="fourth">售后管理(WIP)</el-tab-pane>
 | 
				
			||||||
          <el-tab-pane label="收藏记录" name="fourth">收藏记录(WIP)</el-tab-pane>
 | 
					          <el-tab-pane label="收藏记录" name="fourth">收藏记录(WIP)</el-tab-pane>
 | 
				
			||||||
@@ -66,9 +66,9 @@ import UserAccountInfo from './UserAccountInfo.vue'
 | 
				
			|||||||
import UserAddressList from './UserAddressList.vue'
 | 
					import UserAddressList from './UserAddressList.vue'
 | 
				
			||||||
import UserPointList from './UserPointList.vue'
 | 
					import UserPointList from './UserPointList.vue'
 | 
				
			||||||
import UserSignList from './UserSignList.vue'
 | 
					import UserSignList from './UserSignList.vue'
 | 
				
			||||||
import UserExperienceRecord from './UserExperienceRecord.vue'
 | 
					import UserExperienceRecordList from './UserExperienceRecordList.vue'
 | 
				
			||||||
import { CardTitle } from '@/components/Card/index'
 | 
					import { CardTitle } from '@/components/Card/index'
 | 
				
			||||||
import UserOrder from '@/views/member/user/detail/UserOrder.vue'
 | 
					import UserOrderList from '@/views/member/user/detail/UserOrderList.vue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
defineOptions({ name: 'MemberDetail' })
 | 
					defineOptions({ name: 'MemberDetail' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user