大宝管理后台代码
ne1
zzzz
2024-04-07 69ff731fbacf2f2ae16f98a355506bfeb01dd567
src/views/risksetting/futuressetting.vue
@@ -9,24 +9,33 @@
            <a-form-item label="最大买入比例(例:0.8)">
              <a-input
                placeholder="请输入最大买入比例"
                v-decorator="['buyMaxPercent', { rules: [{ required: true, message: '请输入最大买入比例', }] }]" />
                v-decorator="['buyMaxPercent', { rules: [{ required: true, message: '请输入最大买入比例' }] }]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <p>期货强平设置(百分比均采用小数来表示,例:0.8表示80% 强制平仓线计算规则:可用资金 + (冻结保证金 * 强制平仓比例))</p>
        <p>
          期货强平设置(百分比均采用小数来表示,例:0.8表示80% 强制平仓线计算规则:可用资金 + (冻结保证金 *
          强制平仓比例))
        </p>
        <a-row class="form-row" :gutter="48">
          <a-col :md="12" :lg="6" :sm="12">
            <a-form-item label="强平比例(例:0.8)">
              <a-input
                placeholder="请输入强平比例"
                v-decorator="['forceSellPercent', { rules: [{ required: true, message: '请输入强平比例', }] }]" />
                v-decorator="['forceSellPercent', { rules: [{ required: true, message: '请输入强平比例' }] }]"
              />
            </a-form-item>
          </a-col>
          <a-col :md="12" :lg="6" :sm="12">
            <a-form-item label="强制平仓提醒比例(例:0.5)">
              <a-input
                placeholder="请输入强制平仓提醒比例"
                v-decorator="['forceStopRemindRatio', { rules: [{ required: true, message: '请输入强制平仓提醒比例', }] }]" />
                v-decorator="[
                  'forceStopRemindRatio',
                  { rules: [{ required: true, message: '请输入强制平仓提醒比例' }] },
                ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
@@ -36,12 +45,14 @@
              <a-input-number
                placeholder="请输入分钟数"
                style="width: 300px"
                v-decorator="['buySameTimes', { rules: [{ required: true, message: '请输入分钟数', }] }]" />
                v-decorator="['buySameTimes', { rules: [{ required: true, message: '请输入分钟数' }] }]"
              />
              分钟内同一只股票不得下单
              <a-input-number
                placeholder="请输入下单次数"
                style="width: 300px"
                v-decorator="['buySameNums', { rules: [{ required: true, message: '请输入下单次数', }] }]" />
                v-decorator="['buySameNums', { rules: [{ required: true, message: '请输入下单次数' }] }]"
              />
              次
            </a-form-item>
          </a-col>
@@ -51,154 +62,161 @@
            <a-input-number
              placeholder="请输入分钟数"
              style="width: 300px"
              v-decorator="['buyNumTimes', { rules: [{ required: true, message: '请输入分钟数', }] }]" />
              v-decorator="['buyNumTimes', { rules: [{ required: true, message: '请输入分钟数' }] }]"
            />
            分钟内交易手数不得超过
            <a-input-number
              placeholder="请输入下单手数"
              style="width: 300px"
              v-decorator="['buyNumLots', { rules: [{ required: true, message: '请输入下单手数', }] }]" />
              v-decorator="['buyNumLots', { rules: [{ required: true, message: '请输入下单手数' }] }]"
            />
            手
          </a-form-item>
        </a-col>
      </a-card>
    </a-form>
    <div class="bottomfixed">
      <div style="float:right">
        <a-button type="primary" @click="OkaddUserdialog" :loading="addUserDialogloading">
          保存当前设置
        </a-button>
      <div style="float: right">
        <a-button type="primary" @click="OkaddUserdialog" :loading="addUserDialogloading"> 保存当前设置 </a-button>
      </div>
    </div>
  </page-header-wrapper>
</template>
<script>
import { admingetFuturesSetting, sitefuturesupdate } from '@/api/risksetting'
import pick from 'lodash.pick'
export default {
    name: 'Sharessetting',
    data () {
        return {
            addUserform: this.$form.createForm(this),
            loading: false,
            fields: ['buyMaxPercent', 'forceSellPercent', 'buySameTimes', 'buySameNums', 'buyNumTimes', 'buyNumLots', 'forceStopRemindRatio' ],
            labelCol: {
                xs: { span: 10 },
                sm: { span: 10 },
                md: { span: 10 }
            },
            wrapperCol: {
                xs: { span: 14 },
                sm: { span: 14 },
                md: { span: 14 }
            },
            addUserDialogloading: false,
            details: {}
        }
    },
    mounted () {
        this.getdetail()
    },
    methods: {
        OkaddUserdialog () {
            const form = this.$refs.addUserform.form
            form.validateFields((errors, values) => {
                if (!errors) {
                    this.addUserDialogloading = true
                    this.loading = true
                    values.id = this.details.id
                    sitefuturesupdate(values).then(res => {
                        if (res.status == 0) {
                            this.$message.success({ content: res.msg, duration: 2 })
                            this.getdetail()
                        } else {
                            this.$message.error({ content: res.msg })
                        }
                        this.addUserDialogloading = false
                    })
                }
            })
        },
        getdetail () {
            var that = this
            this.loading = true
            admingetFuturesSetting().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)
            })
        }
  name: 'Sharessetting',
  data() {
    return {
      addUserform: this.$form.createForm(this),
      loading: false,
      fields: [
        'buyMaxPercent',
        'forceSellPercent',
        'buySameTimes',
        'buySameNums',
        'buyNumTimes',
        'buyNumLots',
        'forceStopRemindRatio',
      ],
      labelCol: {
        xs: { span: 10 },
        sm: { span: 10 },
        md: { span: 10 },
      },
      wrapperCol: {
        xs: { span: 14 },
        sm: { span: 14 },
        md: { span: 14 },
      },
      addUserDialogloading: false,
      details: {},
    }
  },
  mounted() {
    this.getdetail()
  },
  methods: {
    OkaddUserdialog() {
      const form = this.$refs.addUserform.form
      form.validateFields((errors, values) => {
        if (!errors) {
          this.addUserDialogloading = true
          this.loading = true
          values.id = this.details.id
          sitefuturesupdate(values).then((res) => {
            if (res.status == 0) {
              this.$message.success(res.msg)
              this.getdetail()
            } else {
              this.$message.error(res.msg)
            }
            this.addUserDialogloading = false
          })
        }
      })
    },
    getdetail() {
      var that = this
      this.loading = true
      admingetFuturesSetting().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)
      })
    },
  },
}
</script>
<style lang="less" scoped>
.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;
  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;
  margin-bottom: 24px;
}
/deep/ .ant-pro-global-footer {
    margin: 0 0 48px 0 !important;
  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;
    }
  :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;
  user-select: none;
  margin-right: 24px;
  color: #f5222d;
  cursor: pointer;
    i {
        margin-right: 4px;
    }
  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 .3s;
  padding: 8px 16px;
  list-style: none;
  border-bottom: 1px solid #e8e8e8;
  cursor: pointer;
  transition: all 0.3s;
    &:hover {
        background: #e6f7ff;
    }
  &: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-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, .45);
        font-size: 12px;
    }
  .antd-pro-pages-forms-style-errorField {
    margin-top: 2px;
    color: rgba(0, 0, 0, 0.45);
    font-size: 12px;
  }
}
</style>