|
|
@@ -0,0 +1,207 @@
|
|
|
+<template>
|
|
|
+ <!-- 修改交易用户 -->
|
|
|
+ <a-modal class="commonModal add-traders"
|
|
|
+ title="修改交易用户"
|
|
|
+ v-model:visible="visible"
|
|
|
+ @cancel="cancel"
|
|
|
+ centered
|
|
|
+ :maskClosable="false"
|
|
|
+ width="890px">
|
|
|
+ <template #footer>
|
|
|
+ <a-button key="submit"
|
|
|
+ type="primary"
|
|
|
+ :loading="loading"
|
|
|
+ @click="submit">完成</a-button>
|
|
|
+ </template>
|
|
|
+ <a-form class="inlineForm"
|
|
|
+ ref="formRef"
|
|
|
+ :model="formState"
|
|
|
+ :rules="rules">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="用户名称"
|
|
|
+ name="rolename">
|
|
|
+ <a-input class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.rolename"
|
|
|
+ placeholder="请输入账户名称" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="手机号码"
|
|
|
+ name="mobile">
|
|
|
+ <a-input class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.mobile"
|
|
|
+ placeholder="请输入登录账号" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </a-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts">
|
|
|
+import { closeModal } from '@/common/setup/modal/index';
|
|
|
+import { defineComponent, ref, PropType, watchEffect } from 'vue';
|
|
|
+import { ErmcpLoginUserEx } from '@/services/go/ermcp/account/interface';
|
|
|
+import { LoginaccountOperateReq } from '@/services/proto/accountinfo/interface';
|
|
|
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
|
|
|
+import { loginAccountOperate } from '@/services/proto/accountinfo';
|
|
|
+import { handleForm } from './setup';
|
|
|
+import { mergeTwoObj } from '@/utils/objHandle';
|
|
|
+import { validateAction } from '@/common/setup/form';
|
|
|
+import { FormState } from './interface';
|
|
|
+
|
|
|
+export default defineComponent({
|
|
|
+ name: 'account_info_trade_btn_modify_self',
|
|
|
+ props: {
|
|
|
+ selectedData: {
|
|
|
+ type: Object as PropType<ErmcpLoginUserEx>,
|
|
|
+ default: {},
|
|
|
+ },
|
|
|
+ },
|
|
|
+ setup(props, context) {
|
|
|
+ // 控制关闭弹窗
|
|
|
+ const { visible, cancel } = closeModal('account_info_trade_btn_modify_self');
|
|
|
+ const loading = ref<boolean>(false);
|
|
|
+ const { rules, formState, formRef } = handleForm();
|
|
|
+ watchEffect(() => {
|
|
|
+ if (visible.value) {
|
|
|
+ const { selectedData } = props;
|
|
|
+ mergeTwoObj(formState, selectedData);
|
|
|
+ console.log('selectedData', selectedData);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ function submit() {
|
|
|
+ validateAction<FormState>(formRef, formState).then((res) => {
|
|
|
+ const reqParam: LoginaccountOperateReq = {
|
|
|
+ operatetype: 13, // uint32 操作类型-1:新增 2:修改 3:新增管理员 4:修改管理员 5:锁定 6:解锁 7:注销 8:恢复 9:重置密码 10:新增登录帐号 11:停用用户 12:恢复用户 13:修改用户信息
|
|
|
+ // logincode: res.logincode, // string 登录账号
|
|
|
+ // accountname: res.accountname, // string 账户名称
|
|
|
+ // password: res.password, // string 登录密码(明文)
|
|
|
+ // mobile: res.mobile, // string 手机号码(明文)
|
|
|
+ // roleids: [props.selectedData.roleid], // uint64 账号角色
|
|
|
+ // loginid = obj.loginid
|
|
|
+ // userid = obj.userid
|
|
|
+ // logintaaccounts: res.logintaaccounts.map(res => {
|
|
|
+ // const taAccount: LoginTaaccount = {
|
|
|
+ // accountid: res
|
|
|
+ // };
|
|
|
+ // return taAccount
|
|
|
+ // }), // LoginTaaccount 期货账户(勾选交易员必填)
|
|
|
+ };
|
|
|
+ requestResultLoadingAndInfo(loginAccountOperate, reqParam, loading, ['修改交易员成功', '修改交易员失败:']).then(() => {
|
|
|
+ cancel();
|
|
|
+ context.emit('refresh');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ formState,
|
|
|
+ rules,
|
|
|
+ formRef,
|
|
|
+ visible,
|
|
|
+ cancel,
|
|
|
+ submit,
|
|
|
+ loading,
|
|
|
+ };
|
|
|
+ },
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less">
|
|
|
+.add-business-info {
|
|
|
+}
|
|
|
+.add-traders {
|
|
|
+}
|
|
|
+.add-managers {
|
|
|
+}
|
|
|
+.add-powers {
|
|
|
+ .powerTable {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ border: 3px solid @m-grey11;
|
|
|
+ background-color: @m-black12;
|
|
|
+ font-size: 14px;
|
|
|
+ color: @m-white0;
|
|
|
+ .flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .ant-checkbox-group.commonCheckboxGroup .ant-checkbox-wrapper {
|
|
|
+ width: 90px;
|
|
|
+ span + span {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .powerRow {
|
|
|
+ width: 100%;
|
|
|
+ display: inline-flex;
|
|
|
+ border-bottom: 3px solid @m-grey11;
|
|
|
+ div {
|
|
|
+ align-self: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .powerLeft {
|
|
|
+ width: 84px;
|
|
|
+ padding: 0 8px;
|
|
|
+ }
|
|
|
+ .powerMiddle {
|
|
|
+ width: 130px;
|
|
|
+ .flex;
|
|
|
+ flex-direction: column;
|
|
|
+ div {
|
|
|
+ width: 100%;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ padding: 0 8px;
|
|
|
+ border: 3px solid @m-grey11;
|
|
|
+ border-top: 0;
|
|
|
+ }
|
|
|
+ div:last-child {
|
|
|
+ border-bottom: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .powerRight {
|
|
|
+ flex: 1;
|
|
|
+ .flex;
|
|
|
+ flex-direction: column;
|
|
|
+ div {
|
|
|
+ width: 100%;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ padding: 0 8px;
|
|
|
+ justify-content: flex-start;
|
|
|
+ border-bottom: 3px solid @m-grey11;
|
|
|
+ }
|
|
|
+ div:last-child {
|
|
|
+ border-bottom: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.add-futures {
|
|
|
+}
|
|
|
+.add-futures-son {
|
|
|
+}
|
|
|
+.add-arbitrage {
|
|
|
+ .ant-checkbox-group.commonCheckboxGroup .ant-checkbox-wrapper {
|
|
|
+ width: 100px;
|
|
|
+ span + span {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .ant-checkbox-group.autoWidth {
|
|
|
+ width: 520px;
|
|
|
+ .ant-checkbox-wrapper {
|
|
|
+ width: auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .checkboxGroupItem {
|
|
|
+ .ant-row {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style
|
|
|
+>;
|