Commit 3e794727 authored by 张冬's avatar 张冬

增加注册输入限制,替换请求路径

parent 8141d33d
<template> <template>
<div> <div>
<div class="describe">标的需求</div> <div class="describe">标的需求</div>
<div class="padding"> <div class="padding">
<div class="buttons"> <div class="buttons">
<el-button @click="add">添加</el-button> <el-button @click="add">添加</el-button>
<el-button>删除</el-button> <el-button @click="delAllSelection">删除</el-button>
</div> </div>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" @sendSelection="getSelection"> <dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" @sendSelection="getSelection">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="examine(scope.row,scope.$index)">编辑</el-button> <el-button type="text" size="small" @click="examine(scope.row,scope.$index)">编辑</el-button>
<el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button> <el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
<el-dialog :visible.sync="dialogVisible" title="添加标的" width="50%"> <el-dialog :visible.sync="dialogVisible" title="添加标的" width="50%">
<!-- <dataForm <!-- <dataForm
ref="dataform" ref="dataform"
:search-form="searchForm" :search-form="searchForm"
:search-data="searchData" :search-data="searchData"
...@@ -23,243 +23,315 @@ ...@@ -23,243 +23,315 @@
:is-inline="true" :is-inline="true"
:is-handle="false" :is-handle="false"
label-width="200px"></dataForm> --> label-width="200px"></dataForm> -->
<el-form :model="searchData" :rules="rules" ref="searchData" label-width="100px" > <el-form :model="searchData" :rules="rules" ref="searchData" label-width="150px">
<el-form-item label="标的编码:" prop="encoding"> <el-form-item label="标的编码:" prop="encoding">
<el-input v-model.trim="searchData.encoding" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.encoding" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标的名称:" prop="bidName"> <el-form-item label="标的名称:" prop="bidName">
<el-input v-model.trim="searchData.bidName" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.bidName" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="数量:" prop="quantity"> <el-form-item label="数量:" prop="quantity">
<el-input v-model.trim="searchData.quantity" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.quantity" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="计量单位:" prop="unit"> <el-form-item label="计量单位:" prop="unit">
<el-input v-model.trim="searchData.unit" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.unit" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="品牌:" prop="brand"> <el-form-item label="品牌:" prop="brand">
<el-input v-model.trim="searchData.brand" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.brand" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规格型号:" prop="specification"> <el-form-item label="规格型号:" prop="specification">
<el-input v-model.trim="searchData.specification" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.specification" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标杆价(元):" prop="price"> <el-form-item label="标杆价(元):" prop="price">
<el-input v-model.trim="searchData.price" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.price" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注:" prop="remark"> <el-form-item label="备注:" prop="remark">
<el-input v-model.trim="searchData.remark" placeholder='请输入' maxlength="30"></el-input> <el-input v-model.trim="searchData.remark" placeholder='请输入' maxlength="30"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button> <el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="sure">确 定</el-button> <el-button type="primary" @click="sure">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
<div class="button"> <div class="button">
<el-button @click="upper">上一步</el-button> <el-button @click="upper">上一步</el-button>
<el-button type="primary" @click="next">下一步</el-button> <el-button type="primary" @click="next">下一步</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
import dataForm from '@components/dataForm.vue' import dataForm from '@components/dataForm.vue'
export default { export default {
components: { components: {
dataTable, dataTable,
dataForm dataForm
}, },
data() { data() {
return { return {
// searchForm: [{ // searchForm: [{
// type: 'input', // type: 'input',
// label: '标的编码:', // label: '标的编码:',
// prop: 'encoding', // prop: 'encoding',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '标的名称:', // label: '标的名称:',
// prop: 'bidName', // prop: 'bidName',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '数量:', // label: '数量:',
// prop: 'quantity', // prop: 'quantity',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '计量单位:', // label: '计量单位:',
// prop: 'unit', // prop: 'unit',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '品牌:', // label: '品牌:',
// prop: 'brand', // prop: 'brand',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '规格型号:', // label: '规格型号:',
// prop: 'specification', // prop: 'specification',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '标杆价(元):', // label: '标杆价(元):',
// prop: 'price', // prop: 'price',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// }, // },
// { // {
// type: 'input', // type: 'input',
// label: '备注:', // label: '备注:',
// prop: 'remark', // prop: 'remark',
// width: '100%', // width: '100%',
// placeholder: '请输入', // placeholder: '请输入',
// disabled: false // disabled: false
// } // }
// ], // ],
// 表单验证 // 表单验证
rules: { rules: {
bidName: [{requied: true, message: '请输入', trigger: 'blur'}], encoding: [{
encoding:[{requied: true, message: '请输入', trigger: 'blur'}] required: true,
}, message: '请输入',
projectCommodityList:[], trigger: 'blur'
dialogVisible: false, }],
searchData: { bidName: [{
encoding: '', required: true,
bidName: '', message: '请输入',
quantity: '', trigger: 'blur'
unit: '', }],
brand: '', quantity: [{
specification: '', required: true,
price: '', message: '请输入',
remark:"" trigger: 'blur'
}, }],
tableData: [], unit: [{
columns: [{ required: true,
selection: true message: '请输入',
}, trigger: 'blur'
{ }],
label: '标的编码', brand: [{
prop: 'encoding' required: true,
}, message: '请输入',
{ trigger: 'blur'
label: '标的名称', }],
prop: 'bidName' specification: [{
}, required: true,
{ message: '请输入',
label: '数量', trigger: 'blur'
prop: 'quantity' }],
}, price: [{
{ required: true,
label: '计量单位', message: '请输入',
prop: 'unit' trigger: 'blur'
}, }],
{ remark: [{
label: '品牌', required: true,
prop: 'brand' message: '请输入',
}, trigger: 'blur'
{ }],
label: '规格型号', },
prop: 'specification' multipleSelection: [],
}, dialogVisible: false,
{ searchData: {
label: '标杆价(元)', encoding: '',
prop: 'price' bidName: '',
}, quantity: '',
{ unit: '',
label: '备注', brand: '',
prop: 'remark' specification: '',
}, price: '',
{ remark: ""
slot: 'operate' },
} tableData: [],
], // 操作列 columns: [{
selection: true
},
{
label: '标的编码',
prop: 'encoding'
},
{
label: '标的名称',
prop: 'bidName'
},
{
label: '数量',
prop: 'quantity'
},
{
label: '计量单位',
prop: 'unit'
},
{
label: '品牌',
prop: 'brand'
},
{
label: '规格型号',
prop: 'specification'
},
{
label: '标杆价(元)',
prop: 'price'
},
{
label: '备注',
prop: 'remark'
},
{
slot: 'operate'
}
], // 操作列
pageObj: { pageObj: {
size: 10, size: 10,
total: 1, total: 1,
currentPage: 1, currentPage: 1,
sizes: [100, 200, 300], sizes: [100, 200, 300],
func: (currentPage) => { func: (currentPage) => {
this.pageTurning(currentPage) this.pageTurning(currentPage)
} }
}, },
type: '', type: '',
idx: '' idx: ''
} }
}, },
methods: { methods: {
sure() { // 删除操作
let type = this.type handleDelete(row, index) {
if (type === 0) { // 二次确认删除
this.tableData.push(this.searchData) this.$confirm('确定要删除吗?', '提示', {
} else { type: 'warning'
this.$set(this.tableData, this.idx, this.searchData) })
} .then(() => {
this.dialogVisible = false this.$message.success('删除成功')
}, this.tableData.splice(index, 1)
examine(row, index) { })
this.type = 1 .catch(() => {})
this.idx = index },
this.searchData = Object.assign({}, row) getSelection(val) {
this.dialogVisible = true console.log(val)
}, this.multipleSelection = val
add() { },
this.type = 0 // 删除操作
this.dialogVisible = true delAllSelection() {
const searchData = { let val = this.multipleSelection
encoding: '', if (val.length > 0) {
bidName : '', console.log(val);
quantity: '', val.forEach((va, index) => {
unit: '', this.tableData.forEach((v, i) => {
brand: '', if (va.bidName === v.bidName) {
specification: '', this.tableData.splice(i, 1)
price: '', }
remark:"" })
} })
this.searchData = searchData this.$message.success("删除成功");
}, this.multipleSelection = [];
// 获取邀请的供应商列表 } else {
getSelection(val) { this.$message.error("没有选择删除的项");
this.projectCommodityList = val; }
console.log(this.projectCommodityList) },
}, // 确认添加需求
next() { async sure() {
let projectCommodityList=this.projectCommodityList; const valid = await this.$refs['searchData'].validate();
if(projectCommodityList.length>0){ console.log(valid)
let ruleForm={}; if (valid) {
ruleForm.projectCommodityList=projectCommodityList; let type = this.type
this.$emit('getruleForm',ruleForm) if (type === 0) {
this.$parent.next() this.tableData.push(this.searchData)
}else{ } else {
this.$message.error('请添加标的需求'); this.$set(this.tableData, this.idx, this.searchData)
}
this.dialogVisible = false
}
},
examine(row, index) {
this.type = 1
this.idx = index
this.searchData = Object.assign({}, row)
this.dialogVisible = true
},
add() {
this.type = 0
this.dialogVisible = true
const searchData = {
encoding: '',
bidName: '',
quantity: '',
unit: '',
brand: '',
specification: '',
price: '',
remark: ""
}
this.searchData = searchData
},
next() {
let projectCommodityList = this.tableData;
if (projectCommodityList.length > 0) {
let ruleForm = {};
ruleForm.projectCommodityList = projectCommodityList;
this.$emit('getruleForm', ruleForm)
this.$parent.next()
} else {
this.$message.error('请添加标的需求');
}
},
upper() {
this.$parent.upper()
}
} }
}, }
upper() {
this.$parent.upper()
}
}
}
</script> </script>
<style scoped> <style scoped>
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<el-input v-model.trim="ruleForm.contactsWay" placeholder="请输入" maxlength="30"></el-input> <el-input v-model.trim="ruleForm.contactsWay" placeholder="请输入" maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
</div> </div>
</div> </div>
<div> <div>
...@@ -234,6 +234,18 @@ export default { ...@@ -234,6 +234,18 @@ export default {
dataTableList dataTableList
}, },
data() { data() {
let checkPhone = async (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
};
let isMin = (rule, value, callback) => { let isMin = (rule, value, callback) => {
if (!value) { if (!value) {
callback(new Error('请输入')) callback(new Error('请输入'))
...@@ -341,8 +353,8 @@ export default { ...@@ -341,8 +353,8 @@ export default {
trigger: 'blur' trigger: 'blur'
}], }],
phone: [{ phone: [{
required: true, required: true,
message: '请输入', validator: checkPhone,
trigger: 'blur' trigger: 'blur'
}], }],
money: [{ money: [{
...@@ -402,7 +414,7 @@ export default { ...@@ -402,7 +414,7 @@ export default {
}], }],
contactsWay: [{ contactsWay: [{
required: true, required: true,
message: '请选择', validator: checkPhone,
trigger: 'blur' trigger: 'blur'
}] }]
}, },
...@@ -480,26 +492,33 @@ export default { ...@@ -480,26 +492,33 @@ export default {
// 删除操作 // 删除操作
delAllSelection() { delAllSelection() {
let val = this.multipleSelection let val = this.multipleSelection
val.forEach((va, index) => { if(val.length>0){
this.ruleForm.companyVOList.forEach((v, i) => { val.forEach((va, index) => {
if (va.id === v.id) { this.ruleForm.companyVOList.forEach((v, i) => {
this.ruleForm.companyVOList.splice(i, 1) if (va.id === v.id) {
} this.ruleForm.companyVOList.splice(i, 1)
}) }
}) })
this.$message.error("删除成功"); })
this.multipleSelection = []; this.$message.success("删除成功");
this.multipleSelection = [];
}else{
this.$message.error("没有选择删除的项");
}
}, },
// 到下一步 // 到下一步
async next() { async next() {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate()
const valid1 = await this.$refs['bidBookInfoPO'].validate() const valid1 = await this.$refs['bidBookInfoPO'].validate()
let valid2=""
if (this.ruleForm.isNeedEarnest) { if (this.ruleForm.isNeedEarnest) {
const valid2 = await this.$refs['earnestInfoPO'].validate() valid2 = await this.$refs['earnestInfoPO'].validate()
console.log(valid2)
} }
const valid3 = await this.$refs['contentForm'].validate() const valid3 = await this.$refs['contentForm'].validate()
let isNext = '' let isNext = ''
if (this.ruleForm.isNeedEarnest) { if (this.ruleForm.isNeedEarnest) {
console.log(valid2)
isNext = valid && valid1 && valid2 && valid3 isNext = valid && valid1 && valid2 && valid3
} else { } else {
isNext = valid && valid1 && valid3 isNext = valid && valid1 && valid3
......
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
}, },
data() { data() {
return { return {
activeIdx: 1, activeIdx: 0,
allForm: {} allForm: {}
} }
}, },
......
...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui' ...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// baseURL: 'http://192.168.200.201:8082/apis', baseURL: 'http://192.168.200.201:8082/apis',
baseURL: 'http://192.168.3.35:8085/apis', // baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间 timeout: 35000 // 请求超时时间
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment