ソースを参照

Merge branch 'master' of http://git.huaml.com/zhh/front-end

jf 5 年 前
コミット
bd701eeaa4

+ 23 - 24
ghsApp/src/admin/billing/affirm.vue

@@ -51,7 +51,7 @@
         <view class="module-com input-line-wrap">
 									<view class="tab-box flex-space">
 										<view class="flex-center tab" :class="isBilling?'active':''" @tap="isBilling=true">开单</view>
-										<view class="flex-center tab" :class="isBilling?'':'active'" @tap="isBilling=false">损登记</view>
+										<view class="flex-center tab" :class="isBilling?'':'active'" @tap="isBilling=false">损登记</view>
 									</view>
 									<view class="" v-if="isBilling">
           <tui-list-cell class="line-cell" :hover="false" :arrow="true" @click="showCustomer = true">
@@ -82,22 +82,22 @@
             </button>
           </tui-list-cell>
 
-									<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
-										<view class="tui-title">总金额</view>
-										<text style="color: #3385FF" v-if="form.sendType == 1">{{	(allPrice + Number(form.sendCost)).toFixed(2) }}</text>
-										<text style="color: #3385FF" v-else >{{ allPrice.toFixed(2) }}</text>
-									</tui-list-cell>
+          <tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+            <view class="tui-title">总金额</view>
+            <text style="color: #3385FF" v-if="form.sendType == 1">{{	(allPrice + Number(form.sendCost)).toFixed(2) }}</text>
+            <text style="color: #3385FF" v-else >{{ allPrice.toFixed(2) }}</text>
+          </tui-list-cell>
 
-									<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
-										<view class="tui-title">实收金额</view>
-										<input style="border: 1px solid #eee;color: #3385FF;width: calc(100%);" type="number" @focus="realMoney=''" v-model="realMoney" placeholder-class="tui-placeholder"/>
-									</tui-list-cell>
+          <tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+            <view class="tui-title">实收金额</view>
+            <input style="border: 1px solid #eee;color: #3385FF;width: calc(100%);height:70rpx;" type="number" @focus="modifyPrice=''" v-model="modifyPrice" placeholder-class="tui-placeholder"/>
+          </tui-list-cell>
 
-									<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
-										<view class="tui-title">优惠</view>
-										<text style="color: #3385FF">{{	(allPrice.toFixed(2) - realMoney + Number(this.form.sendCost)).toFixed(2) }}</text>
-									</tui-list-cell>
-									</view>
+          <tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+            <view class="tui-title">优惠</view>
+            <text style="color: #3385FF">{{	(allPrice.toFixed(2) - modifyPrice + Number(this.form.sendCost)).toFixed(2) }}</text>
+          </tui-list-cell>
+          </view>
         </view>
       </form>
     </view>
@@ -107,7 +107,7 @@
         <text class="price-title" v-else>金额</text>
         <text class="price-number">
           ¥
-									<text class="large" v-if="isBilling">{{ realMoney?realMoney:0 }}</text>
+									<text class="large" v-if="isBilling">{{ modifyPrice?modifyPrice:0 }}</text>
 									<text class="large" v-else>{{ allPrice.toFixed(2) }}</text>
         </text>
       </view>
@@ -171,7 +171,7 @@ export default {
         product: "",
       },
       money: "",
-						realMoney: 0,
+      modifyPrice: 0,
       showCustomer: false
     };
   },
@@ -187,7 +187,7 @@ export default {
         title: this.getMerchantInfo.name,
       });
     }
-    this.realMoney = this.allPrice.toFixed(2);
+    this.modifyPrice = this.allPrice.toFixed(2);
   },
 	onShow(){
 		if(!this.$util.isEmpty(uni.getStorageSync("newClient"))){
@@ -208,7 +208,7 @@ export default {
     countAllPrices (e) {
       this.allPrices = this.allPrices + Number(this.form.sendCost);
       let allPrices = this.allPrice.toFixed(2)
-      this.realMoney = (Number(allPrices) + Number(this.form.sendCost)).toFixed(2);
+      this.modifyPrice = (Number(allPrices) + Number(this.form.sendCost)).toFixed(2);
 
     },
     courier (type) {
@@ -264,7 +264,7 @@ export default {
         options.sendCost = "";
       }
 
-      createOrder({...options,realPrice: this.realMoney,}).then((res) => {
+      createOrder({...options,modifyPrice: this.modifyPrice,}).then((res) => {
         this.resetSelectInfoByType(this.pageType);
         const {
           data: { id, orderSn },
@@ -316,7 +316,7 @@ export default {
 						// formData.product = JSON.stringify(product);
 						uni.showModal({
 							title: "提示",
-							content: "损耗登记?",
+							content: "确认报损?",
 							success: function (res) {
 								if (res.confirm) {
 									wastage({product:JSON.stringify(product)}).then((res) => {
@@ -472,14 +472,13 @@ export default {
     .module-com {
       background-color: #fff;
       margin-bottom: 20px;
-
       border-radius: 10px;
       overflow: hidden;
 					.tab-box{
 						padding: 10rpx 30rpx 30rpx;
 						.tab{
-							width: 45%;
-							height: 80rpx;
+							width: 49%;
+							height: 70rpx;
 							color: #a2a2a2;
 							border: 1px solid #dcdcdc;
 							border-radius: 10rpx;

+ 115 - 0
ghsApp/src/admin/home/mall.vue

@@ -0,0 +1,115 @@
+<template>
+  <view class="app-content">
+    <view class="img_box">
+      <image :src="imgUrl" class="img_url"></image>
+    </view>
+    <!-- 确认 -->
+      <div class="confirm-btn">
+        <button class="admin-button-com big blue" @click="downloadImg">保存图片分享</button>
+      </div>
+      <div class="confirm-btn1">
+        <button class="admin-button-com big blue" @click="goToMallPt('pages/home/index')">直接打开分享</button>
+      </div>
+  </view>
+</template>
+
+<script>
+import { mainGetMallPoster } from '@/api/main/index'
+import { getWeixinId } from "@/api/invite/index";
+import { mapGetters } from "vuex";
+export default {
+  data() {
+    return {
+      imgUrl: '',
+      getappIdList: {}
+    }
+  },
+  computed: {
+    ...mapGetters({ loginInfo: "getLoginInfo" })
+  },
+  methods: {
+    init() {
+      this.getImg()
+      getWeixinId().then(res => {
+        this.getappIdList = res.data
+      });
+    },
+    downloadImg() {
+      uni.downloadFile({
+        url: this.imgUrl,
+        success: (res) => {
+          console.log(res)
+          uni.saveImageToPhotosAlbum({
+            filePath: res.tempFilePath,
+            success: function() {
+              uni.showToast({
+                title: '保存成功',
+                icon: 'none'
+              });
+            },
+            fail: (res) => {
+              // this.$msg('保存失败')
+              uni.showToast({
+                title: '保存失败',
+                icon: 'none'
+              });
+            }
+          })
+        },
+      })
+    },
+    getImg() {
+      mainGetMallPoster().then(res => {
+        console.log(res)
+        this.imgUrl = res.data.imgUrl
+      }).catch(err => {})
+    },
+    goToMallPt (url) {
+      let self = this
+      console.log(url + '?account=' + self.loginInfo.shopId)
+        uni.navigateToMiniProgram({
+          appId: this.getappIdList.mall.miniAppId,
+          path: url + '?account=' + self.loginInfo.shopId,
+          //develop 开发版 trial 体验版 release 正式版
+          envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
+          extraData: {
+            'hdShopAdminId': self.loginInfo.shopAdminId
+          },
+          success (res) {
+          }
+        })
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.app-content{
+  overflow: hidden;
+}
+.img_box{
+  height: 450upx;
+  box-sizing: border-box;
+  &>.img_url{
+    height: 450upx;
+    width: 450upx;
+    margin: 100upx auto;
+  }
+}
+// 按钮
+.confirm-btn {
+  width: calc(100% - 60px);
+  margin: 100px 30px 20px;
+  .admin-button-com {
+    width: 100%;
+  }
+}
+// 按钮
+.confirm-btn1 {
+  width: calc(100% - 60px);
+  margin: 50px 30px 20px;
+  .admin-button-com {
+    width: 100%;
+  }
+}
+</style>

+ 5 - 5
ghsApp/src/admin/home/workbench.vue

@@ -188,7 +188,7 @@ export default {
 				{
 					name: "商城",
 					img: `${this.$constant.imgUrl}/ghs/home/shop.png`,
-					url: "/admin/my-mall"
+					url: "/admin/home/mall"
 				},
 				{
 					name: "改价",
@@ -343,10 +343,10 @@ export default {
 		},
 
 		goPage (item) {
-			if (item.url === '/admin/my-mall') {
-				this.getMyMall()
-				return
-			}
+			// if (item.url === '/admin/my-mall') {
+			// 	this.getMyMall()
+			// 	return
+			// }
 			this.$util.pageTo(item)
 		},
 		// 跳转

+ 9 - 0
ghsApp/src/api/main/index.js

@@ -0,0 +1,9 @@
+import https from '@/plugins/luch-request_0.0.7/request'
+
+/** *
+ * 商城分享(零售、供货商相同) b  wangning  2021-6-12
+ */
+export const mainGetMallPoster = data => {
+	return https.get('/main/get-mall-poster', data)
+}
+

+ 2 - 2
ghsApp/src/components/app-customer-sel.vue

@@ -32,7 +32,7 @@
 						<view class="item-avatar">
 							<image :src="item.smallAvatar" alt="商品图" />
 						</view>
-						<view class="item-name"> {{ item.name || "" }} <text v-if="newClientId==item.id">新客户</text></view>
+						<view class="item-name"> {{ item.name || "" }} <text v-if="newClientId==item.id">新</text></view>
 						<view class="item-level">{{ getCustomerLevelName(item) }}</view>
 						<!-- <view class="item-tag">NEW</view> -->
 					</view>
@@ -159,7 +159,7 @@ export default {
 }
 .map-wrap {
 	.map-top-tit-wrap {
-		padding: 30px 0;
+		padding: 34px 0;
 		text-align: center;
 		font-size: 34px;
 	}

+ 4 - 4
ghsApp/src/components/app-supplier-sel.vue

@@ -35,15 +35,15 @@
 						class="customer-item"
 					>
 						<view class="item-avatar">
-							<image :src="item.smallAvatar" alt="商品图" />
+							<image :src="item.avatar" alt="" />
 						</view>
-						<view class="item-name"> {{ item.name || "" }} <text v-if="newGhsId==item.id">新供货商</text></view>
+						<view class="item-name"> {{ item.name || "" }} <text v-if="newGhsId==item.id">新</text></view>
 						<view class="item-level">{{ getCustomerLevelName(item) }}</view>
 						<!-- <view class="item-tag">NEW</view> -->
 					</view>
 				</scroll-view>
 				<view class="add-customer-bar" @click="gotoAddCustomer">
-					没有找到供商?新增
+					没有找到供商?新增
 				</view>
 			</div>
 		</bottom-popup>
@@ -170,7 +170,7 @@ export default {
 }
 .map-wrap {
 	.map-top-tit-wrap {
-		padding: 30px 0;
+		padding: 34px 0;
 		text-align: center;
 		font-size: 34px;
 	}

+ 6 - 0
ghsApp/src/pages.json

@@ -56,6 +56,12 @@
 				"navigationStyle": "custom"
 			}
 		},
+    {
+			"path": "admin/home/mall",
+			"style": {
+				"navigationBarTitleText": "商城"
+			}
+		},
 		{
 			"path": "common/redirect",
 			"style": {

+ 10 - 2
ghsApp/src/pagesOrder/detail.vue

@@ -111,11 +111,19 @@
 				<div class="module-com input-line-wrap">
 					<tui-list-cell class="line-cell" :hover="false">
 						<div class="tui-title">运费</div>
-						<div class="detail-price_box" style="font-size: 35rpx">¥{{ detailInfo.sendCost }}</div>
+						<div class="detail-price_box" style="font-size: 28rpx">¥{{ detailInfo.sendCost }}</div>
 					</tui-list-cell>
 					<tui-list-cell class="line-cell" :hover="false">
 						<div class="tui-title">总金额</div>
-						<div class="detail-price_box red" style="font-size: 36rpx;font-weight:bold;">¥{{ detailInfo.actPrice}}</div>
+						<div class="detail-price_box" style="font-size: 28rpx;">¥{{ detailInfo.prePrice}}</div>
+					</tui-list-cell>
+					<tui-list-cell if="detailInfo.discountAmount > 0" class="line-cell" :hover="false">
+						<div class="tui-title">优惠</div>
+						<div class="detail-price_box" style="font-size: 28rpx">¥{{ detailInfo.discountAmount }}</div>
+					</tui-list-cell>
+					<tui-list-cell class="line-cell" :hover="false">
+						<div class="tui-title">实收金额</div>
+						<div class="detail-price_box red" style="font-size: 32rpx;font-weight:bold;">¥{{ detailInfo.realPrice}}</div>
 					</tui-list-cell>
 				</div>
 			</view>

+ 217 - 181
ghsApp/src/pagesPurchase/components/CommodityPurchase.vue

@@ -1,32 +1,57 @@
 <template>
-	<view class="item-cmd_bx" @click="customNum">
-		<view class="img_bx">
-			<app-img :src="info.cover" alt="商品图" mode="aspectFit" :height="160" />
-		</view>
-		<view class="cmd-info_bx">
-			<view class="tit">
-				{{ info.itemName || "" }}
-			</view>
+  <view
+    class="item-cmd_bx"
+    @click="customNum"
+  >
+    <view class="img_bx">
+      <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.rank }}级</view>
-			<view class="num-open_bx">
-				<view class="price">
-					<!--<text class="unit">¥</text><text>{{ info.price }}</text>-->
-					<text class="unit">库存:{{ info.stock }}</text>
-				</view>
-				<view class="open-bx">
-					<i class="iconfont iconjian" :class="delAnimationData?'animation':''" @click.stop="delEvent" v-if="bigCount > 0 || smallCount > 0"></i>
-					<text class="num" @click.stop="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" :class="addAnimationData?'animation':''" @click.stop="customNum"></i>
-				</view>
-			</view>
-		</view>
-	</view>
+      <view class="num-open_bx">
+        <view style="position: relative;">
+           <view class="kc">{{ info.rank }}级</view>
+        </view>
+        <view>
+          <view class="open-bx">
+            <i
+              class="iconfont iconjian"
+              :class="delAnimationData?'animation':''"
+              @click.stop="delEvent"
+              v-if="bigCount > 0 || smallCount > 0"
+            ></i>
+            <text
+              class="num"
+              @click.stop="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"
+              :class="addAnimationData?'animation':''"
+              @click.stop="customNum"
+            ></i>
+          </view>
+          <view class="price">
+            <!--<text class="unit">¥</text><text>{{ info.price }}</text>-->
+            <text class="unit">还剩:{{ info.stock }}</text>
+          </view>
+        </view>
+
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
@@ -34,165 +59,176 @@ 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,
-			type: Object,
-			default() {
-				return {};
-			}
-		},
-		type: {
-			type: String,
-			default: COMMODITY_TYPE.COMMON
-		},
-		bigCount: {
-			type: Number,
-			default: 0
-		},
-		smallCount: {
-			type: Number,
-			default: 0
-		},
-		autoPrice: {
-			type: Number,
-			default: 0
-		},
-		itemPrice: {
-			type: Number,
-			default: 0
-		},
-	},
-	data() {
-		return {
-			COMMODITY_TYPE
-		};
-	},
-	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);
-		},
+  name: "Commodity",
+  components: {
+    AppImg
+  },
+  mixins: [animationMins],
+  props: {
+    info: {
+      required: true,
+      type: Object,
+      default () {
+        return {};
+      }
+    },
+    type: {
+      type: String,
+      default: COMMODITY_TYPE.COMMON
+    },
+    bigCount: {
+      type: Number,
+      default: 0
+    },
+    smallCount: {
+      type: Number,
+      default: 0
+    },
+    autoPrice: {
+      type: Number,
+      default: 0
+    },
+    itemPrice: {
+      type: Number,
+      default: 0
+    },
+  },
+  data () {
+    return {
+      COMMODITY_TYPE
+    };
+  },
+  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);
+    },
 
-		removeEvent() {
-			this.$emit("remove", this.info);
-		},
-		changePriceEvent(event) {
-			const {
-				detail: { value }
-			} = event;
-			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,
-				itemPrice: this.itemPrice
-			});
-		}
-	}
+    removeEvent () {
+      this.$emit("remove", this.info);
+    },
+    changePriceEvent (event) {
+      const {
+        detail: { value }
+      } = event;
+      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,
+        itemPrice: this.itemPrice
+      });
+    }
+  }
 };
 </script>
 
 <style lang="scss" scoped>
 .item-cmd_bx {
-	position: relative;
-	margin-bottom: 20px;
-	.img_bx {
-		height: 160px;
-		width: 160px;
-		position: absolute;
-		left: 0px;
-		top: 0px;
-	}
-	.cmd-info_bx {
-		padding-left: 177px;
-		& .tit {
-			font-size: 28px;
-			font-weight: 400;
-			color: #333333;
-			padding-top: 10px;
-		}
-		& .kc {
-			color: #999999;
-			font-size: 24px;
-			padding: 10px 0 24px;
-		}
-		& .num-open_bx {
-			display: flex;
-			align-items: center;
-			& .price {
-				flex: 1;
-
-				font-size: 32upx;
-				color: #333;
-				.unit {
-					font-size: 22upx;
-				}
-			}
-			& .open-bx {
-				display: flex;
-				align-items: center;
-				& .iconfont {
-					color: #4db0e4;
-					font-size: 42px;
-				}
-				.icondelete {
-					margin: 0 10px 0 30px;
-					color: #ccc;
-					&.edit {
-						color: #4db0e4;
-					}
-				}
-				& > .num {
-					display: inline-block;
-					width: 120rpx;
-					height:45rpx;
-					text-align:center;
-					margin: 0 8px;
-					color: #868686;
-					border-radius: 22px;
-					background-color: #f5f5f5;
-					padding: 3px 0;
-					font-size: 25rpx;
-				}
-				.change-input {
-					width: 164px;
-					height: 60px;
-					line-height: 60px;
-					text-align: center;
-					background: #ffffff;
-					border: 1px solid #dddddd;
-					border-radius: 4px;
-					font-size: 28px;
-				}
-			}
-		}
-	}
+  position: relative;
+  margin-bottom: 20px;
+  .img_bx {
+    height: 140px;
+    width: 140px;
+    position: absolute;
+    left: 0px;
+    top: 0px;
+  }
+  .cmd-info_bx {
+    padding-left: 167px;
+    margin-bottom: 40px;
+    & .tit {
+      font-size: 32px;
+      font-weight: 700;
+      color: #333333;
+      padding-top: 10px;
+    }
+    & .kc {
+      color: #ff2842;
+      font-size: 24px;
+      padding: 10px 0 0;
+      position: absolute;
+      width: 50px;
+      text-align: left;
+      bottom: 0;
+      left: 0;
+    }
+    & .num-open_bx {
+      text-align: right;
+      display: flex;
+      justify-content: space-between;
+      // align-items: center;
+      & .price {
+        font-size: 28rpx;
+        color: #999999;
+        -webkit-box-flex: 1;
+        -webkit-flex: 1;
+        flex: 1;
+        margin-right: 50px;
+        .unit {
+          font-size: 22upx;
+        }
+      }
+      & .open-bx {
+        // display: flex;
+        align-items: center;
+        display: inline-flex;
+        & .iconfont {
+          color: #4db0e4;
+          font-size: 42px;
+        }
+        .icondelete {
+          margin: 0 10px 0 30px;
+          color: #ccc;
+          &.edit {
+            color: #4db0e4;
+          }
+        }
+        & > .num {
+          display: inline-block;
+          width: 120rpx;
+          height: 45rpx;
+          text-align: center;
+          margin: 0 8px;
+          color: #868686;
+          border-radius: 22px;
+          background-color: #f5f5f5;
+          padding: 3px 0;
+          font-size: 25rpx;
+        }
+        .change-input {
+          width: 164px;
+          height: 60px;
+          line-height: 60px;
+          text-align: center;
+          background: #ffffff;
+          border: 1px solid #dddddd;
+          border-radius: 4px;
+          font-size: 28px;
+        }
+      }
+    }
+  }
 }
 </style>

+ 3 - 3
hdApp/src/admin/billing/affirm.vue

@@ -86,9 +86,9 @@
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
 						<view class="tui-title">实收金额</view>
 						<view class="flex-space" style="width: 100%;">
-							<input style="border: 1px solid #eee;color: #3385FF;width: 60%;" type="number" @focus="realMoney='',discountIndex=0" v-model="realMoney" placeholder-class="tui-placeholder"/>
+							<input style="border: 1px solid #eee;color: #3385FF;width: 60%;height:70rpx;" type="number" @focus="realMoney='',discountIndex=0" v-model="realMoney" placeholder-class="tui-placeholder"/>
 							<picker style="border: 1px solid #eee;width: 30%;" @change="discountChange" :value="discountIndex" :range="discount">
-								<view class="flex-space">
+								<view class="flex-space" style="height:70rpx;">
 									<view class="uni-input">{{discount[discountIndex]}}</view>
 									<i class="iconfont iconxiangyou"></i>
 								</view>
@@ -158,7 +158,7 @@ export default {
 			packingMoney:'',//包装费
 			freight:'',//运费
 			realMoney:0,//真实金额
-			payType:1,//选中的-支付类型
+			payType:0,//支付类型
 			clientInfo: '',//客户信息
 			showCustomer: false,
 			sendType:1,

+ 9 - 9
hdApp/src/admin/billing/affirmGoods.vue

@@ -81,9 +81,9 @@
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
 						<view class="tui-title">实收金额</view>
 						<view class="flex-space" style="width: 100%;">
-							<input style="border: 1px solid #eee;color: #3385FF;width: 60%;" type="number" @focus="realMoney='',discountIndex=0" v-model="realMoney" placeholder-class="tui-placeholder"/>
+							<input style="border: 1px solid #eee;color: #3385FF;width: 60%;height:70rpx;" type="number" @focus="modifyPrice='',discountIndex=0" v-model="modifyPrice" placeholder-class="tui-placeholder"/>
 							<picker style="border: 1px solid #eee;width: 30%;" @change="discountChange" :value="discountIndex" :range="discount">
-								<view class="flex-space">
+								<view class="flex-space" style="height:70rpx;">
 									<view class="uni-input">{{discount[discountIndex]}}</view>
 									<i class="iconfont iconxiangyou"></i>
 								</view>
@@ -93,7 +93,7 @@
 
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
 						<view class="tui-title">优惠</view>
-						<text style="color: #3385FF">{{	((Number(freight)+Number(allGoodsPrice)).toFixed(2) - realMoney).toFixed(2) }}</text>
+						<text style="color: #3385FF">{{	((Number(freight)+Number(allGoodsPrice)).toFixed(2) - modifyPrice).toFixed(2) }}</text>
 					</tui-list-cell>
 
 
@@ -105,7 +105,7 @@
 			<view class="price-view">
 				<text class="price-title">收款</text>
 				<text class="price-number">
-					¥ <text class="large">{{	realMoney  }}</text>
+					¥ <text class="large">{{	modifyPrice  }}</text>
 				</text>
 			</view>
 			<button class="admin-button-com blue middle" @click="affirmFormSubmit">开单</button>
@@ -154,7 +154,7 @@ export default {
 			payType:1,//选中的-支付类型
 			clientInfo: '',//客户信息
 			showCustomer: false,
-			realMoney: 0,
+			modifyPrice: 0,
 			sendType:1,
 			discountIndex:0,
 			discount:['未打折','95折','9折','85折','8折','75折','7折','65折','6折']
@@ -172,7 +172,7 @@ export default {
 				title: this.getMerchantInfo.name
 			});
 		}
-		this.realMoney = this.allGoodsPrice.toFixed(2);
+		this.modifyPrice = this.allGoodsPrice.toFixed(2);
 		setTimeout(()=>{
 			this.payType = this.getDictionariesInfo.htPayWayOption[0].id;
 		},100)
@@ -216,11 +216,11 @@ export default {
 					discount = (allPrices - (allPrices * 0.6)).toFixed(2);
 					break;
 			}
-			this.realMoney = (allPrices - discount).toFixed(2);
+			this.modifyPrice = (allPrices - discount).toFixed(2);
 		},
 		countAllPrices(){
 			let allPrices = this.allGoodsPrice.toFixed(2)
-			this.realMoney = (Number(allPrices) + Number(this.freight)).toFixed(2);
+			this.modifyPrice = (Number(allPrices) + Number(this.freight)).toFixed(2);
 		},
 		// 选取客户
 		changeCustomerFn(info) {
@@ -248,7 +248,7 @@ export default {
 				customId:this.clientInfo.id,// 客户
 				payWay:this.payType,//付款方式
 				sendType:this.sendType,//配送方式 0未知 1自取
-				realPrice: this.realMoney,
+				modifyPrice: this.modifyPrice,
 				goodsInfo:JSON.stringify(product),//下单商品
 			};
 			let self = this;

+ 1 - 19
hdApp/src/admin/billing/result.vue

@@ -13,13 +13,9 @@
 		font-size: 32rpx;
     font-weight: 700;
     line-height: 88upx;
-    // padding-left: 30upx;
-    // border-bottom: 1px solid #eee;
 	}
 	.zuhe-center{
-		// margin-top: 20rpx;
 		font-size: 28rpx;
-    // margin: 0 30upx;
     height: 90upx;
     box-sizing: border-box;
     .zuhe-title{
@@ -53,20 +49,12 @@
 			}
 		}
 	}
-  .border{
-    // border-bottom: 1px solid #eee;
-  }
 }
 </style>
 <template>
   <view class="app-content">
     <appResult>
-  <!--		<button class="admin-button-com blue big" @click="gotoOrderDetails">发货详情</button>-->
       <button class="admin-button-com blue big" @click="gotoOrderSend">发货</button>
-  <!--		<button class="admin-button-com big" @click="gotoOrderPrint">打印单据</button>-->
-  <!--		<button class="admin-button-com big" @click="gotoOrderDetails">订单详情</button>-->
-  <!--		<button class="admin-button-com big" @click="gotoOrderList">订单列表</button>-->
-      <button class="admin-button-com big" @click="gotoPlace">继续开单</button>
       <button class="admin-button-com big" @click="gotoDetail">订单详情</button>
       <view style="text-align: center;color: #868686;margin-top: 30upx;" v-if="option.type === 'zuhe' && isGroup">
         <view class="iconfont iconchenggong" style="color:#049E2C;margin-bottom:15rpx;font-size:80rpx;" ></view>
@@ -138,13 +126,7 @@ export default {
 			uni.navigateTo({url: `/admin/order/ship?id=${this.option.orderId}&pageStatus=0`});
 		},
 		gotoOrderDetails() {
-			uni.navigateTo({url: `/pagesOrder/detail?id=${this.option.orderId}`});
-			// uni.navigateTo({
-			// 	url: `/admin/order/detail?id=${this.option.orderId}`,
-			// 	success: result => {},
-			// 	fail: () => {},
-			// 	complete: () => {}
-			// });
+			uni.navigateTo({url: `/pagesOrder/detail?id=${this.option.orderId}`})
 		},
 		gotoPlace() {
 			uni.navigateBack({

+ 116 - 0
hdApp/src/admin/home/mall.vue

@@ -0,0 +1,116 @@
+<template>
+  <view class="app-content">
+    <view class="img_box">
+      <image :src="imgUrl" class="img_url"></image>
+    </view>
+    <!-- 确认 -->
+      <div class="confirm-btn">
+        <button class="admin-button-com big blue" @click="downloadImg">保存图片分享</button>
+      </div>
+      <div class="confirm-btn1">
+        <button class="admin-button-com big blue" @click="goToMallPt('pages/home/index')">直接打开分享</button>
+      </div>
+  </view>
+</template>
+
+<script>
+import { mainGetMallPoster } from '@/api/main/index'
+import { getWeixinId } from "@/api/invite/index";
+import { mapGetters } from "vuex";
+export default {
+  data() {
+    return {
+      imgUrl: '',
+      getappIdList: {}
+    }
+  },
+  computed: {
+    ...mapGetters({ loginInfo: "getLoginInfo" })
+  },
+  methods: {
+    init() {
+      this.getImg()
+      getWeixinId().then(res => {
+        this.getappIdList = res.data
+      });
+    },
+    downloadImg() {
+      uni.downloadFile({
+        url: this.imgUrl,
+        success: (res) => {
+          console.log(res)
+          uni.saveImageToPhotosAlbum({
+            filePath: res.tempFilePath,
+            success: function() {
+              // this.$msg('保存成功')
+              uni.showToast({
+                title: '保存成功',
+                icon: 'none'
+              });
+            },
+            fail: (res) => {
+              // this.$msg('保存失败')
+              uni.showToast({
+                title: '保存失败',
+                icon: 'none'
+              });
+            }
+          })
+        },
+      })
+    },
+    getImg() {
+      mainGetMallPoster().then(res => {
+        console.log(res)
+        this.imgUrl = res.data.imgUrl
+      }).catch(err => {})
+    },
+    goToMallPt (url) {
+      let self = this
+      console.log(url + '?account=' + self.loginInfo.shopId)
+        uni.navigateToMiniProgram({
+          appId: this.getappIdList.mall.miniAppId,
+          path: url + '?account=' + self.loginInfo.shopId,
+          //develop 开发版 trial 体验版 release 正式版
+          envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
+          extraData: {
+            'hdShopAdminId': self.loginInfo.shopAdminId
+          },
+          success (res) {
+          }
+        })
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.app-content{
+  overflow: hidden;
+}
+.img_box{
+  height: 450upx;
+  box-sizing: border-box;
+  &>.img_url{
+    height: 450upx;
+    width: 450upx;
+    margin: 100upx auto;
+  }
+}
+// 按钮
+.confirm-btn {
+  width: calc(100% - 60px);
+  margin: 100px 30px 20px;
+  .admin-button-com {
+    width: 100%;
+  }
+}
+// 按钮
+.confirm-btn1 {
+  width: calc(100% - 60px);
+  margin: 50px 30px 20px;
+  .admin-button-com {
+    width: 100%;
+  }
+}
+</style>

+ 2 - 2
hdApp/src/admin/home/order.vue

@@ -36,9 +36,9 @@
           </div>
           <div class="list-bottom">
             <div>
-              <span class="freight-text">运费:¥{{ item.sendCost }}</span>
+              <span v-if="item.sendCost > 0" class="freight-text">运费:¥{{ item.sendCost }}</span>
               <span>金额:</span>
-              <span class="app-size-30 app-bold">¥{{ item.actPrice }}</span>
+              <span class="app-size-30 app-bold">¥{{ item.realPrice }}</span>
             </div>
 
             <div class="list-button">

+ 5 - 5
hdApp/src/admin/home/workbench.vue

@@ -204,7 +204,7 @@ export default {
         {
           name: "商城",
           img: `${this.$constant.imgUrl}/ghs/home/shop.png`,
-          url: "/admin/my-mall"
+          url: "/admin/home/mall"
         },
         {
           name: "收款",
@@ -303,10 +303,10 @@ export default {
         this.goToMallPt('pages/pay/index')
         return true
       }
-      if(item.url === '/admin/my-mall'){
-        this.goToMallPt('pages/home/index')
-        return true
-      }
+      // if(item.url === '/admin/my-mall'){
+      //   this.goToMallPt('pages/home/index')
+      //   return true
+      // 
       this.$util.pageTo(item)
     },
     init () {

+ 10 - 4
hdApp/src/admin/order/detail.vue

@@ -54,7 +54,7 @@
               <div v-if="data.reachDate == '0000-00-00'" class="value">-</div>
               <div v-else class="value"><span style="margin-right:10rpx;">{{data.reachDate}}</span> <span v-if="data.reachPeriod == 0">上午</span><span v-else-if="data.reachPeriod == 1">下午</span><span v-else>晚上</span></div>
             </div>
-            <div class="msg-list">
+            <div v-if="data.reachDate != '0000-00-00'" class="msg-list">
               <div class="label">贺卡</div>
               <div class="value">{{ data.needCard == 1 ? "需要" : '不需要' }}</div>
             </div>
@@ -90,9 +90,17 @@
               <div class="value">¥{{ data.sendCost }}</div>
             </div>
             <div class="msg-list">
-              <div class="label">总</div>
+              <div class="label">总金额</div>
               <div class="value">¥{{ data.prePrice }}</div>
             </div>
+            <div v-if="data.discountAmount > 0" class="msg-list">
+              <div class="label">优惠</div>
+              <div class="value">¥{{ data.discountAmount }}</div>
+            </div>
+            <div class="msg-list">
+              <div class="label">实付款</div>
+              <div class="value">¥{{ data.realPrice }}</div>
+            </div>
           </div>
         </div>
       </div>
@@ -105,13 +113,11 @@
           <div
             class="app-color-3"
           >
-
           <template v-if="data.discountType == 0">未知</template>
           <template v-else-if="data.discountType == 1">优惠券</template>
           <template v-else-if="data.discountType == 2">会员优惠</template>
           <template v-else-if="data.discountType == 3">随机优惠</template>
           <template v-else>未知</template>
-
           </div>
           <div class="app-price">-¥{{ data.discountAmount }}</div>
         </div>

+ 9 - 0
hdApp/src/api/main/index.js

@@ -0,0 +1,9 @@
+import https from '@/plugins/luch-request_0.0.7/request'
+
+/** *
+ * 商城分享(零售、供货商相同) b  wangning  2021-6-12
+ */
+export const mainGetMallPoster = data => {
+	return https.get('/main/get-mall-poster', data)
+}
+

+ 1 - 1
hdApp/src/components/app-customer-sel.vue

@@ -166,7 +166,7 @@ export default {
 }
 .map-wrap {
 	.map-top-tit-wrap {
-		padding: 30px 0;
+		padding: 34px 0;
 		text-align: center;
 		font-size: 34px;
 	}

+ 6 - 0
hdApp/src/pages.json

@@ -63,6 +63,12 @@
 				"navigationStyle": "custom"
 			}
 		},
+    {
+			"path": "admin/home/mall",
+			"style": {
+				"navigationBarTitleText": "商城"
+			}
+		},
 		{
 			"path": "admin/share/index",
 			"style": {