| | |
| | | <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> |
| | |
| | | ></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"> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | 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 |
| | |
| | | ipoStatus: "", |
| | | id: "", |
| | | lockDay: "", //锁定时间 |
| | | userApplyNums: "", //用户最小申购数 |
| | | releaseDate: "", //公布中签日 |
| | | }, |
| | | symbolDate: [], |
| | | page: { |
| | |
| | | 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); |
| | |
| | | }) |
| | | ), |
| | | }).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; |
| | | }); |
| | |
| | | }).then(({ data }) => { |
| | | if (data.code == 0) { |
| | | this.dataForm.name = data.data.name; |
| | | this.dataForm.marketPrice = data.data.nowPrice || ''; //发行价 |
| | | } else { |
| | | // this.$message({ |
| | | // message: data.msg, |
| | |
| | | }, |
| | | // 表单提交 |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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) => { |
| | |
| | | message: data.msg, |
| | | type: "error", |
| | | duration: 1500, |
| | | onClose: () => {}, |
| | | onClose: () => { }, |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }; |
| | | </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; |
| | |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409eff; |
| | | } |
| | | |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | |
| | | line-height: 178px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .avatar { |
| | | width: 178px; |
| | | height: 178px; |
| | | display: block; |
| | | } |
| | | |
| | | .speaInputTwo { |
| | | width: 240px; |
| | | } |