Compare commits

..

No commits in common. "798f4389d38165880b7b6093da07a07bab2383b7" and "c9aaa4f1d49d1868be3157de78030413bcec8925" have entirely different histories.

20 changed files with 187 additions and 475 deletions

View File

@ -8,10 +8,10 @@
<view v-for="(child, index) in item.child" :key="index" @click="(child as any).fn(child)"> <view v-for="(child, index) in item.child" :key="index" @click="(child as any).fn(child)">
<view> <view>
<up-image <up-image
:src="`/PagesStatistics/static/${child.icon}`" :src="`/static/img/statistic/${child.icon}`"
:width="child.width"
:height="child.height"
mode="aspectFill" mode="aspectFill"
width="60rpx"
height="60rpx"
></up-image> ></up-image>
</view> </view>
<view>{{ child.title }}</view> <view>{{ child.title }}</view>
@ -30,7 +30,9 @@ const list = reactive([
title: "收货", title: "收货",
child: [ child: [
{ {
icon: "01.png", icon: "1-1.png",
width: "42.31rpx",
height: "50rpx",
title: "收货汇总", title: "收货汇总",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -39,7 +41,9 @@ const list = reactive([
} }
}, },
{ {
icon: "02.png", icon: "1-2.png",
width: "44.23rpx",
height: "44.23rpx",
title: "供应商排行", title: "供应商排行",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -54,7 +58,9 @@ const list = reactive([
title: "出货", title: "出货",
child: [ child: [
{ {
icon: "03.png", icon: "2-1.png",
width: "42.31rpx",
height: "50rpx",
title: "出货汇总", title: "出货汇总",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -63,7 +69,9 @@ const list = reactive([
} }
}, },
{ {
icon: "04.png", icon: "2-2.png",
width: "46.15rpx",
height: "46.15rpx",
title: "客户排行", title: "客户排行",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -77,7 +85,9 @@ const list = reactive([
title: "账本", title: "账本",
child: [ child: [
{ {
icon: "05.png", icon: "3-1.png",
width: "46.15rpx",
height: "46.79rpx",
title: "经营概况", title: "经营概况",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -86,7 +96,9 @@ const list = reactive([
} }
}, },
{ {
icon: "06.png", icon: "3-2.png",
width: "48.08rpx",
height: "44.23rpx",
title: "供应商对账", title: "供应商对账",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -95,7 +107,9 @@ const list = reactive([
} }
}, },
{ {
icon: "07.png", icon: "3-3.png",
width: "43.59rpx",
height: "43.59rpx",
title: "客户对账", title: "客户对账",
fn: (item: any) => { fn: (item: any) => {
uni.navigateTo({ uni.navigateTo({
@ -110,15 +124,15 @@ const list = reactive([
<style lang="scss" scoped> <style lang="scss" scoped>
.title { .title {
line-height: 80rpx; line-height: 80rpx;
padding: 0rpx 20rpx; padding: 0rpx 19.87rpx;
} }
.box-content { .box-content {
display: flex; display: flex;
margin: 22rpx 0rpx; margin: 21rpx 0rpx;
padding: 0rpx 20rpx; padding: 0rpx 19.87rpx;
> view { > view {
width: 142rpx; width: 141rpx;
height: 142rpx; height: 141rpx;
background: #f9f9f9; background: #f9f9f9;
border-radius: 26rpx; border-radius: 26rpx;
// text-align: center; // text-align: center;
@ -126,7 +140,7 @@ const list = reactive([
// display: grid; // display: grid;
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
display: flex; display: flex;
align-items: center; align-items: center;
@ -139,7 +153,7 @@ const list = reactive([
} }
} }
> view + view { > view + view {
margin-left: 32rpx; margin-left: 32.05rpx;
} }
::v-deep .u-transition { ::v-deep .u-transition {
align-items: center; align-items: center;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -12,7 +12,7 @@ const props = defineProps<{
.title { .title {
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 27rpx;
color: #000000; color: #000000;
} }
</style> </style>

View File

@ -11,119 +11,96 @@
></u-search> ></u-search>
</view> </view>
<view class="box" v-for="(item, index) in pageList.list" :key="index"> <view class="box" v-for="item in 10" :key="item">
<view class="base"> <view class="base">
<view> <view>
<view class="no"> 收货单号{{ item.receiptNumber }} </view> <view class="no"> 收货单号SHD20230901132333 </view>
<view class="supplier"> {{ item.deviceName }} </view> <view class="supplier"> 上海奉贤两网融合大磅 </view>
</view> </view>
<view> <view>
<text class="btn" @click="handleScenePhoto(item.imagesId as number)" <text class="btn" @click="handleScenePhoto(1)">现场照片</text>
>现场照片</text
>
</view> </view>
</view> </view>
<view class="name">{{ item.userName }}</view> <view class="name">吴小勇</view>
<view class="type">{{ item.productName }}</view> <view class="type">轻二</view>
<view class="flex-box"> <view class="flex-box">
<text>定价人{{ item.pricingUserName }}</text> <text>定价人谭兵</text>
<text>过磅时间{{ item.tareTime }}</text> <text>过磅时间2023-09-01 13:23:33</text>
</view> </view>
<view class="more"> <view class="more">
<view <view v-for="(item, index) in gridList1" :key="index" :style="item.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''">
v-for="(cItem, index) in gridList1" <text v-if="item.name">{{ item.name }}</text
:key="index" ><text
:style="cItem.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''" >{{ item.isBefore ? item.unit : "" }}
> {{ item.num }}
<block v-if="cItem.name === '扣杂'"> {{ item.isBefore ? "" : item.unit }}
<text v-if="cItem.name"> </text>
{{ item.buttonType === 0 ? "扣杂" : "扣点" }} </text
><text>
{{
item.buttonType === 0
? item[cItem.enName as string]
: item["points"]
}}
{{ item.buttonType === 0 ? cItem.unit : "%" }}
</text>
</block>
<block v-if="cItem.name !== '扣杂'">
<text v-if="cItem.name">{{ cItem.name }}</text
><text
>{{ cItem.isBefore ? cItem.unit : "" }}
{{ item[cItem.enName as string] }}
{{ cItem.isBefore ? "" : cItem.unit }}
</text>
</block>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ReceiveApi } from "@/services";
const keyword = ref(""); const keyword = ref("");
const gridList1 = reactive([ const gridList1 = reactive([
{ {
name: "毛重", name: "毛重",
enName: "grossWeight", num: "4080.00",
num: 0,
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "皮重", name: "皮重",
enName: "tare", num: "3450.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "扣杂", name: "扣杂",
enName: "buckleMiscellaneous", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{}, {},
{ {
name: "净重", name: "净重",
enName: "netWeight", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "单价", name: "单价",
enName: "price", num: "2.48",
unit: "元/千克", unit: "元/千克",
isBefore: false, isBefore: false,
}, },
{ {
name: "结算总价", name: "结算总价",
enName: "balanceTotalPrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{ {
name: "实际总价", name: "实际总价",
enName: "totalPrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{ {
name: "作废人", name: "作废人",
enName: "updateUserName", num: "谭兵",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true
}, },
{ {
name: "过皮", name: "过皮",
enName: "tareTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true
}, },
]); ]);
const handleScenePhoto = (imagesId: number) => { const handleScenePhoto = (imagesId: number) => {
@ -131,34 +108,6 @@ const handleScenePhoto = (imagesId: number) => {
url: "/pagesScenePhoto/index?orderType=1&id=" + imagesId, // url: "/pagesScenePhoto/index?orderType=1&id=" + imagesId, //
}); });
}; };
interface PageResult<T> {
total: number;
list: T[];
pageNum: number;
pageSize: number;
}
const pageList: PageResult<Order> = reactive({
total: 0,
list: [],
pageNum: 1,
pageSize: 10,
});
const getOrderList = () => {
ReceiveApi.getOrderPage({
pageNumber: 1,
pageSize: 10,
isDeleted: true,
}).then((res) => {
if (res.code === 200) {
(pageList as any).list = res.data.list;
}
});
};
onMounted(() => {
getOrderList();
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.c-card { .c-card {
@ -176,12 +125,12 @@ onMounted(() => {
justify-content: space-between; justify-content: space-between;
.no { .no {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 21rpx;
color: #000000; color: #000000;
} }
.supplier { .supplier {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
} }
.btn { .btn {
@ -189,20 +138,20 @@ onMounted(() => {
border: 1px solid #00dcee; border: 1px solid #00dcee;
padding: 10rpx 30rpx; padding: 10rpx 30rpx;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #00dcee; color: #00dcee;
line-height: 41rpx; line-height: 41rpx;
} }
} }
.name { .name {
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 27rpx;
color: #000000; color: #000000;
margin: 15rpx 0rpx; margin: 15rpx 0rpx;
text { text {
background-color: #ffaf75; background-color: #ffaf75;
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 16rpx;
color: #ffffff; color: #ffffff;
padding: 5rpx 20rpx; padding: 5rpx 20rpx;
margin-left: 20rpx; margin-left: 20rpx;
@ -210,7 +159,7 @@ onMounted(() => {
} }
.type { .type {
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 27rpx;
color: #ec0f3e; color: #ec0f3e;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
@ -219,7 +168,7 @@ onMounted(() => {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #999999; color: #999999;
border-bottom: 1rpx solid rgba(233, 233, 233, 0.76); border-bottom: 1rpx solid rgba(233, 233, 233, 0.76);
padding-bottom: 20rpx; padding-bottom: 20rpx;
@ -230,7 +179,7 @@ onMounted(() => {
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
flex: 1; flex: 1;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
padding: 25rpx 0rpx 0rpx 0rpx; padding: 25rpx 0rpx 0rpx 0rpx;
> view { > view {

View File

@ -11,35 +11,35 @@
></u-search> ></u-search>
</view> </view>
<view class="box" v-for="(item, index) in pageList.list" :key="index"> <view class="box" v-for="item in 10" :key="item">
<view class="base"> <view class="base">
<view> <view>
<view class="no"> 出货单号{{ item.orderNumber }} </view> <view class="no"> 出货单号SHD20230901132333 </view>
<view class="supplier"> {{ item.deviceName }} </view> <view class="supplier"> 上海奉贤两网融合大磅 </view>
</view> </view>
<view> <view>
<text class="btn" @click="handleScenePhoto((item as any).id)">现场照片</text> <text class="btn" @click="handleScenePhoto">现场照片</text>
</view> </view>
</view> </view>
<view class="name">{{ item.userName }} <text>{{ getScaleStatus((item as any).scaleStatus) }}</text></view> <view class="name">吴小勇 <text>未结算</text></view>
<view class="type">{{ item.productName }}</view> <view class="type">轻二</view>
<view class="more"> <view class="more">
<view <view
v-for="(cItem, index) in gridList1" v-for="(item, index) in gridList1"
:key="index" :key="index"
:style="{ :style="{
width: `${cItem.name === '创建时间' ? 'max-content' : ''}`, width: `${item.name === '创建时间' ? 'max-content' : ''}`,
'font-size': `${cItem.isCustomStyle ? '22rpx' : ''}`, 'font-size': `${item.isCustomStyle ? '22rpx' : ''}`,
color: `${cItem.isCustomStyle ? '#999' : ''}`, color: `${item.isCustomStyle ? '#999' : ''}`,
}" }"
> >
<text v-if="cItem.name">{{ cItem.name }}</text <text v-if="item.name">{{ item.name }}</text
><text ><text
>{{ cItem.isBefore ? cItem.unit : "" }} >{{ item.isBefore ? item.unit : "" }}
{{ cItem.num }} {{ item.num }}
{{ cItem.isBefore ? "" : cItem.unit }} {{ item.isBefore ? "" : item.unit }}
</text> </text>
</view> </view>
</view> </view>
@ -47,148 +47,116 @@
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ShipmentApi } from '@/services';
import { ScaleStatus } from '@/utils/enum';
const keyword = ref(""); const keyword = ref("");
const gridList1 = reactive([ const gridList1 = reactive([
{ {
name: "卡号", name: "卡号",
enName: "cardNumber", num: "123123",
}, },
{}, {},
{ {
name: "创建时间", name: "创建时间",
enName: "createTime", num: "2023-09-01 13:23:33",
}, },
{}, {},
{ {
name: "车牌号", name: "车牌号",
enName: "carNumber", num: "123",
isBefore: false, isBefore: false,
}, },
{ {
name: "送货方式", name: "送货方式",
enName: "deliveryMethod", num: "自提",
isBefore: false, isBefore: false,
}, },
{ {
name: "毛重", name: "毛重",
enName: "grossWeight", num: "4080.00",
num: "0",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "皮重", name: "皮重",
enName: "tare", num: "3450.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "净重", name: "净重",
enName: "netWeight", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "数量", name: "数量",
enName: "number", num: "1",
isBefore: false, isBefore: false,
}, },
{ {
name: "过毛", name: "过毛",
enName: "grossTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
{ {
name: "过皮", name: "过皮",
enName: "tareTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
{ {
name: "结算重量", name: "结算重量",
enName: "settlementWeight", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "单价", name: "单价",
enName: "unitPrice", num: "2.48",
unit: "元/千克", unit: "元/千克",
isBefore: false, isBefore: false,
}, },
{ {
name: "结算总价", name: "结算总价",
enName: "estimatePrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{ {
name: "实结金额", name: "实结金额",
enName: "totalPrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{
name: "应收金额",
num: "2.48",
unit: "元",
isBefore: false,
},
{},
{ {
name: "作废人", name: "作废人",
enName: "updateUserName", num: "谭兵",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
{ {
name: "过皮", name: "过皮",
enName: "tareTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
]); ]);
const handleScenePhoto = (id: string) => { const handleScenePhoto = () => {
uni.navigateTo({ uni.navigateTo({
url: "/pagesScenePhoto/index?orderType=1&id=" + id, // url: "/pagesScenePhoto/index", //
}); });
}; };
interface PageResult<T> {
total: number;
list: T[];
pageNum: number;
pageSize: number;
}
const pageList: PageResult<Shipment> = reactive({
total: 0,
list: [],
pageNum: 1,
pageSize: 10,
});
const getOrderList = () => {
ShipmentApi.getOrderPage({ pageNumber: 1, pageSize: 10, isDeleted: true,}).then((res) => {
if (res.code === 200) {
(pageList as any).list = res.data.list;
}
});
};
const getScaleStatus = (type: number) => {
if (type === ScaleStatus.ToBeShipment) {
return "待出货";
} else if (type === ScaleStatus.ToBeGrossWeight) {
return "待过毛";
} else if (type === ScaleStatus.ToBeShipmentReview) {
return "待审核";
} else if (type === ScaleStatus.ToBeShipmentPay) {
return "待支付";
} else if (type === ScaleStatus.ShipmentPaid) {
return "已支付";
}
};
onMounted(() => {
getOrderList();
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.c-card { .c-card {
@ -202,7 +170,7 @@ onMounted(() => {
border-radius: 24rpx; border-radius: 24rpx;
border: 1px solid #00dcee; border: 1px solid #00dcee;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #ffffff; color: #ffffff;
margin-left: 50rpx; margin-left: 50rpx;
padding: 6rpx 30rpx; padding: 6rpx 30rpx;
@ -220,12 +188,12 @@ onMounted(() => {
justify-content: space-between; justify-content: space-between;
.no { .no {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 21rpx;
color: #000000; color: #000000;
} }
.supplier { .supplier {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
} }
.btn { .btn {
@ -233,20 +201,20 @@ onMounted(() => {
border: 1px solid #00dcee; border: 1px solid #00dcee;
padding: 10rpx 30rpx; padding: 10rpx 30rpx;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #00dcee; color: #00dcee;
line-height: 41rpx; line-height: 41rpx;
} }
} }
.name { .name {
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 27rpx;
color: #000000; color: #000000;
margin: 15rpx 0rpx; margin: 15rpx 0rpx;
text { text {
background-color: #ffaf75; background-color: #ffaf75;
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 16rpx;
color: #ffffff; color: #ffffff;
padding: 5rpx 20rpx; padding: 5rpx 20rpx;
margin-left: 20rpx; margin-left: 20rpx;
@ -254,7 +222,7 @@ onMounted(() => {
} }
.type { .type {
font-weight: 400; font-weight: 400;
font-size: 28rpx; font-size: 27rpx;
color: #ec0f3e; color: #ec0f3e;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
@ -264,7 +232,7 @@ onMounted(() => {
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
flex: 1; flex: 1;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
> view { > view {
line-height: 50rpx; line-height: 50rpx;

View File

@ -9,287 +9,145 @@
:borderColor="'rgba(0, 0, 0, 0.1)'" :borderColor="'rgba(0, 0, 0, 0.1)'"
:placeholderColor="'#C1C1C1'" :placeholderColor="'#C1C1C1'"
></u-search> ></u-search>
<view class="btn" @click="handleAdd()"> 创建 </view> <view class="btn"> 创建 </view>
</view> </view>
<view class="filter"> <view class="filter">
<!-- -->
<view><text>本月</text><u-icon name="arrow-down"></u-icon></view> <view><text>本月</text><u-icon name="arrow-down"></u-icon></view>
<view @click="state.isShowStatus = true" <view><text>单据状态</text><u-icon name="arrow-down"></u-icon></view>
><text>单据状态</text><u-icon name="arrow-down"></u-icon <view><text>排序</text><u-icon name="arrow-down"></u-icon></view>
></view>
<view @click="state.isShowSort = true"
><text>排序</text><u-icon name="arrow-down"></u-icon
></view>
<view class="btn">筛选</view> <view class="btn">筛选</view>
</view> </view>
<view class="time">2024-01-01</view> <view class="time">2024-01-01</view>
<view class="box" v-for="(item, index) in pageList.list" :key="index"> <view class="box" v-for="item in 10" :key="item">
<view class="base"> <view class="base">
<view> <view>
<view class="no"> 出货单号{{ item.orderNumber }} </view> <view class="no"> 出货单号SHD20230901132333 </view>
<view class="supplier"> {{ item.deviceName || "-" }} </view> <view class="supplier"> 上海奉贤两网融合大磅 </view>
</view> </view>
<view> <view>
<text class="btn" @click="handleScenePhoto((item as any).id)" <text class="btn" @click="handleScenePhoto">现场照片</text>
>现场照片</text
>
</view> </view>
</view> </view>
<view class="name" <view class="name">吴小勇 <text>已结算</text></view>
>{{ item.userName }} <view class="type">轻二</view>
<text>{{ getScaleStatus((item as any).scaleStatus) }}</text>
<text v-if="item.repairTime">补单</text>
</view>
<view class="type">{{ item.productName }}</view>
<view class="flex-box">
<text>定价人{{ item.userName }}</text>
<text>创建时间{{ item.createTime }}</text>
</view>
<view class="more"> <view class="more">
<view <view
v-for="(cItem, index) in gridList1" v-for="(item, index) in gridList1"
:key="index" :key="index"
:style="cItem.isCustomStyle ? 'font-size: 22rpx;color:#999' : ''" :style="{'width': `${item.name === '创建时间' ? 'max-content' : ''}`, 'font-size': `${item.isCustomStyle ? '22rpx': ''}`, 'color': `${item.isCustomStyle ? '#999': ''}`}"
> >
<block v-if="cItem.name === '扣杂'"> <text v-if="item.name">{{ item.name }}</text
<text v-if="cItem.name"> ><text
{{ item.buttonType === 0 ? "扣杂" : "扣点" }} </text >{{ item.isBefore ? item.unit : "" }}
><text> {{ item.num }}
{{ {{ item.isBefore ? "" : item.unit }}
item.buttonType === 0 </text>
? item[cItem.enName as string]
: item["points"]
}}
{{ item.buttonType === 0 ? cItem.unit : "%" }}
</text>
</block>
<block v-if="cItem.name !== '扣杂'">
<text v-if="cItem.name">{{ cItem.name }}</text
><text
>{{ cItem.isBefore ? cItem.unit : "" }}
{{ item[cItem.enName as string] }}
{{ cItem.isBefore ? "" : cItem.unit }}
</text>
</block>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<u-action-sheet
:closeOnClickOverlay="true"
:closeOnClickAction="true"
:actions="state.statusList"
:title="'单据状态'"
:show="state.isShowStatus"
@select="handleSelectStatus"
></u-action-sheet>
<u-action-sheet
:closeOnClickOverlay="true"
:closeOnClickAction="true"
:actions="state.sortList"
:title="'排序'"
:show="state.isShowSort"
@select="handleSelectSort"
></u-action-sheet>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ShipmentApi } from "@/services";
import { ScaleStatus } from "@/utils/enum";
const state = reactive({
currentScaleStatus: undefined,
currentSortName: undefined,
isShowStatus: false,
statusList: [
{
name: "待出货",
key: 0,
},
{
name: "待过毛",
key: 1,
},
{
name: "待审核",
key: 2,
},
{
name: "已审未付",
key: 3,
},
{
name: "已审已付",
key: 4,
},
],
isShowSort: false,
sortList: [
{
name: "按创建时间降序",
key: "create_time",
},
{
name: "按更新时间降序",
key: "update_time",
},
],
});
const handleSelectStatus = (v: any) => {
state.isShowStatus = false;
state.currentScaleStatus = v.key;
getOrderList();
};
const handleSelectSort = (v: any) => {
state.isShowSort = false;
state.currentSortName = v.key;
getOrderList();
};
const keyword = ref(""); const keyword = ref("");
const gridList1 = reactive([ const gridList1 = reactive([
{ {
name: "卡号", name: "卡号",
enName: "cardNumber", num: "123123",
}, },
{}, {},
{ {
name: "创建时间", name: "创建时间",
enName: "createTime", num: "2023-09-01 13:23:33",
}, },
{}, {},
{ {
name: "车牌号", name: "车牌号",
enName: "carNumber", num: "123",
isBefore: false, isBefore: false,
}, },
{ {
name: "送货方式", name: "送货方式",
enName: "deliveryMethod", num: "自提",
isBefore: false, isBefore: false,
}, },
{ {
name: "毛重", name: "毛重",
enName: "grossWeight", num: "4080.00",
num: 0,
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "皮重", name: "皮重",
enName: "tare", num: "3450.00",
num: 0,
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "净重", name: "净重",
enName: "netWeight", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "数量", name: "数量",
enName: "number", num: "1",
unit: "件",
isBefore: false, isBefore: false,
}, },
{ {
name: "过毛", name: "过毛",
enName: "grossTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
{ {
name: "过皮", name: "过皮",
enName: "tareTime", num: "2023-09-01 13:23:33",
unit: "", unit: "",
isBefore: false, isBefore: false,
isCustomStyle: true, isCustomStyle: true,
}, },
{ {
name: "结算重量", name: "结算重量",
enName: "settlementWeight", num: "640.00",
unit: "KG", unit: "KG",
isBefore: false, isBefore: false,
}, },
{ {
name: "结算单价", name: "单价",
enName: "unitPrice", num: "2.48",
unit: "元/千克", unit: "元/千克",
isBefore: false, isBefore: false,
}, },
{ {
name: "结算总价", name: "结算总价",
enName: "estimatePrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{ {
name: "实际金额", name: "实际金额",
enName: "totalPrice", num: "2.48",
unit: "元", unit: "元",
isBefore: false, isBefore: false,
}, },
{
name: "实收金额",
num: "2.48",
unit: "元",
isBefore: false,
},
]); ]);
const handleScenePhoto = (id: string) => { const handleScenePhoto = () => {
uni.navigateTo({ uni.navigateTo({
url: "/pagesScenePhoto/index?orderType=1&id=" + id, // url: "/pagesScenePhoto/index", //
}); });
}; };
const getScaleStatus = (type: number) => {
if (type === ScaleStatus.ToBeShipment) {
return "待出货";
} else if (type === ScaleStatus.ToBeGrossWeight) {
return "待过毛";
} else if (type === ScaleStatus.ToBeShipmentReview) {
return "待审核";
} else if (type === ScaleStatus.ToBeShipmentPay) {
return "待支付";
} else if (type === ScaleStatus.ShipmentPaid) {
return "已支付";
}
};
const handleAdd = () => {
uni.navigateTo({
url: "/pagesApp/shipmentSpl", //
});
};
interface PageResult<T> {
total: number;
list: T[];
pageNum: number;
pageSize: number;
}
const pageList: PageResult<Order> = reactive({
total: 0,
list: [],
pageNum: 1,
pageSize: 10,
});
const getOrderList = () => {
let params: any = { pageNumber: 1, pageSize: 10 };
if (state.currentScaleStatus !== undefined) {
params.scaleStatus = state.currentScaleStatus;
}
if (state.currentSortName !== undefined) {
params.sortName = state.currentSortName;
}
ShipmentApi.getOrderPage(params).then((res) => {
if (res.code === 200) {
(pageList as any).list = res.data.list;
}
});
};
onMounted(() => {
getOrderList();
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.c-card { .c-card {
@ -303,7 +161,7 @@ onMounted(() => {
border-radius: 24rpx; border-radius: 24rpx;
border: 1px solid #00dcee; border: 1px solid #00dcee;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #ffffff; color: #ffffff;
margin-left: 50rpx; margin-left: 50rpx;
padding: 6rpx 30rpx; padding: 6rpx 30rpx;
@ -316,7 +174,7 @@ onMounted(() => {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 27rpx;
color: #000000; color: #000000;
> view { > view {
display: inline-block; display: inline-block;
@ -327,13 +185,13 @@ onMounted(() => {
} }
} }
.btn { .btn {
font-size: 26rpx; font-size: 27rpx;
color: #00dcee; color: #00dcee;
} }
} }
.time { .time {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 22rpx;
color: #000000; color: #000000;
margin: 30rpx 0rpx; margin: 30rpx 0rpx;
} }
@ -351,12 +209,12 @@ onMounted(() => {
justify-content: space-between; justify-content: space-between;
.no { .no {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 21rpx;
color: #000000; color: #000000;
} }
.supplier { .supplier {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
} }
.btn { .btn {
@ -371,35 +229,23 @@ onMounted(() => {
} }
.name { .name {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 27rpx;
color: #000000; color: #000000;
margin: 15rpx 0rpx; margin: 15rpx 0rpx;
text { text {
background-color: #ffaf75; background-color: #ffaf75;
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 16rpx;
color: #ffffff; color: #ffffff;
padding: 5rpx 20rpx; padding: 5rpx 20rpx;
margin-left: 20rpx; margin-left: 20rpx;
border-radius: 10rpx;
} }
} }
.type { .type {
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 27rpx;
color: #ec0f3e; color: #ec0f3e;
margin-bottom: 20rpx; margin-bottom: 20rpx;
font-weight: bold;
}
.flex-box {
display: flex;
align-items: center;
justify-content: space-between;
font-weight: 400;
font-size: 24rpx;
color: #999999;
border-bottom: 1rpx solid rgba(233, 233, 233, 0.76);
padding-bottom: 20rpx;
} }
} }
.more { .more {
@ -407,9 +253,8 @@ onMounted(() => {
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
flex: 1; flex: 1;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 24rpx;
color: #000000; color: #000000;
padding: 25rpx 0rpx 0rpx 0rpx;
> view { > view {
line-height: 50rpx; line-height: 50rpx;
} }

View File

@ -3,58 +3,31 @@
<view class="search"> <view class="search">
<u-search <u-search
placeholder="请输入供应商名称" placeholder="请输入供应商名称"
v-model="state.name" v-model="keyword"
:showAction="false" :showAction="false"
:bgColor="'#fff'" :bgColor="'#fff'"
:borderColor="'rgba(0, 0, 0, 0.1)'" :borderColor="'rgba(0, 0, 0, 0.1)'"
:placeholderColor="'#C1C1C1'" :placeholderColor="'#C1C1C1'"
@search="handleSearch()"
></u-search> ></u-search>
<view class="btn"> 新增 </view> <view class="btn"> 新增 </view>
</view> </view>
<view class="box" v-for="(item, index) in pageList.list" :key="index"> <view class="box">
<view> <view>
<view> <view>
<view>{{ item.name }}</view> <view>供应商名称</view>
<view>卡号{{ item.cardCode }}</view> <view>卡号235466566</view>
</view> </view>
<view class="btn"> 删除 </view> <view class="btn"> 删除 </view>
</view> </view>
<view>
<view> 送货员111 </view>
<view class="btn_text"> 详情 </view>
</view>
</view> </view>
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ProfileApi } from "@/services"; const keyword = ref("");
import { UsersType } from "@/utils/enum";
const state = reactive({
name: "",
});
const pageList: PageResult<User> = reactive({
total: 0,
list: [],
pageNum: 1,
pageSize: 10,
});
const handleSearch = () => {
getUserList()
};
const getUserList = () => {
ProfileApi.getInventoryUserPage({
pageSize: 10,
pageNum: 1,
userType: UsersType.Purchaser,
name: state.name,
}).then((res) => {
if (res.code === 200) {
if (res.code === 200) {
(pageList as any).list = (res.data as any).list;
}
}
});
};
onMounted(() => {
getUserList();
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.c-card { .c-card {
@ -68,7 +41,7 @@ onMounted(() => {
border-radius: 24rpx; border-radius: 24rpx;
border: 1px solid #00dcee; border: 1px solid #00dcee;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #ffffff; color: #ffffff;
margin-left: 50rpx; margin-left: 50rpx;
padding: 6rpx 30rpx; padding: 6rpx 30rpx;
@ -80,7 +53,7 @@ onMounted(() => {
border-radius: 13rpx; border-radius: 13rpx;
padding: 10rpx 25rpx; padding: 10rpx 25rpx;
font-weight: 400; font-weight: 400;
font-size: 26rpx; font-size: 22rpx;
color: #000000; color: #000000;
line-height: 41rpx; line-height: 41rpx;
margin-top: 30rpx; margin-top: 30rpx;
@ -93,7 +66,7 @@ onMounted(() => {
background: #ff9d55; background: #ff9d55;
border-radius: 24rpx; border-radius: 24rpx;
font-weight: 500; font-weight: 500;
font-size: 26rpx; font-size: 24rpx;
color: #ffffff; color: #ffffff;
padding: 6rpx 30rpx; padding: 6rpx 30rpx;
} }

View File

@ -54,6 +54,12 @@
import { ReceiveApi } from "@/services/index"; import { ReceiveApi } from "@/services/index";
import SmallModal from "@/components/Modal/smallModal.vue"; import SmallModal from "@/components/Modal/smallModal.vue";
interface PageResult<T> {
total: number;
list: T[];
pageNum: number;
pageSize: number;
}
const pageList: PageResult<Order> = reactive({ const pageList: PageResult<Order> = reactive({
total: 0, total: 0,
list: [], list: [],

View File

@ -41,7 +41,7 @@
<view class="top-flex-box"> <view class="top-flex-box">
<view> <view>
<view> <view>
<text class="number">出货单号{{ item.orderNumber }}</text> <text class="number">出货单号{{ item.receiptNumber }}</text>
</view> </view>
<view> <view>
<text class="name">{{ item.userName }}</text> <text class="name">{{ item.userName }}</text>

View File

@ -171,7 +171,7 @@ export const addUser = (data: any) => {
// 查询用户分页 // 查询用户分页
export const getUserListByPage = (data: any) => { export const getUserListByPage = (data: any) => {
return http<User>({ return http({
method: "GET", method: "GET",
url: "/api/user/getUserPage", url: "/api/user/getUserPage",
data data
@ -206,12 +206,3 @@ export const getUserList = (data: {
data, data,
}); });
}; };
// 供应商 客户分页
export const getInventoryUserPage = (data: any) => {
return http<User>({
method: "GET",
url: "/api/user/getInventoryUserPage",
data
});
};

View File

@ -35,7 +35,6 @@ type PageParams = {
pageSize: number; pageSize: number;
startTime?: string; // 开始时间 startTime?: string; // 开始时间
endTime?: string; // 结束时间 endTime?: string; // 结束时间
isDeleted?: boolean;
}; };
// 根据条件获取出库单,并且进行分页 // 根据条件获取出库单,并且进行分页

13
src/types/order.d.ts vendored
View File

@ -1,9 +1,3 @@
interface PageResult<T> {
total: number;
list: T[];
pageNum: number;
pageSize: number;
}
interface Order { interface Order {
id?: number; id?: number;
deviceId?: number; //设备id deviceId?: number; //设备id
@ -73,7 +67,6 @@ type PageParams = {
productId?: string; // 产品id productId?: string; // 产品id
repairFlag?: boolean; // 是否为补单,true 是未补单false是补单 repairFlag?: boolean; // 是否为补单,true 是未补单false是补单
scaleStatus?: number; // 磅单状态:0待定价1待过皮2待审核3已审核待支付4已支付 scaleStatus?: number; // 磅单状态:0待定价1待过皮2待审核3已审核待支付4已支付
isDeleted?:boolean
}; };
interface Shipment { interface Shipment {
@ -106,9 +99,9 @@ interface Shipment {
points?: string; //扣点 points?: string; //扣点
buckleMiscellaneous?: string; //扣杂 buckleMiscellaneous?: string; //扣杂
unitPrice?: string; //结算单价 unitPrice?: string; //结算单价
estimatePrice?: string; //预估金额 结算总价 estimatePrice?: string; //预估金额
totalPrice?: string; //结算金额 实际金额 totalPrice?: string; //结算金额
realIncome?: string; //实际收入 实际收入 实收金额 realIncome?: string; //实际收入
errorPrice?: string; //误差金额 errorPrice?: string; //误差金额
repairTime?: string; //补单时间 repairTime?: string; //补单时间
createTime?: string; //undefined createTime?: string; //undefined

20
src/types/user.d.ts vendored
View File

@ -1,22 +1,2 @@
interface User { interface User {
name: string;
gender: number; // 性别1=男2=女
phone: string;
factoryName: string; // 货场名称
factoryAddress: string; //货场详细地址
provinceId: number;
areaId: number;
citiyId: number;
userType: number;
userName: string;
password: string;
state: number; // 状态 1=有效 0=无效
updateTime: string;
createTime: string;
createUserId: number;
createUserName: string;
updateUserId: number;
updateUserName: string;
isDeleted: boolean;
cardCode?: string; // 卡号
} }

View File

@ -61,12 +61,6 @@ export enum UserType {
Card = 1, Card = 1,
} }
export enum UsersType {
Staff = 1,
Purchaser = 2,
Customer = 3,
}
// 提货方式:0:送货1:自提 // 提货方式:0:送货1:自提
export enum DeliveryMethod { export enum DeliveryMethod {
Deliver = 0, Deliver = 0,