|
...
|
...
|
@@ -22,49 +22,49 @@ |
|
|
|
<view class="carInfo">
|
|
|
|
<view class="card_title">车主信息</view>
|
|
|
|
<up-form-item label="车主姓名" prop="name">
|
|
|
|
<up-input v-model="form.name" fontSize="28rpx" color="#999" placeholder="请输入真实姓名" border="none" inputAlign="right" />
|
|
|
|
<up-input v-model="userInfo.nickName" disabled disabledColor="#fff" fontSize="28rpx" color="#999" placeholder="请输入真实姓名" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="身份证号" prop="identificationNumber">
|
|
|
|
<up-input v-model="form.identificationNumber" fontSize="28rpx" color="#999" placeholder="请输入身份证号" border="none" inputAlign="right" />
|
|
|
|
<up-input v-model="userInfo.identificationNumber" disabled disabledColor="#fff" fontSize="28rpx" color="#999" placeholder="请输入身份证号" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
</view>
|
|
|
|
<!-- 行驶信息 -->
|
|
|
|
<view class="carInfo">
|
|
|
|
<view class="card_title">行驶证信息</view>
|
|
|
|
<up-form-item label="车牌号码" prop="licensePlateNumber">
|
|
|
|
<up-form-item label="车牌号码" prop="licensePlateNumber" required>
|
|
|
|
<up-input v-model="form.licensePlateNumber" fontSize="28rpx" color="#999" placeholder="请输入车牌号码" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="号牌种类" prop="lincensePlateType">
|
|
|
|
<up-form-item label="号牌种类" prop="lincensePlateTypeId" required>
|
|
|
|
<uni-data-select
|
|
|
|
v-model="form.lincensePlateTypeId"
|
|
|
|
:localdata="carNumOption"
|
|
|
|
placeholder="请选择号牌种类"
|
|
|
|
/>
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="车架号" prop="frameNumber">
|
|
|
|
<up-form-item label="车架号" prop="frameNumber" required>
|
|
|
|
<up-input v-model="form.frameNumber" fontSize="28rpx" color="#999" placeholder="请输入车架号" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="发动机号" prop="engineNumber">
|
|
|
|
<up-form-item label="发动机号" prop="engineNumber" required>
|
|
|
|
<up-input v-model="form.engineNumber" fontSize="28rpx" color="#999" placeholder="请输入发动机号" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="车辆类型" prop="vehicleType">
|
|
|
|
<up-form-item label="车辆类型" prop="vehicleTypeId" required>
|
|
|
|
<uni-data-select
|
|
|
|
v-model="form.vehicleTypeId"
|
|
|
|
:localdata="carTypeOption"
|
|
|
|
placeholder="请选择车辆类型"
|
|
|
|
/>
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="车辆使用性质" prop="vehicleNature">
|
|
|
|
<up-form-item label="车辆使用性质" prop="vehicleNatureId" required>
|
|
|
|
<uni-data-select
|
|
|
|
v-model="form.vehicleNatureId"
|
|
|
|
:localdata="carNatureOption"
|
|
|
|
placeholder="请选择车辆使用性质"
|
|
|
|
/>
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="核定客载数(人)" prop="passengersNumber">
|
|
|
|
<up-form-item label="核定客载数(人)" prop="passengersNumber" required>
|
|
|
|
<up-input v-model="form.passengersNumber" fontSize="28rpx" color="#999" placeholder="请输入核载人数" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="核定载质量(千克)" prop="passengerCapacity">
|
|
|
|
<up-form-item label="核定载质量(千克)" prop="passengerCapacity" required>
|
|
|
|
<up-input v-model="form.passengerCapacity" fontSize="28rpx" color="#999" placeholder="请输入核载重量" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="排量毫升" prop="emissions">
|
|
...
|
...
|
@@ -92,7 +92,7 @@ |
|
|
|
<up-form-item v-else label="中文品牌" prop="vehicleBrand">
|
|
|
|
<up-input v-model="form.customizeVehicleBrand" fontSize="28rpx" color="#999" placeholder="请填写中文品牌" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="准牵引质量" prop="tractionMass">
|
|
|
|
<up-form-item label="准牵引质量" prop="tractionMass" required>
|
|
|
|
<up-input v-model="form.tractionMass" fontSize="28rpx" color="#999" placeholder="请填写准牵引准质量" border="none" inputAlign="right" />
|
|
|
|
</up-form-item>
|
|
|
|
<up-form-item label="保险需求" prop="requirements">
|
|
...
|
...
|
@@ -106,7 +106,8 @@ |
|
|
|
|
|
|
|
<view class="tip">请认真核实车辆信息,实际投保车辆信息以保险公司确认为准</view>
|
|
|
|
|
|
|
|
<view class="btn confirmBtn" @click="submitInfo">确认</view>
|
|
|
|
<view v-show="!isEdit" class="btn confirmBtn" @click="submitInfo">确认</view>
|
|
|
|
<view v-show="isRole" class="btn confirmBtn" @click="submitEdit">提交修改</view>
|
|
|
|
</up-form>
|
|
|
|
<up-popup :show="showTip" mode="center" :safeAreaInsetBottom="false" round="20" @close="showTip = false">
|
|
|
|
<view class="notice">
|
|
...
|
...
|
@@ -124,10 +125,13 @@ |
|
|
|
import { debounce } from '@/uni_modules/uview-plus';
|
|
|
|
import { computed, reactive, ref } from 'vue';
|
|
|
|
import navTop from '@/components/navTop.vue';
|
|
|
|
import { carInfoAdd } from '@/api/user.js'
|
|
|
|
import { onLoad } from '@dcloudio/uni-app'
|
|
|
|
import { carInfoAdd, carInfoEdit } from '@/api/user.js'
|
|
|
|
import { onLoad, onReady } from '@dcloudio/uni-app'
|
|
|
|
import { disposeUser } from '@/api/work.js'
|
|
|
|
import useUserStore from '@/store/modules/user';
|
|
|
|
import { getCarNumApi, getCarTypeApi, getCarNatureApi, getCarBrandApi, getCarModelApi, getNeedApi, getListDeptApi, getCarDetail } from '@/api/car.js'
|
|
|
|
const showTip = ref(true)
|
|
|
|
const { userInfo } = useUserStore()
|
|
|
|
const brandTitle = ref('请选择中文品牌')
|
|
|
|
const disable = ref(false)
|
|
|
|
const labelStyle = {
|
|
...
|
...
|
@@ -135,8 +139,13 @@ const labelStyle = { |
|
|
|
lineHeight: '38rpx',
|
|
|
|
color: '#3D3D3D'
|
|
|
|
}
|
|
|
|
// 表单引用
|
|
|
|
const uFormRef = ref(null)
|
|
|
|
const isShowHeader = ref(false)
|
|
|
|
const isCustom = ref(false)
|
|
|
|
const taskId = ref('')
|
|
|
|
const isEdit = ref(false)
|
|
|
|
const isRole = ref(false)
|
|
|
|
const searchList = ref([])
|
|
|
|
const showList = ref(false)
|
|
|
|
const form = ref({
|
|
...
|
...
|
@@ -171,11 +180,41 @@ const queryModelParams = reactive({ |
|
|
|
pageNum: 1,
|
|
|
|
modelName: undefined
|
|
|
|
})
|
|
|
|
|
|
|
|
const rules = {
|
|
|
|
licensePlateNumber: [{ required: true, message: '请输入车牌号', trigger: ['blur', 'change']}],
|
|
|
|
lincensePlateTypeId: [{ required: true, message: '请选择号牌种类', trigger: ['change']}],
|
|
|
|
frameNumber: [{ required: true, message: '请输入车架号', trigger: ['blur', 'change']}],
|
|
|
|
engineNumber: [{ required: true, message: '请输入发动机号', trigger: ['blur', 'change']}],
|
|
|
|
vehicleTypeId: [{ required: true, message: '请选择车辆类型', trigger: ['change']}],
|
|
|
|
vehicleNatureId: [{ required: true, message: '请选择车辆使用性质', trigger: ['blur', 'change']}],
|
|
|
|
passengersNumber: [
|
|
|
|
{ required: true, message: '请输入载客人数', trigger: ['blur', 'change']},
|
|
|
|
{ type: 'number', message: '请输入整数', trigger: ['blur', 'change']}
|
|
|
|
],
|
|
|
|
passengerCapacity: [
|
|
|
|
{ required: true, message: '请输入核定载质量', trigger: ['blur', 'change']},
|
|
|
|
{ type: 'number', message: '请输入整数', trigger: ['blur', 'change']}
|
|
|
|
],
|
|
|
|
tractionMass: [
|
|
|
|
{ required: true, message: '请输入准牵引质量', trigger: ['blur', 'change']},
|
|
|
|
{ type: 'number', message: '请输入整数', trigger: ['blur', 'change']}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
// 微信小程序需要在此注册校验规则
|
|
|
|
onReady(() => {
|
|
|
|
uFormRef.value.setRules(rules)
|
|
|
|
})
|
|
|
|
onLoad(async (options) => {
|
|
|
|
if(options.roleId !== undefined || options.taskId !== undefined){
|
|
|
|
isRole.value = true
|
|
|
|
taskId.value = options.taskId
|
|
|
|
}
|
|
|
|
if(options.carInfoId !== undefined) {
|
|
|
|
const { data } = await getCarDetail(options.carInfoId)
|
|
|
|
form.value = data
|
|
|
|
isCustom.value = data.isCustomizeBrandAndModel == "0"
|
|
|
|
isEdit.value = true
|
|
|
|
isShowHeader.value = true
|
|
|
|
}
|
|
|
|
})
|
|
...
|
...
|
@@ -187,7 +226,7 @@ const getCompanyOption = () => { |
|
|
|
const newList = data.filter(item => item.parentId === 100)
|
|
|
|
const arrList = newList.map(item => {
|
|
|
|
return {
|
|
|
|
value: item.deptId,
|
|
|
|
value: item.deptId.toString(),
|
|
|
|
text: item.deptName
|
|
|
|
}
|
|
|
|
})
|
|
...
|
...
|
@@ -299,10 +338,52 @@ const selectModel = (item) => { |
|
|
|
isCustom.value = true
|
|
|
|
form.value.isCustomizeBrandAndModel = '0'
|
|
|
|
}
|
|
|
|
|
|
|
|
// 添加车辆信息
|
|
|
|
const submitInfo = async () => {
|
|
|
|
await carInfoAdd(form.value)
|
|
|
|
uni.$u.toast('添加成功')
|
|
|
|
if(form.value.isCustomizeBrandAndModel === '1') {
|
|
|
|
if(form.value.customizeVehicleBrand === '' || form.value.customizeVehicleModel === '') {
|
|
|
|
return uni.$u.toast('车辆型号和品牌必须填写')
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
if(form.value.vehicleBrandId === '' || form.value.vehicleModelId === '') {
|
|
|
|
return uni.$u.toast('车辆型号和品牌必须填写')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
uFormRef.value.validate().then(async valid => {
|
|
|
|
if (valid) {
|
|
|
|
await carInfoAdd(form.value)
|
|
|
|
uni.$u.toast('添加成功')
|
|
|
|
uni.navigateBack()
|
|
|
|
} else {
|
|
|
|
uni.$u.toast('校验失败')
|
|
|
|
}
|
|
|
|
}).catch((err) => {
|
|
|
|
// 处理验证错误
|
|
|
|
uni.$u.toast('校验失败')
|
|
|
|
});
|
|
|
|
}
|
|
|
|
// 提交修改
|
|
|
|
const submitEdit = async () => {
|
|
|
|
if(form.value.isCustomizeBrandAndModel === '1') {
|
|
|
|
if(form.value.customizeVehicleBrand === '' || form.value.customizeVehicleModel === '') {
|
|
|
|
return uni.$u.toast('车辆型号和品牌必须填写')
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
if(form.value.vehicleBrandId === '' || form.value.vehicleModelId === '') {
|
|
|
|
return uni.$u.toast('车辆型号和品牌必须填写')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!taskId.value === undefined) {
|
|
|
|
await carInfoEdit(form.value)
|
|
|
|
uni.$u.toast('修改成功')
|
|
|
|
uni.navigateBack()
|
|
|
|
}else {
|
|
|
|
await carInfoEdit(form.value)
|
|
|
|
disposeUser({reregistration:'true'}, taskId.value).then(res => {
|
|
|
|
uni.$u.toast('提交成功')
|
|
|
|
})
|
|
|
|
uni.navigateBack()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
...
|
...
|
|