代码更新:

This commit is contained in:
梁州 2024-09-20 18:35:31 +08:00
parent 1326ab0b33
commit 386ed14035
40 changed files with 458 additions and 260 deletions

View File

@ -66,72 +66,54 @@ const downloadStockExcel = (data) => {
const downloadInRecordExcel = (data) => { const downloadInRecordExcel = (data) => {
return request({ return request({
url: '/excel/downloadInRecordExcel', url: '/excel/downloadInRecordExcel',
method: 'get', method: 'post',
responseType: 'blob', responseType: 'blob',
params: { data: data
vehicleId: data.vehicleId,
goodsId: data.goodsId
}
}) })
} }
const downloadOutRecordExcel = (params) => { const downloadOutRecordExcel = (data) => {
return request({ return request({
url: '/excel/downloadOutRecordExcel', url: '/excel/downloadOutRecordExcel',
method: 'get', method: 'post',
responseType: 'blob', responseType: 'blob',
params: { data: data
vehicleId: params.vehicleId,
goodsId: params.goodsId
}
}) })
} }
const downloadInventoryRecordExcel = (params) => { const downloadInventoryRecordExcel = (data) => {
return request({ return request({
url: '/excel/downloadInventoryRecordExcel', url: '/excel/downloadInventoryRecordExcel',
method: 'get', method: 'post',
responseType: 'blob', responseType: 'blob',
params: { data: data
vehicleId: params.vehicleId,
goodsId: params.goodsId
}
}) })
} }
const downloadMaterialExcel = () => { const downloadGoodsExcel = (data) => {
return request({ return request({
url: '/excel/downloadMaterialExcel', url: '/excel/downloadGoodsExcel',
method: 'get', method: 'post',
responseType: 'blob' responseType: 'blob',
data: data
}) })
} }
const downloadVehicleExcel = (vehicleQuery) => { const downloadVehicleExcel = (data) => {
return request({ return request({
url: '/excel/downloadVehicleExcel', url: '/excel/downloadVehicleExcel',
method: 'get', method: 'post',
responseType: 'blob', responseType: 'blob',
params: { data: data
vehicleId: vehicleQuery.vehicleId,
locationId: vehicleQuery.locationId,
isEmpty: vehicleQuery.isEmpty,
vehicleStatus: vehicleQuery.vehicleStatus
}
}) })
} }
const downloadLocationsExcel = (params) => { const downloadLocationsExcel = (data) => {
return request({ return request({
url: '/excel/downloadLocationsExcel', url: '/excel/downloadLocationsExcel',
method: 'get', method: 'post',
responseType: 'blob', responseType: 'blob',
params: { data: data
locationId: params.locationId,
areaId: params.areaId,
isLock: params.isLock,
locationStatus: params.locationStatus
}
}) })
} }
@ -160,7 +142,7 @@ export {
uploadExcelOrders, uploadExcelOrders,
uploadExcelInventoryList, uploadExcelInventoryList,
downloadStockExcel, downloadStockExcel,
downloadMaterialExcel, downloadGoodsExcel,
downloadVehicleExcel, downloadVehicleExcel,
downloadInRecordExcel, downloadInRecordExcel,
downloadOutRecordExcel, downloadOutRecordExcel,

View File

@ -1,5 +1,8 @@
import request from "@/http/request"; import request from "@/http/request";
/**
* 分页查找物料
*/
const getGoodsInfoByPage = (params) => { const getGoodsInfoByPage = (params) => {
return request({ return request({
url: '/goods/getGoodsInfoByPage', url: '/goods/getGoodsInfoByPage',
@ -8,6 +11,51 @@ const getGoodsInfoByPage = (params) => {
}) })
} }
/**
* 更新物料信息
*/
const updateGoodsInfo = (params) => {
return request({
url: '/goods/updateGoodsInfo',
method: 'post',
data: params
})
}
/**
* 查询所有物料信息
*/
const getGoodsInfo = (params) => {
return request({
url: '/goods/getGoodsInfo',
method: 'post',
data: params
})
}
/**
* 查询自动补全时可用的物料信息
*/
const getGoodsInfoByGoodsId = (params) => {
return request({
url: '/goods/getGoodsInfoByGoodsId',
method: 'post',
data: params
})
}
const deleteGoodsInfo = (params) => {
return request({
url: '/goods/deleteGoodsInfo',
method: 'post',
data: params
})
}
export { export {
getGoodsInfoByPage getGoodsInfoByPage,
deleteGoodsInfo,
getGoodsInfoByGoodsId,
getGoodsInfo,
updateGoodsInfo
} }

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadExcelDbs } from '@/api/excel.js' import { uploadExcelDbs } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadDbs = () => { const uploadDbs = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadDbs = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadExcelGoods } from '@/api/excel.js' import { uploadExcelGoods } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadGoods = () => { const uploadGoods = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadGoods = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadExcelInventoryList } from '@/api/excel.js' import { uploadExcelInventoryList } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadInventory = () => { const uploadInventory = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadInventory = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadExcelOrders } from '@/api/excel.js' import { uploadExcelOrders } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadOrders = () => { const uploadOrders = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadOrders = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadStationConfig } from '@/api/excel.js' import { uploadStationConfig } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadDbs = () => { const uploadDbs = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadDbs = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -12,6 +12,7 @@ import store from '@/store'
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import { uploadExcelStock } from '@/api/excel.js' import { uploadExcelStock } from '@/api/excel.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox';
import { sizeFormatter } from '@/utils/formatter.js' import { sizeFormatter } from '@/utils/formatter.js'
import loading from '@/utils/loading.js' import loading from '@/utils/loading.js'
import { getHashString } from '@/utils/hashUtils.js' import { getHashString } from '@/utils/hashUtils.js'
@ -41,11 +42,11 @@ const changeFile = (uploadFile) => {
const uploadRef = ref() const uploadRef = ref()
const uploadStock = () => { const uploadStock = () => {
if (uploadForm == undefined || file.value == undefined) { if (uploadForm == undefined || file.value == undefined) {
ElMessage.error('请选择文件之后再上传') errorBox('请选择文件之后再上传')
return return
} }
if (currentHash != '' && currentHash == uploadForm.data.hash) { if (currentHash != '' && currentHash == uploadForm.data.hash) {
ElMessage.error('请勿重复上传') errorBox('请勿重复上传')
return return
} }
currentHash = uploadForm.data.hash currentHash = uploadForm.data.hash
@ -68,13 +69,13 @@ const uploadStock = () => {
}) })
clearFileInfos() clearFileInfos()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
loading.close() loading.close()
currentHash = '' currentHash = ''
console.log(err) console.log(err)
ElMessage.error('上传错误') errorBox('上传错误')
}) })
} }
const clearFileInfos = () => { const clearFileInfos = () => {

View File

@ -64,7 +64,7 @@
<div style="display: flex; margin-top: 20px;"> <div style="display: flex; margin-top: 20px;">
<div class="display-form-div-left"> <div class="display-form-div-left">
<el-input-number v-model.number="workFormEntity.needNum" <el-input-number v-model.number="workFormEntity.needNum"
controls-position="right" :min="0" /> controls-position="right" :min="0" :max="20" />
</div> </div>
<div class="display-form-div-right"> <div class="display-form-div-right">
<span class="display-form-text-right"></span> <span class="display-form-text-right"></span>
@ -90,7 +90,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { callEmptyVehicle } from '@/api/task' import { callEmptyVehicle } from '@/api/task'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -233,7 +234,7 @@ export default {
callEmptyVehicle(request).then(res => { callEmptyVehicle(request).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox(response.message) ElMessage.success(response.message)
this.resetForms() this.resetForms()
} else { } else {
errorBox(response.message) errorBox(response.message)

View File

@ -235,7 +235,8 @@ import store from '@/store'
import { getClcKanbanRequirement } from '@/api/kateWork' import { getClcKanbanRequirement } from '@/api/kateWork'
import { downloadClcKanbanRequirementExcel } from '@/api/excel' import { downloadClcKanbanRequirementExcel } from '@/api/excel'
import { dateFormatter } from '@/utils/formatter.js' import { dateFormatter } from '@/utils/formatter.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -300,7 +301,7 @@ export default {
this.workFormEntity.NumOfBoxOf811 = response.returnData.NumOfBoxOf811 this.workFormEntity.NumOfBoxOf811 = response.returnData.NumOfBoxOf811
this.workFormEntity.NumOfBoxOf911 = response.returnData.NumOfBoxOf911 this.workFormEntity.NumOfBoxOf911 = response.returnData.NumOfBoxOf911
this.workFormEntity.NumOfBoxOf822 = response.returnData.NumOfBoxOf822 this.workFormEntity.NumOfBoxOf822 = response.returnData.NumOfBoxOf822
successBox("获取CLC看板需求成功。") ElMessage.success("获取CLC看板需求成功。")
} else { } else {
this.resetForms() this.resetForms()
errorBox(response.message) errorBox(response.message)

View File

@ -183,7 +183,7 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { clcNoPlan, clcNoPlanConfirmBack } from '@/api/task' import { clcNoPlan, clcNoPlanConfirmBack } from '@/api/task'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { getStockNumByGoodsId } from '@/api/stock' import { getStockNumByGoodsId } from '@/api/stock'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
@ -293,7 +293,7 @@ export default {
clcNoPlan(requestParams).then(res => { clcNoPlan(requestParams).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox(response.message) ElMessage.success(response.message)
this.resetForms() this.resetForms()
} else { } else {
errorBox(response.message) errorBox(response.message)
@ -319,7 +319,7 @@ export default {
clcNoPlanConfirmBack(confirmParams).then(res => { clcNoPlanConfirmBack(confirmParams).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox(response.message) ElMessage.success(response.message)
this.resetConfirmForms() this.resetConfirmForms()
} else { } else {
errorBox(response.message) errorBox(response.message)

View File

@ -131,8 +131,8 @@
import store from '@/store' import store from '@/store'
import { getDbs, deleteDbs, updateDbs } from '@/api/kateWork.js' import { getDbs, deleteDbs, updateDbs } from '@/api/kateWork.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { ElMessageBox } from 'element-plus' import { ElMessageBox, ElMessage } from 'element-plus'
import { errorBox, infoBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import UploadExcelDbs from '@/excel/UploadExcelDbs.vue' import UploadExcelDbs from '@/excel/UploadExcelDbs.vue'
@ -231,7 +231,7 @@ export default {
} }
deleteDbs(params).then(res => { deleteDbs(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
successBox('删除DBS信息成功') ElMessage.success('删除DBS信息成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -241,7 +241,7 @@ export default {
errorBox('删除DBS信息成功') errorBox('删除DBS信息成功')
}) })
}).catch(() => { }).catch(() => {
infoBox('操作取消') ElMessage.info('操作取消')
}) })
}, },
submitDbsInfo(formData) { submitDbsInfo(formData) {
@ -256,7 +256,7 @@ export default {
updateDbs(params).then(res => { updateDbs(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新DBS成功。') ElMessage.success('更新DBS成功。')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -140,7 +140,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getWorkByStandAndGoods, confirmFinishWork, queryFinishByStandAndGoods } from '@/api/task' import { getWorkByStandAndGoods, confirmFinishWork, queryFinishByStandAndGoods } from '@/api/task'
import { errorBox, successBox, warningBox } from '@/utils/myMessageBox.js' import { errorBox, warningBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -233,7 +234,7 @@ export default {
this.workFormEntity.tip = response.returnData.tip this.workFormEntity.tip = response.returnData.tip
warningBox(this.workFormEntity.tip) warningBox(this.workFormEntity.tip)
} else { } else {
successBox(response.message) ElMessage.success(response.message)
} }
this.resetForms() this.resetForms()
} }
@ -270,7 +271,7 @@ export default {
this.workFormEntity.tip = response.returnData.tip this.workFormEntity.tip = response.returnData.tip
} }
this.resetForms() this.resetForms()
successBox(response.message) ElMessage.success(response.message)
} else { } else {
errorBox(response.message) errorBox(response.message)
} }

View File

@ -85,7 +85,7 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
@ -149,10 +149,10 @@ export default {
this.pickTaskList = tableResponse.returnData.lists this.pickTaskList = tableResponse.returnData.lists
this.total = tableResponse.returnData.total this.total = tableResponse.returnData.total
} else { } else {
ElMessage.error(tableResponse.message) errorBox(tableResponse.message)
} }
}).catch(err => { }).catch(err => {
ElMessage.error('查询拣选任务错误' + err.message) errorBox('查询拣选任务错误' + err.message)
}) })
this.loading = false this.loading = false
}, },
@ -207,10 +207,10 @@ export default {
}) })
this.search() this.search()
} else { } else {
ElMessage.error(res.data.message) errorBox(res.data.message)
} }
}).catch(err => { }).catch(err => {
ElMessage.error('更新拣选任务失败。') errorBox('更新拣选任务失败。')
}) })
}, },
getCurrentRow(row) { getCurrentRow(row) {

View File

@ -85,7 +85,7 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
@ -149,7 +149,7 @@ export default {
this.pickTaskList = tableResponse.returnData.lists this.pickTaskList = tableResponse.returnData.lists
this.total = tableResponse.returnData.total this.total = tableResponse.returnData.total
} else { } else {
ElMessage.error(tableResponse.message) errorBox(tableResponse.message)
} }
}).catch(err => { }).catch(err => {
ElMessage.error('查询拣选任务错误' + err.message) ElMessage.error('查询拣选任务错误' + err.message)

View File

@ -113,21 +113,21 @@
<div style="width: 0;height: 0;overflow: hidden"> <div style="width: 0;height: 0;overflow: hidden">
<div id="printArea" class="objectDialogFlowPrint"> <div id="printArea" class="objectDialogFlowPrint">
<!-- <div class="myPrint"> --> <!-- <div class="myPrint"> -->
<div class="pageWarp" v-for="item in printTabs"> <div class="pageWarp" v-for="item in printTabs">
<div class="print-tab-left"> <div class="print-tab-left">
<div class="print-disp"> <div class="print-disp">
小盒子号{{ item.sequenceNo }}</div> 小盒子号{{ item.sequenceNo }}</div>
<div class="print-disp"> 小工位{{ item.smallWorkCenter }}</div> <div class="print-disp"> 小工位{{ item.smallWorkCenter }}</div>
<div class="print-disp"> 料号数量{{ item.goodsCount }}</div> <div class="print-disp"> 料号数量{{ item.goodsCount }}</div>
<div class="print-disp"> 配料人员{{ item.opUser }}</div> <div class="print-disp"> 配料人员{{ item.opUser }}</div>
</div>
<div class="print-tab-right">
<div class="print-disp"> 机器序列号{{ item.machineNo }}</div>
<div class="print-disp"> 工单{{ item.workOrder }}</div>
<div class="print-disp"> 零件数量{{ item.goodsNumCount }}</div>
<div class="print-disp"> 配料日期{{ item.opTime }}</div>
</div>
</div> </div>
<div class="print-tab-right">
<div class="print-disp"> 机器序列号{{ item.machineNo }}</div>
<div class="print-disp"> 工单{{ item.workOrder }}</div>
<div class="print-disp"> 零件数量{{ item.goodsNumCount }}</div>
<div class="print-disp"> 配料日期{{ item.opTime }}</div>
</div>
</div>
<!-- </div> --> <!-- </div> -->
</div> </div>
</div> </div>
@ -139,7 +139,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getFinishedWorkInfo, confirmFinishedWork, requestPrintData } from '@/api/task' import { getFinishedWorkInfo, confirmFinishedWork, requestPrintData } from '@/api/task'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox.js'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -225,7 +226,7 @@ export default {
confirmFinishedWork(confirmParams).then(res => { confirmFinishedWork(confirmParams).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox('response.message') ElMessage.success('response.message')
this.resetForms() this.resetForms()
} else { } else {
errorBox(response.message) errorBox(response.message)

View File

@ -174,14 +174,14 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getGoodsInfoByPage } from '@/api/goods.js' import { getGoodsInfoByPage, deleteGoodsInfo, updateGoodsInfo } from '@/api/goods.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { ElMessageBox } from 'element-plus' import { ElMessageBox, ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { errorBox, infoBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import UploadExcelGoods from '@/excel/UploadExcelGoods.vue' import UploadExcelGoods from '@/excel/UploadExcelGoods.vue'
import { downloadMaterialExcel } from '@/api/excel.js' import { downloadGoodsExcel } from '@/api/excel.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
</script> </script>
<script> <script>
@ -277,9 +277,9 @@ export default {
goodsId: this.goodsId, goodsId: this.goodsId,
userName: store.getters.getUserName userName: store.getters.getUserName
} }
deleteAllKateTasks(params).then(res => { deleteGoodsInfo(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
successBox('删除物料信息成功') ElMessage.success('删除物料信息成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -289,14 +289,32 @@ export default {
errorBox('删除物料信息失败') errorBox('删除物料信息失败')
}) })
}).catch(() => { }).catch(() => {
infoBox('操作取消') ElMessage.info('操作取消')
}) })
}, },
submitGoodsInfo(formData) { submitGoodsInfo(formData) {
updatePartInfo(formData).then(res => { const request = {
goodsId: formData.goodsId,
goodsName: formData.goodsName,
goodsUnit: formData.goodsUnit,
goodsType: formData.goodsType,
providerType: formData.providerType,
weight: formData.weight,
weightUnit: formData.weightUnit,
quantityPerBox: formData.quantityPerBox,
unpackingType: formData.unpackingType,
vehicleType: formData.vehicleType,
vehicleTypeDescription: formData.vehicleTypeDescription,
goodsInVehicleType: formData.goodsInVehicleType,
feedingType: formData.feedingType,
feedingValue: formData.feedingValue,
dataSource: formData.dataSource,
userName: store.getters.getUserName
}
updateGoodsInfo(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新物料信息成功') ElMessage.success('更新物料信息成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -309,13 +327,17 @@ export default {
this.goodsId = row.goodsId this.goodsId = row.goodsId
}, },
exportExcel() { exportExcel() {
downloadMaterialExcel().then(res => { const params = {
goodsId: this.goodsIdQuery.trim(),
userName: store.getters.getUserName
}
downloadGoodsExcel(params).then(res => {
const link = document.createElement('a');//a const link = document.createElement('a');//a
try { try {
// let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls
let blob = res.data //blob let blob = res.data //blob
// let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; // // let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //
let _fileName = "导出物料信息" + dateFormatter(new Date) + ".xlsx" let _fileName = "物料报表" + dateFormatter(new Date) + ".xlsx"
link.style.display = 'none'// link.style.display = 'none'//
// URL // URL
@ -336,14 +358,6 @@ export default {
}) })
}, },
}, },
// watch: {
// currentPage() {
// this.getCurrentPageGoods()
// },
// pageSize() {
// this.getCurrentPageGoods()
// }
// }
} }
</script> </script>

View File

@ -50,7 +50,7 @@
<div style="display: flex; margin-top: 20px;"> <div style="display: flex; margin-top: 20px;">
<div class="display-form-div-left"> <div class="display-form-div-left">
<el-input-number v-model.number="workFormEntity.goodsNum" <el-input-number v-model.number="workFormEntity.goodsNum"
controls-position="right" :min="0" :max="99999999" ref="goodsNum" controls-position="right" :min="0" :max="9999" ref="goodsNum"
v-on:keyup.enter="addTempTask()" /> v-on:keyup.enter="addTempTask()" />
</div> </div>
<div class="display-form-div-right"> <div class="display-form-div-right">
@ -101,7 +101,8 @@ import store from '@/store'
import { sendGoodsInTask } from '@/api/task' import { sendGoodsInTask } from '@/api/task'
import { replaceEnglishAndNumberIGAI } from '@/utils/formatter' import { replaceEnglishAndNumberIGAI } from '@/utils/formatter'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage, ElMessageBox } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -119,7 +120,8 @@ export default {
workFormRef: ref(), workFormRef: ref(),
workFormEntity: reactive({ workFormEntity: reactive({
vehicleId: '', vehicleId: '',
goodsId: '' goodsId: '',
goodsNum: null
}), }),
rules: reactive({ rules: reactive({
vehicleId: [ vehicleId: [
@ -141,31 +143,79 @@ export default {
resetForms() { resetForms() {
this.workFormEntity = reactive({ this.workFormEntity = reactive({
vehicleId: '', vehicleId: '',
goodsId: '' goodsId: '',
goodsNum: null
}) })
}, },
addTempTask() { addTempTask() {
this.workFormEntity.vehicleId = replaceEnglishAndNumberIGAI(this.workFormEntity.vehicleId) this.workFormEntity.vehicleId = replaceEnglishAndNumberIGAI(this.workFormEntity.vehicleId)
if (this.workFormEntity.vehicleId != '' && this.workFormEntity.goodsId != '' && this.workFormEntity.goodsNum != null && this.workFormEntity.goodsNum > 0) { if (this.workFormEntity.vehicleId != '' && this.workFormEntity.goodsId != '' && this.workFormEntity.goodsNum != null && this.workFormEntity.goodsNum > 0) {
if (this.workFormEntity.vehicleId == this.workFormEntity.goodsId) {
errorBox('料箱号与料号不能相同')
return
}
if (this.workFormEntity.goodsId == this.workFormEntity.goodsNum) {
errorBox('料号与数量不能相同')
return
}
if (this.workFormEntity.vehicleId == this.workFormEntity.goodsNum) {
errorBox('料箱号与数量不能相同')
return
}
if (this.currentVehicleId != '' && this.currentVehicleId != this.workFormEntity.vehicleId) { if (this.currentVehicleId != '' && this.currentVehicleId != this.workFormEntity.vehicleId) {
errorBox('请下发之前料箱的任务后再继续绑定新的料箱') errorBox('请下发之前料箱的任务后再继续绑定新的料箱')
return return
} }
const sameIndex = this.tempTasks.findIndex(task => task.goodsId == this.workFormEntity.goodsId) if (this.workFormEntity.goodsNum == 9999) {
if (sameIndex != -1) {// ElMessageBox.confirm(
var sameGoods = this.tempTasks[sameIndex] '当前数量达最大值9999。\n是否继续',
sameGoods.goodsNum = sameGoods.goodsNum + this.workFormEntity.goodsNum '警告',
} else { {
this.tempTasks.push({ confirmButtonText: '确认',
vehicleId: this.workFormEntity.vehicleId, cancelButtonText: '取消',
goodsId: this.workFormEntity.goodsId, type: 'warning',
goodsNum: this.workFormEntity.goodsNum }
).then(() => {
const sameIndex = this.tempTasks.findIndex(task => task.goodsId == this.workFormEntity.goodsId)
if (sameIndex != -1) {//
var sameGoods = this.tempTasks[sameIndex]
sameGoods.goodsNum = sameGoods.goodsNum + this.workFormEntity.goodsNum
} else {
this.tempTasks.push({
vehicleId: this.workFormEntity.vehicleId,
goodsId: this.workFormEntity.goodsId,
goodsNum: this.workFormEntity.goodsNum
})
}
this.currentVehicleId = this.workFormEntity.vehicleId
this.workFormEntity.goodsId = ''
this.workFormEntity.goodsNum = null
this.$refs.goodsId.focus()
return
}).catch(() => {
ElMessage.info('操作取消')
this.workFormEntity.goodsNum = null
this.$refs.goodsNum.focus()
return
}) })
} else {
const sameIndex = this.tempTasks.findIndex(task => task.goodsId == this.workFormEntity.goodsId)
if (sameIndex != -1) {//
var sameGoods = this.tempTasks[sameIndex]
sameGoods.goodsNum = sameGoods.goodsNum + this.workFormEntity.goodsNum
} else {
this.tempTasks.push({
vehicleId: this.workFormEntity.vehicleId,
goodsId: this.workFormEntity.goodsId,
goodsNum: this.workFormEntity.goodsNum
})
}
this.currentVehicleId = this.workFormEntity.vehicleId
this.workFormEntity.goodsId = ''
this.workFormEntity.goodsNum = null
this.$refs.goodsId.focus()
return
} }
this.currentVehicleId = this.workFormEntity.vehicleId
this.workFormEntity.goodsId = ''
this.workFormEntity.goodsNum = null
this.$refs.goodsId.focus()
} else { } else {
if (this.workFormEntity.vehicleId == '') { if (this.workFormEntity.vehicleId == '') {
this.$refs.vehicleId.focus() this.$refs.vehicleId.focus()
@ -200,7 +250,7 @@ export default {
sendGoodsInTask(request).then(res => { sendGoodsInTask(request).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox('入库确认成功。') ElMessage.success('入库确认成功。')
this.resetForms() this.resetForms()
this.currentVehicleId = '' this.currentVehicleId = ''
this.tempTasks = [] this.tempTasks = []

View File

@ -126,7 +126,7 @@ import { sendGoodsInTask, callEmptyVehicle } from '@/api/task'
import { queryPartInfoByPartNo } from '@/api/goods' import { queryPartInfoByPartNo } from '@/api/goods'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import UploadExcelPart from '@/excel/UploadExcelPart.vue' import UploadExcelPart from '@/excel/UploadExcelPart.vue'
const taskInRequestRef = ref() const taskInRequestRef = ref()

View File

@ -135,7 +135,7 @@ import { sendGoodsOutTask, getTasksByPage, getTasks, finishPickingAndBack } from
import { taskStatusFormatter, dueFormatter, timeFormatter } from '@/utils/formatter.js' import { taskStatusFormatter, dueFormatter, timeFormatter } from '@/utils/formatter.js'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
const taskOutRequestRef = ref() const taskOutRequestRef = ref()
const pickConfirmRef = ref() const pickConfirmRef = ref()

View File

@ -88,7 +88,7 @@ import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>

View File

@ -44,7 +44,7 @@ import { getTaskRecords } from '@/api/record.js'
import { dateFormatter, taskStatusFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, taskStatusFormatter, timeFormatter } from '@/utils/formatter.js'
import { downloadInRecordExcel } from '@/api/excel.js' import { downloadInRecordExcel } from '@/api/excel.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
</script> </script>
<script> <script>
export default { export default {
@ -113,7 +113,8 @@ export default {
exportExcel() { exportExcel() {
const params = { const params = {
vehicleId: this.vehicleIdQuery.trim(), vehicleId: this.vehicleIdQuery.trim(),
goodsId: this.goodsIdQuery.trim() goodsId: this.goodsIdQuery.trim(),
userName: store.getters.getUserName
} }
downloadInRecordExcel(params).then(res => { downloadInRecordExcel(params).then(res => {
const link = document.createElement('a');//a const link = document.createElement('a');//a

View File

@ -88,7 +88,8 @@
import store from '@/store' import store from '@/store'
import { getWorkByStandAndGoods, confirmFinishWork, queryFinishByStandAndGoods } from '@/api/task' import { getWorkByStandAndGoods, confirmFinishWork, queryFinishByStandAndGoods } from '@/api/task'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import UploadExcelInventoryList from '@/excel/UploadExcelInventoryList.vue' import UploadExcelInventoryList from '@/excel/UploadExcelInventoryList.vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -176,7 +177,7 @@ export default {
this.workFormEntity.tip = response.returnData.tip this.workFormEntity.tip = response.returnData.tip
} }
this.resetForms() this.resetForms()
successBox(response.message) ElMessage.success(response.message)
} }
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
@ -217,7 +218,7 @@ export default {
this.workFormEntity.tip = response.returnData.tip this.workFormEntity.tip = response.returnData.tip
} }
this.resetForms() this.resetForms()
successBox(response.message) ElMessage.success(response.message)
} else { } else {
errorBox(response.message) errorBox(response.message)
} }

View File

@ -158,8 +158,8 @@
import store from '@/store' import store from '@/store'
import { getOrders, deleteOrders, updateOrders } from '@/api/kateWork.js' import { getOrders, deleteOrders, updateOrders } from '@/api/kateWork.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { ElMessageBox } from 'element-plus' import { ElMessageBox, ElMessage } from 'element-plus'
import { errorBox, infoBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import UploadExcelOrders from '@/excel/UploadExcelOrders.vue' import UploadExcelOrders from '@/excel/UploadExcelOrders.vue'
@ -264,7 +264,7 @@ export default {
} }
deleteOrders(params).then(res => { deleteOrders(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
successBox('删除工单信息成功。') ElMessage.success('删除工单信息成功。')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -274,7 +274,7 @@ export default {
errorBox('删除工单信息成功') errorBox('删除工单信息成功')
}) })
}).catch(() => { }).catch(() => {
infoBox('操作取消') ElMessage.info('操作取消')
}) })
}, },
submitOrdersInfo(formData) { submitOrdersInfo(formData) {
@ -292,7 +292,7 @@ export default {
updateOrders(params).then(res => { updateOrders(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新工单成功。') ElMessage.success('更新工单成功。')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -66,7 +66,7 @@ import store from '@/store'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { getLocations, updateLocation } from '@/api/location.js' import { getLocations, updateLocation } from '@/api/location.js'
import { ElMessage, ElLoading } from 'element-plus' import { ElMessage, ElLoading } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { reactive } from 'vue' import { reactive } from 'vue'
</script> </script>
<script> <script>

View File

@ -1,13 +1,17 @@
<template> <template>
<div style="margin-bottom: 10px"> <div style="margin-bottom: 10px">
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
<el-row> <div style="display: flex;justify-content: space-between;">
<el-input v-model="locationIdQuery" style="width: 256px; margin-right: 10px;" placeholder="库位" <el-row>
:suffix-icon="Search" /> <el-input v-model="locationIdQuery" style="width: 256px; margin-right: 10px;" placeholder="库位"
<el-button type="primary" @click="search()">搜索</el-button> :suffix-icon="Search" />
<el-button type="warning" @click="reset()">重置</el-button> <el-button type="primary" @click="search()">搜索</el-button>
<!-- <el-button type="success" @click="exportExcel()">导出信息</el-button> --> <el-button type="warning" @click="reset()">重置</el-button>
</el-row> </el-row>
<el-row>
<el-button style="background-color: #32CD32; color: #000;" @click="exportExcel()">导出</el-button>
</el-row>
</div>
<br /> <br />
<el-table :data="locations" stripe border v-loading="loading" class="table-class" max-height="550px" <el-table :data="locations" stripe border v-loading="loading" class="table-class" max-height="550px"
highlight-current-row @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }" highlight-current-row @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }"
@ -129,12 +133,14 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { downloadLocationsExcel } from '@/api/excel.js'
import { getLocations, updateLocation } from '@/api/location.js' import { getLocations, updateLocation } from '@/api/location.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import { errorBox } from '@/utils/myMessageBox.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { locationStatusFormatter, locationFormatter } from '@/utils/formatter.js' import { locationStatusFormatter, locationFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
<script> <script>
export default { export default {
@ -259,7 +265,7 @@ export default {
updateLocation(request).then(res => { updateLocation(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新库位信息成功') ElMessage.success('更新库位信息成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -273,45 +279,37 @@ export default {
this.locationId = row.locationId this.locationId = row.locationId
// this.$emit('update:selVehicle', row) // this.$emit('update:selVehicle', row)
}, },
// exportExcel() { exportExcel() {
// const request = { const params = {
// vehicleId: formData.vehicleId, locationId: this.locationIdQuery.trim(),
// currentLocation: formData.currentLocation, userName: store.getters.getUserName
// isEmpty: formData.isEmpty, }
// vehicleStatus: formData.vehicleStatus downloadLocationsExcel(params).then(res => {
// } const link = document.createElement('a');//a
// downloadVehicleExcel(request).then(res => { try {
// const link = document.createElement('a');//a // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls
// try { let blob = res.data //blob
// // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls // let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //
// let blob = res.data //blob let _fileName = "库位报表" + dateFormatter(new Date) + ".xlsx"
// // let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; // link.style.display = 'none'//
// let _fileName = "" + dateFormatter(new Date) + ".xlsx"
// link.style.display = 'none'//
// // URL // URL
// const url = window.URL || window.webkitURL || window.moxURL const url = window.URL || window.webkitURL || window.moxURL
// link.href = url.createObjectURL(blob) link.href = url.createObjectURL(blob)
// link.setAttribute('download', _fileName.substring(_fileName.lastIndexOf('_') + 1)) link.setAttribute('download', _fileName.substring(_fileName.lastIndexOf('_') + 1))
// document.body.appendChild(link) document.body.appendChild(link)
// link.click() link.click()
// document.body.removeChild(link) document.body.removeChild(link)
// url.revokeObjectURL(link.href)//url url.revokeObjectURL(link.href)//url
// } catch (e) { } catch (e) {
// ElMessage({ console.log(e)
// message: ': ' + e, errorBox('下载文件失败')
// type: 'error', }
// showClose: true }).catch(err => {
// }) console.log(err)
// } errorBox('导出失败')
// }).catch(err => { })
// ElMessage({ },
// message: ': ' + err,
// type: 'error',
// showClose: true
// })
// })
// },
} }
} }
</script> </script>

View File

@ -41,7 +41,7 @@
import { getTaskRecords } from '@/api/record.js' import { getTaskRecords } from '@/api/record.js'
import { dateFormatter, taskStatusFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, taskStatusFormatter, timeFormatter } from '@/utils/formatter.js'
import { downloadOutRecordExcel } from '@/api/excel.js' import { downloadOutRecordExcel } from '@/api/excel.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import store from '@/store' import store from '@/store'
@ -113,7 +113,8 @@ export default {
exportExcel() { exportExcel() {
const params = { const params = {
vehicleId: this.vehicleIdQuery.trim(), vehicleId: this.vehicleIdQuery.trim(),
goodsId: this.goodsIdQuery.trim() goodsId: this.goodsIdQuery.trim(),
userName: store.getters.userName
} }
downloadOutRecordExcel(params).then(res => { downloadOutRecordExcel(params).then(res => {
const link = document.createElement('a');//a const link = document.createElement('a');//a

View File

@ -86,7 +86,7 @@
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'

View File

@ -85,7 +85,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
@ -201,7 +202,7 @@ export default {
updatePickTaskInfo(params).then(res => { updatePickTaskInfo(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新拣选任务成功。') ElMessage.success('更新拣选任务成功。')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -37,12 +37,12 @@
</div> </div>
<div style="display: flex; flex-direction: column;"> <div style="display: flex; flex-direction: column;">
<div class="display-title-div"> <div class="display-title-div">
<span class="display-title-text">工单顺序</span> <span class="display-title-text">数量</span>
</div> </div>
<div style="display: flex; margin-top: 20px;"> <div style="display: flex; margin-top: 20px;">
<div class="display-form-div-left"> <div class="display-form-div-left">
<el-input-number v-model.number="workFormEntity.orderOfOrders" <el-input-number v-model.number="workFormEntity.orderOfOrders"
controls-position="right" :min="1" :max="10" /> controls-position="right" :min="1" :max="10" disabled />
</div> </div>
</div> </div>
</div> </div>
@ -66,7 +66,8 @@
import store from '@/store' import store from '@/store'
import { requestSortBox } from '@/api/task' import { requestSortBox } from '@/api/task'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script> </script>
@ -107,20 +108,20 @@ export default {
errorBox('请输入大盒子号') errorBox('请输入大盒子号')
return return
} }
if (this.workFormEntity.orderOfOrders == null) { // if (this.workFormEntity.orderOfOrders == null) {
errorBox('请输入工单顺序') // errorBox('')
return // return
} // }
const request = { const request = {
standId: this.standId, standId: this.standId,
bigBoxNo: this.workFormEntity.bigBoxNo, bigBoxNo: this.workFormEntity.bigBoxNo,
orderOfOrders: this.workFormEntity.orderOfOrders, // orderOfOrders: this.workFormEntity.orderOfOrders,
userName: store.getters.getUserName userName: store.getters.getUserName
} }
requestSortBox(request).then(res => { requestSortBox(request).then(res => {
const response = res.data const response = res.data
if (response.code == 0) { if (response.code == 0) {
successBox('请根据灯光拣选盒子。') ElMessage.success('请根据灯光拣选盒子。')
this.resetForms() this.resetForms()
} else { } else {
errorBox(response.message) errorBox(response.message)

View File

@ -86,7 +86,7 @@
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'

View File

@ -27,6 +27,7 @@
<el-table-column prop="configId" label="id" fixed="left" min-width="120px" show-overflow-tooltip /> <el-table-column prop="configId" label="id" fixed="left" min-width="120px" show-overflow-tooltip />
<el-table-column prop="workStation" label="工站" fixed="left" min-width="120px" /> <el-table-column prop="workStation" label="工站" fixed="left" min-width="120px" />
<el-table-column prop="smallBox" label="小盒子" fixed="left" min-width="120px" /> <el-table-column prop="smallBox" label="小盒子" fixed="left" min-width="120px" />
<el-table-column prop="orderQuantity" label="工单数/大盒子" min-width="120px" />
<el-table-column prop="model" label="机型" min-width="120px" /> <el-table-column prop="model" label="机型" min-width="120px" />
<el-table-column prop="workCenter" label="工位" min-width="120px" /> <el-table-column prop="workCenter" label="工位" min-width="120px" />
<el-table-column prop="bigBox" label="工位大盒子" min-width="120px" /> <el-table-column prop="bigBox" label="工位大盒子" min-width="120px" />
@ -102,6 +103,12 @@
</el-row> </el-row>
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="工单数/大盒子" prop="orderQuantity">
<el-input-number v-model.number="configFormEntity.orderQuantity"
controls-position="right" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开工时间调整" prop="startDateAdjust"> <el-form-item label="开工时间调整" prop="startDateAdjust">
<el-input-number v-model.number="configFormEntity.startDateAdjust" <el-input-number v-model.number="configFormEntity.startDateAdjust"
controls-position="right" clearable /> controls-position="right" clearable />
@ -153,8 +160,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getStationConfigs, deleteStationConfigs, updateStationConfigs } from '@/api/kateWork.js' import { getStationConfigs, deleteStationConfigs, updateStationConfigs } from '@/api/kateWork.js'
import { ElMessageBox } from 'element-plus' import { ElMessageBox, ElMessage } from 'element-plus'
import { errorBox, successBox, infoBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import UploadExcelStationConfig from '@/excel/UploadExcelStationConfig.vue' import UploadExcelStationConfig from '@/excel/UploadExcelStationConfig.vue'
@ -232,6 +239,7 @@ export default {
configId: row.configId, configId: row.configId,
workStation: row.workStation, workStation: row.workStation,
smallBox: row.smallBox, smallBox: row.smallBox,
orderQuantity: row.orderQuantity,
model: row.model, model: row.model,
workCenter: row.workCenter, workCenter: row.workCenter,
bigBox: row.bigBox, bigBox: row.bigBox,
@ -260,7 +268,7 @@ export default {
} }
deleteStationConfigs(params).then(res => { deleteStationConfigs(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
successBox('工站配置信息删除成功') ElMessage.success('工站配置信息删除成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -270,7 +278,7 @@ export default {
errorBox('删除工站配置信息失败') errorBox('删除工站配置信息失败')
}) })
}).catch(() => { }).catch(() => {
infoBox('操作取消') ElMessage.info('操作取消')
}) })
}, },
submitConfigInfo(formData) { submitConfigInfo(formData) {
@ -279,6 +287,7 @@ export default {
workStation: formData.workStation, workStation: formData.workStation,
smallBox: formData.smallBox, smallBox: formData.smallBox,
model: formData.model, model: formData.model,
orderQuantity: formData.orderQuantity,
workCenter: formData.workCenter, workCenter: formData.workCenter,
bigBox: formData.bigBox, bigBox: formData.bigBox,
vehicle: formData.vehicle, vehicle: formData.vehicle,
@ -291,7 +300,7 @@ export default {
updateStationConfigs(params).then(res => { updateStationConfigs(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('工站配置信息更新成功') ElMessage.success('工站配置信息更新成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -3,8 +3,17 @@
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
<div style="display: flex;justify-content: space-between;"> <div style="display: flex;justify-content: space-between;">
<el-row> <el-row>
<el-input v-model="goodsIdQuery" style="width: 196px; margin-right: 10px;" placeholder="料号" <el-autocomplete v-model="goodsIdQuery" :fetch-suggestions="filterGoodsId"
:suffix-icon="Search" /> popper-class="my-autocomplete" placeholder="料号" @select="handleSelectGoodsId"
:suffix-icon="Search" style="width: 196px; margin-right: 10px;">
<template #default="{ item }">
<div>
料号<span class="goods_id">{{ item.goodsId }}</span>
名称<span class="goods_name">{{ item.goodsName }}</span>
</div>
</template>
</el-autocomplete>
<el-input v-model="vehicleIdQuery" style="width: 196px; margin-right: 10px;" placeholder="箱号" <el-input v-model="vehicleIdQuery" style="width: 196px; margin-right: 10px;" placeholder="箱号"
:suffix-icon="Search" /> :suffix-icon="Search" />
<el-input v-model="locationIdQuery" style="width: 196px; margin-right: 10px;" placeholder="库位" <el-input v-model="locationIdQuery" style="width: 196px; margin-right: 10px;" placeholder="库位"
@ -84,8 +93,8 @@
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="入库数量" prop="totalNum"> <el-form-item label="入库数量" prop="totalNum">
<el-input-number v-model.number="stockFormEntity.totalNum" <el-input-number v-model.number="stockFormEntity.totalNum" controls-position="right"
controls-position="right" :min="0" disabled /> :min="0" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -170,12 +179,14 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getAllStocks, updateStockInfo } from '@/api/stock.js' import { getAllStocks, updateStockInfo } from '@/api/stock.js'
import { getGoodsInfoByGoodsId } from '@/api/goods.js'
import { downloadStockExcel } from '@/api/excel.js' import { downloadStockExcel } from '@/api/excel.js'
import { dateFormatter, locationFormatter, timeFormatter, yesOrNoFormatter } from '@/utils/formatter.js' import { dateFormatter, locationFormatter, timeFormatter, yesOrNoFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
// import FileSaver from 'file-saver'; // import FileSaver from 'file-saver';
// import * as XLSX from 'xlsx'; // import * as XLSX from 'xlsx';
</script> </script>
@ -252,12 +263,47 @@ export default {
label: '库存锁定' label: '库存锁定'
} }
], ],
goodsList: [],
} }
}, },
mounted() { mounted() {
this.search() this.search()
this.loadAllGoodsInfo()
}, },
methods: { methods: {
loadAllGoodsInfo() {
const request = {
userName: store.getters.getUserName
}
getGoodsInfoByGoodsId(request).then(res => {
const tableResponse = res.data
if (tableResponse.code == 0) {
this.goodsList = tableResponse.returnData
} else {
errorBox(tableResponse.message)
}
}).catch(err => {
console.log(err)
errorBox('查询物料信息异常。')
})
},
filterGoodsId(queryString, cb) {
const results = queryString
? this.goodsList.filter(this.createFilter(queryString))
: this.goodsList
// call callback function to return suggestion objects
cb(results)
},
createFilter(queryString) {
return (restaurant) => {
return (
restaurant.goodsId.toLowerCase().indexOf(queryString.toLowerCase()) != -1
)
}
},
handleSelectGoodsId(item) {
this.goodsIdQuery = item.goodsId
},
locationFormat: (row, column, cellValue, index) => { locationFormat: (row, column, cellValue, index) => {
return locationFormatter(cellValue) return locationFormatter(cellValue)
}, },
@ -350,6 +396,7 @@ export default {
goodsId: this.goodsIdQuery.trim(), goodsId: this.goodsIdQuery.trim(),
vehicleId: this.vehicleIdQuery.trim(), vehicleId: this.vehicleIdQuery.trim(),
locationId: this.locationIdQuery.trim(), locationId: this.locationIdQuery.trim(),
userName: store.getters.getUserName
} }
downloadStockExcel(params).then(res => { downloadStockExcel(params).then(res => {
const link = document.createElement('a');//a const link = document.createElement('a');//a
@ -374,7 +421,7 @@ export default {
} }
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
errorBox('导出失败') errorBox('导出失败')
}) })
}, },
editCurrentRowStock(row) { editCurrentRowStock(row) {
@ -411,7 +458,7 @@ export default {
updateStockInfo(request).then(res => { updateStockInfo(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新库存成功') ElMessage.success('更新库存成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -447,4 +494,32 @@ export default {
.el-row .el-form-item .el-input-number { .el-row .el-form-item .el-input-number {
width: 100% !important; width: 100% !important;
} }
.my-autocomplete li {
width: 196px;
line-height: normal;
padding: 7px;
}
.my-autocomplete li .name {
text-overflow: ellipsis;
overflow: hidden;
}
.my-autocomplete li .addr {
font-size: 12px;
color: #b4b4b4;
}
.my-autocomplete li .highlighted .addr {
color: #ddd;
}
.my-autocomplete li .goods_id {
color: brown;
}
.my-autocomplete li .goods_name {
color: cornflowerblue;
}
</style> </style>

View File

@ -131,7 +131,8 @@
import { getTasksByPage, updateTaskInfo } from '@/api/task.js' import { getTasksByPage, updateTaskInfo } from '@/api/task.js'
import { dateFormatter, taskStatusFormatter, timeFormatter, dueFormatter } from '@/utils/formatter.js' import { dateFormatter, taskStatusFormatter, timeFormatter, dueFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import store from '@/store' import store from '@/store'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
</script> </script>
@ -220,7 +221,7 @@ export default {
}, },
{ {
value: 999, value: 999,
label: '任务完成' label: '任务异常'
} }
], ],
availableLocationOptions: [] availableLocationOptions: []
@ -332,7 +333,7 @@ export default {
updateTaskInfo(request).then(res => { updateTaskInfo(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('修改任务成功') ElMessage.success('修改任务成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -1,15 +1,17 @@
<template> <template>
<div style="margin-bottom: 10px"> <div style="margin-bottom: 10px">
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
<el-row> <div style="display: flex;justify-content: space-between;">
<el-input v-model="queryKey" style="width: 256px; margin-right: 10px;" placeholder="箱号" <el-row>
:suffix-icon="Search" /> <el-input v-model="queryKey" style="width: 256px; margin-right: 10px;" placeholder="箱号"
<!-- <div v-if="selVehicle == null"><uploadVehicles></uploadVehicles></div> --> :suffix-icon="Search" />
<!-- <el-input v-model="queryKey" style="width: 196px; margin-left: auto; margin-right: 10px;" placeholder="箱号" /> --> <el-button type="primary" @click="search()">搜索</el-button>
<el-button type="primary" @click="search()">搜索</el-button> <el-button type="warning" @click="reset()">重置</el-button>
<el-button type="warning" @click="reset()">重置</el-button> </el-row>
<el-button type="success" @click="exportExcel()" v-if="selVehicle == null">导出信息</el-button> <el-row v-if="selVehicle == null">
</el-row> <el-button style="background-color: #32CD32; color: #000;" @click="exportExcel()">导出</el-button>
</el-row>
</div>
<br /> <br />
<el-table :data="vehicles" stripe border v-loading="loading" class="table-class" max-height="550px" <el-table :data="vehicles" stripe border v-loading="loading" class="table-class" max-height="550px"
highlight-current-row @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }" highlight-current-row @row-click="getCurrentRow" :header-cell-style="{ 'text-align': 'center' }"
@ -20,7 +22,8 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="vehicleId" label="托盘号" fixed="left" min-width="120px" /> <el-table-column prop="vehicleId" label="托盘号" fixed="left" min-width="120px" />
<el-table-column prop="currentLocation" label="库位" fixed="left" :formatter="locationFormat" min-width="120px" show-overflow-tooltip /> <el-table-column prop="currentLocation" label="库位" fixed="left" :formatter="locationFormat"
min-width="120px" show-overflow-tooltip />
<el-table-column prop="vehicleStatus" label="状态" :formatter="vehicleStatusFormat" min-width="120px" /> <el-table-column prop="vehicleStatus" label="状态" :formatter="vehicleStatusFormat" min-width="120px" />
<el-table-column prop="isEmpty" label="空托" :formatter="isEmptyFormat" min-width="120px" /> <el-table-column prop="isEmpty" label="空托" :formatter="isEmptyFormat" min-width="120px" />
<el-table-column prop="lastInTime" label="最近入库时间" :formatter="timeFormat" min-width="120px" /> <el-table-column prop="lastInTime" label="最近入库时间" :formatter="timeFormat" min-width="120px" />
@ -36,8 +39,8 @@
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="search" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="search"
@current-change="search" /> @current-change="search" />
<el-dialog v-model="dialogVisible" title="料箱信息" width="40%" draggable :show-close="false"> <el-dialog v-model="dialogVisible" title="料箱信息" width="40%" draggable :show-close="false">
<el-form ref="vehicleFormRef" :model="vehicleFormEntity" :label-position="labelPosition" label-width="100px" <el-form ref="vehicleFormRef" :model="vehicleFormEntity" :label-position="labelPosition"
style="max-width: 100%" :rules="rules" status-icon> label-width="100px" style="max-width: 100%" :rules="rules" status-icon>
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="箱号" prop="vehicleId"> <el-form-item label="箱号" prop="vehicleId">
@ -81,7 +84,8 @@
<script setup> <script setup>
import { getAllVehicles, updateVehicleInfo } from '@/api/vehicle' import { getAllVehicles, updateVehicleInfo } from '@/api/vehicle'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { vehicleStatusFormatter, locationFormatter, dateFormatter, timeFormatter } from '@/utils/formatter.js' import { vehicleStatusFormatter, locationFormatter, dateFormatter, timeFormatter } from '@/utils/formatter.js'
@ -212,7 +216,7 @@ export default {
updateVehicleInfo(request).then(res => { updateVehicleInfo(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新料箱信息成功') ElMessage.success('更新料箱信息成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)
@ -240,7 +244,7 @@ export default {
// let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //blobblobtypexls
let blob = res.data //blob let blob = res.data //blob
// let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; // // let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //
let _fileName = "导出料箱信息" + dateFormatter(new Date) + ".xlsx" let _fileName = "料箱报表" + dateFormatter(new Date) + ".xlsx"
link.style.display = 'none'// link.style.display = 'none'//
// URL // URL

View File

@ -91,7 +91,8 @@ import { configTypeFormatter } from '@/utils/formatter.js'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { ElMessage } from 'element-plus'
import { errorBox } from '@/utils/myMessageBox.js'
import store from '@/store' import store from '@/store'
</script> </script>
<script> <script>
@ -213,7 +214,7 @@ export default {
updateConfig(request).then(res => { updateConfig(request).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新系统配置成功') ElMessage.success('更新系统配置成功')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -157,7 +157,8 @@
<script setup> <script setup>
import store from '@/store' import store from '@/store'
import { getWorkFlows, updateWorkFlows } from '@/api/kateWork.js' import { getWorkFlows, updateWorkFlows } from '@/api/kateWork.js'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ElMessage } from 'element-plus'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
@ -309,7 +310,7 @@ export default {
updateWorkFlows(params).then(res => { updateWorkFlows(params).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
this.dialogVisible = false this.dialogVisible = false
successBox('更新工作流信息成功。') ElMessage.success('更新工作流信息成功。')
this.search() this.search()
} else { } else {
errorBox(res.data.message) errorBox(res.data.message)

View File

@ -86,7 +86,7 @@
import store from '@/store' import store from '@/store'
import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js' import { getPickTasksByPage, updatePickTaskInfo } from '@/api/taskMonitor.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { errorBox, successBox } from '@/utils/myMessageBox.js' import { errorBox } from '@/utils/myMessageBox.js'
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
import { dateFormatter, timeFormatter } from '@/utils/formatter.js' import { dateFormatter, timeFormatter } from '@/utils/formatter.js'
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'

View File

@ -1,6 +1,6 @@
import { ElMessageBox } from 'element-plus' import { ElMessageBox } from 'element-plus'
function errorBox(msg, myCallBack) { function errorBox(msg) {
ElMessageBox.alert(msg, '错误', { ElMessageBox.alert(msg, '错误', {
autofocus: true, autofocus: true,
confirmButtonText: '确认', confirmButtonText: '确认',
@ -9,12 +9,12 @@ function errorBox(msg, myCallBack) {
closeOnPressEscape: true, closeOnPressEscape: true,
showClose: false, showClose: false,
callback: (action) => { callback: (action) => {
myCallBack()
} }
}) })
} }
function successBox(msg, myCallBack) { function successBox(msg) {
ElMessageBox.alert(msg, '成功', { ElMessageBox.alert(msg, '成功', {
autofocus: true, autofocus: true,
confirmButtonText: '确认', confirmButtonText: '确认',
@ -23,12 +23,12 @@ function successBox(msg, myCallBack) {
closeOnPressEscape: true, closeOnPressEscape: true,
showClose: false, showClose: false,
callback: (action) => { callback: (action) => {
myCallBack()
} }
}) })
} }
function infoBox(msg, myCallBack) { function infoBox(msg) {
ElMessageBox.alert(msg, '提示', { ElMessageBox.alert(msg, '提示', {
autofocus: true, autofocus: true,
confirmButtonText: '确认', confirmButtonText: '确认',
@ -37,12 +37,12 @@ function infoBox(msg, myCallBack) {
closeOnPressEscape: true, closeOnPressEscape: true,
showClose: false, showClose: false,
callback: (action) => { callback: (action) => {
myCallBack()
} }
}) })
} }
function warningBox(msg, myCallBack) { function warningBox(msg) {
ElMessageBox.alert(msg, '警告', { ElMessageBox.alert(msg, '警告', {
autofocus: true, autofocus: true,
confirmButtonText: '确认', confirmButtonText: '确认',
@ -51,7 +51,7 @@ function warningBox(msg, myCallBack) {
closeOnPressEscape: true, closeOnPressEscape: true,
showClose: false, showClose: false,
callback: (action) => { callback: (action) => {
myCallBack()
} }
}) })
} }

View File

@ -107,7 +107,7 @@ onMounted(() => {
client_id: '609f8296-74ab-441e-904f-3a8508030511', client_id: '609f8296-74ab-441e-904f-3a8508030511',
// scope: 'openid', // scope: 'openid',
code: router.currentRoute.value.query.code, code: router.currentRoute.value.query.code,
redirect_uri: 'https://csclasrs.ecorp.cat.com/wms', redirect_uri: 'https://csclasrs.ecorp.cat.com',
grant_type: 'authorization_code', grant_type: 'authorization_code',
// client_secret: 'o6h8Q~iLegnIBG.GzJngXk.03FYdBJzIoCtTtcwj', // client_secret: 'o6h8Q~iLegnIBG.GzJngXk.03FYdBJzIoCtTtcwj',
// response_type: 'id_token', // response_type: 'id_token',