204 lines
4.1 KiB
Vue
204 lines
4.1 KiB
Vue
<template>
|
|
<!-- 新增制梁台座 -->
|
|
<view class="fullHeight">
|
|
<headers :showBack="true" class="">
|
|
<view class="headerName">
|
|
新增制梁台座
|
|
<view class="headerBack" @click="returnBack">
|
|
<u-icon name="arrow-left" color="#333333" size="40"></u-icon>
|
|
</view>
|
|
</view>
|
|
</headers>
|
|
<view class="makeBeamForm">
|
|
<u-form :model="form" ref="uForm">
|
|
<u-form-item label="台座类型" prop="name" label-width="150">
|
|
<span class="mustInput">*</span>
|
|
<u-input v-model="form.type" v-if="form.type !== ''" @click="openTypeSelect" />
|
|
</u-form-item>
|
|
<u-form-item label="台座工序" prop="intro" label-width="150">
|
|
<span class="mustInput">*</span>
|
|
<view :class="['select', form.selectValue ? 'selected' : '']"
|
|
@tap="handleMultiple(form.selectIndex)">
|
|
{{form.selectValue || '请选择'}}
|
|
</view>
|
|
</u-form-item>
|
|
<u-form-item label="台座编号/名称" prop="name" label-width="200">
|
|
<span class="mustInput">*</span>
|
|
<u-input v-model="form.name" />
|
|
</u-form-item>
|
|
</u-form>
|
|
</view>
|
|
<u-select v-model="showType" :list="list" @confirm="confirm"></u-select>
|
|
<multiple-picker title="请选择" :show="selectMultiple.show" :columns="selectMultiple.columns"
|
|
:defaultIndex="selectMultiple.index" @confirm="confirmMultiple" @cancel="selectMultiple.show = false"
|
|
@change="changeMultiple"></multiple-picker>
|
|
<view class="submitMakeBeam" @click="submit">
|
|
确定
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import multiplePicker from "@/components/multiple-picker/multiple-picker";
|
|
export default {
|
|
components: {
|
|
multiplePicker
|
|
},
|
|
data() {
|
|
return {
|
|
showType: false,
|
|
list: [{
|
|
value: '1',
|
|
label: '江'
|
|
},
|
|
{
|
|
value: '2',
|
|
label: '湖'
|
|
}
|
|
],
|
|
form: {
|
|
selectValue: '', //回显输入框
|
|
selectIndex: [], //回显下拉框
|
|
},
|
|
selectMultiple: {
|
|
show: false,
|
|
index: [],
|
|
columns: [{
|
|
label: '测试1',
|
|
value: '1',
|
|
},
|
|
{
|
|
label: '测试2',
|
|
value: '2',
|
|
},
|
|
{
|
|
label: '测试3',
|
|
value: '3',
|
|
},
|
|
{
|
|
label: '测试4',
|
|
value: '4',
|
|
},
|
|
{
|
|
label: '测试5',
|
|
value: '5',
|
|
},
|
|
{
|
|
label: '测试6',
|
|
value: '6',
|
|
},
|
|
{
|
|
label: '测试7',
|
|
value: '7',
|
|
}
|
|
],
|
|
},
|
|
};
|
|
},
|
|
methods: {
|
|
returnBack() {
|
|
console.log("返回")
|
|
uni.navigateBack()
|
|
},
|
|
confirm(e) {
|
|
console.log("下拉确认",e)
|
|
this.form.type = e[0].label
|
|
},
|
|
openTypeSelect() {
|
|
this.showType = true
|
|
},
|
|
handleMultiple(val) {
|
|
console.log(val);
|
|
|
|
this.selectMultiple.index = val || [];
|
|
this.selectMultiple.show = true;
|
|
},
|
|
confirmMultiple(e) {
|
|
console.log(e);
|
|
|
|
let temp = [];
|
|
e.selected.forEach(item => {
|
|
temp.push(item.label);
|
|
})
|
|
this.form.selectValue = temp.toString();
|
|
this.form.selectIndex = e.value;
|
|
this.selectMultiple.show = false;
|
|
},
|
|
changeMultiple(e) {
|
|
console.log("选择改变", e);
|
|
},
|
|
submit() {
|
|
this.$refs.uForm.validate(valid => {
|
|
if (valid) {
|
|
console.log('验证通过');
|
|
} else {
|
|
console.log('验证失败');
|
|
}
|
|
});
|
|
}
|
|
},
|
|
onReady() {}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.headerBack {
|
|
position: absolute;
|
|
left: 5%;
|
|
top: 5%;
|
|
}
|
|
|
|
.makeBeamForm {
|
|
padding: 0 38rpx;
|
|
}
|
|
|
|
.mustInput {
|
|
color: red;
|
|
position: absolute;
|
|
top: 26rpx;
|
|
left: -20rpx;
|
|
}
|
|
|
|
.submitMakeBeam {
|
|
position: fixed;
|
|
bottom: 50rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 665rpx;
|
|
height: 69rpx;
|
|
margin-left: 40rpx;
|
|
color: #fff;
|
|
background: #5181F6;
|
|
border-radius: 142rpx;
|
|
}
|
|
|
|
.form {
|
|
width: 100%;
|
|
padding: 40rpx 30rpx;
|
|
box-sizing: border-box;
|
|
|
|
.item {
|
|
width: 100%;
|
|
padding: 20rpx 0;
|
|
|
|
.select {
|
|
width: 100%;
|
|
border: 1px solid #dadbde;
|
|
padding-top: 6px;
|
|
padding-bottom: 6px;
|
|
padding-left: 9px;
|
|
padding-right: 9px;
|
|
border-radius: 4px;
|
|
font-size: 30rpx;
|
|
box-sizing: border-box;
|
|
color: #CCCCCC;
|
|
line-height: 52rpx;
|
|
|
|
&.selected {
|
|
color: black;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style> |