提交 5399d4e0 authored 作者: lidongxu's avatar lidongxu

feat(finance): 财务分析

查询条件扁平化
上级 2ee4b7e3
import request from '@/utils/request'
/**
* 获取财务列表
* @param {*} params
* @returns
*/
export const getFinanceListAPI = (params) => {
return request({
url: '/bi/finance/cost/list',
params: {
type: params.aggregation
}
})
}
\ No newline at end of file
...@@ -6,6 +6,7 @@ export * from './bi/competitor' ...@@ -6,6 +6,7 @@ export * from './bi/competitor'
export * from './bi/product' export * from './bi/product'
export * from './bi/sale' export * from './bi/sale'
export * from './bi/store' export * from './bi/store'
export * from './bi/finance'
export * from './monitor/cache' export * from './monitor/cache'
export * from './monitor/job' export * from './monitor/job'
export * from './monitor/jobLog' export * from './monitor/jobLog'
......
...@@ -5,12 +5,77 @@ ...@@ -5,12 +5,77 @@
<el-form :model="queryParams" <el-form :model="queryParams"
inline> inline>
<el-form-item label="直播间"> <el-form-item label="直播间">
<el-select v-model="queryParams.brandList" <el-select v-model="queryParams.brand"
multiple multiple
clearable clearable
collapse-tags collapse-tags
collapse-tags-tooltip collapse-tags-tooltip
@change="queryChange"> @change="getList">
<el-option v-for="str in brandList"
:label="str"
:value="str">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="口味">
<el-select v-model="queryParams.brand"
multiple
clearable
collapse-tags
collapse-tags-tooltip
@change="getList">
<el-option v-for="str in brandList"
:label="str"
:value="str">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="规格">
<el-select v-model="queryParams.brand"
multiple
clearable
collapse-tags
collapse-tags-tooltip
@change="getList">
<el-option v-for="str in brandList"
:label="str"
:value="str">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="系列">
<el-select v-model="queryParams.brand"
multiple
clearable
collapse-tags
collapse-tags-tooltip
@change="getList">
<el-option v-for="str in brandList"
:label="str"
:value="str">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="商品名称">
<el-select v-model="queryParams.brand"
multiple
clearable
collapse-tags
collapse-tags-tooltip
@change="getList">
<el-option v-for="str in brandList"
:label="str"
:value="str">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="料号">
<el-select v-model="queryParams.brand"
multiple
clearable
collapse-tags
collapse-tags-tooltip
@change="getList">
<el-option v-for="str in brandList" <el-option v-for="str in brandList"
:label="str" :label="str"
:value="str"> :value="str">
...@@ -52,34 +117,40 @@ ...@@ -52,34 +117,40 @@
</template> </template>
<script setup> <script setup>
import { getFinanceListAPI } from '@/api'
const detailVisible = ref(true) const detailVisible = ref(false)
const aggregationList = ref(['料号', '规格', '口味', '直播间类型']) // 聚合条件
const brandList = ref([]) // 直播间列表
const columns = ref([
{
label: '查询条件',
prop: 'queryType'
},
// {
// label: '商品名称',
// prop: 'goodsName'
// },
{
label: '分摊后总价',
prop: 'shareAmountSum'
},
{
label: '实际成本',
prop: 'actualCostSum'
},
{
label: '标准成本',
prop: 'standardCostSum'
}
])
const tableData = ref([
])
const data = reactive({ const data = reactive({
brandList: [],
queryParams: { queryParams: {
brandList: [] aggregation: '料号', // 聚合条件
brand: '' // 直播间
}, },
tableData: [
// {
// id: 1,
// name: 'hah'
// }
],
// columns: [
// ]
columns: [
{
label: '直播间',
prop: 'id'
}, {
label: '分摊后总价',
prop: 'name'
}, {
label: '成本',
prop: 'name'
}
],
detailTableData: [], detailTableData: [],
detailColumns: [ detailColumns: [
{ {
...@@ -162,11 +233,19 @@ const data = reactive({ ...@@ -162,11 +233,19 @@ const data = reactive({
] ]
}) })
const { brandList, queryParams, tableData, columns, detailTableData, detailColumns } = toRefs(data) const { queryParams } = toRefs(data)
const queryChange = () => { const queryChange = () => {
} }
// 获取数据
const getList = async () => {
const res = await getFinanceListAPI(queryParams.value)
tableData.value = res.data.list
}
getList()
</script> </script>
<style scoped <style scoped
......
...@@ -33,7 +33,7 @@ export default defineConfig(({ mode, command }) => { ...@@ -33,7 +33,7 @@ export default defineConfig(({ mode, command }) => {
}, },
'/bclan': { '/bclan': {
// target: 'http://192.168.141.188:8080', // target: 'http://192.168.141.188:8080',
target: 'http://192.168.204.205:8080', target: 'http://192.168.186.205:8080',
changeOrigin: true, changeOrigin: true,
rewrite: (p) => p.replace(/^\/bclan/, '') rewrite: (p) => p.replace(/^\/bclan/, '')
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论