| | |
| | | NODE_ENV=development |
| | | VUE_APP_PREVIEW=true |
| | | # VUE_APP_API_BASE_URL=http://www.jqydl.com:8091/ |
| | | VUE_APP_API_BASE_URL=https://api.3falcon.com/ |
| | | # VUE_APP_API_BASE_URL=http://192.168.0.101:8091/ |
| | | # VUE_APP_API_BASE_URL=https://api.3falcon.com/ |
| | | VUE_APP_API_BASE_URL=http://192.168.0.106:8091/ |
| | | # VUE_APP_API_BASE_URL=https://www.rksv.store:8091/ |
| | | # VUE_APP_API_BASE_URL=http://www.ojwuf.com:8091/ |
| | | # VUE_APP_API_BASE_URL=https://192.168.0.102:8091/ |
| | |
| | | getDzListByAdmin: '/admin/stockDz/getDzListByAdmin.do', // 大宗交易列表 |
| | | addByAdmin: '/admin/stockDz/addByAdmin.do', // 大宗交易添加 |
| | | updateByAdmin: '/admin/stockDz/updateByAdmin.do', // 大宗交易修改 |
| | | deleteByAdmin: '/admin/stockDz/deleteByAdmin.do' // 大宗交易删除 |
| | | deleteByAdmin: '/admin/stockDz/deleteByAdmin.do', // 大宗交易删除 |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {*} |
| | | */ |
| | | |
| | | export function subscribelist (parameter) { |
| | | export function subscribelist(parameter) { |
| | | return request({ |
| | | url: userApi.subscribelist, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function subscribeadd (parameter) { |
| | | export function subscribeadd(parameter) { |
| | | return request({ |
| | | url: userApi.subscribeadd, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function subscribeupdate (parameter) { |
| | | export function subscribeupdate(parameter) { |
| | | return request({ |
| | | url: userApi.subscribeupdate, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function subscribedel (parameter) { |
| | | export function subscribedel(parameter) { |
| | | return request({ |
| | | url: userApi.subscribedel, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function getStockSubscribeList (parameter) { |
| | | export function getStockSubscribeList(parameter) { |
| | | return request({ |
| | | url: userApi.getStockSubscribeList, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function saveStockSubscribe (parameter) { |
| | | export function saveStockSubscribe(parameter) { |
| | | return request({ |
| | | url: userApi.saveStockSubscribe, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function delStockSubscribe (parameter) { |
| | | export function delStockSubscribe(parameter) { |
| | | return request({ |
| | | url: userApi.delStockSubscribe, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function addUserPosition (parameter) { |
| | | export function addUserPosition(parameter) { |
| | | return request({ |
| | | url: userApi.addUserPosition, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function getDzListByAdmin (parameter) { |
| | | export function getDzListByAdmin(parameter) { |
| | | return request({ |
| | | url: userApi.getDzListByAdmin, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function addByAdmin (parameter) { |
| | | export function addByAdmin(parameter) { |
| | | return request({ |
| | | url: userApi.addByAdmin, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function updateByAdmin (parameter) { |
| | | export function updateByAdmin(parameter) { |
| | | return request({ |
| | | url: userApi.updateByAdmin, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | |
| | | export function deleteByAdmin (parameter) { |
| | | export function deleteByAdmin(parameter) { |
| | | return request({ |
| | | url: userApi.deleteByAdmin, |
| | | method: 'post', |
| | | data: qs.stringify(parameter) |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function queryStockConfig(parameter) { |
| | | return request({ |
| | | url: '/admin/stock/config/queryStockConfig.do', |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | | export function updateConfig(parameter) { |
| | | return request({ |
| | | url: '/admin/stock/config/updateConfig.do', |
| | | method: 'post', |
| | | data: qs.stringify(parameter), |
| | | }) |
| | | } |
| | |
| | | |
| | | const RouteView = { |
| | | name: 'RouteView', |
| | | render: (h) => h('router-view') |
| | | render: (h) => h('router-view'), |
| | | } |
| | | |
| | | export const asyncRouterMap = [ |
| | |
| | | path: '/dashboard/workplace', |
| | | name: 'Workplace', |
| | | component: () => import('@/views/dashboard/Workplace'), |
| | | meta: { title: 'menu.dashboard.workplace', keepAlive: true, permission: ['dashboard'] } |
| | | } |
| | | ] |
| | | meta: { title: 'menu.dashboard.workplace', keepAlive: true, permission: ['dashboard'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: '/userlist', |
| | |
| | | path: '/userlist/index', |
| | | name: 'Userlist', |
| | | component: () => import('@/views/userlist/index'), |
| | | meta: { title: '用户列表', keepAlive: true, permission: ['userlist'] } |
| | | meta: { title: '用户列表', keepAlive: true, permission: ['userlist'] }, |
| | | }, |
| | | { |
| | | path: '/userlist/agentlist', |
| | | name: 'Agentlist', |
| | | component: () => import('@/views/userlist/agentlist'), |
| | | meta: { title: '代理列表', keepAlive: true, permission: ['agentlist'] } |
| | | } |
| | | ] |
| | | meta: { title: '代理列表', keepAlive: true, permission: ['agentlist'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // path: '/allotment', |
| | |
| | | path: '/product/shares', |
| | | name: 'shares', |
| | | component: () => import('@/views/product/shares'), |
| | | meta: { title: '股票产品', keepAlive: true, permission: ['shares'] } |
| | | meta: { title: '股票产品', keepAlive: true, permission: ['shares'] }, |
| | | }, |
| | | { |
| | | path: '/product/markettrading', |
| | | name: 'markettrading', |
| | | component: () => import('@/views/product/markettrading'), |
| | | meta: { title: '盘前交易', keepAlive: true, permission: ['markettrading'] } |
| | | } |
| | | meta: { title: '盘前交易', keepAlive: true, permission: ['markettrading'] }, |
| | | }, |
| | | // { |
| | | // path: '/product/index', |
| | | // name: 'index', |
| | |
| | | // component: () => import('@/views/product/futures'), |
| | | // meta: { title: '期货产品', keepAlive: true, permission: ['futures'] } |
| | | // }, |
| | | ] |
| | | ], |
| | | }, |
| | | // 持仓管理 |
| | | { |
| | |
| | | path: '/position/financing', |
| | | name: 'financing', |
| | | component: () => import('@/views/position/financing'), |
| | | meta: { title: '持仓管理', keepAlive: true, permission: ['financing'] } |
| | | meta: { title: '持仓管理', keepAlive: true, permission: ['financing'] }, |
| | | }, |
| | | { |
| | | path: '/position/createfinancing', |
| | | name: 'createfinancing', |
| | | component: () => import('@/views/position/createFinancing'), |
| | | meta: { title: '创建股票持仓', keepAlive: true, permission: ['createfinancing'] } |
| | | } |
| | | ] |
| | | // { |
| | | // path: '/position/createfinancing', |
| | | // name: 'createfinancing', |
| | | // component: () => import('@/views/position/createFinancing'), |
| | | // meta: { title: '创建股票持仓', keepAlive: true, permission: ['createfinancing'] }, |
| | | // }, |
| | | ], |
| | | }, |
| | | // 新股管理 |
| | | { |
| | |
| | | path: '/newshares/newshareslist', |
| | | name: 'newshareslist', |
| | | component: () => import('@/views/newshares/newshareslist'), |
| | | meta: { title: '新股列表', keepAlive: true, permission: ['newshareslist'] } |
| | | meta: { title: '新股列表', keepAlive: true, permission: ['newshareslist'] }, |
| | | }, |
| | | { |
| | | path: '/newshares/newsharesrecord', |
| | | name: 'newsharesrecord', |
| | | component: () => import('@/views/newshares/newsharesrecord'), |
| | | meta: { title: '申购记录', keepAlive: true, permission: ['newsharesrecord'] } |
| | | } |
| | | // { |
| | | // path: '/newshares/dazonglist', |
| | | // name: 'dazonglist', |
| | | // component: () => import('@/views/newshares/dazonglist'), |
| | | // meta: { title: '大宗交易列表', keepAlive: true, permission: ['dazonglist'] }, |
| | | // }, |
| | | ] |
| | | meta: { title: '申购记录', keepAlive: true, permission: ['newsharesrecord'] }, |
| | | }, |
| | | { |
| | | path: '/newshares/dazonglist', |
| | | name: 'dazonglist', |
| | | component: () => import('@/views/newshares/dazonglist'), |
| | | meta: { title: '大宗交易列表', keepAlive: true, permission: ['dazonglist'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | // 资金管理 |
| | | { |
| | |
| | | path: '/capital/rechargelist', |
| | | name: 'rechargelist', |
| | | component: () => import('@/views/capital/rechargelist'), |
| | | meta: { title: '充值列表', keepAlive: true, permission: ['rechargelist'] } |
| | | meta: { title: '充值列表', keepAlive: true, permission: ['rechargelist'] }, |
| | | }, |
| | | { |
| | | path: '/capital/withdrawallist', |
| | | name: 'withdrawallist', |
| | | component: () => import('@/views/capital/withdrawallist'), |
| | | meta: { title: '提现列表', keepAlive: true, permission: ['withdrawallist'] } |
| | | } |
| | | meta: { title: '提现列表', keepAlive: true, permission: ['withdrawallist'] }, |
| | | }, |
| | | // { |
| | | // path: '/capital/fundrecords', |
| | | // name: 'fundrecords', |
| | |
| | | // component: () => import('@/views/capital/Withdrawal_channel'), |
| | | // meta: { title: '提现通道', keepAlive: true, permission: ['Withdrawal_channel'] }, |
| | | // }, |
| | | ] |
| | | ], |
| | | }, |
| | | // 日志管理 |
| | | { |
| | |
| | | path: '/logmanage/loginlog', |
| | | name: 'loginlog', |
| | | component: () => import('@/views/logmanage/loginlog'), |
| | | meta: { title: '登录日志', keepAlive: true, permission: ['loginlog'] } |
| | | } |
| | | meta: { title: '登录日志', keepAlive: true, permission: ['loginlog'] }, |
| | | }, |
| | | // { |
| | | // path: '/logmanage/smslog', |
| | | // name: 'smslog', |
| | |
| | | // component: () => import('@/views/logmanage/stationmessage'), |
| | | // meta: { title: '站内消息', keepAlive: true, permission: ['stationmessage'] }, |
| | | // }, |
| | | ] |
| | | ], |
| | | }, |
| | | |
| | | // 管理设置 |
| | |
| | | path: '/managesettings/managelist', |
| | | name: 'managelist', |
| | | component: () => import('@/views/managesettings/managelist'), |
| | | meta: { title: '管理列表', keepAlive: true, permission: ['managelist'] } |
| | | } |
| | | ] |
| | | meta: { title: '管理列表', keepAlive: true, permission: ['managelist'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | // 风控设置 |
| | | { |
| | |
| | | path: '/risksetting/productsetting', |
| | | name: 'productsetting', |
| | | component: () => import('@/views/risksetting/productsetting'), |
| | | meta: { title: '产品配置', keepAlive: true, permission: ['productsetting'] } |
| | | meta: { title: '产品配置', keepAlive: true, permission: ['productsetting'] }, |
| | | }, |
| | | { |
| | | path: '/risksetting/sharessetting', |
| | | name: 'sharessetting', |
| | | component: () => import('@/views/risksetting/sharessetting'), |
| | | meta: { title: '股票风控', keepAlive: true, permission: ['sharessetting'] } |
| | | meta: { title: '股票风控', keepAlive: true, permission: ['sharessetting'] }, |
| | | }, |
| | | { |
| | | path: '/risksetting/timelist', |
| | | name: 'timelist', |
| | | component: () => import('@/views/risksetting/timelist'), |
| | | meta: { title: '股票时间列表', keepAlive: true, permission: ['timelist'] } |
| | | } |
| | | meta: { title: '股票时间列表', keepAlive: true, permission: ['timelist'] }, |
| | | }, |
| | | // { |
| | | // path: '/risksetting/indexsetting', |
| | | // name: 'indexsetting', |
| | |
| | | // component: () => import('@/views/risksetting/spreadsetting'), |
| | | // meta: { title: '点差设置', keepAlive: true, permission: ['spreadsetting'] }, |
| | | // }, |
| | | ] |
| | | ], |
| | | }, |
| | | // 系统设置 |
| | | { |
| | |
| | | path: '/allsetting/noticesetting', |
| | | name: 'noticesetting', |
| | | component: () => import('@/views/allsetting/noticesetting'), |
| | | meta: { title: '公告设置', keepAlive: true, permission: ['noticesetting'] } |
| | | meta: { title: '公告设置', keepAlive: true, permission: ['noticesetting'] }, |
| | | }, |
| | | { |
| | | path: '/allsetting/bannersetting', |
| | | name: 'bannersetting', |
| | | component: () => import('@/views/allsetting/bannersetting'), |
| | | meta: { title: '轮播图设置', keepAlive: true, permission: ['bannersetting'] } |
| | | meta: { title: '轮播图设置', keepAlive: true, permission: ['bannersetting'] }, |
| | | }, |
| | | { |
| | | path: '/allsetting/paysetting', |
| | | name: 'paysetting', |
| | | component: () => import('@/views/allsetting/paysetting'), |
| | | meta: { title: '支付渠道设置', keepAlive: true, permission: ['paysetting'] } |
| | | } |
| | | ] |
| | | meta: { title: '支付渠道设置', keepAlive: true, permission: ['paysetting'] }, |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | // forms |
| | |
| | | path: '/account/settings/basic', |
| | | name: 'BasicSettings', |
| | | component: () => import('@/views/account/settings/BasicSetting'), |
| | | meta: { title: 'account.settings.menuMap.basic', hidden: true, permission: ['user'] } |
| | | meta: { title: 'account.settings.menuMap.basic', hidden: true, permission: ['user'] }, |
| | | }, |
| | | { |
| | | path: '/account/settings/security', |
| | |
| | | title: 'account.settings.menuMap.security', |
| | | hidden: true, |
| | | keepAlive: true, |
| | | permission: ['user'] |
| | | } |
| | | permission: ['user'], |
| | | }, |
| | | }, |
| | | { |
| | | path: '/account/settings/custom', |
| | | name: 'CustomSettings', |
| | | component: () => import('@/views/account/settings/Custom'), |
| | | meta: { title: 'account.settings.menuMap.custom', hidden: true, keepAlive: true, permission: ['user'] } |
| | | meta: { title: 'account.settings.menuMap.custom', hidden: true, keepAlive: true, permission: ['user'] }, |
| | | }, |
| | | { |
| | | path: '/account/settings/binding', |
| | |
| | | title: 'account.settings.menuMap.binding', |
| | | hidden: true, |
| | | keepAlive: true, |
| | | permission: ['user'] |
| | | } |
| | | permission: ['user'], |
| | | }, |
| | | }, |
| | | { |
| | | path: '/account/settings/notification', |
| | |
| | | title: 'account.settings.menuMap.notification', |
| | | hidden: true, |
| | | keepAlive: true, |
| | | permission: ['user'] |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/loanmanage', |
| | | redirect: '/loanmanage/index', |
| | | component: RouteView, |
| | | meta: { title: '贷款管理', icon: 'usergroup-delete', permission: ['loanmanage'] }, |
| | | children: [ |
| | | { |
| | | path: '/loanmanage/index', |
| | | name: 'Loanmanage', |
| | | component: () => import('@/views/loanmanage/index'), |
| | | meta: { title: '贷款列表', keepAlive: true, permission: ['loanmanage'] } |
| | | permission: ['user'], |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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/index', |
| | | // name: 'Loanmanage', |
| | | // component: () => import('@/views/loanmanage/index'), |
| | | // meta: { title: '贷款机构', keepAlive: true, permission: ['loanmanage'] } |
| | | // } |
| | | ] |
| | | ], |
| | | }, |
| | | { |
| | | path: '/interesttreasure', |
| | | redirect: '/interesttreasure/index', |
| | | component: RouteView, |
| | | meta: { title: '利息宝管理', icon: 'usergroup-delete', permission: ['interesttreasure'] }, |
| | | children: [ |
| | | { |
| | | path: '/interesttreasure/index', |
| | | name: 'InterestTreasure', |
| | | component: () => import('@/views/interesttreasure/index'), |
| | | meta: { title: '利息宝列表', keepAlive: true, permission: ['interesttreasure'] } |
| | | }, |
| | | { |
| | | path: '/interesttreasure/set', |
| | | name: 'set', |
| | | component: () => import('@/views/interesttreasure/set'), |
| | | meta: { title: '利息宝设置', keepAlive: true, permission: ['set'] } |
| | | } |
| | | // { |
| | | // path: '/userlist/agentlist', |
| | | // name: 'Agentlist', |
| | | // component: () => import('@/views/userlist/agentlist'), |
| | | // meta: { title: '代理列表', keepAlive: true, permission: ['agentlist'] } |
| | | // } |
| | | ] |
| | | } |
| | | // { |
| | | // path: '/loanmanage', |
| | | // redirect: '/loanmanage/index', |
| | | // component: RouteView, |
| | | // meta: { title: '贷款管理', icon: 'usergroup-delete', permission: ['loanmanage'] }, |
| | | // children: [ |
| | | // { |
| | | // path: '/loanmanage/index', |
| | | // name: 'Loanmanage', |
| | | // 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/index', |
| | | // // name: 'Loanmanage', |
| | | // // component: () => import('@/views/loanmanage/index'), |
| | | // // meta: { title: '贷款机构', keepAlive: true, permission: ['loanmanage'] } |
| | | // // } |
| | | // ] |
| | | // }, |
| | | // { |
| | | // path: '/interesttreasure', |
| | | // redirect: '/interesttreasure/index', |
| | | // component: RouteView, |
| | | // meta: { title: '利息宝管理', icon: 'usergroup-delete', permission: ['interesttreasure'] }, |
| | | // children: [ |
| | | // { |
| | | // path: '/interesttreasure/index', |
| | | // name: 'InterestTreasure', |
| | | // component: () => import('@/views/interesttreasure/index'), |
| | | // meta: { title: '利息宝列表', keepAlive: true, permission: ['interesttreasure'] } |
| | | // }, |
| | | // { |
| | | // path: '/interesttreasure/set', |
| | | // name: 'set', |
| | | // component: () => import('@/views/interesttreasure/set'), |
| | | // meta: { title: '利息宝设置', keepAlive: true, permission: ['set'] } |
| | | // } |
| | | // // { |
| | | // // path: '/userlist/agentlist', |
| | | // // name: 'Agentlist', |
| | | // // component: () => import('@/views/userlist/agentlist'), |
| | | // // meta: { title: '代理列表', keepAlive: true, permission: ['agentlist'] } |
| | | // // } |
| | | // ] |
| | | // } |
| | | // other |
| | | /* |
| | | { |
| | |
| | | } |
| | | ] |
| | | } */ |
| | | ] |
| | | ], |
| | | }, |
| | | { |
| | | path: '*', |
| | | redirect: '/404', |
| | | hidden: true |
| | | } |
| | | hidden: true, |
| | | }, |
| | | ] |
| | | |
| | | /** |
| | |
| | | { |
| | | path: 'login', |
| | | name: 'login', |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login') |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login'), |
| | | }, |
| | | { |
| | | path: 'register', |
| | | name: 'register', |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register') |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/Register'), |
| | | }, |
| | | { |
| | | path: 'register-result', |
| | | name: 'registerResult', |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult') |
| | | component: () => import(/* webpackChunkName: "user" */ '@/views/user/RegisterResult'), |
| | | }, |
| | | { |
| | | path: 'recover', |
| | | name: 'recover', |
| | | component: undefined |
| | | } |
| | | ] |
| | | component: undefined, |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | path: '/404', |
| | | component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404') |
| | | } |
| | | component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'), |
| | | }, |
| | | ] |
| | |
| | | }, |
| | | { |
| | | title: '新股代码', |
| | | dataIndex: 'stockCode', |
| | | dataIndex: 'stockSpell', |
| | | align: 'center', |
| | | }, |
| | | { |
| | |
| | | this.loading = true |
| | | getDzListByAdmin(this.queryParam).then((res) => { |
| | | this.datalist = res.data |
| | | // this.pagination.total = res.data.total |
| | | this.pagination.total = res.data.total |
| | | this.loading = false |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | onSizeChange(current, pageSize) { |
| | | this.queryParam.pageNum = current |
| | | this.pagination.current = page |
| | | |
| | | this.queryParam.pageSize = pageSize |
| | | this.getlist() |
| | | }, |
| | |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="股票类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-item label="显示状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select |
| | | placeholder="请选择股票类型" |
| | | v-decorator="['stockType', { rules: [{ required: true, message: '请选择股票类型' }] }]" |
| | | placeholder="请选择显示状态" |
| | | v-decorator="['zt', { 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="0">显示</a-select-option> |
| | | <a-select-option :value="1">隐藏</a-select-option> |
| | | </a-select> |
| | | </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="['zt', { rules: [{ required: true, message: '请选择显示状态' }] }]" |
| | | <a-form-item label="认缴时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 100%" |
| | | @change="getsubscriptionTime" |
| | | v-decorator="['subscriptionTime', { rules: [{ required: true, message: '请填写认缴时间' }] }]" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | <a-select-option :value="0">显示</a-select-option> |
| | | <a-select-option :value="1">隐藏</a-select-option> |
| | | </a-select> |
| | | </a-date-picker> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | |
| | | </a-row> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="12" :lg="12" :sm="12"> |
| | | <a-form-item label="认缴时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-item label="上市时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-date-picker |
| | | show-time |
| | | style="width: 100%" |
| | | @change="getsubscriptionTime" |
| | | v-decorator="['subscriptionTime', { rules: [{ required: true, message: '请填写认缴时间' }] }]" |
| | | @change="getlistDate" |
| | | v-decorator="['listDate', { rules: [{ required: true, message: '请填写上市时间' }] }]" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | > |
| | | </a-date-picker> |
| | |
| | | currentdetail: '', |
| | | subscribeTime: '', |
| | | subscriptionTime: '', |
| | | listDate: '', |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | getsubscribeTime(date, dateString) { |
| | | this.subscribeTime = dateString |
| | | }, |
| | | getlistDate(date, dateString) { |
| | | this.listDate = dateString |
| | | }, |
| | | getsubscriptionTime(date, dateString) { |
| | | this.subscriptionTime = dateString |
| | | }, |
| | |
| | | subscriptionTime: moment(val.subscriptionTime ? val.subscriptionTime : currentTime).format( |
| | | 'YYYY-MM-DD HH:mm:ss' |
| | | ), |
| | | }) |
| | | this.addUserform.setFieldsValue({ |
| | | listDate: moment(val.listDate ? val.listDate : currentTime).format('YYYY-MM-DD HH:mm:ss'), |
| | | }) |
| | | this.addUserform.setFieldsValue({ |
| | | subscribeTime: moment(val.subscribeTime ? val.subscribeTime : currentTime).format('YYYY-MM-DD HH:mm:ss'), |
| | |
| | | values.newlistId = this.currentdetail.newlistId |
| | | values.subscriptionTime = this.subscriptionTime |
| | | values.subscribeTime = this.subscribeTime |
| | | values.listDate = this.listDate |
| | | subscribeupdate(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | |
| | | this.addUserDialogloading = true |
| | | values.subscriptionTime = this.subscriptionTime |
| | | values.subscribeTime = this.subscribeTime |
| | | values.listDate = this.listDate |
| | | subscribeadd(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | |
| | | </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-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="持仓订单号"> |
| | | <a-input v-model="queryParam.positionSn" style="width: 100%" placeholder="请输入持仓订单号" /> |
| | | </a-form-item> |
| | |
| | | agentId: undefined, |
| | | userId: '', |
| | | positionSn: '', |
| | | phone: '', |
| | | |
| | | state: 1, |
| | | beginTime: '', |
| | | endTime: '', |
| | |
| | | agentId: undefined, |
| | | userId: '', |
| | | positionSn: '', |
| | | phone: '', |
| | | state: 1, |
| | | beginTime: '', |
| | | endTime: '', |
| | |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | positionType: '', |
| | | phone: '', |
| | | agentId: undefined, |
| | | userId: '', |
| | | positionSn: '', |
| | |
| | | </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-col :md="12" :lg="6" :sm="24"> |
| | | <a-form-item label="持仓订单号"> |
| | | <a-input v-model="queryParam.positionSn" style="width: 100%" placeholder="请输入持仓订单号" /> |
| | | </a-form-item> |
| | |
| | | userId: '', |
| | | positionSn: '', |
| | | state: 0, |
| | | phone: '', |
| | | }, |
| | | datalist: [], |
| | | agentlist: [], |
| | |
| | | userId: '', |
| | | positionSn: '', |
| | | state: 0, |
| | | phone: '', |
| | | } |
| | | this.getlist() |
| | | }, |
| | |
| | | userId: '', |
| | | positionSn: '', |
| | | state: 0, |
| | | phone: '', |
| | | } |
| | | }, |
| | | getagentlist() { |
| | |
| | | <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.stockPlate" placeholder="请选择股票类型"> |
| | | <a-select-option :value="'A股'">股票</a-select-option> |
| | | <a-select-option :value="'科创'">科创</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.stockType" placeholder="请选择显示状态"> |
| | | <a-select-option value="sh">沪股</a-select-option> |
| | | <a-select-option value="sz">深股</a-select-option> |
| | | <a-select-option value="bj">京股</a-select-option> |
| | | <a-select-option value="hk">港股</a-select-option> |
| | | <a-select-option value="us">美股</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.lockState" placeholder="请选择锁定状态"> |
| | |
| | | @click=";(queryParam.pageNum = 1), (pagination.current = 1), getlist()" |
| | | >查询 |
| | | </a-button> |
| | | |
| | | <!-- <a-button |
| | | type="primary" |
| | | icon="plus" |
| | | style="margin-left: 8px" |
| | | @click="addUserdialog = true"> |
| | | 添加股票</a-button> --> |
| | | </span> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | <template> |
| | | <div> |
| | | <span style="margin-right: 10px">{{ record.stockName }}</span> |
| | | <a-tag color="green">{{ record.stockCode }} </a-tag> |
| | | <a-tag color="green">{{ record.stockSpell }} </a-tag> |
| | | </div> |
| | | |
| | | <!-- stockSpell --> |
| | | </template> |
| | | </span> |
| | | <span slot="stockType" slot-scope="text, record"> |
| | |
| | | <a-form-item label="股票代码" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input |
| | | placeholder="请输入股票代码" |
| | | v-decorator="['stockCode', { rules: [{ required: true, message: '请输入股票代码' }] }]" |
| | | v-decorator="['stockSpell', { rules: [{ required: true, message: '请输入股票代码' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item label="股票类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | |
| | | <template> |
| | | <page-header-wrapper> |
| | | <a-form :form="addUserform" class="form" ref="addUserform"> |
| | | <a-card class="card" title="A股" :bordered="false" :loading="loading"> |
| | | <!-- <a-card class="card" title="A股" :bordered="false" :loading="loading"> |
| | | <span slot="extra">状态为开启即表示用户可以进行该产品的交易</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="8" :lg="8" :sm="12"> |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | </a-card> --> |
| | | <!-- <a-card class="card" title="期货" :bordered="false" :loading="loading"> --> |
| | | <!-- <span slot="extra">状态为开启即表示用户可以进行该产品的交易</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | |
| | | <template> |
| | | <page-header-wrapper> |
| | | <a-form :form="addUserform" class="form" ref="addUserform"> |
| | | <a-card class="card" title="时间设置" :bordered="false" :loading="loading"> |
| | | <span slot="extra">填写规则请按照括号中的示例填写,":"统一为英文中的字符,提现时间为24小时制,请填写整数</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="上午开始交易时间(例:9:30)"> |
| | | <a-input |
| | | placeholder="请输入上午开始交易时间" |
| | | v-decorator="['transAmBegin', { rules: [{ required: true, message: '请输入上午开始交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="上午结束交易时间(例:10:30)"> |
| | | <a-input |
| | | placeholder="请输入上午结束交易时间" |
| | | v-decorator="['transAmEnd', { rules: [{ required: true, message: '请输入上午结束交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="下午开始交易时间(例:13:30)"> |
| | | <a-input |
| | | placeholder="请输入下午开始交易时间" |
| | | v-decorator="['transPmBegin', { rules: [{ required: true, message: '请输入下午开始交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="下午结束交易时间(例:15:00)"> |
| | | <a-input |
| | | placeholder="请输入下午结束交易时间" |
| | | v-decorator="['transPmEnd', { rules: [{ required: true, message: '请输入下午结束交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易 上午开始交易时间(例:9:30)"> |
| | | <a-input |
| | | placeholder="请输入上午开始交易时间" |
| | | v-decorator="['transAmBeginUs', { rules: [{ required: true, message: '请输入上午开始交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易 上午结束交易时间(例:10:30)"> |
| | | <a-input |
| | | placeholder="请输入上午结束交易时间" |
| | | v-decorator="['transAmEndUs', { rules: [{ required: true, message: '请输入上午结束交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易 下午开始交易时间(例:13:30)"> |
| | | <a-input |
| | | placeholder="请输入下午开始交易时间" |
| | | v-decorator="['transPmBeginUs', { rules: [{ required: true, message: '请输入下午开始交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易 下午结束交易时间(例:15:00)"> |
| | | <a-input |
| | | placeholder="请输入下午结束交易时间" |
| | | v-decorator="['transPmEndUs', { rules: [{ required: true, message: '请输入下午结束交易时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <!-- <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="港股上午开始交易时间(例:9:30)"> |
| | | <a-input |
| | | placeholder="请输入上午开始交易时间" |
| | | v-decorator="['transAmBeginhk', { rules: [{ required: true, message: '请输入上午开始交易时间', }] }]" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="港股上午结束交易时间(例:10:30)"> |
| | | <a-input |
| | | placeholder="请输入上午结束交易时间" |
| | | v-decorator="['transAmEndhk', { rules: [{ required: true, message: '请输入上午结束交易时间', }] }]" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="港股下午开始交易时间(例:13:30)"> |
| | | <a-input |
| | | placeholder="请输入下午开始交易时间" |
| | | v-decorator="['transPmBeginhk', { rules: [{ required: true, message: '请输入下午开始交易时间', }] }]" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="港股下午结束交易时间(例:15:00)"> |
| | | <a-input |
| | | placeholder="请输入下午结束交易时间" |
| | | v-decorator="['transPmEndhk', { rules: [{ required: true, message: '请输入下午结束交易时间', }] }]" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> --> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="提现开始时间(例:9)"> |
| | | <a-input |
| | | placeholder="请输入提现开始时间" |
| | | v-decorator="['withTimeBegin', { rules: [{ required: true, message: '请输入提现开始时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="提现结束时间(例:18)"> |
| | | <a-input |
| | | placeholder="请输入提现结束时间" |
| | | v-decorator="['withTimeEnd', { rules: [{ required: true, message: '请输入提现结束时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | <a-card class="card" title="费用设置" :bordered="false" :loading="loading"> |
| | | <span slot="extra">请按照括号中的示例填写</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="买入手续费(例:0.001)"> |
| | | <a-input |
| | | placeholder="请输入买入手续费" |
| | | v-decorator="['buyFee', { rules: [{ required: true, message: '请输入买入手续费' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="卖出手续费(例:0.001)"> |
| | | <a-input |
| | | placeholder="请输入卖出手续费" |
| | | v-decorator="['sellFee', { rules: [{ required: true, message: '请输入卖出手续费' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="留仓费(例:0.001)"> |
| | | <a-input |
| | | placeholder="请输入留仓费" |
| | | v-decorator="['stayFee', { rules: [{ required: true, message: '请输入留仓费' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="印花税(例:0.001)"> |
| | | <a-input |
| | | placeholder="请输入印花税" |
| | | v-decorator="['dutyFee', { rules: [{ required: true, message: '请输入印花税' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | <a-card class="card" title="购买设置" :bordered="false" :loading="loading"> |
| | | <span slot="extra">请按照括号中的示例填写</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最小购买金额(例:1000)"> |
| | | <a-input |
| | | placeholder="请输入最小购买金额" |
| | | v-decorator="['buyMinAmt', { rules: [{ required: true, message: '请输入最小购买金额' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最大买入比例(例:0.8)"> |
| | | <a-input |
| | | placeholder="请输入最大买入比例" |
| | | v-decorator="['buyMaxAmtPercent', { rules: [{ required: true, message: '请输入最大买入比例' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最小购买股数(例:5000)"> |
| | | <a-input |
| | | placeholder="请输入最小购买股数" |
| | | v-decorator="['buyMinNum', { rules: [{ required: true, message: '请输入最小购买股数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最大买入股数(例:1000000)"> |
| | | <a-input |
| | | placeholder="请输入最大买入股数" |
| | | v-decorator="['buyMaxNum', { rules: [{ required: true, message: '请输入最大买入股数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="杠杆倍数(例:100/50/30)"> |
| | | <a-input |
| | | placeholder="请输入杠杆倍数" |
| | | v-decorator="['siteLever', { rules: [{ required: true, message: '请输入杠杆倍数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="买入多长时间内不能平仓/分钟(例:30)"> |
| | | <a-input-number |
| | | placeholder="请输入时间" |
| | | style="width: 100%" |
| | | v-decorator="['cantSellTimes', { rules: [{ required: true, message: '请输入时间' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="VIP抢筹密钥"> |
| | | <a-input |
| | | placeholder="请输入VIP抢筹密钥" |
| | | v-decorator="['vipPassword', { rules: [{ required: true, message: '请输入VIP抢筹密钥' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易赠送比例"> |
| | | <a-input |
| | | type="number" |
| | | @mousewheel.native.prevent |
| | | @DOMMouseScroll.native.prevent |
| | | placeholder="请输入大宗交易赠送比例" |
| | | v-decorator="['dzSongP', { rules: [{ required: true, message: '请输入大宗交易赠送比例' }] }]" |
| | | @keydown.native="handleInputlimit" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="大宗交易最低"> |
| | | <a-input |
| | | type="number" |
| | | @mousewheel.native.prevent |
| | | @DOMMouseScroll.native.prevent |
| | | placeholder="请输入大宗交易最低" |
| | | v-decorator="['dzMinByCount', { rules: [{ required: true, message: '请输入大宗交易最低' }] }]" |
| | | @keydown.native="handleInputlimit" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="24" :lg="24" :sm="24"> |
| | | <a-form-item label="设置多少分钟内同一只股票不得下单多少次(同一用户)"> |
| | | <a-input-number |
| | | placeholder="请输入分钟数" |
| | | style="width: 300px" |
| | | v-decorator="['buySameTimes', { rules: [{ required: true, message: '请输入分钟数' }] }]" |
| | | /> |
| | | 分钟内同一只股票不得下单 |
| | | <a-input-number |
| | | placeholder="请输入下单次数" |
| | | style="width: 300px" |
| | | v-decorator="['buySameNums', { rules: [{ required: true, message: '请输入下单次数' }] }]" |
| | | /> |
| | | 次 |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="24" :lg="24" :sm="24"> |
| | | <a-form-item label="设置多少分钟内交易手数不得超过多少手(同一用户)"> |
| | | <a-input-number |
| | | placeholder="请输入分钟数" |
| | | style="width: 300px" |
| | | v-decorator="['buyNumTimes', { rules: [{ required: true, message: '请输入分钟数' }] }]" |
| | | /> |
| | | 分钟内交易手数不得超过 |
| | | <a-input-number |
| | | placeholder="请输入下单手数" |
| | | style="width: 300px" |
| | | v-decorator="['buyNumLots', { rules: [{ required: true, message: '请输入下单手数' }] }]" |
| | | /> |
| | | 手 |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="24" :lg="24" :sm="24"> |
| | | <a-form-item label="同一股票连续 x 天 内涨幅超过 y 不能买入(同一用户)"> |
| | | 同一股票连续 |
| | | <a-input-number |
| | | placeholder="请输入天数" |
| | | style="width: 300px" |
| | | v-decorator="['stockDays', { rules: [{ required: true, message: '请输入天数' }] }]" |
| | | /> |
| | | 天 内涨幅超过 |
| | | <a-input-number |
| | | placeholder="请输入下单次数" |
| | | style="width: 300px" |
| | | v-decorator="['stockRate', { rules: [{ required: true, message: '请输入下单次数' }] }]" |
| | | /> |
| | | 次不能买入(同一用户) |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="A股超过多少个点不能买入(例:7)"> |
| | | <a-input-number |
| | | placeholder="请输入点数" |
| | | style="width: 300px" |
| | | v-decorator="['creaseMaxPercent', { rules: [{ required: true, message: '请输入点数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="科创板超过多少个点不能买入(例:7)"> |
| | | <a-input-number |
| | | placeholder="请输入点数" |
| | | style="width: 300px" |
| | | v-decorator="['kcCreaseMaxPercent', { rules: [{ required: true, message: '请输入点数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | |
| | | <a-card class="card" title="强制平仓设置" :bordered="false" :loading="loading"> |
| | | <span slot="extra" |
| | | >请按照括号中的示例填写,比例均采用小数来表示 强制平仓线计算规则:可用资金 + |
| | | (冻结保证金 * 强制平仓比例)</span |
| | | > |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="强制平仓比例(例:0.7)"> |
| | | <a-input |
| | | placeholder="请输入强制平仓比例" |
| | | v-decorator="['forceStopPercent', { rules: [{ required: true, message: '请输入强制平仓比例' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="连续涨停强制平仓(例:0.2)"> |
| | | <a-input |
| | | placeholder="请输入连续涨停强制平仓比例" |
| | | v-decorator="['hightAndLow', { rules: [{ required: true, message: '请输入连续涨停强制平仓比例' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最大留仓天数(例:15)"> |
| | | <a-input |
| | | placeholder="请输入最大留仓天数" |
| | | v-decorator="['stayMaxDays', { rules: [{ required: true, message: '请输入最大留仓天数' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="强制平仓手续费(例:0.001)"> |
| | | <a-input |
| | | placeholder="请输入强制平仓手续费" |
| | | v-decorator="['forceStopFee', { rules: [{ required: true, message: '请输入强制平仓手续费' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="强制平仓提醒比例(例:0.5)"> |
| | | <a-input |
| | | placeholder="请输入强制平仓提醒比例" |
| | | v-decorator="[ |
| | | 'forceStopRemindRatio', |
| | | { rules: [{ required: true, message: '请输入强制平仓提醒比例' }] }, |
| | | ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | |
| | | <a-card class="card" title="充值提现设置" :bordered="false" :loading="loading"> |
| | | <span slot="extra">请按照括号中的示例填写,比例均采用小数来表示</span> |
| | | <a-row class="form-row" :gutter="48"> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最小充值金额(例:1000)"> |
| | | <a-input |
| | | placeholder="请输入最小充值金额" |
| | | v-decorator="['chargeMinAmt', { rules: [{ required: true, message: '请输入最小充值金额' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="最小提现金额(例:1000)"> |
| | | <a-input |
| | | placeholder="请输入最小提现金额" |
| | | v-decorator="['withMinAmt', { rules: [{ required: true, message: '请输入最小提现金额' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="提现单笔手续费(例:5)"> |
| | | <a-input |
| | | placeholder="请输入提现单笔手续费" |
| | | v-decorator="['withFeeSingle', { rules: [{ required: true, message: '请输入提现单笔手续费' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="提现手续费百分比(例:0.005)"> |
| | | <a-input |
| | | placeholder="请输入提现手续费百分比" |
| | | v-decorator="['withFeePercent', { rules: [{ required: true, message: '请输入提现手续费百分比' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="提现通道设置"> |
| | | <a-input |
| | | placeholder="提现通道设置" |
| | | v-decorator="['withdraw', { rules: [{ required: true, message: '请输入提现手续费百分比' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="12" :lg="6" :sm="12"> |
| | | <a-form-item label="汇率设置(美元)"> |
| | | <a-input |
| | | placeholder="请输入汇率设置" |
| | | v-decorator="['exchangeRate', { rules: [{ required: true, message: '请输入汇率设置' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-card> |
| | | </a-form> |
| | | <div class="bottomfixed"> |
| | | <div style="float: right"> |
| | | <a-button type="primary" @click="OkaddUserdialog" :loading="addUserDialogloading"> 保存当前设置 </a-button> |
| | | <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-input v-model="queryParam.cDesc" style="width: 100%" placeholder="请输入描述" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <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="getlist()">查询 </a-button> |
| | | </span> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </div> |
| | | </a-card> |
| | | |
| | | <a-card :bordered="false"> |
| | | <a-table bordered :loading="loading" :columns="columns" :data-source="datalist" rowKey="id"> |
| | | <template slot="cValue" slot-scope="text, record"> |
| | | <div v-if="record.cValueType === 'bool'">{{ text === '1' ? '开启' : '关闭' }}</div> |
| | | <div v-else>{{ text }}</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="'修改记录'" |
| | | :width="700" |
| | | :visible="addUserdialog" |
| | | :confirmLoading="addUserDialogloading" |
| | | @ok="OkaddUserdialog" |
| | | @cancel="CanceladdUserdialog" |
| | | > |
| | | <a-form :form="addUserform" ref="addUserform"> |
| | | <a-form-item label="id" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input disabled v-decorator="['id']" /> |
| | | </a-form-item> |
| | | |
| | | <a-form-item |
| | | v-if="currentdetail.cValueType !== 'bool'" |
| | | label="值" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | placeholder="请输入值" |
| | | v-decorator="['cValue', { rules: [{ required: true, message: '请输入值' }] }]" |
| | | /> |
| | | </a-form-item> |
| | | <a-form-item v-else label="值" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-radio-group |
| | | v-decorator="['cValue', { rules: [{ required: true, message: '请输入值' }] }]" |
| | | name="radioGroup" |
| | | > |
| | | <a-radio value="1">开启</a-radio> |
| | | <a-radio value="0">关闭</a-radio> |
| | | </a-radio-group> |
| | | </a-form-item> |
| | | <a-form-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input disabled placeholder="cDesc" v-decorator="['cDesc']" /> |
| | | </a-form-item> |
| | | <a-form-item v-show="false" label="key" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input disabled placeholder="cKey" v-decorator="['cKey']" /> |
| | | </a-form-item> |
| | | <a-form-item v-show="false" label="key" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input disabled placeholder="cValueType" v-decorator="['cValueType']" /> |
| | | </a-form-item> |
| | | </a-form> |
| | | </a-modal> |
| | | </page-header-wrapper> |
| | | </template> |
| | | <script> |
| | | import { admingetSetting, setupdate } from '@/api/risksetting' |
| | | import { queryStockConfig, updateConfig } from '@/api/newshares' |
| | | import pick from 'lodash.pick' |
| | | export default { |
| | | name: 'Sharessetting', |
| | | name: 'Shares', |
| | | data() { |
| | | return { |
| | | addUserform: this.$form.createForm(this), |
| | | loading: false, |
| | | fields: [ |
| | | 'buyFee', |
| | | 'sellFee', |
| | | 'stayFee', |
| | | 'dutyFee', |
| | | 'stayMaxDays', |
| | | 'buyMinAmt', |
| | | 'chargeMinAmt', |
| | | 'buyMinNum', |
| | | 'forceStopFee', |
| | | 'buyMaxAmtPercent', |
| | | 'forceStopPercent', |
| | | 'hightAndLow', |
| | | 'withMinAmt', |
| | | 'creaseMaxPercent', |
| | | 'kcCreaseMaxPercent', |
| | | 'buyMaxNum', |
| | | 'cantSellTimes', |
| | | 'buySameTimes', |
| | | 'buySameNums', |
| | | 'buyNumTimes', |
| | | 'buyNumLots', |
| | | 'stockDays', |
| | | 'stockRate', |
| | | 'withTimeBegin', |
| | | 'withTimeEnd', |
| | | 'transAmBegin', |
| | | 'transAmEnd', |
| | | 'transPmBegin', |
| | | 'transPmEnd', |
| | | 'transAmBeginUs', |
| | | 'transAmEndUs', |
| | | 'transPmBeginUs', |
| | | 'transPmEndUs', |
| | | 'transAmBeginhk', |
| | | 'transAmEndhk', |
| | | 'transPmBeginhk', |
| | | 'transPmEndhk', |
| | | 'withdraw', |
| | | 'exchangeRate', |
| | | 'withFeeSingle', |
| | | 'withFeePercent', |
| | | 'siteLever', |
| | | 'forceStopRemindRatio', |
| | | 'vipPassword', |
| | | 'dzSongP', |
| | | 'dzMinByCount', |
| | | columns: [ |
| | | { |
| | | title: 'ID', |
| | | dataIndex: 'id', |
| | | align: 'center', |
| | | }, |
| | | |
| | | { |
| | | title: '值', |
| | | dataIndex: 'cValue', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'cValue' }, |
| | | }, |
| | | { |
| | | title: '描述', |
| | | dataIndex: 'cDesc', |
| | | align: 'center', |
| | | }, |
| | | |
| | | { |
| | | title: '操作', |
| | | key: 'action', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'action' }, |
| | | }, |
| | | ], |
| | | // 表头 |
| | | |
| | | loading: false, |
| | | queryParam: { |
| | | cDesc: '', |
| | | }, |
| | | datalist: [], |
| | | labelCol: { |
| | | xs: { span: 10 }, |
| | | sm: { span: 10 }, |
| | | md: { span: 10 }, |
| | | 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, |
| | | details: {}, |
| | | fields: ['id', 'cValue', 'cDesc', 'cKey', 'status', 'cValueType'], |
| | | currentdetail: {}, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getdetail() |
| | | created() { |
| | | this.getlist() |
| | | }, |
| | | methods: { |
| | | // 禁止输入e, - |
| | | handleInputlimit(e) { |
| | | if (e.key === 'e' || e.key === '-') { |
| | | e.returnValue = false |
| | | return false |
| | | } |
| | | return true |
| | | 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) { |
| | | this.addUserDialogloading = true |
| | | this.loading = true |
| | | values.id = this.details.id |
| | | setupdate(values).then((res) => { |
| | | if (res.status === 0) { |
| | | updateConfig(values).then((res) => { |
| | | if (res.status == 0) { |
| | | this.addUserdialog = false |
| | | this.$message.success(res.msg) |
| | | this.getdetail() |
| | | form.resetFields() |
| | | this.getlist() |
| | | } else { |
| | | this.$message.error(res.msg) |
| | | } |
| | |
| | | } |
| | | }) |
| | | }, |
| | | getdetail() { |
| | | var that = this |
| | | getqueryParam() { |
| | | this.queryParam = { |
| | | cDesc: '', |
| | | } |
| | | }, |
| | | |
| | | getlist() { |
| | | this.loading = true |
| | | admingetSetting().then((res) => { |
| | | this.details = res.data |
| | | this.fields.forEach((v) => this.addUserform.getFieldDecorator(v)) |
| | | this.addUserform.setFieldsValue(pick(res.data, this.fields)) |
| | | setTimeout(() => { |
| | | that.loading = false |
| | | }, 500) |
| | | queryStockConfig(this.queryParam).then((res) => { |
| | | this.datalist = res.data |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | <style lang="less" scoped> |
| | | input::-webkit-outer-spin-button, |
| | | input::-webkit-inner-spin-button { |
| | | -webkit-appearance: none; |
| | | } |
| | | input[type='number'] { |
| | | -moz-appearance: textfield; |
| | | } |
| | | form .ant-input-number-handler-wrap { |
| | | display: none; |
| | | } |
| | | .bottomfixed { |
| | | position: fixed; |
| | | right: 0; |
| | | bottom: 0; |
| | | z-index: 9; |
| | | width: 100%; |
| | | height: 56px; |
| | | padding: 0 24px; |
| | | line-height: 56px; |
| | | background: #fff; |
| | | border-top: 1px solid #e8e8e8; |
| | | } |
| | | |
| | | .card { |
| | | margin-bottom: 24px; |
| | | } |
| | | |
| | | /deep/ .ant-pro-global-footer { |
| | | margin: 0 0 48px 0 !important; |
| | | } |
| | | |
| | | .popover-wrapper { |
| | | :deep(.antd-pro-pages-forms-style-errorPopover .ant-popover-inner-content) { |
| | | min-width: 256px; |
| | | max-height: 290px; |
| | | padding: 0; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | |
| | | .antd-pro-pages-forms-style-errorIcon { |
| | | user-select: none; |
| | | margin-right: 24px; |
| | | color: #f5222d; |
| | | cursor: pointer; |
| | | |
| | | i { |
| | | margin-right: 4px; |
| | | } |
| | | } |
| | | |
| | | .antd-pro-pages-forms-style-errorListItem { |
| | | padding: 8px 16px; |
| | | list-style: none; |
| | | border-bottom: 1px solid #e8e8e8; |
| | | cursor: pointer; |
| | | transition: all 0.3s; |
| | | |
| | | &:hover { |
| | | background: #e6f7ff; |
| | | } |
| | | |
| | | .antd-pro-pages-forms-style-errorIcon { |
| | | float: left; |
| | | margin-top: 4px; |
| | | margin-right: 12px; |
| | | padding-bottom: 22px; |
| | | color: #f5222d; |
| | | } |
| | | |
| | | .antd-pro-pages-forms-style-errorField { |
| | | margin-top: 2px; |
| | | color: rgba(0, 0, 0, 0.45); |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <a-input placeholder="请输入用户名" v-decorator="['realName', {}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="密码" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入密码" v-decorator="['pwd', {}]" /> |
| | | <a-input placeholder="请输入密码" v-decorator="['userPwd', {}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="身份证号码" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-input placeholder="请输入身份证号码" v-decorator="['idCard', {}]" /> |
| | |
| | | editUserform: this.$form.createForm(this), |
| | | editUserdialog: false, |
| | | editUserDialogloading: false, |
| | | fields: ['agentId', 'phone', 'realName', 'pwd', 'idCard', 'isLogin', 'isLock'], |
| | | fields: ['agentId', 'phone', 'realName', 'userPwd', 'idCard', 'isLogin', 'isLock'], |
| | | currentDetails: {}, |
| | | } |
| | | }, |
| | | methods: { |
| | | getEditorder(val) { |
| | | delete val.userPwd |
| | | this.currentDetails = val |
| | | this.editUserdialog = true |
| | | this.fields.forEach((v) => this.editUserform.getFieldDecorator(v)) |