bug修改
This commit is contained in:
parent
6944f35b79
commit
ceb6bda6fe
@ -5,7 +5,7 @@ VITE_DEV=true
|
||||
|
||||
# 请求路径
|
||||
# VITE_BASE_URL='http://192.168.0.74:48080'
|
||||
# VITE_BASE_URL='http://192.168.0.189:48080'
|
||||
# VITE_BASE_URL='http://192.168.0.226:48080'
|
||||
VITE_BASE_URL='http://192.168.0.45:48080'
|
||||
|
||||
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
|
||||
|
@ -1,8 +1,13 @@
|
||||
<template>
|
||||
<Dialog v-model="dialogVisible" :title="title" width="545px" style="padding: 0;">
|
||||
<Dialog v-model="dialogVisible" :title="title" width="545px" style="padding: 0">
|
||||
<el-form :model="formData" label-width="auto" ref="formRef" :rules="formRules">
|
||||
<el-form-item label="车辆类型" prop="robotModelId" required>
|
||||
<el-select v-model="formData.robotModelId" placeholder="请选择车辆类型" required :disabled="formData.id">
|
||||
<el-select
|
||||
v-model="formData.robotModelId"
|
||||
placeholder="请选择车辆类型"
|
||||
required
|
||||
:disabled="formData.id"
|
||||
>
|
||||
<el-option
|
||||
:label="item.robotModelNumber"
|
||||
:value="item.id"
|
||||
@ -12,29 +17,48 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item required label="车辆编号" prop="robotNo">
|
||||
<el-input v-model="formData.robotNo" :disabled="false" placeholder="请输入车辆编号"/>
|
||||
<el-input
|
||||
v-model="formData.robotNo"
|
||||
:disabled="false"
|
||||
placeholder="请输入车辆编号"
|
||||
maxlength="10"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item required label="车辆状态" v-if="formData.id">
|
||||
<el-select v-model="formData.robotTaskModel" placeholder="请选择车辆类型" required>
|
||||
<el-option
|
||||
:label="'锁定'"
|
||||
:value="0"
|
||||
/>
|
||||
<el-option
|
||||
:label="'正常'"
|
||||
:value="1"
|
||||
/>
|
||||
<el-option :label="'锁定'" :value="0" />
|
||||
<el-option :label="'正常'" :value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item required label="自动充电电量" prop="autoCharge">
|
||||
<el-input-number style="width: 100px;" v-model="formData.autoCharge" :disabled="false" :controls="false" :precision="0" :step="1" type="number" :min="0" :max="99" placeholder="请输入自动充电电量">
|
||||
<el-input-number
|
||||
style="width: 100px"
|
||||
v-model="formData.autoCharge"
|
||||
:disabled="false"
|
||||
:controls="false"
|
||||
:precision="0"
|
||||
:step="1"
|
||||
type="number"
|
||||
:min="0"
|
||||
:max="99"
|
||||
placeholder="请输入自动充电电量"
|
||||
>
|
||||
<template #append>%</template>
|
||||
</el-input-number>
|
||||
<span style="margin-left: 5px;">%</span>
|
||||
<span style="margin-left: 4px;color: #C60606;font-size: 12px;">建议自动充电电量大于30%</span>
|
||||
<span style="margin-left: 5px">%</span>
|
||||
<span style="margin-left: 4px; color: #c60606; font-size: 12px"
|
||||
>建议自动充电电量大于30%</span
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item required label="Mac地址" prop="macAddress">
|
||||
<el-input v-model="formData.macAddress" :disabled="false" placeholder="请输入Mac地址"/>
|
||||
<el-input
|
||||
v-model="formData.macAddress"
|
||||
:disabled="false"
|
||||
placeholder="请输入Mac地址"
|
||||
maxlength="25"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item required label="选择范围" placeholder="请选择范围">
|
||||
<el-cascader
|
||||
@ -48,8 +72,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<template #footer >
|
||||
<div style="padding: 0 10px 10px 0;">
|
||||
<template #footer>
|
||||
<div style="padding: 0 10px 10px 0">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
</div>
|
||||
@ -86,11 +110,13 @@ const getFloorArea = async () => {
|
||||
let data = []
|
||||
let floor = []
|
||||
data = res
|
||||
for(let key in res){
|
||||
for (let key in res) {
|
||||
let obj = {
|
||||
value: key,
|
||||
label: key + '层',
|
||||
children: res[key].map(item => {return {label: item.area, value: item.id,...item,children: []}})
|
||||
children: res[key].map((item) => {
|
||||
return { label: item.area, value: item.id, ...item, children: [] }
|
||||
})
|
||||
}
|
||||
floor.push(obj)
|
||||
}
|
||||
@ -101,7 +127,7 @@ const getFloorArea = async () => {
|
||||
const floorAreaChange = (value) => {
|
||||
console.log(value)
|
||||
formData.value.floorAreaJson = []
|
||||
value.forEach(item => {
|
||||
value.forEach((item) => {
|
||||
formData.value.floorAreaJson.push(item[1])
|
||||
})
|
||||
console.log(formData.value.floorAreaJson)
|
||||
@ -124,11 +150,11 @@ const open = async (type, id) => {
|
||||
resetForm()
|
||||
if (id) {
|
||||
title.value = '编辑'
|
||||
const data = await CarApi.getRobotInformation({id})
|
||||
const data = await CarApi.getRobotInformation({ id })
|
||||
formData.value = data
|
||||
if(data.positionMapList.length){
|
||||
data.positionMapList.forEach(item => {
|
||||
floorAreaJsonData.value.push([item.floor,item.id])
|
||||
if (data.positionMapList.length) {
|
||||
data.positionMapList.forEach((item) => {
|
||||
floorAreaJsonData.value.push([item.floor, item.id])
|
||||
})
|
||||
}
|
||||
console.log(data)
|
||||
@ -147,14 +173,14 @@ const submitForm = async () => {
|
||||
if (!formRef) return
|
||||
const valid = await formRef.value.validate()
|
||||
if (!valid) return
|
||||
if(!formData.value.floorAreaJson.length){
|
||||
if (!formData.value.floorAreaJson.length) {
|
||||
message.warning('请选择范围')
|
||||
return
|
||||
}
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
if(formData.value.id){
|
||||
if (formData.value.id) {
|
||||
await CarApi.robotInformationUpdate(formData.value)
|
||||
message.success(t('common.updateSuccess'))
|
||||
dialogVisible.value = false
|
||||
@ -236,7 +262,6 @@ const resetForm = () => {
|
||||
border-bottom: 1px solid #e8e8e8 !important;
|
||||
}
|
||||
|
||||
|
||||
.task-tips {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -205,6 +205,14 @@ const props = defineProps({
|
||||
const ruleFormRef = ref()
|
||||
const dialogFormVisible = ref(false) //列表的
|
||||
|
||||
const validateNumberLength = (rule, value, callback) => {
|
||||
if (value.toString().length > 25) {
|
||||
callback(new Error('输入的数字长度不能超过25位'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
const rules = reactive({
|
||||
startPointX: [
|
||||
{ required: true, message: '请输入开始点位x轴坐标', trigger: 'blur' },
|
||||
@ -214,7 +222,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.width),
|
||||
message: `不能超过地图宽度${props.imgBgObj.width}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
startPointY: [
|
||||
{ required: true, message: '请输入开始点位y轴坐标', trigger: 'blur' },
|
||||
@ -224,7 +233,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.height),
|
||||
message: `不能超过地图宽度${props.imgBgObj.height}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
endPointX: [
|
||||
{ required: true, message: '请输入结束点位x轴坐标', trigger: 'blur' },
|
||||
@ -234,7 +244,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.width),
|
||||
message: `不能超过地图宽度${props.imgBgObj.width}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
endPointY: [
|
||||
{ required: true, message: '请输入结束点位y轴坐标', trigger: 'blur' },
|
||||
@ -244,7 +255,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.height),
|
||||
message: `不能超过地图宽度${props.imgBgObj.height}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
expansionZoneFront: [{ required: true, message: '请输入膨胀区域前', trigger: 'blur' }],
|
||||
expansionZoneAfter: [{ required: true, message: '请输入膨胀区域后', trigger: 'blur' }],
|
||||
|
@ -206,6 +206,14 @@ watch(
|
||||
{ immediate: true }
|
||||
)
|
||||
|
||||
const validateNumberLength = (rule, value, callback) => {
|
||||
if (value.toString().length > 25) {
|
||||
callback(new Error('输入的数字长度不能超过25位'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
const rules = reactive({
|
||||
locationX: [
|
||||
{ required: true, message: '请输入X', trigger: 'blur' },
|
||||
@ -215,7 +223,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.width),
|
||||
message: `不能超过地图宽度${props.imgBgObj.width}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
locationY: [
|
||||
{ required: true, message: '请输入Y', trigger: 'blur' },
|
||||
@ -225,7 +234,8 @@ const rules = reactive({
|
||||
max: Number(props.imgBgObj.height),
|
||||
message: `不能超过地图长度${props.imgBgObj.height}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
},
|
||||
{ validator: validateNumberLength, trigger: 'blur' }
|
||||
],
|
||||
locationYaw: [{ required: true, message: '请输入弧度', trigger: 'blur' }],
|
||||
type: [{ required: true, message: '请选择类型', trigger: 'blur' }],
|
||||
@ -310,6 +320,7 @@ const submit = async (formEl) => {
|
||||
form.value.dataObj.outDirection = form.value.outDirection
|
||||
form.value.dataObj.id = form.value.deviceId
|
||||
form.value.dataObj.deviceType = deviceInfo.value.deviceType
|
||||
form.value.dataObj.deviceNo = deviceInfo.value.deviceNo
|
||||
form.value.dataObj.mapImageUrl = deviceInfo.value.mapImageUrl
|
||||
form.value.mapImageUrl = deviceInfo.value.mapImageUrl
|
||||
//dataJson数据
|
||||
@ -340,6 +351,9 @@ const open = (item, list) => {
|
||||
form.value.layersNumber = item.dataList?.length || ''
|
||||
form.value.deviceId = item?.deviceId || item?.dataObj?.id || ''
|
||||
form.value.positionMapId = props.positionMapId
|
||||
deviceInfo.value.deviceNo = item?.deviceNo || item?.dataObj?.deviceNo || ''
|
||||
deviceInfo.value.mapImageUrl = item?.mapImageUrl || item?.dataObj?.mapImageUrl || ''
|
||||
|
||||
equipmentList.value = list
|
||||
if (item?.dataObj?.deviceType) {
|
||||
deviceInfo.value.deviceType = item.dataObj.deviceType || ''
|
||||
@ -422,6 +436,7 @@ const deviceChange = (deviceId) => {
|
||||
deviceList.value.forEach((item) => {
|
||||
if (item.id == deviceId) {
|
||||
deviceInfo.value.mapImageUrl = item.mapImageUrl
|
||||
deviceInfo.value.deviceNo = item.deviceNo
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -436,7 +451,8 @@ const directionChange = (e) => {
|
||||
const deviceInfo = ref({
|
||||
positionMapId: '',
|
||||
deviceType: '',
|
||||
mapImageUrl: ''
|
||||
mapImageUrl: '',
|
||||
deviceNo: ''
|
||||
})
|
||||
//设备列表
|
||||
const deviceList = ref([])
|
||||
|
@ -13,8 +13,8 @@
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="80" align="center" />
|
||||
<el-table-column prop="skuInfo" label="物料区域名称" align="center" />
|
||||
<el-table-column prop="areaName" label="物料名称" align="center" />
|
||||
<el-table-column prop="areaName" label="物料区域名称" align="center" />
|
||||
<el-table-column prop="skuInfo" label="物料名称" align="center" />
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="primary" @click="handleEdit(scope.row)"> 编辑 </el-button>
|
||||
@ -38,12 +38,12 @@
|
||||
|
||||
<el-dialog v-model="editDialogFormVisible" title="编辑" width="400">
|
||||
<el-form :model="editForm" label-width="110" :rules="editRules" ref="editFormEl">
|
||||
<el-form-item label="物料区域名称" prop="skuInfo" required>
|
||||
<el-input v-model="editForm.skuInfo" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="areaName" required>
|
||||
<el-form-item label="物料区域名称" prop="areaName" required>
|
||||
<el-input v-model="editForm.areaName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="skuInfo" required>
|
||||
<el-input v-model="editForm.skuInfo" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
|
@ -8,11 +8,11 @@
|
||||
@close="dialogClose"
|
||||
>
|
||||
<el-form :model="form" label-width="110" ref="ruleFormRef" :rules="rules">
|
||||
<el-form-item label="物料区域名称" prop="skuInfo" required>
|
||||
<el-input v-model="form.skuInfo" placeholder="请输入物料区域名称" />
|
||||
<el-form-item label="物料区域名称" prop="areaName" required>
|
||||
<el-input v-model="form.areaName" placeholder="请输入物料区域名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="areaName" required>
|
||||
<el-input v-model="form.areaName" placeholder="请输入物料名称" />
|
||||
<el-form-item label="物料名称" prop="skuInfo" required>
|
||||
<el-input v-model="form.skuInfo" placeholder="请输入物料名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="库位数量" prop="areaNumber">
|
||||
<el-input v-model="form.areaNumber" :disabled="true" />
|
||||
|
@ -94,9 +94,6 @@
|
||||
/></el-icon>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料信息" prop="skuInfo">
|
||||
<el-input v-model="formData.skuInfo" placeholder="请输入物料信息" />
|
||||
</el-form-item>
|
||||
<el-form-item label="指定车辆" prop="robotNo">
|
||||
<el-select v-model="formData.robotNo" placeholder="请选择车辆">
|
||||
<el-option
|
||||
@ -116,12 +113,22 @@
|
||||
class="!w-220px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料信息" prop="skuInfo">
|
||||
<el-input
|
||||
v-model="formData.skuInfo"
|
||||
placeholder="请输入物料信息"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="其他信息" prop="otherMsg">
|
||||
<el-input
|
||||
v-model="formData.otherMsg"
|
||||
rows="3"
|
||||
type="textarea"
|
||||
placeholder="请输入其他信息"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <div class="task-tips">
|
||||
|
@ -2533,6 +2533,7 @@ const getAllNodeList = async () => {
|
||||
item.locationDeep = item.dataObj.locationDeep
|
||||
item.locationWide = item.dataObj.locationWide
|
||||
item.deviceId = item.dataObj.id
|
||||
item.deviceNo = item.dataObj.deviceNo
|
||||
item.mapImageUrl = item.dataObj.mapImageUrl
|
||||
item.draggable = true
|
||||
item.resizable = true
|
||||
|
@ -102,7 +102,12 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="物料信息" prop="skuInfo" label-width="146">
|
||||
<el-input v-model="formData.skuInfo" placeholder="请输入物料信息" />
|
||||
<el-input
|
||||
v-model="formData.skuInfo"
|
||||
placeholder="请输入物料信息"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@ -123,8 +128,10 @@
|
||||
<el-input
|
||||
v-model="formData.otherMsg"
|
||||
placeholder="请输入其他信息"
|
||||
:rows="2"
|
||||
maxlength="100"
|
||||
show-word-limit
|
||||
type="textarea"
|
||||
rows="3"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -8,7 +8,12 @@
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item label="公告标题" prop="title">
|
||||
<el-input v-model="formData.title" placeholder="请输入公告标题" />
|
||||
<el-input
|
||||
v-model="formData.title"
|
||||
placeholder="请输入公告标题"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="公告内容" prop="content">
|
||||
<Editor v-model="formData.content" height="150px" />
|
||||
|
Loading…
Reference in New Issue
Block a user