feat(mes): 添加定时同步可生产数量到WMS及BOM项相关标准字段
- 在main.go中添加定时任务每10分钟同步可生产数量到WMS系统 - 为BomItem实体添加relatedStandard字段及相关CRUD方法 - 为InspectionRecord实体添加reportNo、materialCode、materialName等字段 - 更新ent schema确保新字段的验证和默认值设置 - 添加必要的数据库迁移和字段映射逻辑
This commit is contained in:
@@ -33,16 +33,22 @@
|
||||
</transition>
|
||||
|
||||
<el-tabs v-model="tab" type="border-card" class="main-tabs">
|
||||
<el-tab-pane label="作业" name="work">
|
||||
<el-tab-pane v-if="isOnline" label="上线建档" name="online">
|
||||
<OnlinePanel />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="isOffline" label="下线完工" name="offline">
|
||||
<OfflinePanel />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="!isVirtual" label="作业" name="work">
|
||||
<WorkPanel ref="workRef" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="物料 / 叫料" name="material">
|
||||
<MaterialPanel />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="移料" name="move">
|
||||
<el-tab-pane v-if="!isVirtual" label="移料" name="move">
|
||||
<MovePanel />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="工艺文件" name="pdf">
|
||||
<el-tab-pane v-if="!isVirtual" label="工艺文件" name="pdf">
|
||||
<PdfPanel />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="巡检 / 异常" name="inspect">
|
||||
@@ -51,6 +57,9 @@
|
||||
</el-tabs>
|
||||
|
||||
<WorkloadDialog ref="wlRef" />
|
||||
|
||||
<!-- 全局帮助:右下角悬浮「?」,内容随当前页签切换 -->
|
||||
<PageHelp :data="helpData" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -63,7 +72,19 @@ import MaterialPanel from './panels/MaterialPanel.vue'
|
||||
import MovePanel from './panels/MovePanel.vue'
|
||||
import PdfPanel from './panels/PdfPanel.vue'
|
||||
import InspectPanel from './panels/InspectPanel.vue'
|
||||
import OnlinePanel from './panels/OnlinePanel.vue'
|
||||
import OfflinePanel from './panels/OfflinePanel.vue'
|
||||
import WorkloadDialog from './panels/WorkloadDialog.vue'
|
||||
import PageHelp from '../components/PageHelp.vue'
|
||||
import {
|
||||
helpInspect,
|
||||
helpMaterial,
|
||||
helpMove,
|
||||
helpOffline,
|
||||
helpOnline,
|
||||
helpPdf,
|
||||
helpWorkstation
|
||||
} from '../help'
|
||||
import { stationLogout, syncFlush } from '../api'
|
||||
import { clearAuth } from '../utils/request'
|
||||
import {
|
||||
@@ -74,6 +95,7 @@ import {
|
||||
loadStats,
|
||||
loadTight,
|
||||
loadTask,
|
||||
loadWip,
|
||||
orderNo,
|
||||
pendingTotal,
|
||||
refreshAll,
|
||||
@@ -89,6 +111,22 @@ const workRef = ref()
|
||||
const wlRef = ref()
|
||||
const clock = ref('')
|
||||
const stationName = computed(() => state.task?.stationName || '')
|
||||
// 0=上线位、13=下线位为虚拟工位,分别展示上线建档 / 下线完工面板
|
||||
const isOnline = computed(() => Number(stationNo.value) === 0)
|
||||
const isOffline = computed(() => Number(stationNo.value) === 13)
|
||||
const isVirtual = computed(() => isOnline.value || isOffline.value)
|
||||
|
||||
// 帮助内容随当前页签切换(全局唯一一个 PageHelp 悬浮按钮)
|
||||
const HELP_MAP = {
|
||||
online: helpOnline,
|
||||
offline: helpOffline,
|
||||
work: helpWorkstation,
|
||||
material: helpMaterial,
|
||||
move: helpMove,
|
||||
pdf: helpPdf,
|
||||
inspect: helpInspect
|
||||
}
|
||||
const helpData = computed(() => HELP_MAP[tab.value] || helpWorkstation)
|
||||
|
||||
let timerTask = null
|
||||
let timerTight = null
|
||||
@@ -118,6 +156,10 @@ function logout() {
|
||||
onMounted(async () => {
|
||||
tickClock()
|
||||
await loadConfig()
|
||||
// 虚拟工位默认落到对应面板;物理工位默认作业页
|
||||
if (isOnline.value) tab.value = 'online'
|
||||
else if (isOffline.value) tab.value = 'offline'
|
||||
else tab.value = 'work'
|
||||
refreshAll()
|
||||
loadMoves()
|
||||
workRef.value?.focusScan?.()
|
||||
@@ -129,6 +171,7 @@ onMounted(async () => {
|
||||
tickClock()
|
||||
loadPoints() // 点位台账 10 秒
|
||||
loadMoves()
|
||||
loadWip() // 在制品 10 秒
|
||||
}, 10000)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user