浏览代码

no message

WIN-2CJ8FMUT9OF\Administrator 3 周之前
父节点
当前提交
5f2f3465db
共有 12 个文件被更改,包括 561 次插入557 次删除
  1. 49 49
      .env.js
  2. 86 70
      common/task/task-item.vue
  3. 1 1
      package-lock.json
  4. 1 1
      page_task/property/property.vue
  5. 7 7
      pages.json
  6. 42 119
      pages/index/index.vue
  7. 21 98
      pages/login/index.vue
  8. 125 110
      pages/login/model/agreement.vue
  9. 5 45
      pages/statistics/statistics.vue
  10. 10 20
      pages/task/task.vue
  11. 36 36
      service/router.js
  12. 178 1
      static/css/common.css

+ 49 - 49
.env.js

@@ -1,52 +1,52 @@
-let version = __wxConfig.envVersion;
+// let version = __wxConfig.envVersion;
 
-console.log('配置文件加载')
-// #ifdef MP-WEIXIN
-console.log('微信小程序验证')
-console.log(__wxConfig.envVersion)
-if (version === 'develop') {
-    //开发环境
-    ENV_CONFIG = require('.env.dev.js');
-    ENV_CONFIG.isCanvas2d = false
-}else if (__wxConfig.envVersion === 'release') {
-    //生产环境
-    ENV_CONFIG = require('.env.prod.js');
-    ENV_CONFIG.isCanvas2d = true
-}  else {
-    //体验环境
-    ENV_CONFIG = require('.env.prod.js');
-    ENV_CONFIG.isCanvas2d = true
-}
-//#endif
-// #ifndef MP-WEIXIN
-console.log('其它环境验证')
-if (version === 'develop') {
-    //开发环境
-    // ENV_CONFIG = require('.env.dev.js');
-    ENV_CONFIG = require('.env.trial.js');
-    ENV_CONFIG.isCanvas2d = false
-    // ENV_CONFIG = require('.env.prod.js');
-}else if(version === 'trial'){
-    //体验环境
-    ENV_CONFIG = require('.env.trial.js');
-    ENV_CONFIG.isCanvas2d = true
-} else{
+// console.log('配置文件加载')
+// // #ifdef MP-WEIXIN
+// console.log('微信小程序验证')
+// console.log(__wxConfig.envVersion)
+// if (version === 'develop') {
+//     //开发环境
+//     ENV_CONFIG = require('.env.dev.js');
+//     ENV_CONFIG.isCanvas2d = false
+// }else if (__wxConfig.envVersion === 'release') {
+//     //生产环境
+//     ENV_CONFIG = require('.env.prod.js');
+//     ENV_CONFIG.isCanvas2d = true
+// }  else {
+//     //体验环境
+//     ENV_CONFIG = require('.env.prod.js');
+//     ENV_CONFIG.isCanvas2d = true
+// }
+// //#endif
+// // #ifndef MP-WEIXIN
+// console.log('其它环境验证')
+// if (version === 'develop') {
+//     //开发环境
+//     // ENV_CONFIG = require('.env.dev.js');
+//     ENV_CONFIG = require('.env.trial.js');
+//     ENV_CONFIG.isCanvas2d = false
+//     // ENV_CONFIG = require('.env.prod.js');
+// }else if(version === 'trial'){
+//     //体验环境
+//     ENV_CONFIG = require('.env.trial.js');
+//     ENV_CONFIG.isCanvas2d = true
+// } else{
 
-    //生产环境
-    ENV_CONFIG = require('.env.prod.js');
-    ENV_CONFIG.isCanvas2d = true
-}
-//#endif
+//     //生产环境
+//     ENV_CONFIG = require('.env.prod.js');
+//     ENV_CONFIG.isCanvas2d = true
+// }
+// //#endif
 
-//给环境变量process.uniEnv赋值
-if (ENV_CONFIG !== null) {
-    process.uniEnv = {};
-    for (let key in ENV_CONFIG) {
-        process.uniEnv[key] = ENV_CONFIG[key];
-    }
-    // #ifdef H5
-    if (nodeEnv !== 'development') {
-        process.uniEnv.baseUrl = window.location.hostname;
-    }
-    //#endif
-}
+// //给环境变量process.uniEnv赋值
+// if (ENV_CONFIG !== null) {
+//     process.uniEnv = {};
+//     for (let key in ENV_CONFIG) {
+//         process.uniEnv[key] = ENV_CONFIG[key];
+//     }
+//     // #ifdef H5
+//     if (nodeEnv !== 'development') {
+//         process.uniEnv.baseUrl = window.location.hostname;
+//     }
+//     //#endif
+// }

+ 86 - 70
common/task/task-item.vue

@@ -1,47 +1,49 @@
 <template>
 	<view class="p-t20">
 		<view class="task-body m-lr20  animate__animated animate__fadeIn" v-if="taskList.length>0">
-			<view class="row-c page-box-bg-fff m-b20 r-30 box-shadow-197" v-for="(item,index) in taskList" :key="index"
-				@click="onTaskDetails(item)">
-				<view class="main_string" :style="{background:lineColor[item.product_id%3]}"></view>
-				<view class="row-c flex p-30">
-					<image class="wh-80" :src="item.product_icon" mode=""></image>
-					<view class="flex m-l20">
-						<view class="row-justify-sb center flex">
-							<text class="text-color-333 sys-weight-600">{{item.product_name}}</text>
-							<view class="row-c line-40" @click.stop="makingCall(item.phone)">
-								<text class="size-26 text-color-333">{{item.name}}</text>
-								<image class="wh-30 m-l16"
-									src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/task-phone.png"
-									mode=""></image>
-							</view>
+			<view class="item-box align-items-flex-start page-box-bg-fff m-b20 r-30 box-shadow-197 p-20 box-border-box"
+				v-for="(item,index) in taskList" :key="index" @click="onTaskDetails(item)">
+				<view class="main_string" :style="{background:lineColor[item.id%3]}"></view>
+				<view class="m-r20 item-img-box flex-shrink0">
+					<image :src="item.img" class="item-img r-40" mode="aspectFill"></image>
+					<view class="proportion-box box-border-box" :style="{background:lineColor[item.id%3]}">
+						{{item.proportion}}%
+					</view>
+				</view>
+				<view class="flex-1 flex-direction">
+					<view class="center row-justify-sb flex-1 mb-16">
+						<view class="text-overflow-ellipsis-one size-30 max-w-80">
+							{{item.name}}
 						</view>
-						<view
-							class="p-tb14 p-lr30 m-tb20 r-100 row-justify-sb center size-24 text-color-12 sys-from-background-color"
-							style="line-height: 40rpx;">
-							<text class="size-28 text-color-E21 sys-weight-600">{{item.quota}}万</text>
-							<text>{{item.stage_name}}</text>
-							<text>{{item.use_date}}用款</text>
+						<uni-icons v-if="!item.live" type="heart" size="16" color="#99A1AF"></uni-icons>
+						<uni-icons v-else type="heart-filled" size="16" color="#FB2C36"></uni-icons>
+					</view>
+					<view class="center flex-1 mb-18">
+						<uni-icons type="star-filled" size="16" color="#ff6b35"></uni-icons>
+						<view class="size-28 mr-8">
+							{{item.percentage}}
 						</view>
-						<view class="row-justify-sb center" style="line-height: 40rpx;">
-							<text class="size-24 text-color-999 flex">{{item.created_date}}</text>
-              <button class="button-background en_button sys-weight-500 text-color-fff size-28 r-100"
-                      style="width: 200rpx;height: 70rpx;line-height: 70rpx;" type="default"
-                      hover-class="is-hover" v-if="type === 1 && item.end_loan===0" @click.stop="goLoan(item.id)">完善贷后</button>
-              <image class="animate__animated animate__jello" style="width: 65rpx;height: 32rpx;"
-                     :src="'/static/img/task/task-status-'+item.status+'.png'" v-else-if="type === 1">
-              </image>
-
-							<image class="animate__animated animate__jello" style="width: 65rpx;height: 32rpx;"
-								:src="'/static/img/task/day-stast-'+item.status+'.png'" v-else-if="type === 5">
-							</image>
-
-							<button class="button-background en_button sys-weight-500 text-color-fff size-28 r-100"
-								style="width: 200rpx;height: 70rpx;line-height: 70rpx;" type="default"
-								hover-class="is-hover" v-else-if="type === 2"
-								@click.stop="takeTask(index)">领取任务</button>
-
-
+						<view class="mr-8 fc-6A7383 sys-size-24 point">•</view>
+						<view class="fc-6A7383 flex-1 sys-size-24 text-overflow-ellipsis-one max-w-60">
+							{{item.description}}
+						</view>
+					</view>
+					<view class="center mb-18">
+						<view class="sys-size-24 mr-8 sys-weight-600 fc-00A63D">
+							${{item.amount}}M
+						</view>
+						<view class="mr-8 fc-6A7383 sys-size-24 point">•</view>
+						<view class="mr-8 sys-size-24 fc-155DFB">
+							{{item.trend}}
+						</view>
+						<view class="mr-8 fc-6A7383 sys-size-24 point">•</view>
+						<view class="sys-size-24 fc-6A7383">
+							{{item.risk}}
+						</view>
+					</view>
+					<view class="center row-justify-sb">
+						<view class="size-22 fc-99A1AF">
+							#{{item.time}}
 						</view>
 					</view>
 				</view>
@@ -53,17 +55,12 @@
 </template>
 
 <script>
-	import EnButton from "@/components/en-utils/en-button/en-button.vue";
-	import {
-		takeTask
-	} from "@/api/task";
 	import tools from "@/service/tools";
 	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
 
 	export default {
 		components: {
-			EnBlank,
-			EnButton
+			EnBlank
 		},
 		props: {
 			type: {
@@ -105,32 +102,14 @@
 			}
 		},
 		methods: {
-      goLoan(id){
-        uni.navigateTo({
-          url: '/pages/loan/module/perfect_rate?id=' + id
-        });
-      },
+			goLoan(id) {
+				uni.navigateTo({
+					url: '/pages/loan/module/perfect_rate?id=' + id
+				});
+			},
 			makingCall(phone) {
 				tools.makingCall(phone)
 			},
-			takeTask(index) {
-				if (this.isAjax) {
-					return;
-				}
-				this.isAjax = true;
-				takeTask({
-					'id': this.taskList[index].id
-				}).then((res) => {
-					this.isAjax = false
-					if (res.code === 1) {
-						tools.success(res.msg)
-						// this.taskList.splice(index, 1)
-						this.$emit('takeTask', index)
-					} else {
-						tools.error(res.msg)
-					}
-				})
-			},
 			getIconStatus() {
 				return `https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/${this.iconList[this.iconStatus]}.png`
 			},
@@ -180,14 +159,51 @@
 		height: 40rpx;
 	}
 
+	.item-box {
+		position: relative;
+	}
+
 	.main_string {
 		width: 6rpx;
-		height: 60rpx;
+		height: 60%;
 		border-radius: 100rpx;
-		background: red;
+		position: absolute;
+		top: calc(50% - 30%);
+		left: 0;
 	}
 
 	button::after {
 		border: none;
 	}
+
+	.item-img {
+		width: 160rpx;
+		height: 160rpx;
+	}
+
+	.item-img-box {
+		width: 160rpx;
+		height: 160rpx;
+		position: relative;
+	}
+
+	.proportion-box {
+		position: absolute;
+		bottom: 10rpx;
+		right: 10rpx;
+		padding: 4rpx 12rpx;
+		color: #fff;
+		border-radius: 10rpx;
+		font-size: 20rpx;
+	}
+
+	.max-w-80 {
+		max-width: 398rpx;
+	}
+	.max-w-60 {
+		max-width: 60%;
+	}
+	.point{
+		
+	}
 </style>

+ 1 - 1
package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "wh-new-xcx",
+  "name": "assess-app",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {

+ 1 - 1
page_task/property/property.vue

@@ -189,7 +189,7 @@
 		position: absolute;
 	}
 
-	/deep/ .uni-collapse {
+	::v-deep .uni-collapse {
 		background-color: #EEF1F7 !important;
 		border-radius: 30rpx;
 	}

+ 7 - 7
pages.json

@@ -1,5 +1,12 @@
 {
   "pages": [
+	  {
+	    "path": "pages/login/index",
+	    "style": {
+	      "navigationBarTitleText": "登陆",
+	      "disableScroll": true
+	    }
+	  },
     {
       "path": "pages/index/index",
       "style": {
@@ -7,13 +14,6 @@
         "navigationBarTextStyle": "white"
       }
     },
-    {
-      "path": "pages/login/index",
-      "style": {
-        "navigationBarTitleText": "登陆",
-        "disableScroll": true
-      }
-    },
     {
       "path": "pages/login/register",
       "style": {

+ 42 - 119
pages/index/index.vue

@@ -1,18 +1,17 @@
 <template>
 	<view class="total-page page-env-160 page-box">
-		<Nav :title="'工作台导航'" :back="false" :is_fixed="true" :opacity="scrollTop" :justify="'left'" :color="'#fff'">
+		<!-- 		<Nav :title="'工作台导航'" :back="false" :is_fixed="true" :opacity="scrollTop" :justify="'left'" :color="'#fff'">
 			<view class="p-20">
 				<IndexPersonal ref="memberObj" @setMemberData="setMemberData"></IndexPersonal>
 				<IndexColumn ref="columnObj" :memberData="memberData" :model-time="modelTime"></IndexColumn>
 			</view>
-		</Nav>
-		<view class="p-lr20 m-tb30">
+		</Nav> -->
+		<view class="p-20">
 			<view class="personal m-lr10 row-justify-sb center">
 				<text class="sys-weight-600">我的待办</text>
 				<view class="row-justify-sb center">
 					<view class="personal_text">
-						<uni-datetime-picker type="date" v-model="modelTime" @change="onChangeTime"
-							@touchmove.stop.prevent="moveHandle">
+						<uni-datetime-picker type="date">
 							<view class="personal sys-background-fff size-24 sys-weight-600 p-lr30 r-40">{{indexTime}}
 							</view>
 						</uni-datetime-picker>
@@ -20,32 +19,6 @@
 				</view>
 			</view>
 		</view>
-		<view class="page-box-bg-fff m-t30 m-lr20 r-30 row-justify-sb flex p-b30" v-show="backlogList.length>0">
-			<view class="">
-				<view class="row-c">
-					<view class="pie_chart column-c">
-						<PieChart ref="pieChart"></PieChart>
-						<text class="size-24 text-color-12">任务完成情况</text>
-					</view>
-					<view class="m-b30">
-						<view class="row-c p-tb10" style="text-align: center;" v-for="(item,index) in chartList"
-							:key="index">
-							<view class="row-c">
-								<view class="row-c" style="line-height: 30rpx;">
-									<view class="chart_dot" :style="{backgroundColor:item.color}"></view>
-									<text class="m-l16 size-28 text-color-787">{{item.name}}</text>
-								</view>
-							</view>
-							<text class="text-color-12 sys-weight-600 m-l20 size-28">{{item.value}}%</text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="circle_chart column-sb-c m-t10">
-				<CircleChart ref="circleObj" :width="'185rpx'" :height="'185rpx'" bgColor="#0FB160"></CircleChart>
-				<text class="size-24 text-color-12">任务进度</text>
-			</view>
-		</view>
 		<TaskItem :type="5" :taskList="backlogList"></TaskItem>
 		<Tab class="tabs_height" :tab-index="0"></Tab>
 	</view>
@@ -96,19 +69,45 @@
 					value: "0"
 				}, ],
 				memberData: {
-          draftNum: 0,
-          creditNum: 0,
-          noticeNum: 0,
-          take_num: 0,
-          unreadNum: 0,
-        },
+					draftNum: 0,
+					creditNum: 0,
+					noticeNum: 0,
+					take_num: 0,
+					unreadNum: 0,
+				},
 				statisticsData: {
 					endNum: 0,
 					exceedDate: 0,
 					lagDate: 0,
 					totalNum: 0,
 				},
-				backlogList: [],
+				backlogList: [{
+						img: 'https://copyright.bdstatic.com/vcg/creative/d6c6a351be227d5d3b3e8c1f96f56e50.jpg@h_1280',
+						proportion: '37',
+						name: 'Downtown Office Tower -Prime Location',
+						live: false,
+						percentage: '3.1',
+						description: 'Metro Properties LLC',
+						amount: '5.0',
+						trend: '7.5',
+						risk: 'LTV 37%',
+						time: '2024-001',
+						id: 1,
+					},
+					{
+						img: 'https://pic.rmb.bdstatic.com/bjh/3ea195479f8a/250303/f53064611fee7c092312f3b6ea8e439d.jpeg',
+						proportion: '71',
+						name: 'Tower -Prime Location',
+						live: true,
+						percentage: '5.1',
+						description: 'Healthcare Properties Inc',
+						amount: '5.0',
+						trend: '7.5',
+						risk: 'LTV 37%',
+						time: '2024-001',
+						id: 2,
+					}
+				],
 				weekData: [],
 				weekNum: 1,
 				dayNum: 0,
@@ -119,90 +118,14 @@
 				total: null
 			}
 		},
-		watch: {
-			'modelTime': function() {
-				this.startList()
-			}
-		},
-		onLoad() {
-			uni.hideTabBar()
-		},
-		onShow() {
-			this.startList()
-			this.$refs.memberObj.getMemberInfo()
-			this.$refs.columnObj.getSysCashier()
-		},
+		watch: {},
+		onLoad() {},
+		onShow() {},
 		onPageScroll(res) {
 			this.scrollTop = res.scrollTop / 120
 		},
-		onReachBottom() {
-			this.getDayBacklogList()
-
-		},
-		methods: {
-			getDateBacklogStatistics() {
-				getDateBacklogStatistics({
-					'dateNum': this.modelTime
-				}).then(res => {
-					if (res.code === 1) {
-						if (res.data.totalNum > 0) {
-							this.chartList[0].value = (res.data.exceedNum / res.data.totalNum * 100).toFixed(0) *
-								1;
-							this.chartList[1].value = (res.data.lagNum / res.data.totalNum * 100).toFixed(0) * 1;
-							this.chartList[2].value = (res.data.normalNum / res.data.totalNum * 100).toFixed(0) *
-								1;
-							setTimeout(() => {
-								this.$refs.circleObj.setServerData((res.data.endNum / res.data.totalNum)
-									.toFixed(2) * 1)
-								this.$refs.pieChart.setServerData(this.chartList)
-							}, 50)
-
-						} else {
-							this.chartList[0].value = 0;
-							this.chartList[1].value = 0;
-							this.chartList[2].value = 0;
-							setTimeout(() => {
-								this.$refs.pieChart.setNoData()
-								this.$refs.circleObj.notServerData()
-							}, 50)
-						}
-
-					}
-				})
-			},
-			startList() {
-				this.backlogList = [];
-				this.page = 1;
-				this.total = null;
-				this.getDayBacklogList();
-				this.getDateBacklogStatistics()
-			},
-			getDayBacklogList() {
-				if (this.total !== null && this.total <= this.backlogList.length) {
-					return
-				}
-				getDayBacklogList({
-					'dateNum': this.modelTime,
-					'page': this.page
-				}).then((res) => {
-					if (res.code === 1) {
-						this.backlogList.push(...res.data.items)
-						this.total = res.data.total
-							++this.page
-					}
-				})
-			},
-
-			setMemberData(memberData) {
-				this.memberData = memberData
-			},
-			onChangeTime(e) {
-				this.indexTime = e
-			},
-			moveHandle() {
-				return false
-			},
-		},
+		onReachBottom() {},
+		methods: {},
 	}
 </script>
 <style lang="scss" scoped>

+ 21 - 98
pages/login/index.vue

@@ -23,8 +23,7 @@
 						:class="{'apply-shake':codedShake}">
 						<en-input type="number" class="login-input" placeholder="请输入验证码" v-model="loginData.code"
 							maxlength="6"></en-input>
-						<view class="login-send text-color-dominant sys-size-28 sys-weight-400" @click="getVerifiedCode"
-							v-if="timeNum<=0">发送验证码</view>
+						<view class="login-send text-color-dominant sys-size-28 sys-weight-400" v-if="timeNum<=0">发送验证码</view>
 						<view class="login-send text-color-dominant sys-size-28 sys-weight-400" v-else>{{ timeNum }} s
 						</view>
 					</view>
@@ -59,31 +58,20 @@
 				<view class="wx-text sys-size-24 text-color-7c sys-weight-400">第三方登录</view>
 				<view class="wx-wire"></view>
 			</view>
-			<image @click="wxLogin" class="wx-logo"
+			<image class="wx-logo"
 				src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/wx-img.png"
 				mode="aspectFill"></image>
 		</view>
-
-
 	</view>
 </template>
 <script>
-	import {
-		commonSend
-	} from "@/api/common";
 	import tools from "@/service/tools";
-	import {
-		login,
-		wxLogin
-	} from "@/api/login";
 	import EnInput from "@/components/en-from/en-input/index.vue";
 	import Agreement from "@/pages/login/model/agreement.vue";
-
 	export default {
 		components: {
 			Agreement,
 			EnInput
-
 		},
 		data() {
 			return {
@@ -114,50 +102,19 @@
 				this.verifyData()
 			}
 		},
-		mounted() {
-
-		},
+		mounted() {},
 		methods: {
 			wxLogin() {
-				if (!this.isConsent) {
-					tools.error('请阅读并同意协议');
-					this.$refs.agreement.setConsentShake()
-					return;
-				}
 				if (this.isAjax) {
 					return false;
 				}
 				this.isAjax = true;
-				uni.login({
-					provider: "weixin",
-					success: (loginRes) => {
-						wxLogin({
-							'code': loginRes.code
-						}).then((res) => {
-							if (res.code === 403) {
-								tools.error('当前用户未注册')
-								// uni.setStorageSync('openid', res.data.openid)
-								setTimeout(() => {
-									//跳转至注册页面
-									uni.navigateTo({
-										url: '/pages/login/register'
-									});
-								}, 1500)
-							} else if (res.code === 0) {
-                if (res.data.status * 1 === 0){
-                  tools.error('信息正在审核...')
-                }else {
-                  tools.setLoginData(res.data, true)
-                }
-							} else {
-								tools.error(res.msg)
-							}
-							this.isAjax = false;
-						})
-					}
-				})
-
-
+				setTimeout(() => {
+					//跳转至注册页面
+					uni.navigateTo({
+						url: '/pages/login/register'
+					});
+				}, 1500)
 			},
 			goToUrl(type) {
 				if (type === 1) {
@@ -212,14 +169,10 @@
 					tools.error('请阅读并同意协议');
 					return;
 				}
-        this.loginData.tabType=this.type===1?1:0
-				login(this.loginData).then((res) => {
-					if (res.code === 0) {
-						tools.setLoginData(res.data, true)
-					} else {
-						tools.error(res.msg)
-					}
-				})
+				this.loginData.tabType = this.type === 1 ? 1 : 0
+				uni.reLaunch({
+					url: '/pages/index/index'
+				});
 			},
 			verifyData() {
 				if (this.type === 1) {
@@ -228,43 +181,6 @@
 					this.isLogin = this.loginData.phone !== '' && this.loginData.password !== '' && this.isConsent
 				}
 			},
-			getVerifiedCode() {
-				if (this.timeNum > 0) {
-					return;
-				}
-				if (this.loginData.phone === '') {
-					tools.error("请输入手机号码")
-					return;
-				}
-				let regPhone = /^(?:(?:\+|00)86)?1\d{10}$/;
-				if (!regPhone.test(this.loginData.phone)) {
-					tools.error("手机号码格式错误")
-					return;
-				}
-        uni.login({
-          provider: "weixin",
-          success: (loginRes) => {
-            commonSend({
-              'phone': this.loginData.phone,
-              'smsType': 'retrieve',
-              'wxCode':loginRes.code
-            }).then((res) => {
-              if (res.code === 0) {
-                tools.success(res.msg);
-                this.timeNum = 60;
-                this.timer = setInterval(() => {
-                  this.timeNum--;
-                  if (this.timeNum <= 0) {
-                    clearInterval(this.timer);
-                  }
-                }, 1000);
-              } else {
-                tools.error(res.msg);
-              }
-            })
-          }
-        })
-			},
 			setIsConsent() {
 				this.isConsent = !this.isConsent
 			},
@@ -371,6 +287,7 @@
 
 					.login-input {
 						width: 100%;
+						border: none;
 					}
 				}
 
@@ -385,6 +302,7 @@
 
 					.login-input {
 						width: calc(100% - 140rpx);
+						border: none;
 					}
 
 					.login-send {
@@ -465,4 +383,9 @@
 		}
 
 	}
-</style>
+
+	::v-deep .en-input {
+		border: none;
+		font-size: 14px
+	}
+</style>

+ 125 - 110
pages/login/model/agreement.vue

@@ -1,123 +1,138 @@
 <template>
-  <view class="agreement-box" @touchmove.stop.prevent="moveHandle">
-    <view class="input-agreement animate__animated" :class="{'animate__shakeX':consentShake}" @click="setIsConsent" >
-      <image class="agreement-agree" v-if="isConsent" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/Checked1@3x.png" mode="aspectFill"></image>
-      <image class="agreement-agree" v-else src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/Checked2@3x.png" mode="aspectFill"></image>
-      <view class="agreement-text text-color-666 sys-size-24">已阅读并同意</view>
-      <view class="agreement-text text-color-dominant sys-size-24" @click.stop="showContent(1)">《隐私政策》</view>
-      <view class="agreement-text text-color-dominant sys-size-24" @click.stop="showContent(2)">《使用说明》</view>
-    </view>
-    <view >
-      <uni-popup ref="consentObj">
-        <view class="iPhone-padding agreement-data sys-background-fff">
-          <image class="data-title" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/consent_bg.png" mode="widthFix"></image>
-          <view class="data-content">
-            <scroll-view class="content-box" scroll-y="true"  scroll-left="120">
-              <rich-text :nodes="content" v-if="type===1"></rich-text>
-              <rich-text :nodes="contentLogin" v-else></rich-text>
-            </scroll-view>
-          </view>
-          <view class="data-but text-color-fff sys-background-dominant sys-size-30 sys-weight-500 sys-radius-100" @click.stop="setConsent()">{{type===1?'同意':'确认'}}</view>
-        </view>
+	<view class="agreement-box" @touchmove.stop.prevent="moveHandle">
+		<view class="input-agreement animate__animated" :class="{'animate__shakeX':consentShake}" @click="setIsConsent">
+			<image class="agreement-agree" v-if="isConsent"
+				src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/Checked1@3x.png"
+				mode="aspectFill"></image>
+			<image class="agreement-agree" v-else
+				src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/Checked2@3x.png"
+				mode="aspectFill"></image>
+			<view class="agreement-text text-color-666 sys-size-24">已阅读并同意</view>
+			<view class="agreement-text text-color-dominant sys-size-24" @click.stop="showContent(1)">《隐私政策》</view>
+			<view class="agreement-text text-color-dominant sys-size-24" @click.stop="showContent(2)">《使用说明》</view>
+		</view>
+		<view>
+			<uni-popup ref="consentObj">
+				<view class="iPhone-padding agreement-data sys-background-fff">
+					<image class="data-title"
+						src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/login/consent_bg.png"
+						mode="widthFix"></image>
+					<view class="data-content">
+						<scroll-view class="content-box" scroll-y="true" scroll-left="120">
+							<rich-text :nodes="content" v-if="type===1"></rich-text>
+							<rich-text :nodes="contentLogin" v-else></rich-text>
+						</scroll-view>
+					</view>
+					<view
+						class="data-but text-color-fff sys-background-dominant sys-size-30 sys-weight-500 sys-radius-100"
+						@click.stop="setConsent()">{{type===1?'同意':'确认'}}</view>
+				</view>
 
-      </uni-popup>
-    </view>
+			</uni-popup>
+		</view>
 
-  </view>
+	</view>
 
 </template>
 
 <script>
-import tools from "@/service/tools";
-import {getMessage} from "@/api/common";
+	import tools from "@/service/tools";
+	import {
+		getMessage
+	} from "@/api/common";
 
-export default {
-  name:'agreement',
-  data() {
-    return {
-      isConsent:false,
-      consentShake:false,
-      content:'',
-      contentLogin:'<div>1、当前小程序为大连中山万汇小额贷款有限公司(一下均使用本公司)项目管理应用</div><div>2、此应用为本公司提供项目流程进度管理及流程监管</div><div>3、使用用户为授权的本公司员工,外部人员均无访问权限</div>',
-      type:1
-    };
-  },
-  mounted() {
-    this.getMessage()
-  },
-  methods:{
-    setConsent(){
-      this.isConsent=true
-      this.$emit('input', this.isConsent)
-      this.$refs.consentObj.close('bottom')
-    },
-    async getMessage() {
-      const res = await getMessage({
-        type: 2
-      })
-      if (res.code === 0) {
-        this.content = tools.imgDeal(res.data)
-      }
-    },
+	export default {
+		name: 'agreement',
+		data() {
+			return {
+				isConsent: false,
+				consentShake: false,
+				content: '',
+				contentLogin: '<div>1、当前小程序为大连中山万汇小额贷款有限公司(一下均使用本公司)项目管理应用</div><div>2、此应用为本公司提供项目流程进度管理及流程监管</div><div>3、使用用户为授权的本公司员工,外部人员均无访问权限</div>',
+				type: 1
+			};
+		},
+		mounted() {},
+		methods: {
+			setConsent() {
+				this.isConsent = true
+				this.$emit('input', this.isConsent)
+				this.$refs.consentObj.close('bottom')
+			},
+			async getMessage() {
+				const res = await getMessage({
+					type: 2
+				})
+				if (res.code === 0) {
+					this.content = tools.imgDeal(res.data)
+				}
+			},
 
-    showContent(type){
-      this.type=type
-      this.$refs.consentObj.open('bottom')
-    },
-    moveHandle() {
-      return false
-    },
-    setIsConsent(){
-      this.isConsent=!this.isConsent
-      this.$emit('input', this.isConsent)
-    },
-    setConsentShake(){
-      this.consentShake=true
-      console.log('consentShake:'+this.consentShake)
-      setTimeout(()=>{
-        this.consentShake=false
-      },500)
-    }
-  }
-}
+			showContent(type) {
+				this.type = type
+				this.$refs.consentObj.open('bottom')
+			},
+			moveHandle() {
+				return false
+			},
+			setIsConsent() {
+				this.isConsent = !this.isConsent
+				this.$emit('input', this.isConsent)
+			},
+			setConsentShake() {
+				this.consentShake = true
+				console.log('consentShake:' + this.consentShake)
+				setTimeout(() => {
+					this.consentShake = false
+				}, 500)
+			}
+		}
+	}
 </script>
 
 <style lang="scss">
-.agreement-box{
-  margin-top: 25rpx;
-  height: 32rpx;
-  .input-agreement{
-    display: flex;
-    justify-content: flex-start;
-    align-items: center;
-    .agreement-agree{
-      width: 32rpx;
-      height: 32rpx;
-      transition: .5s ease;
-    }
-    .agreement-text{
-      margin-left: 18rpx;
-    }
-  }
-  .agreement-data{
-    border-radius: 30rpx 30rpx 0 0;
-    .data-title{
-      width: 100%;
-      border-radius: 30rpx 30rpx 0 0;
-    }
-    .data-content{
-      padding: 20rpx 40rpx;
-      .content-box{
-        height: 600rpx;
-      }
-    }
-    .data-but{
-      height: 96rpx;
-      line-height: 96rpx;
-      text-align: center;
-      margin: 0 75rpx;
-    }
-  }
-}
+	.agreement-box {
+		margin-top: 25rpx;
+		height: 32rpx;
 
-</style>
+		.input-agreement {
+			display: flex;
+			justify-content: flex-start;
+			align-items: center;
+
+			.agreement-agree {
+				width: 32rpx;
+				height: 32rpx;
+				transition: .5s ease;
+			}
+
+			.agreement-text {
+				margin-left: 18rpx;
+			}
+		}
+
+		.agreement-data {
+			border-radius: 30rpx 30rpx 0 0;
+
+			.data-title {
+				width: 100%;
+				border-radius: 30rpx 30rpx 0 0;
+			}
+
+			.data-content {
+				padding: 20rpx 40rpx;
+
+				.content-box {
+					height: 600rpx;
+				}
+			}
+
+			.data-but {
+				height: 96rpx;
+				line-height: 96rpx;
+				text-align: center;
+				margin: 0 75rpx;
+			}
+		}
+	}
+</style>

+ 5 - 45
pages/statistics/statistics.vue

@@ -1,40 +1,7 @@
 <template>
-	<view class="total-page page_env page-box container sys-list-background-color"
-		:style="[{'background-size':`100% ${$tools.topHeight()+bgSize}px`},{'background-image':`url(${bg_path})`}]">
-		<Nav :title="dateTypeObj.dateType===1?timeData[0]:timeData[0]+'--'+timeData[1]" :genre="3" :back="false" is_icons is_fixed :bgHeight="bgHeight"
-			:navsHeight="navsHeight" :opacity="scrollTop" :justify="'left'" :color="'#fff'" :fixedHeight="160">
-			<view class="task-tabs m-t20" :style="{top:`${$tools.topHeight()}px`}">
-				<HeadFilter v-model="dateTypeObj" @onTopSelect="onTopSelect" :user-status-list="userStatusList"
-					@setTimeDate="setTimeDate"></HeadFilter>
-				<view class="m-lr30 m-t30 bor-255 r-100" v-if="dateTypeObj.censusUserType === 7">
-					<uv-subsection :list="list" :bgColor="'rgba(255,255,255,0.1)'" :activeColor="'#0FB160'"
-						key-name="product_name" :inactiveColor="'#004615'" :fontSize="14"
-						custom-style="height: 70rpx;border-radius: 30rpx;" custom-item-style="border-radius: 30rpx;"
-						:current="current" @change="onChange"></uv-subsection>
-				</view>
-			</view>
-		</Nav>
-		<view class="">
-
-			<view class=" p-lr30">
-				<!-- 汇总统计-公司 -->
-				<GeneralStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 3"></GeneralStat>
-				<!-- 资金统计-部门 -->
-				<CapitalStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 4"></CapitalStat>
-				<!-- 提放统计-部门 -->
-				<DrawingsStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 6"></DrawingsStat>
-				<!-- 消金统计-部门 -->
-				<ConsumeStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 7"></ConsumeStat>
-				<!-- 任务统计-个人 -->
-				<TaskStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 1"></TaskStat>
-				<!-- 业绩统计-个人 -->
-				<PerformanceStat :date-type-obj="dateTypeObj" v-if="dateTypeObj.censusUserType === 2"></PerformanceStat>
-				<view class="bottom_view"></view>
-			</view>
-		</view>
+	<view class="">
 		<Tab :tab-index="3"></Tab>
 	</view>
-
 </template>
 
 <!--
@@ -107,16 +74,9 @@
 				},
 			}
 		},
-		onLoad() {
-			uni.hideTabBar()
-		},
-		onPageScroll(res) {
-			this.scrollTop = res.scrollTop / 120
-		},
-		mounted() {
-			this.getUserType()
-			this.getConsumeType()
-		},
+		onLoad() {},
+		onPageScroll(res) {},
+		mounted() {},
 
 		computed: {
 			// getBgHeight() {
@@ -232,4 +192,4 @@
 		/* 内容区域的背景颜色 */
 		/* 其他样式按需添加 */
 	}
-</style>
+</style>

+ 10 - 20
pages/task/task.vue

@@ -1,6 +1,5 @@
 <template>
 	<view class="total-page page-box page-env-20 scroll_content task-bg">
-		<Nav :title="'任务'" :genre="1" :back="false" is_fixed></Nav>
 		<view>
 			<Search :placeholder="'客户姓名或电话'" @setSearch="setSearch"></Search>
 			<view style="height: 100rpx;">
@@ -81,22 +80,13 @@
 				backlogList: [],
 			}
 		},
-    onLoad() {
-      let taskType=uni.getStorageSync('taskType')
-      if(taskType){
-        uni.removeStorage('taskType')
-        this.current=taskType
-      }
-      this.startList()
-    },
-		mounted() {
-
-		},
+		onLoad() {},
+		mounted() {},
 		methods: {
-      setSearch(text){
-        this.selectStr=text
-        this.startList()
-      },
+			setSearch(text) {
+				this.selectStr = text
+				this.startList()
+			},
 			setProductId(productId) {
 				console.log('productId:' + productId)
 				this.productId = productId
@@ -160,9 +150,9 @@
 			},
 			// 下拉刷新
 			onRefresh() {
-        setTimeout(() => {
-          this.$refs.scroll.onEndPulling()
-        }, 200)
+				setTimeout(() => {
+					this.$refs.scroll.onEndPulling()
+				}, 200)
 				this.startList()
 			},
 			// 滚动到底部
@@ -181,4 +171,4 @@
 </script>
 <style lang="scss" scoped>
 
-</style>
+</style>

+ 36 - 36
service/router.js

@@ -21,46 +21,46 @@ router.beforeEach(async (to, from, next) => {
     // tools.showLoading()
     console.log(to)
     console.log(from)
-    if(to.path==='/pages/login/index' && from.path!=='/pages/login/index'){
-        uni.setStorageSync('pageFullPath',from.fullPath)
-    }else if(from.path==='/pages/login/index'){
-        let oldFullPath= uni.getStorageSync('pageFullPath')
-        if(oldFullPath){
-            uni.setStorageSync('pageFullPath','')
-            next(oldFullPath);
-        }
-    }
+    // if(to.path==='/pages/login/index' && from.path!=='/pages/login/index'){
+    //     uni.setStorageSync('pageFullPath',from.fullPath)
+    // }else if(from.path==='/pages/login/index'){
+    //     let oldFullPath= uni.getStorageSync('pageFullPath')
+    //     if(oldFullPath){
+    //         uni.setStorageSync('pageFullPath','')
+    //         next(oldFullPath);
+    //     }
+    // }
 
-    let userToken=''
-    if (to.query.token ) {
-        userToken = to.query.token;
-        uni.setStorageSync('token',userToken)
-    }else {
-        userToken = uni.getStorageSync('token')
-    }
-    console.log('userToken:'+userToken)
+    // let userToken=''
+    // if (to.query.token ) {
+    //     userToken = to.query.token;
+    //     uni.setStorageSync('token',userToken)
+    // }else {
+    //     userToken = uni.getStorageSync('token')
+    // }
+    // console.log('userToken:'+userToken)
 
-    if(whiteList.indexOf(to.path)<0 && !userToken){
-        console.log('----------------------')
-       // await tools.weiXinLogin().then(isLogin=>{
-       //     console.log('-----------isLogin-----------')
-       //     if(isLogin===-1){
-       //         next('/pages/login/register');
-       //     }else if(isLogin){
-       //         next();
-       //     }else {
-       //         next('/pages/login/index');
-       //     }
-       // }).catch(e=>{
-       //     next('/pages/login/index');
-       // })
-        next('/pages/login/index');
+    // if(whiteList.indexOf(to.path)<0 && !userToken){
+    //     console.log('----------------------')
+    //    // await tools.weiXinLogin().then(isLogin=>{
+    //    //     console.log('-----------isLogin-----------')
+    //    //     if(isLogin===-1){
+    //    //         next('/pages/login/register');
+    //    //     }else if(isLogin){
+    //    //         next();
+    //    //     }else {
+    //    //         next('/pages/login/index');
+    //    //     }
+    //    // }).catch(e=>{
+    //    //     next('/pages/login/index');
+    //    // })
+    //     next('/pages/login/index');
 
-        // next();
-    }else {
+    //     // next();
+    // }else {
+    //     next();
+    // }
         next();
-    }
-
 });
 // 全局路由后置守卫
 router.afterEach((to, from) => {

+ 178 - 1
static/css/common.css

@@ -76,6 +76,25 @@
 	background-color: rgba(255, 255, 255, 0.2);
 }
 
+.box-border-box {
+	box-sizing: border-box;
+}
+
+.text-overflow-ellipsis-one {
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	word-break: break-all;
+}
+
+.flex-1 {
+	flex: 1;
+}
+
+.flex-shrink0 {
+	flex-shrink: 0;
+}
+
 /*flex布局*/
 .flex {
 	flex: 1;
@@ -97,7 +116,10 @@
 .justify-left {
 	justify-content: left;
 }
-
+.flex-direction {
+	display: flex;
+	flex-direction: column;
+}
 .row {
 	display: flex;
 	flex-direction: row;
@@ -127,6 +149,11 @@
 	justify-content: space-between;
 }
 
+.align-items-flex-start {
+	display: flex;
+	align-items: flex-start;
+}
+
 .row-justify-c {
 	display: flex;
 	flex-direction: row;
@@ -608,6 +635,24 @@
 	background: #CCCCCC;
 }
 
+.bgc-6A7383 {
+	background-color: #6A7383;
+}
+
+.fc-6A7383 {
+	color: #6A7383;
+}
+.fc-00A63D {
+	color: #00A63D;
+}
+.fc-155DFB {
+	color: #155DFB;
+}
+.fc-99A1AF {
+	color: #99A1AF;
+}
+
+
 /*圆角*/
 .r-8 {
 	border-radius: 8rpx;
@@ -907,4 +952,136 @@
 
 .sys-tab-height {
 	height: 134rpx;
+}
+
+.mb-2 {
+	margin-bottom: 2rpx;
+}
+
+.mb-4 {
+	margin-bottom: 4rpx;
+}
+
+.mb-6 {
+	margin-bottom: 6rpx;
+}
+
+.mb-8 {
+	margin-bottom: 8rpx;
+}
+
+.mb-10 {
+	margin-bottom: 10rpx;
+}
+
+.mb-12 {
+	margin-bottom: 12rpx;
+}
+
+.mb-14 {
+	margin-bottom: 14rpx;
+}
+
+.mb-16 {
+	margin-bottom: 16rpx;
+}
+
+.mb-18 {
+	margin-bottom: 18rpx;
+}
+
+.mb-20 {
+	margin-bottom: 20rpx;
+}
+
+.mb-22 {
+	margin-bottom: 22rpx;
+}
+
+.mb-24 {
+	margin-bottom: 24rpx;
+}
+
+.mb-26 {
+	margin-bottom: 26rpx;
+}
+
+.mb-28 {
+	margin-bottom: 28rpx;
+}
+
+.mb-32 {
+	margin-bottom: 32rpx;
+}
+
+.mb-40 {
+	margin-bottom: 40rpx;
+}
+
+.mb-48 {
+	margin-bottom: 48rpx;
+}
+
+.mb-50 {
+	margin-bottom: 50rpx;
+}
+
+.mb-52 {
+	margin-bottom: 52rpx;
+}
+
+.mb-60 {
+	margin-bottom: 60rpx;
+}
+
+.mb-64 {
+	margin-bottom: 64rpx;
+}
+
+.mb-80 {
+	margin-bottom: 80rpx;
+}
+
+.mb-108 {
+	margin-bottom: 108rpx;
+}
+
+.mr-8 {
+	margin-right: 8rpx;
+}
+
+.mr-10 {
+	margin-right: 10rpx;
+}
+
+.mr-12 {
+	margin-right: 12rpx;
+}
+
+.mr-16 {
+	margin-right: 16rpx;
+}
+
+.mr-18 {
+	margin-right: 18rpx;
+}
+
+.mr-20 {
+	margin-right: 20rpx;
+}
+
+.mr-24 {
+	margin-right: 24rpx;
+}
+
+.mr-30 {
+	margin-right: 30rpx;
+}
+
+.mr-32 {
+	margin-right: 32rpx;
+}
+
+.mr-40 {
+	margin-right: 40rpx;
 }