Merge branch 'xhf' of http://git.znkjfw.com/ak/zn-admin-vue3-wcs into xhf
This commit is contained in:
commit
50899de4d5
@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
@ -136,7 +136,7 @@
|
||||
<div class="app-loading">
|
||||
<div class="app-loading-wrap">
|
||||
<div class="app-loading-title">
|
||||
<img src="/logo.gif" class="app-loading-logo" alt="Logo" />
|
||||
<!-- <img src="/logo.gif" class="app-loading-logo" alt="Logo" /> -->
|
||||
<div class="app-loading-title">%VITE_APP_TITLE%</div>
|
||||
</div>
|
||||
<div class="app-loading-item">
|
||||
|
@ -154,7 +154,7 @@
|
||||
</template>
|
||||
<div>
|
||||
<div class="indexpage-popover-item">
|
||||
<div> 库位名: </div>
|
||||
<div> 库位号: </div>
|
||||
<div>
|
||||
{{ item.showData?.locationNo || '' }}
|
||||
</div>
|
||||
@ -713,7 +713,7 @@ const linkWebSocket = (url) => {
|
||||
let data = JSON.parse(jsonMsg.content)
|
||||
// console.log('======规划路线======', JSON.parse(data).data)
|
||||
let dataList = JSON.parse(data).data
|
||||
if(lineList.value.length > 0) {
|
||||
if (lineList.value.length > 0) {
|
||||
console.log(lineList.value)
|
||||
lineList.value = setIsSelect(lineList.value, dataList)
|
||||
}
|
||||
@ -721,13 +721,13 @@ const linkWebSocket = (url) => {
|
||||
})
|
||||
}
|
||||
}
|
||||
const setIsSelect =(arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i];
|
||||
const isExist = arr2.includes(element.id);
|
||||
element.isSelect = isExist;
|
||||
}
|
||||
return arr1;
|
||||
const setIsSelect = (arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i]
|
||||
const isExist = arr2.includes(element.id)
|
||||
element.isSelect = isExist
|
||||
}
|
||||
return arr1
|
||||
}
|
||||
// 查看更多异常列表
|
||||
const lookError = () => {
|
||||
|
@ -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
|
||||
|
@ -70,7 +70,9 @@ const form = ref({
|
||||
const open = (list) => {
|
||||
dialogFormVisible.value = true
|
||||
form.value.mapItemIds = list.map((item) => item.id)
|
||||
form.value.areaNumber = form.value.mapItemIds.length
|
||||
form.value.areaNumber = list.reduce((sum, item) => {
|
||||
return sum + item.dataList.length
|
||||
}, 0)
|
||||
form.value.areaName = ''
|
||||
form.value.skuInfo = ''
|
||||
}
|
||||
|
@ -154,7 +154,7 @@
|
||||
</template>
|
||||
<div>
|
||||
<div class="indexpage-popover-item">
|
||||
<div> 库位名: </div>
|
||||
<div> 库位号: </div>
|
||||
<div>
|
||||
{{ item.showData?.locationNo || '' }}
|
||||
</div>
|
||||
@ -713,7 +713,7 @@ const linkWebSocket = (url) => {
|
||||
let data = JSON.parse(jsonMsg.content)
|
||||
// console.log('======规划路线======', JSON.parse(data).data)
|
||||
let dataList = JSON.parse(data).data
|
||||
if(lineList.value.length > 0) {
|
||||
if (lineList.value.length > 0) {
|
||||
console.log(lineList.value)
|
||||
lineList.value = setIsSelect(lineList.value, dataList)
|
||||
}
|
||||
@ -722,13 +722,13 @@ const linkWebSocket = (url) => {
|
||||
}
|
||||
}
|
||||
|
||||
const setIsSelect =(arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i];
|
||||
const isExist = arr2.includes(element.id);
|
||||
element.isSelect = isExist;
|
||||
}
|
||||
return arr1;
|
||||
const setIsSelect = (arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i]
|
||||
const isExist = arr2.includes(element.id)
|
||||
element.isSelect = isExist
|
||||
}
|
||||
return arr1
|
||||
}
|
||||
// 查看更多异常列表
|
||||
const lookError = () => {
|
||||
|
@ -117,7 +117,7 @@
|
||||
<el-input
|
||||
v-model="formData.skuInfo"
|
||||
placeholder="请输入物料信息"
|
||||
maxlength="100"
|
||||
maxlength="30"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
|
@ -7,7 +7,7 @@
|
||||
cursor: isDrag ? 'pointer' : 'default',
|
||||
scale: isSizeRadio,
|
||||
transformOrigin: '0 0',
|
||||
width: isFull?'100%':(widthVal + 'px')
|
||||
width: isFull ? '100%' : widthVal + 'px'
|
||||
}"
|
||||
@wheel="handleWheel"
|
||||
>
|
||||
@ -156,7 +156,7 @@
|
||||
</template>
|
||||
<div>
|
||||
<div class="indexpage-popover-item">
|
||||
<div> 库位名: </div>
|
||||
<div> 库位号: </div>
|
||||
<div>
|
||||
{{ item.showData?.locationNo || '' }}
|
||||
</div>
|
||||
@ -177,16 +177,16 @@
|
||||
</el-popover>
|
||||
<!-- 设备点 -->
|
||||
|
||||
<el-popover placement="top-start" trigger="hover" width="auto" v-if="item.type == 3" >
|
||||
<el-popover placement="top-start" trigger="hover" width="auto" v-if="item.type == 3">
|
||||
<template #reference>
|
||||
<img
|
||||
v-if="item.type == 3"
|
||||
:src="
|
||||
item.formattedData.mapImageUrl ||
|
||||
'https://api.znkjfw.com/admin-api/infra/file/4/get/设备点_png_179_1739327151877.png'
|
||||
"
|
||||
:style="nodeStyle(item, index)"
|
||||
/>
|
||||
v-if="item.type == 3"
|
||||
:src="
|
||||
item.formattedData.mapImageUrl ||
|
||||
'https://api.znkjfw.com/admin-api/infra/file/4/get/设备点_png_179_1739327151877.png'
|
||||
"
|
||||
:style="nodeStyle(item, index)"
|
||||
/>
|
||||
</template>
|
||||
<div>
|
||||
<div class="indexpage-popover-item">
|
||||
@ -198,12 +198,12 @@
|
||||
<div class="indexpage-popover-item">
|
||||
<div> 设备类型: </div>
|
||||
<div>
|
||||
{{ item.showData?filterTypeFun(item.showData.deviceType, typeList) : '' }}
|
||||
{{ item.showData ? filterTypeFun(item.showData.deviceType, typeList) : '' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
|
||||
|
||||
<!-- 停车点 -->
|
||||
<img
|
||||
v-if="item.type == 4"
|
||||
@ -238,7 +238,7 @@
|
||||
</div>
|
||||
<!-- 左下角图层 -->
|
||||
<!-- :style="{ left: boxLeft + 'px' }" -->
|
||||
<div class="affix-container-left" :style="{ left: 25 + 'px' }" v-if="!isAllBoard">
|
||||
<div class="affix-container-left" :style="{ left: 25 + 'px' }" v-if="!isAllBoard">
|
||||
<div class="affix-container-left-box">
|
||||
<div
|
||||
class="affix-container-left-box-item-box"
|
||||
@ -375,19 +375,21 @@ const nodeStyle = (item, index) => {
|
||||
const typeList = ref([])
|
||||
|
||||
const getTypeList = () => {
|
||||
typeList.value = getDictOptions(DICT_TYPE.DEVICE_TYPE)&&getDictOptions(DICT_TYPE.DEVICE_TYPE).length?JSON.parse(JSON.stringify(getDictOptions(DICT_TYPE.DEVICE_TYPE))):[]
|
||||
|
||||
typeList.value =
|
||||
getDictOptions(DICT_TYPE.DEVICE_TYPE) && getDictOptions(DICT_TYPE.DEVICE_TYPE).length
|
||||
? JSON.parse(JSON.stringify(getDictOptions(DICT_TYPE.DEVICE_TYPE)))
|
||||
: []
|
||||
}
|
||||
//根据type和列表返回对应中文
|
||||
const filterTypeFun = (type, list) => {
|
||||
if (list.length) {
|
||||
let obj = list.find(item => {
|
||||
return item.value == type
|
||||
})
|
||||
return obj == undefined ? type : obj.label
|
||||
} else {
|
||||
return type
|
||||
}
|
||||
if (list.length) {
|
||||
let obj = list.find((item) => {
|
||||
return item.value == type
|
||||
})
|
||||
return obj == undefined ? type : obj.label
|
||||
} else {
|
||||
return type
|
||||
}
|
||||
}
|
||||
const isFull = ref(false)
|
||||
// 定义属性
|
||||
@ -484,7 +486,6 @@ const changDriveLineShow = () => {
|
||||
const toggleFullScreen = () => {
|
||||
var elem = document.getElementById('indexpage-container') // 获取元素
|
||||
if (!document.fullscreenElement) {
|
||||
|
||||
// 检查是否已经是全屏模式
|
||||
if (elem.requestFullscreen) {
|
||||
// 支持requestFullscreen API的标准方式
|
||||
@ -530,41 +531,41 @@ const toggleFullScreen = () => {
|
||||
isFull.value = false
|
||||
radio.value = 1
|
||||
if (pointList.value.length) {
|
||||
pointList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
if (testCarList.value.length) {
|
||||
testCarList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
pointList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
if (testCarList.value.length) {
|
||||
testCarList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
resetPosition()
|
||||
} else {
|
||||
console.log('已进入全屏模式')
|
||||
// 在这里可以添加进入全屏后的逻辑
|
||||
isDrag.value = true
|
||||
isFull.value = true
|
||||
|
||||
|
||||
nextTick(() => {
|
||||
let width = getElementWidthByClass('affix-container')
|
||||
getImageWidth(imgUrl.value, 'width').then((res) => {
|
||||
console.log(res)
|
||||
let ratioVal = width / res
|
||||
radio.value = ratioVal
|
||||
console.log(radio.value)
|
||||
// widthVal.value = res * radio.value
|
||||
if (pointList.value.length) {
|
||||
pointList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
if (testCarList.value.length) {
|
||||
testCarList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
})
|
||||
getImageWidth(imgUrl.value, 'width').then((res) => {
|
||||
console.log(res)
|
||||
let ratioVal = width / res
|
||||
radio.value = ratioVal
|
||||
console.log(radio.value)
|
||||
// widthVal.value = res * radio.value
|
||||
if (pointList.value.length) {
|
||||
pointList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
if (testCarList.value.length) {
|
||||
testCarList.value.forEach((item) => {
|
||||
item.radio = radio.value
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
@ -620,7 +621,11 @@ const getPositionMapListFun = async (positionMapId) => {
|
||||
pointList.value?.forEach((item) => {
|
||||
item.formattedData = item.dataJson ? JSON.parse(item.dataJson) : ''
|
||||
// console.log(JSON.parse(item.dataJson),item.type)
|
||||
item.showData = item.dataJson ? (item.type == 2 ? JSON.parse(item.dataJson)[0] : JSON.parse(item.dataJson)) : null
|
||||
item.showData = item.dataJson
|
||||
? item.type == 2
|
||||
? JSON.parse(item.dataJson)[0]
|
||||
: JSON.parse(item.dataJson)
|
||||
: null
|
||||
item.imgUrl = formatTypeImg(item.type)
|
||||
|
||||
if (item.type === 1) {
|
||||
@ -796,7 +801,7 @@ const linkWebSocket = (url) => {
|
||||
let data = JSON.parse(jsonMsg.content)
|
||||
// console.log('======规划路线======', JSON.parse(data).data)
|
||||
let dataList = JSON.parse(data).data
|
||||
if(lineList.value.length > 0) {
|
||||
if (lineList.value.length > 0) {
|
||||
console.log(lineList.value)
|
||||
lineList.value = setIsSelect(lineList.value, dataList)
|
||||
}
|
||||
@ -804,13 +809,13 @@ const linkWebSocket = (url) => {
|
||||
})
|
||||
}
|
||||
}
|
||||
const setIsSelect =(arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i];
|
||||
const isExist = arr2.includes(element.id);
|
||||
element.isSelect = isExist;
|
||||
}
|
||||
return arr1;
|
||||
const setIsSelect = (arr1, arr2) => {
|
||||
for (let i = 0; i < arr1.length; i++) {
|
||||
const element = arr1[i]
|
||||
const isExist = arr2.includes(element.id)
|
||||
element.isSelect = isExist
|
||||
}
|
||||
return arr1
|
||||
}
|
||||
|
||||
// 查看更多异常列表
|
||||
|
@ -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