xiaoshushu 2 лет назад
Родитель
Сommit
93386274d1
7 измененных файлов с 290 добавлено и 46 удалено
  1. 39 2
      js/app.js
  2. 34 0
      js/echarts.min.js
  3. 153 0
      pages/bill/list.html
  4. 51 36
      pages/parttimerec/contract.html
  5. 1 1
      tab/jz_list.html
  6. 1 1
      tab/list.html
  7. 11 6
      tab/mine.html

+ 39 - 2
js/app.js

@@ -1,6 +1,6 @@
 var urls = function() {
 	//var host = "http://192.168.100.3:7979";
-	var host = "http://192.168.1.18:7979";
+	var host = "http://192.168.0.101:7979";
 	//var host = "http://192.168.1.7:7979";
 	//var host = "http://106.55.241.82:7979";
 	//var host = "http://192.168.5.104:8080/djfp";
@@ -63,6 +63,10 @@ var urls = function() {
 		"qr_finance": host + "/app/parttime/qr_finance", //确认打款
 		"add_evaluate": host + "/app/parttime/add_evaluate", //评价
 		
+		"contract_templete_list": host + "/app/contract/templete/list", //合同模板列表
+		"finance_list": host + "/app/finance/list", //资金流水
+		"chart_list": host + "/app/finance/chart_list", //统计图
+		
 		
 	};
 	return url;
@@ -145,7 +149,7 @@ var getToken = function() {
  */
 function request(url, param, callback) {
 	//注释掉是允许在浏览器允许,打包时去掉注释
-	plus.nativeUI.showWaiting("正在加载...");
+	//plus.nativeUI.showWaiting("正在加载...");
 	mui.ajax(url, {
 		data: param,
 		dataType: 'json', //服务器返回json格式数据
@@ -208,6 +212,39 @@ function jzqy() {
 	return ['不限', '广西南宁'];
 }
 
+
+/**
+ * 获取日期
+ * day 获取日期
+ * time 获取时间
+ */
+function getDate(){
+	var date = new Date();
+	var year = date.getFullYear();
+	var month = date.getMonth() + 1;
+	var day = date.getDate();
+	var Hours = date.getHours();
+	var Minutes = date.getMinutes();
+	month = month > 9 ? month : '0' + month;
+	day = day > 9 ? day : '0' + day;
+	Hours = Hours > 9 ? Hours : '0' + Hours;
+	Minutes = Minutes > 9 ? Minutes : '0' + Minutes;
+	if (obj == 'day') {
+		return `${year}-${month}-${day}`;
+	}
+	if (obj == 'time') {
+		return `${year}-${month}-${day}` + ' ' + Hours + ':' + Minutes;
+	}
+	if (obj == 'year') {
+		return `${year}`;
+	}
+	if (obj == 'month') {
+		return `${month}`;
+	}
+	if (obj == 'ym') {
+		return `${year}-${month}`;
+	}
+}
 /**
  * 复制文本到剪贴板 
  * @param {Object} copy_content

Разница между файлами не показана из-за своего большого размера
+ 34 - 0
js/echarts.min.js


+ 153 - 0
pages/bill/list.html

@@ -0,0 +1,153 @@
+<!doctype html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>资金流水</title>
+		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<link href="../../css/mui.min.css" rel="stylesheet" />
+		<style>
+			.m_box {padding: 10px 10px 25px 15px;box-shadow: 0 1px 6px #dbdbdb;border-radius: 8px;position: relative;overflow: hidden;}
+			.fm{width: 100%;z-index: 1;}
+			.mui-content{padding: 0px 15px!important;margin-top: -65px;z-index: 11111;}
+		    .items{padding: 10px;font-size: 12px;margin-top:10px;background-color: white;border-bottom: 1px solid #eeeded;}
+			.items:last-child{border: 0px;}
+			.divider{margin-top: 25px;margin-bottom: 25px;}
+			.qian{float: left;width: 40px;height: 40px;border-radius: 50%;background-color: orange;text-align: center;line-height: 40px;}
+			.icsf{color: white;}
+			.ccn{float: left;padding-left: 10px;width: 75%;}
+			.ccn .stitle{font-size: 14px;width: 100%;color: #6c6c6c;}
+			.sm7{overflow: hidden;}
+			.money{float: right;color: orange;font-size: 15px;padding-top: 3px;}
+			.ccn .time{color: darkgray;}
+			.save{color:white;padding-top: 12px;}
+		    [v-cloak] {display: none;}
+		</style>
+	</head>
+	<body>
+		<div id="app" v-cloak>
+			<header class="mui-bar mui-bar-nav">
+				<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
+				<h1 class="mui-title">资金流水</h1>
+				<span class="save mui-pull-right" @click="save()">请款记录</span>
+			</header>
+			<img src="../../images/top.png" class="fm" />
+			<div class="mui-content">
+				<div class="m_box">
+					<div id="main" style="height:220px;"></div>
+					<div class="divider">
+						<div class="line" style="width: 30%;"></div>
+						<div class="text" style="width: 40%;">资金明细</div>
+						<div class="line" style="width: 30%;"></div>
+						<div class="clear"></div>
+					</div>
+					<div v-if="list.length>0">
+						<div class="items" v-for="(item,index) in list" @click="preview(item)">
+							<div class="row">
+								<div class="sm7">
+									<div class="qian"><i class="icon icsf">&#xe615;</i></div>
+									<div class="ccn omit">
+										<div class="stitle omit">{{item.parttime_title}}</div>
+										<div class="time">{{item.pay_date}}</div>
+									</div>
+								</div>
+								<div class="sm3">
+									<div class="money" v-if="item.pay_mode=='收款方'">+{{item.amount}}</div>
+									<div class="money" v-if="item.pay_mode=='付款方'" style="color: #f44336;">-{{item.amount}}</div>
+								</div>
+								<div class="clear"></div>
+							</div>
+						</div>
+					</div>
+					<div class="no_data" v-else style="padding-top: 50px;">
+						<i class="icon icon-48">&#xe61a;</i><br />没有数据
+					</div>
+				</div>
+			</div>
+		</div>
+		<script src="../../js/mui.min.js"></script>
+		<script src="../../js/app.js"></script>
+		<script src="../../js/vue.min.js"></script>
+		<script src="../../js/echarts.min.js"></script>
+		<script type="text/javascript">
+			var vm = new Vue({
+				el: "#app",
+				data: {
+					list: []
+				},
+				mounted: function() {
+					this.getData();
+					this.initChart();
+				},
+				methods: {
+					//获取数据
+					getData: function() {
+						request(urls().finance_list, {userId: getUser().id}, function(res) {
+							vm.list = res.data;
+							console.log("asd:"+JSON.stringify(res));
+							plus.nativeUI.closeWaiting();	
+						})
+						request(urls().chart_list, {userId: getUser().id}, function(res) {
+							vm.list = res.data;
+							console.log("asd:"+JSON.stringify(res));
+							plus.nativeUI.closeWaiting();	
+						})
+					},
+					initChart: function() {
+						var myChart = echarts.init(document.getElementById('main'));
+						var option = {
+							toolbox: {
+								show: true,
+								iconStyle: {
+									borderColor: "#6c6c6c",
+								},
+								feature: {
+									magicType: {
+										type: ['line', 'bar']
+									},
+								}
+							},
+							color: ['#4CAF50', '#F44336'],
+							grid: {
+								left: '15',
+								top: '30%',
+								right: '15',
+								bottom: '5',
+								containLabel: true
+							},
+							legend: {
+								data: ['收入', '支出']
+							},
+							xAxis: {
+								data: ['6月', '7月', '8月', '9月', '10月']
+							},
+							yAxis: {},
+							series: [{
+									name: '收入',
+									type: 'bar',
+									data: [300, 200, 320, 1000, 1600],
+									markPoint: {
+										label: {
+											color: 'white', //气泡中字体颜色
+										},
+										data: [{
+											type: 'max',
+											name: 'Max'
+										}]
+									}
+								},
+								{
+									name: '支出',
+									type: 'bar',
+									data: [100, 150, 500, 200, 650]
+								},
+							]
+						};
+						myChart.setOption(option);
+					}
+				}
+			})
+		</script>
+	</body>
+
+</html>

+ 51 - 36
pages/parttimerec/contract.html

@@ -4,21 +4,25 @@
 	<head>
 		<meta charset="UTF-8">
 		<title>添加</title>
-		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 		<link href="../../css/mui.min.css" rel="stylesheet" />
 		<link rel="stylesheet" href="../../css/animate.min.css" />
 		<style>
 			.mui-bar-nav~.mui-content{padding-top: 54px;}
-			.bg{padding: 20px;text-align: center;}
-			input{height: 50px!important;}
-			.m_box {padding: 10px 10px 25px 10px;box-shadow: 0 1px 6px #dbdbdb;}
+			.bg{padding: 15px;text-align: center;}
+			input{height: 45px!important;font-size: 14px;}
+			textarea{font-size: 14px;}
+			.m_box {padding: 10px 10px 25px 15px;box-shadow: 0 1px 6px #dbdbdb;}
 			.btn{width: 230px;margin-top: -21px;}
 			.img_list{font-size: 13px;color: darkgray;}
 			.row .sm3{padding: 5px;width: 33.33%;}
 			.img{width: 60px;border-radius: 3px;border: 1px solid darkgray;margin-bottom: 5px;}
-			.img.active{border: 2px solid green;}
+			.img.active{border: 1px solid green;}
 			.ht{text-align: left;padding-left: 20px;margin-top: -20px;padding-bottom: 10px;font-size: 14px;}
+			.row  label{float: left;padding-bottom: 7px;font-size: 15px;}
 			.sa.active{color: green;}
+			.mb6{margin-bottom: -6px!important;}
 		</style>
 	</head>
 
@@ -34,28 +38,31 @@
 						<div class="input-group">
 							合同接收人: {{items.mz}}
 						</div>
-						<div class="row">
-							<label>合同金额 <span></span></label>
+						<div class="row mb6" style="margin-top: -10px;">
+							<label>合同金额</label>
 							<input type="tel" v-model="item.contract_amount" placeholder="输入合同金额">
-						</div>	
-						<div class="row">
-							<label>合同内容 <span></span></label>
-							
-							<textarea rows="3"  v-model="item.contract_content" placeholder="输入合同内容"> </textarea>
-											
-						</div>	
+							<div class="clear"></div>
+						</div>
+						<div class="row mb6">
+							<label>合同内容</label>
+							<textarea rows="3" v-model="item.contract_content" placeholder="输入合同内容"> </textarea>
+							<div class="clear"></div>
+						</div>
+						<div class="row mb6">
+							<label>备注</label>
+							<textarea rows="3" v-model="item.remark" placeholder="输入备注"> </textarea>
+							<div class="clear"></div>
+						</div>
 						<div class="row">
-							<label>备注 <span></span></label>
-							
-							<textarea rows="3"  v-model="item.remark" placeholder="输入备注"> </textarea>
-											
-						</div>	
+							<label>请选择合同模板</label>
+							<div class="clear"></div>
+						</div>
 						<div class="img_list">
-							<div class="ht">请选择合同</div>
 							<div class="row">
 								<div class="sm3" v-for="(item,index) in contract_list" @click="select(item,index)">
-									<img :src="item.pic" class="img" :class="{active:curr==index}" @click.stop="view(item.pic)"/>
-									<div class="sa" :class="{active:curr==index}">{{item.name}}</div>
+									<img :src="item.contract_url" class="img" :class="{active:curr==index}"
+										@click.stop="view(item.pic)" />
+									<div class="sa" :class="{active:curr==index}">{{item.title}}</div>
 								</div>
 								<div class="clear"></div>
 							</div>
@@ -72,16 +79,16 @@
 			var vm = new Vue({
 				el: "#app",
 				data: {
-					contract_list:[{name:'范本1',pic:'../../images/ht1.jpg'},{name:'范本2',pic:'../../images/ht1.jpg'},{name:'范本3',pic:'../../images/ht1.jpg'}],
-					curr:0,
+					contract_list: [],
+					curr: 0,
 					item: {
-						//client: getUser().id,
-						templete_id:''
+						client: getUser().id,
+						templete_id: ''
 					},
 					items: {},
 				},
 				mounted: function() {
-					mui.plusReady(function() {
+					 mui.plusReady(function() {
 						console.log("res===" + JSON.stringify(plus.webview.currentWebview().param));
 						if (plus.webview.currentWebview().param != null) {
 							vm.items = plus.webview.currentWebview().param;
@@ -90,11 +97,12 @@
 							vm.item.client_status = 1; //发送表示委托人同意
 							
 							//获取合同列表
-							request(urls().contract_list,{}, function(res) {
-								vm.contract_list = res;
+							request(urls().contract_templete_list, {}, function(res) {
+								vm.contract_list = res.data;
+								setTimeout(() => {
 								plus.nativeUI.closeWaiting();
+							}, 500)
 							})
-							
 						}
 
 					})
@@ -113,14 +121,21 @@
 							} else {
 								mui.toast(res.msg);
 							}
-							plus.nativeUI.closeWaiting();
-						})
+							plsetTimeout(() => {
+								plus.nativeUI.closeWaiting();
+							}, 500)					})
 					},
-					select:function(item,index){
-						this.curr=index;
+					//选择合同模板
+					select: function(item, index) {
+						this.curr = index;
+						this.item.templete_id=item.id;
 					},
-					view:function(img){
-						plus.nativeUI.previewImage([img],{current:0,loop: true,indicator: 'number'});
+					view: function(img) {
+						plus.nativeUI.previewImage([img], {
+							current: 0,
+							loop: true,
+							indicator: 'number'
+						});
 					}
 				}
 			})

+ 1 - 1
tab/jz_list.html

@@ -17,7 +17,7 @@
 		    .mui-table-view-cell>a:not(.mui-btn){color: #5a5858;font-size: 15px;}
 		    .mui-table-view-cell>a:not(.mui-btn).active{color: #00a0ea;}
 		    .mui-table-view-cell:after{background-color: #dbdbdb;}
-		    .mui-content{margin-top: 85px;padding: 0px 15px 0px 15px;}
+		    .mui-content{margin-top: 85px;padding: 0px 10px 0px 10px;}
 		    .items{padding: 15px;font-size: 13px;background-color: white;border-radius: 3px;margin-top: 10px;}
 		    .title{font-size: 16px;}
 		    .items:last-child{border: 0px;}

+ 1 - 1
tab/list.html

@@ -17,7 +17,7 @@
 		    .mui-table-view-cell>a:not(.mui-btn){color: #5a5858;font-size: 15px;}
 		    .mui-table-view-cell>a:not(.mui-btn).active{color: #00a0ea;}
 		    .mui-table-view-cell:after{background-color: #dbdbdb;}
-		    .mui-content{margin-top: 85px;padding: 0px 15px 0px 15px;}
+		    .mui-content{margin-top: 85px;padding: 0px 10px 0px 10px;}
 		    .items{padding: 15px;font-size: 13px;margin-top: 10px;background-color: white;border-radius: 3px;}
 		    .title{font-size: 16px;}
 		    .items:last-child{border: 0px;}

+ 11 - 6
tab/mine.html

@@ -25,10 +25,11 @@
 			.ht{padding: 5px;background-color: #fffbee;color: #ed9f2b;font-size: 12px;}
 			.bbv{padding: 10px 18px 0px 18px;color: #7a7a7a;font-size: 14px;}
 			.bor{border-left: 5px solid #00a0ea;padding-right: 5px;}
+			[v-cloak] {display: none;}
 		</style>
 	</head>
 	<body>
-		<div class="mui-content" id="app">
+		<div class="mui-content" id="app" v-cloak>
 			<div class="top">
 				<div @click="page('user_info','../pages/user/user_info.html')">
 					<img src="../images/ls.png" v-if="user.header==null" />
@@ -36,7 +37,7 @@
 					<div class="nickName" v-if="user.nickName==null">未登录</div>
 					<div class="nickName" v-else>{{user.nickName}} </div>
 				</div>
-				<div class='qh' @click="qy()" v-if="user.nickName!=null"><i class="icon">&#xe863;</i>
+				<div class='qh' @click="qy()" v-if="user.nickName!=null"><i class="icon">&#xe60a;</i>
 					{{user.mType==0?'个人用户':'企业用户'}}
 				</div>
 			</div>
@@ -92,6 +93,10 @@
 						<div class="ioc" style="background-color: #1aaa67;"><i class="icon icons">&#xe8bb;</i></div>
 						<div class="tit">通知消息</div>
 					</div>
+					<div class="sm" @click="page('bill_list','../pages/bill/list.html')">
+						<div class="ioc" style="background-color: #FF9800"><i class="icon icons">&#xe6d4;</i></div>
+						<div class="tit">资金流水</div>
+					</div>
 					<div class="clear"></div>
 				</div>
 			</div>
@@ -128,12 +133,12 @@
 						this.user.header = urls().path + this.user.header;
 						if (this.user.mType == 1) {
 							mui.plusReady(function() {
-								request(urls().userInfo, {
-									id: getUser().id
-								}, function(res) {
+								request(urls().userInfo, {id: getUser().id}, function(res) {
 									vm.nums = res.nums;
 									vm.mSate = res.mSate;
-									plus.nativeUI.closeWaiting();
+									setTimeout(() => {
+								    plus.nativeUI.closeWaiting();
+							}, 500)
 								})
 							})
 						}

Некоторые файлы не были показаны из-за большого количества измененных файлов