update: 更新收货汇总对接
This commit is contained in:
parent
2dd4b8e43c
commit
8e3dd63aa2
|
@ -4,13 +4,13 @@
|
||||||
<view class="title">筛选</view>
|
<view class="title">筛选</view>
|
||||||
<u-list height="200">
|
<u-list height="200">
|
||||||
<u-list-item>
|
<u-list-item>
|
||||||
<u-cell :title="`供应商`" @click="handleDialog('showSupplier', true)">
|
<u-cell :title="`${isShipment ? '客户' : '供应商'}`" @click="handleDialog('showSupplier', true)">
|
||||||
<template #right-icon> </template>
|
<template #right-icon> </template>
|
||||||
</u-cell>
|
</u-cell>
|
||||||
</u-list-item>
|
</u-list-item>
|
||||||
<u-list-item boder="none">
|
<u-list-item boder="none">
|
||||||
<u-cell
|
<u-cell
|
||||||
:title="`收货产品`"
|
:title="`${isShipment ? '出货产品' : '收货产品'}`"
|
||||||
@click="handleDialog('showProduct', true)"
|
@click="handleDialog('showProduct', true)"
|
||||||
>
|
>
|
||||||
<template #right-icon> </template>
|
<template #right-icon> </template>
|
||||||
|
@ -42,6 +42,7 @@
|
||||||
@handleDialog="(v:boolean) => {handleDialog('showProduct', v)}"
|
@handleDialog="(v:boolean) => {handleDialog('showProduct', v)}"
|
||||||
@changeProduct="changeProduct"
|
@changeProduct="changeProduct"
|
||||||
ref="productRef"
|
ref="productRef"
|
||||||
|
:isShipment="isShipment"
|
||||||
></ProductDialog>
|
></ProductDialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -49,6 +50,7 @@ import SupplierDialog from "./SupplierDialog.vue";
|
||||||
import ProductDialog from "./ProductDialog.vue";
|
import ProductDialog from "./ProductDialog.vue";
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
show: boolean;
|
show: boolean;
|
||||||
|
isShipment: boolean;
|
||||||
}>();
|
}>();
|
||||||
const emit = defineEmits(["handleDialog", "changeOther"]);
|
const emit = defineEmits(["handleDialog", "changeOther"]);
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<u-popup :show="show" mode="left" :closeable="true" @close="handleClose">
|
<u-popup :show="show" mode="left" :closeable="true" @close="handleClose">
|
||||||
<view class="c-dialog-filter">
|
<view class="c-dialog-filter">
|
||||||
<view class="title">收货产品</view>
|
<view class="title">{{ isShipment ? "出货" : "收货" }}产品</view>
|
||||||
<view class="dialog-product-layout">
|
<view class="dialog-product-layout">
|
||||||
<text v-for="(item, index) in state.list" :class="{ active: state.current === item.id }" @click="handleSelect(item)" :key="index"
|
<text
|
||||||
>{{ item.reProductsName }}</text
|
v-for="(item, index) in state.list"
|
||||||
|
:class="{ active: state.current === item.id }"
|
||||||
|
@click="handleSelect(item)"
|
||||||
|
:key="index"
|
||||||
|
>{{isShipment ? item.shmProductsName : item.reProductsName }}</text
|
||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="btn-confirm">
|
<!-- <view class="btn-confirm">
|
||||||
|
@ -16,36 +20,44 @@
|
||||||
</u-popup>
|
</u-popup>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ReceiveProductApi } from '@/services';
|
import { ReceiveProductApi, GoodsApi } from "@/services";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
show: boolean,
|
show: boolean;
|
||||||
}>()
|
isShipment: boolean;
|
||||||
const emit = defineEmits(['handleDialog', 'changeProduct']);
|
}>();
|
||||||
|
const emit = defineEmits(["handleDialog", "changeProduct"]);
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
emit('handleDialog', false)
|
emit("handleDialog", false);
|
||||||
}
|
};
|
||||||
const state = reactive<any>({
|
const state = reactive<any>({
|
||||||
list: [],
|
list: [],
|
||||||
current: -1,
|
current: -1,
|
||||||
|
});
|
||||||
|
|
||||||
})
|
const handleSelect = (item: any) => {
|
||||||
|
state.current = item.id;
|
||||||
const handleSelect = (item:any) => {
|
emit("changeProduct", item);
|
||||||
state.current = item.id
|
emit("handleDialog", false);
|
||||||
emit('changeProduct', item)
|
};
|
||||||
emit('handleDialog', false)
|
|
||||||
}
|
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
ReceiveProductApi.getAllReProducts().then(res => {
|
if (props.isShipment) {
|
||||||
|
GoodsApi.getShipmentProductList().then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
state.list = res.data
|
state.list = res.data;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
} else {
|
||||||
|
ReceiveProductApi.getAllReProducts().then((res) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
state.list = res.data;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList();
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.c-dialog-filter {
|
.c-dialog-filter {
|
||||||
|
@ -58,8 +70,8 @@ onMounted(() => {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 产品dialog
|
// 产品dialog
|
||||||
.dialog-product-layout {
|
.dialog-product-layout {
|
||||||
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12);
|
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(5, 68, 37, 0.12);
|
||||||
border-radius: 13rpx;
|
border-radius: 13rpx;
|
||||||
margin: 42rpx 25rpx;
|
margin: 42rpx 25rpx;
|
||||||
|
@ -89,9 +101,9 @@ onMounted(() => {
|
||||||
border-color: $u-primary;
|
border-color: $u-primary;
|
||||||
color: $u-primary;
|
color: $u-primary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-confirm {
|
.btn-confirm {
|
||||||
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 56, 93, 0.12);
|
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 56, 93, 0.12);
|
||||||
border-radius: 13rpx 13rpx 0rpx 0rpx;
|
border-radius: 13rpx 13rpx 0rpx 0rpx;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -106,5 +118,5 @@ onMounted(() => {
|
||||||
border-radius: 43rpx;
|
border-radius: 43rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -10,7 +10,7 @@
|
||||||
<view class="box"><text>单据状态</text></view>
|
<view class="box"><text>单据状态</text></view>
|
||||||
<view class="box-btn"
|
<view class="box-btn"
|
||||||
><text
|
><text
|
||||||
v-for="(item, index) in state.statusList"
|
v-for="(item, index) in isShipment ? state.statusList2 : state.statusList1"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="{ active: state.currentStates === item.id }"
|
:class="{ active: state.currentStates === item.id }"
|
||||||
@click="handleSelect(item)"
|
@click="handleSelect(item)"
|
||||||
|
@ -23,11 +23,12 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
show: boolean;
|
show: boolean;
|
||||||
|
isShipment: boolean;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
currentStates: -1,
|
currentStates: -1,
|
||||||
statusList: [
|
statusList1: [
|
||||||
{
|
{
|
||||||
id: -1,
|
id: -1,
|
||||||
name: "全部",
|
name: "全部",
|
||||||
|
@ -45,6 +46,20 @@ const state = reactive({
|
||||||
name: "未审核",
|
name: "未审核",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
statusList2: [
|
||||||
|
{
|
||||||
|
id: -1,
|
||||||
|
name: "全部",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 4,
|
||||||
|
name: "已结算",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
name: "未结算",
|
||||||
|
},
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(["handleDialog", "changeStatus"]);
|
const emit = defineEmits(["handleDialog", "changeStatus"]);
|
||||||
|
@ -52,10 +67,10 @@ const handleClose = () => {
|
||||||
emit("handleDialog", false);
|
emit("handleDialog", false);
|
||||||
};
|
};
|
||||||
const handleSelect = (item: any) => {
|
const handleSelect = (item: any) => {
|
||||||
state.currentStates = item.id
|
state.currentStates = item.id;
|
||||||
emit("changeStatus", item)
|
emit("changeStatus", item);
|
||||||
emit("handleDialog", false);
|
emit("handleDialog", false);
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep .u-popup__content {
|
::v-deep .u-popup__content {
|
||||||
|
|
|
@ -118,6 +118,7 @@
|
||||||
<!-- 单据弹框 -->
|
<!-- 单据弹框 -->
|
||||||
<StatusDialog
|
<StatusDialog
|
||||||
:show="showDialog.showStatus"
|
:show="showDialog.showStatus"
|
||||||
|
:isShipment="false"
|
||||||
@handleDialog="(v:boolean) => {handleDialog('showStatus', v)}"
|
@handleDialog="(v:boolean) => {handleDialog('showStatus', v)}"
|
||||||
@changeStatus="changeStatus"
|
@changeStatus="changeStatus"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -2,41 +2,46 @@
|
||||||
<view class="layout-box">
|
<view class="layout-box">
|
||||||
<view class="filter">
|
<view class="filter">
|
||||||
<u-input
|
<u-input
|
||||||
v-model="params.startTime"
|
v-model="state.startTime"
|
||||||
disabled
|
disabled
|
||||||
disabledColor="#ffffff"
|
disabledColor="#ffffff"
|
||||||
placeholder="请选择开始时间"
|
placeholder="请选择开始时间"
|
||||||
></u-input>
|
></u-input>
|
||||||
<text>-</text>
|
<text>-</text>
|
||||||
<u-input
|
<u-input
|
||||||
v-model="params.endTime"
|
v-model="state.endTime"
|
||||||
disabled
|
disabled
|
||||||
disabledColor="#ffffff"
|
disabledColor="#ffffff"
|
||||||
placeholder="请选择结束时间"
|
placeholder="请选择结束时间"
|
||||||
></u-input>
|
></u-input>
|
||||||
<u-icon name="arrow-down-fill" @click="handleDialog('showTime',true)"></u-icon>
|
<u-icon
|
||||||
|
name="arrow-down"
|
||||||
|
@click="handleDialog('showTime', true)"
|
||||||
|
></u-icon>
|
||||||
<text class="status">单据状态</text>
|
<text class="status">单据状态</text>
|
||||||
<u-icon name="arrow-down-fill" @click="handleDialog('showStatus', true)"></u-icon>
|
<u-icon
|
||||||
|
name="arrow-down"
|
||||||
|
@click="handleDialog('showStatus', true)"
|
||||||
|
></u-icon>
|
||||||
<text class="btn" @click="handleDialog('showFilter', true)">筛选</text>
|
<text class="btn" @click="handleDialog('showFilter', true)">筛选</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<up-row>
|
<up-row>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box" style="border: none">
|
<view class="inner-box" style="border: none">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalAmount }}</view>
|
||||||
<view>出货总量/kg</view>
|
<view>出货总量/kg</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box">
|
<view class="inner-box">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalPayShipment }}</view>
|
||||||
<view>已收/kg</view>
|
<view>已收/kg</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box">
|
<view class="inner-box">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalUnPayShipment }}</view>
|
||||||
<view>未收/kg</view>
|
<view>未收/kg</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
|
@ -47,19 +52,19 @@
|
||||||
<up-row>
|
<up-row>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box" style="border: none">
|
<view class="inner-box" style="border: none">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalCollection }}</view>
|
||||||
<view>结算金额/kg</view>
|
<view>结算金额/元</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box">
|
<view class="inner-box">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalPayCollection }}</view>
|
||||||
<view>实收金额</view>
|
<view>实收金额</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
<up-col span="4">
|
<up-col span="4">
|
||||||
<view class="inner-box">
|
<view class="inner-box">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalUnPayCollection }}</view>
|
||||||
<view>应收金额</view>
|
<view>应收金额</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
|
@ -69,14 +74,14 @@
|
||||||
<up-row>
|
<up-row>
|
||||||
<up-col span="6">
|
<up-col span="6">
|
||||||
<view class="inner-box" style="border: none">
|
<view class="inner-box" style="border: none">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.totalReceipt }}</view>
|
||||||
<view>出货单</view>
|
<view>出货单</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
<up-col span="6">
|
<up-col span="6">
|
||||||
<view class="inner-box">
|
<view class="inner-box">
|
||||||
<view class="num">892339.9</view>
|
<view class="num">{{ state.summary.averagePrice }}</view>
|
||||||
<view>均价(元/kg)</view>
|
<view>均价(元/kg)</view>
|
||||||
</view>
|
</view>
|
||||||
</up-col>
|
</up-col>
|
||||||
</up-row>
|
</up-row>
|
||||||
|
@ -86,47 +91,59 @@
|
||||||
<uni-table stripe emptyText="暂无更多数据">
|
<uni-table stripe emptyText="暂无更多数据">
|
||||||
<!-- 表头行 -->
|
<!-- 表头行 -->
|
||||||
<uni-tr>
|
<uni-tr>
|
||||||
<uni-th align="center" v-for="(item, index) in tableTitleList" :key="index">{{
|
<uni-th v-for="(item, index) in tableTitleList" :key="index">{{
|
||||||
item.name
|
item.name
|
||||||
}}</uni-th>
|
}}</uni-th>
|
||||||
</uni-tr>
|
</uni-tr>
|
||||||
<!-- 表格数据行 -->
|
<!-- 表格数据行 -->
|
||||||
<uni-tr v-for="(item, index) in 10" :key="index">
|
<uni-tr v-for="(item, index) in state.summary.rankings" :key="index">
|
||||||
<uni-td>张家港华仁再生</uni-td>
|
<uni-td>{{ item.userName }}</uni-td>
|
||||||
<uni-td>1636.00</uni-td>
|
<uni-td>{{ item.totalAmount }}</uni-td>
|
||||||
<uni-td>5646.00</uni-td>
|
<uni-td>{{ item.totalPayment }}</uni-td>
|
||||||
<uni-td>5636.00</uni-td>
|
<uni-td>{{ item.totalOrderNumber }}</uni-td>
|
||||||
<uni-td>5636.00</uni-td>
|
<uni-td>{{ item.totalOrderNumber }}</uni-td>
|
||||||
</uni-tr>
|
</uni-tr>
|
||||||
</uni-table>
|
</uni-table>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 时间弹框 -->
|
<!-- 时间弹框 -->
|
||||||
<TimeDialog ref="timeDialog" :show="showDialog.showTime" @handleDialog="(v:boolean) => {handleDialog('showTime', v)}"/>
|
<TimeDialog
|
||||||
|
ref="timeDialog"
|
||||||
|
:show="showDialog.showTime"
|
||||||
|
@handleDialog="(v:boolean) => {handleDialog('showTime', v)}"
|
||||||
|
@changeTime="changeTime"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- 单据弹框 -->
|
<!-- 单据弹框 -->
|
||||||
<StatusDialog :show="showDialog.showStatus" @handleDialog="(v:boolean) => {handleDialog('showStatus', v)}"/>
|
<StatusDialog
|
||||||
|
:show="showDialog.showStatus"
|
||||||
|
:isShipment="true"
|
||||||
|
@handleDialog="(v:boolean) => {handleDialog('showStatus', v)}"
|
||||||
|
@changeStatus="changeStatus"
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- 筛选弹框 -->
|
<!-- 筛选弹框 -->
|
||||||
<FilterDialog :show="showDialog.showFilter" @handleDialog="(v:boolean) => {handleDialog('showFilter', v)}"/>
|
<FilterDialog
|
||||||
|
:show="showDialog.showFilter"
|
||||||
|
@handleDialog="(v:boolean) => {handleDialog('showFilter', v)}"
|
||||||
|
@changeOther="changeOther"
|
||||||
|
:isShipment="true"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import TimeDialog from './components/TimeDialog.vue'
|
import TimeDialog from "./components/TimeDialog.vue";
|
||||||
import StatusDialog from './components/StatusDialog.vue'
|
import StatusDialog from "./components/StatusDialog.vue";
|
||||||
import FilterDialog from './components/FilterDialog.vue'
|
import FilterDialog from "./components/FilterDialog.vue";
|
||||||
const params = reactive({
|
import { ShipmentApi } from "@/services";
|
||||||
startTime: "2024-01-01",
|
import { formatDate, getCurrentMonthStartAndEnd } from "@/utils";
|
||||||
endTime: "2024-01-01",
|
|
||||||
});
|
|
||||||
|
|
||||||
const tableTitleList = reactive([
|
const tableTitleList = reactive([
|
||||||
{
|
{
|
||||||
name: "客户",
|
name: "客户",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "结算重量",
|
name: "结算重量/kg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "结算金额",
|
name: "结算金额",
|
||||||
|
@ -140,21 +157,84 @@ const tableTitleList = reactive([
|
||||||
]);
|
]);
|
||||||
const showDialog = <
|
const showDialog = <
|
||||||
{
|
{
|
||||||
[key: string]: boolean
|
[key: string]: boolean;
|
||||||
}
|
}
|
||||||
>reactive(
|
>reactive({
|
||||||
{
|
|
||||||
showTime: false,
|
showTime: false,
|
||||||
showStatus: false,
|
showStatus: false,
|
||||||
showFilter: false
|
showFilter: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
const state = reactive<{
|
||||||
|
summary: ShipmentSummaryCount;
|
||||||
|
startTime: string;
|
||||||
|
endTime: string;
|
||||||
|
scaleStatus: number;
|
||||||
|
userId: number;
|
||||||
|
productId: number;
|
||||||
|
}>({
|
||||||
|
summary: {
|
||||||
|
totalAmount: 0, // 收货汇总:审核过收货总量
|
||||||
|
totalPayShipment: 0, // 已支付的出货总
|
||||||
|
totalUnPayShipment: 0, // 未支付的出货总量
|
||||||
|
totalCollection: 0, // 总收款
|
||||||
|
totalPayCollection: 0, // 已经收到的收款
|
||||||
|
totalUnPayCollection: 0, // 未收到的收款
|
||||||
|
totalReceipt: 0, // 收货单数量已审核的
|
||||||
|
averagePrice: 0, // 平均单价
|
||||||
|
rankings: [],
|
||||||
|
},
|
||||||
|
startTime: formatDate(getCurrentMonthStartAndEnd().start, "{y}-{m}-{d}"),
|
||||||
|
endTime: formatDate(getCurrentMonthStartAndEnd().end, "{y}-{m}-{d}"),
|
||||||
|
scaleStatus: -1,
|
||||||
|
userId: -1,
|
||||||
|
productId: -1,
|
||||||
|
});
|
||||||
|
|
||||||
|
const changeTime = (obj: any) => {
|
||||||
|
state.startTime = obj.startTime;
|
||||||
|
state.endTime = obj.endTime;
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
|
||||||
|
const changeStatus = (obj: any) => {
|
||||||
|
state.scaleStatus = obj.id;
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
|
||||||
|
const changeOther = (obj: any) => {
|
||||||
|
state.userId = obj.userId;
|
||||||
|
state.productId = obj.productId;
|
||||||
|
getList();
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleDialog = (key: string, v: boolean) => {
|
||||||
|
showDialog[key] = v;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getList = () => {
|
||||||
|
let params: any = {
|
||||||
|
startTime: state.startTime + " 00:00:00",
|
||||||
|
endTime: state.endTime + " 23:59:59",
|
||||||
|
};
|
||||||
|
if (state.scaleStatus > -1) {
|
||||||
|
params.scaleStatus = state.scaleStatus;
|
||||||
}
|
}
|
||||||
)
|
if (state.userId > -1) {
|
||||||
|
params.userId = state.userId;
|
||||||
const handleDialog = (key: string, v:boolean) => {
|
}
|
||||||
showDialog[key] = v
|
if (state.productId > -1) {
|
||||||
}
|
params.productId = state.productId;
|
||||||
|
}
|
||||||
|
ShipmentApi.getOrderInReceipt(params).then((res) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
state.summary = res.data;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
onMounted(() => {
|
||||||
|
getList();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.layout-box {
|
.layout-box {
|
||||||
|
@ -164,15 +244,14 @@ const handleDialog = (key: string, v:boolean) => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 500;
|
font-size: 28rpx;
|
||||||
font-size: 27rpx;
|
|
||||||
color: #000000;
|
color: #000000;
|
||||||
::v-deep .u-input {
|
::v-deep .u-input {
|
||||||
padding: 0rpx 16.03rpx !important;
|
padding: 0rpx 16.03rpx !important;
|
||||||
input {
|
input {
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 21rpx !important;
|
font-size: 24rpx !important;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -195,7 +274,7 @@ const handleDialog = (key: string, v:boolean) => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 24rpx;
|
font-size: 26rpx;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
|
@ -207,7 +286,7 @@ const handleDialog = (key: string, v:boolean) => {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 24rpx;
|
font-size: 26rpx;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
border-left: 1px solid #e9e9e9;
|
border-left: 1px solid #e9e9e9;
|
||||||
.num {
|
.num {
|
||||||
|
@ -216,21 +295,20 @@ const handleDialog = (key: string, v:boolean) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep .uni-table {
|
::v-deep .uni-table {
|
||||||
min-width: auto !important;
|
min-width: 500px !important;
|
||||||
.uni-table-th {
|
.uni-table-th {
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 22rpx;
|
font-size: 24rpx;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 5px 5px;
|
padding: 5px 5px;
|
||||||
}
|
}
|
||||||
.uni-table-td {
|
.uni-table-td {
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 21rpx;
|
font-size: 24rpx;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -53,12 +53,13 @@ export const countOrderByMonth = () => {
|
||||||
url: "/api/orderOut/countOrderByMonth"
|
url: "/api/orderOut/countOrderByMonth"
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 出库分类统计
|
|
||||||
|
|
||||||
export const getOrderInReceipt = () => {
|
// 出库分类统计
|
||||||
return http<Shipment>({
|
export const getOrderInReceipt = (data: any) => {
|
||||||
|
return http<ShipmentSummaryCount>({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/api/orderOut/OrderInReceipt"
|
url: "/api/orderOut/OrderInReceipt",
|
||||||
|
data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 出货单排行榜
|
// 出货单排行榜
|
||||||
|
|
|
@ -59,6 +59,18 @@ interface ReceiveSummaryCount {
|
||||||
averagePrice?: number; // 平均单价
|
averagePrice?: number; // 平均单价
|
||||||
rankings?: Array;
|
rankings?: Array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ShipmentSummaryCount {
|
||||||
|
totalAmount?: number; // 收货汇总:审核过收货总量
|
||||||
|
totalPayShipment?: number; // 已支付的出货总
|
||||||
|
totalUnPayShipment?: number; // 未支付的出货总量
|
||||||
|
totalCollection?: number; // 总收款
|
||||||
|
totalPayCollection?: number; // 已经收到的收款
|
||||||
|
totalUnPayCollection?: number; // 未收到的收款
|
||||||
|
totalReceipt?: number; // 收货单数量已审核的
|
||||||
|
averagePrice?: number; // 平均单价
|
||||||
|
rankings?: Array;
|
||||||
|
}
|
||||||
// 分页结构
|
// 分页结构
|
||||||
interface OrderPage<T> {
|
interface OrderPage<T> {
|
||||||
total: number;
|
total: number;
|
||||||
|
|
Loading…
Reference in New Issue