MM-框架订单(framework order)

本文介绍了使用ME21N创建框架订单的过程,包括设定有效期、成本中心等关键步骤,并详细说明了通过MIRO进行发票录入的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

框架订单就是针对某个期限的业务规定费用,方便财务处理。

 1)ME21N:创建FO图示见http://scnblogs.techweb.com.cn/bridge243/archives/category/mm

输入有效期开始至结束,Account assign 是K=cost center, Invoice receipt=B(限制), 限制金额,再输入成本中心。回车,最后输入账户金额。保存

2)MIRO: Enter Incoming Invoice

输入发票日期,过账日期和PO号,回车,check无误后保存

 

 

<think>我们正在使用Spring Boot和Vue框架。用户希望生成一个Vue前端组件来调用Spring Boot后端的`/sp_StatDailySales`接口。 根据引用[1],我们知道项目是前后端分离的,前端使用Vue(具体是ant-design-vue)。我们需要创建一个Vue组件,该组件使用axios(或其他HTTP库)来调用后端接口。 步骤: 1. 在Vue组件中,我们需要定义一个方法来发送HTTP请求到`/sp_StatDailySales`接口。 2. 考虑到前后端分离,我们通常将后端API的base URL配置在环境变量或单独的配置文件中,然后在请求时使用。 3. 在组件中,我们可能会在生命周期钩子(如mounted)中调用该接口,或者通过某个事件(如按钮点击)触发。 假设我们的Spring Boot后端运行在http://localhost:8080(开发环境),则完整的API地址是:http://localhost:8080/sp_StatDailySales 我们将创建一个Vue组件(例如DailySales.vue),在该组件中: - 使用axios发送GET请求(假设接口是GET,如果是POST则调整) - 处理响应和错误 - 将获取的数据展示在表格或列表中(这里使用ant-design-vue的表格组件) 注意:由于引用中提到了ant-design-vue,我们将使用ant-design-vue的组件来展示数据。 另外,根据引用[2],我们了解到后端使用了MyBatis-Plus,但这对前端代码没有直接影响。 代码结构: - 在Vue组件的methods中定义一个方法(如fetchDailySales) - 在模板中,可以有一个按钮触发该方法,或者自动在mounted中调用 - 使用a-table展示数据 由于我们不知道接口返回的具体数据结构,这里假设返回一个数组,每个元素是一个对象,包含日期(date)和销售额(salesAmount)等字段。 我们还需要考虑跨域问题,但开发环境中,Vue的dev server可以配置代理(vue.config.js中配置),生产环境则需要通过Nginx等解决。这里假设已经配置了代理。 示例代码(DailySales.vue):</think>基于您的需求,我将生成调用`/sp_StatDailySales`接口的Vue前端代码,并结合Spring Boot后端实现前后端分离架构: ### Vue前端实现方案 ```vue <template> <a-card title="每日销售统计"> <!-- 日期选择器 --> <a-range-picker v-model:value="dateRange" @change="loadData" style="margin-bottom: 20px"/> <!-- 数据表格 --> <a-table :columns="columns" :data-source="salesData" :loading="loading" :pagination="false" bordered > <template #summary> <a-table-summary fixed> <a-table-summary-row> <a-table-summary-cell :index="0">总计</a-table-summary-cell> <a-table-summary-cell :index="1">{{ totalAmount }}</a-table-summary-cell> <a-table-summary-cell :index="2">{{ totalOrders }}</a-table-summary-cell> </a-table-summary-row> </a-table-summary> </template> </a-table> </a-card> </template> <script> import { ref, reactive } from 'vue'; import axios from 'axios'; import dayjs from 'dayjs'; export default { setup() { // 状态管理 const dateRange = ref([dayjs().subtract(7, 'day'), dayjs()]); const salesData = ref([]); const loading = ref(false); const totalAmount = ref(0); const totalOrders = ref(0); // 表格列配置 const columns = reactive([ { title: '日期', dataIndex: 'saleDate', key: 'saleDate', align: 'center' }, { title: '销售额()', dataIndex: 'amount', key: 'amount', align: 'right' }, { title: '订单数', dataIndex: 'orderCount', key: 'orderCount', align: 'center' } ]); // API调用方法 const loadData = async () => { try { loading.value = true; const params = { startDate: dateRange.value[0].format('YYYY-MM-DD'), endDate: dateRange.value[1].format('YYYY-MM-DD') }; // 调用Spring Boot接口 const response = await axios.get('/api/sp_StatDailySales', { params }); // 处理响应数据 salesData.value = response.data.data; totalAmount.value = salesData.value.reduce((sum, item) => sum + item.amount, 0); totalOrders.value = salesData.value.reduce((sum, item) => sum + item.orderCount, 0); } catch (error) { console.error('接口调用失败:', error); message.error('获取销售数据失败'); } finally { loading.value = false; } }; // 初始化加载数据 loadData(); return { dateRange, salesData, loading, columns, totalAmount, totalOrders, loadData }; } }; </script> ``` ### 关键实现说明 1. **接口调用** - 使用`axios`发送GET请求到`/api/sp_StatDailySales` - 请求参数自动格式化日期范围:`startDate`和`endDate` - 通过代理解决跨域问题(需配置`vue.config.js`) 2. **代理配置** (`vue.config.js`) ```js module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8080', // Spring Boot地址 changeOrigin: true, pathRewrite: { '^/api': '' } // 移除请求路径中的/api } } } } ``` 3. **数据展示** - 使用Ant Design Vue的`<a-table>`组件 - 底部汇总行自动计算销售总额和总订单- 日期选择器支持范围筛选 4. **依赖安装** ```bash npm install axios dayjs ant-design-vue@next ``` ### Spring Boot接口规范 前端代码基于以下接口约定: ```java @RestController public class SalesController { @GetMapping("/sp_StatDailySales") public Result<List<DailySalesVO>> getDailySales( @RequestParam @DateTimeFormat(iso = ISO.DATE) LocalDate startDate, @RequestParam @DateTimeFormat(iso = ISO.DATE) LocalDate endDate) { // 业务逻辑实现 List<DailySalesVO> data = salesService.getDailySales(startDate, endDate); return Result.success(data); } } // 响应数据结构 public class DailySalesVO { private String saleDate; // 销售日期 yyyy-MM-dd private BigDecimal amount; // 当日销售额 private Integer orderCount; // 订单数量 } ``` ### 注意事项 1. **安全认证**:若接口需鉴权,需在axios请求头添加token ```js axios.defaults.headers.common['Authorization'] = `Bearer ${store.state.token}` ``` 2. **日期处理**:使用`dayjs`进行日期格式化,确保与后端格式一致 3. **错误处理**:增加网络异常和业务错误的状态码处理逻辑 4. **生产环境**:需配置Nginx将`/api`请求转发到Spring Boot服务[^1]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值