Handy_Cao пре 1 година
родитељ
комит
f7f69c8d84

+ 64 - 1
src/packages/pc/views/settlement/profitsharepay/index.vue

@@ -1,7 +1,70 @@
 <!-- 结算管理-分润付款确认 -->
 <template>
-    <app-view></app-view>
+    <app-view>
+        <template #header>
+            <app-filter :options="filterOptons" />
+        </template>
+        <app-table :data="dataList" showIndex v-model:columns="tableColumns" :loading="loading">
+            <template #footer>
+                <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
+                    @change="onSearch" />
+            </template>
+        </app-table>
+        <component :is="componentMap.get(componentId)" v-bind="{ selectedRow, queryParams }" @closed="closeComponent"
+            v-if="componentId" />
+    </app-view>
 </template>
 
 <script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { ElMessage } from 'element-plus'
+import { useRequest } from '@/hooks/request'
+import { useDataFilter } from '@/hooks/datatable'
+import { sharedayquery } from '@/services/api/settlement'
+import { useOperation } from '@/hooks/operation'
+import AppTable from '@pc/components/base/table/index.vue'
+import AppFilter from '@pc/components/base/table-filter/index.vue'
+import AppPagination from '@pc/components/base/pagination/index.vue'
+
+const queryParams = shallowRef<Model.ShareDayQueryReq>()
+const { filterOptons, getQueryParams } = useDataFilter<Model.ShareDayQueryReq>()
+
+const { componentMap, componentId, selectedRow, closeComponent } = useOperation<Model.ShareDayQueryReq>({
+    onClose: () => onSearch()
+})
+
+const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(sharedayquery, {
+    params: {
+        pageNum: 1,
+        pageSize: 20,
+    },
+    onError: (err) => {
+        ElMessage.error(err)
+    }
+})
+
+const tableColumns = shallowRef<Model.TableColumn[]>([
+    { field: 'tradedate', label: '交易日' },
+    { field: 'totalcount', label: '总笔数	' },
+    { field: 'divideamount', label: '总分润金额	' },
+    { field: 'totalpay', label: '总已付	' },
+    { field: 'operate', label: '操作' }
+])
+
+filterOptons.buttonList = [
+    { lable: '查询', className: 'el-button--primary', onClick: () => onSearch() },
+    { lable: '重置', className: 'el-button--primary', onClick: () => onSearch(true) }
+]
+
+// 处理请求参数
+const processRequiredParams = (callback: (params: Model.ShareDayQueryReq) => void, clear = false) => {
+    const qs = getQueryParams(clear)
+    queryParams.value = qs
+    callback(qs)
+}
+
+const onSearch = (clear = false) => {
+    processRequiredParams((qs) => run(qs), clear)
+}
+
 </script>

+ 5 - 8
src/packages/pc/views/system/operation_log/index.vue

@@ -22,12 +22,14 @@ import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
 import { queryLog } from '@/services/api/system'
 import { useOperation } from '@/hooks/operation'
+import { useUserStore } from '@/stores'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
 
 const queryParams = shallowRef<Model.SystemLogReq>()
 const { filterOptons, getQueryParams } = useDataFilter<Model.SystemLogReq>()
+const userStore = useUserStore()
 
 const { componentMap, componentId, selectedRow, closeComponent } = useOperation<Model.SystemLogReq>({
     onClose: () => onSearch()
@@ -37,6 +39,7 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryL
     params: {
         pageNum: 1,
         pageSize: 20,
+        orgztypes: userStore.userInfo.orgztypes
     },
     onError: (err) => {
         ElMessage.error(err)
@@ -67,15 +70,9 @@ filterOptons.buttonList = [
     { lable: '重置', className: 'el-button--primary', onClick: () => onSearch(true) }
 ]
 
-// 处理请求参数
-const processRequiredParams = (callback: (params: Model.SystemLogReq) => void, clear = false) => {
-    const qs = getQueryParams(clear)
-    queryParams.value = qs
-    callback(qs)
-}
-
 const onSearch = (clear = false) => {
-    processRequiredParams((qs) => run(qs), clear)
+    const qs = getQueryParams(clear)
+    run(qs)
 }
 
 </script>

+ 38 - 0
src/services/api/report/index.ts

@@ -0,0 +1,38 @@
+import httpClient from '@/services/http'
+import { CommonFetchOptions } from '@/services/http/types'
+
+/**
+ * 报表管理-->经纪会员报表
+ */
+export function orgReportQuery(options: CommonFetchOptions<{ request: Model.OrgReportQueryReq; response: Model.OrgReportQueryRsp[]; }>) {
+    return httpClient.commonRequest('/reportForm/orgReportQuery', 'get', options)
+}
+
+
+/**
+ * 报表管理-->经纪会员报表-->导出 
+ */
+export function orgReportQueryExport(options: CommonFetchOptions<{ request: Model.OrgReportQueryExportReq; }>) {
+    return httpClient.commonRequest('/reportForm/orgReportQueryExport', 'get', options)
+}
+
+/**
+ * 报表管理-->推荐成交报表-->推荐人信息
+ */
+export function queryRefUserSelect(options: CommonFetchOptions<{ request: Model.RefUserSelectReq; response: Model.RefUserSelectRsp[]; }>) {
+    return httpClient.commonRequest('/reportForm/queryRefUserSelect', 'get', options)
+}
+
+/**
+ * 报表管理-->分润报表
+ */
+export function shareAmountQuery(options: CommonFetchOptions<{ request: Model.ShareAmountQueryReq; response: Model.ShareAmountQueryRsp[]; }>) {
+    return httpClient.commonRequest('/reportForm/shareAmountQuery', 'get', options)
+}
+
+/**
+ * 报表管理-->推荐成交报表
+ */
+export function queryTrade(options: CommonFetchOptions<{ request: Model.TradeReq; response: Model.TradeRsp[]; }>) {
+    return httpClient.commonRequest('/reportForm/trade', 'get', options)
+}

+ 118 - 0
src/types/model/report.d.ts

@@ -0,0 +1,118 @@
+declare namespace Model {
+    /** 报表管理-->经纪会员报表 请求 */
+    interface OrgReportQueryReq {
+        accountid?: number  // 所属机构
+        changeflag?: number
+        cycletype?: number  // 报表类型
+        orgztypes: string  // 管理员所属机构角色类型
+        pageNum?: number  // 页码
+        pageSize?: number  // 页大小
+        quarter?: number // 开始季度
+        quarterend?: number // 结束季度
+        reckondate?: string // 开始时间
+        type?: number // 是否包括子机构 0否 1是
+        userid?: number
+    }
+
+    /** 报表管理-->经纪会员报表 响应 */
+    interface OrgReportQueryRsp {
+        accountName: string  // 经纪会员
+        cycleTime: string  // 日期
+        investorAmount: number  // 期末余额
+        investorBuyDeliveryAmount: number  // 交收金额
+        investorBuyHoldQty: number  // 买持仓数量
+        investorBuyTradeQty: number  // 买交易数量
+        investorClosePl: number  // 转让损益
+        investorDeliveryFee: number  // 交收手续费
+        investorHoldFee: number  // 递延费
+        investorInAmount: number  // 入金金额
+        investorOutAmount: number  // 出金金额
+        investorReckonPl: number  // 结算损益
+        investorRetrialNum: number  // 交易商开户待复审数量
+        investorSellHoldQty: number  // 卖持仓数量
+        investorSellTradeQty: number  // 卖交易数量
+        investorSignQty: number  // 签约数量
+        investorTotalNum: number  // 交易商开户数量
+        investorTradeFee: number  // 交易手续费
+        investorTrialNum: number  // 交易商开户待初审数量
+        investorusedmargin: number  // 占用保证金
+    }
+
+    /** 报表管理-->经纪会员报表 - 导出 请求 */
+    interface OrgReportQueryExportReq {
+        accountid?: number  // 所属机构
+        changeflag?: number
+        cycletype?: number  // 报表类型
+        orgztypes: string  // 管理员所属机构角色类型
+        pageNum?: number  // 页码
+        pageSize?: number  // 页大小
+        quarter?: number // 开始季度
+        quarterend?: number // 结束季度
+        reckondate?: string // 开始时间
+        type?: number // 是否包括子机构 0否 1是
+        userid?: number
+    }
+
+    /** 报表管理-->分润报表 请求 */
+    interface ShareAmountQueryReq {
+        areaid?: number  // 所属机构
+        areaname?: string
+        cycletime?: string
+        cycletype?: number  // 报表类型
+        ismarketing?: number 
+        isson?: number // 是否包含子机构
+        orgztypes: string  // 管理员所属机构角色类型
+        pageNum?: number  // 页码
+        pageSize?: number  // 页大小
+        parentuserid?: number
+        quarter?: number // 季度
+        searchtype?: number
+        tradedate?: string  // 日 期
+        yxareauserid?: number // 所属营销中心
+    }
+
+    /** 报表管理-->分润报表 响应 */
+    interface ShareAmountQueryRsp {
+        areaaccountid: number  // 结算资金账户
+        areaname: string   // 会员/机构 reletype == 1
+        areatype: number  // 角色
+        divideamount: number  // 分润金额
+        goodsname: string   // 商品/市场 会员/机构 reletype != 1
+        searchtype: number  // 费用类型
+        totalcount: number  // 总笔数
+        totalfee: number  // 总手续费
+    }
+
+    /** 报表管理-->推荐成交报表-->推荐人信息 请求 */
+     interface RefUserSelectReq {
+        searchcode?: string
+    }
+
+    /** 报表管理-->推荐成交报表-->推荐人信息 响应 */
+    interface RefUserSelectRsp {
+        invloginids: number  
+        relatedname: string  
+    }
+
+    /** 报表管理-->推荐成交报表 请求 */
+     interface TradeReq {
+        cycletime?: string // 日期
+        cycletype?: number // 报表类型
+        pageNum?: number  // 页码
+        pageSize?: number  // 页大小
+        quarter?: number // 季度
+        userid?: number // 推荐账户
+    }
+
+    /** 报表管理-->推荐成交报表 响应 */
+    interface TradeRsp {
+        closecharge: number  // 转让手续费
+        closeqty: number  // 转让数量
+        goodsname: string  // 商品/市场
+        marketname: string  // 市场
+        opencharge: number  // 订立手续费
+        openqty: number  // 订立数量
+        tradeamount: number  // 成交金额
+        tradeqty: number  // 成交量
+    }
+}

+ 1 - 1
src/types/model/system.d.ts

@@ -27,7 +27,7 @@ declare namespace Model {
         ishiddenlog?: number  // 是否显示登录日志 有值为1,无值不传
         issenv?: number  // 是否查询敏感日志 有值为1,无值不传
         logincode?: string // 登录账号
-        orgztypes?: string // 管理员所属机构角色类型
+        orgztypes: string // 管理员所属机构角色类型
         pageNum?: number  // 页码
         pageSize?: number // 页大小
         resourcecodes?: string // 功能模块