1
PC-20250623MANY\Administrator
2025-08-19 41f4f388a182612de2bea2c62cd68c6c437c95c7
1
1 files modified
1 files added
1 files deleted
150 ■■■■ changed files
dist.rar patch | view | raw | blame | history
src/views/ipo/components/buy.vue 89 ●●●●● patch | view | raw | blame | history
src/views/ipo/ipo.vue 61 ●●●● patch | view | raw | blame | history
dist.rar
Binary files differ
src/views/ipo/components/buy.vue
New file
@@ -0,0 +1,89 @@
<template>
  <el-dialog
    :title="$t('操作确认')"
    :visible.sync="dialogVisible"
    width="480px"
    :before-close="onClose"
  >
    <el-form ref="depositform" :model="form" label-width="auto" :rules="rules">
      <el-form-item :label="$t('sl')" prop="applyNums">
        <el-input v-model.number="form.applyNums" type="number"></el-input>
      </el-form-item>
      <el-form-item :label="$t('hj101')" prop="lever">
        <el-input-number
          v-model="form.lever"
          :min="1"
          :max="100"
        ></el-input-number>
      </el-form-item>
      <el-form-item>
        <el-button @click="onClose">{{ $t("qx") }}</el-button>
        <el-button type="primary" @click="onSubmit" class="submit">
          {{ $t("qr") }}
        </el-button>
      </el-form-item>
    </el-form>
  </el-dialog>
</template>
<script>
import * as api from "@/axios/api";
export default {
  data() {
    return {
      form: {
        applyNums: "",
        lever: 1,
      },
      rules: {
        applyNums: [{ required: true, message: this.$t("请输入") }],
        lever: [{ required: true, message: this.$t("请输入") }],
      },
    };
  },
  props: {
    dialogVisible: {
      type: Boolean,
      default: false,
    },
    dataObj: {
      type: Object,
      default: () => {},
    },
  },
  created() {},
  methods: {
    // 关闭弹窗
    onClose() {
      this.$emit("update:dialogVisible", false);
      this.$emit("onClose"); // 关闭弹窗时,通知父组件
    },
    // 提交
    onSubmit() {
      this.$refs["depositform"].validate(async (valid) => {
        if (valid) {
          let opt = {
            newCode: this.dataObj.code,
            password: this.dataObj.password,
            newlistId: this.dataObj.newlistId,
            type: this.dataObj.type,
            ...this.form,
          };
          let data = await api.getNewAdd(opt);
          if (data.status == 0) {
            this.$message.success(data.msg);
            this.onClose();
          }
        } else {
          console.log("getNewAdd err");
          return false;
        }
      });
    },
  },
};
</script>
<style lang="scss" scoped></style>
src/views/ipo/ipo.vue
@@ -111,15 +111,26 @@
    </template>
    <el-empty :description="$t('zwsj')" v-else></el-empty>
    <buy
      :dialogVisible.sync="buyVisible"
      v-if="buyVisible"
      :dataObj="openObj"
      @onClose="onClose"
    ></buy>
  </div>
</template>
<script>
import buy from "./components/buy";
import * as api from "@/axios/api";
import mixins from "@/mixins/myMixins"; // 混入
export default {
  name: "ipo",
  mixins: [mixins],
  components: {
    buy,
  },
  data() {
    return {
      // 列表参数,必须是opt和myMixins混入配合使用
@@ -135,50 +146,12 @@
  methods: {
    // 打开购买弹窗
    buyOpen(i) {
      // this.$confirm("", this.$t("操作确认"), {
      //   confirmButtonText: this.$t("qr"),
      //   cancelButtonText: this.$t("qx"),
      // })
      //   .then(async () => {
      //     // 申购
      //     let opt = {
      //       newCode: i.code,
      //       applyNums: i.orderNumber,
      //       password: i.password,
      //       newlistId: i.newlistId,
      //       type: i.type,
      //     };
      //     let data = await api.getNewAdd(opt);
      //     if (data.status == 0) {
      //       this.$message.success(data.msg);
      //       this.init(); // 重新获取列表
      //     }
      //   })
      //   .catch(() => {});
      this.$prompt(this.$t("sl"), this.$t("操作确认"), {
        confirmButtonText: this.$t("qr"),
        cancelButtonText: this.$t("qx"),
      })
        .then(async (val) => {
          // 申购
          let opt = {
            newCode: i.code,
            applyNums: val.value,
            password: i.password,
            newlistId: i.newlistId,
            type: i.type,
          };
          let data = await api.getNewAdd(opt);
          if (data.status == 0) {
            this.$message.success(data.msg);
            this.init(); // 重新获取列表
          }
        })
        .catch(() => {});
      this.openObj = i; // 赋值
      this.buyVisible = true; // 打开弹窗
    },
    // 关闭弹窗
    onClose() {
      this.openObj = {};
    },
  },
};