This commit is contained in:
weipengfei 2024-05-11 11:16:01 +08:00
parent 29c94d2c68
commit 8341e41d09
4 changed files with 113 additions and 10 deletions

View File

@ -23,4 +23,14 @@ export function apiOpurchaseclassDelete(params: any) {
// 采购订单详情 // 采购订单详情
export function apiOpurchaseclassDetail(params: any) { export function apiOpurchaseclassDetail(params: any) {
return request.get({ url: '/operation/opurchaseclass/detail', params }) return request.get({ url: '/operation/opurchaseclass/detail', params })
}
// 采购详情子订单
export function apiOpurchaseclassSubOrders(params: any) {
return request.get({ url: '/operation/opurchaseclass/sub_orders', params })
}
// 采购详情报价列表
export function apiOpurchaseclassGoodsOfferList(params: any) {
return request.get({ url: '/operation/opurchaseclass/goods_offer_list', params })
} }

View File

@ -0,0 +1,43 @@
<template>
<div>
<el-table :data="pager.lists" border style="width: 100%">
<el-table-column prop="id" label="ID" width="120" />
<el-table-column prop="order_id" label="采购订单id" width="120" />
<el-table-column
label="商品名称"
prop="goods_name"
show-overflow-tooltip
/>
<el-table-column label="需求数量" prop="need_num" show-overflow-tooltip />
<el-table-column label="单位" prop="unit_name" show-overflow-tooltip />
<el-table-column label="实际金额" prop="actual" show-overflow-tooltip />
<el-table-column label="实收金额" prop="money" show-overflow-tooltip />
<el-table-column
label="单据时间"
prop="create_time"
show-overflow-tooltip
/>
</el-table>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</div>
</template>
<script lang="ts" setup name="subOrder">
import { usePaging } from "@/hooks/usePaging";
import { apiOpurchaseclassGoodsOfferList } from "@/api/opurchaseclass";
import { useRoute } from "vue-router";
const route = useRoute();
const queryParams = reactive({
id: route.query.id,
});
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiOpurchaseclassGoodsOfferList,
params: queryParams,
});
getLists();
</script>

View File

@ -0,0 +1,42 @@
<template>
<div>
<el-table :data="pager.lists" border style="width: 100%">
<el-table-column prop="id" label="ID" width="120" />
<el-table-column label="单据编号" prop="number" show-overflow-tooltip />
<el-table-column label="单据金额" prop="total" show-overflow-tooltip />
<el-table-column
label="抵扣金额"
prop="deduction_price"
show-overflow-tooltip
/>
<el-table-column label="实际金额" prop="actual" show-overflow-tooltip />
<el-table-column label="实收金额" prop="money" show-overflow-tooltip />
<el-table-column
label="单据时间"
prop="create_time"
show-overflow-tooltip
/>
</el-table>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</div>
</template>
<script lang="ts" setup name="subOrder">
import { usePaging } from "@/hooks/usePaging";
import { apiOpurchaseclassSubOrders } from "@/api/opurchaseclass";
import { useRoute } from "vue-router";
const route = useRoute();
const queryParams = reactive({
id: route.query.id,
});
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiOpurchaseclassSubOrders,
params: queryParams,
});
getLists();
</script>

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<el-card class="!border-none mb-4" shadow="never"> <el-card class="!border-none mb-4" shadow="never">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" class="demo-tabs">
<el-tab-pane label="概况" name="first"> <el-tab-pane label="概况" name="first">
<el-descriptions class="margin-top" :column="4" border> <el-descriptions class="margin-top" :column="4" border>
<!-- <template #extra> <!-- <template #extra>
@ -29,42 +29,49 @@
{{ form.id }} {{ form.id }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-table :data="form.goods_info" border style="width: 100%; margin-top: 20px;"> <el-table
:data="form.goods_info"
border
style="width: 100%; margin-top: 20px"
>
<el-table-column prop="id" label="ID" width="120" /> <el-table-column prop="id" label="ID" width="120" />
<el-table-column prop="goods_name" label="商品名称"/> <el-table-column prop="goods_name" label="商品名称" />
<el-table-column prop="price" label="单价(元)" /> <el-table-column prop="price" label="单价(元)" />
<el-table-column prop="unit_name" label="单位" /> <el-table-column prop="unit_name" label="单位" />
<el-table-column prop="nums" label="数量" /> <el-table-column prop="nums" label="数量" />
<el-table-column prop="total" label="合计(元)" /> <el-table-column prop="total" label="合计(元)" />
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="订单" name="second">订单列表</el-tab-pane> <el-tab-pane label="子订单" name="second">
<el-tab-pane label="报价信息" name="third">报价信息</el-tab-pane> <subOrder />
</el-tab-pane>
<el-tab-pane label="报价列表" name="third">
<goodsOffer />
</el-tab-pane>
<!-- <el-tab-pane label="详情3" name="fourth">Task</el-tab-pane> --> <!-- <el-tab-pane label="详情3" name="fourth">Task</el-tab-pane> -->
</el-tabs> </el-tabs>
</el-card> </el-card>
</div> </div>
</template> </template>
<script lang="ts" setup name="opurchaseclassLists"> <script lang="ts" setup name="opurchaseclassDetail">
import { usePaging } from "@/hooks/usePaging"; import { usePaging } from "@/hooks/usePaging";
import { useDictData } from "@/hooks/useDictOptions"; import { useDictData } from "@/hooks/useDictOptions";
import { import {
apiOpurchaseclassLists, apiOpurchaseclassLists,
apiOpurchaseclassDelete, apiOpurchaseclassDelete,
apiOpurchaseclassDetail, apiOpurchaseclassDetail,
} from "@/api/opurchaseclass"; } from "@/api/opurchaseclass";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import type { TabsPaneContext } from "element-plus"; import subOrder from "./component/subOrder.vue";
import goodsOffer from "./component/goodsOffer.vue";
const route = useRoute(); const route = useRoute();
const form = ref({}); const form = ref({});
const activeName = ref("first"); const activeName = ref("first");
const handleClick = (tab: TabsPaneContext, event: Event) => {
console.log(tab, event);
};
const getDetail = async () => { const getDetail = async () => {
const data = await apiOpurchaseclassDetail({ const data = await apiOpurchaseclassDetail({
@ -73,4 +80,5 @@ const getDetail = async () => {
form.value = data; form.value = data;
}; };
getDetail(); getDetail();
</script> </script>