|
@@ -1,32 +1,31 @@
|
|
|
<template>
|
|
|
<div class="set-background">
|
|
|
- <div class="block">
|
|
|
- <el-form ref="form" :model="form" :rules="serviceDataRules">
|
|
|
+ <el-form ref="form" :model="form" hide-required-asterisk :rules="serviceDataRules">
|
|
|
+ <div class="block">
|
|
|
<el-form-item label="Eculd" prop="ecuId" :label-width="formLabelWidth">
|
|
|
<el-input v-model="form.ecuId" style="width: 35%;" autocomplete="off" />
|
|
|
- <div class="tip"><p>以VIR开头拼接13位数字 , 示例 : VIR0419070800454</p></div>
|
|
|
+ <div class="tip"><p>13位数字 , 示例 : ECA0419070800454</p></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="BatteryId" prop="batteryId" :label-width="formLabelWidth">
|
|
|
<el-input v-model="form.batteryId" style="width: 35%;" autocomplete="off" />
|
|
|
- <div class="tip"><p>以BAA开头拼接13位数字 , 示例 : BAA3218101509005</p></div>
|
|
|
+ <div class="tip"><p>13位数字 , 示例 : BAA3218101509005</p></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="VehicleId" prop="vehicleId" :label-width="formLabelWidth">
|
|
|
<el-input v-model="form.vehicleId" style="width: 35%;" autocomplete="off" />
|
|
|
- <div class="tip"><p>以9开头的8位数字 , 示例 : 92264605</p></div>
|
|
|
+ <div class="tip"><p>8位数字 , 示例 : 92264605</p></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Imei" prop="imei" :label-width="formLabelWidth">
|
|
|
<el-input v-model="form.imei" style="width: 35%;" autocomplete="off" />
|
|
|
- <div class="tip"><p>以9开头的15位数字 , 示例 : 967047046635466</p></div>
|
|
|
+ <div class="tip"><p>15位数字 , 示例 : 967047046635466</p></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Imsi" prop="imsi" :label-width="formLabelWidth">
|
|
|
<el-input v-model="form.imsi" style="width: 35%;" autocomplete="off" />
|
|
|
- <div class="tip"><p>以9开头的15位数字 , 示例 : 960046550508466</p></div>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="VehicleVersion" prop="vehicleVersion" :label-width="formLabelWidth">
|
|
|
- <el-input v-model="form.vehicleVersion" style="width: 35%;" autocomplete="off" />
|
|
|
+ <div class="tip"><p>15位数字 , 示例 : 960046550508466</p></div>
|
|
|
</el-form-item>
|
|
|
+ </div>
|
|
|
+ <div class="block">
|
|
|
<el-form-item label="City" prop="cityName" :label-width="formLabelWidth">
|
|
|
- <el-select v-model="form.cityName" filterable placeholder="请选择">
|
|
|
+ <el-select v-model="form.cityName" style="width: 35%;" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in city"
|
|
|
:key="item.CityID"
|
|
@@ -35,12 +34,32 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="Lat" prop="lat" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="form.lat" style="width: 35%;" autocomplete="off" />
|
|
|
+ <div class="tip"><p>保留15位小数 , 示例 : 30.290707717493753</p></div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="Lng" prop="lng" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="form.lng" style="width: 35%;" autocomplete="off" />
|
|
|
+ <div class="tip"><p>保留15位小数 , 示例 : 120.07451533496764</p></div>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div class="block">
|
|
|
+ <el-form-item label="VehicleVersion" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="form.vehicleVersion" style="width: 35%;" autocomplete="off" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="VehicleStatus" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="form.vehicleStatus" style="width: 35%;" autocomplete="off" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="OperationStatus" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="form.operationStatus" style="width: 35%;" autocomplete="off" />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item class="submit">
|
|
|
- <el-button size="mini" type="primary" @click="createFormData(form)">保 存</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="createFormData(form)">确 认</el-button>
|
|
|
+ <el-button size="mini" type="success" @click="oneKeyCreate()">一键创建</el-button>
|
|
|
<el-button size="mini" type="danger" @click="$router.go(-1)">取 消</el-button>
|
|
|
</el-form-item>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -56,29 +75,43 @@ export default {
|
|
|
city: cityJson,
|
|
|
value: '',
|
|
|
serviceDataRules: {
|
|
|
- imei: [{ required: true, message: '终端IMEI码必须为十五位', trigger: 'change' }],
|
|
|
- ecuId: [{ required: true, message: '硬件中控ID不能为空', trigger: 'change' }],
|
|
|
- vehicleId: [{ required: true, message: '车辆ID不能为空', trigger: 'change' }],
|
|
|
- imsi: [{ required: true, message: '终端IMSI码不能为空', trigger: 'change' }],
|
|
|
- batteryId: [{ required: true, message: '电池ID不能为空', trigger: 'change' }],
|
|
|
- vehicleVersion: [{ required: true, message: '整车版本不能为空', trigger: 'change' }],
|
|
|
- cityName: [{ required: true, message: '城市名称不能为空', trigger: 'change' }]
|
|
|
+ imei: [{ required: true, message: '终端IMEI码必须为十五位', trigger: 'blur' }],
|
|
|
+ ecuId: [{ required: true, message: '硬件中控ID不能为空', trigger: 'blur' }],
|
|
|
+ vehicleId: [{ required: true, message: '车辆ID不能为空', trigger: 'blur' }],
|
|
|
+ imsi: [{ required: true, message: '终端IMSI码不能为空', trigger: 'blur' }],
|
|
|
+ batteryId: [{ required: true, message: '电池ID不能为空', trigger: 'blur' }],
|
|
|
+ cityName: [{ required: true, message: '城市名称不能为空', trigger: 'blur' }],
|
|
|
+ lat: [{ required: true, message: '纬度不能为空', trigger: 'blur' }],
|
|
|
+ lng: [{ required: true, message: '经度不能为空', trigger: 'blur' }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
// 提交表单并且返回刷新
|
|
|
createFormData(form) {
|
|
|
- this.$refs.form.validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- createHmVirtualDevice(form).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.successFun('create')
|
|
|
- this.$router.go(-1)
|
|
|
- } else {
|
|
|
- this.errorFun('create')
|
|
|
- }
|
|
|
- })
|
|
|
+ if (this.form.ecuId || this.form.batteryId || this.form.imei || this.form.imsi || this.form.vehicleId) {
|
|
|
+ this.$refs.form.validateField(['ecuId', 'batteryId', 'imei', 'imsi', 'vehicleId'], (valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ console.log('Timer')
|
|
|
+ // createHmVirtualDevice(form).then(res => {
|
|
|
+ // if (res.code === 200) {
|
|
|
+ // this.successFun('create')
|
|
|
+ // this.$router.go(-1)
|
|
|
+ // } else {
|
|
|
+ // this.errorFun(res.msg)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ oneKeyCreate() {
|
|
|
+ createHmVirtualDevice({}).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.successFun('create')
|
|
|
+ this.$router.go(-1)
|
|
|
+ } else {
|
|
|
+ this.errorFun(res.msg)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -86,7 +119,7 @@ export default {
|
|
|
this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
|
|
|
},
|
|
|
errorFun(errorText) {
|
|
|
- this.$notify({ title: 'Failed', message: `${errorText} Failed`, type: 'error', duration: 2000 })
|
|
|
+ this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -99,37 +132,39 @@ export default {
|
|
|
justify-content center
|
|
|
min-width 700px
|
|
|
position: absolute
|
|
|
- z-index: 999
|
|
|
+ z-index: 2000
|
|
|
left 0
|
|
|
right 0
|
|
|
bottom 0
|
|
|
top 0
|
|
|
- .block
|
|
|
- background-color rgba(255,255,255,1)
|
|
|
- box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
|
|
|
- border-radius 7px
|
|
|
- width 96%
|
|
|
- margin 25px 0
|
|
|
- padding 60px
|
|
|
- min-height calc(100vh - 100px)
|
|
|
- .block >>> .el-form-item__label
|
|
|
- display flex
|
|
|
- .block >>> .el-form-item__content
|
|
|
- display flex
|
|
|
- .tip
|
|
|
- width 60%
|
|
|
- position relative
|
|
|
- text-align center
|
|
|
- .tip p
|
|
|
- position absolute
|
|
|
- bottom 0px
|
|
|
- padding 0px
|
|
|
- margin 0px
|
|
|
- color grey
|
|
|
- height 30px
|
|
|
- margin-left 15px
|
|
|
- .submit
|
|
|
- display flex
|
|
|
- flex-direction row-reverse
|
|
|
- // margin-top 60px
|
|
|
+ .set-background >>> .el-form
|
|
|
+ width 100%
|
|
|
+ overflow auto
|
|
|
+ .block
|
|
|
+ background-color rgba(255,255,255,1)
|
|
|
+ box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
|
|
|
+ border-radius 7px
|
|
|
+ width 96%
|
|
|
+ margin 20px auto
|
|
|
+ padding 29px 50px
|
|
|
+ .block >>> .el-form-item__label
|
|
|
+ display flex
|
|
|
+ .block >>> .el-form-item__content
|
|
|
+ display flex
|
|
|
+ .tip
|
|
|
+ width 60%
|
|
|
+ position relative
|
|
|
+ text-align center
|
|
|
+ .tip p
|
|
|
+ position absolute
|
|
|
+ bottom 0px
|
|
|
+ padding 0px
|
|
|
+ margin 0px
|
|
|
+ color grey
|
|
|
+ height 30px
|
|
|
+ margin-left 15px
|
|
|
+ .submit
|
|
|
+ display flex
|
|
|
+ flex-direction row-reverse
|
|
|
+ // margin-top 60px
|
|
|
</style>
|