字符长度限制

This commit is contained in:
yyy 2025-03-25 11:43:05 +08:00
parent 375420371e
commit 47ec7b8bfb
5 changed files with 106 additions and 104 deletions

View File

@ -1,8 +1,13 @@
<template> <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 :model="formData" label-width="auto" ref="formRef" :rules="formRules">
<el-form-item label="设备类型" prop="deviceType"> <el-form-item label="设备类型" prop="deviceType">
<el-select v-model="formData.deviceType" clearable placeholder="请选择设备类型" @change="deviceTypeChange"> <el-select
v-model="formData.deviceType"
clearable
placeholder="请选择设备类型"
@change="deviceTypeChange"
>
<el-option <el-option
v-for="dict in getDictOptions(DICT_TYPE.DEVICE_TYPE)" v-for="dict in getDictOptions(DICT_TYPE.DEVICE_TYPE)"
:key="dict.value" :key="dict.value"
@ -12,11 +17,21 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备编号" prop="deviceNo"> <el-form-item label="设备编号" prop="deviceNo">
<el-input v-model="formData.deviceNo" :disabled="false" placeholder="请输入设备编号(25字以内)" maxlength="25"/> <el-input
v-model="formData.deviceNo"
:disabled="false"
placeholder="请输入设备编号(25字以内)"
maxlength="25"
/>
</el-form-item> </el-form-item>
<el-form-item label="Mac地址" prop="macAddress"> <el-form-item 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>
<el-form-item label="设备IP"> <el-form-item label="设备IP">
<el-input v-model="formData.deviceIp" :disabled="false" placeholder="请输入设备ip" /> <el-input v-model="formData.deviceIp" :disabled="false" placeholder="请输入设备ip" />
@ -26,26 +41,14 @@
</el-form-item> </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-select v-model="formData.deviceAttribute" clearable placeholder="请选择设备类型">
<el-option <el-option :label="'自动充电'" :value="1" />
:label="'自动充电'" <el-option :label="'手动充电'" :value="0" />
:value="1"
/>
<el-option
:label="'手动充电'"
:value="0"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="deviceEnable"> <el-form-item label="是否启用" prop="deviceEnable">
<el-select v-model="formData.deviceEnable" clearable placeholder="请选择是否启用"> <el-select v-model="formData.deviceEnable" clearable placeholder="请选择是否启用">
<el-option <el-option :label="'禁用'" :value="0" />
:label="'禁用'" <el-option :label="'启用'" :value="1" />
:value="0"
/>
<el-option
:label="'启用'"
:value="1"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备图标"> <el-form-item label="设备图标">
@ -64,7 +67,7 @@
</el-form> </el-form>
<template #footer> <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 :disabled="formLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</div> </div>
@ -90,12 +93,9 @@ const formData = ref({
deviceAttribute: undefined, deviceAttribute: undefined,
deviceEnable: undefined, // 01 deviceEnable: undefined, // 01
devicePort: undefined, // devicePort: undefined, //
deviceIp:undefined, //IP deviceIp: undefined //IP
}) })
const formRules = reactive({ const formRules = reactive({
deviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }], deviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
deviceNo: [{ required: true, message: '设备编号不能为空', trigger: 'blur' }], deviceNo: [{ required: true, message: '设备编号不能为空', trigger: 'blur' }],
@ -120,7 +120,7 @@ const open = async (type, id) => {
if (!formData.value.mapImageUrl) { if (!formData.value.mapImageUrl) {
DeviceApi.getMapDeviceImageUrl({ DeviceApi.getMapDeviceImageUrl({
deviceType: formData.value.deviceType deviceType: formData.value.deviceType
}).then(res=>{ }).then((res) => {
// console.log(res) // console.log(res)
formData.value.mapImageUrl = res ? res : undefined formData.value.mapImageUrl = res ? res : undefined
}) })
@ -164,7 +164,7 @@ const submitForm = async () => {
const deviceTypeChange = (e) => { const deviceTypeChange = (e) => {
DeviceApi.getMapDeviceImageUrl({ DeviceApi.getMapDeviceImageUrl({
deviceType: e deviceType: e
}).then(res=>{ }).then((res) => {
// console.log(res) // console.log(res)
formData.value.mapImageUrl = res ? res : undefined formData.value.mapImageUrl = res ? res : undefined
}) })

View File

@ -23,7 +23,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料信息" prop="skuInfo"> <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-item>
</el-form> </el-form>
<template #footer> <template #footer>

View File

@ -56,6 +56,7 @@
</el-form-item> </el-form-item>
<el-form-item label="物料信息" prop="skuInfo"> <el-form-item label="物料信息" prop="skuInfo">
<el-input <el-input
maxlength="30"
v-model="queryParams.skuInfo" v-model="queryParams.skuInfo"
placeholder="请输入" placeholder="请输入"
clearable clearable

View File

@ -117,7 +117,7 @@
<el-input <el-input
v-model="formData.skuInfo" v-model="formData.skuInfo"
placeholder="请输入物料信息" placeholder="请输入物料信息"
maxlength="100" maxlength="30"
show-word-limit show-word-limit
/> />
</el-form-item> </el-form-item>

View File

@ -2,9 +2,23 @@
<Dialog v-model="dialogVisible" title="库位信息" width="545" class="task-dialog"> <Dialog v-model="dialogVisible" title="库位信息" width="545" class="task-dialog">
<div class="store-dialog"> <div class="store-dialog">
<div class="store-dialog-left"> <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)'}"> <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 || '--' }} {{ 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/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" /> <img src="@/assets/imgs/suoding.png" alt="" class="store-dialog-left-item-img-suoding" />
</div> </div>
</div> </div>
@ -17,22 +31,16 @@
<el-input v-model="formData.areaName" :disabled="true" /> <el-input v-model="formData.areaName" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item label="物料信息"> <el-form-item label="物料信息">
<el-input v-model="formData.skuInfo" /> <el-input v-model="formData.skuInfo" maxlength="30" show-word-limit />
</el-form-item> </el-form-item>
<el-form-item label="状态"> <el-form-item label="状态">
<el-select <el-select v-model="formData.locationUseStatus" placeholder="请选择状态">
v-model="formData.locationUseStatus"
placeholder="请选择状态"
>
<el-option label="空闲" :value="0" /> <el-option label="空闲" :value="0" />
<el-option label="占用" :value="1" /> <el-option label="占用" :value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="禁用库位"> <el-form-item label="禁用库位">
<el-select <el-select v-model="formData.locationEnable" placeholder="剧情选择是否禁用库位">
v-model="formData.locationEnable"
placeholder="剧情选择是否禁用库位"
>
<el-option label="禁用" :value="0" /> <el-option label="禁用" :value="0" />
<el-option label="启用" :value="1" /> <el-option label="启用" :value="1" />
</el-select> </el-select>
@ -59,17 +67,14 @@ const formData = ref({
areaName: undefined, // areaName: undefined, //
locationUseStatus: undefined, // 01 locationUseStatus: undefined, // 01
locationEnable: undefined, //01 locationEnable: undefined, //01
skuInfo: undefined, // skuInfo: undefined //
})
const formRules = reactive({
}) })
const formRules = reactive({})
const selectIndex = ref(0) const selectIndex = ref(0)
const formRef = ref() // Ref const formRef = ref() // Ref
const storeData = ref([]) const storeData = ref([])
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (data) => { const open = async (data) => {
resetForm() resetForm()
if (data && data.length) { if (data && data.length) {
storeData.value = data.reverse() storeData.value = data.reverse()
@ -79,8 +84,6 @@ const open = async (data) => {
formData.value = JSON.parse(JSON.stringify(data[0])) formData.value = JSON.parse(JSON.stringify(data[0]))
} }
dialogVisible.value = true dialogVisible.value = true
} }
defineExpose({ open }) // open defineExpose({ open }) // open
@ -98,7 +101,6 @@ const submitForm = async () => {
message.success('操作成功') message.success('操作成功')
emit('success') emit('success')
dialogVisible.value = false dialogVisible.value = false
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -112,7 +114,6 @@ const changeStore = (item, index) => {
// //
const { push } = useRouter() const { push } = useRouter()
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {
@ -120,7 +121,7 @@ const resetForm = () => {
areaName: undefined, // areaName: undefined, //
locationUseStatus: undefined, // 01 locationUseStatus: undefined, // 01
locationEnable: undefined, //01 locationEnable: undefined, //01
skuInfo: undefined, // skuInfo: undefined //
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }