li.shaoyi 2 jaren geleden
bovenliggende
commit
4928bf845c

+ 0 - 1
src/business/order/index.ts

@@ -1,7 +1,6 @@
 import { shallowRef, ref, reactive } from 'vue'
 import { useDataTable } from '@/hooks/datatable'
 import { getTableColumns } from '@/business/table'
-import { getReceiptTypeName } from '@/constants/receipt'
 import { queryMyPerformance, performanceManualConfirm, performanceDelayApply, performanceContractedApply, performanceModifyContact, queryWrPerformancePlanStep } from '@/services/api/performance'
 import { useLoginStore } from '@/stores'
 import { BuyOrSell } from '@/constants/order'

+ 8 - 2
src/business/table/columns.ts

@@ -141,6 +141,8 @@ export const pcTableColumnMap = new Map<TableColumnKey, Ermcp.TableColumn[]>([
         { prop: 'qty', label: '克拉重量' },
         { prop: 'priceper', label: '克拉单价' },
         { prop: 'applyprice', label: '我的出价' },
+        { prop: 'applyremark ', label: '申请备注' },
+        { prop: 'confirmremark', label: '确认备注' },
         { prop: 'applystatus', label: '申请状态' },
         { prop: 'applytime', label: '申请时间', width: 200 },
         { prop: 'operate', label: '操作' }
@@ -159,6 +161,8 @@ export const pcTableColumnMap = new Map<TableColumnKey, Ermcp.TableColumn[]>([
         { prop: 'goodsno', label: '我的商品' },
         { prop: 'applyqty', label: '克拉重量' },
         { prop: 'applyprice', label: '我的出价' },
+        { prop: 'applyremark ', label: '申请备注' },
+        { prop: 'auditremark', label: '确认备注' },
         { prop: 'applystatus', label: '申请状态' },
         { prop: 'applytime', label: '申请时间', width: 200 },
         { prop: 'operate', label: '操作' }
@@ -254,7 +258,8 @@ export const pcTableColumnMap = new Map<TableColumnKey, Ermcp.TableColumn[]>([
         { prop: 'priceper', label: '克拉单价' },
         { prop: 'buyusername', label: '买方' },
         { prop: 'applyprice', label: '买方出价' },
-        { prop: 'applyremark', label: '备注' },
+        { prop: 'applyremark', label: '申请备注' },
+        { prop: 'confirmremark', label: '确认备注' },
         { prop: 'applystatus', label: '申请状态' },
         { prop: 'applytime', label: '申请时间', width: 200 },
         { prop: 'operate', label: '操作' }
@@ -273,7 +278,8 @@ export const pcTableColumnMap = new Map<TableColumnKey, Ermcp.TableColumn[]>([
         { prop: 'goodsno', label: '卖方商品' },
         { prop: 'applyqty', label: '克拉重量' },
         { prop: 'applyprice', label: '卖方出价' },
-        { prop: 'applyremark', label: '备注' },
+        { prop: 'applyremark', label: '申请备注' },
+        { prop: 'auditremark', label: '确认备注' },
         { prop: 'applystatus', label: '申请状态' },
         { prop: 'applytime', label: '申请时间', width: 200 },
         { prop: 'operate', label: '操作' }

+ 1 - 1
src/hooks/component/index.ts

@@ -1,5 +1,5 @@
 import { ref, Ref, onUnmounted } from 'vue'
-import { onBeforeRouteLeave } from 'vue-router'
+//import { onBeforeRouteLeave } from 'vue-router'
 import { v4 } from 'uuid'
 
 // 缓存已打开的组件实例

+ 9 - 0
src/mock/router.ts

@@ -1077,6 +1077,15 @@ const appmenu = {
                             }
                         ]
                     },
+                    {
+                        authType: 1,
+                        sort: 5,
+                        title: '资金流水',
+                        code: 'mine_statement',
+                        url: 'statement',
+                        urlType: 1,
+                        component: 'views/mine/statement/index.vue',
+                    },
                 ]
             },
             {

+ 7 - 2
src/packages/pc/components/modules/performance/index.vue

@@ -10,7 +10,7 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
+import { shallowRef, onMounted } from 'vue'
 import { usePerformanceStore } from '@/stores'
 import AppPerformanceRule from '../performance-rule/index.vue'
 
@@ -30,7 +30,12 @@ const onChange = (item: Ermcp.PermancePlanTmpRsp) => {
     emit('update:modelValue', item.autoid)
 }
 
-selectedItem.value = performanceStore.performanceTemplates.find((e) => e.autoid === props.modelValue)
+onMounted(() => {
+    selectedItem.value = performanceStore.performanceTemplates.find((e) => e.autoid === props.modelValue)
+    if (!selectedItem.value) {
+        emit('update:modelValue')
+    }
+})
 </script>
 
 <style lang="less">

+ 52 - 11
src/packages/pc/views/bargain/buy/components/audit/index.vue

@@ -1,10 +1,26 @@
 <!-- 询价消息-买方询价-同意/拒绝 -->
 <template>
-    <app-drawer title="提示" :width="480" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" label-width="60px" :model="formData" :rules="formRules">
-            <el-form-item>
-                <span>是否{{ code === 'bargain_buy_agree' ? '同意' : '拒绝' }}此询价?</span>
-            </el-form-item>
+    <app-drawer :title="code === 'bargain_buy_agree' ? '同意' : '拒绝'" :width="720" v-model:show="show" :loading="loading"
+        :refresh="refresh">
+        <app-table-details :label-width="100" :data="selectedRow" :cell-props="detailProps" :column="2">
+            <!-- 价格 -->
+            <template #price>
+                {{ selectedRow.zscurrencytypedisplayunit + formatDecimal(selectedRow.price) }}
+            </template>
+            <!-- 克拉单价 -->
+            <template #priceper>
+                {{ selectedRow.zscurrencytypedisplayunit + formatDecimal(selectedRow.priceper) }}
+            </template>
+            <!-- 我的出价 -->
+            <template #applyprice>
+                {{ selectedRow.zscurrencytypedisplayunit + formatDecimal(selectedRow.applyprice) }}
+            </template>
+            <!-- 申请状态 -->
+            <template #applystatus>
+                {{ getApplyStatusName(selectedRow.applystatus) }}
+            </template>
+        </app-table-details>
+        <el-form ref="formRef" label-width="60px" :model="formData" :rules="formRules" style="margin-top: 20px;">
             <el-form-item label="备注" prop="AuditRemark">
                 <el-input type="textarea" :rows="3" v-model="formData.AuditRemark" />
             </el-form-item>
@@ -18,10 +34,13 @@
 
 <script lang="ts" setup>
 import { ref, PropType } from 'vue'
-import { ElMessage } from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
 import type { FormInstance, FormRules } from 'element-plus'
+import { formatDecimal } from '@/filters'
+import { getApplyStatusName } from '@/constants/order'
 import { useBargainOperate } from '@/business/bargain'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
 
 const props = defineProps({
     code: String,
@@ -52,6 +71,26 @@ const formRules: FormRules = {
     AuditRemark: [{ required: true, message: '请输入备注', trigger: 'blur' }],
 }
 
+const detailProps = [
+    { prop: 'warehousenamedisplay', label: '仓库' },
+    { prop: 'zsshapetypedisplay', label: '形状' },
+    { prop: 'zscolortype1display', label: '颜色' },
+    { prop: 'zsclaritytype1display', label: '净度' },
+    { prop: 'zscuttype1display', label: '切工' },
+    { prop: 'zspolishtype1display', label: '抛光' },
+    { prop: 'zssymmetrytype1display', label: '对称' },
+    { prop: 'zsfluorescencetype1display', label: '荧光' },
+    { prop: 'sizedisplay', label: '尺寸' },
+    { prop: 'price', label: '价格' },
+    { prop: 'qty', label: '克拉重量' },
+    { prop: 'priceper', label: '克拉单价' },
+    { prop: 'buyusername', label: '买方' },
+    { prop: 'applyprice', label: '买方出价' },
+    { prop: 'applyremark', label: '备注' },
+    { prop: 'applystatus', label: '申请状态' },
+    { prop: 'applytime', label: '申请时间' },
+]
+
 const onCancel = (isRefresh = false) => {
     show.value = false
     refresh.value = isRefresh
@@ -60,11 +99,13 @@ const onCancel = (isRefresh = false) => {
 const onSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
-            formSubmit(operateType).then(() => {
-                ElMessage.success('提交成功')
-                onCancel(true)
-            }).catch((err) => {
-                ElMessage.error('提交失败:' + err)
+            ElMessageBox.confirm(`是否${props.code === 'bargain_buy_agree' ? '同意' : '拒绝'}此询价?`).then(() => {
+                formSubmit(operateType).then(() => {
+                    ElMessage.success('提交成功')
+                    onCancel(true)
+                }).catch((err) => {
+                    ElMessage.error('提交失败:' + err)
+                })
             })
         }
     })

+ 42 - 11
src/packages/pc/views/bargain/sell/components/audit/index.vue

@@ -1,10 +1,18 @@
 <!-- 询价消息-卖方询价-同意/拒绝 -->
 <template>
-    <app-drawer title="提示" :width="480" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" label-width="60px" :model="formData" :rules="formRules">
-            <el-form-item>
-                <span>是否{{ code === 'bargain_sell_agree' ? '同意' : '拒绝' }}此询价?</span>
-            </el-form-item>
+    <app-drawer :title="code === 'bargain_sell_agree' ? '同意' : '拒绝'" :width="720" v-model:show="show" :loading="loading"
+        :refresh="refresh">
+        <app-table-details :label-width="100" :data="selectedRow" :cell-props="detailProps" :column="2">
+            <!-- 卖方出价 -->
+            <template #applyprice>
+                {{ selectedRow.zscurrencytypedisplayunit + formatDecimal(selectedRow.applyprice) }}
+            </template>
+            <!-- 申请状态 -->
+            <template #applystatus>
+                {{ getApplyStatusName(selectedRow.applystatus) }}
+            </template>
+        </app-table-details>
+        <el-form ref="formRef" label-width="60px" :model="formData" :rules="formRules" style="margin-top: 20px;">
             <el-form-item label="备注" prop="AuditRemark">
                 <el-input type="textarea" :rows="3" v-model="formData.AuditRemark" />
             </el-form-item>
@@ -18,10 +26,13 @@
 
 <script lang="ts" setup>
 import { ref, PropType } from 'vue'
-import { ElMessage } from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
 import type { FormInstance, FormRules } from 'element-plus'
+import { formatDecimal } from '@/filters'
+import { getApplyStatusName } from '@/constants/order'
 import { useBargainOperate } from '@/business/bargain'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
 
 const props = defineProps({
     code: String,
@@ -52,6 +63,24 @@ const formRules: FormRules = {
     AuditRemark: [{ required: true, message: '请输入备注', trigger: 'blur' }],
 }
 
+const detailProps = [
+    { prop: 'zsshapetypedisplay', label: '形状' },
+    { prop: 'zscolortypedisplay', label: '颜色' },
+    { prop: 'zsclaritytypedisplay', label: '净度' },
+    { prop: 'zscuttypedisplay', label: '切工' },
+    { prop: 'zspolishtypedisplay', label: '抛光' },
+    { prop: 'zssymmetrytypedisplay', label: '对称' },
+    { prop: 'zsfluorescencetypedisplay', label: '荧光' },
+    { prop: 'zssizedisplay', label: '尺寸' },
+    { prop: 'sellusername', label: '卖方' },
+    { prop: 'goodsno', label: '卖方商品' },
+    { prop: 'applyqty', label: '克拉重量' },
+    { prop: 'applyprice', label: '卖方出价' },
+    { prop: 'applyremark', label: '备注' },
+    { prop: 'applystatus', label: '申请状态' },
+    { prop: 'applytime', label: '申请时间' },
+]
+
 const onCancel = (isRefresh = false) => {
     show.value = false
     refresh.value = isRefresh
@@ -60,11 +89,13 @@ const onCancel = (isRefresh = false) => {
 const onSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
-            formSubmit(operateType).then(() => {
-                ElMessage.success('提交成功')
-                onCancel(true)
-            }).catch((err) => {
-                ElMessage.error('提交失败:' + err)
+            ElMessageBox.confirm(`是否${props.code === 'bargain_sell_agree' ? '同意' : '拒绝'}此询价?`).then(() => {
+                formSubmit(operateType).then(() => {
+                    ElMessage.success('提交成功')
+                    onCancel(true)
+                }).catch((err) => {
+                    ElMessage.error('提交失败:' + err)
+                })
             })
         }
     })

+ 115 - 0
src/packages/pc/views/mine/statement/index.vue

@@ -0,0 +1,115 @@
+<!-- 会员中心-资金流水 -->
+<template>
+    <app-view>
+        <template #header>
+            <app-filter :options="filterOptons" :loading="loading">
+                <template #before>
+                    <el-select v-model="isHistory" :disabled="loading" @change="onRefresh">
+                        <el-option :value="false" label="当前" />
+                        <el-option :value="true" label="历史" />
+                    </el-select>
+                </template>
+                <template #after v-if="isHistory">
+                    <el-date-picker type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
+                        value-format="YYYYMMDD" v-model="filterDate" />
+                </template>
+            </app-filter>
+        </template>
+        <app-table :data="dataList" v-model:columns="tableColumns" :loading="loading">
+            <!-- 时间 -->
+            <template #createtime="{ value }">
+                {{ formatDate(value) }}
+            </template>
+            <template #footer>
+                <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
+                    @change="onRefresh" />
+            </template>
+        </app-table>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { ElMessage } from 'element-plus'
+import { formatDate } from '@/filters'
+import { useDataTable } from '@/hooks/datatable'
+import { useDataFilter } from '@/hooks/datatable'
+import { queryAmountLog, queryHisAmountLog } from '@/services/api/bank'
+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 { dataList, total, pageIndex, pageSize } = useDataTable<Ermcp.AmountLogRsp | Ermcp.HisAmountLogRsp>()
+const { filterOptons, getQueryParams } = useDataFilter<Ermcp.AmountLogReq | Ermcp.HisAmountLogReq>()
+const loading = shallowRef(false)
+const isHistory = shallowRef(false) // 是否历史流水
+const filterDate = shallowRef<string[]>([])
+
+const tableColumns = shallowRef<Ermcp.TableColumn[]>([
+    { prop: 'createtime', label: '时间' },
+    { prop: 'businesscode', label: '操作类型' },
+    { prop: 'amount', label: '金额' },
+])
+
+// 获取数据列表
+const getDataList = async (params: Partial<(Ermcp.AmountLogReq | Ermcp.HisAmountLogReq)> = {}) => {
+    loading.value = true
+    dataList.value = []
+
+    const payload: Ermcp.AmountLogReq | Ermcp.HisAmountLogReq = {
+        page: pageIndex.value,
+        pagesize: pageSize.value,
+        ...params
+    }
+
+    if (isHistory.value) {
+        const [startDate, endDate] = filterDate.value || []
+        filterOptons.buttonList = [
+            { lable: '重置', onClick: () => onSearch(true) },
+            { lable: '查询', className: 'el-button--primary', onClick: () => onSearch() }
+        ]
+
+        queryHisAmountLog({
+            ...payload,
+            startDate,
+            endDate
+        }).then((res) => {
+            total.value = res.total
+            dataList.value = res.data
+        }).catch((err) => {
+            ElMessage.error(err)
+        }).finally(() => {
+            loading.value = false
+        })
+    } else {
+        filterOptons.buttonList = []
+
+        queryAmountLog(payload).then((res) => {
+            total.value = res.total
+            dataList.value = res.data
+        }).catch((err) => {
+            ElMessage.error(err)
+        }).finally(() => {
+            loading.value = false
+        })
+    }
+}
+
+const onSearch = (clear = false) => {
+    if (clear) {
+        filterDate.value = []
+    }
+    getQueryParams((qs) => {
+        pageIndex.value = 1
+        getDataList(qs)
+    }, clear)
+}
+
+const onRefresh = () => {
+    getQueryParams((qs) => {
+        getDataList(qs).catch((err) => ElMessage.error(err))
+    })
+}
+
+onRefresh()
+</script>

+ 32 - 1
src/packages/pc/views/presale/mine/components/add/index.vue

@@ -75,7 +75,7 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, reactive, defineAsyncComponent } from 'vue'
+import { shallowRef, reactive, defineAsyncComponent, PropType, onMounted } from 'vue'
 import { ElMessage, FormInstance, FormRules } from 'element-plus'
 import { formatDate } from '@/filters'
 import { regular } from '@/constants/regex'
@@ -85,6 +85,12 @@ import { gzPresaleApply } from '@/services/api/presale'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 import AppUpload from '@pc/components/base/upload/index.vue'
 
+const props = defineProps({
+    selectedRow: {
+        type: Object as PropType<Ermcp.GZWrPreSaleApplyRsp>
+    }
+})
+
 // 履约模板
 const PerformanceTemplate = defineAsyncComponent(() => import('@pc/components/modules/performance/index.vue'))
 
@@ -181,4 +187,29 @@ const onSubmit = () => {
         }
     })
 }
+
+onMounted(() => {
+    if (props.selectedRow) {
+        ({
+            wrstandardname: formData.WRStandardName,
+            performancetemplateid: formData.PerformanceTemplateID,
+            presaleqty: formData.PresaleQty,
+            unitprice: formData.UnitPrice,
+            minbuyqty: formData.MinBuyQty,
+            minsuccessqty: formData.MinSuccessQty,
+            maxbuyqty: formData.MaxBuyQty,
+            buymarginvalue: formData.BuyMarginValue,
+            zscolortypestr: formData.ZSColorTypeStr,
+            sizestr: formData.SizeStr,
+            zsclaritytypestr: formData.ZSClarityTypeStr,
+            yieldrate: formData.YieldRate,
+            qtydesc: formData.QtyDesc,
+            weightdesc: formData.WeightDesc,
+            ysproductionmode: formData.YSProductionMode,
+            remark: formData.Remark,
+        } = props.selectedRow)
+
+        datePickerValue.value = [props.selectedRow.startdate, props.selectedRow.enddate]
+    }
+})
 </script>

+ 25 - 8
src/packages/pc/views/presale/mine/components/apply/index.vue

@@ -8,13 +8,23 @@
             </template>
             <!-- 操作 -->
             <template #operate="{ row }">
-                <el-button size="small" @click="openDetails(row)">查看</el-button>
+                <el-dropdown trigger="click">
+                    <el-button size="small" icon="MoreFilled" round />
+                    <template #dropdown>
+                        <el-dropdown-menu>
+                            <el-dropdown-item @click="showComponent('details', row)">详情</el-dropdown-item>
+                            <el-dropdown-item @click="showComponent('add', row)"
+                                v-if="row.applystatus === 3">重新申请</el-dropdown-item>
+                        </el-dropdown-menu>
+                    </template>
+                </el-dropdown>
             </template>
             <template #footer>
                 <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex" @change="run" />
             </template>
         </app-table>
-        <component :is="Details" v-bind="{ selectedRow }" @closed="showDetails = false" v-if="showDetails" />
+        <component :is="componentMap.get(componentId)" v-bind="{ selectedRow }" @closed="closeComponent"
+            v-if="componentId" />
     </app-drawer>
 </template>
 
@@ -22,19 +32,26 @@
 import { shallowRef, defineAsyncComponent } from 'vue'
 import { ElMessage } from 'element-plus'
 import { getInOutApplyStatusName } from '@/constants/presale'
+import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { queryGZWrPreSaleApply } from '@/services/api/presale'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
 
-// 申请详情
-const Details = defineAsyncComponent(() => import('./details.vue'))
+const componentMap = new Map<string, unknown>([
+    ['details', defineAsyncComponent(() => import('./details.vue'))], // 申请详情
+    ['add', defineAsyncComponent(() => import('../add/index.vue'))] // 预售申请
+])
 
 const show = shallowRef(true)
-const showDetails = shallowRef(false)
 const selectedRow = shallowRef<Ermcp.GZWrPreSaleApplyRsp>() // 当前选择的申请明细
 
+const { componentId, openComponent, closeComponent } = useComponent(() => {
+    pageIndex.value = 1
+    run()
+})
+
 const { loading, dataList, total, pageIndex, pageSize, run } = useRequest(queryGZWrPreSaleApply, {
     params: {
         pagesize: 10,
@@ -53,11 +70,11 @@ const columns: Ermcp.TableColumn[] = [
     { prop: 'enddate', label: '结束日期' },
     { prop: 'applystatus', label: '状态' },
     { prop: 'applytime', label: '申请时间' },
-    { prop: 'operate', label: '详情', fixed: 'right' },
+    { prop: 'operate', label: '操作', fixed: 'right' },
 ]
 
-const openDetails = (item: Ermcp.GZWrPreSaleApplyRsp) => {
+const showComponent = (name: string, item: Ermcp.GZWrPreSaleApplyRsp) => {
     selectedRow.value = item
-    showDetails.value = true
+    openComponent(name)
 }
 </script>

+ 5 - 1
src/packages/pc/views/trade/bargain/components/details/index.vue

@@ -63,9 +63,13 @@
                             <app-performance-rule :item="getPerformanceTemplateById(details.performancetemplateid)" />
                         </li>
                         <li>
-                            <span>备注</span>
+                            <span>申请备注</span>
                             <span>{{ handleNoneValue(details.applyremark) }}</span>
                         </li>
+                        <li>
+                            <span>确认备注</span>
+                            <span>{{ handleNoneValue(details.auditremark) }}</span>
+                        </li>
                     </ul>
                 </el-card>
             </el-aside>

+ 1 - 1
src/packages/pc/views/warehousing/goods/components/details/index.less

@@ -86,7 +86,7 @@
                     }
 
                     li {
-                        width: 25%;
+                        width: calc(~"100% / 3");
                     }
                 }
             }

+ 31 - 0
src/services/api/bank/index.ts

@@ -1,5 +1,8 @@
 import http from '@/services/http'
 import tradeServer from '@/services/socket/trade'
+import { useAccountStore } from '@/stores'
+
+const accountStore = useAccountStore()
 
 /**
  * 银行签约
@@ -81,4 +84,32 @@ export function queryAccountInOutApply(params: Ermcp.AccountInOutApplyReq) {
         url: '/Qhj/QueryAccountInOutApply',
         params,
     })
+}
+
+/**
+ * 资金流水查询(当前)
+ */
+export function queryAmountLog(params: Ermcp.AmountLogReq) {
+    return http.commonRequest<Ermcp.AmountLogRsp[]>({
+        url: '/TaAccount/QueryAmountLog',
+        params: {
+            accountID: accountStore.accountId.toString(),
+            pageflag: 1,
+            ...params
+        },
+    })
+}
+
+/**
+ * 资金流水查询(历史)
+ */
+export function queryHisAmountLog(params: Ermcp.HisAmountLogReq) {
+    return http.commonRequest<Ermcp.HisAmountLogRsp[]>({
+        url: '/TaAccount/QueryHisAmountLog',
+        params: {
+            accountID: accountStore.accountId.toString(),
+            pageflag: 1,
+            ...params
+        },
+    })
 }

+ 104 - 0
src/types/ermcp/bank.d.ts

@@ -155,5 +155,109 @@ declare global {
             userid: number;//用户id
             userinfotype: number;//账户类型 1-个人 2-企业
         }
+
+        /** 资金流水查询(当前) 请求 */
+        interface AmountLogReq {
+            // 页码
+            page?: number
+            // 每页条数
+            pagesize?: number
+            pageflag?: number; // 分页标志 0-page从0开始 1-page从1开始
+            // 资金账户 - 格式:1,2,3
+            accountID?: string
+            // 资金操作类型 - 格式:1,2,3
+            OperateType?: string
+        }
+
+        /** 资金流水查询(当前) 响应 */
+        interface AmountLogRsp {
+            // 资金账户ID
+            accountid: number
+            // 竞拍商品代码
+            agoodscode: string
+            // 竞拍商品名称
+            agoodsname: string
+            // 资金金额
+            amount: number
+            // 资金调整类型(默认值为0) - 0:系统 1:单边账调整 2:人工调整
+            amountadjusttype: number
+            // 流水ID(220+Unix秒时间戳(10位)+xxxxxx)
+            autoid: number
+            // 期初余额
+            balance: number
+            // 业务编号
+            businesscode: number
+            // 发生时间
+            createtime: string
+            // 币种ID
+            currencyid: number
+            // 期末余额(变动后金额)
+            currentbalance: number
+            // 交割商品代码
+            dgoodscode: string
+            // 交割商品名称
+            dgoodsname: string
+            // 商品代码
+            goodscode: string
+            // 商品ID
+            goodsid: number
+            // 商品名称
+            goodsname: string
+            // 市场ID
+            marketid: number
+            // 市场名称
+            marketname: string
+            // 资金流水号:银行端流水号
+            moneyticket: number
+            // 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻 601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+            operatetype: number
+            // 关联单号
+            relationorderid: string
+            // 备注
+            remark: string
+            // 交易模式
+            trademode: number
+        }
+
+        /** 资金流水查询(历史) 请求 */
+        interface HisAmountLogReq {
+            accountID?: string; // 资金账户 - 格式:1,2,3
+            page?: number; // 页码
+            pagesize?: number; // 每页条数
+            pageflag?: number; // 分页标志 0-page从0开始 1-page从1开始
+            OperateType?: string; // 资金操作类型 - 格式:1,2,3
+            startDate?: string; // 开始时间 - 闭区间,格式:yyyy-MM-dd
+            endDate?: string; // 结束时间 - 闭区间,格式:yyyy-MM-dd
+        }
+
+        /** 资金流水查询(历史) 响应 */
+        interface HisAmountLogRsp {
+            OPERATETYPENAME: string; // 资金操作类型名称
+            accountid: number; // 资金账户ID
+            agoodscode: string; // 竞拍商品代码
+            agoodsname: string; // 竞拍商品名称
+            amount: number; // 资金金额
+            amountadjusttype: number; // 资金调整类型(默认值为0) - 0:系统 1:单边账调整 2:人工调整
+            autoid: number; // 流水ID(220+Unix秒时间戳(10位)+xxxxxx)
+            balance: number; // 期初余额
+            businesscode: number; // 业务编号,对应枚举 accountBusinessCode
+            createtime: string; // 发生时间
+            currencyid: number; // 币种ID
+            currentbalance: number; // 期末余额(变动后金额)
+            dgoodscode: string; // 交割商品代码
+            dgoodsname: string; // 交割商品名称
+            goodscode: string; // 商品代码
+            goodsid: number; // 商品ID
+            goodsname: string; // 商品名称
+            histradedate: string; // 历史交易日
+            isvaliddata: number; // 是否有效 - 0:无效 1:有效
+            marketid: number; // 市场ID
+            marketname: string; // 市场名称
+            moneyticket: number; // 资金流水号:银行端流水号
+            operatetype: number; // 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻 601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+            relationorderid: string; // 关联单号
+            remark: string; // 备注
+            trademode: number; // 交易模式
+        }
     }
 }