Browse Source

离线设备/图书上架

master
xuhuajiao 5 months ago
parent
commit
1bc7374b7d
  1. 11
      src/api/stockTask/index.js
  2. 48
      src/views/dashboard/PanelGroup.vue
  3. 36
      src/views/visualCheck/checkManage/bookSearch/index.vue

11
src/api/stockTask/index.js

@ -164,4 +164,13 @@ export function FetchNewBillByGridId(params) {
}) })
} }
export default { add, edit, del, FetchUpdateStockTaskStatus, FetchInitSuggestTilting, FetchInitSetting, FetchEditSetting, FetchInitHomeInfo, FetchInitStockInfo, FetchInitHotBookList, FetchInitHotShelfList, FetchInitBookDetailsByGrids, FetchAITerminalStatusQuery, FetchBillByShelfIdAndGridShelf, FetchIsGoodcutByBillNoAndGridId, FetchInitErrorProbaDesc, FetchShowByBillIdAndShelfIdAndGridShelf, FetchStartStopBookAIService, FetchMoveBills, FetchNewBillByGridId }
// 手动上架
export function FetchManualShelving(data) {
return request({
url: 'api/stocktask-task/manualShelving',
method: 'post',
data
})
}
export default { add, edit, del, FetchUpdateStockTaskStatus, FetchInitSuggestTilting, FetchInitSetting, FetchEditSetting, FetchInitHomeInfo, FetchInitStockInfo, FetchInitHotBookList, FetchInitHotShelfList, FetchInitBookDetailsByGrids, FetchAITerminalStatusQuery, FetchBillByShelfIdAndGridShelf, FetchIsGoodcutByBillNoAndGridId, FetchInitErrorProbaDesc, FetchShowByBillIdAndShelfIdAndGridShelf, FetchStartStopBookAIService, FetchMoveBills, FetchNewBillByGridId, FetchManualShelving }

48
src/views/dashboard/PanelGroup.vue

@ -63,7 +63,10 @@
<div class="card-panel-description"> <div class="card-panel-description">
离线设备 离线设备
<div class="card-panel-text"> <div class="card-panel-text">
<count-to :start-val="0" :end-val="topObjectNum && topObjectNum.deviceErrorCount" :duration="3200" class="card-panel-num" style="color: #ED4A41;" />
<div v-if="loading" style="height: 40px; line-height: 38px;"><i class="el-icon-loading" style="font-size: 16px;" /></div>
<count-to v-else :start-val="0" :end-val="deviceErrorCount" :duration="3200" class="card-panel-num" style="color: #ED4A41;" />
<!-- <count-to :start-val="0" :end-val="deviceErrorCount" :duration="3200" class="card-panel-num" style="color: #ED4A41;" /> -->
</div> </div>
</div> </div>
</div> </div>
@ -73,6 +76,7 @@
<script> <script>
import CountTo from 'vue-count-to' import CountTo from 'vue-count-to'
import { FetchinitDeviceInfoList, FetchPingIP } from '@/api/deviceVI/index'
export default { export default {
components: { components: {
@ -88,16 +92,48 @@ export default {
}, },
data() { data() {
return { return {
caseNum: 0,
anjuanNum: 0,
fileNum: 0,
documentNum: 0,
archivesNum: 0
loading: false,
deviceErrorCount: 0
} }
}, },
mounted() { mounted() {
this.getAllDevice()
}, },
methods: { methods: {
async getAllDevice() {
this.loading = true
const params = {
'deviceType': 1
}
try {
const res = await FetchinitDeviceInfoList(params)
console.log('res', res)
const promises = []
res.content.forEach(item => {
item.deviceState = null
promises.push(this.getDeviceState(item))
})
await Promise.all(promises)
this.deviceErrorCount = res.content.filter(item => item.deviceState === 0).length
this.loading = false
// console.log(' false :', this.deviceErrorCount)
} catch (error) {
console.error(error)
}
},
getDeviceState(item) {
return FetchPingIP({ ip: item.ipv4 })
.then((data) => {
item.deviceState = data === true ? 1 : 0
})
.catch((error) => {
console.error(error)
item.deviceState = 0
})
}
} }
} }
</script> </script>

36
src/views/visualCheck/checkManage/bookSearch/index.vue

@ -237,6 +237,8 @@ import { FetchLibraryFloorListAll } from '@/api/floor/index'
import { FetchRegionAllByFloor } from '@/api/area/index' import { FetchRegionAllByFloor } from '@/api/area/index'
import { FetchShelfAllByRegionId, FetchShelfGridAllByShelfId } from '@/api/shelf/index' import { FetchShelfAllByRegionId, FetchShelfGridAllByShelfId } from '@/api/shelf/index'
import crudBook from '@/api/book/index' import crudBook from '@/api/book/index'
import { FetchManualShelving } from '@/api/stockTask/index'
import CRUD, { presenter, header, form, crud } from '@crud/crud' import CRUD, { presenter, header, form, crud } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
@ -300,8 +302,8 @@ export default {
imageUrl: defaultImg, imageUrl: defaultImg,
selectBookData: [], selectBookData: [],
selectShelfVal: '', selectShelfVal: '',
selectGridVal: null
selectGridVal: null,
positionVisible: false
} }
}, },
computed: { computed: {
@ -407,18 +409,23 @@ export default {
saveBatchUp() { saveBatchUp() {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
const ids = []
this.selectBookData.forEach(val => {
ids.push(val.id)
})
const params = { const params = {
'gridId': this.selectGridVal.id, 'gridId': this.selectGridVal.id,
'stockRegion': this.selectShelfVal + '-' + removeQUPrefix(this.selectGridVal.gridName)
'ids': ids
} }
console.log('params', params) console.log('params', params)
// crudBook.FetchFastDownShelf(params).then(() => {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.crud.refresh()
// }).catch(err => {
// console.log(err)
// })
FetchManualShelving(params).then(() => {
this.$message({ message: '批量上架成功', type: 'success', offset: 8 })
this.crud.refresh()
this.handleCloseDialog()
}).catch(err => {
console.log(err)
this.addBookShelfVisible = false
})
} else { } else {
console.log('error submit!!') console.log('error submit!!')
return false return false
@ -471,6 +478,15 @@ export default {
}, },
handleCloseDialog() { handleCloseDialog() {
this.addBookShelfVisible = false this.addBookShelfVisible = false
this.positionVisible = false
this.detailVisible = false
this.clearFormData()
},
clearFormData() {
if (this.$refs.form) {
this.crud.cancelCU()
this.$refs.form.resetFields()
}
} }
} }

Loading…
Cancel
Save