|
@@ -0,0 +1,227 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <view class="order-page">
|
|
|
|
|
+ <view class="top-view">
|
|
|
|
|
+ <view class="top-row">
|
|
|
|
|
+ <text class="header-item"> 客户</text>
|
|
|
|
|
+ <text class="header-item">总欠款 </text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="top-row">
|
|
|
|
|
+ <view class="info-item">
|
|
|
|
|
+ <image
|
|
|
|
|
+ class="logo"
|
|
|
|
|
+ src="https://img.huaml.com/uploads/12358/202005/29/de74c55596d304b85e79154958e8bf57_small.jpeg"
|
|
|
|
|
+ alt="商品图"
|
|
|
|
|
+ />
|
|
|
|
|
+ <text class="name">
|
|
|
|
|
+ 花禾家
|
|
|
|
|
+ </text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="price-item">
|
|
|
|
|
+ 24,915.00
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <scroll-view scroll-y class="shop-list">
|
|
|
|
|
+ <DetailsItem
|
|
|
|
|
+ v-for="(item, index) in detailsList"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ :info="item"
|
|
|
|
|
+ :isEdit="isBatch"
|
|
|
|
|
+ :isCheck="item.checked"
|
|
|
|
|
+ @click="checkItemEvent"
|
|
|
|
|
+ ></DetailsItem>
|
|
|
|
|
+ </scroll-view>
|
|
|
|
|
+ <view class="bar-view">
|
|
|
|
|
+ <template v-if="!isBatch">
|
|
|
|
|
+ <view class="info-view">
|
|
|
|
|
+ 共 <text class="price">{{ detailsList.length }}</text> 笔
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <view class="info-view">
|
|
|
|
|
+ 已选 <text class="price">{{ selectList.length }}</text> 笔,
|
|
|
|
|
+ <text class="unit">¥</text>
|
|
|
|
|
+ <text class="price">2,902.00</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <view class="btn-view" v-if="isBatch">
|
|
|
|
|
+ <button
|
|
|
|
|
+ :class="['admin-button-com', selectList.length == 0 ? 'disable' : 'blue']"
|
|
|
|
|
+ :disabled="selectList.length == 0"
|
|
|
|
|
+ @click=""
|
|
|
|
|
+ >
|
|
|
|
|
+ 批量收款
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="btn-view" v-else>
|
|
|
|
|
+ <button class="admin-button-com blue" @click="isBatch = true">
|
|
|
|
|
+ 批量收款
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+</template>
|
|
|
|
|
+<script>
|
|
|
|
|
+import AppWrapperEmpty from "@/components/app-wrapper-empty";
|
|
|
|
|
+import DetailsItem from "./detailsItem";
|
|
|
|
|
+
|
|
|
|
|
+export default {
|
|
|
|
|
+ components: { AppWrapperEmpty, DetailsItem },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ isBatch: false,
|
|
|
|
|
+
|
|
|
|
|
+ detailsList: [
|
|
|
|
|
+ {
|
|
|
|
|
+ orderNo: "PD20201217212800156",
|
|
|
|
|
+ name: "小许",
|
|
|
|
|
+ dateTime: "2020-7-10 21:50",
|
|
|
|
|
+ count: "101",
|
|
|
|
|
+ status: "01",
|
|
|
|
|
+ statusName: "已出库",
|
|
|
|
|
+ checked: true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ orderNo: "PD20201217212800156",
|
|
|
|
|
+ name: "小许",
|
|
|
|
|
+ dateTime: "2020-7-10 21:50",
|
|
|
|
|
+ count: "101",
|
|
|
|
|
+ status: "01",
|
|
|
|
|
+ statusName: "已出库",
|
|
|
|
|
+ checked: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ orderNo: "PD20201217212800156",
|
|
|
|
|
+ name: "小许",
|
|
|
|
|
+ dateTime: "2020-7-10 21:50",
|
|
|
|
|
+ count: "101",
|
|
|
|
|
+ status: "01",
|
|
|
|
|
+ statusName: "已出库",
|
|
|
|
|
+ checked: false
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ selectList() {
|
|
|
|
|
+ let list = [];
|
|
|
|
|
+ if (this.detailsList) {
|
|
|
|
|
+ for (const item of this.detailsList) {
|
|
|
|
|
+ if (item.checked) {
|
|
|
|
|
+ list.push(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return list;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ checkItemEvent(item) {
|
|
|
|
|
+ for (let index = 0; index < this.detailsList.length; index++) {
|
|
|
|
|
+ const element = this.detailsList[index];
|
|
|
|
|
+ if (element == item) {
|
|
|
|
|
+ //id相等选中
|
|
|
|
|
+ this.$set(this.detailsList, index, {
|
|
|
|
|
+ ...element,
|
|
|
|
|
+ checked: !element.checked
|
|
|
|
|
+ });
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+</script>
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+.order-page {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ background-color: #f9fbfc;
|
|
|
|
|
+ .top-view {
|
|
|
|
|
+ padding: 30upx;
|
|
|
|
|
+ background-color: #fff;
|
|
|
|
|
+ .top-row {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ &:not(:last-child) {
|
|
|
|
|
+ margin-bottom: 10upx;
|
|
|
|
|
+ }
|
|
|
|
|
+ .header-item {
|
|
|
|
|
+ font-size: 24upx;
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ color: #999999;
|
|
|
|
|
+ }
|
|
|
|
|
+ .info-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ .logo {
|
|
|
|
|
+ margin-right: 10upx;
|
|
|
|
|
+ width: 50upx;
|
|
|
|
|
+ height: 50upx;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ }
|
|
|
|
|
+ .name {
|
|
|
|
|
+ font-size: 28upx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #333333;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .price-item {
|
|
|
|
|
+ font-size: 34upx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #333333;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .shop-list {
|
|
|
|
|
+ padding: 20upx 30upx;
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding-bottom: 50upx;
|
|
|
|
|
+ }
|
|
|
|
|
+ .bar-view {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ padding: 0 30upx;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 100upx;
|
|
|
|
|
+
|
|
|
|
|
+ box-shadow: 0px -1px 6px 0px rgba(4, 0, 0, 0.06);
|
|
|
|
|
+ .info-view {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-size: 24upx;
|
|
|
|
|
+ .iconfont {
|
|
|
|
|
+ font-size: 32upx;
|
|
|
|
|
+ color: #dddddd;
|
|
|
|
|
+ }
|
|
|
|
|
+ .price {
|
|
|
|
|
+ margin: 0 5upx;
|
|
|
|
|
+ color: $redColor;
|
|
|
|
|
+ font-size: 32upx;
|
|
|
|
|
+ }
|
|
|
|
|
+ .unit {
|
|
|
|
|
+ margin: 0 10upx;
|
|
|
|
|
+ color: $redColor;
|
|
|
|
|
+ font-size: 16upx;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .btn-view {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ .admin-button-com {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ margin: 0 10upx;
|
|
|
|
|
+ width: 200upx;
|
|
|
|
|
+ height: 70upx;
|
|
|
|
|
+ // line-height: 70upx;
|
|
|
|
|
+ font-size: 32upx;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|