这是实体类 @Data @SuperBuilder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) public class WmsStoreInterOrder extends BaseEntity { //入库时间 private Date interTime; } 这是service的增加入库信息方法: public GlobalResponse saveModel(WmsStoreInterOrderParam param) { //代码省略 return GlobalResponse.success("入库单生成成功!"); } 这是后端controller: @Api(tags = "【入库单服务】入库单API") @RequestMapping("wms/inter/order") @RestController public class WmsInterOrderController { @Autowired private WmsStoreInterOrderService wmsStoreInterOrderService; } 这是需求:仓库入库提醒——需求:新货物入库登录后,后续对接人员可以收到提示。 实现方式:站内所有仓库板块用户收到新入库消息提醒,以弹窗方式展示 帮我改一下代码, 不需要在实体类加字段, 在axios.js写个弹窗,src/components/layout/main.vue是首页,新货物入库成功后,使其他客户端用户在其他页面也能看到弹窗,用轮询的方式,不要使用WebSocket
时间: 2024-03-06 17:49:42 浏览: 63
好的,根据你的需求,需要在前端页面中实现弹窗提示,不需要在后端实体类中增加字段。可以在前端的 axios.js 文件中添加代码,在前端页面中实现轮询,以实现弹窗提示的功能。
首先,在 axios.js 中,可以添加以下代码实现在新货物入库成功后弹出提示框:
```
import { Message } from 'element-ui';
// ...
function showAlert() {
Message({
message: '新货物已入库,请及时处理!',
type: 'success'
});
}
export function saveModel(data) {
// 保存数据的逻辑
// 成功保存后调用 showAlert()
}
```
接着,需要在前端页面中实现轮询,以检查是否有新的货物入库。这里我们可以在首页的 `src/components/layout/main.vue` 文件中添加以下代码:
```
<template>
<div>
<!-- 页面内容 -->
</div>
</template>
<script>
export default {
data() {
return {
timer: null
};
},
methods: {
fetchData() {
// 从后端获取数据的逻辑
// 成功获取后调用 showAlert()
}
},
mounted() {
this.timer = setInterval(() => {
this.fetchData();
}, 5000); // 每 5 秒轮询一次
},
beforeDestroy() {
clearInterval(this.timer); // 在页面销毁前停止轮询
}
};
</script>
```
这样,就可以在首页实现轮询,以检查是否有新的货物入库,并在新货物入库时弹出提示框。
阅读全文