Ver código fonte

修改经销商名称

chenrui 2 anos atrás
pai
commit
b4f85766ec
1 arquivos alterados com 103 adições e 78 exclusões
  1. 103 78
      hybrid/html/index.html

+ 103 - 78
hybrid/html/index.html

@@ -54,7 +54,7 @@
 				border-radius: .3rem;
 				overflow: hidden;
 				position: absolute;
-				bottom: -1.1rem;
+				bottom: -1.9rem;
 				left: .2rem;
 				color: #333;
 			}
@@ -79,13 +79,16 @@
 			}
 
 			.amount {
-				color: #f0ad4e;
+				font-weight: bold;
+			}
+
+			.amountName {
 				font-weight: bold;
 			}
 
 			.handleOrder {
 				color: #999;
-				padding: 1.3rem .2rem .2rem;
+				padding: 0rem .2rem .2rem;
 			}
 
 			.handleOrder span:last-child {
@@ -166,6 +169,22 @@
 			.list-b {
 				color: #999;
 			}
+
+			.downLoadCon {
+				position: relative;
+			}
+
+			.finishImg {
+				width: 1rem;
+				height: 1rem;
+				position: absolute;
+				right: .06rem;
+				bottom: -.1rem;
+			}
+
+			.amount_list {
+				margin-bottom: 0.06rem;
+			}
 		</style>
 	</head>
 
@@ -179,30 +198,52 @@
 					尊敬的“{{info.customer.customerName || '--'}}”,您好!
 				</div>
 				<div class="tipDesc">
-					以下是您{{time}}在本店的对账单,请查阅。
+					以下是您在本店的未结账单,请查阅。
 				</div>
-				<div class="orderInfo">
-					<div class="flex align_center flex-between">
-						<span>欠款金额</span>
-						<span class="amount" v-if="info.totalAmount">¥{{toThousands(info.totalAmount,2)}}</span>
-						<span class="amount" v-else>¥0</span>
+				<div class="orderInfo"
+					:style="{bottom:(info.discountAmount && info.discountAmount*1 !=0 ? '-1.9rem':'-1.3rem' )}">
+					<div class="amount_list flex align_center flex-between">
+						<span class="amountName">货款金额</span>
+						<span class="amount" v-if="info.totalAmount"
+							:style="{color:!info.discountAmount? '#f0ad4e':'#333333'}">¥{{toThousands(info.totalAmount,2)}}</span>
+						<span class="amount" v-else
+							:style="{color:!info.discountAmount ? '#f0ad4e':'#333333'}">¥0.00</span>
 					</div>
-					<div class="downLoadTip">
-						单据明细Excel下载请点击下面的链接:
+					<div v-if="info.discountAmount && info.discountAmount*1 !=0">
+						<div class="amount_list flex align_center flex-between">
+							<span class="amountName">折让金额</span>
+							<span class="amount"
+								v-if="info.discountAmount">-¥{{toThousands(info.discountAmount,2)}}</span>
+							<span class="amount" v-else>¥0.00</span>
+						</div>
+						<div class="amount_list flex align_center flex-between">
+							<span class="amountName">折后金额</span>
+							<span class="amount" style="color: #f0ad4e"
+								v-if="info.settleAmount">¥{{toThousands(info.settleAmount,2)}}</span>
+							<span class="amount" style="color: #f0ad4e" v-else>¥0.00</span>
+						</div>
 					</div>
-					<div class="downLoadUrl" @click="downLoad">
-						http://iscm.360arrow.com/bill/对账单明细.xls
+					<div class="downLoadCon">
+						<div class="downLoadTip">
+							单据明细Excel下载请点击下面的链接:
+						</div>
+						<div class="downLoadUrl" @click="downLoad">
+							http://iscm.360arrow.com/bill/对账单明细.xls
+						</div>
+						<img v-if="info.billStatus != 'UNSETTLE'" src="./img/finishImg.png" alt="" class="finishImg">
 					</div>
 				</div>
 			</div>
-			<div class="orderCon flex flex-column">
+			<div class="orderCon flex flex-column"
+				:style="{paddingTop:(info.discountAmount && info.discountAmount*1 !=0 ? '2.1rem':'1.5rem' )}">
 				<div class="handleOrder flex flex-between align_center">
 					<span>共{{saleList ? saleList.length : 0}}个销售单</span>
-					<span>全部展开</span>
+					<span v-if="!flag" @click="openAll">全部展开</span>
+					<span v-else @click="openAll">全部关闭</span>
 				</div>
 				<div class="oederBox">
 					<div v-for="(item,i) in saleList" :key="item.bizSn">
-						<div class="oederList flex align_center" @click="handleShow(item,i)">
+						<div class="oederList flex align_center" @click="openInfoList(i)">
 							<div class="order-l">
 								<div class="order-t flex align_center flex-between">
 									<span>{{item.bizDate.substr(0,10)}}</span>
@@ -212,7 +253,7 @@
 									<div>应付:¥{{toThousands(item.bizAmount,2)}}</div>
 									<div>已付:¥{{toThousands(item.settledAmount,2)}}</div>
 									<div>
-										欠款:<span>¥{{item.unsettleAmount ? toThousands(item.unsettleAmount,2): 0}}</span>
+										待付:<span>¥{{item.unsettleAmount ? toThousands(item.unsettleAmount,2): 0}}</span>
 									</div>
 								</div>
 							</div>
@@ -222,7 +263,7 @@
 							</div>
 						</div>
 						<div class="otherList" v-show="item.isShow">
-							<div class="list" v-for="(con,j) in saleDetailList" :key="con.id">
+							<div class="list" v-for="(con,j) in item.list" :key="con.id">
 								<div class="list-t flex align_center flex-between">
 									<span>{{con.dealerProductEntity.code}}</span>
 									<span>¥{{con.price?toThousands(con.price,2):0}}</span>
@@ -244,87 +285,71 @@
 		new Vue({
 			el: '#app',
 			data: {
-				ajaxUrl: 'http://p.iscm.360arrow.com/qpls-md/',
+				ajaxUrl: 'http://192.168.0.103:8503/qpls-md/',
 				saleList: [],
 				saleDetailList: [],
 				info: {},
-				time: '',
-				startTime:'',
-				endTime:'',
-				customerSn:''
+				flag: false
 			},
 			created() {
-				this.loadData();
-				document.title = this.getUrlParam('name');
+				this.loadData()
 			},
 			methods: {
 				loadData() {
-					let ajaxData = {
-						verifySn: this.getUrlParam('verifySn'),
-						dealerSn: this.getUrlParam('userSn')
+					const ajaxData = {
+						verifySn: this.getUrlParam(1),
+						tenantId: this.getUrlParam(0)
 					}
 					axios.post(this.ajaxUrl + 'verify/findBySn', ajaxData).then((res) => {
-						this.info = res.data.data;
-						res.data.data.detailList.forEach(item=>{
-							item.isShow  = false;
+						this.info = res.data.data
+						document.title = res.data.data.dealerName
+						res.data.data.detailList.forEach(item => {
+							item.isShow = false
+							item.list = []
 						})
-						this.saleList = res.data.data.detailList;
-						if (res.data.data.bizBeginDate && res.data.data.bizEndDate) {
-							this.time = res.data.data.bizBeginDate.split(' ')[0] + '至' + res.data.data
-								.bizEndDate.split(' ')[0]
-								this.customerSn = res.data.buyerSn;
-								this.startTime = res.data.data.bizBeginDate;
-								this.endTime = res.data.data.bizEndDate
-						}
+						this.saleList = res.data.data.detailList
+						
+						this.getALlList(res.data.data.detailList)
 					}).catch((error) => {
-						console.log(error);
-					});
+						console.log(error)
+					})
 				},
-				handleShow(con , i) {
-					let req_data = {
+				handleShow(con, i) {
+					const req_data = {
 						salesBillSn: con.bizSn
 					}
 					axios.post(this.ajaxUrl + 'salesDetail/queryList', req_data).then((res) => {
-						this.saleDetailList = res.data.data;
-						this.saleList[i].isShow = !this.saleList[i].isShow ;
+						this.saleList[i].list = res.data.data
 					}).catch((error) => {
-						console.log(error);
-					});
-					
+						console.log(error)
+					})
+				},
+				openInfoList(i) {
+					this.saleList[i].isShow = !this.saleList[i].isShow
+					this.saleList.splice()
 				},
 				downLoad() {
-					let ajaxData = {
-						targetSn: this.customerSn,
-						bizBeginDate: this.startTime,
-						bizEndDate: this.endTime,
-						dealerSn: this.getUrlParam(userSn)
-					}
-					// let ajaxData={
-					// 	targetSn: '478718467182370816',
-					// 	bizBeginDate: '2022-12-01 00:00:00',
-					// 	bizEndDate: '2022-12-21 59:59:59',
-					// 	dealerSn: '435465609255526400'
-					// }
-					axios.get(this.ajaxUrl + 'verify/exportExcel', {
-						params: ajaxData
-					}, {
-						responseType: 'blob',
-						dataType: "jsonp",
-						jsonp: "callback"
-					}).then((res) => {
-						if (res.status == 200) {
-							downloadExcel(res.data, '对账单明细')
+					window.location.href = this.ajaxUrl + 'verify/exportExcel?verifySn=' + this.getUrlParam(1) +
+						'&dealerSn=' + this.getUrlParam(0)
+				},
+		 	getUrlParam(index) {
+					let urlArr = window.location.search.substr(1).split('&');
+					return urlArr[index] // 返回参数值
+				},
+				openAll() {
+					this.flag = !this.flag
+					this.saleList.forEach((item, i) => {
+						if (this.flag) {
+							item.isShow = true
+						} else {
+							item.isShow = false
 						}
-					}).catch((error) => {
-						console.log(error);
-					});
-
+					})
 				},
-				getUrlParam(name) {
-					var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
-					var r = window.location.search.substr(1).match(reg); //匹配目标参数
-					if (r != null) return unescape(r[2]);
-					return null; //返回参数值
+				getALlList(list) {
+					list.forEach((item, i) => {
+						this.handleShow(item, i)
+					})
 				}
 			}
 		})