联调cvt系数页面与cvt绑定

This commit is contained in:
GGJ
2025-02-12 14:00:11 +08:00
parent e7807c8eae
commit 72051ba10e
8 changed files with 737 additions and 856 deletions

View File

@@ -7,270 +7,386 @@
width="1000px"
:before-close="handleClose"
>
<el-form ref="form" :inline="true" :model="form" label-width="80px" class="form-two">
<el-form-item label="CVT名称:">
<el-input v-model="form.name" placeholder="请输入CVT名称"></el-input>
<el-form ref="form" :inline="true" :model="form" label-width="auto" :rules="rules" class="form">
<el-form-item label="CVT名称:" prop="cvtName" style="width: 49%">
<el-input v-model="form.cvtName" placeholder="请输入CVT名称" />
</el-form-item>
<el-form-item label="CVT型号:">
<el-input v-model="form.model" placeholder="请输入CVT型号"></el-input>
<el-form-item label="CVT型号:" prop="cvtModel" style="width: 49%">
<el-input v-model="form.cvtModel" placeholder="请输入CVT型号" />
</el-form-item>
</el-form>
<el-form ref="form" :inline="true" :model="form" label-width="80px" class="form">
<el-form-item label="2次:">
<el-input type="number" v-model="form.num2"></el-input>
<el-form-item v-for="item in frequency" :label="`${item}次:`" :prop="`h${item}`">
<el-input type="number" v-model="form[`h${item}`]" @input="handleInput($event, `h${item}`)" />
</el-form-item>
<el-form-item label="3次:">
<el-input type="number" v-model="form.num3"></el-input>
<!-- <el-form-item label="2次:" prop="h2">
<el-input type="number" v-model="form.h2" @input="handleInput($event,'h2')"/>
</el-form-item>
<el-form-item label="4次:">
<el-input type="number" v-model="form.num4"></el-input>
<el-form-item label="3次:" prop="h3">
<el-input type="number" v-model="form.h3" @input="handleInput($event,'h3')"/>
</el-form-item>
<el-form-item label="5次:">
<el-input type="number" v-model="form.num5"></el-input>
<el-form-item label="4次:" prop="h4">
<el-input type="number" v-model="form.h4" @input="handleInput($event,'h4')"/>
</el-form-item>
<el-form-item label="6次:">
<el-input type="number" v-model="form.num6"></el-input>
<el-form-item label="5次:" prop="h5">
<el-input type="number" v-model="form.h5" @input="handleInput($event,'h5')"/>
</el-form-item>
<el-form-item label="7次:">
<el-input type="number" v-model="form.num7"></el-input>
<el-form-item label="6次:" prop="h6">
<el-input type="number" v-model="form.h6" @input="handleInput($event,'h6')"/>
</el-form-item>
<el-form-item label="8次:">
<el-input type="number" v-model="form.num8"></el-input>
<el-form-item label="7次:" prop="h7">
<el-input type="number" v-model="form.h7" @input="handleInput($event,'h7')"/>
</el-form-item>
<el-form-item label="9次:">
<el-input type="number" v-model="form.num9"></el-input>
<el-form-item label="8次:" prop="h8">
<el-input type="number" v-model="form.h8" @input="handleInput($event,'h8')"/>
</el-form-item>
<el-form-item label="10次:">
<el-input type="number" v-model="form.num10"></el-input>
<el-form-item label="9次:" prop="h9">
<el-input type="number" v-model="form.h9" @input="handleInput($event,'h9')"/>
</el-form-item>
<el-form-item label="11次:">
<el-input type="number" v-model="form.num11"></el-input>
<el-form-item label="10次:" prop="h10">
<el-input type="number" v-model="form.h10" @input="handleInput($event,'h10')"/>
</el-form-item>
<el-form-item label="12次:">
<el-input type="number" v-model="form.num12"></el-input>
<el-form-item label="11次:" prop="h11">
<el-input type="number" v-model="form.h11" @input="handleInput($event,'h11')"/>
</el-form-item>
<el-form-item label="13次:">
<el-input type="number" v-model="form.num13"></el-input>
<el-form-item label="12次:" prop="h12">
<el-input type="number" v-model="form.h12" @input="handleInput($event,'h12')"/>
</el-form-item>
<el-form-item label="14次:">
<el-input type="number" v-model="form.num14"></el-input>
<el-form-item label="13次:" prop="h13">
<el-input type="number" v-model="form.h13" @input="handleInput($event,'h13')"/>
</el-form-item>
<el-form-item label="15次:">
<el-input type="number" v-model="form.num15"></el-input>
<el-form-item label="14次:" prop="h14">
<el-input type="number" v-model="form.h14" @input="handleInput($event,'h14')"/>
</el-form-item>
<el-form-item label="16次:">
<el-input type="number" v-model="form.num16"></el-input>
<el-form-item label="15次:" prop="h15">
<el-input type="number" v-model="form.h15" @input="handleInput($event,'h15')"/>
</el-form-item>
<el-form-item label="17次:">
<el-input type="number" v-model="form.num17"></el-input>
<el-form-item label="16次:" prop="h16">
<el-input type="number" v-model="form.h16" @input="handleInput($event,'h16')"/>
</el-form-item>
<el-form-item label="18次:">
<el-input type="number" v-model="form.num18"></el-input>
<el-form-item label="17次:" prop="h17">
<el-input type="number" v-model="form.h17" @input="handleInput($event,'h17')"/>
</el-form-item>
<el-form-item label="19次:">
<el-input type="number" v-model="form.num19"></el-input>
<el-form-item label="18次:" prop="h18">
<el-input type="number" v-model="form.h18" @input="handleInput($event,'h18')"/>
</el-form-item>
<el-form-item label="20次:">
<el-input type="number" v-model="form.num20"></el-input>
<el-form-item label="19次:" prop="h19">
<el-input type="number" v-model="form.h19" @input="handleInput($event,'h19')"/>
</el-form-item>
<el-form-item label="21次:">
<el-input type="number" v-model="form.num21"></el-input>
<el-form-item label="20次:" prop="h20">
<el-input type="number" v-model="form.h20" @input="handleInput($event,'h20')"/>
</el-form-item>
<el-form-item label="22次:">
<el-input type="number" v-model="form.num22"></el-input>
<el-form-item label="21次:" prop="h21">
<el-input type="number" v-model="form.h21" @input="handleInput($event,'h21')"/>
</el-form-item>
<el-form-item label="23次:">
<el-input type="number" v-model="form.num23"></el-input>
<el-form-item label="22次:" prop="h22">
<el-input type="number" v-model="form.h22" @input="handleInput($event,'h22')"/>
</el-form-item>
<el-form-item label="24次:">
<el-input type="number" v-model="form.num24"></el-input>
<el-form-item label="23次:" prop="h23">
<el-input type="number" v-model="form.h23" @input="handleInput($event,'h23')"/>
</el-form-item>
<el-form-item label="25次:">
<el-input type="number" v-model="form.num25"></el-input>
<el-form-item label="24次:" prop="h24">
<el-input type="number" v-model="form.h24" @input="handleInput($event,'h24')"/>
</el-form-item>
<el-form-item label="26次:">
<el-input type="number" v-model="form.num26"></el-input>
<el-form-item label="25次:" prop="h25">
<el-input type="number" v-model="form.h25" @input="handleInput($event,'h25')"/>
</el-form-item>
<el-form-item label="27次:">
<el-input type="number" v-model="form.num27"></el-input>
<el-form-item label="26次:" prop="h26">
<el-input type="number" v-model="form.h26" @input="handleInput($event,'h26')"/>
</el-form-item>
<el-form-item label="28次:">
<el-input type="number" v-model="form.num28"></el-input>
<el-form-item label="27次:" prop="h27">
<el-input type="number" v-model="form.h27" @input="handleInput($event,'h27')"/>
</el-form-item>
<el-form-item label="29次:">
<el-input type="number" v-model="form.num29"></el-input>
<el-form-item label="28次:" prop="h28">
<el-input type="number" v-model="form.h28" @input="handleInput($event,'h28')"/>
</el-form-item>
<el-form-item label="30次:">
<el-input type="number" v-model="form.num30"></el-input>
<el-form-item label="29次:" prop="h29">
<el-input type="number" v-model="form.h29" @input="handleInput($event,'h29')"/>
</el-form-item>
<el-form-item label="31次:">
<el-input type="number" v-model="form.num31"></el-input>
<el-form-item label="30次:" prop="h30">
<el-input type="number" v-model="form.h30" @input="handleInput($event,'h30')"/>
</el-form-item>
<el-form-item label="32次:">
<el-input type="number" v-model="form.num32"></el-input>
<el-form-item label="31次:" prop="h31">
<el-input type="number" v-model="form.h31" @input="handleInput($event,'h31')"/>
</el-form-item>
<el-form-item label="33次:">
<el-input type="number" v-model="form.num33"></el-input>
<el-form-item label="32次:" prop="h32">
<el-input type="number" v-model="form.h32" @input="handleInput($event,'h32')"/>
</el-form-item>
<el-form-item label="34次:">
<el-input type="number" v-model="form.num34"></el-input>
<el-form-item label="33次:" prop="h33">
<el-input type="number" v-model="form.h33" @input="handleInput($event,'h33')"/>
</el-form-item>
<el-form-item label="35次:">
<el-input type="number" v-model="form.num35"></el-input>
<el-form-item label="34次:" prop="h34">
<el-input type="number" v-model="form.h34" @input="handleInput($event,'h34')"/>
</el-form-item>
<el-form-item label="36次:">
<el-input type="number" v-model="form.num36"></el-input>
<el-form-item label="35次:" prop="h35">
<el-input type="number" v-model="form.h35" @input="handleInput($event,'h35')"/>
</el-form-item>
<el-form-item label="37次:">
<el-input type="number" v-model="form.num37"></el-input>
<el-form-item label="36次:" prop="h36">
<el-input type="number" v-model="form.h36" @input="handleInput($event,'h36')"/>
</el-form-item>
<el-form-item label="38次:">
<el-input type="number" v-model="form.num38"></el-input>
<el-form-item label="37次:" prop="h37">
<el-input type="number" v-model="form.h37" @input="handleInput($event,'h37')"/>
</el-form-item>
<el-form-item label="39次:">
<el-input type="number" v-model="form.num39"></el-input>
<el-form-item label="38次:" prop="h38">
<el-input type="number" v-model="form.h38" @input="handleInput($event,'h38')"/>
</el-form-item>
<el-form-item label="40次:">
<el-input type="number" v-model="form.num40"></el-input>
<el-form-item label="39次:" prop="h39">
<el-input type="number" v-model="form.h39" @input="handleInput($event,'h39')"/>
</el-form-item>
<el-form-item label="41次:">
<el-input type="number" v-model="form.num41"></el-input>
<el-form-item label="40次:" prop="h40">
<el-input type="number" v-model="form.h40" @input="handleInput($event,'h40')"/>
</el-form-item>
<el-form-item label="42次:">
<el-input type="number" v-model="form.num42"></el-input>
<el-form-item label="41次:" prop="h41">
<el-input type="number" v-model="form.h41" @input="handleInput($event,'h41')"/>
</el-form-item>
<el-form-item label="43次:">
<el-input type="number" v-model="form.num43"></el-input>
<el-form-item label="42次:" prop="h42">
<el-input type="number" v-model="form.h42" @input="handleInput($event,'h42')"/>
</el-form-item>
<el-form-item label="44次:">
<el-input type="number" v-model="form.num44"></el-input>
<el-form-item label="43次:" prop="h43">
<el-input type="number" v-model="form.h43" @input="handleInput($event,'h43')"/>
</el-form-item>
<el-form-item label="45次:">
<el-input type="number" v-model="form.num45"></el-input>
<el-form-item label="44次:" prop="h44">
<el-input type="number" v-model="form.h44" @input="handleInput($event,'h44')"/>
</el-form-item>
<el-form-item label="46次:">
<el-input type="number" v-model="form.num46"></el-input>
<el-form-item label="45次:" prop="h45">
<el-input type="number" v-model="form.h45" @input="handleInput($event,'h45')"/>
</el-form-item>
<el-form-item label="47次:">
<el-input type="number" v-model="form.num47"></el-input>
<el-form-item label="46次:" prop="h46">
<el-input type="number" v-model="form.h46" @input="handleInput($event,'h46')"/>
</el-form-item>
<el-form-item label="48次:">
<el-input type="number" v-model="form.num48"></el-input>
<el-form-item label="47次:" prop="h47">
<el-input type="number" v-model="form.h47" @input="handleInput($event,'h47')"/>
</el-form-item>
<el-form-item label="49次:">
<el-input type="number" v-model="form.num49"></el-input>
<el-form-item label="48次:" prop="h48">
<el-input type="number" v-model="form.h48" @input="handleInput($event,'h48')"/>
</el-form-item>
<el-form-item label="50次:">
<el-input type="number" v-model="form.num50"></el-input>
<el-form-item label="49次:" prop="h49">
<el-input type="number" v-model="form.h49" @input="handleInput($event,'h49')"/>
</el-form-item>
<el-form-item label="50次:" prop="h50">
<el-input type="number" v-model="form.h50" @input="handleInput($event,'h50')"/>
</el-form-item> -->
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="handleClose"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { addCVT, updateCvt } from '@/api/CVT/index.js'
export default {
components: {},
props: {},
data() {
return {
frequency: [
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50
],
dialogVisible: false,
title: '',
form: {
name: '',
model: '',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
cvtName: '',
cvtModel: '',
h2: '1',
h3: '1',
h4: '1',
h5: '1',
h6: '1',
h7: '1',
h8: '1',
h9: '1',
h10: '1',
h11: '1',
h12: '1',
h13: '1',
h14: '1',
h15: '1',
h16: '1',
h17: '1',
h18: '1',
h19: '1',
h20: '1',
h21: '1',
h22: '1',
h23: '1',
h24: '1',
h25: '1',
h26: '1',
h27: '1',
h28: '1',
h29: '1',
h30: '1',
h31: '1',
h32: '1',
h33: '1',
h34: '1',
h35: '1',
h36: '1',
h37: '1',
h38: '1',
h39: '1',
h40: '1',
h41: '1',
h42: '1',
h43: '1',
h44: '1',
h45: '1',
h46: '1',
h47: '1',
h48: '1',
h49: '1',
h50: '1'
},
rules: {
cvtName: [{ required: true, message: 'CVT名称不能为空', trigger: 'blur' }],
cvtModel: [{ required: true, message: 'CVT型号不能为空', trigger: 'blur' }],
h2: [{ required: true, message: '2次不能为空', trigger: 'blur' }],
h3: [{ required: true, message: '3次不能为空', trigger: 'blur' }],
h4: [{ required: true, message: '4次不能为空', trigger: 'blur' }],
h5: [{ required: true, message: '5次不能为空', trigger: 'blur' }],
h6: [{ required: true, message: '6次不能为空', trigger: 'blur' }],
h7: [{ required: true, message: '7次不能为空', trigger: 'blur' }],
h8: [{ required: true, message: '8次不能为空', trigger: 'blur' }],
h9: [{ required: true, message: '9次不能为空', trigger: 'blur' }],
h10: [{ required: true, message: '10次不能为空', trigger: 'blur' }],
h11: [{ required: true, message: '11次不能为空', trigger: 'blur' }],
h12: [{ required: true, message: '12次不能为空', trigger: 'blur' }],
h13: [{ required: true, message: '13次不能为空', trigger: 'blur' }],
h14: [{ required: true, message: '14次不能为空', trigger: 'blur' }],
h15: [{ required: true, message: '15次不能为空', trigger: 'blur' }],
h16: [{ required: true, message: '16次不能为空', trigger: 'blur' }],
h17: [{ required: true, message: '17次不能为空', trigger: 'blur' }],
h18: [{ required: true, message: '18次不能为空', trigger: 'blur' }],
h19: [{ required: true, message: '19次不能为空', trigger: 'blur' }],
h20: [{ required: true, message: '20次不能为空', trigger: 'blur' }],
h21: [{ required: true, message: '21次不能为空', trigger: 'blur' }],
h22: [{ required: true, message: '22次不能为空', trigger: 'blur' }],
h23: [{ required: true, message: '23次不能为空', trigger: 'blur' }],
h24: [{ required: true, message: '24次不能为空', trigger: 'blur' }],
h25: [{ required: true, message: '25次不能为空', trigger: 'blur' }],
h26: [{ required: true, message: '26次不能为空', trigger: 'blur' }],
h27: [{ required: true, message: '27次不能为空', trigger: 'blur' }],
h28: [{ required: true, message: '28次不能为空', trigger: 'blur' }],
h29: [{ required: true, message: '29次不能为空', trigger: 'blur' }],
h30: [{ required: true, message: '30次不能为空', trigger: 'blur' }],
h31: [{ required: true, message: '31次不能为空', trigger: 'blur' }],
h32: [{ required: true, message: '32次不能为空', trigger: 'blur' }],
h33: [{ required: true, message: '33次不能为空', trigger: 'blur' }],
h34: [{ required: true, message: '34次不能为空', trigger: 'blur' }],
h35: [{ required: true, message: '35次不能为空', trigger: 'blur' }],
h36: [{ required: true, message: '36次不能为空', trigger: 'blur' }],
h37: [{ required: true, message: '37次不能为空', trigger: 'blur' }],
h38: [{ required: true, message: '38次不能为空', trigger: 'blur' }],
h39: [{ required: true, message: '39次不能为空', trigger: 'blur' }],
h40: [{ required: true, message: '40次不能为空', trigger: 'blur' }],
h41: [{ required: true, message: '41次不能为空', trigger: 'blur' }],
h42: [{ required: true, message: '42次不能为空', trigger: 'blur' }],
h43: [{ required: true, message: '43次不能为空', trigger: 'blur' }],
h44: [{ required: true, message: '44次不能为空', trigger: 'blur' }],
h45: [{ required: true, message: '45次不能为空', trigger: 'blur' }],
h46: [{ required: true, message: '46次不能为空', trigger: 'blur' }],
h47: [{ required: true, message: '47次不能为空', trigger: 'blur' }],
h48: [{ required: true, message: '48次不能为空', trigger: 'blur' }],
h49: [{ required: true, message: '49次不能为空', trigger: 'blur' }],
h50: [{ required: true, message: '50次不能为空', trigger: 'blur' }]
}
}
},
created() {},
methods: {
// 提交
submit() {
this.$refs.form.validate(valid => {
if (valid) {
if (this.title == '新增CVT系数') {
addCVT(this.form).then(res => {
if (res.code == 'A0000') {
this.$emit('querfromdata')
this.$message({
type: 'success',
message: '新增成功!'
})
this.handleClose()
}
})
} else {
updateCvt(this.form).then(res => {
if (res.code == 'A0000') {
this.$emit('querfromdata')
this.$message({
type: 'success',
message: '修改成功!'
})
this.handleClose()
}
})
}
}
})
},
// 关闭弹窗
handleClose() {
this.dialogVisible = false
this.$refs.form.resetFields()
this.$emit('showForm')
},
// 修改
doEdit(row) {
this.form = JSON.parse(JSON.stringify(row))
},
handleInput(value, key) {
// 正则表达式,用于匹配最多保留 3 位小数的数字
const reg = /^\d*(\.\d{0,3})?$/
if (!reg.test(value)) {
// 若输入不符合要求,去除多余的小数部分
const parts = value.toString().split('.')
if (parts.length > 1) {
this.form[key] = `${parts[0]}.${parts[1].slice(0, 3)}`
} else {
this.form[key] = parts[0]
}
}
}
},
computed: {},
mounted() {
// let data = []
// for (let i = 2; i < 51; i++) {
// this.form[`h${i}`] = data[i - 2]
// }
// this.form.cvtName = '日新500-5H9.79kv中间变)'
// this.form.cvtModel = this.form.cvtName
},
watch: {}
}
</script>
<style lang="less" scoped>
@import url('../../../../styles/comStyle.less');
::v-deep .form-two {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.el-form-item {
display: flex;
width: 49%;
.el-form-item__content {
flex: 1 !important;
.el-select {
width: 100%;
}
.el-input__inner {
width: 100% !important;
}
.el-date-editor {
width: 100%;
}
}
}
}
// ::v-deep .form-two {
// display: flex;
// flex-wrap: wrap;
// justify-content: space-between;
// .el-form-item {
// display: flex;
// width: 49%;
// .el-form-item__content {
// flex: 1 !important;
// .el-select {
// width: 100%;
// }
// .el-input__inner {
// width: 100% !important;
// }
// .el-date-editor {
// width: 100%;
// }
// }
// }
// }
::v-deep .form {
display: flex;
flex-wrap: wrap;
@@ -278,6 +394,7 @@ export default {
.el-form-item {
display: flex;
width: 24%;
margin-bottom: 18px !important;
.el-form-item__content {
flex: 1 !important;
.el-select {