Browse Source

花店APP

jf 5 years ago
parent
commit
0445797e81
41 changed files with 1055 additions and 333 deletions
  1. 6 0
      hdApp/src/App.vue
  2. 14 2
      hdApp/src/admin/billing/affirm.vue
  3. 55 33
      hdApp/src/admin/billing/index.vue
  4. 13 43
      hdApp/src/admin/billing/priceChange.vue
  5. 98 0
      hdApp/src/admin/ghs/shop.vue
  6. 6 1
      hdApp/src/admin/home/apply.vue
  7. 10 12
      hdApp/src/admin/home/me.vue
  8. 0 1
      hdApp/src/admin/home/order.vue
  9. 29 12
      hdApp/src/admin/home/workbench.vue
  10. 10 6
      hdApp/src/admin/staff/list.vue
  11. 8 0
      hdApp/src/api/ghs/index.js
  12. 3 3
      hdApp/src/api/home/index.js
  13. 11 0
      hdApp/src/api/shop-express/index.js
  14. 15 10
      hdApp/src/components/app-form-send1.vue
  15. 1 1
      hdApp/src/components/app-send-time.vue
  16. 2 2
      hdApp/src/components/app-wrapper-empty.vue
  17. 107 0
      hdApp/src/components/module/allMoreSelectInput.vue
  18. 74 0
      hdApp/src/components/module/allSelectInput.vue
  19. 109 39
      hdApp/src/components/module/app-commodity.vue
  20. 2 1
      hdApp/src/components/plugin/modal.vue
  21. 10 10
      hdApp/src/ext-production.json
  22. 5 5
      hdApp/src/ext.json
  23. 49 0
      hdApp/src/mixins/allMoreSelectInput.js
  24. 27 0
      hdApp/src/mixins/allSelectInput.js
  25. 29 0
      hdApp/src/mixins/animation.js
  26. 55 3
      hdApp/src/mixins/product.js
  27. 4 3
      hdApp/src/mixins/productContrapose.js
  28. 10 2
      hdApp/src/pages.json
  29. 1 1
      hdApp/src/pagesOrder/ship.vue
  30. 10 10
      hdApp/src/pagesOrder/shipInfo.vue
  31. 34 9
      hdApp/src/pagesPurchase/components/CommodityPurchase.vue
  32. 4 6
      hdApp/src/pagesPurchase/details.vue
  33. 0 15
      hdApp/src/pagesStatistics/business.vue
  34. 155 0
      hdApp/src/pagesStore/me/expressSet.vue
  35. 1 1
      hdApp/src/pagesStore/me/recharge.vue
  36. 1 1
      hdApp/src/pagesStorehouse/allot/addExDetails.vue
  37. 3 3
      hdApp/src/pagesStorehouse/allot/allotPut.vue
  38. 14 8
      hdApp/src/pagesStorehouse/allot/exSelect.vue
  39. 4 34
      hdApp/src/pagesStorehouse/flower/category.vue
  40. 15 30
      hdApp/src/pagesStorehouse/flower/manage.vue
  41. 51 26
      hdApp/src/pagesStorehouse/stockWarn/manage.vue

+ 6 - 0
hdApp/src/App.vue

@@ -117,4 +117,10 @@ import store from '@/store'
 	page {
 		height: 100%;
 	}
+	.animation{animation:imgmove 0.3s 1;animation-iteration-count:1}
+	@-webkit-keyframes imgmove{
+		0%{transform: scale(0.7);}
+		//50%{transform: scale(1);}
+		100%{transform: scale(1);}
+	}
 </style>

+ 14 - 2
hdApp/src/admin/billing/affirm.vue

@@ -58,7 +58,7 @@
 						<view class="tui-placeholder" style="width: 100%" v-else @click="showCustomer = true">请选择客户</view>
 					</tui-list-cell>
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false">
-						<view class="tui-title ">货</view>
+						<view class="tui-title ">货</view>
 						<button @tap="form.sendType=2" class="admin-button-com mini-btn" :class="form.sendType==2?'blue':'default'">自取</button>
 						<button @click="form.sendType=1" class="admin-button-com mini-btn" :class="form.sendType==1?'blue':'default'">配送</button>
 					</tui-list-cell>
@@ -103,7 +103,8 @@ import appAddressGroup from "@/components/app-address-group";
 import appSendTime from "@/components/app-send-time";
 import appFormSend from "@/components/app-form-send";
 const formUtil = require("@/utils/formValidation.js");
-import { createOrder } from "@/api/order/index";
+import { createOrder,freight } from "@/api/order/index";
+// import { freight } from "@/api/order";
 import { mapActions, mapGetters } from "vuex";
 
 export default {
@@ -189,6 +190,17 @@ export default {
 
 		changeCustomerFn(info) {
 			console.log("changeCustomerFn", info);
+			let params = {
+				province: info.province,
+				city:info.city,
+				address:info.address,
+				floor:info.floor,
+				long: info.long,
+				lat: info.lat,
+			};
+			freight(params).then(res => {
+				this.form.sendCost = res.data.sedCost;
+			});
 			this.form.customId = info.id;
 			this.form.customName = info.name;
 		},

+ 55 - 33
hdApp/src/admin/billing/index.vue

@@ -45,6 +45,7 @@
 									"
 									@customNum="customNum"
 									@add="addEvent"
+									@addOneEvent="addCustomNumEvent"
 									@del="delEvent"
 								></Commondity>
 							</view>
@@ -65,7 +66,7 @@
 			</scroll-view>
 			<block v-else>
 				<view style="width:100%">
-					<AppWrapperEmpty title="敬请期待" :type="'billing'" :is-empty="true" />
+					<AppWrapperEmpty :type="'billing'" :is-empty="true" />
 				</view>
 			</block>
 		</view>
@@ -73,10 +74,19 @@
 		<modal-module :show="isModel" @cancel="modalCancel" @click="affirm" :title="customData.itemName" color="#333" :size="32" padding="30rpx 30rpx" >
 			<template slot="customContent">
 				<view class="select-cmd_bx" v-if="customData">
-					<view class="kc"> 库存{{ customData.stock }} </view>
+					<view class="kc"> 库存 {{ customData.stock }} </view>
 					<view class="num_bx">
-						<input v-model="customData.bigCount" type="number" />扎
-						<input v-model="customData.smallCount" type="number" style="margin-left:24upx" />支
+						<allMoreSelectInput
+							:isActive="isActive" :isFocus="isFocus" :value="customData.bigCount"
+							:isActiveOne="isActiveOne" :isFocusOne="isFocusOne" :valueOne="customData.smallCount"
+							@deleteInputVal="deleteInputVal" @initAllInput="initAllInput" @moveAllInput="moveAllInput"
+							@deleteInputValOne="deleteInputValOne" @initAllInputOne="initAllInputOne" @moveAllInputOne="moveAllInputOne">
+						</allMoreSelectInput>
+						<!--<allMoreSelectInput :isActive="isActive" :isFocus="isFocus" :value="customData.smallCount"-->
+																										<!--@deleteInputVal="deleteInputVal" @initAllInput="initAllInput" @moveAllInput="moveAllInput">-->
+						<!--</allMoreSelectInput>支-->
+						<!--<input v-model="customData.bigCount" type="number" />扎-->
+						<!--<input v-model="customData.smallCount" type="number" style="margin-left:24upx" />支-->
 					</view>
 				</view>
 			</template>
@@ -103,6 +113,9 @@ import Commondity from "@/components/module/app-commodity";
 import FooterCart from "@/components/module/app-footer-cart";
 import ModalModule from "@/components/plugin/modal";
 
+import allMoreSelectInput from "@/components/module/allMoreSelectInput";
+import allMoreSelectInputMins from "@/mixins/allMoreSelectInput";
+
 import { COMMODITY_TYPE } from "@/utils/declare";
 import productMins from "@/mixins/product";
 export default {
@@ -113,19 +126,19 @@ export default {
 		AppWrapperEmpty,
 		Commondity,
 		ModalModule,
-		FooterCart
+		FooterCart,allMoreSelectInput
 	},
-	mixins: [productMins],
+	mixins: [productMins,allMoreSelectInputMins],
 	data() {
 		return {
 			COMMODITY_TYPE,
 			tabIndex: 0,
 			tabs: [
 				{
-					name: "花材"
+					name: "批发"
 				},
 				{
-					name: "成品"
+					name: "零售"
 				}
 				// {
 				//     name: '课程'
@@ -158,39 +171,48 @@ export default {
 		customNum(info) {
 			this.isModel = true;
 			this.customData = info;
+			this.$nextTick(()=>{
+				this.initAllInput();
+			})
 		},
 		modalCancel() {
 			this.isModel = false;
 			this.customData = {};
 		}, // 取消 确认
 		affirm(val) {
-			if (val.index === 0) {
-				this.modalCancel();
-			} else {
-				const {
-					bigCount,
-					smallCount,
-					bigNum,
-					bigUnit,
-					smallNum,
-					smallUnit,
-					ratio
-				} = this.customData;
-				const ratioNum = Number(ratio);
-
-				//超过库存时 设置为库存最大值
-				if (Number(bigCount) * ratioNum + Number(smallCount) > Number(bigNum) * ratioNum + Number(smallNum)) {
-					uni.showToast({
-						title: `库存只有${bigNum}${bigUnit}${smallNum}${smallUnit}`,
-						icon: "none"
-					});
-					this.customData.bigCount = bigNum;
-					this.customData.smallCount = smallNum;
-				} else {
-					this.updateItemEvent(this.customData);
+			this.isFocus = false;
+			this.isFocusOne = false;
+			this.$nextTick(()=>{
+				if(this.customData.bigCount==0 && this.customData.smallCount==0){
+					this.delAllEvent(this.customData)}
+				if (val.index === 0) {
 					this.modalCancel();
+				} else {
+					const {
+						bigCount,
+						smallCount,
+						bigNum,
+						bigUnit,
+						smallNum,
+						smallUnit,
+						ratio
+					} = this.customData;
+					const ratioNum = Number(ratio);
+					//超过库存时 设置为库存最大值 1
+					if (Number(bigCount) * ratioNum + Number(smallCount) > Number(bigNum) * ratioNum + Number(smallNum)) {
+						uni.showToast({
+							title: `库存只有${bigNum}${bigUnit}${smallNum}${smallUnit}`,
+							icon: "none"
+						});
+						this.customData.bigCount = bigNum;
+						this.customData.smallCount = smallNum;
+					} else {
+						this.updateItemEvent(this.customData);
+						this.modalCancel();
+					}
 				}
-			}
+			})
+
 		},
 		cancelEvent() {
 			this.showSubmitModel = false;

+ 13 - 43
hdApp/src/admin/billing/priceChange.vue

@@ -5,28 +5,27 @@
                          @search="searchFn" />
     </view>
     <view class="scroll-middle_bx">
-      <scroll-view scroll-y class="right-box" :scroll-into-view="scrollClassId">
+      <!--<scroll-view scroll-y class="right-box" :scroll-into-view="scrollClassId"></scroll-view>-->
         <!--内容部分 start -->
-        <block v-if="!$util.isEmpty(filterProductInfo)">
-									<view style="padding: 30rpx">
-										<template v-for="(productItem, productIndex) in filterProductInfo">
+        <block v-if="!$util.isEmpty(filterProductInfoContrapose)">
+									<view style="width:100%;padding: 30rpx">
+										<template v-for="(productItem, productIndex) in filterProductInfoContrapose">
 										<Commondity :type="COMMODITY_TYPE.CHANGE"
 																						:key="productIndex"
 																						:info="productItem"
-																						:autoPrice="productItem.priceLabel=='2'?getSelectItemById(productItem.id).autoPrice:null"
-																						@changePrice="changePriceEvent"
-																						@remove="removeChangePriceEvent"></Commondity>
+																						:autoPrice="productItem.priceLabel=='2'?productItem.price:null"
+                    ></Commondity>
 									</template>
+										<!--:autoPrice="productItem.priceLabel=='2'?getSelectItemById(productItem.id).autoPrice:null"-->
 									</view>
         </block>
         <block v-else>
-          <app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(filterProductInfo)" />
+          <app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(filterProductInfoContrapose)" />
         </block>
         <!--内容部分 end -->
-      </scroll-view>
+
     </view>
   </view>
-  </view>
 </template>
 
 <script>
@@ -47,7 +46,10 @@ export default {
     Commondity
   },
   mixins: [productMins],
-
+	onPullDownRefresh() {
+		this.initDataContrapose();
+  	console.error('111')
+	},
   data () {
     return {
       pageType: "price_change",
@@ -55,36 +57,6 @@ export default {
     };
   },
   methods: {
-    async changePriceEvent (item, value) {
-      try {
-        console.log(5555, item)
-        await changePriceByIdApi({
-          productId: item.id,
-          price: value
-        })
-        uni.showToast({
-          title: '改价成功',
-          icon: 'none',
-
-        });
-
-        await this.initData()
-      } catch (error) {
-        console.log(5555, error)
-
-      }
-    },
-    async removeChangePriceEvent (item) {
-      try {
-        if (item.priceLabel != '2') {
-          throw new Error('改价的商品才能清楚')
-        }
-        await autoPriceByIdApi({productId: item.id})
-        uni.showToast({title: '自动调价成功',icon: 'none',});
-        await this.initData()
-      } catch (error) {
-      }
-    },
   }
 };
 </script>
@@ -100,9 +72,7 @@ export default {
   .scroll-middle_bx {
     flex: 1;
     width: 100%;
-    height: 100%;
     display: flex;
-    overflow: hidden;
   }
   .tab-view {
     height: 100%;

+ 98 - 0
hdApp/src/admin/ghs/shop.vue

@@ -0,0 +1,98 @@
+<template>
+	<div class="app-content">
+		<view class="list-box">
+			<view v-if="!$util.isEmpty(list.data)">
+				<view class="flex list" v-for="(item, index) in list.data" :key="index">
+						<image :src="item.avatar"></image>
+					<view class="list-msg">
+							<view>{{item.name}}</view>
+							<text>累积消费 {{item.expendAmount}}</text>
+					</view>
+				</view>
+			</view>
+			<block v-else>
+				<app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
+			</block>
+		</view>
+	</div>
+</template>
+<script>
+	import { getList } from "@/api/ghs"
+	import AppWrapperEmpty from '@/components/app-wrapper-empty'
+	import { list } from '@/mixins'
+	export default {
+		components: {AppWrapperEmpty,},
+		name: 'ghs-shop',
+		mixins: [list],
+		data() {
+			return {
+			}
+		},
+		onLoad() {
+		},
+		onShow() {
+
+		},
+		onPullDownRefresh() {
+			this.resetList()
+			this._list().then(res => {
+				uni.stopPullDownRefresh()
+			})
+		},
+		onReachBottom() {
+			if (!this.list.finished) {
+				this._list().then(res => {
+					uni.stopPullDownRefresh()
+				})
+			} else {
+				uni.stopPullDownRefresh()
+			}
+		},
+		methods: {
+			async init() {
+				this._list()
+			},
+			_list(){
+				return getList({ type: 0 }).then(res => {
+					this.completes(res)
+				});
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.app-content{
+		.flex{display: flex;align-items: center;}
+		.flex-center{display: flex;align-items: center;justify-content: center}
+		.flex-space{display: flex;align-items: center;justify-content: space-between}
+		.flex-end{display: flex;align-items: center;justify-content: flex-end}
+		.list-box{
+			padding: 20rpx;
+			.list{
+				background: #ffffff;
+				padding: 20rpx;
+				margin-bottom: 20rpx;
+				border-radius: 20rpx;
+				image{
+					width: 100rpx;
+					height: 100rpx;
+					margin-right: 20rpx;
+					border-radius: 50%;
+				}
+				.list-msg{
+					line-height: 1;
+					font-size: 32rpx;
+					font-weight: 700;
+					view{
+						margin-bottom: 20rpx;
+					}
+					text{
+						font-size: 24rpx;
+						font-weight: 500;
+						color: #949494;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 6 - 1
hdApp/src/admin/home/apply.vue

@@ -75,7 +75,12 @@
 	                            name: "员工业绩",
 	                            img: `${this.$constant.imgUrl}/ghs/home/kdyj.png`,
 	                            url: "/admin/staff/achieve"
-	                        }
+	                        },
+                            {
+                                name: "供货商",
+                                img: `${this.$constant.imgUrl}/ghs/home/yggl.png`,
+                                url: "/admin/ghs/shop"
+                            },
                         ]
                     },
                     {

+ 10 - 12
hdApp/src/admin/home/me.vue

@@ -107,8 +107,17 @@
               :hover="false"
               :arrow="true"
             >
-              <div class="tui-title">提现帐号设置</div>
+              <div class="tui-title">提现帐号</div>
             </tui-list-cell>
+            <tui-list-cell
+              @click="pageTo({ url: '/pagesStore/me/expressSet' })"
+              class="line-cell"
+              :hover="false"
+              :arrow="true"
+            >
+              <div class="tui-title">快递设置</div>
+            </tui-list-cell>
+
           </view>
         </view>
       </view>
@@ -207,18 +216,7 @@ export default {
       }
     },
     async applyCash() {
-      uni.showLoading({
-        title: "加载中",
-      });
-      try {
         const { data } = await applyCash({});
-        uni.showToast({
-          title: "提现成功",
-          duration: 2000,
-        });
-      } finally {
-        uni.hideLoading();
-      }
     },
     _list() {},
   },

+ 0 - 1
hdApp/src/admin/home/order.vue

@@ -84,7 +84,6 @@
               </view>
             </view>
           </view>
-          <!--					<div 						v-if="!$util.isEmpty(item.buttonList.filter(r => r.disable == 1))"  class="list-bottom" >-->
           <div class="list-bottom">
             <div class="list-button">
               <view v-for="s in item.buttonList" :key="s.type">

+ 29 - 12
hdApp/src/admin/home/workbench.vue

@@ -5,7 +5,7 @@
 			<div class="user-top">
 				<div class="app-size-28">今日概况</div>
 				<view class="open-bt_bx">
-					<button id="shareStore" open-type="share" class="admin-button-com">
+					<button @tap="getMyMall" class="admin-button-com">
 						<i class="iconfont iconfenxiang"></i>
 						我的商城
 					</button>
@@ -17,13 +17,13 @@
 			</div>
 			<div class="user-bottom">
 				<div class="info-list">
-					<div class="info-list-name">访问量</div>
+					<div class="info-list-name">开单</div>
 					<div class="info-list-value">
 						{{ $util.numberFormat(data.todayData.visit) || 0 }}
 					</div>
 				</div>
 				<div class="info-list">
-					<div class="info-list-name">新客</div>
+					<div class="info-list-name">新客</div>
 					<div class="info-list-value">
 						{{ $util.numberFormat(data.todayData.user) || 0 }}
 					</div>
@@ -131,10 +131,10 @@ import FabModule from "@/components/plugin/fab";
 import AppAvatarModule from "@/components/module/app-avatar";
 import ModalModule from "@/components/plugin/modal";
 import { getDataTimestamp } from "@/utils/common";
-// api
+import { getWeixinId } from "@/api/invite/index";
 import { getUser } from "@/utils/auth";
 import { consoleIndex } from "@/api/workbench";
-// import {  share } from "@/mixins";
+
 export default {
 	name: "admin-workbench",
 	components: {
@@ -175,7 +175,7 @@ export default {
 					}
 				},
 				{
-					name: "今日订单",
+					name: "已完成",
 					url: "/admin/home/order",
 					type: 4,
 					query: {
@@ -250,23 +250,23 @@ export default {
 					value: 0
 				},
 				{
-					name: "会员数",
+					name: "总访问",
 					value: 0
 				},
 				{
-					name: "总访问量",
+					name: "总订单",
 					value: 0
 				},
 				{
-					name: "总收入(元)",
+					name: "总收入",
 					value: 0
 				},
 				{
-					name: "总支出(元)",
+					name: "总支出",
 					value: 0
 				},
 				{
-					name: "短信数",
+					name: "总采购",
 					value: 0
 				}
 			],
@@ -350,7 +350,24 @@ export default {
 				},
 				type: 2
 			});
-		}
+		},
+		getMyMall(){
+			getWeixinId().then(res => {
+				uni.navigateToMiniProgram({
+					appId: res.data.hd.miniAppId,
+					path: 'admin/ghs/shop',
+					//develop 开发板 trial 体验版 release 正式版
+					envVersion: 'develop',
+					extraData: {
+						'shopAdminId': this.loginInfo.shopAdminId
+					},
+					success(res) {
+						// 打开成功
+					}
+				})
+			});
+
+		},
 	}
 };
 </script>

+ 10 - 6
hdApp/src/admin/staff/list.vue

@@ -18,12 +18,12 @@
 								</div>
 								<div class="flex-center">
 									<div class="status-list">
-										<i class="iconfont icondagou" :class="[item.remind ? 'app-color-1' : '' ]"></i>
-										<span :class="[item.remind ? 'app-color-1' : 'app-color-3' ]">收款通知</span>
+										<i class="iconfont icondagou" :class="[item.remind == 1 ? 'app-color-1' : '' ]"></i>
+										<span :class="[item.remind == 1 ? 'app-color-1' : 'app-color-3' ]">收款通知</span>
 									</div>
 									<div class="status-list">
-										<i class="iconfont icondagou" :class="[item.status ? 'app-color-1' : '' ]"></i>
-										<span :class="[item.status ? 'app-color-1' : 'app-color-3' ]">启用</span>
+										<i class="iconfont icondagou" :class="[item.status == 1 ? 'app-color-1' : '' ]"></i>
+										<span :class="[item.status == 1 ? 'app-color-1' : 'app-color-3' ]">启用</span>
 									</div>
 								</div>
 							</div>
@@ -44,7 +44,7 @@
 			</div>
 			<!-- 按钮 -->
 			<div class="app-footer">
-				<div class="admin-button-com middle blue" @click="pageTo('/admin/staff/add')">添加</div>
+				<div class="admin-button-com middle blue" @click="pageTo('/admin/staff/add')">添加员工</div>
 			</div>
 		</block>
 		<!-- 角色管理 -->
@@ -53,14 +53,16 @@
 			<div class="list-wrap role-list">
 				<block v-if="!$util.isEmpty(list.data)">
 					<div class="list" v-for="(item, index) in list.data" :key="index">
-						<div class="app-size-32">{{ item.roleName }}(10)</div>
+						<div class="app-size-32">{{ item.roleName }}(10)</div>
 						<div class="role-option">
+							<!--
 							<div @click="modifyRoleFn(item)">
 								<i class="iconfont iconbianji"></i>
 							</div>
 							<div @click="delModalFn(item)">
 								<i class="iconfont iconshanchu1"></i>
 							</div>
+							-->
 						</div>
 					</div>
 				</block>
@@ -69,9 +71,11 @@
 				</block>
 			</div>
 			<!-- 按钮 -->
+			<!--
 			<div class="app-footer">
 				<div class="admin-button-com middle blue" @click="addRoleFn">添加角色</div>
 			</div>
+			-->
 		</block>
 		<!-- 操作记录 -->
 		<block v-if="tabIndex == 2">

+ 8 - 0
hdApp/src/api/ghs/index.js

@@ -0,0 +1,8 @@
+import https from '@/plugins/luch-request_0.0.7/request'
+
+/** *
+ * 供货商列表 姜枫 2021.04.01
+ */
+export const getList = data => {
+	return https.get('/ghs/list', data)
+}

+ 3 - 3
hdApp/src/api/home/index.js

@@ -1,8 +1,6 @@
 import https from '@/plugins/luch-request_0.0.7/request'
 
-/** *
- * 首页 m
- */
+//首页
 export const getMainIndex = data => {
 	return https.get('/main/index', data)
 }
@@ -10,6 +8,8 @@ export const getMainIndex = data => {
 export const mainMy = async (data) => {
 	return https.get("/main/my", data);
 };
+
+//提现申请
 export const applyCash = async (data) => {
 	return https.get("/cash/apply", data);
 };

+ 11 - 0
hdApp/src/api/shop-express/index.js

@@ -0,0 +1,11 @@
+import https from '@/plugins/luch-request_0.0.7/request'
+
+//达达信息
+export const dadaInfo = data => {
+	return https.get('/shop-express/dada-info', data)
+}
+
+//更新达达
+export const updateDada = data => {
+	return https.get('/shop-express/update-dada', data)
+}

+ 15 - 10
hdApp/src/components/app-form-send1.vue

@@ -12,7 +12,7 @@
 		</tui-list-cell>
 		<!-- 门店送或快递送需要设置地址 -->
 		<appAddressGroup :customId="customId" cityTitle="配送城市" @selectAdress="selectAdress" ></appAddressGroup>
-		<appSendTime :sendDate.sync="formData.sendDate" :sendTime.sync="formData.sendTime"></appSendTime>
+		<appSendTime @alterTime="selectAdress('')" :sendDate.sync="formData.sendDate" :sendTime.sync="formData.sendTime"></appSendTime>
 
 
 
@@ -105,23 +105,28 @@ export default {
 			this.formData.sendSide = list[0].id;
 		},
 		selectAdress(info) {
-			this.formData.receiveProvince = info.province;
-			this.formData.receiveCity = info.city;
-			this.formData.receiveFloor = info.floor;
-			this.formData.receiveAddress = info.address;
-			this.formData.receiveLong = info.longitude;
-			this.formData.receiveLat = info.latitude;
+			if(info){
+				this.formData.receiveProvince = info.province;
+				this.formData.receiveCity = info.city;
+				this.formData.receiveFloor = info.floor;
+				this.formData.receiveAddress = info.address;
+				this.formData.receiveLong = info.longitude;
+				this.formData.receiveLat = info.latitude;
+			}
+
 			console.log('this.formData',this.formData)
 			this.$nextTick(() => {
 				let params = {
-					customId: this.customId,
-					expressId: this.formData.sendSide,
+					id: this.orderid,
+					province: this.formData.receiveProvince,
 					city:this.formData.receiveCity,
 					address:this.formData.receiveAddress,
 					floor:this.formData.receiveFloor,
-					orderId: this.orderid,
+					expressId: this.formData.sendSide,
+					// orderId: this.orderid,
 					long: this.formData.receiveLong,
 					lat: this.formData.receiveLat,
+					sendTime: this.formData.sendTime,
 				};
 				this.freightCount(params);
 			});

+ 1 - 1
hdApp/src/components/app-send-time.vue

@@ -102,7 +102,7 @@ export default {
 			let oneIndex = e.detail.value[0] || 0;
 			let twoIndex = e.detail.value[1] || 0;
 			this.timeValue = e.detail.value;
-
+			this.$emit("alterTime")
 			this.$emit(
 				"update:sendTime",
 				this.timeList[0][oneIndex] + ":" + this.timeList[1][twoIndex]

+ 2 - 2
hdApp/src/components/app-wrapper-empty.vue

@@ -51,7 +51,7 @@ export default {
 		// 图片宽度
 		pictureWidth: {
 			type: String,
-			default: '200rpx'
+			default: '400rpx'
 		},
 
 		pictureHeight: {
@@ -61,7 +61,7 @@ export default {
 
 		title: {
 			type: String,
-			default: '暂无数据'
+			default: ''
 		},
 
 		// 是否垂直居中

+ 107 - 0
hdApp/src/components/module/allMoreSelectInput.vue

@@ -0,0 +1,107 @@
+<style lang="scss" scoped>
+	.change-input-box{
+		display: flex;
+		align-items: center;
+		.change-input {
+			position: relative;
+			width: 212px;
+			height: 80rpx;
+			line-height: 80rpx;
+			border: 1px solid #dddddd;
+			border-radius: 4px;
+			text-align: center;
+			margin-right: 24px;
+			font-size: 40rpx;
+			input{
+				position: absolute;
+				width: 100%;
+				height: 100%;
+				opacity:1;
+				&.active{
+					opacity:0;
+				}
+			}
+			text{
+				&.active{
+					background: rgba(10,150,210,0.6);
+				}
+			}
+		}
+		.unit{
+			width: 50rpx;
+			text-align: center;
+		}
+	}
+
+</style>
+<template>
+	<view class="change-input-box">
+		<view class="change-input">
+				<input :focus="isFocus" :style="isActive?'caret-color:rgba(0,0,0,0)':'caret-color:rgba(0,0,0,1)'" type="number" @focus="initAllInput" @blur="moveAllInput" v-model="inputVal" @input="changeAllInput" >
+				<text :class="isActive?'active':''">{{value?value:''}}</text>
+		</view>
+		<view class="unit">扎</view>
+		<view class="change-input">
+			<input :focus="isFocusOne" :style="isActiveOne?'caret-color:rgba(0,0,0,0)':'caret-color:rgba(0,0,0,1)'" type="number" @focus="initAllInputOne" @blur="moveAllInputOne" v-model="inputValOne" @input="changeAllInputOne" >
+			<text :class="isActiveOne?'active':''">{{valueOne?valueOne:''}}</text>
+		</view>
+		<view class="unit">支</view>
+	</view>
+</template>
+<script>
+export default {
+  name: "allSelectInput",
+	props: {
+		isActive: '',
+		isFocus: '',
+		value: '',
+
+		isActiveOne: '',
+		isFocusOne: '',
+		valueOne: '',
+	},
+	data() {
+		return {
+			inputVal:'',
+			inputValOne:'',
+		};
+	},
+	onLoad(e){
+  	this.title = e.title
+	},
+  methods: {
+			initAllInput() {
+				this.$emit('initAllInput')
+    },
+			moveAllInput(){
+				let inputVal = this.inputVal
+				this.inputVal = '';
+				this.$emit('moveAllInput',inputVal)
+			},
+			changeAllInput(e){
+    	if(e.detail.keyCode==8){
+    		this.$emit('deleteInputVal')
+						return;
+					}
+				this.$emit('deleteInputVal')
+			},
+
+
+			initAllInputOne() {
+				this.$emit('initAllInputOne')
+    },
+			moveAllInputOne(){
+				let inputVal = this.inputValOne
+				this.inputValOne = '';
+				this.$emit('moveAllInputOne',inputVal)
+			},
+			changeAllInputOne(e){
+    	if(e.detail.keyCode==8){
+    		this.$emit('deleteInputValOne')
+						return;
+					}
+				this.$emit('deleteInputValOne')
+			},
+  },
+};
+</script>

+ 74 - 0
hdApp/src/components/module/allSelectInput.vue

@@ -0,0 +1,74 @@
+<style lang="scss" scoped>
+	.change-input {
+		position: relative;
+		width: 164px;
+		height: 60px;
+		line-height: 60px;
+		text-align: center;
+		background: #ffffff;
+		border: 1px solid #dddddd;
+		border-radius: 4px;
+		font-size: 25px;
+		input{
+			position: absolute;
+			width: 100%;
+			height: 100%;
+			//opacity:1;
+			&.active{
+				//opacity:0;
+			}
+		}
+		text{
+			&.active{
+				background: rgba(10,150,210,0.6);
+			}
+		}
+	}
+</style>
+<template>
+	<view class="change-input">
+			<input :focus="isFocus" :style="isActive?'caret-color:rgba(0,0,0,0)':'caret-color:rgba(0,0,0,1)'"  type="number" @focus="initAllInput" @blur="moveAllInput" v-model="inputVal" @input="changeAllInput" :placeholder="value==''&&inputVal==''?placeholder:''">
+			<text :class="isActive?'active':''">{{value?value:''}}</text>
+	</view>
+</template>
+<script>
+export default {
+  name: "allSelectInput",
+	props: {
+		isActive: '',
+		isFocus: '',
+		value: '',
+		placeholder: '',
+	},
+	data() {
+		return {
+			inputVal:'',
+		};
+	},
+	onLoad(e){
+  	this.title = e.title
+	},
+  methods: {
+			initAllInput() {
+				this.$emit('initAllInput')
+    },
+			moveAllInput(){
+				let inputVal = this.inputVal
+				this.inputVal = '';
+				this.$emit('moveAllInput',inputVal)
+			},
+			changeAllInput(e){
+    	if(e.detail.keyCode==8){
+    		this.$emit('deleteInputVal')
+						return;
+					}
+				this.$emit('deleteInputVal')
+				// else{
+					// 	this.$emit('enteringInputVal',e.detail.value)
+					// 	console.log(e.detail.value)
+					// }
+
+			},
+  },
+};
+</script>

+ 109 - 39
hdApp/src/components/module/app-commodity.vue

@@ -1,36 +1,29 @@
 <template>
 	<view class="item-cmd_bx">
-		<view class="img_bx">
-			<app-img :src="info.cover" alt="商品图" mode="aspectFit" :height="160" />
+		<view class="img_bx" @click="addEvents">
+			<app-img  :src="info.cover" alt="商品图" mode="aspectFit" :height="160" />
 		</view>
 		<view class="cmd-info_bx">
-			<view class="tit">{{ info.itemName || "" }}</view>
-			<view class="kc">库存{{ info.stock }}</view>
+			<view class="tit" @click="addEvents">{{ info.itemName || "" }}</view>
+			<view class="kc" @click="addEvents">库存 {{ info.stock }}</view>
 			<view class="num-open_bx">
-				<view class="price">¥{{ info.price }}</view>
+				<view class="price">¥{{ showPrice }}</view>
 				<view class="open-bx" v-if="type == COMMODITY_TYPE.COMMON">
-					<i
-						class="iconfont iconjian"
-						@click="delEvent"
-						v-if="bigCount > 0 || smallCount > 0"
-					></i>
-					<text class="num" @click="customNum" v-if="bigCount > 0 || smallCount > 0">
+					<i class="iconfont iconjian" :class="delAnimationData?'animation':''" @click="delEvent" v-if="bigCount > 0 || smallCount > 0"></i>
+					<text class="num" @click="customNum">
 						<text v-if="bigCount > 0 || smallCount > 0">{{ `${bigCount}` }}</text>
 						<text v-if="smallCount > 0">/</text>
 						<text v-if="smallCount > 0">{{ `${smallCount}` }}</text>
 					</text>
-					<i class="iconfont iconzeng" @click="addEvent"></i>
+					<i class="iconfont iconzeng" :class="addAnimationData?'animation':''" @click="addEvents"></i>
 				</view>
 				<view class="open-bx" v-else-if="type == COMMODITY_TYPE.CHANGE">
-					<input
-						class="change-input"
-						:value="autoPrice"
-						type="digit"
-						placeholder="自动调价"
-						@change="changePriceEvent"
-					/>
-					<i class="iconfont iconcachu edit" v-if="info.priceLabel==2" @click="removeEvent"></i>
-					<i class="iconfont iconcachu" v-else></i>
+					<allSelectInput :isActive="isAloneAllActive" :isFocus="isAloneAllFocus" :value="changeAutoPrice" :placeholder="'自动调价'"
+						@deleteInputVal="deleteInputVal" @initAllInput="initAloneAllInput" @moveAllInput="moveAllInput">
+					</allSelectInput>
+					<!--<input class="change-input" v-model="changeAutoPrice" type="digit" placeholder="自动调价"  selection-start="0" selection-end="1" />-->
+					<i :class="isShowSucceed?'position iconfont iconjihuo':'position'" ></i>
+					<view class="btn-box" @click="changePriceEvent">确定</view>
 				</view>
 			</view>
 		</view>
@@ -40,11 +33,18 @@
 <script>
 import { COMMODITY_TYPE } from "@/utils/declare";
 import AppImg from "@/components/app-img";
+import { autoPriceByIdApi, changePriceByIdApi } from '@/api/product/index'
+import productMins from "@/mixins/productContrapose";
+import animationMins from "@/mixins/animation";
+
+import allSelectInput from "@/components/module/allSelectInput";
+import allSelectInputMins from "@/mixins/allSelectInput";
 export default {
 	name: "Commodity",
 	components: {
-		AppImg
+		AppImg,allSelectInput
 	},
+	mixins: [productMins,animationMins,allSelectInputMins],
 	props: {
 		info: {
 			required: true,
@@ -65,32 +65,84 @@ export default {
 			type: Number,
 			default: 0
 		},
-		autoPrice: {}
+		autoPrice: {},
 	},
 	data() {
 		return {
-			COMMODITY_TYPE
+			COMMODITY_TYPE,
+			// isAllActive: false,
+			// isAllFocus: false,
+			isAloneAllActive: false,
+			isAloneAllFocus: false,
+
+			isShowSucceed:false,
+			changeAutoPrice:'',
+			showPrice:0.00,
+			ifFocus:false
 		};
 	},
 	created() {},
+	mounted() {
+		if(this.info.priceLabel == 2){
+			this.changeAutoPrice = this.info.price
+		}
+		this.showPrice = this.info.price
+	},
 	methods: {
-		addEvent() {
+		//input点击删除按键
+		deleteInputVal(){
+			this.isAloneAllActive=false;
+			this.changeAutoPrice = '';
+		},
+		//离开input
+		moveAllInput(e){
+			this.isAloneAllActive=false;
+			this.isAloneAllFocus=false;
+			if(e==''){return}
+			this.changeAutoPrice = e;
+		},
+		addEvents() {
+			this.animationFun('add');
+			// let params = {
+			// 	...this.info,
+			// 	bigCount: this.bigCount,
+			// 	smallCount: this.smallCount
+			// };
+			// this.$emit("add", this.info,params);
 			this.$emit("add", this.info);
 		},
 		delEvent() {
+			this.animationFun('del');
 			this.$emit("del", this.info);
 		},
-
-		removeEvent() {
-			this.$emit("remove", this.info);
-		},
-		changePriceEvent(event) {
-			const {
-				detail: { value }
-			} = event;
-			this.$emit("changePrice", this.info, value);
+		async changePriceEvent(event) {
+			this.isFocus = false;
+			let self = this
+			await changePriceByIdApi({
+				productId: this.info.id,
+				price: this.changeAutoPrice
+			}).then(res => {
+				if(res.code == 1){
+					this.showPrice = res.data.price
+					this.isShowSucceed = true
+					setTimeout(()=>{
+						this.isShowSucceed = false
+					},1000)
+				}else{
+					self.$msg(res.msg)
+				}
+			})
 		},
 		customNum() {
+			// if(!this.info.bigCount){
+			if(!this.bigCount && !this.smallCount){
+				let params = {
+					...this.info,
+					bigCount: this.bigCount,
+					smallCount: this.smallCount
+				};
+				this.$emit("addOneEvent", this.info,params);
+			}
 			this.$emit("customNum", {
 				...this.info,
 				bigCount: this.bigCount,
@@ -137,8 +189,15 @@ export default {
 				display: flex;
 				align-items: center;
 				& .iconfont {
+					//margin-left: 15rpx;
 					color: #3385ff;
-					font-size: 50px;
+					font-size: 42px;
+				}
+
+				.position{
+					display: block;
+					width: 70rpx;
+					text-align: center;
 				}
 				.iconcachu {
 					margin: 0 6px 0 20px;
@@ -150,13 +209,14 @@ export default {
 				& > .num {
 					display: inline-block;
 					width: 120rpx;
+					height:45rpx;
 					text-align:center;
 					margin: 0 8px;
-					color: #5C5C5C;
+					color: #868686;
 					border-radius: 22px;
 					background-color: #f5f5f5;
-					padding: 10px 0;
-					font-size: 32rpx;
+					padding: 3px 0;
+					font-size: 25rpx;
 				}
 				.change-input {
 					width: 164px;
@@ -166,10 +226,20 @@ export default {
 					background: #ffffff;
 					border: 1px solid #dddddd;
 					border-radius: 4px;
-					font-size: 28px;
+					font-size: 25px;
+				}
+				.btn-box{
+					width: 100rpx;
+					height: 60rpx;
+					line-height: 60rpx;
+					color: #ffffff;
+					background: #3385ff;
+					text-align: center;
+					border-radius: 10rpx;
 				}
 			}
 		}
 	}
 }
+
 </style>

+ 2 - 1
hdApp/src/components/plugin/modal.vue

@@ -135,7 +135,8 @@ export default {
 		},
 		handleClickCancel() {
 			if (!this.maskClosable) return
-			this.$emit('cancel')
+			// this.$emit('cancel')
+			this.$emit('click', {index: 0})
 		}
 	}
 }

+ 10 - 10
hdApp/src/ext-production.json

@@ -1,11 +1,11 @@
 {
-  "extEnable": true,
-  "extAppid": "wx99a1dfc4171efb42",
-  "directCommit": false,
-  "ext": {
-    "account": 12358,
-    "apiHost": "https://api.shop.huahb.com",
-    "imgHost": "https://img.huahb.com",
-    "name":"花宝"
-  }
-}
+    "extEnable": true,
+    "extAppid": "",
+    "directCommit": false,
+    "ext": {
+      "account": 12358,
+      "apiHost": "https://api.shop.huahb.com",
+      "imgHost": "https://img.huahb.com",
+      "name":"花宝(待申请)"
+    }
+  }

+ 5 - 5
hdApp/src/ext.json

@@ -1,11 +1,11 @@
 {
   "extEnable": true,
-  "extAppid": "wxe4675bab299a52f7",
+  "extAppid": "wx21b7c3ef12082099",
   "directCommit": false,
   "ext": {
-    "account": 12362,
-    "apiHost": "http://api.shop.huaml.com",
-    "imgHost": "https://img.huaml.com",
-    "name":"花美玲"
+    "account": 0,
+    "apiHost": "http://api.shop.hzghd.com",
+    "imgHost": "https://img.hzghd.com",
+    "name":"花掌柜"
   }
 }

+ 49 - 0
hdApp/src/mixins/allMoreSelectInput.js

@@ -0,0 +1,49 @@
+export default {
+	data() {
+		return {
+			isActive: false,
+			isFocus: false,
+
+			isActiveOne: false,
+			isFocusOne: false,
+		};
+	},
+
+	methods: {
+		// 离开全选input
+		moveAllInput(e){
+			this.isActive=false;
+			this.isFocus=false;
+			if(e==''){return}
+			this.customData.bigCount = e;
+		},
+		//input点击删除按键
+		deleteInputVal(){
+			this.isActive=false;
+			this.customData.bigCount = '';
+		},
+		// 选中input
+		initAllInput(){
+			this.isActive=true;
+			this.isFocus=true;
+		},
+
+		// 离开全选input
+		moveAllInputOne(e){
+			this.isActiveOne=false;
+			this.isFocusOne=false;
+			if(e==''){return}
+			this.customData.smallCount = e;
+		},
+		//input点击删除按键
+		deleteInputValOne(){
+			this.isActiveOne=false;
+			this.customData.smallCount = '';
+		},
+		// 选中input
+		initAllInputOne(){
+			this.isActiveOne=true;
+			this.isFocusOne=true;
+		},
+	}
+};

+ 27 - 0
hdApp/src/mixins/allSelectInput.js

@@ -0,0 +1,27 @@
+export default {
+	data() {
+		return {
+
+		};
+	},
+
+	methods: {
+		// // 离开全选input alone
+		// moveAloneAllInput(e){
+		// 	this.isAloneAllActive=false;
+		// 	this.isAloneAllFocus=false;
+		// 	if(e==''){return}
+		// 	this.changeAutoPrice = e;
+		// },
+		// //input点击删除按键
+		// deleteAloneInputVal(){
+		// 	this.isAloneAllActive=false;
+		// 	this.changeAutoPrice = '';
+		// },
+		// 选中input
+		initAloneAllInput(){
+			this.isAloneAllActive=true;
+			this.isAloneAllFocus=true;
+		},
+	}
+};

+ 29 - 0
hdApp/src/mixins/animation.js

@@ -0,0 +1,29 @@
+export default {
+	data() {
+		return {
+			addAnimationData: false,
+			delAnimationData: false,
+		};
+	},
+	methods: {
+		/**
+		* 加减商品动画效果
+		* */
+		animationFun(type){
+			if(type=='add'){
+				this.addAnimationData = true;
+				this.$nextTick(()=>{
+					this.addAnimationData = false;
+				})
+				// setTimeout(()=>{this.addAnimationData = false;},100)
+			}else{
+				this.delAnimationData = true;
+				this.$nextTick(()=>{
+					this.addAnimationData = false;
+				})
+				// setTimeout(()=>{this.delAnimationData = false;},100)
+			}
+
+		},
+	}
+};

+ 55 - 3
hdApp/src/mixins/product.js

@@ -185,7 +185,8 @@ export default {
 			let info = {
 				bigCount: 0, //扎数
 				smallCount: 0, //支数
-				autoPrice: 0 //调价价格
+				autoPrice: 0, //调价价格
+				itemPrice: 0 //调价价格
 			};
 			const item =
 				this.selectList &&
@@ -197,7 +198,8 @@ export default {
 					...item,
 					bigCount: Number(item.bigCount),
 					smallCount: Number(item.smallCount),
-					autoPrice: Number(item.autoPrice)
+					autoPrice: Number(item.autoPrice),
+					itemPrice: Number(item.itemPrice),
 				};
 			}
 			return info;
@@ -222,6 +224,7 @@ export default {
 						if (item.id == selectItem.id && item.classId == selectItem.classId) {
 							info.bigCount += Number(selectItem.bigCount);
 							info.smallCount += Number(selectItem.smallCount);
+							info.itemPrice += selectItem.itemPrice?Number(selectItem.itemPrice):'';
 						}
 					}
 				}
@@ -297,6 +300,39 @@ export default {
 			this.setSelectInfoByType({ type: this.pageType, info: list });
 			// this.$forceUpdate();
 		},
+
+		addCustomNumEvent(item,params1,type) {
+			const list = this.selectList;
+
+			// if (!has) {}
+				let info = { classId: item.classId, id: item.id };
+
+				const classInfo =
+					this.productInfo &&
+					this.productInfo.find(element => {
+						return element.classId == item.classId && element.child;
+					});
+				if (classInfo) {
+					info = classInfo.child.find(ele => {
+						return ele.id == item.id;
+					});
+				}
+
+				let params = {
+					...info,
+					bigCount: 0, //扎数
+					smallCount: 0, //支数
+					autoPrice: 0 //调价价格
+				};
+				list.push(params);
+				if(type!='noAdd'){
+					this.setSelectInfoByType({ type: this.pageType, info: list });
+				}
+			this.$nextTick(()=>{
+				this.customNum(params1)
+			})
+			// this.$forceUpdate();
+		},
 		/**
 		 * 减去商品
 		 */
@@ -358,6 +394,20 @@ export default {
 			this.setSelectInfoByType({ type: this.pageType, info: list });
 			// this.$forceUpdate();
 		},
+		//减去所有商品
+		delAllEvent(item) {
+			const list = this.selectList;
+			for (let index = 0; index < list.length; index++) {
+				const element = list[index];
+				if (element.id == item.id ) {
+
+					list.splice(index, 1);
+
+					break;
+				}
+			}
+			this.setSelectInfoByType({ type: this.pageType, info: list });
+		},
 		// /**
 		//  * 删除商品
 		//  */
@@ -391,13 +441,15 @@ export default {
 						) {
 							list[index].bigCount = Number(item.bigNum);
 							list[index].smallCount = Number(item.smallNum);
+							list[index].itemPrice = item.itemPrice?Number(item.itemPrice):'';
 						}
 					}
 
 					list[index] = {
 						...element,
 						bigCount: Number(item.bigCount),
-						smallCount: Number(item.smallCount)
+						smallCount: Number(item.smallCount),
+						itemPrice: item.itemPrice?Number(item.itemPrice):''
 					};
 
 					break;

+ 4 - 3
hdApp/src/mixins/productContrapose.js

@@ -22,13 +22,13 @@ export default {
 		}
 
 		if (this.autoLoad) {
-			this.initData();
+			this.initDataContrapose();
 		}
 	},
 	onUnload() {},
 	computed: {
 		...mapGetters(["getSelectInfo"]),
-		filterProductInfo() {
+		filterProductInfoContrapose() {
 			let list = copyObject(this.productInfo);
 			return list;
 		},
@@ -108,7 +108,7 @@ export default {
 		/**
 		 * 请求商品数据
 		 */
-		async initData(extendInfo) {
+		async initDataContrapose(extendInfo) {
 			//extendInfo调用时的扩展参数  如  shopId
 			try {
 				let params = {
@@ -128,6 +128,7 @@ export default {
 				// });
 				this.productInfo = data.list;
 				this.classIndex = 0;
+				uni.stopPullDownRefresh();
 			} catch (error) {
 			} finally {
 				uni.hideLoading();

+ 10 - 2
hdApp/src/pages.json

@@ -170,10 +170,17 @@
 				{"path": "me/incomeExpenses","style": {"navigationBarTitleText": "收支记录"}},
 				{"path": "me/recharge","style": {"navigationBarTitleText": "充值"}},
 				{"path": "me/rechargeList","style": {"navigationBarTitleText": "充值记录"}},
-				{"path": "me/cashSet","style": {"navigationBarTitleText": "提现帐号设置"}},
+				{"path": "me/cashSet","style": {"navigationBarTitleText": "提现帐号"}},
+				{"path": "me/expressSet","style": {"navigationBarTitleText": "快递设置"}},
 				{"path": "me/rechargeSuccess","style": {"navigationBarTitleText": "充值成功"}}
 			]
 		},
+		{
+			"root": "admin/ghs",
+			"pages": [
+				{"path": "shop","style": {"navigationBarTitleText": "供货商"}}
+			]
+		},
 		{
 			"root": "admin/coupon",
 			"pages": [
@@ -410,7 +417,8 @@
 				{
 					"path": "priceChange",
 					"style": {
-						"navigationBarTitleText": "改价"
+						"navigationBarTitleText": "改价",
+						"enablePullDownRefresh": true
 					}
 				},
 				{

+ 1 - 1
hdApp/src/pagesOrder/ship.vue

@@ -134,7 +134,7 @@ export default {
 			// this.showIndex = this.option.pageStatus || 0
 			this._getDet()
 			this._orderComDet()
-			this.freightCount()
+			// this.freightCount()
 		},
 		sendConfirm(type){
 			console.log(type)

+ 10 - 10
hdApp/src/pagesOrder/shipInfo.vue

@@ -5,7 +5,7 @@
 			<form>
 				<!-- 登录信息 -->
 				<view class="module-com input-line-wrap">
-					<appFormSend :form.sync="form" :customId="customId" :orderid="orderid"> </appFormSend>
+					<appFormSend :form.sync="form" :customId="customId" :orderid="orderId"> </appFormSend>
 				</view>
 			</form>
 			<view class="admin-button-com-box">
@@ -78,8 +78,8 @@ export default {
 		};
 	},
 	onLoad(e) {
-		this.customId = e.id
-		this.orderId = e.orderId
+		this.customId = e.id;
+		this.orderId = e.orderId;
 		if (!this.getMerchantInfo) {
 			this.initMerchantInfo().then(data => {
 				uni.setNavigationBarTitle({
@@ -130,13 +130,13 @@ export default {
 		async formSubmit(e) {
 			try {
 				// 表单规则
-				let rules = [
-					{
-						name: "sendTime",
-						rule: ["required"],
-						msg: ["请输入具体时间"]
-					}
-				];
+				let rules = [];
+
+				// {
+				// 	name: "sendTime",
+				// 		rule: ["required"],
+				// 	msg: ["请输入具体时间"]
+				// }
 				// 进行表单检查
 				let formData = this.form;
 				if (formData.sendType == "1") {

+ 34 - 9
hdApp/src/pagesPurchase/components/CommodityPurchase.vue

@@ -14,13 +14,14 @@
 					<text class="unit">¥</text><text>{{ info.price }}</text>
 				</view>
 				<view class="open-bx">
-					<i class="iconfont iconjian" @click="delEvent" v-if="bigCount > 0 || smallCount > 0"></i>
-					<text class="num" @click="customNum" v-if="bigCount > 0 || smallCount > 0">
+					<i class="iconfont iconjian" :class="delAnimationData?'animation':''" @click="delEvent" v-if="bigCount > 0 || smallCount > 0"></i>
+					<text class="num" @click="customNum" >
+<!--					<text class="num" @click="customNum" v-if="bigCount > 0 || smallCount > 0">-->
 						<text v-if="bigCount > 0 || smallCount > 0">{{ `${bigCount}` }}</text>
 						<text v-if="smallCount > 0">/</text>
 						<text v-if="smallCount > 0">{{ `${smallCount}` }}</text>
 					</text>
-					<i class="iconfont iconzeng" @click="addEvent"></i>
+					<i class="iconfont iconzeng" :class="addAnimationData?'animation':''" @click="addEvent"></i>
 				</view>
 			</view>
 		</view>
@@ -30,11 +31,13 @@
 <script>
 import { COMMODITY_TYPE } from "@/utils/declare";
 import AppImg from "@/components/app-img";
+import animationMins from "@/mixins/animation";
 export default {
 	name: "Commodity",
 	components: {
 		AppImg
 	},
+	mixins: [animationMins],
 	props: {
 		info: {
 			required: true,
@@ -58,7 +61,11 @@ export default {
 		autoPrice: {
 			type: Number,
 			default: 0
-		}
+		},
+		itemPrice: {
+			type: Number,
+			default: 0
+		},
 	},
 	data() {
 		return {
@@ -68,9 +75,16 @@ export default {
 	created() {},
 	methods: {
 		addEvent() {
+			this.animationFun('add');
+			// let params = {
+			// 	...this.info,
+			// 	bigCount: this.bigCount,
+			// 	smallCount: this.smallCount
+			// };
 			this.$emit("add", this.info);
 		},
 		delEvent() {
+			this.animationFun('del');
 			this.$emit("del", this.info);
 		},
 
@@ -84,10 +98,20 @@ export default {
 			this.$emit("changePrice", this.info, value);
 		},
 		customNum() {
+			if(!this.bigCount && !this.smallCount){
+				let params = {
+					...this.info,
+					bigCount: this.bigCount,
+					smallCount: this.smallCount,
+					itemPrice: this.itemPrice
+				};
+				this.$emit("addOneEvent", this.info,params,'noAdd');
+			}
 			this.$emit("customNum", {
 				...this.info,
 				bigCount: this.bigCount,
-				smallCount: this.smallCount
+				smallCount: this.smallCount,
+				itemPrice: this.itemPrice
 			});
 		}
 	}
@@ -135,7 +159,7 @@ export default {
 				align-items: center;
 				& .iconfont {
 					color: #4db0e4;
-					font-size: 50px;
+					font-size: 42px;
 				}
 				.icondelete {
 					margin: 0 10px 0 30px;
@@ -147,13 +171,14 @@ export default {
 				& > .num {
 					display: inline-block;
 					width: 120rpx;
+					height:45rpx;
 					text-align:center;
 					margin: 0 8px;
-					color: #5C5C5C;
+					color: #868686;
 					border-radius: 22px;
 					background-color: #f5f5f5;
-					padding: 10px 0;
-					font-size: 32rpx;
+					padding: 3px 0;
+					font-size: 25rpx;
 				}
 				.change-input {
 					width: 164px;

+ 4 - 6
hdApp/src/pagesPurchase/details.vue

@@ -173,11 +173,7 @@
 					¥ <text class="large">{{ allPrice }}</text>
 				</text>
 			</view>
-			<button
-				class="admin-button-com blue middle"
-				v-if="canIEdit"
-				@click="formSubmit"
-			>
+			<button class="admin-button-com blue middle" v-if="canIEdit" @click="formSubmit">
 				确认
 			</button>
 		</view>
@@ -336,6 +332,7 @@ export default {
 				}
 				const itemInfo = this.selectList.map(ele => {
 					return {
+						classId: ele.classId,
 						productId: ele.id,
 						bigNum: ele.bigCount,
 						smallNum: ele.smallCount,
@@ -351,7 +348,8 @@ export default {
 				this.$msg("确认成功!");
 
 				this.resetSelectInfoByType(this.pageType);
-				this.$util.pageTo({ url: "/pagesPurchase/result", type: 2 });
+				// this.$util.pageTo({ url: "/pagesPurchase/result", type: 2 });
+				uni.navigateTo({url:'/common/pageSuccess?title=新增成功'})
 			} catch (error) {}
 		},
 		// 表单验证

+ 0 - 15
hdApp/src/pagesStatistics/business.vue

@@ -135,21 +135,6 @@
 				<view class="list-main">
 					<view v-for="(item, index) in bussinessList" :key="index">
 						<template v-if="index == curTabIndex">
-							<view class="list-item" >
-								<view class="item-left">
-									<view class="content-row">
-										<text class="content-label"> 收入</text>
-										<text class="content-value"> <text class="unit">¥</text> {{item.income}}</text>
-									</view>
-									<view class="content-row">
-										<text class="content-label"> 支出</text>
-										<text class="content-value"> <text class="unit">¥</text> {{item.expend}}</text>
-									</view>
-								</view>
-								<view class="item-right">
-									<!-- <text class="iconfont iconxiangyou"> </text> -->
-								</view>
-							</view>
 							<view class="list-item" >
 								<view class="item-left">
 									<view class="content-row">

+ 155 - 0
hdApp/src/pagesStore/me/expressSet.vue

@@ -0,0 +1,155 @@
+<template>
+  <div class="app-content">
+    <div v-show="showStaffArea">
+      <form @submit="formSubmit" @reset="formReset">
+        <div class="module-com input-line-wrap">
+          <tui-list-cell class="line-cell" :hover="false">
+            <div class="tui-title required">达达商户ID</div>
+            <input
+              v-model="form.sjId"
+              placeholder-class="phcolor"
+              class="tui-input"
+              name="sjId"
+              placeholder="请输入商户ID"
+              maxlength="50"
+              type="text"
+            />
+          </tui-list-cell>
+
+          <tui-list-cell class="line-cell" :hover="false">
+            <div class="tui-title required">达达门店编号</div>
+            <input
+              v-model="form.shopNo"
+              placeholder-class="phcolor"
+              class="tui-input"
+              name="shopNo"
+              placeholder="请输入编号"
+              maxlength="50"
+              type="text"
+            />
+          </tui-list-cell>
+        </div>
+
+        <!-- 提交 -->
+        <div class="confirm-btn">
+          <button class="admin-button-com big blue" formType="submit">
+            提交
+          </button>
+        </div>
+      </form>
+    </div>
+  </div>
+</template>
+
+<script>
+import TuiListCell from "@/components/plugin/list-cell";
+import AppAvatarModule from "@/components/module/app-avatar";
+const form = require("@/utils/formValidation.js");
+import { dadaInfo,updateDada } from "@/api/shop-express";
+export default {
+  name: "expressSet",
+  components: {
+    TuiListCell,
+    AppAvatarModule,
+  },
+  data() {
+    return {
+      form: {
+        shopNo: "",
+        sjId: "",
+      },
+      roleList: [],
+      roleSelData: {},
+      showStaffArea: true,
+      miniCodeSrc: "",
+      memberData: {},
+    };
+  },
+  onLoad() {
+  },
+  onShow() {
+    uni.setNavigationBarTitle({
+      title: `快递设置`,
+    });
+  },
+  methods: {
+    async init() {
+      try {
+        const { data } = await dadaInfo();
+        this.form.shopNo = data.shopNo;
+        this.form.sjId = data.sjId;
+        this.$forceUpdate();
+      } finally {
+      }
+    },
+    confirmFn() {
+      updateDada(this.form).then((res) => {
+        this.$msg("操作成功");
+        setTimeout(() => {
+          uni.navigateBack();
+        }, 1300)
+      });
+    },
+    formSubmit(e) {
+      // 表单验证
+      let rules = [
+        {
+          name: "sjId",
+          rule: ["required"],
+          msg: ["请输入商户ID"],
+        },
+        {
+          name: "shopNo",
+          rule: ["required"],
+          msg: ["请输入门店编号"],
+        },
+      ];
+      // 进行表单检查
+      let formData = e.detail.value;
+      let checkRes = form.validation(formData, rules);
+      // 验证通过!
+      if (!checkRes) {
+        this.confirmFn();
+      } else {
+        this.$msg(checkRes);
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.app-content {
+  min-height: calc(100vh - 20px);
+  padding-top: 20px;
+}
+.prompt-text {
+  color: $fontColor3;
+  padding-left: 30px;
+  margin-bottom: 30px;
+}
+// ---
+.module-com {
+  margin-bottom: 20px;
+  .member-wrap {
+    .member-det {
+      font-size: 24px;
+      margin-left: 20px;
+    }
+  }
+  .remark-wrap {
+    align-items: flex-start;
+    .remark {
+      height: 240px;
+    }
+  }
+}
+// 按钮
+.confirm-btn {
+  width: calc(100% - 60px);
+  margin: 60px 30px 20px;
+  .admin-button-com {
+    width: 100%;
+  }
+}
+</style>

+ 1 - 1
hdApp/src/pagesStore/me/recharge.vue

@@ -123,7 +123,7 @@ export default {
       });
     },
     payFail() {
-      this.$msg("没有充值成功");
+      this.$msg("没有充值成功");
       return false;
     },
   },

+ 1 - 1
hdApp/src/pagesStorehouse/allot/addExDetails.vue

@@ -5,7 +5,7 @@
 				<form>
 					<view class="module-com input-line-wrap">
 						<TuiListCell class="line-cell" :hover="false" :arrow="true">
-							<view class="tui-title ">收货仓库</view>
+							<view class="tui-title ">收货门店</view>
 							<view class="tui-input">
 								<DorpdownSelect
 									:menuObj.sync="menuObj"

+ 3 - 3
hdApp/src/pagesStorehouse/allot/allotPut.vue

@@ -50,9 +50,9 @@
 				<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
 			</block>
 		</scroll-view>
-		<view class="app-footer open_btn">
-			<view @click="addEvent" class="admin-button-com middle blue">新增入库</view>
-		</view>
+		<!--<view class="app-footer open_btn">-->
+			<!--<view @click="addEvent" class="admin-button-com middle blue">新增入库</view>-->
+		<!--</view>-->
 	</view>
 </template>
 <script>

+ 14 - 8
hdApp/src/pagesStorehouse/allot/exSelect.vue

@@ -120,12 +120,14 @@
 				<view class="select-cmd_bx" v-if="customData">
 					<view class="kc"> 库存{{ customData.stock }} </view>
 					<view class="num_bx">
-						<input v-model="customData.bigCount" type="number" />扎
-						<input
-							v-model="customData.smallCount"
-							type="number"
-							style="margin-left:24upx"
-						/>支
+						<allMoreSelectInput
+							:isActive="isActive" :isFocus="isFocus" :value="customData.bigCount"
+							:isActiveOne="isActiveOne" :isFocusOne="isFocusOne" :valueOne="customData.smallCount"
+							@deleteInputVal="deleteInputVal" @initAllInput="initAllInput" @moveAllInput="moveAllInput"
+							@deleteInputValOne="deleteInputValOne" @initAllInputOne="initAllInputOne" @moveAllInputOne="moveAllInputOne">
+						</allMoreSelectInput>
+						<!--<input v-model="customData.bigCount" type="number" />扎-->
+						<!--<input v-model="customData.smallCount" type="number" style="margin-left:24upx"/>支-->
 					</view>
 				</view>
 			</template>
@@ -157,6 +159,8 @@ import FooterCart from "@/components/module/app-footer-cart";
 import ModalModule from "@/components/plugin/modal";
 import { COMMODITY_TYPE } from "@/utils/declare";
 import productMins from "@/mixins/product";
+import allMoreSelectInput from "@/components/module/allMoreSelectInput";
+import allMoreSelectInputMins from "@/mixins/allMoreSelectInput";
 export default {
 	name: "allotEx", // 开单
 	components: {
@@ -165,9 +169,9 @@ export default {
 		AppWrapperEmpty,
 		Commondity,
 		ModalModule,
-		FooterCart
+		FooterCart,allMoreSelectInput
 	},
-	mixins: [productMins],
+	mixins: [productMins,allMoreSelectInputMins],
 	data() {
 		return {
 			COMMODITY_TYPE,
@@ -213,6 +217,8 @@ export default {
 			this.customData = {};
 		}, // 取消 确认
 		affirm(val) {
+			this.isFocus = false;
+			this.isFocusOne = false;
 			if (val.index === 0) {
 				this.modalCancel();
 			} else {

+ 4 - 34
hdApp/src/pagesStorehouse/flower/category.vue

@@ -25,11 +25,7 @@
 								</view>
 								<view v-else-if="column.custom">
 									<view class="input-td">
-										<input
-											type="number"
-											:value="item[column.dataIndex]"
-											@input="changeItem($event, item, column.dataIndex, index)"
-										/>
+										{{item[column.dataIndex]}}
 									</view>
 								</view>
 								<view v-else>
@@ -38,26 +34,13 @@
 							</t-td>
 						</t-tr>
 					</t-table>
+					
 				</block>
 				<block v-else>
 					<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
 				</block>
 			</view>
 		</scroll-view>
-		<view class="under-bar">
-			<button v-if="!isSort" :class="['admin-button-com', 'default']" @click="isSort = true">
-				排序
-			</button>
-			<button v-else :class="['admin-button-com', 'default','active']" @click="isSort = false">
-				确认排序
-			</button>
-			<button :class="['admin-button-com']" @click="showFlower = true">
-				添加
-			</button>
-			<!-- <button :class="['admin-button-com']" @click="">
-				保存
-			</button> -->
-		</view>
 		<AppFlowerSel
 			:selectList="list.data"
 			:show.sync="showFlower"
@@ -99,16 +82,8 @@ export default {
 					dataIndex: "stockWarning",
 					custom: "warn"
 				},
-				// {
-				// 	name: "每扎重量(斤)",
-				// 	width: 130,
-				// 	color: "info",
-				// 	align: "center",
-				// 	dataIndex: "weight",
-				// 	custom: "weight"
-				// },
 				{
-					name: "每扎采购价(元)",
+					name: "每扎采购价",
 					width: 130,
 					color: "info",
 					align: "center",
@@ -116,17 +91,12 @@ export default {
 					custom: "cost"
 				},
 				{
-					name: "每扎加价(元)",
+					name: "每扎加价",
 					width: 130,
 					color: "info",
 					align: "center",
 					dataIndex: "addPrice",
 					custom: "price"
-				},
-				{
-					name: "操作",
-					align: "center",
-					custom: "edit"
 				}
 			]
 		};

+ 15 - 30
hdApp/src/pagesStorehouse/flower/manage.vue

@@ -10,20 +10,15 @@
 							</t-th>
 						</t-tr>
 						<t-tr v-for="(item, index) in list.data" :key="item.id">
-							<t-td v-for="(column, colIndex) in columns" :key="colIndex" :align="column.align" :color="column.color" >
-								<view v-if="column.custom == 'edit'" class="edit-td">
-									<text v-if="isRank" :class="['iconfont', 'iconshangyi', { disabled: index == 0 }]" @click.stop="upSortByIndex(item, index)"></text>
-									<text v-if="isRank" :class="['iconfont','iconxiayi',{ disabled: index >= dataList.length - 1 }]" @click.stop="downSortByIndex(item, index)"></text>
-									<text v-if="!isRank" class="iconfont iconbianji" @click.stop="addEvent(item, index)"></text>
-									<text v-if="!isRank" class="iconfont icondelete" @click.stop="delEvent(item, index)"></text>
-									<text v-if="!isRank" class="iconfont iconxiangyou" @click.stop="editEvent(item, index)" style="margin:0;font-size: 20rpx"></text>
-								</view>
-								<view v-else @click.stop="editEvent(item, index)">
-									{{ item[column.dataIndex] || "" }}
+							<t-td>
+								<view @click.stop="editEvent(item, index)" class="item">
+									<view>{{ item.name }}</view> 
 								</view>
+								<i @click.stop="editEvent(item, index)" class="iconfont iconxiangyou"></i>
 							</t-td>
 						</t-tr>
 					</t-table>
+					<view class='update_hint'>提示:修改花材请在电脑上操作。</view>
 				</block>
 				<block v-else>
 					<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
@@ -31,14 +26,6 @@
 			</view>
 		</scroll-view>
 
-		<view class="under-bar">
-			<button class="admin-button-com" :class="isRank?'active':''" @click="isRank = !isRank">
-				{{isRank?'确定排序':'排序'}}
-			</button>
-			<button class="admin-button-com" @click="addEvent">
-				添加
-			</button>
-		</view>
 		<ModalModule
 			:show="showEdit"
 			@cancel="closeModal"
@@ -125,18 +112,6 @@ export default {
 				})
 				.catch(err => {});
 		},
-		// upSortByIndex(index) {
-		// 	if (index > 0) {
-		// 		const delItem = this.dataList.splice(index, 1, this.dataList[index - 1]);
-		// 		this.$set(this.dataList, index - 1, delItem[0]);
-		// 	}
-		// },
-		// downSortByIndex(index) {
-		// 	if (index < this.dataList.length - 1) {
-		// 		const delItem = this.dataList.splice(index, 1, this.dataList[index + 1]);
-		// 		this.$set(this.dataList, index + 1, delItem[0]);
-		// 	}
-		// },
 		async upSortByIndex(item, index) {
 			if (index == 0) {
 				return;
@@ -290,6 +265,16 @@ export default {
 		background-color: #f9fbfc;
 		.space-view {
 			background-color: #fff;
+			.update_hint{
+				color:#999999;
+				margin:30rpx 30rpx;
+			}
+			.item{
+				width:100%;
+				text-align:left;
+				height:50rpx;
+				padding-top:8rpx;
+			}
 		}
 		.ex-info {
 			padding: 30upx;

+ 51 - 26
hdApp/src/pagesStorehouse/stockWarn/manage.vue

@@ -13,30 +13,35 @@
 				/>
 			</view>
 		</view>
-		<view class="scroll-middle_bx">
-			<scroll-view
-				scroll-y
-				scroll-with-animation
-				class="tab-view"
-				:scroll-top="scrollTop"
-			>
-				<div
-					v-for="(item, index) in filterProductInfo"
-					:key="index"
-					class="tab-bar-item"
-					:class="[classIndex == index ? 'active' : '']"
-					:data-current="index"
-					@tap.stop="swichClass"
-				>
+		<view v-if="tabs[tabIndex].name=='库存预警'" class="scroll-middle_bx">
+			<!--内容部分 start -->
+			<!--内容部分 start -->
+			<block v-if="!$util.isEmpty(filterProductInfoContrapose)">
+<!--				<view class="item_list_bx" v-for="(classItem, classIndex) in filterProductInfoContrapose" :key="classIndex" :id="`class_${classItem.classId}`">-->
+<!--				</view>-->
+					<!--					<text v-else>当前库存充足</text>-->
+				<view class="item_list_bx">
+					<template v-for="(productItem, productIndex) in filterProductInfoContrapose">
+						<CommodityStock
+							:isPrice="false"
+							:type="tabs[tabIndex].key"
+							:key="productIndex"
+							:info="productItem"
+						></CommodityStock>
+					</template>
+				</view>
+			</block>
+			<block v-else>
+				<app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(filterProductInfoContrapose)"/>
+			</block>
+		</view>
+		<view v-else class="scroll-middle_bx">
+			<scroll-view scroll-y scroll-with-animation class="tab-view" :scroll-top="scrollTop">
+				<div v-for="(item, index) in filterProductInfo" :key="index" class="tab-bar-item" :class="[classIndex == index ? 'active' : '']" :data-current="index" @tap.stop="swichClass">
 					<text>{{ item.className || "" }}</text>
 				</div>
 			</scroll-view>
-			<scroll-view
-				scroll-y
-				class="right-box"
-				v-if="currentTab == index"
-				:scroll-into-view="scrollClassId"
-			>
+			<scroll-view scroll-y class="right-box" v-if="currentTab == index" :scroll-into-view="scrollClassId">
 				<!--内容部分 start -->
 				<!--内容部分 start -->
 				<block v-if="!$util.isEmpty(filterProductInfo)">
@@ -73,6 +78,7 @@ import AppWrapperEmpty from "@/components/app-wrapper-empty";
 import CommodityStock from "../components/CommodityStock";
 import { STOCK_TYPE } from "@/utils/declare";
 import productMins from "@/mixins/product";
+import productContraposeMins from "@/mixins/productContrapose";
 import { selectShop } from "@/mixins";
 import { mapGetters } from "vuex";
 import DorpdownSelect from "@/components/module/dorpdownSelect";
@@ -85,7 +91,7 @@ export default {
 		CommodityStock,
 		DorpdownSelect
 	},
-	mixins: [productMins, selectShop],
+	mixins: [productMins, selectShop,productContraposeMins],
 	data() {
 		return {
 			STOCK_TYPE,
@@ -108,7 +114,12 @@ export default {
 		let type = this.tabs[this.tabIndex].key == STOCK_TYPE.WARN ? "waring" : "";
 		// 当前门店
 		this.shopId = this.userInfo.id;
-		this.initData({ type, shopId: this.shopId });
+		if(type=="waring"){
+			this.initDataContrapose({ type, shopId: this.shopId });
+		}else{
+			this.initData({ type, shopId: this.shopId });
+		}
+
 	},
 
 	methods: {
@@ -128,14 +139,23 @@ export default {
 				this.tabIndex = e.index;
 				this.tabs[this.tabIndex].key;
 				let type = this.tabs[this.tabIndex].key == STOCK_TYPE.WARN ? "waring" : "";
-				this.initData({ type, shopId: this.shopId });
+				if(type=="waring"){
+					this.initDataContrapose({ type, shopId: this.shopId });
+				}else{
+					this.initData({ type, shopId: this.shopId });
+				}
 			}
 		},
 		searchFn() {
 			uni.showLoading({
 				title: "加载中"
 			});
-			this.initData({ shopId: this.shopId });
+			if(type=="waring"){
+				this.initDataContrapose({ type, shopId: this.shopId });
+			}else{
+				this.initData({ type, shopId: this.shopId });
+			}
+			// this.initData({ shopId: this.shopId });
 		},
 		scrollTop() {},
 		selectSussess(val) {
@@ -144,7 +164,12 @@ export default {
 			});
 			let type = this.tabs[this.tabIndex].key == STOCK_TYPE.WARN ? "waring" : "";
 			this.shopId = val.selectItem.id;
-			this.initData({ type, shopId: this.shopId });
+			// this.initData({ type, shopId: this.shopId });
+			if(type=="waring"){
+				this.initDataContrapose({ type, shopId: this.shopId });
+			}else{
+				this.initData({ type, shopId: this.shopId });
+			}
 		}
 	}
 };