10.10综合交易所原始源码-管理后台
1
admin
2026-01-06 089bf5d2378b3c4a61d795b2a92bede2c193b771
src/views/modules/mining/stock-release-add-or-update.vue
@@ -1,18 +1,8 @@
<template>
  <el-dialog
    :title="!row ? '新增' : '修改'"
    :close-on-click-modal="false"
    width="1200px"
    @close="handClose"
    :visible.sync="visible"
  >
    <el-form
      :model="dataForm"
      :rules="dataRule"
      ref="dataForm"
      @keyup.enter.native="dataFormSubmit()"
      label-width="150px"
    >
  <el-dialog :title="!row ? '新增' : '修改'" :close-on-click-modal="false" width="1200px" @close="handClose"
    :visible.sync="visible">
    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
      label-width="150px">
      <el-form-item class="titleDivTwo" label="基础信息" prop="">
      </el-form-item>
      <el-row>
@@ -26,46 +16,24 @@
            ></el-input>
          </el-form-item> -->
          <el-form-item label="申购代码(字母)" prop="productName">
            <el-select
            class="searchInput"
              v-model="dataForm.productName"
              filterable
              allow-create
              remote
              clearable
              reserve-keyword
              placeholder="请输入关键词"
              :remote-method="loadOptions"
              @change="openMsg()"
              :loading="loading"
            >
              <el-option
                v-for="item in symbolDate"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              ></el-option>
            <el-select class="searchInput" v-model="dataForm.productName" filterable allow-create remote clearable
              reserve-keyword placeholder="请输入关键词" :remote-method="loadOptions" @change="openMsg()" :loading="loading">
              <el-option v-for="item in symbolDate" :key="item.value" :label="item.label"
                :value="item.value"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8" v-if="!dataForm.id">
          <el-form-item label="股票类型" prop="">
            <el-select class="searchInput" v-model="options.value" @change="changeVal"
                     placeholder="请选择">
              <el-option v-for="item in options"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
            <el-select class="searchInput" v-model="options.value" @change="changeVal" placeholder="请选择">
              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="股票简称" prop="">
            <el-input
              v-model="dataForm.name"
              placeholder="股票简称"
            ></el-input>
            <el-input v-model="dataForm.name" placeholder="股票简称"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8" v-if="dataForm.id">
@@ -73,101 +41,58 @@
            <div class="green">输入申购代码获取股票简称</div>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="8">
          <el-form-item label="发行价" prop="marketPrice">
            <el-input
              v-model="dataForm.marketPrice"
              type="number"
              maxlength="11"
              placeholder="发行价"
            ></el-input>
            <el-input v-model="dataForm.marketPrice" type="number" maxlength="11" placeholder="发行价"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="承销价" prop="underwritingPrice">
            <el-input
              type="number"
              maxlength="11"
              v-model="dataForm.underwritingPrice"
              placeholder="承销价"
            ></el-input>
            <el-input type="number" maxlength="11" v-model="dataForm.underwritingPrice" placeholder="承销价"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="发行总数" prop="subscribeTotalNumber">
            <el-input
              type="number"
              maxlength="11"
              v-model="dataForm.subscribeTotalNumber"
              placeholder="发行总数"
            ></el-input>
            <el-input type="number" maxlength="11" v-model="dataForm.subscribeTotalNumber"
              placeholder="发行总数"></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="8">
          <el-form-item label="已申购数" prop="">
            <el-input
              type="number"
              maxlength="11"
              disabled
              v-model="dataForm.appliedSubscribeNumber"
              placeholder="已申购数"
            ></el-input>
            <el-input type="number" maxlength="11" disabled v-model="dataForm.appliedSubscribeNumber"
              placeholder="已申购数"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="排序" prop="weight">
            <el-input
              v-model="dataForm.weight"
              maxlength="11"
              type="number"
              placeholder="排序"
            ></el-input>
            <el-input v-model="dataForm.weight" maxlength="11" type="number" placeholder="排序"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
        <!-- <el-col :span="8">
          <el-form-item label="用户申购额度" prop="defaultLimit">
            <el-input
              type="number"
              maxlength="11"
              v-model="dataForm.defaultLimit"
              placeholder="用户申购额度"
            ></el-input>
            <el-input type="number" maxlength="11" v-model="dataForm.defaultLimit" placeholder="用户申购额度"></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        </el-col> -->
        <el-col :span="8">
          <el-form-item label="发行市场" prop="ipoStatus">
            <el-select
              class="speaInputTwo"
              v-model="dataForm.ipoStatus"
              placeholder="请选择"
              @change="changeVal()"
            >
              <el-option
                v-for="item in direction"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
            <el-select class="speaInputTwo" v-model="dataForm.ipoStatus" placeholder="请选择" @change="changeVal()">
              <el-option v-for="item in direction" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="锁定时间(天)" prop="lockDay">
            <el-input
              maxlength="11"
              type="number"
              v-model="dataForm.lockDay"
              placeholder="锁定时间(天)"
            ></el-input>
            <el-input maxlength="11" type="number" v-model="dataForm.lockDay" placeholder="锁定时间(天)"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="用户最小申购数" prop="userApplyNums">
            <el-input type="number" v-model="dataForm.userApplyNums" placeholder="用户最小申购数"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8" v-if="!dataForm.id">
          <el-form-item label="提示" prop="">
            <div class="green">输入申购代码获取股票简称</div>
@@ -180,12 +105,8 @@
      <el-row>
        <el-col :span="8">
          <el-form-item label="发券日期" prop="issuanceDate">
            <el-date-picker
              v-model="dataForm.issuanceDate"
              type="datetime"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间"
            >
            <el-date-picker v-model="dataForm.issuanceDate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间">
            </el-date-picker>
          </el-form-item>
        </el-col>
@@ -202,23 +123,24 @@
        </el-col> -->
        <el-col :span="8">
          <el-form-item label="开放申购日" prop="startSubscribeDate">
            <el-date-picker
              v-model="dataForm.startSubscribeDate"
              type="datetime"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间"
            >
            <el-date-picker v-model="dataForm.startSubscribeDate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间">
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="截止申购日" prop="endSubscribeDate">
            <el-date-picker
              v-model="dataForm.endSubscribeDate"
              type="datetime"
              value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间"
            >
            <el-date-picker v-model="dataForm.endSubscribeDate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间">
            </el-date-picker>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="8">
          <el-form-item label="公布中签日" prop="releaseDate">
            <el-date-picker v-model="dataForm.releaseDate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
              placeholder="选择日期时间">
            </el-date-picker>
          </el-form-item>
        </el-col>
@@ -250,7 +172,7 @@
      loading: false,
      dataForm: {
        appliedSubscribeNumber: "", //已申购数      false
        defaultLimit: "", //用户申购额度      false
        // defaultLimit: "", //用户申购额度      false
        //drawDate:'',   //   抽签日期 2023-03-22 00:00:00      false
        endSubscribeDate: "", //   截止申购日期 2023-03-22 00:00:00      false
        marketPrice: "", //   市场价      false
@@ -266,6 +188,8 @@
        ipoStatus: "",
        id: "",
        lockDay: "", //锁定时间
        userApplyNums: "", //用户最小申购数
        releaseDate: "", //公布中签日
      },
      symbolDate: [],
      page: {
@@ -323,25 +247,28 @@
        issuanceDate: [
          { required: true, message: "发劵日期不能为空", trigger: "blur" },
        ],
        releaseDate: [
          { required: true, message: "公布中签日不能为空", trigger: "blur" },
        ],
        weight: [
          { validator: this.validateWeightLength, trigger: "blur" },
          { required: true, message: "排序不能为空", trigger: "blur" },
        ],
        defaultLimit: [
          { required: true, message: "用户申购额度不能为空", trigger: "blur" },
          { validator: this.validateWeightLength, trigger: "blur" },
        ],
        lockDay: [
          { required: true, message: "锁定时间不能为空", trigger: "blur" },
          { validator: this.validateWeightLength, trigger: "blur" },
        ],
        // defaultLimit: [
        //   { required: true, message: "用户申购额度不能为空", trigger: "blur" },
        //   { validator: this.validateWeightLength, trigger: "blur" },
        // ],
        // lockDay: [
        //   { required: true, message: "锁定时间不能为空", trigger: "blur" },
        //   { validator: this.validateWeightLength, trigger: "blur" },
        // ],
      },
      tempKey: -666666, // 临时key, 用于解决tree半选中状态项不能传给后台接口问题. # 待优化
      options:[],
      options: [],
    };
  },
  methods: {
    init(row,arr) {
    init(row, arr) {
      this.options = arr || []
      this.row = row || "";
      console.log(row);
@@ -379,18 +306,18 @@
            })
          ),
        }).then(({ data }) => {
          if(data.code == 0){
          if (data.code == 0) {
            this.symbolDate = data.data.map((item) => ({
            value: item.symbol,
            label: item.symbol+'('+item.name+')',
          }));
          }else{
              value: item.symbol,
              label: item.symbol + '(' + item.name + ')',
            }));
          } else {
            this.$message({
            message: data.msg,
            type: "error",
            duration: 1500,
            onClose: () => {},
          });
              message: data.msg,
              type: "error",
              duration: 1500,
              onClose: () => { },
            });
          }
          this.loading = false;
        });
@@ -431,6 +358,7 @@
      }).then(({ data }) => {
        if (data.code == 0) {
          this.dataForm.name = data.data.name;
          this.dataForm.marketPrice = data.data.nowPrice || ''; //发行价
        } else {
          // this.$message({
          //   message: data.msg,
@@ -443,11 +371,11 @@
    },
    // 表单提交
    dataFormSubmit: Debounce(function () {
      console.log("新增股票=>"+this.options.value);
      console.log("新增股票=>" + this.options.value);
      let url = `/newSharesConfig/update`;
      let dataType = {
        appliedSubscribeNumber: this.dataForm.appliedSubscribeNumber, //已申购数      false
        defaultLimit: this.dataForm.defaultLimit, //用户申购额度      false
        // defaultLimit: this.dataForm.defaultLimit, //用户申购额度      false
        //drawDate:this.dataForm.drawDate,   //   抽签日期 2023-03-22 00:00:00      false
        endSubscribeDate: this.dataForm.endSubscribeDate, //   截止申购日期 2023-03-22 00:00:00      false
        marketPrice: this.dataForm.marketPrice, //   市场价      false
@@ -463,14 +391,16 @@
        ipoStatus: this.dataForm.ipoStatus,
        id: this.dataForm.id,
        lockDay: this.dataForm.lockDay,
        type:this.options.value||"",
        userApplyNums: this.dataForm.userApplyNums,
        releaseDate: this.dataForm.releaseDate,
        type: this.options.value || "",
      };
      if (!this.dataForm.id) {
        console.log(this.row);
        url = `/newSharesConfig/add`;
        dataType = {
          appliedSubscribeNumber: this.dataForm.appliedSubscribeNumber, //已申购数      false
          defaultLimit: this.dataForm.defaultLimit, //用户申购额度      false
          // defaultLimit: this.dataForm.defaultLimit, //用户申购额度      false
          //drawDate:this.dataForm.drawDate,   //   抽签日期 2023-03-22 00:00:00      false
          endSubscribeDate: this.dataForm.endSubscribeDate, //   截止申购日期 2023-03-22 00:00:00      false
          marketPrice: this.dataForm.marketPrice, //   市场价      false
@@ -485,7 +415,9 @@
          weight: this.dataForm.weight, //   权重      false
          ipoStatus: this.dataForm.ipoStatus,
          lockDay: this.dataForm.lockDay,
          type:this.options.value||"",
          userApplyNums: this.dataForm.userApplyNums,
          releaseDate: this.dataForm.releaseDate,
          type: this.options.value || "",
        };
      }
      this.$refs["dataForm"].validate((valid) => {
@@ -510,7 +442,7 @@
                message: data.msg,
                type: "error",
                duration: 1500,
                onClose: () => {},
                onClose: () => { },
              });
            }
          });
@@ -521,14 +453,16 @@
};
</script>
<style scoped>
.searchInput{
.searchInput {
  width: 235px !important;
}
.titleDivTwo {
  height: 40px;
  border-left: 3px solid #1c4efa;
  background: #f4f7ff;
}
.avatar-uploader .el-upload {
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
@@ -536,9 +470,11 @@
  position: relative;
  overflow: hidden;
}
.avatar-uploader .el-upload:hover {
  border-color: #409eff;
}
.avatar-uploader-icon {
  font-size: 28px;
  color: #8c939d;
@@ -547,11 +483,13 @@
  line-height: 178px;
  text-align: center;
}
.avatar {
  width: 178px;
  height: 178px;
  display: block;
}
.speaInputTwo {
  width: 240px;
}