|
|
@@ -1,7 +1,89 @@
|
|
|
<!-- 市场运行管理-监控管理-账户风险监控 -->
|
|
|
<template>
|
|
|
- <app-view></app-view>
|
|
|
+ <app-view>
|
|
|
+ <app-table :data="dataList" :columns="tableColumns">
|
|
|
+ <template #headerLeft>
|
|
|
+ <el-form ref="formRef" class="el-form--filter" :model="queryParams">
|
|
|
+ <el-form-item prop="orderbytype">
|
|
|
+ <el-select v-model="queryParams.orderbytype">
|
|
|
+ <el-option label="风险率" :value="0" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="risk">
|
|
|
+ 监控当前风险率><el-input-number v-model="queryParams.risk" placeholder="请输入" />%
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="查询类型" prop="searchtype">
|
|
|
+ <el-select v-model="queryParams.searchtype">
|
|
|
+ <el-option label="交易商" :value="5" />
|
|
|
+ <template v-if="userStore.userInfo.releType === 1">
|
|
|
+ <el-option label="不限" :value="0" />
|
|
|
+ <el-option label="自营会员" :value="2" />
|
|
|
+ </template>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属机构" prop="puserid">
|
|
|
+ <app-select-member v-model="queryParams.puserid" usertype="2,3" placeholder="代码或名称模糊匹配" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ (默认风险率>50%;每10秒刷新一次,下次刷新: {{ countDown.time }})
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="countDown.stop" v-if="countDown.status.value">停止监控</el-button>
|
|
|
+ <el-button type="primary" @click="startCountDown" v-else>开始监控</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </template>
|
|
|
+ </app-table>
|
|
|
+ </app-view>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
+import { ref,computed } from 'vue'
|
|
|
+import { ElMessage, FormInstance } from 'element-plus'
|
|
|
+import { useCountDown } from '@/hooks/countdown'
|
|
|
+import { useRequest } from '@/hooks/request'
|
|
|
+import { marketRunInitInvestor, marketRunInvestor } from '@/services/api/market'
|
|
|
+import { useUserStore } from '@/stores'
|
|
|
+import AppTable from '@pc/components/base/table/index.vue'
|
|
|
+import AppSelectMember from '@pc/components/modules/select-member/index.vue'
|
|
|
+
|
|
|
+const userStore = useUserStore()
|
|
|
+const formRef = ref<FormInstance>()
|
|
|
+const countDown = useCountDown(10)
|
|
|
+
|
|
|
+const queryParams = ref<Model.MarketRunInvestorReq>({
|
|
|
+ orderbytype: 0,
|
|
|
+ risk: 50,
|
|
|
+ searchtype: 5
|
|
|
+})
|
|
|
+
|
|
|
+const { data } = useRequest(marketRunInitInvestor)
|
|
|
+
|
|
|
+const { dataList, run } = useRequest(marketRunInvestor, {
|
|
|
+ params: queryParams.value,
|
|
|
+ onError: (err) => {
|
|
|
+ ElMessage.error(err)
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+const tableColumns = ref<Model.TableColumn[]>([
|
|
|
+ { field: 'accountid', label: '账户' },
|
|
|
+ { field: 'memberusername', label: '所属会员' },
|
|
|
+ { field: 'parentusername', label: '所属机构' },
|
|
|
+ { field: 'freezemargin', label: '当前冻结资金' },
|
|
|
+ { field: 'usedmargin', label: '当前占用保证金', width: 140 },
|
|
|
+ { field: 'netbalance', label: '当前净值' },
|
|
|
+ { field: 'balance', label: '当前风险净值' },
|
|
|
+ { field: 'availmargin', label: '可用资金' },
|
|
|
+ { field: 'totalfrozen', label: '总冻结' },
|
|
|
+ { field: 'totalfloatpl', label: '浮动损益' },
|
|
|
+ { field: 'credit', label: '授信资金' },
|
|
|
+ { field: 'curriskrate', label: '当前风险率(%)' },
|
|
|
+ { field: 'currisklv', label: '当前风险等级' },
|
|
|
+ { field: 'operate', label: '操作', fixed: 'right' }
|
|
|
+])
|
|
|
+
|
|
|
+const startCountDown = () => {
|
|
|
+ countDown.start(() => run(queryParams.value))
|
|
|
+}
|
|
|
</script>
|