新需求修改:菜单调整,分店下拉增加,分店管理增加,增加店铺修改

This commit is contained in:
GaoHao
2025-04-02 17:14:55 +08:00
parent d0a757957d
commit 11b297baa5
11 changed files with 1017 additions and 134 deletions

View File

@@ -47,26 +47,29 @@
</div> -->
<div class="h_card_wrap">
<div class="status_wrap">
<div class="left">
<div class="left" style="flex-shrink: 0">
<div class="dot" />
<span>营业</span>
</div>
<div class="time_wrap u-flex">
<el-select v-model="value" class="m-2" placeholder="Select" size="large">
<div class="u-flex" style="flex-wrap: wrap">
<el-select v-model="storeId" placeholder="选择分店" style="width: 200px; margin-right: 10px;">
<el-option v-for="item in storeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-radio-group v-model="timeValue" class="m-r-5" @change="timeChange">
<el-radio-button value="0">今天</el-radio-button>
<el-radio-button value="-1"></el-radio-button>
<el-radio-button value="-7">最近7</el-radio-button>
<el-radio-button value="-30">最近30</el-radio-button>
<el-radio-button value="week">本周</el-radio-button>
<el-radio-button value="month"></el-radio-button>
<el-radio-button value="custom">自定义</el-radio-button>
</el-radio-group>
<div class="u-flex">
<el-date-picker v-if="timeValue == 'custom'" v-model="query.createdAt" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD " @change="summarytrade" />
<div class="time_wrap u-flex" style="flex-shrink: 0">
<el-radio-group v-model="timeValue" class="m-r-5" @change="timeChange">
<el-radio-button value="0"></el-radio-button>
<el-radio-button value="-1"></el-radio-button>
<el-radio-button value="-7">最近7</el-radio-button>
<el-radio-button value="-30">最近30天</el-radio-button>
<el-radio-button value="week"></el-radio-button>
<el-radio-button value="month">本月</el-radio-button>
<el-radio-button value="custom">自定义</el-radio-button>
</el-radio-group>
<div class="u-flex">
<el-date-picker v-if="timeValue == 'custom'" v-model="query.createdAt" type="daterange"
range-separator="" start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD "
@change="summarytrade" />
</div>
</div>
</div>
</div>
@@ -139,16 +142,16 @@
<div class="line_gropress">
<div class="gropress l" :style="{
width: `${trade.saleAmount
? (trade.saleAmount / (trade.saleAmount * 1 + trade.refundAmount * 1)) *
100
: 0
? (trade.saleAmount / (trade.saleAmount * 1 + trade.refundAmount * 1)) *
100
: 0
}%`,
}" />
<div class="gropress r" :style="{
width: `${trade.refundAmount
? (trade.refundAmount / (trade.saleAmount * 1 + trade.refundAmount * 1)) *
100
: 0
? (trade.refundAmount / (trade.saleAmount * 1 + trade.refundAmount * 1)) *
100
: 0
}%`,
}" />
</div>
@@ -168,18 +171,18 @@
<div class="line_gropress">
<div class="gropress l" :style="{
width: `${trade.rechargeAmount
? (trade.rechargeAmount /
(trade.memberPayAmount + trade.rechargeRefundAmount * 1)) *
100
: 0
? (trade.rechargeAmount /
(trade.memberPayAmount + trade.rechargeRefundAmount * 1)) *
100
: 0
}%`,
}" />
<div class="gropress r" :style="{
width: `${trade.rechargeRefundAmount
? (trade.rechargeRefundAmount /
(trade.memberPayAmount + trade.rechargeRefundAmount * 1)) *
100
: 0
? (trade.rechargeRefundAmount /
(trade.memberPayAmount + trade.rechargeRefundAmount * 1)) *
100
: 0
}%`,
}" />
</div>
@@ -387,6 +390,7 @@ export default {
},
],
storeList: [{ label: "门店1", value: 1 }],
storeId: null,
trade: {},
formatDecimal,
topData: "",

View File

@@ -10,14 +10,15 @@
<el-form-item>
<el-input placeholder="商品名称" v-model="query.productName" />
</el-form-item>
<el-form-item>
<el-select v-model="storeId" placeholder="选择分店" style="width: 200px; margin-right: 10px">
<el-option v-for="item in storeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="query.prodCategoryId" placeholder="商品分类" style="width: 140px">
<el-option
:label="item.name"
:value="item.id"
v-for="item in categorys"
:key="item.id"
></el-option>
<el-option :label="item.name" :value="item.id" v-for="item in categorys" :key="item.id"></el-option>
</el-select>
</el-form-item>
</template>
@@ -32,16 +33,9 @@
<el-radio-button value="month">本月</el-radio-button>
<el-radio-button value="custom">自定义</el-radio-button>
</el-radio-group>
<el-date-picker
class="u-m-l-10"
v-model="query.createdAt"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="YYYY-MM-DD"
v-if="timeValue == 'custom'"
></el-date-picker>
<el-date-picker class="u-m-l-10" v-model="query.createdAt" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD"
v-if="timeValue == 'custom'"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getTableData">查询</el-button>
@@ -57,7 +51,9 @@
<div class="collect_wrap">
<div class="item">
<div class="icon_wrap" style="--bg-color: #c978ee">
<el-icon color="#fff"><Coin /></el-icon>
<el-icon color="#fff">
<Coin />
</el-icon>
</div>
<div class="info">
<div class="m">{{ payCount.totalAmount || 0 }}</div>
@@ -66,7 +62,9 @@
</div>
<div class="item">
<div class="icon_wrap" style="--bg-color: #c978ee">
<el-icon color="#fff"><Coin /></el-icon>
<el-icon color="#fff">
<Coin />
</el-icon>
</div>
<div class="info">
<div class="m">{{ payCount.refundAmount || 0 }}</div>
@@ -75,7 +73,9 @@
</div>
<div class="item">
<div class="icon_wrap" style="--bg-color: #c978ee">
<el-icon color="#fff"><ShoppingCartFull /></el-icon>
<el-icon color="#fff">
<ShoppingCartFull />
</el-icon>
</div>
<div class="info">
<div class="m">{{ payCount.saleCount || 0 }}</div>
@@ -84,7 +84,9 @@
</div>
<div class="item">
<div class="icon_wrap" style="--bg-color: #c978ee">
<el-icon color="#fff"><ShoppingCart /></el-icon>
<el-icon color="#fff">
<ShoppingCart />
</el-icon>
</div>
<div class="info">
<div class="m">{{ payCount.refundCount || 0 }}</div>
@@ -145,14 +147,9 @@
</el-table>
</div>
<div class="head-container">
<el-pagination
:total="tableData.total"
:current-page="tableData.page"
:page-size="tableData.size"
@current-change="paginationChange"
@size-change="sizeChange"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
<el-pagination :total="tableData.total" :current-page="tableData.page" :page-size="tableData.size"
@current-change="paginationChange" @size-change="sizeChange"
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
</div>
</div>
</template>
@@ -185,6 +182,8 @@ export default {
downloadLoading: false,
payCount: "",
payCountTotal: 0,
storeList: [{ label: "门店1", value: 1 }],
storeId: null,
};
},
filters: {