10 files modified
3 files added
| | |
| | | # VUE_APP_API_BASE_URL=https://api.marwadi.online/ |
| | | # VUE_APP_API_BASE_URL=https://www.rksv.store:8091/ |
| | | # VUE_APP_API_BASE_URL=https://api.dfddgj346.xyz/ |
| | | VUE_APP_API_BASE_URL=http://stockapi.yanshiz.com/ |
| | | # VUE_APP_API_BASE_URL=https://api.durocaspitall.com/ |
| | | # VUE_APP_API_BASE_URL=https://api.fidelityio.com/ |
| | | # VUE_APP_API_BASE_URL= https://www.prudentcapitals.net/ |
| | | # VUE_APP_API_BASE_URL=https://api.guosen.org/ |
| | | # VUE_APP_API_BASE_URL=https://api.guosen.org/ |
| | | |
| | | # VUE_APP_API_BASE_URL=http://stockapi.yanshiz.com/ |
| | | VUE_APP_API_BASE_URL=http://192.168.10.20:8091// |
| New file |
| | |
| | | import request from '@/utils/request' |
| | | import qs from 'qs' |
| | | const userApi = { |
| | | getStockAiList: '/admin/stockAi/getStockAiList.do', // ai产品列表 |
| | | editStockAi: '/admin/stockAi/editStockAi.do', // ai产品新增&编辑 |
| | | getStockAiOrderList: '/admin/stockAi/getStockAiOrderList.do', // ai产品记录 |
| | | orderOperation: '/admin/stockAi/orderOperation.do', // ai产品记录操作 |
| | | openPosition: '/admin/stockAi/openPosition.do', // ai产品记录操作 |
| | | getStocksByKeyWords: '/admin/stockAi/getStocksByKeyWords.do', // 股票列表 |
| | | getPositionList: '/admin/stockAi/getPositionList.do', // 建仓记录列表 |
| | | } |
| | | |
| | | /** |
| | | * login func |
| | | * parameter: { |
| | | * username: '', |
| | | * password: '', |
| | | * remember_me: true, |
| | | * captcha: '12345' |
| | | * } |
| | | * @param parameter |
| | | * @returns {*} |
| | | */ |
| | | |
| | | export function getStockAiList(parameter) { |
| | | return request({ |
| | | url: userApi.getStockAiList, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function editStockAi(parameter) { |
| | | return request({ |
| | | url: userApi.editStockAi, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function getStockAiOrderList(parameter) { |
| | | return request({ |
| | | url: userApi.getStockAiOrderList, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function orderOperation(parameter) { |
| | | return request({ |
| | | url: userApi.orderOperation + parameter, |
| | | method: 'get', |
| | | // data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function openPosition(parameter) { |
| | | return request({ |
| | | url: userApi.openPosition, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function getStocksByKeyWords(parameter) { |
| | | return request({ |
| | | url: userApi.getStocksByKeyWords, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function getPositionList(parameter) { |
| | | return request({ |
| | | url: userApi.getPositionList, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | |
| | | stockgetMarket: '/api/stock/getMarket.do', // 获取大盘指数行情 |
| | | adminsetSiteStyle: '/api/admin/setSiteStyle.do', // 设置网站风格 |
| | | admingetSiteStyle: '/api/admin/getSiteStyle.do', // 获取网站风格 |
| | | dksp: '/admin/dksp.do', // 通过||拒绝贷款 |
| | | } |
| | | |
| | | /** |
| | |
| | | }) |
| | | } |
| | | export function onedklist(parameter) { |
| | | console.log("dadadaada",parameter); |
| | | |
| | | return request({ |
| | | url: userApi.onedklist, |
| | | method: 'post', |
| | | param: parameter, |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function countdata(parameter) { |
| | |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function dksp(parameter) { |
| | | return request({ |
| | | url: userApi.dksp, |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | |
| | | path: '/newshares/dazonglist', |
| | | name: 'dazonglist', |
| | | component: () => import('@/views/newshares/dazonglist'), |
| | | meta: { title: '折扣交易列表', keepAlive: true, permission: ['dazonglist'] }, |
| | | meta: { title: '大宗产品', keepAlive: true, permission: ['dazonglist'] }, |
| | | }, |
| | | { |
| | | path: '/newshares/dazongshlist', |
| | | name: 'dazongshlist', |
| | | component: () => import('@/views/newshares/dazongshlist'), |
| | | meta: { title: '折扣交易审核列表', keepAlive: true, permission: ['dazongshlist'] }, |
| | | meta: { title: '大宗交易列表', keepAlive: true, permission: ['dazongshlist'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | // ai量化交易 |
| | | { |
| | | path: '/aiShares', |
| | | redirect: '/aiShares/aiShareslist', |
| | | component: RouteView, |
| | | meta: { title: 'ai量化交易', icon: 'sliders', permission: ['aiShareslist'] }, |
| | | children: [ |
| | | { |
| | | path: '/aiShares/aiShareslist', |
| | | name: 'aiShareslist', |
| | | component: () => import('@/views/aiShares/aiShareslist'), |
| | | meta: { title: 'ai产品列表', keepAlive: true, permission: ['aiShareslist'] }, |
| | | }, |
| | | { |
| | | path: '/aishares/aisharesrecord', |
| | | name: 'aisharesrecord', |
| | | component: () => import('@/views/aiShares/aisharesrecord'), |
| | | meta: { title: 'ai产品记录', keepAlive: true, permission: ['aisharesrecord'] }, |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | component: () => import('@/views/loanmanage/index'), |
| | | meta: { title: '贷款列表', keepAlive: true, permission: ['loanmanage'] } |
| | | }, |
| | | { |
| | | path: '/loanmanage/institution', |
| | | name: 'institution', |
| | | component: () => import('@/views/loanmanage/institution'), |
| | | meta: { title: '贷款机构', keepAlive: true, permission: ['institution'] } |
| | | } |
| | | // { |
| | | // path: '/loanmanage/institution', |
| | | // name: 'institution', |
| | | // component: () => import('@/views/loanmanage/institution'), |
| | | // meta: { title: '贷款机构', keepAlive: true, permission: ['institution'] } |
| | | // } |
| | | // { |
| | | // path: '/loanmanage/institution', |
| | | // name: 'Institution', |
| | |
| | | baseURL: process.env.VUE_APP_API_BASE_URL, |
| | | // content-type: application/x-www-form-urlencoded |
| | | headers: { |
| | | 'Content-Type': 'application/x-www-form-urlencoded' |
| | | 'Content-Type': 'application/x-www-form-urlencoded', |
| | | }, |
| | | timeout: 6000 // 请求超时时间 |
| | | timeout: 6000, // 请求超时时间 |
| | | }) |
| | | |
| | | // 异常拦截处理器 |
| | |
| | | if (error.response.status === 403) { |
| | | notification.error({ |
| | | message: 'Forbidden', |
| | | description: data.msg |
| | | description: data.msg, |
| | | }) |
| | | } |
| | | if (error.response.status === 401 && !(data.result && data.result.isLogin)) { |
| | | notification.error({ |
| | | message: 'Unauthorized', |
| | | description: 'Authorization verification failed' |
| | | description: 'Authorization verification failed', |
| | | }) |
| | | if (token) { |
| | | store.dispatch('Logout').then(() => { |
| | |
| | | if (msg == '請先登錄,無權限訪問admin') { |
| | | notification.error({ |
| | | message: '重新登陆', |
| | | description: '未登录或登录过期,请重新登录' |
| | | description: '未登录或登录过期,请重新登录', |
| | | }) |
| | | store.dispatch('Logout').then(() => { |
| | | setTimeout(() => { |
| | |
| | | } else if (!res.data) { |
| | | notification.error({ |
| | | message: '网络错误', |
| | | description: '网络错误,请稍后刷新页面重试!' |
| | | description: '网络错误,请稍后刷新页面重试!', |
| | | }) |
| | | } |
| | | return res.data |
| | |
| | | |
| | | const installer = { |
| | | vm: {}, |
| | | install (Vue) { |
| | | install(Vue) { |
| | | Vue.use(VueAxios, request) |
| | | } |
| | | }, |
| | | } |
| | | |
| | | export default request |
| New file |
| | |
| | | <template> |
| | | <page-header-wrapper> |
| | | <a-card :bordered="false"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="市场类型"> |
| | | <a-select v-model="queryParam.stockType" placeholder="请选择类型"> |
| | | <a-select-option value="">全部</a-select-option> |
| | | <a-select-option value="US">美股</a-select-option> |
| | | <a-select-option value="MEX">墨西哥股</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="状态"> |
| | | <a-select v-model="queryParam.status" placeholder="请选择状态"> |
| | | <a-select-option value="">全部</a-select-option> |
| | | <a-select-option value="online">上线</a-select-option> |
| | | <a-select-option value="out">下架</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="名称"> |
| | | <a-input v-model="queryParam.name" style="width: 100%" placeholder="请输入名称" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item> |
| | | <span class="table-page-search-submitButtons"> |
| | | <a-button @click="getqueryParam" icon="redo"> 重置</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="search" |
| | | style="margin-left: 8px" |
| | | @click=";(queryParam.pageNum = 1), (pagination.current = 1), getlist()" |
| | | >查询 |
| | | </a-button> |
| | | |
| | | <a-button |
| | | type="primary" |
| | | icon="plus" |
| | | style="margin-left: 8px" |
| | | @click=";(addUserdialog = true), (currentdetail = '')" |
| | | > |
| | | 添加 |
| | | </a-button> |
| | | </span> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </a-card> |
| | | |
| | | <a-card :bordered="false"> |
| | | <a-table |
| | | bordered |
| | | :loading="loading" |
| | | :pagination="pagination" |
| | | :columns="columns" |
| | | :data-source="datalist" |
| | | rowKey="newlistId" |
| | | > |
| | | <template slot="stockType" slot-scope="text, record"> |
| | | <div> |
| | | <span v-if="record.stockType == 'US'">美股</span> |
| | | <span v-else-if="record.stockType == 'MEX'">墨西哥股</span> |
| | | </div> |
| | | </template> |
| | | |
| | | <template slot="minPrice" slot-scope="text, record"> |
| | | <div> |
| | | <span>{{ `${record.stockTypeName} ${record.minPrice}` }}</span> |
| | | </div> |
| | | </template> |
| | | |
| | | <template slot="status" slot-scope="text, record"> |
| | | <div> |
| | | <a-tag :color="record.status == 'online' ? 'green' : record.status == 'out' ? 'red' : ''"> |
| | | {{ record.status == 'online' ? '上线' : '下架' }} |
| | | </a-tag> |
| | | </div> |
| | | </template> |
| | | |
| | | <template slot="action" slot-scope="text, record"> |
| | | <a slot="action" href="javascript:;" @click="geteditStock(record)">{{ '编辑' }}</a> |
| | | </template> |
| | | </a-table> |
| | | </a-card> |
| | | |
| | | <a-modal |
| | | :title="currentdetail ? '修改' : '添加'" |
| | | :width="700" |
| | | :visible="addUserdialog" |
| | | :confirmLoading="addUserDialogloading" |
| | | @ok="OkaddUserdialog" |
| | | @cancel="CanceladdUserdialog" |
| | | > |
| | | <a-form :form="addUserform" ref="addUserform"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="股票市场" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | placeholder="请选择" |
| | | v-decorator="['stockType', { rules: [{ required: true, message: '请选择' }] }]" |
| | | > |
| | | <a-select-option value="US">美股</a-select-option> |
| | | <a-select-option value="MEX">墨西哥股</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入名称" |
| | | v-decorator="['stockName', { rules: [{ required: true, message: '请输入新股代码' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="最少买入金额(对应市场货币)" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入最少买入金额" |
| | | v-decorator="['minPrice', { rules: [{ required: true, message: '请输入最少买入金额' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="交易成功率" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入交易成功率" |
| | | v-decorator="['successRate', { rules: [{ required: true, message: '请输入交易成功率' }] }]" |
| | | addon-after="%" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="预期收益率" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入预期收益率" |
| | | v-decorator="['expectedEarning', { rules: [{ required: true, message: '请输入预期收益率' }] }]" |
| | | addon-after="%" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="周期(天)" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入" |
| | | v-decorator="['cycle', { rules: [{ required: true, message: '请输入' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | placeholder="请选择状态" |
| | | v-decorator="['status', { rules: [{ required: true, message: '请选择' }] }]" |
| | | > |
| | | <a-select-option value="online">上线</a-select-option> |
| | | <a-select-option value="out">下架</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </a-modal> |
| | | </page-header-wrapper> |
| | | </template> |
| | | <script> |
| | | import { getStockAiList, editStockAi, subscribeadd, subscribeupdate, subscribedel } from '@/api/aishares' |
| | | import moment from 'moment' |
| | | import pick from 'lodash.pick' |
| | | export default { |
| | | name: 'Shares', |
| | | data() { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: '名称', |
| | | dataIndex: 'stockName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '所属市场', |
| | | dataIndex: 'stockType', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'stockType' }, |
| | | }, |
| | | { |
| | | title: '最低买入金额', |
| | | dataIndex: 'minPrice', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'minPrice' }, |
| | | }, |
| | | { |
| | | title: '交易成功率(%)', |
| | | dataIndex: 'successRate', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '预期收益率(%)', |
| | | dataIndex: 'expectedEarning', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '周期(天)', |
| | | dataIndex: 'cycle', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '状态', |
| | | dataIndex: 'status', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'status' }, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | key: 'action', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'action' }, |
| | | }, |
| | | ], |
| | | disabledDate: true, |
| | | // 表头 |
| | | pagination: { |
| | | total: 0, |
| | | current: 1, |
| | | pageSize: 10, // 每页中显示10条数据 |
| | | showSizeChanger: true, |
| | | pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据 |
| | | onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示 |
| | | onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件 |
| | | showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据 |
| | | }, |
| | | loading: false, |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | stockType: '', |
| | | status: '', |
| | | name: '', |
| | | }, |
| | | datalist: [], |
| | | labelCol: { |
| | | xs: { span: 8 }, |
| | | sm: { span: 8 }, |
| | | md: { span: 8 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 14 }, |
| | | sm: { span: 14 }, |
| | | md: { span: 14 }, |
| | | }, |
| | | addUserform: this.$form.createForm(this), |
| | | addUserdialog: false, |
| | | addUserDialogloading: false, |
| | | |
| | | fields: ['id', 'stockType', 'stockName', 'minPrice', 'successRate', 'expectedEarning', 'cycle', 'status'], |
| | | currentdetail: '', |
| | | subscribeTime: '', |
| | | subscriptionTime: '', |
| | | listDate: '', |
| | | } |
| | | }, |
| | | created() { |
| | | this.getlist() |
| | | }, |
| | | methods: { |
| | | getdeleteStock(val) { |
| | | var that = this |
| | | this.$confirm({ |
| | | title: '提示', |
| | | content: '确认删除该新股吗?此操作不可恢复!', |
| | | onOk() { |
| | | var data = { |
| | | id: val.newlistId, |
| | | } |
| | | subscribedel(data).then((res) => { |
| | | if (res.status == 0) { |
| | | that.$message.success(res.msg) |
| | | that.getinit() |
| | | } else { |
| | | that.$message.error(res.msg) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | console.log('Cancel') |
| | | }, |
| | | }) |
| | | }, |
| | | getsubscribeTime(date, dateString) { |
| | | this.subscribeTime = dateString |
| | | }, |
| | | getlistDate(date, dateString) { |
| | | this.listDate = dateString |
| | | }, |
| | | getsubscriptionTime(date, dateString) { |
| | | this.subscriptionTime = dateString |
| | | }, |
| | | geteditStock(val) { |
| | | this.currentdetail = val |
| | | this.addUserdialog = true |
| | | this.fields.forEach((v) => this.addUserform.getFieldDecorator(v)) |
| | | this.addUserform.setFieldsValue(pick(val, this.fields)) |
| | | }, |
| | | CanceladdUserdialog() { |
| | | this.addUserdialog = false |
| | | const form = this.$refs.addUserform.form |
| | | form.resetFields() |
| | | }, |
| | | OkaddUserdialog() { |
| | | const form = this.$refs.addUserform.form |
| | | |
| | | form.validateFields((errors, values) => { |
| | | if (!errors) { |
| | | if (this.currentdetail != '') { |
| | | this.addUserDialogloading = true |
| | | values.id = this.currentdetail.id |
| | | editStockAi(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.addUserDialogloading = false |
| | | }) |
| | | } else { |
| | | this.addUserDialogloading = true |
| | | editStockAi(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getinit() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.addUserDialogloading = false |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getqueryParam() { |
| | | this.queryParam = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | stockType: '', |
| | | status: '', |
| | | name: '', |
| | | } |
| | | }, |
| | | getinit() { |
| | | this.getqueryParam() |
| | | this.pagination.current = 1 |
| | | this.getlist() |
| | | }, |
| | | getlist() { |
| | | this.loading = true |
| | | getStockAiList(this.queryParam).then((res) => { |
| | | this.datalist = res.data.list |
| | | this.pagination.total = res.data.total |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | onPageChange(page, pageSize) { |
| | | this.queryParam.pageNum = page |
| | | this.pagination.current = page |
| | | this.getlist() |
| | | }, |
| | | onSizeChange(current, pageSize) { |
| | | this.queryParam.pageNum = current |
| | | this.pagination.current = page |
| | | this.queryParam.pageSize = pageSize |
| | | this.getlist() |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| New file |
| | |
| | | <template> |
| | | <page-header-wrapper> |
| | | <a-card :bordered="false"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="状态"> |
| | | <a-select v-model="queryParam.status" placeholder="请选择"> |
| | | <a-select-option value="">全部</a-select-option> |
| | | <a-select-option value="wait">等待审核</a-select-option> |
| | | <a-select-option value="passed">已通过</a-select-option> |
| | | <a-select-option value="notPass">不通过</a-select-option> |
| | | <a-select-option value="finished">已完成</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="会员ID"> |
| | | <a-input v-model="queryParam.userId" style="width: 100%" placeholder="请输入" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="账号/手机"> |
| | | <a-input v-model="queryParam.phone" style="width: 100%" placeholder="请输入" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item> |
| | | <span class="table-page-search-submitButtons"> |
| | | <a-button @click="getqueryParam" icon="redo"> 重置</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="search" |
| | | style="margin-left: 8px" |
| | | @click=";(queryParam.pageNum = 1), (pagination.current = 1), getlist()" |
| | | >查询 |
| | | </a-button> |
| | | <!-- <a-button |
| | | type="primary" |
| | | icon="plus" |
| | | style="margin-left: 8px" |
| | | @click=";(addUserdialog = true), (currentdetail = '')" |
| | | > |
| | | 添加记录</a-button |
| | | > --> |
| | | </span> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </a-card> |
| | | |
| | | <a-card :bordered="false"> |
| | | <a-table |
| | | bordered |
| | | :loading="loading" |
| | | :pagination="pagination" |
| | | :columns="columns" |
| | | :data-source="datalist" |
| | | rowKey="id" |
| | | :scroll="{ x: 'calc(700px + 50%)' }" |
| | | > |
| | | <span slot="stockTypeName" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span v-show="record.stockType == 'US'">美股</span> |
| | | <span v-show="record.stockType == 'MEX'">墨西哥股</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="buyAmount" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ `${record.stockTypeName} ${record.buyAmount}` }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="status" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span v-show="record.status == 'wait'">等待审核</span> |
| | | <span v-show="record.status == 'passed'">已通过</span> |
| | | <span v-show="record.status == 'notPass'">不通过</span> |
| | | <span v-show="record.status == 'finished'">已完成</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | |
| | | <template slot="action" slot-scope="text, record"> |
| | | <!-- <a slot="action" href="javascript:;" @click="geteditStock(record)">{{ '修改记录' }}</a> |
| | | <a-divider type="vertical" /> |
| | | <a slot="action" href="javascript:;" @click="getdeleteStock(record)">{{ '删除记录' }}</a> |
| | | <a-divider type="vertical" /> |
| | | <a slot="action" href="javascript:;" @click="getzhuan(record)" v-if="record.status == 4">{{ '转持仓' }}</a> --> |
| | | |
| | | <template v-if="record.status == 'wait'"> |
| | | <a-popconfirm |
| | | title="确认通过该申请?" |
| | | ok-text="确定" |
| | | cancel-text="取消" |
| | | @confirm="applicationProcedure('passed', record)" |
| | | > |
| | | <a href="javascript:;">{{ '通过' }}</a> |
| | | </a-popconfirm> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm |
| | | title="确认拒绝该申请?" |
| | | ok-text="确定" |
| | | cancel-text="取消" |
| | | @confirm="applicationProcedure('notPass', record)" |
| | | > |
| | | <a href="javascript:;">{{ '拒绝' }}</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <template v-if="record.status == 'passed'"> |
| | | <a href="javascript:;" @click="openPosition(record)">{{ '建仓' }}</a> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm |
| | | title="确认结算该订单?" |
| | | ok-text="确定" |
| | | cancel-text="取消" |
| | | @confirm="applicationProcedure('finished', record)" |
| | | > |
| | | <a href="javascript:;">{{ '结算' }}</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <a-divider type="vertical" /> |
| | | <a slot="action" href="javascript:;" @click="pRecordOpen(record)">建仓记录</a> |
| | | </template> |
| | | </a-table> |
| | | </a-card> |
| | | |
| | | <a-modal |
| | | :title="currentdetail ? '修改记录' : '添加记录'" |
| | | :width="700" |
| | | :visible="addUserdialog" |
| | | :confirmLoading="addUserDialogloading" |
| | | @ok="OkaddUserdialog" |
| | | @cancel="CanceladdUserdialog" |
| | | > |
| | | <a-form :form="addUserform" ref="addUserform"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="用户手机号" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入用户手机号" |
| | | v-decorator="['phone', { rules: [{ required: true, message: '请输入用户手机号' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="新股代码" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入新股代码" |
| | | v-decorator="['newCode', { rules: [{ required: true, message: '请输入新股代码' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="买入数量" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入买入数量" |
| | | v-decorator="['applyNums', { rules: [{ required: true, message: '请输入买入数量' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="中签数量" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入中签数量" v-decorator="['applyNumber', {}]" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | placeholder="请选择状态" |
| | | v-decorator="['status', { rules: [{ required: true, message: '请选择状态' }] }]" |
| | | > |
| | | <a-select-option :value="1">已认购</a-select-option> |
| | | <a-select-option :value="2">未中签</a-select-option> |
| | | <a-select-option :value="3">已中签</a-select-option> |
| | | <a-select-option :value="4">已缴纳</a-select-option> |
| | | <a-select-option :value="5">转持仓</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </a-modal> |
| | | |
| | | <a-modal |
| | | title="内部建仓(请严格按照AI交易产品市场 所属股票建仓 否则会造成实际收益不符)" |
| | | :width="800" |
| | | :visible="positiondialog" |
| | | :confirmLoading="positiondialogloading" |
| | | @ok="ppenPosition" |
| | | @cancel="CancelPositiondialog" |
| | | > |
| | | <a-form :form="positionform" ref="positionform"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="建仓股票" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | show-search |
| | | :value="stockValue" |
| | | placeholder="请输入" |
| | | style="width: 200px" |
| | | :default-active-first-option="false" |
| | | :show-arrow="false" |
| | | :filter-option="false" |
| | | :not-found-content="null" |
| | | @search="handleSearch" |
| | | @change="handleChange" |
| | | > |
| | | <a-select-option v-for="d in stockList" :key="d.id" :obj="d"> |
| | | {{ d.stockName }} |
| | | </a-select-option> |
| | | <div slot="dropdownRender" slot-scope="menu" @mousedown="(e) => e.preventDefault()"> |
| | | <v-nodes :vnodes="menu" /> |
| | | <a-divider style="margin: 4px 0" /> |
| | | <a-pagination |
| | | simple |
| | | :default-current="stockOpt.pageNum" |
| | | :total="stockTotal" |
| | | @change="(page) => (stockOpt.pageNum = page)" |
| | | /> |
| | | </div> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="建仓股票数量" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入" |
| | | v-decorator="['stockNum', { rules: [{ required: true, message: '请输入' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="建仓股票单价" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入" |
| | | v-decorator="['stockPrice', { rules: [{ required: true, message: '请输入' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="建仓时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 100%" |
| | | @change="getCreatDate" |
| | | v-decorator="['creatDate', { rules: [{ required: true, message: '请填写' }] }]" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | </a-date-picker> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="平仓单价" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入" |
| | | v-decorator="['coverPrice', { rules: [{ required: true, message: '请输入' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="平仓时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 100%" |
| | | @change="getCoverDate" |
| | | v-decorator="['coverDate', { rules: [{ required: true, message: '请填写' }] }]" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | </a-date-picker> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </a-modal> |
| | | |
| | | <a-modal |
| | | title="建仓记录" |
| | | :width="800" |
| | | :visible="pRecordShow" |
| | | @ok="pRecordShow = false" |
| | | @cancel="pRecordShow = false" |
| | | > |
| | | <a-table |
| | | bordered |
| | | :loading="rloading" |
| | | :pagination="rpagination" |
| | | :columns="rcolumns" |
| | | :data-source="rdatalist" |
| | | rowKey="id" |
| | | :scroll="{ x: 'calc(700px + 50%)' }" |
| | | > |
| | | <span slot="status" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span v-show="record.status == 0">持仓</span> |
| | | <span v-show="record.status == 1">已平仓</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | </a-table> |
| | | </a-modal> |
| | | </page-header-wrapper> |
| | | </template> |
| | | <script> |
| | | let timeout |
| | | import { |
| | | getStockAiOrderList, |
| | | orderOperation, |
| | | openPosition, |
| | | saveStockSubscribe, |
| | | delStockSubscribe, |
| | | addUserPosition, |
| | | getStocksByKeyWords, |
| | | getPositionList, |
| | | } from '@/api/aishares' |
| | | import pick from 'lodash.pick' |
| | | import moment from 'moment' |
| | | import notification from 'ant-design-vue/es/notification' |
| | | import { pagination } from 'ant-design-vue' |
| | | import Vue from 'vue' |
| | | Vue.use(pagination) |
| | | export default { |
| | | name: 'Shares', |
| | | components: { |
| | | VNodes: { |
| | | functional: true, |
| | | render: (h, ctx) => ctx.props.vnodes, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: '会员ID', |
| | | dataIndex: 'userId', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '账号', |
| | | dataIndex: 'phone', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '会员真实姓名', |
| | | dataIndex: 'realName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: 'AI交易名称', |
| | | dataIndex: 'stockName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '所属市场', |
| | | dataIndex: 'stockTypeName', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'stockTypeName' }, |
| | | }, |
| | | { |
| | | title: '交易成功率(%)', |
| | | dataIndex: 'successRate', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '预期收益(%)', |
| | | dataIndex: 'expectedEarning', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '交易周期(天)', |
| | | dataIndex: 'cycle', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '买入金额', |
| | | dataIndex: 'buyAmount', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'buyAmount' }, |
| | | }, |
| | | { |
| | | title: '剩余金额', |
| | | dataIndex: 'remainAmount', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return 'MX$ ' + text |
| | | }, |
| | | }, |
| | | { |
| | | title: '买入时间', |
| | | dataIndex: 'buyDate', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return text ? moment(text).format('YYYY-MM-DD HH:mm:ss') : '' |
| | | }, |
| | | }, |
| | | { |
| | | title: '实际收益', |
| | | dataIndex: 'realEarning', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return 'MX$ ' + text |
| | | }, |
| | | }, |
| | | { |
| | | title: '状态', |
| | | dataIndex: 'status', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'status' }, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | key: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | scopedSlots: { customRender: 'action' }, |
| | | }, |
| | | ], |
| | | // 表头 |
| | | pagination: { |
| | | total: 0, |
| | | current: 1, |
| | | pageSize: 10, // 每页中显示10条数据 |
| | | showSizeChanger: true, |
| | | pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据 |
| | | onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示 |
| | | onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件 |
| | | showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据 |
| | | }, |
| | | loading: false, |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | status: '', |
| | | userId: '', |
| | | phone: '', |
| | | }, |
| | | datalist: [], |
| | | labelCol: { |
| | | xs: { span: 8 }, |
| | | sm: { span: 8 }, |
| | | md: { span: 8 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 14 }, |
| | | sm: { span: 14 }, |
| | | md: { span: 14 }, |
| | | }, |
| | | addUserform: this.$form.createForm(this), |
| | | positionform: this.$form.createForm(this), |
| | | addUserdialog: false, |
| | | addUserDialogloading: false, |
| | | positiondialog: false, |
| | | positiondialogloading: false, |
| | | fields: ['phone', 'newCode', 'applyNums', 'applyNumber', 'status'], |
| | | currentdetail: '', |
| | | positionDetail: {}, |
| | | fields2: ['id'], |
| | | creatDate: '', // 建仓时间 |
| | | coverDate: '', // 平仓时间 |
| | | stockValue: null, // 建仓股票搜索值 |
| | | stockList: [], // 建仓股票列表 |
| | | stockOpt: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | keyWords: '', |
| | | }, |
| | | stockTotal: 1, |
| | | pRecordShow: false, |
| | | rloading: false, |
| | | // 表头 |
| | | rpagination: { |
| | | total: 0, |
| | | current: 1, |
| | | pageSize: 10, // 每页中显示10条数据 |
| | | showSizeChanger: true, |
| | | pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据 |
| | | onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示 |
| | | onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件 |
| | | showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据 |
| | | }, |
| | | rcolumns: [ |
| | | { |
| | | title: '产品订单id', |
| | | dataIndex: 'stockAiOrderId', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '股票名称', |
| | | dataIndex: 'stockName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '建仓股票id', |
| | | dataIndex: 'stockId', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '建仓股票数量', |
| | | dataIndex: 'stockNum', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '建仓股票单价', |
| | | dataIndex: 'stockPrice', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '建仓时间', |
| | | dataIndex: 'creatDate', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return text ? moment(text).format('YYYY-MM-DD HH:mm:ss') : '' |
| | | }, |
| | | }, |
| | | { |
| | | title: '平仓单价', |
| | | dataIndex: 'coverPrice', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '平仓时间', |
| | | dataIndex: 'coverDate', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return text ? moment(text).format('YYYY-MM-DD HH:mm:ss') : '' |
| | | }, |
| | | }, |
| | | { |
| | | title: '收益', |
| | | dataIndex: 'earnings', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '建仓状态', |
| | | dataIndex: 'status', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'status' }, |
| | | }, |
| | | { |
| | | title: '类型', |
| | | dataIndex: 'stockType', |
| | | align: 'center', |
| | | }, |
| | | ], |
| | | rdatalist: [], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getlist() |
| | | }, |
| | | watch: { |
| | | 'stockOpt.pageNum': { |
| | | handler(val) { |
| | | this.getStockList() |
| | | }, |
| | | }, |
| | | }, |
| | | methods: { |
| | | getzhuan(val) { |
| | | var that = this |
| | | this.$confirm({ |
| | | title: '提示', |
| | | content: '确认转入持仓吗?此操作不可恢复!', |
| | | onOk() { |
| | | var data = { |
| | | id: val.id, |
| | | } |
| | | addUserPosition(data).then((res) => { |
| | | if (res.status == 0) { |
| | | that.$message.success(res.msg) |
| | | that.getlist() |
| | | } else { |
| | | that.$message.error(res.msg) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | console.log('Cancel') |
| | | }, |
| | | }) |
| | | }, |
| | | getdeleteStock(val) { |
| | | var that = this |
| | | this.$confirm({ |
| | | title: '提示', |
| | | content: '确认删除该新股吗?此操作不可恢复!', |
| | | onOk() { |
| | | var data = { |
| | | id: val.id, |
| | | } |
| | | delStockSubscribe(data).then((res) => { |
| | | if (res.status == 0) { |
| | | that.$message.success(res.msg) |
| | | that.getinit() |
| | | } else { |
| | | that.$message.error(res.msg) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | console.log('Cancel') |
| | | }, |
| | | }) |
| | | }, |
| | | geteditStock(val) { |
| | | this.currentdetail = val |
| | | this.addUserdialog = true |
| | | this.fields.forEach((v) => this.addUserform.getFieldDecorator(v)) |
| | | this.addUserform.setFieldsValue(pick(val, this.fields)) |
| | | }, |
| | | CanceladdUserdialog() { |
| | | this.addUserdialog = false |
| | | const form = this.$refs.addUserform.form |
| | | form.resetFields() |
| | | }, |
| | | OkaddUserdialog() { |
| | | const form = this.$refs.addUserform.form |
| | | form.validateFields((errors, values) => { |
| | | if (!errors) { |
| | | if (this.currentdetail != '') { |
| | | values.id = this.currentdetail.id |
| | | } |
| | | this.addUserDialogloading = true |
| | | saveStockSubscribe(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.addUserDialogloading = false |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getCreatDate(date, dateString) { |
| | | this.creatDate = dateString |
| | | }, |
| | | getCoverDate(date, dateString) { |
| | | this.coverDate = dateString |
| | | }, |
| | | // 打开建仓记录 |
| | | pRecordOpen(val) { |
| | | this.positionDetail = val |
| | | this.rpagination.current = 1 |
| | | this.pRecordShow = true |
| | | this.getpRecord() |
| | | }, |
| | | // 获取建仓记录 |
| | | async getpRecord() { |
| | | this.rloading = true |
| | | |
| | | let opt = { |
| | | pageNum: this.rpagination.current, |
| | | pageSize: this.rpagination.pageSize, |
| | | id: this.positionDetail.id, |
| | | } |
| | | |
| | | let res = await getPositionList(opt) |
| | | this.rdatalist = res.data.list |
| | | this.rpagination.total = res.data.total |
| | | this.rloading = false |
| | | }, |
| | | // 打开建仓 |
| | | openPosition(val) { |
| | | this.positiondialog = true |
| | | this.positionDetail = val |
| | | this.fields2.forEach((v) => this.positionform.getFieldDecorator(v)) |
| | | this.positionform.setFieldsValue(pick(val, this.fields2)) |
| | | }, |
| | | // 建仓 |
| | | ppenPosition() { |
| | | const form = this.$refs.positionform.form |
| | | form.validateFields((errors, values) => { |
| | | if (!errors) { |
| | | values.creatDate = this.creatDate |
| | | values.coverDate = this.coverDate |
| | | values.stockAiOrderId = this.positionDetail.id |
| | | values.stockId = this.stockValue |
| | | this.positiondialogloading = true |
| | | |
| | | openPosition(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.positiondialog = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.positiondialogloading = false |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | form.validateFields((errors, values) => { |
| | | if (!errors) { |
| | | if (this.currentdetail != '') { |
| | | values.id = this.currentdetail.id |
| | | } |
| | | this.addUserDialogloading = true |
| | | saveStockSubscribe(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.addUserDialogloading = false |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | CancelPositiondialog() { |
| | | this.positiondialog = false |
| | | const form = this.$refs.positionform.form |
| | | form.resetFields() |
| | | }, |
| | | getqueryParam() { |
| | | this.queryParam = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | status: '', |
| | | userId: '', |
| | | phone: '', |
| | | } |
| | | }, |
| | | getinit() { |
| | | this.getqueryParam() |
| | | this.pagination.current = 1 |
| | | this.getlist() |
| | | }, |
| | | getlist() { |
| | | this.loading = true |
| | | getStockAiOrderList(this.queryParam).then((res) => { |
| | | this.datalist = res.data.list |
| | | this.pagination.total = res.data.total |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | onPageChange(page, pageSize) { |
| | | this.queryParam.pageNum = page |
| | | this.pagination.current = page |
| | | this.getlist() |
| | | }, |
| | | onSizeChange(current, pageSize) { |
| | | this.queryParam.pageNum = current |
| | | this.pagination.current = page |
| | | this.queryParam.pageSize = pageSize |
| | | this.getlist() |
| | | }, |
| | | // 操作 |
| | | applicationProcedure(status, n) { |
| | | this.loading = true |
| | | |
| | | orderOperation(`?id=${n.id}&status=${status}`) |
| | | .then((res) => { |
| | | if (res.status != 0) { |
| | | notification.error({ |
| | | message: res.data.msg, |
| | | }) |
| | | return |
| | | } |
| | | this.getlist() |
| | | this.loading = false |
| | | }) |
| | | .catch((err) => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索股票列表 |
| | | handleSearch(value) { |
| | | if (timeout) { |
| | | clearTimeout(timeout) |
| | | timeout = null |
| | | } |
| | | this.stockOpt.keyWords = value |
| | | timeout = setTimeout(() => { |
| | | this.getStockList() |
| | | }, 500) |
| | | }, |
| | | getStockList() { |
| | | getStocksByKeyWords(this.stockOpt).then((res) => { |
| | | console.log('res', res) |
| | | |
| | | this.stockList = res.data.list |
| | | this.stockTotal = res.data.total |
| | | }) |
| | | }, |
| | | // 选择股票 |
| | | handleChange(value, opt) { |
| | | let item = opt.data.attrs.obj |
| | | const form = this.$refs.positionform.form |
| | | this.stockValue = value |
| | | form.setFieldsValue({ |
| | | stockPrice: item.nowPrice, // 股票价格 |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | :pagination="pagination" |
| | | :columns="columns" |
| | | :data-source="agentlist" |
| | | rowKey="id"> |
| | | <span slot="id" slot-scope="text,record"> |
| | | rowKey="id" |
| | | > |
| | | <span slot="id" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.id }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="dkJg" slot-scope="text,record"> |
| | | <span slot="dkJg" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.dkJgName }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="dkUserId" slot-scope="text,record"> |
| | | <span slot="dkUserId" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.dkUserId }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="dkUserName" slot-scope="text,record"> |
| | | <span slot="dkUserName" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.dkUserName }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="dkPhone" slot-scope="text,record"> |
| | | <span slot="dkPhone" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.dkPhone }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="createTime" slot-scope="text,record"> |
| | | <span slot="createTime" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.createTime }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <span slot="dkMoney" slot-scope="text,record"> |
| | | <span slot="dkMoney" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span>{{ record.dkMoney }}</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <!-- <span slot="dkState" slot-scope="text,record"> |
| | | <span slot="dkState" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span v-if="record.dkState==1">123</span> |
| | | <span v-if="record.dkState == 0">申请中</span> |
| | | <span v-else-if="record.dkState == 1">审批通过</span> |
| | | <span v-else-if="record.dkState == 2">审核拒绝</span> |
| | | </div> |
| | | </template> |
| | | </span> --> |
| | | <!-- <template slot="action" slot-scope="text,record"> |
| | | </span> |
| | | <span slot="dkRefundState" slot-scope="text, record"> |
| | | <template> |
| | | <div> |
| | | <span v-if="record.dkState == 0 && record.dkState == 1">未还款</span> |
| | | <span v-else-if="record.dkState == 1 && record.dkState == 1">已还款</span> |
| | | </div> |
| | | </template> |
| | | </span> |
| | | <template slot="action" slot-scope="text, record"> |
| | | <!-- <a slot="action" href="javascript:;" @click="$refs.EditAgentinfodialog.getEditorder(record)">修改机构</a> |
| | | <a-divider type="vertical" /> |
| | | <a |
| | | slot="action" |
| | | href="javascript:;" |
| | | @click="$refs.EditAgentinfodialog.getEditorder(record)">修改机构</a> |
| | | <a-divider type="vertical" /> |
| | | <a slot="action" href="javascript:;" @click="getDelagent(record)">删除机构</a> |
| | | <a slot="action" href="javascript:;" @click="getDelagent(record)">删除机构</a> --> |
| | | |
| | | </template> --> |
| | | <template v-if="record.dkState == 0"> |
| | | <a href="javascript:;" @click="byOpen(record, 1)">通过</a> |
| | | <a-divider type="vertical" /> |
| | | <a href="javascript:;" @click="byOpen(record, 2)">拒绝</a> |
| | | </template> |
| | | </template> |
| | | </a-table> |
| | | </a-card> |
| | | <!-- <editCapitalAgentdialog ref="editCapitalAgentdialog" :getinit="geteditinit"></editCapitalAgentdialog> --> |
| | | <!-- <EditAgentinfodialog ref="EditAgentinfodialog" :getinit="geteditinit"></EditAgentinfodialog> --> |
| | | <!-- <addagentdialog ref="addagentdialog" :getinit="getinit"></addagentdialog> --> |
| | | |
| | | <a-modal |
| | | :title="optObj.state == 1 ? '通过审核' : '拒绝审核'" |
| | | :width="400" |
| | | :visible="byShow" |
| | | :confirmLoading="byloading" |
| | | @ok="by" |
| | | @cancel="canceBy" |
| | | > |
| | | <a-form :form="byFrom" ref="byFrom"> |
| | | <a-form-item label="申请金额" v-if="optObj.state == 1" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <span>{{ optObj.dkMoney }}</span> |
| | | </a-form-item> |
| | | <a-form-item label="贷款金额" v-if="optObj.state == 1" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入" v-decorator="['spMoney', { rules: [{ required: true, message: '请输入' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="拒绝理由" v-if="optObj.state == 2" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入" v-decorator="['message', { rules: [{ required: true, message: '请输入' }] }]" /> |
| | | </a-form-item> |
| | | </a-form> |
| | | </a-modal> |
| | | </page-header-wrapper> |
| | | </template> |
| | | <script> |
| | | |
| | | // import editCapitalAgentdialog from './agentcomponents/editCapitalAgentdialog' |
| | | import EditAgentinfodialog from './agentcomponents/EditAgentinfodialog' |
| | | import addagentdialog from './agentcomponents/addagentdialog' |
| | | import { onedklist } from '@/api/home' |
| | | import { onedklist, dksp } from '@/api/home' |
| | | import moment from 'moment' |
| | | export default { |
| | | // name: 'AgentList', |
| | | // components: { |
| | | // // editCapitalAgentdialog, |
| | | // EditAgentinfodialog, |
| | | // addagentdialog |
| | | // }, |
| | | data () { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: 'Id', |
| | | scopedSlots: { customRender: 'id' }, |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '机构名称', |
| | | dataIndex: 'dkJgName', |
| | | align: 'center' |
| | | }, { |
| | | title: '贷款人Id', |
| | | dataIndex: 'dkUserId', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '贷款人姓名', |
| | | dataIndex: 'dkUserName', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '联系电话', |
| | | dataIndex: 'dkPhone', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '申请时间', |
| | | dataIndex: 'createTime', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return moment(text).format('YYYY-MM-DD HH:mm:ss') |
| | | } |
| | | }, { |
| | | title: '贷款金额', |
| | | dataIndex: 'dkMoney', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'dkMoney' } |
| | | } |
| | | // { |
| | | // title: '贷款状态', |
| | | // dataIndex: 'dkState', |
| | | // align: 'center', |
| | | // scopedSlots: { customRender: 'dkState' } |
| | | // }, |
| | | // { |
| | | // title: '代理手机号', |
| | | // dataIndex: 'agentPhone', |
| | | // align: 'center' |
| | | // }, |
| | | // name: 'AgentList', |
| | | // components: { |
| | | // // editCapitalAgentdialog, |
| | | // EditAgentinfodialog, |
| | | // addagentdialog |
| | | // }, |
| | | data() { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: 'Id', |
| | | scopedSlots: { customRender: 'id' }, |
| | | align: 'center', |
| | | }, |
| | | // { |
| | | // title: '机构名称', |
| | | // dataIndex: 'dkJgName', |
| | | // align: 'center' |
| | | // }, |
| | | { |
| | | title: '贷款人Id', |
| | | dataIndex: 'dkUserId', |
| | | align: 'center', |
| | | }, |
| | | // { |
| | | // title: '贷款人姓名', |
| | | // dataIndex: 'dkUserName', |
| | | // align: 'center', |
| | | // }, |
| | | { |
| | | title: '贷款人账户', |
| | | dataIndex: 'dkUserName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '联系电话', |
| | | dataIndex: 'dkPhone', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '申请时间', |
| | | dataIndex: 'createTime', |
| | | align: 'center', |
| | | customRender: (text, row, index) => { |
| | | return moment(text).format('YYYY-MM-DD HH:mm:ss') |
| | | }, |
| | | }, |
| | | { |
| | | title: '贷款金额', |
| | | dataIndex: 'dkMoney', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'dkMoney' }, |
| | | }, |
| | | { |
| | | title: '贷款状态', |
| | | dataIndex: 'dkState', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'dkState' }, |
| | | }, |
| | | { |
| | | title: '还款状态', |
| | | dataIndex: 'dkRefundState', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'dkRefundState' }, |
| | | }, |
| | | // { |
| | | // title: '代理手机号', |
| | | // dataIndex: 'agentPhone', |
| | | // align: 'center' |
| | | // }, |
| | | |
| | | // { |
| | | // title: '总资金', |
| | | // dataIndex: 'totalMoney', |
| | | // align: 'center', |
| | | // customRender: (text, row, index) => { |
| | | // return text |
| | | // } |
| | | // }, |
| | | // { |
| | | // title: '代理状态', |
| | | // dataIndex: 'isLock', |
| | | // align: 'center', |
| | | // scopedSlots: { customRender: 'isLock' } |
| | | // }, |
| | | // { |
| | | // title: '注册时间', |
| | | // dataIndex: 'addTime', |
| | | // align: 'center', |
| | | // customRender: (text, row, index) => { |
| | | // return moment(text).format('YYYY-MM-DD HH:mm:ss') |
| | | // } |
| | | // }, |
| | | // { |
| | | // title: '操作', |
| | | // key: 'action', |
| | | // align: 'center', |
| | | // scopedSlots: { customRender: 'action' } |
| | | // } |
| | | ], |
| | | // 表头 |
| | | pagination: { |
| | | total: 0, |
| | | current: 1, |
| | | pageSize: 10, // 每页中显示10条数据 |
| | | showSizeChanger: true, |
| | | pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据 |
| | | onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示 |
| | | onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件 |
| | | showTotal: total => `共有 ${total} 条数据` // 分页中显示总的数据 |
| | | }, |
| | | loading: false, |
| | | agentqueryParam: { |
| | | id: undefined, |
| | | phone: '', |
| | | realName: '', |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }, |
| | | agentloading: false, |
| | | agentlist: [], |
| | | clickagentlist: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.getagentlist() |
| | | }, |
| | | methods: { |
| | | getDelagent (val) { |
| | | var that = this |
| | | this.$confirm({ |
| | | title: '提示', |
| | | content: '确认删除机构?此操作不可恢复', |
| | | onOk () { |
| | | var data = { |
| | | id: val.id |
| | | } |
| | | dldkjg(data).then(res => { |
| | | if (res.status == 0) { |
| | | that.$message.success({ content: '删除成功', duration: 2 }) |
| | | that.getinit() |
| | | } else { |
| | | that.$message.error({ content: '删除失败' }) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel () { |
| | | console.log('Cancel') |
| | | } |
| | | }) |
| | | // { |
| | | // title: '总资金', |
| | | // dataIndex: 'totalMoney', |
| | | // align: 'center', |
| | | // customRender: (text, row, index) => { |
| | | // return text |
| | | // } |
| | | // }, |
| | | // { |
| | | // title: '代理状态', |
| | | // dataIndex: 'isLock', |
| | | // align: 'center', |
| | | // scopedSlots: { customRender: 'isLock' } |
| | | // }, |
| | | // { |
| | | // title: '注册时间', |
| | | // dataIndex: 'addTime', |
| | | // align: 'center', |
| | | // customRender: (text, row, index) => { |
| | | // return moment(text).format('YYYY-MM-DD HH:mm:ss') |
| | | // } |
| | | // }, |
| | | { |
| | | title: '操作', |
| | | key: 'action', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'action' }, |
| | | }, |
| | | getinit () { |
| | | this.queryParam = { |
| | | id: undefined, |
| | | phone: '', |
| | | realName: '', |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | } |
| | | this.pagination.current = 1 |
| | | this.getagentlist() |
| | | }, |
| | | geteditinit () { |
| | | this.getagentlist() |
| | | }, |
| | | getagentlist () { |
| | | var that = this |
| | | this.loading = true |
| | | // dklist(this.agentqueryParam).then(res => { |
| | | onedklist().then(res => { |
| | | this.agentlist = res.data |
| | | // this.pagination.total = res.data.total |
| | | setTimeout(() => { |
| | | that.loading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | getclickagentlist () { |
| | | var that = this |
| | | this.agentloading = true |
| | | var data = { |
| | | pageNum: 1, |
| | | pageSize: 100 |
| | | } |
| | | nextagent(data).then(res => { |
| | | this.clickagentlist = res.data.list |
| | | setTimeout(() => { |
| | | that.agentloading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | onPageChange (page, pageSize) { |
| | | this.agentqueryParam.pageNum = page |
| | | this.pagination.current = page |
| | | this.getagentlist() |
| | | }, |
| | | onSizeChange (current, pageSize) { |
| | | this.agentqueryParam.pageNum = current |
| | | this.pagination.current = page |
| | | this.agentqueryParam.pageSize = pageSize |
| | | this.getagentlist() |
| | | } |
| | | ], |
| | | // 表头 |
| | | pagination: { |
| | | total: 0, |
| | | current: 1, |
| | | pageSize: 10, // 每页中显示10条数据 |
| | | showSizeChanger: true, |
| | | pageSizeOptions: ['10', '20', '50', '100'], // 每页中显示的数据 |
| | | onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), // 改变每页数量时更新显示 |
| | | onChange: (page, pageSize) => this.onPageChange(page, pageSize), // 点击页码事件 |
| | | showTotal: (total) => `共有 ${total} 条数据`, // 分页中显示总的数据 |
| | | }, |
| | | loading: false, |
| | | agentqueryParam: { |
| | | id: undefined, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 8 }, |
| | | sm: { span: 8 }, |
| | | md: { span: 8 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 14 }, |
| | | sm: { span: 14 }, |
| | | md: { span: 14 }, |
| | | }, |
| | | agentloading: false, |
| | | agentlist: [], |
| | | clickagentlist: [], |
| | | byShow: false, |
| | | byloading: false, |
| | | optObj: {}, // 选择的对象 |
| | | byFrom: this.$form.createForm(this), // 表单 |
| | | } |
| | | }, |
| | | created() { |
| | | this.getagentlist() |
| | | }, |
| | | methods: { |
| | | getDelagent(val) { |
| | | var that = this |
| | | this.$confirm({ |
| | | title: '提示', |
| | | content: '确认删除机构?此操作不可恢复', |
| | | onOk() { |
| | | var data = { |
| | | id: val.id, |
| | | } |
| | | dldkjg(data).then((res) => { |
| | | if (res.status == 0) { |
| | | that.$message.success({ content: '删除成功', duration: 2 }) |
| | | that.getinit() |
| | | } else { |
| | | that.$message.error({ content: '删除失败' }) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() { |
| | | console.log('Cancel') |
| | | }, |
| | | }) |
| | | }, |
| | | getinit() { |
| | | this.agentqueryParam = { |
| | | id: undefined, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | } |
| | | this.pagination.current = 1 |
| | | this.getagentlist() |
| | | }, |
| | | geteditinit() { |
| | | this.getagentlist() |
| | | }, |
| | | getagentlist() { |
| | | var that = this |
| | | this.loading = true |
| | | onedklist(this.agentqueryParam).then((res) => { |
| | | this.agentlist = res.data.list |
| | | this.pagination.total = res.data.total |
| | | setTimeout(() => { |
| | | that.loading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | getclickagentlist() { |
| | | var that = this |
| | | this.agentloading = true |
| | | var data = { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | | } |
| | | nextagent(data).then((res) => { |
| | | this.clickagentlist = res.data.list |
| | | setTimeout(() => { |
| | | that.agentloading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | onPageChange(page, pageSize) { |
| | | this.agentqueryParam.pageNum = page |
| | | this.pagination.current = page |
| | | this.getagentlist() |
| | | }, |
| | | onSizeChange(current, pageSize) { |
| | | this.agentqueryParam.pageNum = current |
| | | this.pagination.current = page |
| | | this.agentqueryParam.pageSize = pageSize |
| | | this.getagentlist() |
| | | }, |
| | | // 审核窗口打开 |
| | | byOpen(val, state) { |
| | | this.optObj = { ...val, state } |
| | | this.byShow = true |
| | | }, |
| | | // 关闭审核窗口 |
| | | canceBy() { |
| | | this.byShow = false |
| | | const form = this.$refs.byFrom.form |
| | | form.resetFields() |
| | | }, |
| | | // 审核通过||拒绝 |
| | | by() { |
| | | const form = this.$refs.byFrom.form |
| | | |
| | | form.validateFields((errors, values) => { |
| | | if (!errors) { |
| | | this.byloading = true |
| | | values.state = this.optObj.state |
| | | values.dkId = this.optObj.id |
| | | |
| | | dksp(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.byShow = false |
| | | this.$message.success(res.msg) |
| | | form.resetFields() |
| | | this.getagentlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | | this.byloading = false |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | placeholder="请选择新股市场" |
| | | v-decorator="['stockType', { rules: [{ required: true, message: '新股市场' }] }]" |
| | | > |
| | | <a-select-option value="nse">nse</a-select-option> |
| | | <a-select-option value="bse">bse</a-select-option> |
| | | <a-select-option value="US">US</a-select-option> |
| | | <a-select-option value="MEX">MEX</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | <a-select-option :value="1">不可交易</a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | <a-form-item label="信用分" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入" v-decorator="['creditScore', {}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="贷款额度" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入" v-decorator="['loanLimit', {}]" /> |
| | | </a-form-item> |
| | | </a-form> |
| | | </a-modal> |
| | | </div> |
| | |
| | | editUserform: this.$form.createForm(this), |
| | | editUserdialog: false, |
| | | editUserDialogloading: false, |
| | | fields: ['agentId', 'phone', 'realName', 'userPwd', 'idCard', 'isLogin', 'isLock', 'fundRatio', 'lever'], |
| | | fields: [ |
| | | 'agentId', |
| | | 'phone', |
| | | 'realName', |
| | | 'userPwd', |
| | | 'idCard', |
| | | 'isLogin', |
| | | 'isLock', |
| | | 'fundRatio', |
| | | 'lever', |
| | | 'creditScore', |
| | | 'loanLimit', |
| | | ], |
| | | currentDetails: {}, |
| | | } |
| | | }, |
| | |
| | | <a-descriptions-item label="注册时间"> |
| | | {{ currentDetails.regTime | moment }} |
| | | </a-descriptions-item> |
| | | |
| | | <a-descriptions-item label="信用分"> |
| | | {{ currentDetails.creditScore ? currentDetails.creditScore : '--' }} |
| | | </a-descriptions-item> |
| | | <a-descriptions-item label="贷款额度"> |
| | | {{ currentDetails.loanLimit ? currentDetails.loanLimit : '--' }} |
| | | </a-descriptions-item> |
| | | <!-- <a-descriptions-item label="总资金(¥)"> |
| | | {{ Number(currentDetails.userAmt + currentDetails.userIndexAmt).toFixed(2) }} |
| | | </a-descriptions-item> --> |
| | |
| | | v-decorator="['accectType', { rules: [{ required: true, message: '请选择账户' }] }]" |
| | | > |
| | | <a-select-option v-for="item in activeArr" :key="item.id" :value="item.accectType"> |
| | | {{ |
| | | item | formatDate |
| | | }}</a-select-option> |
| | | {{ item | formatDate }} |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-item> |
| | | </a-form> |
| | |
| | | return `沙特(${value.symbol} ${value.availableBalance})` |
| | | case 'USDT': |
| | | return `USDT( ${value.availableBalance})` |
| | | case 'MEX': |
| | | return `MEX( ${value.availableBalance})` |
| | | default: |
| | | break |
| | | } |
| | |
| | | }, |
| | | methods: { |
| | | getEditorder(val) { |
| | | val.accectType = 'ST' |
| | | val.accectType = 'MEX' |
| | | this.currentDetails = val |
| | | this.editUserdialog = true |
| | | this.fields.forEach((v) => this.editUserform.getFieldDecorator(v)) |
| | |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="注册时间"> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 50%" |
| | | @change="getregTime" |
| | | v-model="regTime" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | </a-date-picker> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 50%" |
| | | @change="getregTime" |
| | | v-model="regTime" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | </a-date-picker> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="24"> |
| | |
| | | <a-divider type="vertical" /> |
| | | <a slot="action" href="javascript:;" @click="$refs.EditUserinfodialog.getEditorder(record)">编辑</a> |
| | | <a-divider type="vertical" /> |
| | | <!-- <a slot="action" href="javascript:;" @click="$refs.editUserbankdialog.getbankinfo(record)">银行卡</a> |
| | | <!-- <a slot="action" href="javascript:;" @click="$refs.editUserbankdialog.getbankinfo(record)">银行卡</a> |
| | | <a-divider type="vertical" /> --> |
| | | <a slot="action" href="javascript:;" @click="getMoneyzj(record)">资金</a> |
| | | <a-divider type="vertical" /> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | regTime:'', |
| | | regTime: '', |
| | | queryParam: { |
| | | agentId: undefined, |
| | | realName: '', |
| | | isLock:'', |
| | | isLogin:'', |
| | | isActive:'', |
| | | isLock: '', |
| | | isLogin: '', |
| | | isActive: '', |
| | | phone: '', |
| | | regTime:'', |
| | | regTime: '', |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | accountType: 0, |
| | |
| | | this.queryParam = { |
| | | agentId: undefined, |
| | | realName: '', |
| | | isLock:'', |
| | | isLogin:'', |
| | | isActive:'', |
| | | isLock: '', |
| | | isLogin: '', |
| | | isActive: '', |
| | | phone: '', |
| | | regTime:'', |
| | | regTime: '', |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | accountType: 0, |