大宝管理后台代码
ne1
zzzz
2024-04-07 69ff731fbacf2f2ae16f98a355506bfeb01dd567
src/views/newshares/newsharesrecord.vue
@@ -12,20 +12,22 @@
            <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 @click="getqueryParam" icon="redo"> 重置</a-button>
                  <a-button
                    type="primary"
                    icon="search"
                    style="margin-left: 8px"
                    @click="queryParam.pageNum = 1, pagination.current = 1,getlist()">查询
                    @click=";(queryParam.pageNum = 1), (pagination.current = 1), getlist()"
                    >查询
                  </a-button>
                  <a-button
                    type="primary"
                    icon="plus"
                    style="margin-left: 8px"
                    @click="addUserdialog = true, currentdetail = ''">
                    添加记录</a-button>
                    @click=";(addUserdialog = true), (currentdetail = '')"
                  >
                    添加记录</a-button
                  >
                </span>
              </a-form-item>
            </a-col>
@@ -41,30 +43,52 @@
        :pagination="pagination"
        :columns="columns"
        :data-source="datalist"
        rowKey="id">
        <span slot="realName" slot-scope="text,record">
        rowKey="id"
      >
        <span slot="realName" slot-scope="text, record">
          <template>
            <div>
              <span style="margin-right:10px">{{ record.realName }}({{ record.userId }})</span>
              <span style="margin-right: 10px">{{ record.realName }}({{ record.userId }})</span>
            </div>
          </template>
        </span>
        <span slot="status" slot-scope="text,record">
        <span slot="status" slot-scope="text, record">
          <template>
            <div>
              <a-tag
                style="margin-right:10px"
                :color="record.status == 1 ? 'pink' : record.status == 2 ? 'red'
                  : record.status == 3 ? 'green' : record.status == 4 ? 'blue' : record.status == 5 ? 'purple' : 'orange'">
                {{ record.status == 1 ?
                  '已认购' : record.status == 2 ? '未中签'
                    : record.status == 3 ? '已中签' : record.status == 4 ? '已缴纳' : record.status == 5 ? '已转持仓'
                      : ''
                }}</a-tag>
                style="margin-right: 10px"
                :color="
                  record.status == 1
                    ? 'pink'
                    : record.status == 2
                    ? 'red'
                    : record.status == 3
                    ? 'green'
                    : record.status == 4
                    ? 'blue'
                    : record.status == 5
                    ? 'purple'
                    : 'orange'
                "
              >
                {{
                  record.status == 1
                    ? '已认购'
                    : record.status == 2
                    ? '未中签'
                    : record.status == 3
                    ? '已中签'
                    : record.status == 4
                    ? '已缴纳'
                    : record.status == 5
                    ? '已转持仓'
                    : ''
                }}</a-tag
              >
            </div>
          </template>
        </span>
        <span slot="type" slot-scope="text,record">
        <span slot="type" slot-scope="text, record">
          <template>
            <div>
              <a-tag :color="record.type == 1 ? 'purple' : record.type == 2 ? 'blue' : ''">
@@ -74,13 +98,12 @@
          </template>
        </span>
        <template slot="action" slot-scope="text,record">
        <template slot="action" slot-scope="text, record">
          <a slot="action" href="javascript:;" @click="geteditStock(record)">{{ '修改记录' }}</a>
          <a-divider type="vertical" />
          <a slot="action" href="javascript:;" @click="getdeleteStock(record)">{{ '删除记录' }}</a>
          <a-divider type="vertical" />
          <a slot="action" href="javascript:;" @click="getzhuan(record)" v-if="record.status == 4">{{ '转持仓'
          }}</a>
          <a slot="action" href="javascript:;" @click="getzhuan(record)" v-if="record.status == 4">{{ '转持仓' }}</a>
        </template>
      </a-table>
    </a-card>
@@ -91,21 +114,24 @@
      :visible="addUserdialog"
      :confirmLoading="addUserDialogloading"
      @ok="OkaddUserdialog"
      @cancel="CanceladdUserdialog">
      @cancel="CanceladdUserdialog"
    >
      <a-form :form="addUserform" ref="addUserform">
        <a-row :gutter="48">
          <a-col :md="12" :lg="12" :sm="12">
            <a-form-item label="用户手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input
                placeholder="请输入用户手机号"
                v-decorator="['phone', { rules: [{ required: true, message: '请输入用户手机号', }] }]" />
                v-decorator="['phone', { rules: [{ required: true, message: '请输入用户手机号' }] }]"
              />
            </a-form-item>
          </a-col>
          <a-col :md="12" :lg="12" :sm="12">
            <a-form-item label="新股代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input
                placeholder="请输入新股代码"
                v-decorator="['newCode', { rules: [{ required: true, message: '请输入新股代码', }] }]" />
                v-decorator="['newCode', { rules: [{ required: true, message: '请输入新股代码' }] }]"
              />
            </a-form-item>
          </a-col>
        </a-row>
@@ -114,7 +140,8 @@
            <a-form-item label="买入数量" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input
                placeholder="请输入买入数量"
                v-decorator="['applyNums', { rules: [{ required: true, message: '请输入买入数量', }] }]" />
                v-decorator="['applyNums', { rules: [{ required: true, message: '请输入买入数量' }] }]"
              />
            </a-form-item>
          </a-col>
          <a-col :md="12" :lg="12" :sm="12">
@@ -128,7 +155,8 @@
            <a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-select
                placeholder="请选择状态"
                v-decorator="['status', { rules: [{ required: true, message: '请选择状态', }] }]">
                v-decorator="['status', { rules: [{ required: true, message: '请选择状态' }] }]"
              >
                <a-select-option :value="1">已认购</a-select-option>
                <a-select-option :value="2">未中签</a-select-option>
                <a-select-option :value="3">已中签</a-select-option>
@@ -146,224 +174,224 @@
import { getStockSubscribeList, saveStockSubscribe, delStockSubscribe, addUserPosition } from '@/api/newshares'
import pick from 'lodash.pick'
export default {
    name: 'Shares',
    data () {
        return {
            columns: [
                {
                    title: '用户名称(ID)',
                    dataIndex: 'realName',
                    align: 'center',
                    scopedSlots: { customRender: 'realName' }
                },
                {
                    title: '用户手机号',
                    dataIndex: 'phone',
                    align: 'center'
                },
                {
                    title: '新股名称',
                    dataIndex: 'newName',
                    align: 'center'
                },
                {
                    title: '新股代码',
                    dataIndex: 'newCode',
                    align: 'center'
                },
                {
                    title: '买入价格',
                    dataIndex: 'buyPrice',
                    align: 'center'
                },
                {
                    title: '保证金',
                    dataIndex: 'bond',
                    align: 'center'
                },
                {
                    title: '买入数量',
                    dataIndex: 'applyNums',
                    align: 'center'
                },
                {
                    title: '中签数量',
                    dataIndex: 'applyNumber',
                    align: 'center'
                },
                {
                    title: '申购时间',
                    dataIndex: 'addTime',
                    align: 'center'
                },
                {
                    title: '状态',
                    dataIndex: 'status',
                    align: 'center',
                    scopedSlots: { customRender: 'status' }
                },
                {
                    title: '新股模式',
                    dataIndex: 'type',
                    align: 'center',
                    scopedSlots: { customRender: 'type' }
                },
                {
                    title: '操作',
                    key: 'action',
                    align: 'center',
                    scopedSlots: { customRender: 'action' }
                }
            ],
            // 表头
            pagination: {
                total: 0,
                current: 1,
                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,
                keyword: ''
            },
            datalist: [],
            labelCol: {
                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,
            fields: ['phone', 'newCode', 'applyNums', 'applyNumber', 'status'],
            currentdetail: ''
        }
    },
    created () {
        this.getlist()
    },
    methods: {
        getzhuan (val) {
            var that = this
            this.$confirm({
                title: '提示',
                content: '确认转入持仓吗?此操作不可恢复!',
                onOk () {
                    var data = {
                        id: val.id
                    }
                    addUserPosition(data).then(res => {
                        if (res.status == 0) {
                            that.$message.success({ content: res.msg, duration: 2 })
                            that.getlist()
                        } else {
                            that.$message.error({ content: res.msg })
                        }
                    })
                },
                onCancel () {
                    console.log('Cancel')
                }
            })
  name: 'Shares',
  data() {
    return {
      columns: [
        {
          title: '用户名称(ID)',
          dataIndex: 'realName',
          align: 'center',
          scopedSlots: { customRender: 'realName' },
        },
        getdeleteStock (val) {
            var that = this
            this.$confirm({
                title: '提示',
                content: '确认删除该新股吗?此操作不可恢复!',
                onOk () {
                    var data = {
                        id: val.id
                    }
                    delStockSubscribe(data).then(res => {
                        if (res.status == 0) {
                            that.$message.success({ content: res.msg, duration: 2 })
                            that.getinit()
                        } else {
                            that.$message.error({ content: res.msg })
                        }
                    })
                },
                onCancel () {
                    console.log('Cancel')
                }
            })
        {
          title: '用户手机号',
          dataIndex: 'phone',
          align: 'center',
        },
        geteditStock (val) {
            this.currentdetail = val
            this.addUserdialog = true
            this.fields.forEach(v => this.addUserform.getFieldDecorator(v))
            this.addUserform.setFieldsValue(pick(val, this.fields))
        {
          title: '新股名称',
          dataIndex: 'newName',
          align: 'center',
        },
        CanceladdUserdialog () {
            this.addUserdialog = false
            const form = this.$refs.addUserform.form
            form.resetFields()
        {
          title: '新股代码',
          dataIndex: 'newCode',
          align: 'center',
        },
        OkaddUserdialog () {
            const form = this.$refs.addUserform.form
            form.validateFields((errors, values) => {
                if (!errors) {
                    if (this.currentdetail != '') {
                        values.id = this.currentdetail.id
                    }
                    this.addUserDialogloading = true
                    saveStockSubscribe(values).then(res => {
                        if (res.status == 0) {
                            this.addUserdialog = false
                            this.$message.success({ content: res.msg, duration: 2 })
                            form.resetFields()
                            this.getlist()
                        } else {
                            this.$message.error({ content: res.msg })
                        }
                        this.addUserDialogloading = false
                    })
                }
            })
        {
          title: '买入价格',
          dataIndex: 'buyPrice',
          align: 'center',
        },
        getqueryParam () {
            this.queryParam = {
                pageNum: 1,
                pageSize: 10,
                keyword: ''
            }
        {
          title: '保证金',
          dataIndex: 'bond',
          align: 'center',
        },
        getinit () {
            this.getqueryParam()
            this.pagination.current = 1
            this.getlist()
        {
          title: '买入数量',
          dataIndex: 'applyNums',
          align: 'center',
        },
        getlist () {
            this.loading = true
            getStockSubscribeList(this.queryParam).then(res => {
                this.datalist = res.data.list
                this.pagination.total = res.data.total
                this.loading = false
            })
        {
          title: '中签数量',
          dataIndex: 'applyNumber',
          align: 'center',
        },
        onPageChange (page, pageSize) {
            this.queryParam.pageNum = page
            this.pagination.current = page
            this.getlist()
        {
          title: '申购时间',
          dataIndex: 'addTime',
          align: 'center',
        },
        onSizeChange (current, pageSize) {
            this.queryParam.pageNum = current
            this.pagination.current = page
            this.queryParam.pageSize = pageSize
            this.getlist()
        }
        {
          title: '状态',
          dataIndex: 'status',
          align: 'center',
          scopedSlots: { customRender: 'status' },
        },
        {
          title: '新股模式',
          dataIndex: 'type',
          align: 'center',
          scopedSlots: { customRender: 'type' },
        },
        {
          title: '操作',
          key: 'action',
          align: 'center',
          scopedSlots: { customRender: 'action' },
        },
      ],
      // 表头
      pagination: {
        total: 0,
        current: 1,
        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,
        keyword: '',
      },
      datalist: [],
      labelCol: {
        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,
      fields: ['phone', 'newCode', 'applyNums', 'applyNumber', 'status'],
      currentdetail: '',
    }
  },
  created() {
    this.getlist()
  },
  methods: {
    getzhuan(val) {
      var that = this
      this.$confirm({
        title: '提示',
        content: '确认转入持仓吗?此操作不可恢复!',
        onOk() {
          var data = {
            id: val.id,
          }
          addUserPosition(data).then((res) => {
            if (res.status == 0) {
              that.$message.success(res.msg)
              that.getlist()
            } else {
              that.$message.error(res.msg)
            }
          })
        },
        onCancel() {
          console.log('Cancel')
        },
      })
    },
    getdeleteStock(val) {
      var that = this
      this.$confirm({
        title: '提示',
        content: '确认删除该新股吗?此操作不可恢复!',
        onOk() {
          var data = {
            id: val.id,
          }
          delStockSubscribe(data).then((res) => {
            if (res.status == 0) {
              that.$message.success(res.msg)
              that.getinit()
            } else {
              that.$message.error(res.msg)
            }
          })
        },
        onCancel() {
          console.log('Cancel')
        },
      })
    },
    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) {
          if (this.currentdetail != '') {
            values.id = this.currentdetail.id
          }
          this.addUserDialogloading = true
          saveStockSubscribe(values).then((res) => {
            if (res.status == 0) {
              this.addUserdialog = false
              this.$message.success(res.msg)
              form.resetFields()
              this.getlist()
            } else {
              this.$message.error(res.msg)
            }
            this.addUserDialogloading = false
          })
        }
      })
    },
    getqueryParam() {
      this.queryParam = {
        pageNum: 1,
        pageSize: 10,
        keyword: '',
      }
    },
    getinit() {
      this.getqueryParam()
      this.pagination.current = 1
      this.getlist()
    },
    getlist() {
      this.loading = true
      getStockSubscribeList(this.queryParam).then((res) => {
        this.datalist = res.data.list
        this.pagination.total = res.data.total
        this.loading = false
      })
    },
    onPageChange(page, pageSize) {
      this.queryParam.pageNum = page
      this.pagination.current = page
      this.getlist()
    },
    onSizeChange(current, pageSize) {
      this.queryParam.pageNum = current
      this.pagination.current = page
      this.queryParam.pageSize = pageSize
      this.getlist()
    },
  },
}
</script>