Sfoglia il codice sorgente

style:修改相关页面显示BUG

443166679@qq.com 1 anno fa
parent
commit
88c962583c

+ 2 - 2
common/chart/pie_chart.vue

@@ -111,7 +111,7 @@
 					this.chartData = JSON.parse(JSON.stringify(res));
 				}, 500);
 			},
-			setData(data) {
+			setServerData(data) {
 				setTimeout(() => {
 					//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
 					let res = {
@@ -136,4 +136,4 @@
 		width: 135px;
 		height: 135px;
 	}
-</style>
+</style>

+ 15 - 17
common/task/loan-item.vue

@@ -38,12 +38,13 @@
 									type="default" hover-class="is-hover" @click="onCalculate(item,1)">核算</button>
 								<button
 									class="button-background en_button left_button right_button sys-weight-500 button_color-008FD6 size-26 r-100"
-									type="default" hover-class="is-hover" @click.stop="onCalculate(item,2)">客户分类</button>
+									type="default" hover-class="is-hover"
+									@click.stop="onCalculate(item,2)">客户分类</button>
 							</view>
 						</view>
 					</view>
 					<view class="accomplish-text" :class="{'unfinished':item.status === 1}">
-            {{item.status === 2?'已完成':'未完成'}}
+						{{item.status === 2?'已完成':'未完成'}}
 					</view>
 				</view>
 			</view>
@@ -58,11 +59,11 @@
 	import EnButton from "@/components/en-utils/en-button/en-button.vue";
 	import tools from "@/service/tools";
 	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
-  import ClientType from "@/pages/loan/components/clientType.vue";
+	import ClientType from "@/pages/loan/components/clientType.vue";
 
 	export default {
 		components: {
-      ClientType,
+			ClientType,
 			EnBlank,
 			EnButton
 		},
@@ -103,19 +104,19 @@
 				iconList: ['task-audit', 'task-do', 'task-stay'],
 				lineColor: ['#EF8F27', '#DE5847', '#0FB160'],
 				isAjax: false,
-        item:{}
+				item: {}
 			}
 		},
 		methods: {
 
-      moveHandle() {
-        return false
-      },
-			onCalculate(item,type) {
-				this.$emit('onCalculate',{
-          'item':item,
-          'type':type
-        })
+			moveHandle() {
+				return false
+			},
+			onCalculate(item, type) {
+				this.$emit('onCalculate', {
+					'item': item,
+					'type': type
+				})
 			},
 			makCall(phone) {
 				tools.makingCall(phone)
@@ -134,7 +135,6 @@
 	}
 
 	.left_button {
-		width: 122rpx;
 		height: 56rpx;
 		color: #008FD6;
 		line-height: 56rpx;
@@ -143,9 +143,7 @@
 		border-radius: 100rpx;
 	}
 
-	.right_button {
-		width: 160rpx;
-	}
+	.right_button {}
 
 	.placeholder {
 		height: 40rpx;

+ 4 - 2
components/en-utils/en-nav/en-nav.vue

@@ -6,10 +6,12 @@
 					src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/tabBar/nav-back.png"></image>
 			</view>
 			<view class="title row center" :style="[{marginLeft:justify == 'left'?'30rpx':0},{fontSize}]">
-				<image class="wh-36 m-r20"
+				<!-- 			<image class="wh-36 m-r20"
 					src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/statistics/stat-calendar.png"
 					mode="aspectFill" v-if="is_icons">
-				</image>
+				</image> -->
+				<image class="wh-36 m-r20" src="/static/img/statistics/stat-calendar.png" mode="aspectFill"
+					v-if="is_icons"></image>
 				<text>{{title}}</text>
 			</view>
 		</view>

+ 6 - 7
components/en-utils/en-select/en-select.vue

@@ -4,8 +4,7 @@
 			<view class="icon"></view>
 			<text class="size-30 sys-weight-600">{{title}}</text>
 			<view class="icon">
-				<uni-icons  class="dropdown-icon" type="closeempty" size="16"
-					color="#666"></uni-icons>
+				<uni-icons class="dropdown-icon" type="closeempty" size="20" color="#666"></uni-icons>
 			</view>
 		</view>
 		<view class="select">
@@ -26,10 +25,10 @@
 	export default {
 		name: 'peak_chart',
 		props: {
-      showBut: {
-        type: Boolean,
-        default: true
-      },
+			showBut: {
+				type: Boolean,
+				default: true
+			},
 			title: {
 				type: String,
 				default: '选择'
@@ -71,7 +70,7 @@
 				this.$emit('setAffirm', type)
 			},
 			onSelect(index) {
-        console.log(index)
+				console.log(index)
 				this.current = this.localData[index][this.itemKey]
 				this.newValue = this.localData[index][this.itemKey]
 				this.$emit('input', this.newValue)

+ 44 - 46
page_task/property/components/house.vue

@@ -2,17 +2,15 @@
 	<view class="">
 		<view class="data-from" v-for="(item,index) in houseList">
 			<view class="p-t30" v-if="editIndex!==index">
-				<view  class="sys-from-background-color p-20 r-20">
+				<view class="sys-from-background-color p-20 r-20">
 					<view class="row-justify-sb center">
 						<text class="size-28 sys-weight-600">房产信息({{index+1}})</text>
 						<view class="row-c sys-background-fff r-100 p-lr40 p-tb10">
-							<image class="wh-30"
-								src="/page_task/static/img/information/edit.png"
-								mode="aspectFill" @click="onEditInfo(index)"></image>
+							<image class="wh-30" src="/page_task/static/img/information/edit.png" mode="aspectFill"
+								@click="onEditInfo(index)"></image>
 							<view class="title-line m-lr20"></view>
-							<image class="wh-30"
-								src="/page_task/static/img/information/delete.png"
-								mode="aspectFill" @click="onDeleteInfo(index)">
+							<image class="wh-30" src="/page_task/static/img/information/delete.png" mode="aspectFill"
+								@click="onDeleteInfo(index)">
 							</image>
 						</view>
 					</view>
@@ -28,7 +26,7 @@
 						<view class="text-color-666"><text></text>房产地址:</view>
 						<text class="flex">{{item.data.house_city}}{{item.data.house_address}}</text>
 					</view>
-					<view class="row p-t30"  v-if="verifyKey('house_use')">
+					<view class="row p-t30" v-if="verifyKey('house_use')">
 						<view class="text-color-666"><text></text>房屋用途:</view>
 						<text class="flex">{{getHouseUse(item.data.house_use)}}</text>
 					</view>
@@ -36,22 +34,22 @@
 						<view class="text-color-666"><text></text>建成年份:</view>
 						<text class="flex">{{item.data.covered_area}}</text>
 					</view>
-          <view class="row p-t30" v-if="verifyKey('is_pay')">
-            <view class="text-color-666"><text></text>材料费:</view>
-            <text class="flex">{{item.data.is_pay===1?'已支付':'未支付'}}</text>
-          </view>
-					<view class="row p-t30" v-if="verifyKey('covered_area')" >
+					<view class="row p-t30" v-if="verifyKey('is_pay')">
+						<view class="text-color-666"><text></text>材料费:</view>
+						<text class="flex">{{item.data.is_pay===1?'已支付':'未支付'}}</text>
+					</view>
+					<view class="row p-t30" v-if="verifyKey('covered_area')">
 						<view class="text-color-666"><text></text>建筑面积:</view>
 						<text class="flex">{{item.data.covered_area}}</text>
 					</view>
 					<view class="row p-t30" v-if="verifyKey('certificate_img')">
 						<view class="text-color-666"><text></text>房产证件:</view>
-						<EnImage :img="item.data.certificate_img"></EnImage>
+						<EnImage :img="item.data.certificate_img" width="160rpx" height="160rpx"></EnImage>
+					</view>
+					<view class="row p-t30" v-if="verifyKey('property')">
+						<view class="text-color-666"><text></text>房产证件:</view>
+						<EnImage :img="item.data.property"></EnImage>
 					</view>
-          <view class="row p-t30" v-if="verifyKey('property')">
-            <view class="text-color-666"><text></text>房产证件:</view>
-            <EnImage :img="item.data.property"></EnImage>
-          </view>
 					<view class="row p-t30">
 						<view class="text-color-666"><text></text>备注:</view>
 						<text class="flex">{{item.data.remark}}</text>
@@ -62,9 +60,8 @@
 				<view class="row-justify-sb center p-b10">
 					<text class="size-28 sys-weight-600">房产信息({{index+1}})</text>
 					<view class="row-c sys-background-fff r-100">
-						<image class="wh-30"
-							src="/page_task/static/img/information/delete.png"
-							mode="aspectFill" @click="onDeleteInfo(index)">
+						<image class="wh-30" src="/page_task/static/img/information/delete.png" mode="aspectFill"
+							@click="onDeleteInfo(index)">
 						</image>
 					</view>
 				</view>
@@ -141,7 +138,7 @@
 		},
 		data() {
 			return {
-        editIndex: 0,
+				editIndex: 0,
 				payData: [{
 					'id': 1,
 					'name': '已支付'
@@ -170,6 +167,7 @@
 			'houseList': {
 				handler() {
 					this.$emit("input", this.houseList);
+					this.$emit('onResize')
 				},
 				deep: true
 			},
@@ -187,31 +185,31 @@
 			this.setValue()
 		},
 		methods: {
-      getHouseUse(val){
-        val=val*1
-        for (const typeKey in   this.houseTypeData) {
-          if(val===this.houseTypeData[typeKey].value){
-            return this.houseTypeData[typeKey].text
-          }
-        }
+			getHouseUse(val) {
+				val = val * 1
+				for (const typeKey in this.houseTypeData) {
+					if (val === this.houseTypeData[typeKey].value) {
+						return this.houseTypeData[typeKey].text
+					}
+				}
 
-      },
-      onDeleteInfo(itemKey) {
-        uni.showModal({
-          title: '是否删除当前资产信息',
-          content: '确定删除?',
-          success: (res) => {
-            if (res.confirm) {
-              this.houseList.splice(itemKey, 1)
-              this.editIndex = itemKey-1
-            }
-          }
-        })
+			},
+			onDeleteInfo(itemKey) {
+				uni.showModal({
+					title: '是否删除当前资产信息',
+					content: '确定删除?',
+					success: (res) => {
+						if (res.confirm) {
+							this.houseList.splice(itemKey, 1)
+							this.editIndex = itemKey - 1
+						}
+					}
+				})
 
-      },
-      onEditInfo(index){
-        this.editIndex = index
-      },
+			},
+			onEditInfo(index) {
+				this.editIndex = index
+			},
 			addHouse() {
 				tools.showLoading()
 				getSn().then((res) => {
@@ -221,7 +219,7 @@
 							'property_sn': res.data,
 							'data': JSON.parse(JSON.stringify(this.houseItem))
 						})
-            this.editIndex=this.houseList.length-1
+						this.editIndex = this.houseList.length - 1
 						this.$emit('onResize')
 					} else {
 						tools.error('编号生成失败')

+ 13 - 17
page_task/property/property.vue

@@ -17,15 +17,14 @@
 					</view>
 				</view> -->
 				<uni-collapse ref="collapse" accordion class="sys-from-background-color">
-					<uni-collapse-item titleBorder="none" :border="true" :rightLength="houseList.length"
+					<uni-collapse-item titleBorder="none" :border="true" :open="true" :rightLength="houseList.length"
 						v-show="propertyKey.indexOf('house_item')>=0"
 						class="collapse-item-house page-box-bg-fff p-30 r-30">
 						<template v-slot:title>
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60"
-										src="/page_task/static/img/information/house.png"
-										mode=""></image>
+									<image class="wh-60" src="/page_task/static/img/information/house.png" mode="">
+									</image>
 									<text class="size-28 sys-weight-600 m-l20">房产信息</text>
 								</view>
 							</view>
@@ -34,14 +33,13 @@
 							<House v-model="houseList" :show-keys="propertyKey" @onResize="onResizeInit"></House>
 						</view>
 					</uni-collapse-item>
-					<uni-collapse-item titleBorder="none" :border="true" :rightLength="carList.length" v-show="propertyKey.indexOf('car_item')>=0"
-						class="collapse-item-car    p-30 r-30">
+					<uni-collapse-item titleBorder="none" :border="true" :rightLength="carList.length"
+						v-show="propertyKey.indexOf('car_item')>=0" class="collapse-item-car    p-30 r-30">
 						<template v-slot:title class="page-box-bg-fff">
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60"
-										src="/page_task/static/img/information/car.png"
-										mode=""></image>
+									<image class="wh-60" src="/page_task/static/img/information/car.png" mode="">
+									</image>
 									<text class="size-28 sys-weight-600 m-l20">车辆信息</text>
 								</view>
 							</view>
@@ -57,9 +55,8 @@
 						<template v-slot:title>
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60"
-										src="/page_task/static/img/information/car.png"
-										mode=""></image>
+									<image class="wh-60" src="/page_task/static/img/information/car.png" mode="">
+									</image>
 									<text class="size-28 sys-weight-600 m-l20">保单信息</text>
 								</view>
 							</view>
@@ -69,14 +66,13 @@
 								@onResize="onResizeInit"></property-guarantee>
 						</view>
 					</uni-collapse-item>
-					<uni-collapse-item titleBorder="none" :border="true" v-show="propertyKey.indexOf('firm_item')>=0" :rightLength="firmList.length"
-						class="collapse-item-company page-box-bg-fff p-30 r-30">
+					<uni-collapse-item titleBorder="none" :border="true" v-show="propertyKey.indexOf('firm_item')>=0"
+						:rightLength="firmList.length" class="collapse-item-company page-box-bg-fff p-30 r-30">
 						<template v-slot:title>
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60"
-										src="/page_task/static/img/information/car.png"
-										mode=""></image>
+									<image class="wh-60" src="/page_task/static/img/information/car.png" mode="">
+									</image>
 									<text class="size-28 sys-weight-600 m-l20">企业信息</text>
 								</view>
 							</view>

+ 229 - 193
page_task/task_details/module/send_chat.vue

@@ -1,15 +1,20 @@
 <template>
 	<view class="text-color-12">
 		<view class="p-30">
-			<textarea class="sys-from-background-color r-20 textarea p-20" name="" id="" cols="30" rows="10" v-model="msgData.msg" :maxlength="999"
-				:placeholder="placeholder"></textarea>
+			<textarea class="sys-from-background-color r-20 textarea p-20" name="" id="" cols="30" rows="10"
+				v-model="msgData.msg" :maxlength="999" :placeholder="placeholder"></textarea>
 			<view class="size-26 m-t20 sys-weight-600">上传图片</view>
 			<view class="image-content">
-				<view class="image-box"  :key="index" @click="showImg(msgData.msg_img,pIndex)"
-              v-for="(msgImg,pIndex) in msgData.msg_img">
-					<image class="image-item wh-110 m-t20 r-10 m-r20" :src="msgImg.type===1?msgImg.url:getVideoImg(msgImg.url)" mode="aspectFill">
+				<view class="image-box m-t20 r-10 m-r20" :key="index" @click="showImg(msgData.msg_img,pIndex)"
+					v-for="(msgImg,pIndex) in msgData.msg_img">
+					<image class="image-item wh-110" :src="msgImg.type===1?msgImg.url:getVideoImg(msgImg.url)"
+						mode="aspectFill">
 					</image>
-					<image class="delete-iocn wh-25" src="/page_task/static/img/information/hint-subtract.png" mode="" @click.stop="shutImg(pIndex)"></image>
+					<image class="wh-45 video-icon" src="/static/img/task/play.png" mode="aspectFill"
+						@click.stop="showVideoImg(item.url)" v-if="msgImg.type === 2">
+					</image>
+					<image class="delete-iocn wh-25" src="/page_task/static/img/information/hint-subtract.png" mode=""
+						@click.stop="shutImg(pIndex)"></image>
 				</view>
 				<view class="add-image column-c justify-center m-t20" @click.stop="showUploadingImg(true)">
 					<image class="wh-45" src="/page_task/static/img/task-details/Maskoup.png" mode=""></image>
@@ -18,18 +23,23 @@
 			</view>
 			<view class="size-26 m-tb20 sys-weight-600">上传附件</view>
 			<view class="">
-				<view class="sys-from-background-color row-justify-sb center p-20 m-b16 r-20" v-for="(file,fileIndex) in msgData.file_list"
-					:key="fileIndex">
-          <view class="row-c">
-            <image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-pdf.png" v-if="file.file_type===1" mode="aspectFill"></image>
-            <image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-word.png" v-else-if="file.file_type===2" mode="aspectFill"> </image>
-            <image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-excel.png" v-else mode="aspectFill"> </image>
-            <text class="size-24 text-color-666"> {{file.name}}</text>
+				<view class="sys-from-background-color row-justify-sb center p-20 m-b16 r-20"
+					v-for="(file,fileIndex) in msgData.file_list" :key="fileIndex">
+					<view class="row-c">
+						<image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-pdf.png"
+							v-if="file.file_type===1" mode="aspectFill"></image>
+						<image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-word.png"
+							v-else-if="file.file_type===2" mode="aspectFill"> </image>
+						<image class="wh-60 m-r20" src="/page_task/static/img/task-details/icon-excel.png" v-else
+							mode="aspectFill"> </image>
+						<text class="size-24 text-color-666"> {{file.name}}</text>
 					</view>
-					<image class="delete-iocn wh-25" src="/page_task/static/img/information/hint-subtract.png" @click.stop="delFile(delFile)" mode=""></image>
+					<image class="delete-iocn wh-25" src="/page_task/static/img/information/hint-subtract.png"
+						@click.stop="delFile(delFile)" mode=""></image>
 				</view>
 				<view class="sys-from-background-color row-c p-20 r-20" @click.stop="uploadingFile(5)">
-					<image class="wh-80 m-r20" src="/page_task/static/img/task-details/add-file.png" mode="aspectFill"></image>
+					<image class="wh-80 m-r20" src="/page_task/static/img/task-details/add-file.png" mode="aspectFill">
+					</image>
 					<view class="column">
 						<text class="select-file size-24">选择文件</text>
 						<text class="size-24 text-color-666">支持上传文件:pdf、word、excel、ppt</text>
@@ -37,177 +47,195 @@
 				</view>
 			</view>
 		</view>
-		<EnButton v-if="is_button"  @onSubmit="clickBut"></EnButton>
-    <uni-popup ref="popup" type="bottom">
-      <view class="popup-block">
-        <view class="popup-row" @click="uploadingFile(1)">拍照</view>
-        <view class="popup-row" @click="uploadingFile(2)">选择照片</view>
-        <view class="popup-row" @click="uploadingFile(3)">录像</view>
-        <view class="popup-row" @click="uploadingFile(4)">选择视频</view>
-        <view class="popup-row" @click="showUploadingImg(false)">取消</view>
-      </view>
-    </uni-popup>
+		<EnButton v-if="is_button" @onSubmit="clickBut"></EnButton>
+		<uni-popup ref="popup" type="bottom">
+			<view class="popup-block">
+				<view class="popup-row" @click="uploadingFile(1)">拍照</view>
+				<view class="popup-row" @click="uploadingFile(2)">选择照片</view>
+				<view class="popup-row" @click="uploadingFile(3)">录像</view>
+				<view class="popup-row" @click="uploadingFile(4)">选择视频</view>
+				<view class="popup-row" @click="showUploadingImg(false)">取消</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
 <script>
 	import tools from "@/service/tools";
-  import txUploadFile from "@/service/txOssSts";
+	import txUploadFile from "@/service/txOssSts";
 
-  export default {
+	export default {
 		props: {
 			is_button: {
 				type: Boolean,
 				default: false
 			},
-      placeholder:{
-        default: '留个言吧~~'
-      }
+			placeholder: {
+				default: '留个言吧~~'
+			}
 
 		},
 		data() {
 			return {
-        msgData: {
-          business_id: '',
-          msg: '',
-          reply_id: 0,
-          msg_img: [],
-          file_list: [],
-        },
-      }
+				msgData: {
+					business_id: '',
+					msg: '',
+					reply_id: 0,
+					msg_img: [],
+					file_list: [],
+				},
+			}
+		},
+		watch: {
+			'msgData': {
+				handler() {
+					this.$emit('input', this.msgData)
+				},
+				deep: true
+			}
 		},
-    watch: {
-      'msgData':{
-        handler() {
-          this.$emit('input',this.msgData)
-        },
-        deep: true
-      }
-    },
 		methods: {
-      showImg(item, index) {
+			showImg(item, index) {
 
-      },
-      clickBut(){
-        console.log('------butClick--------------')
-          this.$emit('butClick')
-      },
-      delFile(fileIndex){
-        this.msgData.file_list.splice(fileIndex, 1)
-        this.fileNum=-1
-      },
-      getVideoImg(url){
-        return tools.getOssVideo(url)
-      },
-      shutImg(indexT) {
-        this.msgData.msg_img.splice(indexT, 1)
-      },
-      showUploadingImg(showImg) {
-        if (showImg) {
-          this.$refs.popup.open("bottom");
-        } else {
-          this.$refs.popup.close();
-        }
-        tools.hideLoading()
-      },
-      uploadingFile(fileType){
-        if(fileType<3){
-          this.uploadingImg(fileType)
-        }else if(fileType<5){
-          this.uploadingVideo(fileType)
-        }else {
-          this.uploadingWord()
-        }
-      },
-      uploadingWord(){
-        tools.showLoading()
-        wx.chooseMessageFile({
-          count: 5, //默认100
-          type: 'file', //默认100
-          extension:['pdf','doc','docx','xlsx','xls'],
-          success:  (res)=> {
-            console.log('---------------------------------------------');
-            console.log(res);
-            if (res.tempFiles.length > 0) {
-              res.tempFiles.forEach((tempFilePath) => {
-                console.log(tempFilePath)
-                txUploadFile(tempFilePath.path).then((data) => {
-                  if (!data) {
-                    tools.error('图片上传失败')
-                  } else {
-                    console.log({'name':tempFilePath.name,'file_type':tools.getFileType(data.Location),'url':data.Location})
-                    console.log('---------------------------------------------');
-                    this.msgData.file_list.push({'name':tempFilePath.name,'file_type':tools.getFileType(data.Location),'url':data.Location})
-                  }
-                })
-              })
-              this.showUploadingImg(false);
-            } else {
-              tools.error("请选择上传文件")
-              tools.hideLoading()
-            }
-          },
-          fail:(e)=>{
-            tools.hideLoading()
-          }
-        });
+			},
+			clickBut() {
+				console.log('------butClick--------------')
+				this.$emit('butClick')
+			},
+			delFile(fileIndex) {
+				this.msgData.file_list.splice(fileIndex, 1)
+				this.fileNum = -1
+			},
+			getVideoImg(url) {
+				return tools.getOssVideo(url)
+			},
+			shutImg(indexT) {
+				this.msgData.msg_img.splice(indexT, 1)
+			},
+			showUploadingImg(showImg) {
+				if (showImg) {
+					this.$refs.popup.open("bottom");
+				} else {
+					this.$refs.popup.close();
+				}
+				tools.hideLoading()
+			},
+			uploadingFile(fileType) {
+				if (fileType < 3) {
+					this.uploadingImg(fileType)
+				} else if (fileType < 5) {
+					this.uploadingVideo(fileType)
+				} else {
+					this.uploadingWord()
+				}
+			},
+			uploadingWord() {
+				tools.showLoading()
+				wx.chooseMessageFile({
+					count: 5, //默认100
+					type: 'file', //默认100
+					extension: ['pdf', 'doc', 'docx', 'xlsx', 'xls'],
+					success: (res) => {
+						console.log('---------------------------------------------');
+						console.log(res);
+						if (res.tempFiles.length > 0) {
+							res.tempFiles.forEach((tempFilePath) => {
+								console.log(tempFilePath)
+								txUploadFile(tempFilePath.path).then((data) => {
+									if (!data) {
+										tools.error('图片上传失败')
+									} else {
+										console.log({
+											'name': tempFilePath.name,
+											'file_type': tools.getFileType(data
+												.Location),
+											'url': data.Location
+										})
+										console.log(
+											'---------------------------------------------'
+										);
+										this.msgData.file_list.push({
+											'name': tempFilePath.name,
+											'file_type': tools.getFileType(data
+												.Location),
+											'url': data.Location
+										})
+									}
+								})
+							})
+							this.showUploadingImg(false);
+						} else {
+							tools.error("请选择上传文件")
+							tools.hideLoading()
+						}
+					},
+					fail: (e) => {
+						tools.hideLoading()
+					}
+				});
 
-      },
-      uploadingVideo(sourceType){
-        tools.showLoading()
-        uni.chooseVideo({
-          sizeType: "compressed",
-          sourceType: [sourceType === 3 ? 'camera' : 'album'],
-          success:  (res) =>{
-            txUploadFile(res.tempFilePath).then((data) => {
-              if (!data) {
-                tools.error('视频上传失败')
-              } else {
-                setTimeout(()=>{
-                  this.msgData.msg_img.push({'type':2,'url':data.Location})
-                },1500)
-              }
-              this.showUploadingImg(false);
-            }).catch((e)=>{
-              tools.hideLoading()
-            })
-          },
-          fail:(e)=>{
-            tools.hideLoading()
-          }
-        });
-      },
-      uploadingImg(sourceType) {
-        tools.showLoading()
-        uni.chooseMedia({
-          mediaType: 'image',
-          count: sourceType === 1 ? 1 : 9, //默认9
-          sizeType: "compressed",
-          sourceType: [sourceType === 1 ? 'camera' : 'album'],
-          success: (res) => {
-            console.log(res)
-            if (res.tempFiles.length > 0) {
-              res.tempFiles.forEach((tempFile) => {
-                txUploadFile(tempFile.tempFilePath).then((data) => {
-                  if (!data) {
-                    tools.error('图片上传失败')
-                  } else {
-                    this.msgData.msg_img.push({'type':1,'url':data.Location})
-                  }
-                })
-              })
-              this.showUploadingImg(false);
-            } else {
-              tools.error("请选择上传的图片")
-              tools.hideLoading()
-            }
-          },
-          fail:(e)=>{
-            tools.hideLoading()
-          }
-        });
-      },
-    }
+			},
+			uploadingVideo(sourceType) {
+				tools.showLoading()
+				uni.chooseVideo({
+					sizeType: "compressed",
+					sourceType: [sourceType === 3 ? 'camera' : 'album'],
+					success: (res) => {
+						txUploadFile(res.tempFilePath).then((data) => {
+							if (!data) {
+								tools.error('视频上传失败')
+							} else {
+								setTimeout(() => {
+									this.msgData.msg_img.push({
+										'type': 2,
+										'url': data.Location
+									})
+								}, 1500)
+							}
+							this.showUploadingImg(false);
+						}).catch((e) => {
+							tools.hideLoading()
+						})
+					},
+					fail: (e) => {
+						tools.hideLoading()
+					}
+				});
+			},
+			uploadingImg(sourceType) {
+				tools.showLoading()
+				uni.chooseMedia({
+					mediaType: 'image',
+					count: sourceType === 1 ? 1 : 9, //默认9
+					sizeType: "compressed",
+					sourceType: [sourceType === 1 ? 'camera' : 'album'],
+					success: (res) => {
+						console.log(res)
+						if (res.tempFiles.length > 0) {
+							res.tempFiles.forEach((tempFile) => {
+								txUploadFile(tempFile.tempFilePath).then((data) => {
+									if (!data) {
+										tools.error('图片上传失败')
+									} else {
+										this.msgData.msg_img.push({
+											'type': 1,
+											'url': data.Location
+										})
+									}
+								})
+							})
+							this.showUploadingImg(false);
+						} else {
+							tools.error("请选择上传的图片")
+							tools.hideLoading()
+						}
+					},
+					fail: (e) => {
+						tools.hideLoading()
+					}
+				});
+			},
+		}
 	}
 </script>
 
@@ -216,33 +244,34 @@
 		width: calc(100% - 40rpx);
 		max-height: 100rpx;
 	}
-  .popup-block {
-    border-radius: 20rpx 20rpx 0rpx 0rpx;
-    overflow: hidden;
-    background-color: #f5f5f5;
 
-    .popup-row {
-      height: 100rpx;
-      background-color: #fff;
-      text-align: center;
-      line-height: 100rpx;
-      border-bottom: 2rpx solid #f5f5f5;
+	.popup-block {
+		border-radius: 20rpx 20rpx 0rpx 0rpx;
+		overflow: hidden;
+		background-color: #f5f5f5;
 
-      &:nth-child(4) {
-        margin-bottom: 20rpx;
-      }
+		.popup-row {
+			height: 100rpx;
+			background-color: #fff;
+			text-align: center;
+			line-height: 100rpx;
+			border-bottom: 2rpx solid #f5f5f5;
 
-      &:last-child {
-        height: 112rpx;
-        border: none;
-        line-height: 112rpx;
-      }
+			&:nth-child(4) {
+				margin-bottom: 20rpx;
+			}
 
-      &:active {
-        background-color: rgb(244, 244, 244);
-      }
-    }
-  }
+			&:last-child {
+				height: 112rpx;
+				border: none;
+				line-height: 112rpx;
+			}
+
+			&:active {
+				background-color: rgb(244, 244, 244);
+			}
+		}
+	}
 
 	.image-content {
 		display: flex;
@@ -257,10 +286,17 @@
 				border-radius: 10rpx;
 			}
 
+			.video-icon {
+				position: absolute;
+				top: 50%;
+				left: 50%;
+				transform: translate(-50%, -50%);
+			}
+
 			.delete-iocn {
 				position: absolute;
-				right: 12rpx;
-				top: 12rpx;
+				right: -10rpx;
+				top: -10rpx;
 			}
 		}
 
@@ -284,4 +320,4 @@
 		display: inline-block;
 		margin-bottom: 10rpx;
 	}
-</style>
+</style>

+ 18 - 14
pages/index/index.vue

@@ -28,14 +28,15 @@
 						<text class="size-24 text-color-12">任务完成情况</text>
 					</view>
 					<view class="m-b30">
-						<view class="row-c p-tb10" v-for="(item,index) in chartList" :key="index">
+						<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 text-color-787">{{item.name}}</text>
+									<text class="m-l16 size-28 text-color-787">{{item.name}}</text>
 								</view>
 							</view>
-							<text class="text-color-12 sys-weight-600 m-l40">{{item.value}}%</text>
+							<text class="text-color-12 sys-weight-600 m-l20 size-28">{{item.value}}%</text>
 						</view>
 					</view>
 				</view>
@@ -139,22 +140,25 @@
 				}).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[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)
+							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)
+							setTimeout(() => {
+								this.$refs.pieChart.setNoData()
+								this.$refs.circleObj.notServerData()
+							}, 50)
 						}
 
 					}
@@ -215,4 +219,4 @@
 		height: 16rpx;
 		border-radius: 50%;
 	}
-</style>
+</style>

+ 192 - 179
pages/loan/components/clientType.vue

@@ -1,186 +1,199 @@
 <template>
-  <view class="task-set">
-    <EnSelect title="用户分类" v-model="type" :local-data="popupData" ref="system" item-key="value" item-text="text"
-              @setAffirm="submit"></EnSelect>
-  </view>
+	<view class="task-set">
+		<EnSelect title="用户分类" v-model="type" :local-data="popupData" ref="system" item-key="value" item-text="text"
+			@setAffirm="submit"></EnSelect>
+	</view>
 </template>
 
 <script>
-import {getClientType, setClientType} from "@/api/client";
-import EnSelect from "@/components/en-utils/en-select/en-select.vue";
-import tools from "@/service/tools";
-
-export default {
-  name: "clientType",
-  components: {EnSelect},
-  props: {
-    'clientId':{
-      default:''
-    }
-  },
-  data() {
-    return {
-      showExecute:false,
-      popupData:[],
-      type:'',
-      typeName:'',
-    }
-  },
-  watch: {},
-
-  mounted() {
-      this.getClientType()
-  },
-  methods: {
-    getClientType(){
-      getClientType().then((res)=>{
-        if(res.code===1){
-          this.popupData=res.data
-        }
-        console.log(this.popupData)
-      })
-    },
-
-
-    setNewExecute(e) {
-      //设置新执行人
-      console.log(e)
-      let newData = e.detail.value[0]
-      this.type = newData.value
-      this.typeName = newData.text
-    },
-    submit(){
-      setClientType({'clientId':this.clientId,'type':this.type}).then((res)=>{
-        if(res.code===1){
-          tools.success(res.msg)
-          this.$emit('endTaskSet')
-        }else {
-          tools.error(res.msg)
-        }
-      })
-    }
-  }
-}
+	import {
+		getClientType,
+		setClientType
+	} from "@/api/client";
+	import EnSelect from "@/components/en-utils/en-select/en-select.vue";
+	import tools from "@/service/tools";
+
+	export default {
+		name: "clientType",
+		components: {
+			EnSelect
+		},
+		props: {
+			'clientId': {
+				default: ''
+			}
+		},
+		data() {
+			return {
+				showExecute: false,
+				popupData: [],
+				type: '',
+				typeName: '',
+			}
+		},
+		watch: {},
+
+		mounted() {
+			this.getClientType()
+		},
+		methods: {
+			getClientType() {
+				getClientType().then((res) => {
+					if (res.code === 1) {
+						this.popupData = res.data
+					}
+					console.log(this.popupData)
+				})
+			},
+
+
+			setNewExecute(e) {
+				//设置新执行人
+				console.log(e)
+				let newData = e.detail.value[0]
+				this.type = newData.value
+				this.typeName = newData.text
+			},
+			submit() {
+				setClientType({
+					'clientId': this.clientId,
+					'type': this.type
+				}).then((res) => {
+					if (res.code === 1) {
+						tools.success(res.msg)
+						this.$emit('endTaskSet')
+					} else {
+						tools.error(res.msg)
+					}
+				})
+			}
+		}
+	}
 </script>
 
 <style scoped lang="scss">
-.task-set {
-  width: 100%;
-  min-height: 50vh;
-  max-height: 70vh;
-  background: #F6F7FB;
-  overflow: auto;
-  border-radius: 20rpx 20rpx 0rpx 0rpx;
-  .nav {
-    font-size: 18px;
-    font-weight: bold;
-    text-align: center;
-    padding: 30rpx 0 15rpx;
-    background: #fff;
-  }
-  .task-tab{
-    display: flex;
-    justify-content: space-between;
-    height: 88rpx;
-    .tab-item{
-      width: 50%;
-      height: 100%;
-      font-size: 14px;
-      color: #333333;
-      line-height: 88rpx;
-      text-align: center;
-      background: #fff;
-      border: 2rpx solid #3169FA;
-      box-sizing: border-box;
-    }
-    .tab-select{
-      background: #3169FA;
-      color: #FFFFFF;
-      border:none;
-    }
-  }
-
-  .content {
-    width: 100%;
-    height: auto;
-    padding: 22rpx 0 106rpx 0;
-
-    .choose-box {
-      width: 100%;
-      height: auto;
-      padding: 34rpx 35rpx;
-      box-sizing: border-box;
-      background: #fff;
-      border-top: 1px solid #F0F0F0;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-
-      .choose-box-left {
-        font-size: 16px;
-        color: #666666;
-      }
-
-      .choose-box-right {
-        display: flex;
-        align-items: center;
-
-        .choose-box-right-content {
-          font-size: 16px;
-          font-weight: 400;
-          color: #232A35;
-          margin: 0 18rpx 0 0;
-        }
-
-        .choose-box-right-img {
-          width: 12rpx;
-          height: 20rpx;
-        }
-      }
-    }
-
-    .choose-box-stage{
-      background: #fff;
-      padding: 0 22rpx;
-      margin-bottom: 22rpx;
-    }
-
-    .choose-box-two {
-      margin: 0 0 22rpx 0;
-    }
-
-
-  }
-
-  .submit-box {
-    width: 100%;
-    height: auto;
-    border-top: 1px solid #F0F0F0;
-    background: #fff;
-    position: fixed;
-    left: 0;
-    bottom: 0;
-    padding: 12rpx 32rpx;
-    box-sizing: border-box;
-
-    .submit {
-      width: 100%;
-      height: auto;
-      background: #3169FA;
-      border-radius: 4px;
-      font-size: 16px;
-      color: #FFFFFF;
-      padding: 20rpx 0;
-      text-align: center;
-    }
-  }
-  .operate-box{
-    .content-box {
-      margin-top: 20rpx;
-      height: auto;
-      padding: 0 20rpx;
-      background: #fff;
-    }
-  }
-}
-</style>
+	.task-set {
+		width: 100%;
+		min-height: 50vh;
+		max-height: 70vh;
+		background: #F6F7FB;
+		overflow: auto;
+		border-radius: 20rpx 20rpx 0rpx 0rpx;
+
+		.nav {
+			font-size: 18px;
+			font-weight: bold;
+			text-align: center;
+			padding: 30rpx 0 15rpx;
+			background: #fff;
+		}
+
+		.task-tab {
+			display: flex;
+			justify-content: space-between;
+			height: 88rpx;
+
+			.tab-item {
+				width: 50%;
+				height: 100%;
+				font-size: 14px;
+				color: #333333;
+				line-height: 88rpx;
+				text-align: center;
+				background: #fff;
+				border: 2rpx solid #3169FA;
+				box-sizing: border-box;
+			}
+
+			.tab-select {
+				background: #3169FA;
+				color: #FFFFFF;
+				border: none;
+			}
+		}
+
+		.content {
+			width: 100%;
+			height: auto;
+			padding: 22rpx 0 106rpx 0;
+
+			.choose-box {
+				width: 100%;
+				height: auto;
+				padding: 34rpx 35rpx;
+				box-sizing: border-box;
+				background: #fff;
+				border-top: 1px solid #F0F0F0;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				.choose-box-left {
+					font-size: 16px;
+					color: #666666;
+				}
+
+				.choose-box-right {
+					display: flex;
+					align-items: center;
+
+					.choose-box-right-content {
+						font-size: 16px;
+						font-weight: 400;
+						color: #232A35;
+						margin: 0 18rpx 0 0;
+					}
+
+					.choose-box-right-img {
+						width: 12rpx;
+						height: 20rpx;
+					}
+				}
+			}
+
+			.choose-box-stage {
+				background: #fff;
+				padding: 0 22rpx;
+				margin-bottom: 22rpx;
+			}
+
+			.choose-box-two {
+				margin: 0 0 22rpx 0;
+			}
+
+
+		}
+
+		.submit-box {
+			width: 100%;
+			height: auto;
+			border-top: 1px solid #F0F0F0;
+			background: #fff;
+			position: fixed;
+			left: 0;
+			bottom: 0;
+			padding: 12rpx 32rpx;
+			box-sizing: border-box;
+
+			.submit {
+				width: 100%;
+				height: auto;
+				background: #3169FA;
+				border-radius: 4px;
+				font-size: 16px;
+				color: #FFFFFF;
+				padding: 20rpx 0;
+				text-align: center;
+			}
+		}
+
+		.operate-box {
+			.content-box {
+				margin-top: 20rpx;
+				height: auto;
+				padding: 0 20rpx;
+				background: #fff;
+			}
+		}
+	}
+</style>

+ 2 - 2
pages/login/index.vue

@@ -89,9 +89,9 @@
 			return {
 				type: 1,
 				loginData: {
-					phone: '',
+					phone: '13940965763',
 					password: '',
-					code: '',
+					code: '1234',
 				},
 				phoneShake: false,
 				passwordShake: false,

+ 11 - 10
pages/statistics/module/head_filter.vue

@@ -14,7 +14,7 @@
 					src="/static/img/statistics/white-arrow.png" mode="aspectFill"></image>
 			</view>
 			<view>
-				<uni-datetime-picker v-model="daterange" type="daterange" @change="onSelectTime"
+				<uni-datetime-picker v-model="daterange" type="date" @change="onSelectTime"
 					@touchmove.stop.prevent="moveHandle">
 					<view class="last_item r-100 filter-bg row-justify-c center">
 						<image class="wh-36" src="/static/img/statistics/stat-calendar.png" mode="aspectFill"></image>
@@ -26,12 +26,12 @@
 		<uni-popup background-color="#fff" ref="popup" type="bottom" border-radius="10px" @change="onChangePopup"
 			@touchmove.stop.prevent="moveHandle">
 			<view v-if="selectType===1">
-				<EnSelect :show-but="false" title="请选择统计类型" v-model="dateTypeObj.censusUserType" :local-data="userStatusList" ref="systemSelect"
-					@onChange="setCensusUserType"></EnSelect>
+				<EnSelect :show-but="false" title="请选择统计类型" v-model="dateTypeObj.censusUserType"
+					:local-data="userStatusList" ref="systemSelect" @onChange="setCensusUserType"></EnSelect>
 			</view>
 			<view v-else>
-				<EnSelect :show-but="false" title="请选择统计周期" v-model="dateTypeObj.dateType" :local-data="dateData" ref="systemDate"
-					@onChange="setDateType"></EnSelect>
+				<EnSelect :show-but="false" title="请选择统计周期" v-model="dateTypeObj.dateType" :local-data="dateData"
+					ref="systemDate" @onChange="setDateType"></EnSelect>
 			</view>
 		</uni-popup>
 	</view>
@@ -156,7 +156,7 @@
 				}
 			},
 			setCensusUserType(index) {
-        console.log(index)
+				console.log(index)
 				if (this.userStatusList[index] !== undefined) {
 					this.dateTypeObj.censusUserType = this.userStatusList[index].id
 					this.newUserTypeName = this.userStatusList[index].name
@@ -187,9 +187,10 @@
 				}
 			},
 			onSelectTime(e) {
-				const year = e[0].slice(0, 4)
-				const start = e[0].slice(-5).replace(/-/g, '.')
-				const end = e[1].slice(-5).replace(/-/g, '.')
+				console.log(e);
+				const year = e.slice(0, 4)
+				const month = e.slice(-5).replace(/-/g, '.')
+				const day = e.slice(-5).replace(/-/g, '.')
 				console.log(year, start, end);
 			},
 			moveHandle() {
@@ -236,4 +237,4 @@
 	.open {
 		transform: rotateZ(180deg);
 	}
-</style>
+</style>