新大宝股票管理后台
PC-20250623MANY\Administrator
2025-09-26 28c700affec98024928b2a133a404c87881e7f00
增加股票最低购买数量设置
2 files modified
1 files added
218 ■■■■■ changed files
src/api/allsetting.js 16 ●●●●● patch | view | raw | blame | history
src/config/router.config.js 6 ●●●●● patch | view | raw | blame | history
src/views/risksetting/quantitysetting.vue 196 ●●●●● patch | view | raw | blame | history
src/api/allsetting.js
@@ -24,6 +24,8 @@
  stockdelete: '/admin/stockSetting/delete.do', // 删除盘前
  rateInfo: '/admin/rate/getInfo.do', // 汇率列表
  editRate: '/admin/rate/editRate.do', // 汇率新增/编辑
  stockBuySettingQueryAll: '/admin/stockBuySetting/queryAll.do', // 获取股票买入数量设置
  stockBuySettingUpdate: '/admin/stockBuySetting/update.do', // 修改股票买入数量设置
}
/**
@@ -213,3 +215,17 @@
    data: qs.stringify(parameter),
  })
}
export function stockBuySettingQueryAll(parameter) {
  return request({
    url: userApi.stockBuySettingQueryAll,
    method: 'post',
    data: qs.stringify(parameter),
  })
}
export function stockBuySettingUpdate(parameter) {
  return request({
    url: userApi.stockBuySettingUpdate,
    method: 'post',
    data: qs.stringify(parameter),
  })
}
src/config/router.config.js
@@ -358,6 +358,12 @@
            component: () => import('@/views/risksetting/timelist'),
            meta: { title: '股票时间列表', keepAlive: true, permission: ['timelist'] },
          },
          {
            path: '/risksetting/quantitysetting',
            name: 'quantitysetting',
            component: () => import('@/views/risksetting/quantitysetting'),
            meta: { title: '股票最低买入设置', keepAlive: true, permission: ['quantitysetting'] },
          },
          // {
          //   path: '/risksetting/indexsetting',
          //   name: 'indexsetting',
src/views/risksetting/quantitysetting.vue
New file
@@ -0,0 +1,196 @@
<template>
  <page-header-wrapper>
    <a-card :bordered="false">
      <a-table bordered :loading="loading" :pagination="pagination" :columns="columns" :data-source="datalist"
        rowKey="id">
        <template slot="action" slot-scope="text, record">
          <a slot="action" href="javascript:;" @click="geteditbaseCurrency(record)">修改</a>
        </template>
      </a-table>
    </a-card>
    <a-modal title="修改数量设置" :width="1000" :visible="addUserdialog" :confirmLoading="addUserDialogloading"
      @ok="OkaddUserdialog" @cancel="CanceladdUserdialog">
      <a-form :form="addUserform" ref="addUserform">
        <a-row :gutter="48">
          <a-col :md="19" :lg="12" :sm="19">
            <a-form-item label="股票类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input placeholder="请输入股票类型" disabled
                v-decorator="['accetsType', { rules: [{ required: true, message: '请输入通道名称' }] }]" />
            </a-form-item>
          </a-col>
          <a-col :md="19" :lg="12" :sm="19">
            <a-form-item label="股票类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input placeholder="请输入股票类型" disabled
                v-decorator="['accetsDesc', { rules: [{ required: true, message: '请输入股票类型' }] }]" />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="48">
          <a-col :md="19" :lg="12" :sm="19">
            <a-form-item label="手数" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input placeholder="请输入手数"
                v-decorator="['handsNum', { rules: [{ required: true, message: '请输入' }] }]" />
            </a-form-item>
          </a-col>
          <a-col :md="19" :lg="12" :sm="19">
            <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-form>
    </a-modal>
  </page-header-wrapper>
</template>
<script>
import { stockBuySettingQueryAll,stockBuySettingUpdate } from '@/api/allsetting'
import pick from 'lodash.pick'
export default {
  name: 'Basecurrency',
  data() {
    return {
      columns: [
        {
          title: '股票类型',
          dataIndex: 'accetsType',
          align: 'center',
        },
        {
          title: '手数',
          dataIndex: 'handsNum',
          align: 'center',
        },
        {
          title: '股数',
          dataIndex: 'stockNum',
          align: 'center',
        },
        {
          title: '操作',
          key: 'action',
          align: 'center',
          fixed: 'right',
          width: 200,
          scopedSlots: {
            customRender: 'action',
          },
        },
      ],
      // 表头
      pagination: {
        total: 0,
        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,
        channelType: '',
      },
      datalist: [],
      addUserdialog: false,
      addUserDialogloading: false,
      addUserform: this.$form.createForm(this),
      labelCol: {
        xs: {
          span: 24,
        },
        sm: {
          span: 6,
        },
      },
      wrapperCol: {
        xs: {
          span: 24,
        },
        sm: {
          span: 18,
        },
      },
      fields: ['accetsType', 'accetsDesc', 'handsNum', 'stockNum'],
      currentDetails: {},
      channelImg: '',
      imgloading: false,
    }
  },
  created() {
    this.getlist()
  },
  methods: {
    geteditbaseCurrency(val) {
      this.currentDetails = val
      this.channelImg = val.channelImg
      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()
      this.channelImg = ''
    },
    OkaddUserdialog() {
      const form = this.$refs.addUserform.form
      form.validateFields((errors, values) => {
        if (!errors) {
          this.addUserDialogloading = true
          values.id = this.currentDetails.id
          stockBuySettingUpdate(values).then((res) => {
            if (res.status == 0) {
              this.addUserdialog = false
              this.$message.success({
                content: '修改成功',
                duration: 2,
              })
              form.resetFields()
              this.getlist()
            } else {
              this.$message.error({
                content: res.msg,
              })
            }
            this.addUserDialogloading = false
          })
          this.channelImg = ''
        }
      })
    },
    getlist() {
      this.loading = true
      stockBuySettingQueryAll(this.queryParam).then((res) => {
        this.datalist = res.data
        this.pagination.total = res.data.total
        this.loading = false
      })
    },
    onPageChange(page, pageSize) {
      this.queryParam.pageNum = page
      this.getlist()
    },
    onSizeChange(current, pageSize) {
      this.queryParam.pageNum = current
      this.queryParam.pageSize = pageSize
      this.getlist()
    },
  },
}
</script>
<style scoped>
.greens {
  color: #52c41a;
}
.reds {
  color: #f5222d;
}
</style>