From 9e901f8641fb3f347d8fb6cd400e8d2f1278baf5 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 04 一月 2025 17:08:43 +0800
Subject: [PATCH] #平库入库功能
---
uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue | 448 ++++++++++++++++++++++++++++----------------------------
1 files changed, 224 insertions(+), 224 deletions(-)
diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
index 97ed633..cbe1532 100644
--- a/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
+++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
@@ -1,224 +1,224 @@
-<template>
- <view class="uni-goods-nav">
- <!-- 搴曢儴鍗犱綅 -->
- <view class="uni-tab__seat" />
- <view class="uni-tab__cart-box flex">
- <view class="flex uni-tab__cart-sub-left">
- <view v-for="(item,index) in options" :key="index" class="flex uni-tab__cart-button-left uni-tab__shop-cart" @click="onClick(index,item)">
- <view class="uni-tab__icon">
- <uni-icons :type="item.icon" size="20" color="#646566"></uni-icons>
- <!-- <image class="image" :src="item.icon" mode="widthFix" /> -->
- </view>
- <text class="uni-tab__text">{{ item.text }}</text>
- <view class="flex uni-tab__dot-box">
- <text v-if="item.info" :class="{ 'uni-tab__dots': item.info > 9 }" class="uni-tab__dot " :style="{'backgroundColor':item.infoBackgroundColor?item.infoBackgroundColor:'#ff0000',
- color:item.infoColor?item.infoColor:'#fff'
- }">{{ item.info }}</text>
- </view>
- </view>
- </view>
- <view :class="{'uni-tab__right':fill}" class="flex uni-tab__cart-sub-right ">
- <view v-for="(item,index) in buttonGroup" :key="index" :style="{background:item.backgroundColor,color:item.color}"
- class="flex uni-tab__cart-button-right" @click="buttonClick(index,item)"><text :style="{color:item.color}" class="uni-tab__cart-button-right-text">{{ item.text }}</text></view>
- </view>
- </view>
- </view>
-</template>
-
-<script>
- import {
- initVueI18n
- } from '@dcloudio/uni-i18n'
- import messages from './i18n/index.js'
- const { t } = initVueI18n(messages)
- /**
- * GoodsNav 鍟嗗搧瀵艰埅
- * @description 鍟嗗搧鍔犲叆璐墿杞︺�佺珛鍗宠喘涔扮瓑
- * @tutorial https://ext.dcloud.net.cn/plugin?id=865
- * @property {Array} options 缁勪欢鍙傛暟
- * @property {Array} buttonGroup 缁勪欢鎸夐挳缁勫弬鏁�
- * @property {Boolean} fill = [true | false] 缁勪欢鎸夐挳缁勫弬鏁�
- * @event {Function} click 宸︿晶鐐瑰嚮浜嬩欢
- * @event {Function} buttonClick 鍙充晶鎸夐挳缁勭偣鍑讳簨浠�
- * @example <uni-goods-nav :fill="true" options="" buttonGroup="buttonGroup" @click="" @buttonClick="" />
- */
- export default {
- name: 'UniGoodsNav',
- emits:['click','buttonClick'],
- props: {
- options: {
- type: Array,
- default () {
- return [{
- icon: 'shop',
- text: t("uni-goods-nav.options.shop"),
- }, {
- icon: 'cart',
- text: t("uni-goods-nav.options.cart")
- }]
- }
- },
- buttonGroup: {
- type: Array,
- default () {
- return [{
- text: t("uni-goods-nav.buttonGroup.addToCart"),
- backgroundColor: 'linear-gradient(90deg, #FFCD1E, #FF8A18)',
- color: '#fff'
- },
- {
- text: t("uni-goods-nav.buttonGroup.buyNow"),
- backgroundColor: 'linear-gradient(90deg, #FE6035, #EF1224)',
- color: '#fff'
- }
- ]
- }
- },
- fill: {
- type: Boolean,
- default: false
- }
- },
- methods: {
- onClick(index, item) {
- this.$emit('click', {
- index,
- content: item,
- })
- },
- buttonClick(index, item) {
- if (uni.report) {
- uni.report(item.text, item.text)
- }
- this.$emit('buttonClick', {
- index,
- content: item
- })
- }
- }
- }
-</script>
-
-<style lang="scss" scoped>
- .flex {
- /* #ifndef APP-NVUE */
- display: flex;
- /* #endif */
- flex-direction: row;
- }
-
- .uni-goods-nav {
- /* #ifndef APP-NVUE */
- display: flex;
- /* #endif */
- flex: 1;
- flex-direction: row;
- }
-
- .uni-tab__cart-box {
- flex: 1;
- height: 50px;
- background-color: #fff;
- z-index: 900;
- }
-
- .uni-tab__cart-sub-left {
- padding: 0 5px;
- }
-
- .uni-tab__cart-sub-right {
- flex: 1;
- }
-
- .uni-tab__right {
- margin: 5px 0;
- margin-right: 10px;
- border-radius: 100px;
- overflow: hidden;
- }
-
- .uni-tab__cart-button-left {
- /* #ifndef APP-NVUE */
- display: flex;
- /* #endif */
- // flex: 1;
- position: relative;
- justify-content: center;
- align-items: center;
- flex-direction: column;
- margin: 0 10px;
- /* #ifdef H5 */
- cursor: pointer;
- /* #endif */
- }
-
- .uni-tab__icon {
- width: 18px;
- height: 18px;
- }
-
- .image {
- width: 18px;
- height: 18px;
- }
-
- .uni-tab__text {
- margin-top: 3px;
- font-size: 12px;
- color: #646566;
- }
-
- .uni-tab__cart-button-right {
- /* #ifndef APP-NVUE */
- display: flex;
- flex-direction: column;
- /* #endif */
- flex: 1;
- justify-content: center;
- align-items: center;
- /* #ifdef H5 */
- cursor: pointer;
- /* #endif */
- }
-
- .uni-tab__cart-button-right-text {
- font-size: 14px;
- color: #fff;
- }
-
- .uni-tab__cart-button-right:active {
- opacity: 0.7;
- }
-
- .uni-tab__dot-box {
- /* #ifndef APP-NVUE */
- display: flex;
- flex-direction: column;
- /* #endif */
- position: absolute;
- right: -2px;
- top: 2px;
- justify-content: center;
- align-items: center;
- // width: 0;
- // height: 0;
- }
-
- .uni-tab__dot {
- // width: 30rpx;
- // height: 30rpx;
- padding: 0 4px;
- line-height: 15px;
- color: #ffffff;
- text-align: center;
- font-size: 12px;
- background-color: #ff0000;
- border-radius: 15px;
- }
-
- .uni-tab__dots {
- padding: 0 4px;
- // width: auto;
- border-radius: 15px;
- }
-</style>
+<template>
+ <view class="uni-goods-nav">
+ <!-- 搴曢儴鍗犱綅 -->
+ <view class="uni-tab__seat" />
+ <view class="uni-tab__cart-box flex">
+ <view class="flex uni-tab__cart-sub-left">
+ <view v-for="(item,index) in options" :key="index" class="flex uni-tab__cart-button-left uni-tab__shop-cart" @click="onClick(index,item)">
+ <view class="uni-tab__icon">
+ <uni-icons :type="item.icon" size="20" color="#646566"></uni-icons>
+ <!-- <image class="image" :src="item.icon" mode="widthFix" /> -->
+ </view>
+ <text class="uni-tab__text">{{ item.text }}</text>
+ <view class="flex uni-tab__dot-box">
+ <text v-if="item.info" :class="{ 'uni-tab__dots': item.info > 9 }" class="uni-tab__dot " :style="{'backgroundColor':item.infoBackgroundColor?item.infoBackgroundColor:'#ff0000',
+ color:item.infoColor?item.infoColor:'#fff'
+ }">{{ item.info }}</text>
+ </view>
+ </view>
+ </view>
+ <view :class="{'uni-tab__right':fill}" class="flex uni-tab__cart-sub-right ">
+ <view v-for="(item,index) in buttonGroup" :key="index" :style="{background:item.backgroundColor,color:item.color}"
+ class="flex uni-tab__cart-button-right" @click="buttonClick(index,item)"><text :style="{color:item.color}" class="uni-tab__cart-button-right-text">{{ item.text }}</text></view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import {
+ initVueI18n
+ } from '@dcloudio/uni-i18n'
+ import messages from './i18n/index.js'
+ const { t } = initVueI18n(messages)
+ /**
+ * GoodsNav 鍟嗗搧瀵艰埅
+ * @description 鍟嗗搧鍔犲叆璐墿杞︺�佺珛鍗宠喘涔扮瓑
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=865
+ * @property {Array} options 缁勪欢鍙傛暟
+ * @property {Array} buttonGroup 缁勪欢鎸夐挳缁勫弬鏁�
+ * @property {Boolean} fill = [true | false] 缁勪欢鎸夐挳缁勫弬鏁�
+ * @event {Function} click 宸︿晶鐐瑰嚮浜嬩欢
+ * @event {Function} buttonClick 鍙充晶鎸夐挳缁勭偣鍑讳簨浠�
+ * @example <uni-goods-nav :fill="true" options="" buttonGroup="buttonGroup" @click="" @buttonClick="" />
+ */
+ export default {
+ name: 'UniGoodsNav',
+ emits:['click','buttonClick'],
+ props: {
+ options: {
+ type: Array,
+ default () {
+ return [{
+ icon: 'shop',
+ text: t("uni-goods-nav.options.shop"),
+ }, {
+ icon: 'cart',
+ text: t("uni-goods-nav.options.cart")
+ }]
+ }
+ },
+ buttonGroup: {
+ type: Array,
+ default () {
+ return [{
+ text: t("uni-goods-nav.buttonGroup.addToCart"),
+ backgroundColor: 'linear-gradient(90deg, #FFCD1E, #FF8A18)',
+ color: '#fff'
+ },
+ {
+ text: t("uni-goods-nav.buttonGroup.buyNow"),
+ backgroundColor: 'linear-gradient(90deg, #FE6035, #EF1224)',
+ color: '#fff'
+ }
+ ]
+ }
+ },
+ fill: {
+ type: Boolean,
+ default: false
+ }
+ },
+ methods: {
+ onClick(index, item) {
+ this.$emit('click', {
+ index,
+ content: item,
+ })
+ },
+ buttonClick(index, item) {
+ if (uni.report) {
+ uni.report(item.text, item.text)
+ }
+ this.$emit('buttonClick', {
+ index,
+ content: item
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .flex {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ }
+
+ .uni-goods-nav {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex: 1;
+ flex-direction: row;
+ }
+
+ .uni-tab__cart-box {
+ flex: 1;
+ height: 50px;
+ background-color: #fff;
+ z-index: 900;
+ }
+
+ .uni-tab__cart-sub-left {
+ padding: 0 5px;
+ }
+
+ .uni-tab__cart-sub-right {
+ flex: 1;
+ }
+
+ .uni-tab__right {
+ margin: 5px 0;
+ margin-right: 10px;
+ border-radius: 100px;
+ overflow: hidden;
+ }
+
+ .uni-tab__cart-button-left {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ // flex: 1;
+ position: relative;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ margin: 0 10px;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+ }
+
+ .uni-tab__icon {
+ width: 18px;
+ height: 18px;
+ }
+
+ .image {
+ width: 18px;
+ height: 18px;
+ }
+
+ .uni-tab__text {
+ margin-top: 3px;
+ font-size: 12px;
+ color: #646566;
+ }
+
+ .uni-tab__cart-button-right {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ flex-direction: column;
+ /* #endif */
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+ }
+
+ .uni-tab__cart-button-right-text {
+ font-size: 14px;
+ color: #fff;
+ }
+
+ .uni-tab__cart-button-right:active {
+ opacity: 0.7;
+ }
+
+ .uni-tab__dot-box {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ flex-direction: column;
+ /* #endif */
+ position: absolute;
+ right: -2px;
+ top: 2px;
+ justify-content: center;
+ align-items: center;
+ // width: 0;
+ // height: 0;
+ }
+
+ .uni-tab__dot {
+ // width: 30rpx;
+ // height: 30rpx;
+ padding: 0 4px;
+ line-height: 15px;
+ color: #ffffff;
+ text-align: center;
+ font-size: 12px;
+ background-color: #ff0000;
+ border-radius: 15px;
+ }
+
+ .uni-tab__dots {
+ padding: 0 4px;
+ // width: auto;
+ border-radius: 15px;
+ }
+</style>
--
Gitblit v1.9.1