From 28c700affec98024928b2a133a404c87881e7f00 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Fri, 26 Sep 2025 11:54:36 +0800
Subject: [PATCH] 增加股票最低购买数量设置

---
 src/views/risksetting/quantitysetting.vue |  196 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/api/allsetting.js                     |   16 ++++
 src/config/router.config.js               |    6 +
 3 files changed, 218 insertions(+), 0 deletions(-)

diff --git a/src/api/allsetting.js b/src/api/allsetting.js
index 953a3e9..c9d4283 100644
--- a/src/api/allsetting.js
+++ b/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),
+  })
+}
diff --git a/src/config/router.config.js b/src/config/router.config.js
index 9eeaebd..520b9ac 100644
--- a/src/config/router.config.js
+++ b/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',
diff --git a/src/views/risksetting/quantitysetting.vue b/src/views/risksetting/quantitysetting.vue
new file mode 100644
index 0000000..4b3b6ec
--- /dev/null
+++ b/src/views/risksetting/quantitysetting.vue
@@ -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>

--
Gitblit v1.9.3