字符长度限制
This commit is contained in:
parent
375420371e
commit
47ec7b8bfb
@ -1,8 +1,13 @@
|
||||
<template>
|
||||
<Dialog v-model="dialogVisible" :title="title" width="545" style="padding: 0;">
|
||||
<Dialog v-model="dialogVisible" :title="title" width="545" style="padding: 0">
|
||||
<el-form :model="formData" label-width="auto" ref="formRef" :rules="formRules">
|
||||
<el-form-item label="设备类型" prop="deviceType" >
|
||||
<el-select v-model="formData.deviceType" clearable placeholder="请选择设备类型" @change="deviceTypeChange">
|
||||
<el-form-item label="设备类型" prop="deviceType">
|
||||
<el-select
|
||||
v-model="formData.deviceType"
|
||||
clearable
|
||||
placeholder="请选择设备类型"
|
||||
@change="deviceTypeChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getDictOptions(DICT_TYPE.DEVICE_TYPE)"
|
||||
:key="dict.value"
|
||||
@ -11,62 +16,60 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编号" prop="deviceNo">
|
||||
<el-input v-model="formData.deviceNo" :disabled="false" placeholder="请输入设备编号(25字以内)" maxlength="25"/>
|
||||
<el-form-item label="设备编号" prop="deviceNo">
|
||||
<el-input
|
||||
v-model="formData.deviceNo"
|
||||
:disabled="false"
|
||||
placeholder="请输入设备编号(25字以内)"
|
||||
maxlength="25"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Mac地址" prop="macAddress">
|
||||
<el-input v-model="formData.macAddress" :disabled="false" placeholder="请输入Mac地址" />
|
||||
<el-form-item label="Mac地址" prop="macAddress">
|
||||
<el-input
|
||||
v-model="formData.macAddress"
|
||||
:disabled="false"
|
||||
placeholder="请输入Mac地址"
|
||||
maxlength="25"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备IP" >
|
||||
<el-form-item label="设备IP">
|
||||
<el-input v-model="formData.deviceIp" :disabled="false" placeholder="请输入设备ip" />
|
||||
</el-form-item>
|
||||
<el-form-item label="端口" >
|
||||
<el-form-item label="端口">
|
||||
<el-input v-model="formData.devicePort" :disabled="false" placeholder="请输入端口" />
|
||||
</el-form-item>
|
||||
<el-form-item label="充电桩类型" prop="deviceAttribute" v-if="formData.deviceType == 1">
|
||||
<el-form-item label="充电桩类型" prop="deviceAttribute" v-if="formData.deviceType == 1">
|
||||
<el-select v-model="formData.deviceAttribute" clearable placeholder="请选择设备类型">
|
||||
<el-option
|
||||
:label="'自动充电'"
|
||||
:value="1"
|
||||
/>
|
||||
<el-option
|
||||
:label="'手动充电'"
|
||||
:value="0"
|
||||
/>
|
||||
<el-option :label="'自动充电'" :value="1" />
|
||||
<el-option :label="'手动充电'" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否启用" prop="deviceEnable" >
|
||||
<el-form-item label="是否启用" prop="deviceEnable">
|
||||
<el-select v-model="formData.deviceEnable" clearable placeholder="请选择是否启用">
|
||||
<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 label="设备图标" >
|
||||
<el-form-item label="设备图标">
|
||||
<UploadImg v-model="formData.mapImageUrl" :limit="1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="设备图配置" prop="pictureConfig">
|
||||
<el-form-item label="设备图配置" prop="pictureConfig">
|
||||
<el-radio-group v-model="formData.pictureConfig">
|
||||
<el-radio :label="1">默认图片</el-radio>
|
||||
<el-radio :label="2">上传图片</el-radio>
|
||||
<el-radio :label="3">不显示图片</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备图片" prop="mapImageUrl" v-if="formData.pictureConfig === 2">
|
||||
<UploadImg v-model="formData.url" :limit="1" />
|
||||
<el-form-item label="设备图片" prop="mapImageUrl" v-if="formData.pictureConfig === 2">
|
||||
<UploadImg v-model="formData.url" :limit="1" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<template #footer>
|
||||
<div style="padding: 0 10px 10px 0;">
|
||||
<div style="padding: 0 10px 10px 0">
|
||||
<el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
@ -86,16 +89,13 @@ const formData = ref({
|
||||
macAddress: undefined, //mac地址
|
||||
mapImageUrl: undefined, //设备在地图上图标
|
||||
pictureConfig: undefined, // 图片设置(1:默认图片、2:上传图片、 3:不显示图片)
|
||||
url: undefined ,//上传图片附件
|
||||
url: undefined, //上传图片附件
|
||||
deviceAttribute: undefined,
|
||||
deviceEnable:undefined, //设备启用禁用 设备启用禁用(0:禁用、1:启用)
|
||||
devicePort:undefined, //端口
|
||||
deviceIp:undefined, //设备IP
|
||||
deviceEnable: undefined, //设备启用禁用 设备启用禁用(0:禁用、1:启用)
|
||||
devicePort: undefined, //端口
|
||||
deviceIp: undefined //设备IP
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
const formRules = reactive({
|
||||
deviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
|
||||
deviceNo: [{ required: true, message: '设备编号不能为空', trigger: 'blur' }],
|
||||
@ -117,13 +117,13 @@ const open = async (type, id) => {
|
||||
title.value = '编辑'
|
||||
const data = await DeviceApi.deviceInformationGet({ id })
|
||||
formData.value = data
|
||||
if(!formData.value.mapImageUrl){
|
||||
if (!formData.value.mapImageUrl) {
|
||||
DeviceApi.getMapDeviceImageUrl({
|
||||
deviceType: formData.value.deviceType
|
||||
}).then(res=>{
|
||||
// console.log(res)
|
||||
formData.value.mapImageUrl = res?res:undefined
|
||||
})
|
||||
deviceType: formData.value.deviceType
|
||||
}).then((res) => {
|
||||
// console.log(res)
|
||||
formData.value.mapImageUrl = res ? res : undefined
|
||||
})
|
||||
}
|
||||
console.log(data)
|
||||
} else {
|
||||
@ -141,7 +141,7 @@ const submitForm = async () => {
|
||||
if (!formRef) return
|
||||
const valid = await formRef.value.validate()
|
||||
if (!valid) return
|
||||
|
||||
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
@ -164,9 +164,9 @@ const submitForm = async () => {
|
||||
const deviceTypeChange = (e) => {
|
||||
DeviceApi.getMapDeviceImageUrl({
|
||||
deviceType: e
|
||||
}).then(res=>{
|
||||
}).then((res) => {
|
||||
// console.log(res)
|
||||
formData.value.mapImageUrl = res?res:undefined
|
||||
formData.value.mapImageUrl = res ? res : undefined
|
||||
})
|
||||
}
|
||||
//前往任务管理页面
|
||||
@ -217,14 +217,14 @@ const takeRemoteMethod = async (query, item) => {
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
deviceType: undefined, //车辆类型id
|
||||
deviceNo: undefined, //AGV编号
|
||||
macAddress: undefined, //mac地址
|
||||
mapImageUrl: undefined, //设备在地图上图标
|
||||
pictureConfig: undefined, // 图片设置(1:默认图片、2:上传图片、 3:不显示图片)
|
||||
url: undefined, //上传图片附件
|
||||
deviceAttribute: undefined
|
||||
deviceNo: undefined, //AGV编号
|
||||
macAddress: undefined, //mac地址
|
||||
mapImageUrl: undefined, //设备在地图上图标
|
||||
pictureConfig: undefined, // 图片设置(1:默认图片、2:上传图片、 3:不显示图片)
|
||||
url: undefined, //上传图片附件
|
||||
deviceAttribute: undefined
|
||||
}
|
||||
|
||||
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
</script>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料信息" prop="skuInfo">
|
||||
<el-input v-model="form.skuInfo" />
|
||||
<el-input v-model="form.skuInfo" maxlength="30" show-word-limit />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
|
@ -56,6 +56,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="物料信息" prop="skuInfo">
|
||||
<el-input
|
||||
maxlength="30"
|
||||
v-model="queryParams.skuInfo"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
|
@ -117,7 +117,7 @@
|
||||
<el-input
|
||||
v-model="formData.skuInfo"
|
||||
placeholder="请输入物料信息"
|
||||
maxlength="100"
|
||||
maxlength="30"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
|
@ -2,37 +2,45 @@
|
||||
<Dialog v-model="dialogVisible" title="库位信息" width="545" class="task-dialog">
|
||||
<div class="store-dialog">
|
||||
<div class="store-dialog-left">
|
||||
<div class="store-dialog-left-item ellipsis" @click="changeStore(item, index)" v-for="(item, index) in storeData" :key="index" :style="{background:item.locationUseStatus == 1 ? '#F1CD0B' : '#4DC606',border:selectIndex==index?'2px solid #00329F':'2px solid rgba(0,0,0,0)'}">
|
||||
{{ item.locationNo || '--' }}
|
||||
<img src="@/assets/imgs/jinyong-2.png" alt="" class="store-dialog-left-item-img-jinyong" v-if="item.locationEnable === 0"/>
|
||||
<img src="@/assets/imgs/suoding.png" alt="" class="store-dialog-left-item-img-suoding"/>
|
||||
<div
|
||||
class="store-dialog-left-item ellipsis"
|
||||
@click="changeStore(item, index)"
|
||||
v-for="(item, index) in storeData"
|
||||
:key="index"
|
||||
:style="{
|
||||
background: item.locationUseStatus == 1 ? '#F1CD0B' : '#4DC606',
|
||||
border: selectIndex == index ? '2px solid #00329F' : '2px solid rgba(0,0,0,0)'
|
||||
}"
|
||||
>
|
||||
{{ item.locationNo || '--' }}
|
||||
<img
|
||||
src="@/assets/imgs/jinyong-2.png"
|
||||
alt=""
|
||||
class="store-dialog-left-item-img-jinyong"
|
||||
v-if="item.locationEnable === 0"
|
||||
/>
|
||||
<img src="@/assets/imgs/suoding.png" alt="" class="store-dialog-left-item-img-suoding" />
|
||||
</div>
|
||||
</div>
|
||||
<div style="flex: 1">
|
||||
<el-form :model="formData" label-width="auto" ref="formRef" :rules="formRules">
|
||||
<el-form-item label="库位编号">
|
||||
<el-form-item label="库位编号">
|
||||
<el-input v-model="formData.locationNo" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="区域">
|
||||
<el-form-item label="区域">
|
||||
<el-input v-model="formData.areaName" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料信息">
|
||||
<el-input v-model="formData.skuInfo" />
|
||||
<el-form-item label="物料信息">
|
||||
<el-input v-model="formData.skuInfo" maxlength="30" show-word-limit />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" >
|
||||
<el-select
|
||||
v-model="formData.locationUseStatus"
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="formData.locationUseStatus" placeholder="请选择状态">
|
||||
<el-option label="空闲" :value="0" />
|
||||
<el-option label="占用" :value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="禁用库位" >
|
||||
<el-select
|
||||
v-model="formData.locationEnable"
|
||||
placeholder="剧情选择是否禁用库位"
|
||||
>
|
||||
<el-form-item label="禁用库位">
|
||||
<el-select v-model="formData.locationEnable" placeholder="剧情选择是否禁用库位">
|
||||
<el-option label="禁用" :value="0" />
|
||||
<el-option label="启用" :value="1" />
|
||||
</el-select>
|
||||
@ -55,32 +63,27 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
|
||||
const formData = ref({
|
||||
locationNo: undefined, //库位编号
|
||||
locationNo: undefined, //库位编号
|
||||
areaName: undefined, //区域名称
|
||||
locationUseStatus: undefined, //库位状态 (0:空闲、1:占用)
|
||||
locationEnable: undefined, //是否禁用(0:禁用、1:启用)
|
||||
skuInfo: undefined, //物料信息
|
||||
})
|
||||
const formRules = reactive({
|
||||
|
||||
skuInfo: undefined //物料信息
|
||||
})
|
||||
const formRules = reactive({})
|
||||
const selectIndex = ref(0)
|
||||
const formRef = ref() // 表单 Ref
|
||||
const storeData = ref([])
|
||||
/** 打开弹窗 */
|
||||
const open = async (data) => {
|
||||
|
||||
resetForm()
|
||||
if(data&&data.length){
|
||||
if (data && data.length) {
|
||||
storeData.value = data.reverse()
|
||||
console.log(storeData.value)
|
||||
selectIndex.value = 0
|
||||
console.log(data)
|
||||
formData.value = JSON.parse(JSON.stringify(data[0]))
|
||||
selectIndex.value = 0
|
||||
console.log(data)
|
||||
formData.value = JSON.parse(JSON.stringify(data[0]))
|
||||
}
|
||||
dialogVisible.value = true
|
||||
|
||||
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
|
||||
@ -98,7 +101,6 @@ const submitForm = async () => {
|
||||
message.success('操作成功')
|
||||
emit('success')
|
||||
dialogVisible.value = false
|
||||
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
@ -112,15 +114,14 @@ const changeStore = (item, index) => {
|
||||
//前往任务管理页面
|
||||
const { push } = useRouter()
|
||||
|
||||
|
||||
/** 重置表单 */
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
locationNo: undefined, //库位编号
|
||||
areaName: undefined, //区域名称
|
||||
locationUseStatus: undefined, //库位状态 (0:空闲、1:占用)
|
||||
locationEnable: undefined, //是否禁用(0:禁用、1:启用)
|
||||
skuInfo: undefined, //物料信息
|
||||
locationNo: undefined, //库位编号
|
||||
areaName: undefined, //区域名称
|
||||
locationUseStatus: undefined, //库位状态 (0:空闲、1:占用)
|
||||
locationEnable: undefined, //是否禁用(0:禁用、1:启用)
|
||||
skuInfo: undefined //物料信息
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
@ -212,24 +213,24 @@ const resetForm = () => {
|
||||
color: #0d162a;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
border: 1px solid rgba(0,0,0,0);
|
||||
border: 1px solid rgba(0, 0, 0, 0);
|
||||
position: relative;
|
||||
}
|
||||
.ellipsis {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.store-dialog-left-item-img-jinyong{
|
||||
.store-dialog-left-item-img-jinyong {
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: -4px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
}
|
||||
.store-dialog-left-item-img-suoding{
|
||||
.store-dialog-left-item-img-suoding {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
|
Loading…
Reference in New Issue
Block a user