chenrui 4 lat temu
rodzic
commit
9adca938e1

+ 2 - 2
App.vue

@@ -1,7 +1,7 @@
 <script>
 	const uat_URL = 'https://channel.test.zyucgj.com/zyyc-channel/' // 预发布
-	// const uat_URL = 'http://192.168.16.102:8303/gc-channel/' // 本地
-	const pro_URL = 'https://lese.sxzxyj.net/gc-channel/'  // 生产
+	// const uat_URL = 'http://192.168.16.102:7103/zyyc-channel/' // 本地
+	const pro_URL = 'https://channel.zy-yc.cn/zyyc-channel/'  // 生产
 	const buildType = 0 // 打包环境对应类型,1 生产 0 预发布
 	const buildURL = buildType ? pro_URL : uat_URL // 打包后实际对应的url
 	const envText = ['预发布环境','生产环境']

+ 0 - 117
components/select/v-select.vue

@@ -1,117 +0,0 @@
-<template>
-	<picker @change="toChange" :value="index" :range="datalist" range-key="dispName">
-		<view style="display: flex;align-items: center;">
-			<input class="form-input" :disabled="disabled" v-model="selected" placeholder-class="form-input-placeholder" :placeholder="getPlaceholderText" />
-			<uni-icons type="arrowright"></uni-icons>
-		</view>
-	</picker>
-</template>
-
-<script>
-import { getLookUpDatas, listLookUp } from '@/api/data'
-export default {
-  name: 'v-select',
-  data () {
-    return {
-      selected: '',
-      datalist: [],
-      placeholderText: '请选择',
-      lookUp: [],
-	  index: 0
-    }
-  },
-  props: {
-    disabled: {
-      type: [Boolean, String],
-      default: false
-    },
-    multiple: {
-      type: [Boolean, String],
-      default: false
-    },
-    value: [String, Number, Array],
-    code: {
-      type: String,
-      required: true
-    },
-    placeholder: {
-      type: String,
-      default: ''
-    },
-    size: [String]
-  },
-  computed: {
-    getVal () {
-      return this.value
-    },
-    getPlaceholderText () {
-      let _this = this
-      for (let i = 0; i < _this.lookUp.length; i++) {
-        if (_this.lookUp[i].code == _this.code) {
-          if (this.placeholder === '') _this.placeholderText = _this.lookUp[i].name
-          break
-        }
-      }
-      return _this.placeholderText
-    }
-  },
-  created () {
-    if (this.code) {
-      if (this.placeholder) {
-        this.placeholderText = this.placeholder
-      }
-      getLookUpDatas({
-        type: this.code
-      }).then(result => {
-		  console.log(result, 'result')
-        if (result && result.status + '' === '200') {
-          this.datalist = result.data
-          
-        }
-      })
-    } else {
-      // console.log('请确认传递类型')
-    }
-    // 获取所有数据字典
-    this.lookUp = this.$store.state.vuex_allLookUp
-  },
-  methods: {
-    getDataList (){
-      return this.datalist
-    },
-    getOptionName (val) {
-      return this.datalist.find((item) => {
-        return item.code == val
-      })
-    },
-    getCodeByName (dispName) {
-      return this.datalist.find((item) => {
-        return item.dispName == dispName
-      })
-    },
-	resetVal(){
-		this.selected = ''
-		this.index = 0
-	},
-	// 赋值
-	setVal(code){
-		let index = this.datalist.findIndex(item=>{
-			return item.code == code
-		})
-		console.log(this.datalist,code,index)
-		this.index = index
-		this.selected = this.datalist[index].dispName
-	},
-    toChange (e) {
-		this.index = e.target.value
-		this.selected = this.datalist[this.index].dispName
-        this.$emit('itemChange', this.datalist[this.index].code)
-    }
-  }
-
-}
-</script>
-
-<style scoped>
-
-</style>

+ 11 - 17
pages.json

@@ -12,7 +12,7 @@
 		{
 			"path": "pages/workOrder/sellOrder/chooseBundle",
 			"style": {
-		        "navigationBarTitleText": "购买套餐",
+		        "navigationBarTitleText": "套餐销售",
 				"enablePullDownRefresh": false
 			}
 		},
@@ -22,23 +22,17 @@
 		        "navigationBarTitleText": "套餐收款"
 			}
 		},
-		// {
-		// 	"path": "pages/index/index", // 首页
-		// 	"style": {
-		// 		"navigationBarTitleText": "乐色助手",
-		// 		"enablePullDownRefresh": false
-		// 	}
-		// },
 		{
-			"path": "pages/workOrder/sellOrder/bundleDetail",
+			"path": "pages/index/index", // 首页
 			"style": {
-				"navigationBarTitleText": "套餐详情"
+				"navigationBarTitleText": "乐色助手",
+				"enablePullDownRefresh": false
 			}
 		},
 		{
-			"path": "pages/workOrder/sellOrder/bundleList",
+			"path": "pages/workOrder/sellOrder/bundleDetail",
 			"style": {
-				"navigationBarTitleText": "销售记录"
+				"navigationBarTitleText": "套餐详情"
 			}
 		},
 		{
@@ -51,7 +45,7 @@
 			"path": "pages/userCenter/index",
 			"style": {
 				"navigationBarTitleText": "个人中心",
-				"navigationBarBackgroundColor": "#2ab4e5",
+				"navigationBarBackgroundColor": "#ff4546",
 				"navigationBarTextStyle": "white"
 			}
 		},
@@ -87,18 +81,18 @@
 	},
 	"tabBar": {
 		"color": "#7A7E83",
-		"selectedColor": "#2ab4e5",
+		"selectedColor": "#ff4546",
 		"backgroundColor": "#ffffff",
 		"fontSize": "14px",
 		"list": [
 		{
 			"pagePath": "pages/workOrder/sellOrder/chooseBundle",
-			"iconPath": "static/tabbar/record.png",
-			"selectedIconPath": "static/tabbar/record-active.png",
+			"iconPath": "static/tabbar/bundle.png",
+			"selectedIconPath": "static/tabbar/bundle-active.png",
 			"text": "套餐销售"
 		},
 		{
-			"pagePath": "pages/workOrder/sellOrder/bundleList",
+			"pagePath": "pages/index/index",
 			"iconPath": "static/tabbar/record.png",
 			"selectedIconPath": "static/tabbar/record-active.png",
 			"text": "销售记录"

+ 244 - 251
pages/index/index.vue

@@ -1,304 +1,297 @@
 <template>
 	<view class="homePage-container">
 		<!-- 筛选弹框 -->
-		<search-modal v-if="openScreen" :visible="openScreen" :defaultParams="searchForm" @refresh="refresh" @close="openScreen=false"></search-modal>
+		<search-modal v-if="openScreen" :visible="openScreen" :defaultParams="searchForm" @refresh="refresh" @close="openScreen = false"></search-modal>
 		<view class="homePage-head">
 			<view class="head-con">
-				<text class="homePage-tit">交易记录</text>
+				<text class="homePage-tit">套餐销售记录</text>
 				<view class="total-con">
-					总计:
-					<text class="goleNum">{{ldTotal}}</text>
-					<image src="/static/ledou.png" class="ld-icon"></image>
+					<text class="goleNum">{{ totalObj.cnt || 0 }}</text> 单,
+					<text class="goleNum">{{ totalObj.totalAmounts || 0 }}</text> 元
 				</view>
 			</view>
-			<image class="filter-icon" src="@/static/filter.png" @tap="openScreen=true"></image>
+			<image class="filter-icon" src="@/static/filter.png" @tap="openScreen = true"></image>
 		</view>
 		<scroll-view class="scroll-con" scroll-y :scroll-top="scrollTop" @scrolltolower="onreachBottom">
 			<!-- 列表数据 -->
-			<view class="cell-item-con">
-				<view class="cell-item" v-for="(item, index) in listdata" :key="index">
-					<view class="cell-item-c">
-						<view class="cell-item-label">交易时间</view>
-						<view class="cell-item-main">{{item.createDate}}</view>
+			<view class="list-cont">
+				<view class="list-item-con" v-for="(item, index) in listdata" :key="index">
+					<view class="con-header">
+						<text class="item-time">{{ item.orderDate }}</text>
+						<text class="item-orderNo">{{ item.number }}</text>
 					</view>
-					<view class="cell-item-c">
-						<view class="cell-item-label">支付账户</view>
-						<view class="cell-item-main">{{item.customerMobile}}</view>
-					</view>
-					<view class="cell-item-c">
-						<view class="cell-item-label">交易数量(个)</view>
-						<view :class="['cell-item-main', item.changeType=='ADD' ? 'red' : 'blue']">{{item.changeType=='ADD' ? '+' : item.changeType=='SUB' ? '-' : ''}}{{ item.changeNum }}</view>
-					</view>
-					<view class="cell-item-c">
-						<view class="cell-item-label">备注</view>
-						<view class="cell-item-main">{{item.remarks ? item.remarks : '--'}}</view>
+					<view class="con-main" @click="viewRow(item)">
+						<view class="con-main-m">
+							<view class="item-bundleName">{{ item.bundleName }}</view>
+							<view class="item-bundleMain">
+								<text class="item-cname">{{ item.custName }}</text>
+								<view class="item-phone" @click.stop="goTel(item.custMobile)">
+									<u-icon name="phone" size="28"></u-icon>
+									{{ item.custMobile }}
+								</view>
+							</view>
+						</view>
+						<u-icon name="arrow-right" size="28"></u-icon>
 					</view>
-					<view class="cell-item-c handle-con">
-						<view class="cell-item-label">操作</view>
-						<view class="cell-item-main">
-							<u-button size="mini" v-if="item.changeType=='ADD' && item.cancelFlag==0" class="handle-btn" hover-class="none" :custom-style="customBtnStyle" @click="revokeFun(item)">撤销单据</u-button>
-							<text v-if="item.changeType=='ADD' && item.cancelFlag==1" style="color: #909399;">单据已撤销</text>
-							<text v-if="item.changeType=='SUB'" style="color: #909399;">扫码支付撤销</text>
+					<view class="con-footer">
+						<view class="item-price">
+							实收:
+							<text>¥{{ item.payedAmount }}</text>
+						</view>
+						<view class="item-type">
+							付款方式:
+							<text>现金</text>
 						</view>
 					</view>
 				</view>
 			</view>
-			<u-empty class="nodata" :text="noDataText" v-if="listdata.length==0 && status!='loading'" mode="list"></u-empty>
-			<view class="loadmore">
-				<u-loadmore v-if="total>pageSize || status=='loading'" :status="status" />
-			</view>
+			<u-empty class="nodata" :text="noDataText" v-if="listdata.length == 0 && status != 'loading'" mode="list"></u-empty>
+			<view class="loadmore"><u-loadmore v-if="total > pageSize || status == 'loading'" :status="status" /></view>
 		</scroll-view>
 	</view>
 </template>
 <script>
-	import searchModal from './searchModal.vue'
-	import { getGoldLogList, GoldLogCancel, GoldLogTotal } from '@/api/officialPartnerGoldLog.js'
-	export default {
-		components: { searchModal },
-		data() {
-			return {
-				listdata: [],
-				pageNo: 1,  //  当前页码
-				pageSize: 10,  //  每页条数
-				total: 0,  //  数据总条数
-				noDataText: '暂无数据',  //  列表请求状态提示语
-				status: 'loadmore',  //  加载中状态
-				openScreen: false,  //  是否打开筛选
-				searchForm: {  //  查询条件
-					beginDate: '',  //  创建时间默认筛选近7天
-					endDate: '',  //  创建时间默认筛选近7天
-					customerMobile: ''  //  支付账户
-				},
-				customBtnStyle: {  //  撤销单据  自定义按钮样式
-					borderColor: '#2ab4e5',
-					backgroundColor: '#2ab4e5',
-					color: '#fff'
-				},
-				scrollTop: 0,  //  滚动条位置
-				ldTotal: 0  //  乐豆总计数
-			}
+import searchModal from './searchModal.vue';
+import { listCustomerBundle, countListBundle } from '@/api/customerBundle'
+import { getLookUpDatas } from '@/api/data'
+export default {
+	components: { searchModal },
+	data() {
+		return {
+			listdata: [],
+			pageNo: 1, //  当前页码
+			pageSize: 10, //  每页条数
+			total: 0, //  数据总条数
+			noDataText: '暂无数据', //  列表请求状态提示语
+			status: 'loadmore', //  加载中状态
+			openScreen: false, //  是否打开筛选
+			searchForm: {
+				//  查询条件
+				beginDate: '', //  创建时间默认筛选近7天
+				endDate: '', //  创建时间默认筛选近7天
+				bundleName: '',  //  套餐名称
+				queryWord: '', // 客户手机
+			},
+			scrollTop: 0, //  滚动条位置
+			totalObj: null,
+			payTypeList: []  //  支付方式  数据
+		};
+	},
+	onLoad(option) {
+		// 获取支付,收款方式
+		this.getLookUpList('PAY_PROCUCT_TYPE');
+	},
+	onShow() {
+		this.openScreen = false; //  关闭筛选框
+		this.refresh({});
+	},
+	methods: {
+		// 或某一项字典列表,参数code
+		getLookUpList(code) {
+			getLookUpDatas({ type: code }).then(res => {
+				if (res.status == 200) {
+					this.payTypeList = res.data || []
+				}
+			});
 		},
-		onLoad(option) {
-			// 获取数据字典
-			this.getListLookUp()
-			// 获取支付,收款方式
-			this.getLookUpList('PAY_PROCUCT_TYPE', 'vuex_paymentTypeList')
+		filterVal(val){
+			let row = this.payTypeList.find(item => item.payType == val)
+			
 		},
-		onShow() {
-			this.openScreen = false  //  关闭筛选框
-			this.refresh({})
+		//  总计
+		getGoldLogTotal() {
+			countListBundle({
+				beginDate: this.searchForm.beginDate,
+				endDate: this.searchForm.endDate,
+				bundleName: this.searchForm.bundleName,
+				queryWord: this.searchForm.queryWord
+			}).then(res => {
+				if (res.status == 200) {
+					this.totalObj = res.data
+				} else {
+					this.totalObj = null
+				}
+			});
 		},
-		methods:{
-			//  获取数据字典
-			getListLookUp() {
-				const _this = this
-				listLookUp({ pageNo: 1, pageSize: 1000 }).then(res => {
-					if (res.status == 200) {
-						_this.$store.state.vuex_allLookUp = res.data
-					}
-				});
-			},
-			// 或某一项字典列表,参数code
-			getLookUpList(code, vuexKey) {
-				getLookUpDatas({ type: code }).then(res => {
-					if (res.status == 200) {
-						this.$store.state[vuexKey] = res.data || []
-					}
-				})
-			},
-			//  总计
-			getGoldLogTotal(){
-				GoldLogTotal({
-					beginDate: this.searchForm.beginDate,
-					endDate: this.searchForm.endDate,
-					customerMobile: this.searchForm.customerMobile
-				}).then(res => {
-					if(res.status == 200){
-						this.ldTotal = res.data ? res.data.changeNum : 0
-					}else{
-						this.ldTotal = 0
-					}
-				})
-			},
-			// 获取查询参数 刷新列表
-			refresh(params){
-				this.searchForm = params
-				this.listdata = []
-				this.total = 0
-				this.searchHandle(1)
-				this.getGoldLogTotal()
-			},
-			//  撤销单据
-			revokeFun(row){
-				const _this = this
-				uni.showModal({
-				  title: '提示',
-				  content: '撤销单据后乐豆将全部退回给原支付账号,确认撤销吗?',
-				  success(res) {
-				    if (res.confirm) {
-				      GoldLogCancel({ id: row.id }).then(ret => {
-						  if(ret.status == 200){
-							  uni.showToast({ title: ret.message, icon: 'none' })
-							  _this.searchHandle(1)
-						  }
-					  })
-				    }
-				  }
-				})
-			},
-			// 搜索查询
-			searchHandle (pageNo) {
-				this.status = "loading"
-				pageNo ? this.pageNo = pageNo : null
-				getGoldLogList({
-					pageNo: this.pageNo,
-					pageSize: this.pageSize,
-					beginDate: this.searchForm.beginDate,
-					endDate: this.searchForm.endDate,
-					customerMobile: this.searchForm.customerMobile
-				}).then(res => {
-					if (res.status == 200) {
-						if(this.pageNo>1){
-							this.listdata = this.listdata.concat(res.data.list || [])
-						}else{
-							this.listdata = res.data.list || []
-							this.scrollTop = 0
-						}
-						this.total = res.data.count || 0
-						this.noDataText = '暂无数据'
+		// 获取查询参数 刷新列表
+		refresh(params) {
+			this.searchForm = params;
+			this.listdata = [];
+			this.total = 0;
+			this.searchHandle(1);
+			this.getGoldLogTotal();
+		},
+		// 搜索查询
+		searchHandle(pageNo) {
+			this.status = 'loading';
+			pageNo ? (this.pageNo = pageNo) : null;
+			listCustomerBundle({
+				pageNo: this.pageNo,
+				pageSize: this.pageSize,
+				beginDate: this.searchForm.beginDate,
+				endDate: this.searchForm.endDate,
+				bundleName: this.searchForm.bundleName,
+				queryWord: this.searchForm.queryWord
+			}).then(res => {
+				if (res.status == 200) {
+					if (this.pageNo > 1) {
+						this.listdata = this.listdata.concat(res.data.list || []);
 					} else {
-						this.noDataText = res.message
-						this.listdata = []
-						this.total = 0
+						this.listdata = res.data.list || [];
+						this.scrollTop = 0;
 					}
-					this.status = "loadmore"
-				})
-			},
-			// scroll-view到底部加载更多
-			onreachBottom() {
-				if(this.listdata.length < this.total){
-					this.pageNo += 1
-					this.searchHandle()
-				}else{
-					uni.showToast({ title: '已经到底了', icon: 'none' })
-					this.status = "nomore"
+					this.total = res.data.count || 0;
+					this.noDataText = '暂无数据';
+				} else {
+					this.noDataText = res.message;
+					this.listdata = [];
+					this.total = 0;
 				}
+				this.status = 'loadmore';
+			});
+		},
+		// scroll-view到底部加载更多
+		onreachBottom() {
+			if (this.listdata.length < this.total) {
+				this.pageNo += 1;
+				this.searchHandle();
+			} else {
+				uni.showToast({ title: '已经到底了', icon: 'none' });
+				this.status = 'nomore';
 			}
+		},
+		// 详细页
+		viewRow(item){
+			// 已完成的
+			uni.navigateTo({
+				url: "/pages/workOrder/sellOrder/customBundleDetail?id="+item.id
+			})
+		},
+		//  拨打电话
+		goTel(phone){
+			uni.makePhoneCall({
+			    phoneNumber: phone
+			})
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-	page{
-		height: 100%;
-	}
-	.homePage-container {
-		width: 100%;
-		height: 100%;
+page {
+	height: 100%;
+}
+.homePage-container {
+	width: 100%;
+	height: 100%;
+	display: flex;
+	flex-direction: column;
+	padding-top: 102rpx;
+	// 筛选菜单
+	.homePage-head {
+		font-size: 30rpx;
 		display: flex;
-		flex-direction: column;
-		padding-top: 102rpx;
-		// 筛选菜单
-		.homePage-head{
-			font-size: 30rpx;
+		justify-content: space-between;
+		align-items: center;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 9;
+		padding: 26rpx 30rpx;
+		background-color: #fff;
+		box-shadow: 0rpx 0rpx 14rpx rgba(0, 0, 0, 0.05);
+		width: 100%;
+		border-top: 10rpx solid #f8f8f8;
+		.head-con {
+			flex-grow: 1;
 			display: flex;
-			justify-content: space-between;
 			align-items: center;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 9;
-			padding: 26rpx 30rpx;
-			background-color: #fff;
-			box-shadow: 0rpx 0rpx 14rpx rgba(0,0,0,.05);
-			width: 100%;
-			border-top: 10rpx solid #f8f8f8;
-			.head-con{
-				flex-grow: 1;
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-				.homePage-tit{
-					color: #040301;
+			justify-content: space-between;
+			.homePage-tit {
+				color: #040301;
+			}
+			.total-con {
+				color: #040301;
+				.goleNum {
+					color: #eb0000;
+					font-size: 30rpx;
+					// font-weight: bold;
 				}
-				.total-con{
-					color: #040301;
-					.goleNum{
-						color: #eb0000;
-						font-size: 30rpx;
-						font-weight: bold;
-					}
-					.ld-icon{
-						width: 30rpx;
-						height: 30rpx;
-						margin: 0 0 0 10rpx;
-						vertical-align: middle;
-					}
+				.ld-icon {
+					width: 30rpx;
+					height: 30rpx;
+					margin: 0 0 0 10rpx;
+					vertical-align: middle;
 				}
 			}
-			.filter-icon{
-				flex-shrink: 0;
-				width: 36rpx;
-				height: 36rpx;
-				padding-left: 20rpx;
-			}
 		}
-		//  列表
-		.scroll-con{
-			flex: 1;
-			// height: calc(100% - 40);
-			overflow: auto;
+		.filter-icon {
+			flex-shrink: 0;
+			width: 36rpx;
+			height: 36rpx;
+			padding-left: 20rpx;
 		}
+	}
+	//  列表
+	.scroll-con {
+		flex: 1;
+		// height: calc(100% - 40);
+		overflow: auto;
 		//  列表样式
-		.cell-item-con{
-			margin: 20rpx;
-			.cell-item{
-				background-color: #fff;
-				color: #606266;
-				padding: 0 30rpx;
-				margin-bottom: 20rpx;
-				border-radius: 16rpx;
-				font-size: 28rpx;
-				box-shadow: 3rpx 3rpx 5rpx #eee;
-				.cell-item-c{
+		.list-cont{
+			.list-item-con{
+				background: #ffffff;
+				padding: 10rpx 20rpx;
+				margin: 24rpx;
+				border-radius: 6rpx;
+				box-shadow: 2rpx 2rpx 6rpx #EEEEEE;
+				.con-header, .con-main, .con-footer{
 					display: flex;
 					justify-content: space-between;
-					padding: 18rpx 0;
-					border-bottom: 1rpx solid #f2f2f2;
-					.cell-item-label{
-						flex-shrink: 0;
-						width: 200rpx;
-						color: #303133;
-					}
-					.cell-item-main{
-						flex-grow: 1;
-						text-align: right;
-						.handle-btn{
-							border-color: #fcbd71!important;
-							background-color: #fcbd71!important;
-						}
-					}
-					.blue {
-						color: #1890FF;
-					}
-					.green {
-						color: #16b50e;
+					align-items: center;
+				}
+				.con-header{
+					font-size: 24rpx;
+					padding: 20rpx 10rpx;
+					border-bottom: 1px dashed #F8F8F8;
+					.item-time{
+						color: #666;
 					}
-					.red {
-						color: red;
+					.item-orderNo{
+						color: #333;
 					}
-					&:last-child{
-						border: none;
+				}
+				.con-main{
+					font-size: 28rpx;
+					color: #333;
+					padding: 20rpx 10rpx;
+					border-bottom: 1px dashed #F8F8F8;
+					.con-main-m{
+						.item-bundleName{
+							margin-bottom: 14rpx;
+						}
+						.item-bundleMain{
+							.item-cname{
+								display: inline-block;
+								margin-right: 10rpx;
+							}
+							.item-phone{
+								display: inline-block;
+							}
+						}
 					}
 				}
-				.handle-con{
-					align-items: center;
-					// margin-top: 10rpx;
-					// padding-top: 18rpx;
-					// padding: 0;
+				.con-footer{
+					padding: 20rpx 10rpx;
+					.item-price{
+						text{
+							font-size: 30rpx;
+							color: red;
+						}
+					}
 				}
 			}
 		}
-		
 	}
+}
 </style>

+ 12 - 8
pages/index/searchModal.vue

@@ -4,11 +4,12 @@
 		<u-popup v-model="isShow" class="search-popup" mode="right" @close="handleClose" length="85%">
 			<view class="search-title">筛选</view>
 			<u-form class="form-content" :model="form" ref="uForm" label-width="150">
-				<u-form-item label="支付时间" prop="time" class="form-item">
-					<u-input clearable v-model="form.time" disabled placeholder="请选择支付时间区间" class="form-item-inp" @click="openPicker" />
+				<u-form-item label="创建时间" prop="time" class="form-item">
+					<u-input clearable v-model="form.time" disabled placeholder="请选择创建时间区间" class="form-item-inp" @click="openPicker" />
 					<u-icon v-show="form.time.length != 0" name="close-circle-fill" color="#c8c0cc" size="32" class="close-circle" @click="clearTime"></u-icon>
 				</u-form-item>
-				<u-form-item label="支付账号" prop="customerMobile" class="form-item"><u-input v-model="form.customerMobile" :maxlength="11" placeholder="请输入支付账号" /></u-form-item>
+				<u-form-item label="套餐名称" prop="bundleName" class="form-item"><u-input v-model="form.bundleName" :maxlength="30" placeholder="请输入套餐名称" /></u-form-item>
+				<u-form-item label="客户手机" prop="queryWord" class="form-item"><u-input v-model="form.queryWord" :maxlength="11" placeholder="请输入客户手机" /></u-form-item>
 			</u-form>
 			<view class="uni-list-btns">
 				<u-button class="handle-btn search-btn" size="medium" hover-class="none" :custom-style="customBtnStyle" @click="handleSearch">查询</u-button>
@@ -62,15 +63,16 @@ export default {
 	data() {
 		return {
 			customBtnStyle: {  //  自定义按钮样式
-				borderColor: '#2ab4e5',
-				backgroundColor: '#2ab4e5',
+				borderColor: '#ff4546',
+				backgroundColor: '#ff4546',
 				color: '#fff'
 			},
 			isShow: this.visible, // 显示隐藏
 			showPicker: false, // 是否显示时间弹窗
 			form: {
 				time: '', // 发起时间区间
-				customerMobile: '', // 门店名称
+				bundleName: '',  //  套餐名称
+				queryWord: '', // 客户手机
 			},
 			beginDate: null, // 开始时间
 			endDate: null // 结束时间
@@ -87,7 +89,8 @@ export default {
 			}
 			this.beginDate = this.defaultParams.beginDate ? this.defaultParams.beginDate : ''
 			this.endDate = this.defaultParams.endDate ? this.defaultParams.endDate : ''
-			this.form.customerMobile = this.defaultParams.customerMobile ? this.defaultParams.customerMobile : ''
+			this.form.bundleName = this.defaultParams.bundleName ? this.defaultParams.bundleName : ''
+			this.form.queryWord = this.defaultParams.queryWord ? this.defaultParams.queryWord : ''
 		},
 		//  清空创建时间
 		clearTime(){
@@ -115,7 +118,8 @@ export default {
 			let params = {
 				beginDate: this.beginDate,
 				endDate: this.endDate,
-				customerMobile: this.form.customerMobile,
+				bundleName: this.form.bundleName,
+				queryWord: this.form.queryWord,
 			};
 			this.$emit('refresh', params)
 			this.isShow = false

+ 2 - 2
pages/login/login.scss

@@ -54,7 +54,7 @@
 				display: block;
 				line-height: 84upx;
 				margin: 0 auto;
-				background-color: #2ab4e5;
+				background-color: #ff4546;
 				// background-color: #298bf2;
 				color: #fff;
 			}
@@ -76,7 +76,7 @@
 		width: 100%;
 		font-size: 24upx;
 		text{
-			color: #ff0000;
+			color: #ff4546;
 		}
 	}
 }

+ 2 - 9
pages/login/login.vue

@@ -13,7 +13,7 @@
 			</view>
 			<view class="flex-box" style="margin-top: 60upx;">
 				<view class="remember-pass">
-					<u-checkbox v-model="isRemember" value="true" :size="30" :label-size="26" active-color="#2ab4e5" class="login-form-checkbox" @change="rememberChange">记住密码</u-checkbox>
+					<u-checkbox v-model="isRemember" value="true" :size="30" :label-size="26" active-color="#ff4546" class="login-form-checkbox" @change="rememberChange">记住密码</u-checkbox>
 				</view>
 			</view>
 			<view class="form-btn-con">
@@ -21,7 +21,7 @@
 			</view>
 		</form>
 		<view class="authUserYs">
-			<u-checkbox v-model="isAuthuserYs" value="true" :size="30" :label-size="26" active-color="#2ab4e5" class="login-form-checkbox" @change="authuserChange">登录代表同意</u-checkbox>
+			<u-checkbox v-model="isAuthuserYs" value="true" :size="30" :label-size="26" active-color="#ff4546" class="login-form-checkbox" @change="authuserChange">登录代表同意</u-checkbox>
 			<text @click="toYsPage()" style="vertical-align: text-top;font-size: 26rpx;text-decoration: underline;">乐色助手用户协议及隐私保护政策</text>
 		</view>
 	</view>
@@ -99,13 +99,6 @@ export default {
 				title: '正在登录...'
 			});
 			this.submitForm(_this.form)
-			// // #ifdef MP-WEIXIN
-			// 	//  获取微信login   code
-			// 	this.getWechatCode()
-			// // #endif
-			// // #ifndef MP-WEIXIN
-			// 	this.submitForm(_this.form)
-			// // #endif
 		},
 		submitForm(formData){
 			const _this = this;

+ 2 - 2
pages/userCenter/changePwd.vue

@@ -42,8 +42,8 @@
 				},
 				loading: false,
 				customBtnStyle: {  //  自定义按钮样式
-					borderColor: '#2ab4e5',
-					backgroundColor: '#2ab4e5',
+					borderColor: '#ff4546',
+					backgroundColor: '#ff4546',
 					color: '#fff'
 				},
 			}

+ 5 - 6
pages/userCenter/index.vue

@@ -6,8 +6,8 @@
 				<open-data type="userAvatarUrl" class="avatar"></open-data>
 			</view>
 			<view class="user-info">
-				<text class="user-name">{{userInfoData.userNameCN || ''}} - 【{{userInfoData.parentOrgName}}</text>
-				<text class="user-phone">{{userInfoData.username || ''}}</text>
+				<text class="user-name">{{userInfoData.parentOrgName}}</text>
+				<text class="user-phone">{{userInfoData.userNameCN || ''}}  {{userInfoData.username || ''}}</text>
 			</view>
 		</view>
 		<!-- 列表 -->
@@ -34,7 +34,7 @@
 				quitButton: {
 					borderRadius:'100rpx',
 					fontSize:'30rpx',
-					background: '#2ab4e5'
+					background: '#ff4546'
 				},
 				userInfoData: null,  //  用户信息
 				userAvatarUrl: ''  //  用户头像
@@ -48,7 +48,6 @@
 		methods:{
 			//  获取用户信息
 			getUserInfo(){
-				console.log(this.$store.state.vuex_userData)
 				this.userInfoData = this.$store.state.vuex_userData
 				// getUserInfo().then(res => {
 				// 	if(res.status == 200){
@@ -99,10 +98,10 @@
 	.user-content{
 		width: 100%;
 		.user-head{
-			background: #2ab4e5;
+			background: #ff4546;
 			display: flex;
 			align-items: center;
-			padding: 35rpx 55rpx;
+			padding: 55rpx 55rpx;
 			.user-photo{
 				flex-shrink: 0;
 				margin-right: 5rpx;

+ 2 - 3
pages/workOrder/bundle_detail.vue

@@ -11,11 +11,10 @@
 				</view>
 				<view class="flex align_end justify_between">
 					<view class="uni-col-6 flex flex_column">
-						<text class="line-height">服务价格:¥{{item.itemPrice||0}}</text>
-						<text class="line-height">次数<text style="padding: 0 2px;">{{item.times}}</text>次</text>
+						<text class="line-height">单次工时:¥{{item.itemPrice||0}}</text>
 					</view>
 					<view class="line-height">
-						价值<text style="padding: 0 2px;font-weight: bold;">{{ item.itemPrice * item.times || 0 }}</text>元
+						次数:<text style="padding: 0 2px;font-weight: bold;">{{ item.times || 0 }}</text>次
 					</view>
 				</view>
 			</view>

+ 0 - 368
pages/workOrder/sellOrder/bundleList.vue

@@ -1,368 +0,0 @@
-<template>
-	<view class="bundleList-wrap">
-		<!-- <u-navbar title-color="#fff" back-icon-size="30" back-icon-color="#fff" :border-bottom="false" :background="background">
-			<view class="slot-wrap">
-				<view class="left-icon">
-					已购套餐
-				</view>
-				<view class="right-icon" @click="openSearch">
-					<uni-font-icons type="icon-sousuo" size="16" color="#fff"></uni-font-icons> 查询
-				</view>
-			</view>
-		</u-navbar> -->
-		<view class="tab-body">
-			<view style="background-color: #fff;padding: 10rpx 0;" @click="openSearch">
-				查询
-			</view>
-			<scroll-view scroll-y style="height: 100%;width: 100%;overflow: auto;" @scrolltolower="onreachBottom">
-				 <view class="list-cont">
-					 <view class="list-item-con" v-for="(item,index) in list" :key="index">
-						 <view class="con-header">
-							 <text class="item-time">{{item.orderDate}}</text>
-							 <text class="item-orderNo">{{item.number}}</text>
-						 </view>
-						 <view class="con-main" @click="viewRow(item)">
-							 <view class="con-main-m">
-								 <view class="item-bundleName">{{item.bundleName}}</view>
-								 <view class="item-bundleMain">
-									<text class="item-cname">{{item.custName}}</text>
-									<view class="item-phone" @click.stop="goTel(item.custMobile)">
-										<u-icon name="phone" size="28"></u-icon>
-										{{item.custMobile}}
-									</view>
-								 </view>
-							 </view>
-							 <u-icon name="arrow-right" size="28"></u-icon>
-						 </view>
-						 <view class="con-footer">
-							 <view class="item-price">实收:<text>¥{{item.payedAmount}}</text></view>
-							 <view class="item-type">付款方式:<text>现金</text></view>
-						 </view>
-					 </view>
-				 </view>
-				 <u-empty text="暂无数据" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
-				 <view style="padding: 20upx;">
-					 <u-loadmore v-if="total>pageSize || status=='loading'" :status="status" />
-				 </view>
-			</scroll-view>
-		</view>
-		<!-- 工单查询 -->
-		<u-popup v-model="showSearch" class="search-popup" mode="right" length="80%">
-			<view class="search-title">已购套餐查询</view>
-			<view class="uni-list">
-				<view class="uni-list-cell">
-					<view class="uni-list-cell-left">
-						客户手机:
-					</view>
-					<view class="uni-list-cell-db">
-						<input class="uni-input" placeholder-class="form-input-placeholder" v-model="queryWord" placeholder="客户姓名、手机号" />
-					</view>
-				</view>
-			</view>
-			<view class="uni-list">
-				<view class="uni-list-cell">
-					<view class="uni-list-cell-left">
-						套餐名称:
-					</view>
-					<view class="uni-list-cell-db">
-						<input class="uni-input" placeholder-class="form-input-placeholder" v-model="bundleName" placeholder="请输入套餐名称" />
-					</view>
-				</view>
-			</view>
-			<view class="uni-list">
-				<view class="uni-list-cell">
-					<view class="uni-list-cell-left">
-						开始时间:
-					</view>
-					<view class="uni-list-cell-db">
-						<picker mode="date" v-model="beginDate" :end="endDate" @change="bindBeginDateChange">
-							<view class="uni-input" v-if="beginDate">{{beginDate}}</view>
-							<view v-else class="uni-input form-input-placeholder">请选择开始时间</view>
-						</picker>
-					</view>
-				</view>
-			</view>
-			<view class="uni-list">
-				<view class="uni-list-cell">
-					<view class="uni-list-cell-left">
-						结束时间:
-					</view>
-					<view class="uni-list-cell-db">
-						<picker mode="date" v-model="endDate" :start="beginDate" @change="bindEndDateChange">
-							<view class="uni-input" v-if="endDate">{{endDate}}</view>
-							<view v-else class="uni-input form-input-placeholder">请选择结束时间</view>
-						</picker>
-					</view>
-				</view>
-			</view>
-			<view class="uni-list-btns">
-				<button type="primary" @click="pageInit(false)">查询</button>
-				<button type="info" @click="resetForm">重置</button>
-			</view>
-		</u-popup>
-	</view>
-</template>
-
-<script>
-	import { listCustomerBundle } from '@/api/customerBundle'
-	import { getLookUpDatas } from '@/api/data'
-	import vSelect from '@/components/select/v-select.vue'
-	export default {
-		components: {
-			vSelect
-		},
-		data() {
-			return {
-				showSearch: false,
-				customList: [],
-				tips: {
-					text: '请选择客户信息',
-					color: '#666',
-					fontSize: 34
-				},
-				status: 'loadmore',
-				background: {
-					// 渐变色
-					backgroundImage: 'linear-gradient(45deg, rgb(85, 170, 255), rgb(21, 102, 223))'
-				},
-				current: 0,
-				swiperCurrent: 0,
-				orderStatus: '', // 订单状态
-				currentId: '',
-				payTypeList: [],
-				pageNo: 1,
-				pageSize: 10,
-				list: [],
-				total: 0,
-				// 查询条件
-				beginDate: null,
-				endDate: null,
-				queryWord: '',
-				bundleName: '',
-				number: '',
-				payTypes: '',
-				sellChannel: '',
-				refundStatus: '',
-				carNumber: '',
-				createChannels:''
-			}
-		},
-		onLoad() {
-			this.pageInit()
-		},
-		methods:{ 
-			message(title){
-				uni.showToast({
-					icon:'none',
-					title: title
-				})
-			},
-			filterpayType (val,dataList) {
-			  var _value = ''
-			    for (let i = 0; i < dataList.length; i++) {
-			      if (val == dataList[i].code) {
-			        _value = dataList[i].dispName
-			        break
-			      }
-			    }
-			  return _value
-			},
-			pageInit(showSearch){
-				if(this.endDate&&!this.beginDate){
-				  this.message('请选择开始日期')
-				  return false
-				}
-				if(this.beginDate&&!this.endDate){
-				  this.message('请选择结束日期')
-				  return false
-				}
-				//this.swiperCurrent 
-				this.total = 0
-				this.pageNo = 1
-				this.getRow()
-				this.showSearch = showSearch
-			},
-			// scroll-view到底部加载更多
-			onreachBottom() {
-				console.log(this.list.length, this.total)
-				if(this.list.length < this.total){
-					this.pageNo += 1
-					this.getRow()
-				}else{
-					this.status = "nomore"
-				}
-			},
-			// 查询列表
-			getRow (pageNo) {
-				console.log('列表---')
-			  const _this = this
-			  if (pageNo) {
-			    this.pageNo = pageNo
-			  }
-			  let sdata = {
-			    pageNo: this.pageNo,
-			    pageSize: this.pageSize,
-			    queryWord: this.queryWord,
-				beginDate: this.beginDate,
-				endDate: this.endDate
-			  }
-			  if (this.bundleName) {
-			    sdata.bundleName = this.bundleName
-			  }
-			  _this.status = "loading"
-			  listCustomerBundle(sdata).then(res => {
-				if (res.status == 200) {
-				  if(_this.pageNo>1){
-					  _this.list = _this.list.concat(res.data.list || [])
-				  }else{
-					  _this.list = res.data.list || []
-				  }
-				  _this.total = res.data.count || 0
-				} else {
-				  _this.list = []
-				  _this.total = 0
-				}
-				_this.status = "loadmore"
-			  })
-			},
-			// 查询条件
-			openSearch(){
-				const _this = this
-				this.showSearch = true
-				// if (this.payTypes) {
-				// 	setTimeout(function(){
-				// 		_this.$refs.payType.setVal(_this.payTypes)
-				// 	},300)
-				// }
-				// if(_this.createChannels){
-				// 	setTimeout(function(){
-				// 		_this.$refs.createChannel.setVal(_this.createChannels)
-				// 	},300)
-				// }
-			},
-			bindBeginDateChange(e){
-				this.beginDate = e.target.value
-			},
-			bindEndDateChange(e){
-				this.endDate = e.target.value
-			},
-			// 重置
-			resetForm(){
-				this.queryWord = ''
-				this.beginDate = ''
-				this.endDate = ''
-				this.bundleName = ''
-				this.pageInit(true)
-			},
-			// 详细页
-			viewRow(item){
-				// 已完成的
-				uni.navigateTo({
-					url: "/pages/workOrder/sellOrder/customBundleDetail?id="+item.id
-				})
-			},
-			//  拨打电话
-			goTel(phone){
-				uni.makePhoneCall({
-				    phoneNumber: phone
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.bundleList-wrap{
-		width: 100%;
-		.list-cont{
-			.list-item-con{
-				background: #ffffff;
-				padding: 10rpx 20rpx;
-				margin: 24rpx;
-				border-radius: 6rpx;
-				box-shadow: 2rpx 2rpx 6rpx #EEEEEE;
-				.con-header, .con-main, .con-footer{
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-				}
-				.con-header{
-					font-size: 26rpx;
-					padding: 20rpx 10rpx;
-					border-bottom: 1px dashed #F8F8F8;
-					.item-time{
-						color: #666;
-					}
-					.item-orderNo{
-						color: #333;
-					}
-				}
-				.con-main{
-					font-size: 28rpx;
-					color: #333;
-					padding: 20rpx 10rpx;
-					border-bottom: 1px dashed #F8F8F8;
-					.con-main-m{
-						.item-bundleName{
-							margin-bottom: 14rpx;
-						}
-						.item-bundleMain{
-							.item-cname{
-								display: inline-block;
-								margin-right: 10rpx;
-							}
-							.item-phone{
-								display: inline-block;
-							}
-						}
-					}
-				}
-				.con-footer{
-					padding: 20rpx 10rpx;
-					.item-price{
-						text{
-							font-size: 30rpx;
-							color: red;
-						}
-					}
-				}
-			}
-		}
-	}
-	.search-popup{
-		height: 100vh;
-		.search-title{
-			text-align: center;
-			padding: 22upx;
-			color: #333; 
-			border-bottom: 1px solid #eee;
-		}
-		.uni-list{
-			margin: 20upx;
-			.uni-list-cell{
-				display: flex;
-				align-items: center;
-				border-bottom: 1px dashed #EEEEEE;
-				.uni-list-cell-db{
-					flex: 1;
-				}
-				.uni-input{
-					height: 2.5em;
-					line-height: 2.5em;
-					text-align: right;
-					width: 95%;
-				}
-			}
-		}
-		.uni-list-btns{
-			display: flex;
-			padding: 20upx;
-			uni-button{
-				font-size: 28upx;
-				margin: 0 30upx;
-				flex:1;
-			}
-		}
-		
-	}
-</style>

+ 25 - 16
pages/workOrder/sellOrder/buyBundle.vue

@@ -1,21 +1,21 @@
 <template>
 	<view class="buyBundle-wrap">
-		<u-form :model="form" ref="uForms" :label-width="165">
-			<u-form-item required label="手机号:" prop="custMobile">
-				<u-input v-model="form.custMobile" @input="mobileInput" maxlength="11" placeholder="请输入手机号" />
-			</u-form-item>
-			<u-form-item label="客户姓名:" prop="custName">
-				<u-input v-model="form.custName" maxlength="30" placeholder="请输入客户姓名(最多30个字符)" />
-			</u-form-item>
+		<u-form :model="form" ref="uForms" :label-width="165" label-align="right">
 			<u-form-item label="应收金额:" prop="totalAmount">
 				<text class="price">{{ totalAmount }}</text>
 			</u-form-item>
 			<u-form-item label="收款方式:" prop="payType">现金</u-form-item>
+			<u-form-item required label="客户手机:" prop="custMobile">
+				<u-input v-model="form.custMobile" @input="mobileInput" focus type="number" maxlength="11" placeholder="请输入客户手机" />
+			</u-form-item>
+			<u-form-item label="客户姓名:" prop="custName">
+				<u-input v-model="form.custName" maxlength="30" placeholder="请输入客户姓名(最多30个字符)" />
+			</u-form-item>
 		</u-form>
 		<view class="footer-con">
-			<text class="des">重要提示:请确认在线下实际收到款后再点击【确认收款】!</text>
-			<u-button class="submit-btn" type="primary" @click="onSubmit">确认收款</u-button>
+			<u-button class="submit-btn" type="primary" hover-class="none" :custom-style="customBtnStyle" @click="onSubmit">确认收款</u-button>
+			<text class="des">提示:请确认在线下实际收到款后再点击【确认收款】。</text>
 		</view>
 	</view>
 </template>
@@ -38,13 +38,18 @@ export default {
 			}
 		};
 		return {
+			customBtnStyle: {  //  自定义按钮样式
+				borderColor: '#ff4546',
+				backgroundColor: '#ff4546',
+				color: '#fff'
+			},
 			form: {
 				custMobile: '', //  手机号
 				custName: '' //  客户姓名
 			},
 			rules: {
 				custMobile: [
-					{ required: true, message: '请输入手机', trigger: ['blur', 'change'] },
+					{ required: true, message: '请输入客户手机', trigger: ['blur', 'change'] },
 					{ validator: isMobileValid, trigger: ['blur', 'change'] }
 				]
 			},
@@ -94,12 +99,13 @@ export default {
 					}
 					bundleBuy(params).then(res => {
 						if (res.status == 200) {
-							//  已购套餐
-							if (this.$hasPermissions('M_bundel_buyRecord')) {
-								// this.$router.push({ path: '/SetmealSales/PurchasedSetmeal' })
-							} else {
-								this.cancel()
-							}
+							uni.showToast({ icon:'none', title: '收款成功' })
+							setTimeout(()=>{
+								//  套餐销售记录
+								uni.switchTab({
+								    url: '/pages/index/index'
+								})
+							}, 1000)
 						}
 					});
 				} else {
@@ -129,8 +135,11 @@ export default {
 	.footer-con{
 		margin-top: 30rpx;
 		.des{
+			display: block;
 			color: #909399;
 			font-size: 24rpx;
+			text-align: center;
+			padding-top: 40rpx;
 		}
 		.submit-btn{
 			display: block;

+ 10 - 5
pages/workOrder/sellOrder/chooseBundle.vue

@@ -4,7 +4,7 @@
 		<view class="page-header" id="bundle-item-header">
 			<u-row gutter="16" justify="space-between">
 				<u-col :span="isGobleSearch ? 9 : 12">
-					<u-search placeholder="请输入关键字" v-model="queryWord" @focus="isGobleSearch=true" @custom="searchData" @search="searchData" :action-style="{'color': '#fff', 'font-size': '24upx', 'background-color': '#57a3f3', 'border-radius': '6upx', 'padding': '12upx 15upx'}"></u-search>
+					<u-search placeholder="请输入关键字" v-model="queryWord" @focus="isGobleSearch=true" @custom="searchData" @search="searchData" :action-style="{'color': '#fff', 'font-size': '24rpx', 'background-color': '#ff4546', 'border-radius': '6rpx', 'padding': '6rpx 15rpx'}"></u-search>
 				</u-col>
 				<u-col span="3" v-show="isGobleSearch">
 					<view class="close-con">
@@ -26,7 +26,7 @@
 				   	  <text style="color: red;">¥{{item.price}}</text>
 					  <view class="handle-btns">
 						<u-button class="item-btn" shape="circle" size="mini" @click="intoDetail(item.id)">查详情</u-button>
-					  	<u-button class="item-btn" type="primary" shape="circle" size="mini" @click="buyBundle(item)">下 单</u-button>
+					  	<u-button class="item-btn buy-btn" type="primary" shape="circle" size="mini" hover-class="none" :custom-style="customBtnStyle" @click="buyBundle(item)">下 单</u-button>
 					  </view>
 				   </view>
 				</view>
@@ -52,6 +52,11 @@
 				queryWord: '',
 				isGobleSearch: false, // 是否全局搜索
 				clsId: '',
+				customBtnStyle: {  //  自定义按钮样式
+					borderColor: '#ff4546',
+					backgroundColor: '#ff4546',
+					color: '#fff'
+				},
 			}
 		},
 		methods: {
@@ -202,8 +207,8 @@
 					position: relative;
 				}
 				.nav-left-item.active{
-					color: #57a3f3;
-					background: #f0faff;
+					color: #ff9900;
+					background: #fdf6ec;
 				}
 				.nav-left-item.active:after{
 					content: '';
@@ -213,7 +218,7 @@
 					top: 0;
 					bottom: 0;
 					right: 0;
-					background: #2d8cf0;
+					background: #fcbd71;
 				}
 			}
 			.nav-right{

+ 28 - 78
pages/workOrder/sellOrder/customBundleDetail.vue

@@ -1,22 +1,23 @@
 <template>
 	<view class="customBundleDetail-wrap">
-		<v-select v-show="false" ref="payType" code="PAY_PROCUCT_TYPE" placeholder="支付方式"></v-select>
 		<view class="header">
 			 <view class="header-row">
-				 <text>单据信息</text>
+				 <text style="font-weight: bold;">单据信息</text>
 			 </view>
 			 <view v-if="panelData">
-				<view class="header-row r2">
+				<view class="header-row">
 					<view><text>购买日期:</text>{{panelData.orderDate||'--'}}</view>
 				</view>
-				<view class="header-row r2">
+				<view class="header-row">
 					<view><text>订单号:</text>{{panelData.orderBundle.number||'--'}}</view>
 				</view>
-				<view class="header-row r2">
+				<view class="header-row">
 					<view><text>客户名称:</text>{{panelData.orderBundle.custName||'--'}}</view>
-								<view><text>手机号:</text>{{panelData.orderBundle.custMobile||'--'}}</view>
 				</view>
-				<view class="header-row r2">
+				<view class="header-row">
+					<view><text>手机号:</text>{{panelData.orderBundle.custMobile||'--'}}</view>
+				</view>
+				<view class="header-row">
 					<view><text>销售合作商:</text>{{panelData.dataSourceName||'--'}}</view>
 				</view>
 				<view class="header-row">
@@ -24,15 +25,11 @@
 				</view>
 				<view class="header-row r2">
 					<view><text>套餐价格:</text>¥{{panelData.orderBundle.totalAmount ? panelData.orderBundle.totalAmount + '元' : '--'}}</view>
-				</view>
-				<view class="header-row r2">
 					<view><text>销售人员:</text>{{panelData.sellerName||'--'}}</view>
 				</view>
-				<view class="header-row">
+				<view class="header-row r2">
 					<view><text>收款金额:</text>{{panelData.orderBundle.payedAmount ? panelData.orderBundle.payedAmount + '元' : '--'}}</view>
-				</view>
-				<view class="header-row">
-					<view v-if="panelData.paymentDetailList"><text>支付方式:</text>{{$refs.payType.getCodeByName(panelData.paymentDetailList[0].payType)}}</view>
+					<view><text>支付方式:</text>现金</view>
 				</view>
 			 </view>
 		</view>
@@ -54,36 +51,24 @@
 			</view>
 		</view>
 		<view class="cont-list" v-show="cur == 1">
-			<view
-			class="check-order-list" 
-			v-for="item in useHistoryData" 
-			:key="item.id"
-			>
+			<view class="check-order-list" v-for="item in useHistoryData" :key="item.id" >
 				 <view class="check-row" >
-					 <view>{{item.startDate}}</view>
+					 <view>{{item.usedTime}}</view>
 					 <view>
-						{{item.vehicleNumber}}
-					 </view>
-				 </view>
-				 <view class="check-row" >
-					 <view >
-					 	 {{item.name}}
-					 </view>
-					 <view>
-					 	 使用:{{item.useNum}}
+						{{item.usedStoreName}}
 					 </view>
 				 </view>
 				 <view class="check-row" >
 					 <view class="flex flex_column justify_center">
 						<view >
-							 服务门店:{{item.companyName}}
+							 服务内容:{{item.bundItemName}}
 						</view>
 					 </view>
 				 </view>
 				 <view class="check-row" >
 					 <view class="flex flex_column justify_center">
 						<view>
-							 工单:{{item.number}}
+							 核销单号:{{item.bizNum}}
 						</view>
 					 </view>
 				 </view>
@@ -93,20 +78,13 @@
 				<view class="noDate">暂无数据</view>
 			</view>
 		</view>
-		<view class="footer flex align_center" v-show="showCancelBuy && (panelData.orderBundle.refundStatus==undefined || panelData.orderBundle.refundStatus == 1)">
-			<u-button v-if="panelData.orderBundle.orderStatus=='PAED'" @click="cancelBuy()" size="medium" type="primary">取消购买</u-button>
-		</view>
 	</view>
 </template>
 
 <script>
 import _ from 'lodash'
-import vSelect from '@/components/select/v-select.vue'
 import { customerBundleDetail, customerBundleUseHistory, cancelBuy } from '@/api/customerBundle'
 export default {
-	components: {
-		vSelect,
-	},
 	data() {
 		return {
 			cur: 0,
@@ -121,8 +99,7 @@ export default {
 		};
 	},
 	onLoad(opts) {
-		console.log(opts);
-		this.id = opts.id;
+		this.id = opts.id
 		this.getCustomerBundleDetail()
 		this.getCustomerBundleHistory()
 	},
@@ -145,13 +122,7 @@ export default {
 					_.forEach(res.data.customerBundleItemList, (item) => {
 					  list.push({
 					    name: item.itemName,
-					    amount: item.itemTimes + '次'
-					  })
-					})
-					_.forEach(res.data.customerBundlePartList, (item) => {
-					  list.push({
-					    name: item.partName,
-					    amount: item.quantity + (item.spec || '')
+					    amount: item.times + '次'
 					  })
 					})
 					this.itemData = list
@@ -163,34 +134,14 @@ export default {
 		},
 		// 获取套餐使用记录
 		getCustomerBundleHistory(){
-			customerBundleUseHistory({
-			  id: this.id
-			}).then(res => {
-			  let list = []
-			  if (res.data){
-			    _.forEach(res.data.orderItemList, (item) => {
-			      if (_.has(item, 'order')) {
-			        list.push({
-			          ...item.order,
-			          name: item.itemName,
-			          companyName: item.storeName,
-			          useNum: item.itemTimes + '次'
-			        })
-			      }
-			    })
-			    _.forEach(res.data.orderPartList, (item) => {
-			      if (_.has(item, 'order')) {
-			        list.push({
-			          ...item.order,
-			          name: item.partName,
-			          companyName: item.storeName,
-			          useNum: item.quantity + (item.spec || '')
-			        })
-			      }
-			    })
-			  }
-			  this.useHistoryData = list
-			  this.showCancelBuy = list.length == 0
+			customerBundleUseHistory({ id: this.id }).then(res => {
+				if(res.status == 200){
+					this.useHistoryData = res.data
+					this.showCancelBuy = res.data.length == 0
+				}else{
+					this.useHistoryData = []
+					this.showCancelBuy = false
+				}
 			})
 		},
 		// 取消购买
@@ -219,8 +170,7 @@ export default {
 				}
 			})
 		}
-	},
-	onShareAppMessage() {}
+	}
 };
 </script>
 
@@ -638,8 +588,8 @@ export default {
 		}
 		
 		.active {
-			border-bottom: 6rpx solid rgb(85, 170, 255);
-			color: #009AE1;
+			border-bottom: 6rpx solid #ff4546;
+			color: #ff4546;
 		}
 		.uni-badge {
 			margin: 8rpx 16rpx 0 16rpx;

BIN
static/filter.png


BIN
static/ledou.png


BIN
static/tabbar/bundle-active.png


BIN
static/tabbar/bundle.png


BIN
static/tabbar/record-active.png


BIN
static/tabbar/record.png


BIN
static/tabbar/user-active.png


BIN
static/tabbar/user.png