Pārlūkot izejas kodu

style:修改相关样式

443166679@qq.com 1 gadu atpakaļ
vecāks
revīzija
aa40cf0520

+ 174 - 0
common/task/loan-item.vue

@@ -0,0 +1,174 @@
+<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[0]}"></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">
+								<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>
+						<view
+							class="p-tb14 p-lr30 m-tb20 r-100 row-justify-sb center size-24 text-color-12 sys-from-background-color sys-weight-600"
+							style="line-height: 40rpx;">
+							<text class="size-28 text-color-E21">120万</text>
+							<view class="">
+								<text>9/36</text><text class="sys-weight-400">期</text>
+							</view>
+							<view class="">
+								<text>12456.45</text><text class="sys-weight-400">元</text>
+							</view>
+							<text class="color-FF730E">23.98%</text>
+						</view>
+						<view class="row-justify-sb center">
+							<text></text>
+							<view class="row-c">
+								<button
+									class="button-backgroun en_buttond left_button sys-weight-500 button_color-008FD6 size-26 r-100 m-r20"
+									type="default" hover-class="is-hover">核算</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">客户分类</button>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="placeholder sys-list-background-color" v-if="is_bottom && taskList.length"></view>
+		</view>
+		<en-blank v-else></en-blank>
+	</view>
+</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
+		},
+		props: {
+			type: {
+				type: Number,
+				default: 1
+			},
+			taskList: {
+				type: Array,
+				default: () => [1]
+			},
+			iconStatus: {
+				type: Number,
+				default: 1
+			},
+			leftImgStatus: {
+				type: Number,
+				default: 0
+			},
+			opacity: {
+				type: Number,
+				default: 0
+			},
+			back: {
+				type: Boolean,
+				default: false
+			},
+			is_bottom: {
+				type: Boolean,
+				default: false
+			},
+
+		},
+		data() {
+			return {
+				leftImg: ['task-house', 'task-business', 'task-repayment'],
+				iconList: ['task-audit', 'task-do', 'task-stay'],
+				lineColor: ['#DE5847', '#EF8F27', '#0FB160'],
+				isAjax: false
+			}
+		},
+		methods: {
+			// 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`
+			},
+			getLeftImg() {
+				return `https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/${this.leftImg[this.leftImgStatus]}.png`
+			},
+			// onTaskDetails(item) {
+			// 	uni.navigateTo({
+			// 		url: '/page_task/task_details/task_details?taskId=' + item.id
+			// 	})
+			// }
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.en_button {
+		border: none;
+	}
+
+	.task-body {
+		height: 100%;
+	}
+
+	.left_button {
+		width: 122rpx;
+		height: 56rpx;
+		color: #008FD6;
+		line-height: 56rpx;
+		background: #FFFFFF;
+		border: 1rpx solid #008FD6;
+		border-radius: 100rpx;
+	}
+
+	.right_button {
+		width: 160rpx;
+	}
+
+	.placeholder {
+		height: 40rpx;
+	}
+
+	.main_string {
+		width: 6rpx;
+		height: 60rpx;
+		border-radius: 100rpx;
+		background: red;
+	}
+
+	button::after {
+		border: none;
+	}
+</style>

+ 178 - 178
components/en-from/en-city/en-city.vue

@@ -1,197 +1,197 @@
 <template>
-  <view class="box">
-    <view class="input-box">
-      <view class="input-box-left" :style="{'letter-spacing':labelWidth}">
-        {{ label }}
-      </view>
-      <view class="input-box-right" @click="showPickerObj">
-        <text :class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
-        <text class="iconfont">&#xe62b;</text>
-      </view>
-    </view>
-    <uni-data-picker :popup-title="'选择'+label" :localdata="localData" ref="pickerObj" v-show="showPicker"
-                     @change="pickerChange" :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
-    </uni-data-picker>
-  </view>
+	<view class="box">
+		<view class="input-box" @click="showPickerObj">
+			<view class="input-box-left size-28" :style="{'letter-spacing':labelWidth}">
+				{{ label }}
+			</view>
+			<view class="input-box-right row-c">
+				<text class="size-28 p-r10"
+					:class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
+				<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
+			</view>
+		</view>
+		<uni-data-picker :popup-title="'选择'+label" :localdata="localData" ref="pickerObj" v-show="showPicker"
+			@change="pickerChange" :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
+		</uni-data-picker>
+	</view>
 </template>
 
 <script>
-import {getRegion} from "@/api/common";
-import tools from "@/service/tools";
+	import {
+		getRegion
+	} from "@/api/common";
+	import tools from "@/service/tools";
 
-export default {
-  name: 'en-city',
-  props: {
-    label: {
-      type: String,
-      default: '地址'
-    },
-    placeholder: {
-      type: String,
-      default: '请选择地址'
-    },
-    disabled: {
-      type: Boolean,
-      default: false
-    },
-    name: {
-      type: String,
-      default: 'text'
-    },
-    valueType: {
-      type: String,
-      default: '1'
-    },
-    value: {
-      default: ''
-    }
-  },
-  data() {
-    return {
-      localData: [],
-      inputValue: [],
-      optionName: '',
-      labelWidth: 0,
-      showPicker: false
-    }
-  },
-  components: {},
-  mounted() {
-    this.setValue()
-    this.setLabelWidth()
-    this.getRegion()
-  },
-  watch: {
-    'value': function () {
-      this.setValue()
-    },
-    'inputValue': function () {
-      console.log(this.inputValue)
-      if (this.valueType === '1') {
-        this.$emit('input', this.optionName)
-      } else {
-        this.$emit('input', this.optionName)
-      }
-    }
-  },
-  methods: {
-    getRegion() {
-       let localData=uni.getStorageSync('sysCityData')
-      if(!localData){
-        getRegion({
-          type: 1
-        }).then((res) => {
-          if (res.code === 1) {
-            this.localData = res.data;
-            uni.setStorageSync('sysCityData', JSON.stringify(this.localData))
-          } else {
-            tools.error(res.msg);
-          }
-        })
-      }else {
-        this.localData=JSON.parse(localData)
-      }
+	export default {
+		name: 'en-city',
+		props: {
+			label: {
+				type: String,
+				default: '地址'
+			},
+			placeholder: {
+				type: String,
+				default: '请选择地址'
+			},
+			disabled: {
+				type: Boolean,
+				default: false
+			},
+			name: {
+				type: String,
+				default: 'text'
+			},
+			valueType: {
+				type: String,
+				default: '1'
+			},
+			value: {
+				default: ''
+			}
+		},
+		data() {
+			return {
+				localData: [],
+				inputValue: [],
+				optionName: '',
+				labelWidth: 0,
+				showPicker: false
+			}
+		},
+		components: {},
+		mounted() {
+			this.setValue()
+			this.setLabelWidth()
+			this.getRegion()
+		},
+		watch: {
+			'value': function() {
+				this.setValue()
+			},
+			'inputValue': function() {
+				console.log(this.inputValue)
+				if (this.valueType === '1') {
+					this.$emit('input', this.optionName)
+				} else {
+					this.$emit('input', this.optionName)
+				}
+			}
+		},
+		methods: {
+			getRegion() {
+				let localData = uni.getStorageSync('sysCityData')
+				if (!localData) {
+					getRegion({
+						type: 1
+					}).then((res) => {
+						if (res.code === 1) {
+							this.localData = res.data;
+							uni.setStorageSync('sysCityData', JSON.stringify(this.localData))
+						} else {
+							tools.error(res.msg);
+						}
+					})
+				} else {
+					this.localData = JSON.parse(localData)
+				}
 
-    },
-    setValue() {
-      this.optionName=this.value
-      // let value = this.value
-      // if (!value) {
-      //   value = []
-      // } else if (typeof value === 'string') {
-      //   value = value.split(',')
-      // }
-      // if (this.inputValue !== value) {
-      //   this.inputValue = value
-      //   this.optionName = "";
-      //   this.localData.forEach((one) => {
-      //     if (one.value + '' === this.inputValue[0] + '') {
-      //       this.optionName += one.text + " ";
-      //       if (one.children) {
-      //         one.children.forEach((two) => {
-      //           if (two.value + '' === this.inputValue[1] + '') {
-      //             this.optionName += two.text + " ";
-      //             if (two.children) {
-      //               two.children.forEach((three) => {
-      //                 if (three.value + '' === this.inputValue[2] + '') {
-      //                   this.optionName += three.text + " ";
-      //                 }
-      //               })
-      //             }
-      //           }
-      //         })
-      //       }
-      //     }
-      //   })
-      // }
+			},
+			setValue() {
+				this.optionName = this.value
+				// let value = this.value
+				// if (!value) {
+				//   value = []
+				// } else if (typeof value === 'string') {
+				//   value = value.split(',')
+				// }
+				// if (this.inputValue !== value) {
+				//   this.inputValue = value
+				//   this.optionName = "";
+				//   this.localData.forEach((one) => {
+				//     if (one.value + '' === this.inputValue[0] + '') {
+				//       this.optionName += one.text + " ";
+				//       if (one.children) {
+				//         one.children.forEach((two) => {
+				//           if (two.value + '' === this.inputValue[1] + '') {
+				//             this.optionName += two.text + " ";
+				//             if (two.children) {
+				//               two.children.forEach((three) => {
+				//                 if (three.value + '' === this.inputValue[2] + '') {
+				//                   this.optionName += three.text + " ";
+				//                 }
+				//               })
+				//             }
+				//           }
+				//         })
+				//       }
+				//     }
+				//   })
+				// }
 
-    },
-    setPopupClosed() {
-      this.showPicker = false;
-    },
-    showPickerObj() {
-      this.$refs.pickerObj.show();
-      this.showPicker = true;
-    },
-    pickerChange(data) {
-      this.optionName = "";
-      this.inputValue = [];
-      data.detail.value.forEach((item) => {
-        this.optionName += item.text + " ";
-        this.inputValue.push(item.value)
-      });
-      this.showPicker = false;
-    },
-    setLabelWidth() {
-      let differenceNum = 4 - this.label.length;
-      if (differenceNum === 2) {
-        this.labelWidth = '2em'
-      } else if (differenceNum === 1) {
-        this.labelWidth = '0.5em'
-      }
-    }
-  }
+			},
+			setPopupClosed() {
+				this.showPicker = false;
+			},
+			showPickerObj() {
+				this.$refs.pickerObj.show();
+				this.showPicker = true;
+			},
+			pickerChange(data) {
+				this.optionName = "";
+				this.inputValue = [];
+				data.detail.value.forEach((item) => {
+					this.optionName += item.text + " ";
+					this.inputValue.push(item.value)
+				});
+				this.showPicker = false;
+			},
+			setLabelWidth() {
+				let differenceNum = 4 - this.label.length;
+				if (differenceNum === 2) {
+					this.labelWidth = '2em'
+				} else if (differenceNum === 1) {
+					this.labelWidth = '0.5em'
+				}
+			}
+		}
 
-}
+	}
 </script>
 
 <style lang="scss" scoped>
-@import url("../../static/css/en-common.css");
+	@import url("../../static/css/en-common.css");
 
-::v-deep .selected-item-active {
-  border-bottom: 2px solid #FF0000 !important;
-}
+	::v-deep .selected-item-active {
+		border-bottom: 2px solid #FF0000 !important;
+	}
 
-.box {
-  .input-box {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
+	.box {
+		.input-box {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
 
-    .input-box-left {
-      width: 210rpx;
-      font-size: 30rpx;
-      color: #333333;
-    }
+			.input-box-left {
+				color: #333333;
+			}
 
-    .input-box-right {
-      width: 100%;
+			.input-box-right {
+				text-align: right;
 
-      text {
-        font-size: 28rpx;
-        color: #333;
-      }
+				text {
+					font-size: 28rpx;
+					color: #333;
+				}
 
-      .iconfont {
-        float: right;
-      }
+				.iconfont {
+					float: right;
+				}
 
-      .no-option {
-        color: #999999;
-      }
+				.no-option {
+					color: #999999;
+				}
 
-    }
-  }
-}
-
-</style>
+			}
+		}
+	}
+</style>

+ 102 - 105
components/en-from/en-date/en-date.vue

@@ -1,115 +1,112 @@
 <template>
-  <view class="box"  :class="{'no-box':noBox}">
-    <view class="input-box">
-      <view class="input-box-left" :style="{'letter-spacing':labelWidth}">
-        {{ label }}
-      </view>
-      <uni-datetime-picker
-          :type="type"
-          :value="inputValue"
-          :start="startDate"
-          :end="endDate"
-          :border="border"
-          :placeholder="placeholder"
-          @change="change"
-      />
-    </view>
-
-  </view>
+	<view class="box p-tb30" :class="{'no-box':noBox}">
+		<uni-datetime-picker class="flex" :type="type" :value="inputValue" :start="startDate" :end="endDate"
+			:border="border" :placeholder="placeholder" @change="change">
+			<view class="input-box">
+				<view class="input-box-left" :style="{'letter-spacing':labelWidth}">
+					{{ label }}
+				</view>
+				<view class="row-c">
+					<text class="size-28 p-r10"
+						:style="{color:!inputValue?'#999':''}">{{!inputValue?'请选择':inputValue}}</text>
+					<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
+				</view>
+			</view>
+		</uni-datetime-picker>
+	</view>
 </template>
 
 <script>
-export default {
-  name: 'en-date',
-  props: {
-    type: {
-      //date/daterange/datetime/datetimerange
-      type: String,
-      default: 'date'
-    },
-    label: {
-      type: String,
-      default: '标题'
-    },
-    placeholder:{
-      type: String,
-      default: '选择日期'
-    },
-    startDate: {
-      type: String,
-      default: '1950-01-01'
-    },
-    endDate: {
-      type: String,
-      default: '2099-12-13'
-    },
-    disabled: {
-      default: false
-    },
-    border: {
-      default: false
-    },
-    value: {
-      default: ''
-    },
-    noBox:{
-      type:Boolean,
-      default:false
-    }
-  },
-  data() {
-    return {
-      inputValue: '',
-      labelWidth: 0
-    }
-  },
-  components: {},
-  mounted() {
-    this.inputValue = this.value
-    this.setLabelWidth()
-  },
-  watch: {
-    'value': function () {
-      if (this.inputValue !== this.value) {
-        console.log('this.value:'+this.value)
-        this.inputValue = this.value
-      }
-    },
-    'inputValue': function () {
-      this.$emit('input', this.inputValue)
-    }
-  },
-  methods: {
-    setLabelWidth() {
-      let differenceNum = 4 - this.label.length;
-      if (differenceNum === 2) {
-        this.labelWidth = '2em'
-      } else if (differenceNum === 1) {
-        this.labelWidth = '0.5em'
-      }
-    },
-    change(e){
-      this.inputValue=e
-    }
-  }
+	export default {
+		name: 'en-date',
+		props: {
+			type: {
+				//date/daterange/datetime/datetimerange
+				type: String,
+				default: 'date'
+			},
+			label: {
+				type: String,
+				default: '标题'
+			},
+			placeholder: {
+				type: String,
+				default: '选择日期'
+			},
+			startDate: {
+				type: String,
+				default: '1950-01-01'
+			},
+			endDate: {
+				type: String,
+				default: '2099-12-13'
+			},
+			disabled: {
+				default: false
+			},
+			border: {
+				default: false
+			},
+			value: {
+				default: ''
+			},
+			noBox: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				inputValue: '',
+				labelWidth: 0
+			}
+		},
+		components: {},
+		mounted() {
+			this.inputValue = this.value
+			this.setLabelWidth()
+		},
+		watch: {
+			'value': function() {
+				if (this.inputValue !== this.value) {
+					console.log('this.value:' + this.value)
+					this.inputValue = this.value
+				}
+			},
+			'inputValue': function() {
+				this.$emit('input', this.inputValue)
+			}
+		},
+		methods: {
+			setLabelWidth() {
+				let differenceNum = 4 - this.label.length;
+				if (differenceNum === 2) {
+					this.labelWidth = '2em'
+				} else if (differenceNum === 1) {
+					this.labelWidth = '0.5em'
+				}
+			},
+			change(e) {
+				this.inputValue = e
+			}
+		}
 
-}
+	}
 </script>
 
 <style lang="scss" scoped>
-@import url("../../static/css/en-common.css");
+	@import url("../../static/css/en-common.css");
 
-.box {
-  padding: 20rpx 0 20rpx 0;
-  .input-box {
-    display: flex;
-    align-items: center;
-    .input-box-left {
-      width: 210rpx;
-      font-size: 30rpx;
-      color: #333333;
-    }
-  }
-}
+	.box {
+		.input-box {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
 
-</style>
+			.input-box-left {
+				font-size: 28rpx;
+				color: #333333;
+			}
+		}
+	}
+</style>

+ 2 - 4
components/en-from/en-input/en-input.vue

@@ -12,9 +12,7 @@
 				</view>
 			</view>
 			<text class="sys-size-28 m-l20" v-if="rightText">{{rightText}}</text>
-			<view class="m-l20">
-				<slot></slot>
-			</view>
+			<slot></slot>
 		</view>
 		<view class="size-24 text-color-E21 p-b20 p-t10" v-if="is_requis">{{name}}为必填</view>
 	</view>
@@ -36,7 +34,7 @@
 				type: Boolean,
 				default: false
 			},
-      label: {
+			label: {
 				type: String,
 				default: '姓名'
 			},

+ 16 - 14
components/en-from/en-radio/en-radio.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
+	<view class="row-justify-sb center p-tb30 size-28" :class="{'bor-bottom-1':is_border}">
 		<view class="wh-text"><text>{{name?name:label}}</text></view>
 		<view class="row-c">
 			<view class="row-c radiu-item m-l20" :class="{'active-radiu':radioValue === item.value}"
@@ -20,17 +20,20 @@
 				type: String,
 				default: ''
 			},
-      label: {
-        type: String,
-        default: ''
-      },
+			label: {
+				type: String,
+				default: ''
+			},
 			value: {
 				type: Number,
 				default: 0
 			},
-      disabled: {
-        default: false
-      },
+			disabled: {
+				default: false
+			},
+			is_border: {
+				default: true
+			},
 			list: {
 				type: Array,
 				default: () => []
@@ -51,9 +54,9 @@
 		},
 		methods: {
 			onSelect(value) {
-        if(this.disabled){
-          return
-        }
+				if (this.disabled) {
+					return
+				}
 				this.radioValue = value
 				this.$emit('input', value)
 			}
@@ -79,8 +82,7 @@
 	}
 
 	.radiu-item {
-		width: 140rpx;
-		padding: 6rpx 16rpx;
+		padding: 6rpx 30rpx;
 		border-radius: 100rpx;
 		border: 1rpx solid #CCCCCC;
 	}
@@ -89,4 +91,4 @@
 		color: #0FB160;
 		border: 1rpx solid #0FB160;
 	}
-</style>
+</style>

+ 169 - 169
components/en-from/en-select/en-select.vue

@@ -1,187 +1,187 @@
 <template>
-  <view class="box">
-    <view class="input-box">
-      <view class="input-box-left" :style="{'letter-spacing':labelWidth}">
-        {{ label }}
-      </view>
-      <view class="input-box-right" @click="showPickerObj">
-        <text :class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
-        <text class="iconfont">&#xe62b;</text>
-      </view>
-    </view>
-    <uni-data-picker :popup-title="'选择'+label" :localdata="localData" ref="pickerObj" v-show="showPicker"
-                     @change="pickerChange" :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
-    </uni-data-picker>
-  </view>
+	<view class="box">
+		<view class="input-box" @click="showPickerObj">
+			<view class="input-box-left size-28" :style="{'letter-spacing':labelWidth}">
+				{{ label }}
+			</view>
+			<view class="input-box-right row-c">
+				<text class="size-28 p-r10"
+					:class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
+				<!-- <text class="iconfont">&#xe62b;</text> -->
+				<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
+			</view>
+		</view>
+		<uni-data-picker :popup-title="'选择'+label" :localdata="localData" ref="pickerObj" v-show="showPicker"
+			@change="pickerChange" :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
+		</uni-data-picker>
+	</view>
 </template>
 
 <script>
-export default {
-  name: 'en-select',
-  props: {
-    map: {
-      default:{}
-    },
-    localData: {
-      default: []
-    },
-    label: {
-      type: String,
-      default: '标题'
-    },
-    placeholder: {
-      type: String,
-      default: '请选择'
-    },
-    disabled: {
-      type: Boolean,
-      default: false
-    },
-    name: {
-      type: String,
-      default: 'text'
-    },
-    valueType: {
-      type: String,
-      default: '1'
-    },
-    value: {
-      default: ''
-    }
-  },
-  data() {
-    return {
-      inputValue: [],
-      optionName: '',
-      labelWidth: 0,
-      showPicker: false
-    }
-  },
-  components: {},
-  mounted() {
-    this.setValue()
-    this.setLabelWidth()
-  },
-  watch: {
-    'value': function () {
-      this.setValue()
-    },
-    'inputValue': function () {
-      if (this.valueType === '1') {
-        this.$emit('input', this.inputValue.join(','))
-      } else {
-        console.log('this.inputValue',this.inputValue)
-        this.$emit('input', this.inputValue)
-      }
-    },
-    'localData': function () {
-      this.setValue()
-    }
-  },
-  methods: {
-    setValue() {
-      let value = this.value
-      if (typeof value === 'number') {
-        value += '';
-      }
-      if (!value) {
-        value = []
-      } else if (typeof value === 'string') {
-        value = value.split(',')
-      }
+	export default {
+		name: 'en-select',
+		props: {
+			map: {
+				default: {}
+			},
+			localData: {
+				default: []
+			},
+			label: {
+				type: String,
+				default: '标题'
+			},
+			placeholder: {
+				type: String,
+				default: '请选择'
+			},
+			disabled: {
+				type: Boolean,
+				default: false
+			},
+			name: {
+				type: String,
+				default: 'text'
+			},
+			valueType: {
+				type: String,
+				default: '1'
+			},
+			value: {
+				default: ''
+			}
+		},
+		data() {
+			return {
+				inputValue: [],
+				optionName: '',
+				labelWidth: 0,
+				showPicker: false
+			}
+		},
+		components: {},
+		mounted() {
+			this.setValue()
+			this.setLabelWidth()
+		},
+		watch: {
+			'value': function() {
+				this.setValue()
+			},
+			'inputValue': function() {
+				if (this.valueType === '1') {
+					this.$emit('input', this.inputValue.join(','))
+				} else {
+					console.log('this.inputValue', this.inputValue)
+					this.$emit('input', this.inputValue)
+				}
+			},
+			'localData': function() {
+				this.setValue()
+			}
+		},
+		methods: {
+			setValue() {
+				let value = this.value
+				if (typeof value === 'number') {
+					value += '';
+				}
+				if (!value) {
+					value = []
+				} else if (typeof value === 'string') {
+					value = value.split(',')
+				}
 
-      if (value && (this.inputValue !== value || this.optionName==='') ) {
-        this.inputValue = value
-        this.optionName = "";
-        this.localData.forEach((one) => {
-          if (this.inputValue[0] && one.value + '' === this.inputValue[0] + '') {
-            this.optionName += one.text + " ";
-            if (one.children) {
-              one.children.forEach((two) => {
-                if (this.inputValue[1] && two.value + '' === this.inputValue[1] + '') {
-                  this.optionName += two.text + " ";
-                  if (two.children) {
-                    two.children.forEach((three) => {
-                      if (this.inputValue[2] && three.value + '' === this.inputValue[2] + '') {
-                        this.optionName += three.text + " ";
-                      }
-                    })
-                  }
-                }
-              })
-            }
-          }
-        })
-      }
+				if (value && (this.inputValue !== value || this.optionName === '')) {
+					this.inputValue = value
+					this.optionName = "";
+					this.localData.forEach((one) => {
+						if (this.inputValue[0] && one.value + '' === this.inputValue[0] + '') {
+							this.optionName += one.text + " ";
+							if (one.children) {
+								one.children.forEach((two) => {
+									if (this.inputValue[1] && two.value + '' === this.inputValue[1] + '') {
+										this.optionName += two.text + " ";
+										if (two.children) {
+											two.children.forEach((three) => {
+												if (this.inputValue[2] && three.value + '' === this
+													.inputValue[2] + '') {
+													this.optionName += three.text + " ";
+												}
+											})
+										}
+									}
+								})
+							}
+						}
+					})
+				}
 
-    },
-    setPopupClosed() {
-      this.showPicker = false;
-    },
-    showPickerObj() {
-      this.$refs.pickerObj.show();
-      this.showPicker = true;
-    },
-    pickerChange(data) {
-      this.optionName = "";
-      this.inputValue = [];
-      console.log(data)
-      data.detail.value.forEach((item) => {
-        this.optionName += item.text + " ";
-        this.inputValue.push(item.value)
-      });
-      this.showPicker = false;
-    },
-    setLabelWidth() {
-      let differenceNum = 4 - this.label.length;
-      if (differenceNum === 2) {
-        this.labelWidth = '2em'
-      } else if (differenceNum === 1) {
-        this.labelWidth = '0.5em'
-      }
-    }
-  }
+			},
+			setPopupClosed() {
+				this.showPicker = false;
+			},
+			showPickerObj() {
+				this.$refs.pickerObj.show();
+				this.showPicker = true;
+			},
+			pickerChange(data) {
+				this.optionName = "";
+				this.inputValue = [];
+				console.log(data)
+				data.detail.value.forEach((item) => {
+					this.optionName += item.text + " ";
+					this.inputValue.push(item.value)
+				});
+				this.showPicker = false;
+			},
+			setLabelWidth() {
+				let differenceNum = 4 - this.label.length;
+				if (differenceNum === 2) {
+					this.labelWidth = '2em'
+				} else if (differenceNum === 1) {
+					this.labelWidth = '0.5em'
+				}
+			}
+		}
 
-}
+	}
 </script>
 
 <style lang="scss" scoped>
-@import url("../../static/css/en-common.css");
+	@import url("../../static/css/en-common.css");
 
-::v-deep .selected-item-active {
-  border-bottom: 2px solid #FF0000 !important;
-}
+	::v-deep .selected-item-active {
+		border-bottom: 2px solid #FF0000 !important;
+	}
 
-.box {
-  .input-box {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
+	.box {
+		.input-box {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
 
-    .input-box-left {
-      width: 210rpx;
-      font-size: 30rpx;
-      color: #333333;
-    }
+			.input-box-left {
+				color: #333333;
+			}
 
-    .input-box-right {
-      width: 100%;
+			.input-box-right {
+				text-align: right;
 
-      text {
-        font-size: 28rpx;
-        color: #333;
-      }
+				text {
+					font-size: 28rpx;
+					color: #333;
+				}
 
-      .iconfont {
-        float: right;
-      }
+				.iconfont {
+					float: right;
+				}
 
-      .no-option {
-        color: #999999;
-      }
+				.no-option {
+					color: #999999;
+				}
 
-    }
-  }
-}
-
-</style>
+			}
+		}
+	}
+</style>

+ 288 - 213
page_task/apply/apply.vue

@@ -6,14 +6,16 @@
 			<view class="task-tabs" :style="{top:`${$tools.topHeight()}px`}">
 				<view class="row-justify-sb m-tb20 step-content">
 					<view class="column-c" style="text-align: center;">
-						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${step === 1?'double':'correct'}.png`"
+						<image class="wh-45 m-b16"
+							:src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${step === 1?'double':'correct'}.png`"
 							mode="aspectFill"></image>
 						<text class="size-24"
 							:class="step === 1?'color-0FB160 sys-weight-600':'sys-weight-400'">基本信息</text>
 					</view>
 					<view class="line"></view>
 					<view class="column-c justify-center">
-						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepTwo[step-1]}.png`"
+						<image class="wh-45 m-b16"
+							:src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepTwo[step-1]}.png`"
 							mode="aspectFill"></image>
 						<text class="size-24"
 							:class="step === 2?'color-0FB160 sys-weight-600':'sys-weight-400'">抵押信息</text>
@@ -28,32 +30,44 @@
 				<view class="sys-background-fff r-20 p-lr30 p-t30">
 					<text class="size-30 sys-weight-600'">基本信息</text>
 					<view class="m-t20">
-            <en-input label="贷款额度" v-if="verifyKey('quota')" v-model="appliesInfo.quota" type="digit" placeholder="请输入贷款金额" rightText="万元"></en-input>
-            <en-radio name="是否涉农" v-if="verifyKey('is_farming')"  v-model="appliesInfo.is_farming"  :list="farmingData"></en-radio>
-            <en-select label="贷款形式" v-if="verifyKey('loan_form')"  v-model="appliesInfo.loan_form" :local-data="loanFormArr" placeholder="请选择贷款形式"></en-select>
-            <en-select label="贷款类别" v-if="verifyKey('loan_type')"  v-model="appliesInfo.loan_type" :local-data="loanTypeArr" placeholder="请选择贷款类别"></en-select>
-            <en-select :valueType="'2'" :map="{ text: 'name', value: 'id'}" label="投向行业" v-if="verifyKey('loan_industry')"  v-model="appliesInfo.loan_industry" :local-data="loanIndustryArr" placeholder="请选择投向行业"></en-select>
-            <en-select label="企业类型" v-if="verifyKey('enterprise_type')"  v-model="appliesInfo.enterprise_type" :local-data="enterpriseTypeArr" placeholder="请选择企业类型"></en-select>
-            <en-date label="预计用款时间" v-if="verifyKey('use_date')"  v-model="appliesInfo.use_date" placeholder="选择预计用款时间"></en-date>
-            <en-radio name="材料费" v-if="verifyKey('pay_status')"  v-model="appliesInfo.pay_status" :list="payData" :no-box="true"></en-radio>
+						<en-input label="贷款额度" v-if="verifyKey('quota')" v-model="appliesInfo.quota" type="digit"
+							placeholder="请输入贷款金额" rightText="万元"></en-input>
+						<en-radio name="是否涉农" v-if="verifyKey('is_farming')" v-model="appliesInfo.is_farming"
+							:list="farmingData"></en-radio>
+						<en-select label="贷款形式" v-if="verifyKey('loan_form')" v-model="appliesInfo.loan_form"
+							:local-data="loanFormArr" placeholder="请选择贷款形式"></en-select>
+						<en-select label="贷款类别" v-if="verifyKey('loan_type')" v-model="appliesInfo.loan_type"
+							:local-data="loanTypeArr" placeholder="请选择贷款类别"></en-select>
+						<en-select :valueType="'2'" :map="{ text: 'name', value: 'id'}" label="投向行业"
+							v-if="verifyKey('loan_industry')" v-model="appliesInfo.loan_industry"
+							:local-data="loanIndustryArr" placeholder="请选择投向行业"></en-select>
+						<en-select label="企业类型" v-if="verifyKey('enterprise_type')"
+							v-model="appliesInfo.enterprise_type" :local-data="enterpriseTypeArr"
+							placeholder="请选择企业类型"></en-select>
+						<en-date label="预计用款时间" v-if="verifyKey('use_date')" v-model="appliesInfo.use_date"
+							placeholder="选择预计用款时间"></en-date>
+						<en-radio name="材料费" v-if="verifyKey('pay_status')" v-model="appliesInfo.pay_status"
+							:list="payData" :no-box="true" :is_border="false"></en-radio>
 					</view>
 				</view>
 			</view>
 			<!-- 基本信息end -->
 			<!-- 抵押信息start -->
 			<view id="apply-info" class="m-t20 m-lr30 text-color-12" v-if="step === 2">
-				<view :id="`info${index}`" class="sys-background-fff r-20 p-20 m-b20" v-for="(applyItem,index) in appliesInfo.apply_data"
-					:key="index">
+				<view :id="`info${index}`" class="sys-background-fff r-20 p-20 m-b20"
+					v-for="(applyItem,index) in appliesInfo.apply_data" :key="index">
 					<view class="sys-from-background-color p-20 r-20 size-26" v-if="editIndex!==index">
 						<view class="">
 							<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-lr30 p-tb10">
-									<image class="wh-30" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/edit.png" mode="aspectFill"
-										@click="onEditInfo(index)"></image>
+									<image class="wh-30"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/edit.png"
+										mode="aspectFill" @click="onEditInfo(index)"></image>
 									<view class="title-line m-lr20"></view>
-									<image class="wh-30" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/delete.png" mode="aspectFill"
-										@click="onDeleteInfo(index)">
+									<image class="wh-30"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/delete.png"
+										mode="aspectFill" @click="onDeleteInfo(index)">
 									</image>
 								</view>
 							</view>
@@ -61,28 +75,28 @@
 								<view class="text-color-666"><text></text>申请类型:</view>
 								<text>{{applyItem.apply_type*1===1?'抵押':'买卖'}}</text>
 							</view>
-              <view class="" v-if="applyItem.apply_type*1===2">
-                <view class="row-c p-tb30" v-if="verifyKey('transaction')">
-                  <view class="text-color-666"><text></text>成交价:</view>
-                  <text>{{applyItem.transaction}}万</text>
-                </view>
-                <view class="row-c "  v-if="verifyKey('pricing')">
-                  <view class="text-color-666"><text></text>定金:</view>
-                  <text>{{applyItem.pricing}}</text>
-                </view>
-                <view class="row-c p-tb30" v-if="verifyKey('supervise')">
-                  <view class="text-color-666"><text></text>资金监管:</view>
-                  <text>{{applyItem.supervise}}</text>
-                </view>
-                <view class="row-c p-tb30" v-if="verifyKey('reply_type')">
-                  <view class="text-color-666"><text></text>批复类型:</view>
-                  <text>{{applyItem.reply_type}}</text>
-                </view>
-                <view class="row-c p-tb30" v-if="verifyKey('intermediary')" >
-                  <view class="text-color-666"><text></text>成交中介:</view>
-                  <text>{{applyItem.intermediary}}</text>
-                </view>
-              </view>
+							<view class="" v-if="applyItem.apply_type*1===2">
+								<view class="row-c p-tb30" v-if="verifyKey('transaction')">
+									<view class="text-color-666"><text></text>成交价:</view>
+									<text>{{applyItem.transaction}}万</text>
+								</view>
+								<view class="row-c " v-if="verifyKey('pricing')">
+									<view class="text-color-666"><text></text>定金:</view>
+									<text>{{applyItem.pricing}}</text>
+								</view>
+								<view class="row-c p-tb30" v-if="verifyKey('supervise')">
+									<view class="text-color-666"><text></text>资金监管:</view>
+									<text>{{applyItem.supervise}}</text>
+								</view>
+								<view class="row-c p-tb30" v-if="verifyKey('reply_type')">
+									<view class="text-color-666"><text></text>批复类型:</view>
+									<text>{{applyItem.reply_type}}</text>
+								</view>
+								<view class="row-c p-tb30" v-if="verifyKey('intermediary')">
+									<view class="text-color-666"><text></text>成交中介:</view>
+									<text>{{applyItem.intermediary}}</text>
+								</view>
+							</view>
 						</view>
 						<view class="">
 							<text class="size-28 sys-weight-600">绑定资产信息</text>
@@ -93,74 +107,95 @@
 						</view>
 
 						<view class="">
-              <view v-for="(repaymentItem,repaymentIndex) in applyItem.repayment_data">
-                <text class="size-28 sys-weight-600">{{applyItem.apply_type*1===1?'还款信息':'监管银行卡信息'}}</text>
-                <view class="row-c p-tb30">
-                  <view class="text-color-666"><text></text>还款金额:</view>
-                  <text>{{repaymentItem.money}}万</text>
-                </view>
-                <view class="row-c ">
-                  <view class="text-color-666"><text></text>银行卡号:</view>
-                  <text>{{repaymentItem.bank_num}}</text>
-                </view>
-                <view class="row-c p-tb30">
-                  <view class="text-color-666"><text></text>所属银行:</view>
-                  <text>{{repaymentItem.bank_name}}</text>
-                </view>
-              </view>
-
+							<view v-for="(repaymentItem,repaymentIndex) in applyItem.repayment_data">
+								<text
+									class="size-28 sys-weight-600">{{applyItem.apply_type*1===1?'还款信息':'监管银行卡信息'}}</text>
+								<view class="row-c p-tb30">
+									<view class="text-color-666"><text></text>还款金额:</view>
+									<text>{{repaymentItem.money}}万</text>
+								</view>
+								<view class="row-c ">
+									<view class="text-color-666"><text></text>银行卡号:</view>
+									<text>{{repaymentItem.bank_num}}</text>
+								</view>
+								<view class="row-c p-tb30">
+									<view class="text-color-666"><text></text>所属银行:</view>
+									<text>{{repaymentItem.bank_name}}</text>
+								</view>
+							</view>
 						</view>
 						<view class="">
-              <view v-for="(loanItem,loanIndex) in applyItem.loan_data">
-                <text class="size-28 sys-weight-600">放款账户信息</text>
-                <view class="row-c p-tb30">
-                  <view class="text-color-666"><text></text>批复金额:</view>
-                  <text>{{loanItem.money}}万</text>
-                </view>
-                <view class="row-c ">
-                  <view class="text-color-666"><text></text>银行卡号:</view>
-                  <text>{{loanItem.bank_num}}</text>
-                </view>
-                <view class="row-c p-t30">
-                  <view class="text-color-666"><text></text>所属银行:</view>
-                  <text>{{loanItem.bank_name}}</text>
-                </view>
-              </view>
-
+							<view v-for="(loanItem,loanIndex) in applyItem.loan_data">
+								<text class="size-28 sys-weight-600">放款账户信息</text>
+								<view class="row-c p-tb30">
+									<view class="text-color-666"><text></text>批复金额:</view>
+									<text>{{loanItem.money}}万</text>
+								</view>
+								<view class="row-c ">
+									<view class="text-color-666"><text></text>银行卡号:</view>
+									<text>{{loanItem.bank_num}}</text>
+								</view>
+								<view class="row-c p-t30">
+									<view class="text-color-666"><text></text>所属银行:</view>
+									<text>{{loanItem.bank_name}}</text>
+								</view>
+							</view>
 						</view>
 					</view>
 					<view v-else>
 						<view class="">
 							<text class="size-30 sys-weight-600'">抵押信息{{index+1}}</text>
-              <en-radio name="申请类型" v-model="applyItem.apply_type" v-if="verifyKey('apply_type')" :list="applyData"></en-radio>
-              <view v-if="applyItem.apply_type*1===2">
-                <en-input label="成交价"  v-model="applyItem.transaction" v-if="verifyKey('transaction')" type="digit" placeholder="请输入成交价" rightText="万元"></en-input>
-                <en-input label="定金"  v-model="applyItem.pricing" v-if="verifyKey('pricing')" type="digit" placeholder="请输入定金" rightText="万元"></en-input>
-                <en-input label="资金监管"  v-model="applyItem.supervise" v-if="verifyKey('supervise')" type="digit" placeholder="请输监管金额" rightText="万元"></en-input>
-                <en-radio propertyData="批复类型"  v-model="applyItem.reply_type" v-if="verifyKey('reply_type')" :list="replyData"></en-radio>
-                <en-input label="成交中介" v-model="applyItem.intermediary" v-if="verifyKey('intermediary')" type="text" placeholder="请输入中介公司名称" ></en-input>
-              </view>
+							<en-radio name="申请类型" v-model="applyItem.apply_type" v-if="verifyKey('apply_type')"
+								:list="applyData"></en-radio>
+							<view v-if="applyItem.apply_type*1===2">
+								<en-input label="成交价" v-model="applyItem.transaction" v-if="verifyKey('transaction')"
+									type="digit" placeholder="请输入成交价" rightText="万元"></en-input>
+								<en-input label="定金" v-model="applyItem.pricing" v-if="verifyKey('pricing')"
+									type="digit" placeholder="请输入定金" rightText="万元"></en-input>
+								<en-input label="资金监管" v-model="applyItem.supervise" v-if="verifyKey('supervise')"
+									type="digit" placeholder="请输监管金额" rightText="万元"></en-input>
+								<en-radio propertyData="批复类型" v-model="applyItem.reply_type"
+									v-if="verifyKey('reply_type')" :list="replyData"></en-radio>
+								<en-input label="成交中介" v-model="applyItem.intermediary" v-if="verifyKey('intermediary')"
+									type="text" placeholder="请输入中介公司名称"></en-input>
+							</view>
 						</view>
 						<view class="m-t30">
 							<text class="size-30 sys-weight-600'">绑定资产信息</text>
-              <property-select label="选择资产" v-model="applyItem.property_sns" :propertyList="propertyList"></property-select>
+							<property-select label="选择资产" v-model="applyItem.property_sns"
+								:propertyList="propertyList"></property-select>
+						</view>
+						<view class="m-t30">
+							<text class="size-30 sys-weight-600'">{{applyItem.apply_type*1===1?'还款信息':'监管银行卡信息'}}</text>
+							<en-input label="还款金额" type="number" placeholder="请输入还款金额" rightText="万元"></en-input>
+							<add-bank></add-bank>
 						</view>
-            <view class="m-t30">
-              <text class="size-30 sys-weight-600'">{{applyItem.apply_type*1===1?'还款信息':'监管银行卡信息'}}</text>
-              <en-input label="还款金额" type="number" placeholder="请输入还款金额" rightText="万元"></en-input>
-              <add-bank ></add-bank>
-            </view>
 						<view class="m-t30" v-for="(repaymentItem,repaymentIndex) in applyItem.repayment_data">
 							<text class="size-30 sys-weight-600'">{{applyItem.apply_type*1===1?'还款信息':'监管银行卡信息'}}</text>
-              <en-input v-if="applyItem.apply_type*1===1" v-model="repaymentItem.money" label="还款金额" type="number" placeholder="请输入还款金额" rightText="万元"></en-input>
-              <add-bank :bank-name.sync="repaymentItem.bank_name" :bank-num.sync="repaymentItem.bank_num"></add-bank>
+							<en-input v-if="applyItem.apply_type*1===1" v-model="repaymentItem.money" label="还款金额"
+								type="number" placeholder="请输入还款金额" rightText="万元"></en-input>
+							<add-bank :bank-name.sync="repaymentItem.bank_name"
+								:bank-num.sync="repaymentItem.bank_num"></add-bank>
 						</view>
+						<view class="row">
+							<button class="size-26 r-10 button-color apply-button bank-button m-t30"
+								hover-class="is-hover" @click="addApply">+添加监管银行信息</button>
+							<view class="flex"></view>
+						</view>
+
 						<view class="m-t30" v-for="(loanItem,loanIndex) in applyItem.loan_data">
 							<text class="size-30 sys-weight-600'">放款账户信息</text>
-              <en-input label="批复金额" type="number" v-model="loanItem.money" placeholder="请输入批复金额" rightText="万元"></en-input>
-              <add-bank :bank-name.sync="loanItem.bank_name" :bank-num.sync="loanItem.bank_num"></add-bank>
+							<en-input label="批复金额" type="number" v-model="loanItem.money" placeholder="请输入批复金额"
+								rightText="万元"></en-input>
+							<add-bank :bank-name.sync="loanItem.bank_name"
+								:bank-num.sync="loanItem.bank_num"></add-bank>
 						</view>
-						<view class="row-justify-sb">
+						<view class="row">
+							<button class="size-26 r-10 button-color apply-button bank-button m-t30"
+								hover-class="is-hover" @click="addApply">+添加放款信息</button>
+							<view class="flex"></view>
+						</view>
+						<!-- 						<view class="row-justify-sb">
 							<view class="flex"></view>
 							<view class="row-c m-tb20">
 								<button class="size-26 r-10 apply-button-delete m-r20" hover-class="is-hover"
@@ -168,11 +203,11 @@
 								<button class="size-26 r-10 button-color apply-button-save" hover-class="is-hover"
 									@click="onSaveInfo()">保存</button>
 							</view>
-						</view>
+						</view> -->
 					</view>
 				</view>
 				<button class="size-26 r-10 button-color apply-button m-t30" hover-class="is-hover"
-                @click="addApply">+添加申请信息</button>
+					@click="addApply">+添加申请信息</button>
 			</view>
 			<!-- 抵押信息end -->
 		</view>
@@ -185,68 +220,97 @@
 <script>
 	import TaskImgTab from "@/common/task/task_ima_tab.vue"
 	import WhInput from "@/components/en-from/en-input/en-input.vue"
-  import EnInput from "@/components/en-from/en-input/en-input.vue";
-  import EnSelect from "@/components/en-from/en-select/en-select.vue";
-  import EnDate from "@/components/en-from/en-date/en-date.vue";
-  import PropertySelect from "@/page_task/apply/components/property-select.vue";
-  import AddBank from "@/page_task/apply/components/add-bank.vue";
-  import {getTaskOptions} from "@/api/task";
-  import tools from "@/service/tools";
+	import EnInput from "@/components/en-from/en-input/en-input.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import EnDate from "@/components/en-from/en-date/en-date.vue";
+	import PropertySelect from "@/page_task/apply/components/property-select.vue";
+	import AddBank from "@/page_task/apply/components/add-bank.vue";
+	import {
+		getTaskOptions
+	} from "@/api/task";
+	import tools from "@/service/tools";
 
 	export default {
 		components: {
-      AddBank,
-      PropertySelect,
-      EnDate,
-      EnSelect,
-      EnInput,
+			AddBank,
+			PropertySelect,
+			EnDate,
+			EnSelect,
+			EnInput,
 			TaskImgTab,
 			WhInput
 		},
 		data() {
 			return {
-        editIndex:0,
+				editIndex: 0,
 				title: '',
 				step: 1,
 				fixedHeight: 70,
 				scrollTop: 0,
 				stepOne: ['double', 'correct'],
 				stepTwo: ['two', 'double', 'correct'],
-        payData: [{'value': 1, 'text': '已缴纳'}, {'value': 0, 'text': '未缴纳'}],
-        applyData: [{'value': 1, 'text': '抵押'}, {'value': 2, 'text': '买卖'}],
-        replyData: [{'value': 1, 'text': '商业'}, {'value': 2, 'text': '组合'}],
-        farmingData: [{'value': 1, 'text': '是'}, {'value': 0, 'text': '否'}],
-        loanFormArr: [], //贷款形式
-        loanTypeArr: [], //贷款类别
-        loanIndustryArr: [{'id': 1, 'name': 'no'}], //投向行业
-        enterpriseTypeArr: [], //企业类型
-        bank_name: '',
-        bank_num: '',
-        appliesInfo:{
-          "is_farming": '1',
-          "loan_form": '',
-          "loan_type": '',
-          "loan_industry": [],
-          "enterprise_type": "",
-          "use_date": "",
-          "pay_status": '1',
-          "quota": "",
-          "apply_data":[]
-        },
-        applyItem:{
-          "apply_type": '1',
-          "property_sns": [],
-          "repayment_data": [],
-          "loan_data": [],
-          "transaction": "",
-          "pricing": "",
-          "supervise": "",
-          "reply_type": '1',
-          "intermediary": "",
-          "is_edit": true,
-        },
-        showKeys: [],
-        propertyList: [],
+				payData: [{
+					'value': 1,
+					'text': '已缴纳'
+				}, {
+					'value': 0,
+					'text': '未缴纳'
+				}],
+				applyData: [{
+					'value': 1,
+					'text': '抵押'
+				}, {
+					'value': 2,
+					'text': '买卖'
+				}],
+				replyData: [{
+					'value': 1,
+					'text': '商业'
+				}, {
+					'value': 2,
+					'text': '组合'
+				}],
+				farmingData: [{
+					'value': 1,
+					'text': '是'
+				}, {
+					'value': 0,
+					'text': '否'
+				}],
+				loanFormArr: [], //贷款形式
+				loanTypeArr: [], //贷款类别
+				loanIndustryArr: [{
+					'id': 1,
+					'name': 'no'
+				}], //投向行业
+				enterpriseTypeArr: [], //企业类型
+				bank_name: '',
+				bank_num: '',
+				appliesInfo: {
+					"is_farming": '1',
+					"loan_form": '',
+					"loan_type": '',
+					"loan_industry": [],
+					"enterprise_type": "",
+					"use_date": "",
+					"pay_status": '1',
+					"quota": "",
+					"apply_data": []
+				},
+				applyItem: {
+					"apply_type": '1',
+					"property_sns": [],
+					"repayment_data": [],
+					"loan_data": [],
+					"transaction": "",
+					"pricing": "",
+					"supervise": "",
+					"reply_type": '1',
+					"intermediary": "",
+					"is_edit": true,
+				},
+				showKeys: [],
+				propertyList: [],
 			}
 		},
 		onPageScroll(res) {
@@ -254,80 +318,88 @@
 		},
 		onLoad(options) {
 			this.title = options.title
-      let appliesInfo = uni.getStorageSync('appliesData')
-      let appliesKey = uni.getStorageSync('appliesKey')
-      let propertyList = uni.getStorageSync('propertyData')
-      this.appliesInfo=appliesInfo
-      this.showKeys=appliesKey
-      this.propertyList=propertyList
-      this.getTaskOptions()
+			let appliesInfo = uni.getStorageSync('appliesData')
+			let appliesKey = uni.getStorageSync('appliesKey')
+			let propertyList = uni.getStorageSync('propertyData')
+			this.appliesInfo = appliesInfo
+			this.showKeys = appliesKey
+			this.propertyList = propertyList
+			this.getTaskOptions()
 		},
 		methods: {
-      showBankItem(applyType,bankType){
-        // applyType*=1
-        // if(applyType===1){
-        //   if(bankType===1){
-        //     return this.showIds.indexOf(80)>=0;
-        //   }else {
-        //     return this.showIds.indexOf(81)>=0;
-        //   }
-        // }else {
-        //   if(bankType===1){
-        //     return this.showIds.indexOf(84)>=0;
-        //   }else {
-        //     return this.showIds.indexOf(85)>=0;
-        //   }
-        // }
-      },
+			showBankItem(applyType, bankType) {
+				// applyType*=1
+				// if(applyType===1){
+				//   if(bankType===1){
+				//     return this.showIds.indexOf(80)>=0;
+				//   }else {
+				//     return this.showIds.indexOf(81)>=0;
+				//   }
+				// }else {
+				//   if(bankType===1){
+				//     return this.showIds.indexOf(84)>=0;
+				//   }else {
+				//     return this.showIds.indexOf(85)>=0;
+				//   }
+				// }
+			},
 
-      delApplyItem(applyKey){
-        this.appliesInfo.apply_data.splice(applyKey,1)
-      },
-      delBank(applyKey,itemKey,type){
-        if(type===1){
-          this.appliesInfo.apply_data[applyKey].repayment_data.splice(itemKey,1)
-        }else {
-          this.appliesInfo.apply_data[applyKey].loan_data.splice(itemKey,1)
-        }
-      },
-      addBank(applyKey,type){
-        if(type===1){
-          this.appliesInfo.apply_data[applyKey].repayment_data.push({'money':'','bank_name':'','bank_num':''})
-        }else {
-          this.appliesInfo.apply_data[applyKey].loan_data.push({'money':'','bank_name':'','bank_num':''})
-        }
-      },
-      addApply(){
-        tools.success('aaaaaaaaaaaaa')
-        if(!this.appliesInfo.apply_data){
-          this.appliesInfo.apply_data=[]
-        }
-        this.appliesInfo.apply_data.push(this.applyItem)
-      },
-      verifyKey(field) {
-        return this.showKeys.indexOf(field) >= 0
-      },
-      async getTaskOptions() {
-        const res = await getTaskOptions()
-        if (res.code === 1) {
-          this.enterpriseTypeArr = res.data.enterpriseTypeArr
-          this.enterpriseTypeArr.map((val) => {
-            val.text = val.name;
-          });
-          this.loanFormArr = res.data.loanFormArr
-          this.loanFormArr.map((val) => {
-            val.text = val.name;
-          });
-          this.loanIndustryArr = res.data.loanIndustryArr
-          this.loanIndustryArr.map((val) => {
-            val.text = val.name;
-          });
-          this.loanTypeArr = res.data.loanTypeArr
-          this.loanTypeArr.map((val) => {
-            val.text = val.name;
-          });
-        }
-      },
+			delApplyItem(applyKey) {
+				this.appliesInfo.apply_data.splice(applyKey, 1)
+			},
+			delBank(applyKey, itemKey, type) {
+				if (type === 1) {
+					this.appliesInfo.apply_data[applyKey].repayment_data.splice(itemKey, 1)
+				} else {
+					this.appliesInfo.apply_data[applyKey].loan_data.splice(itemKey, 1)
+				}
+			},
+			addBank(applyKey, type) {
+				if (type === 1) {
+					this.appliesInfo.apply_data[applyKey].repayment_data.push({
+						'money': '',
+						'bank_name': '',
+						'bank_num': ''
+					})
+				} else {
+					this.appliesInfo.apply_data[applyKey].loan_data.push({
+						'money': '',
+						'bank_name': '',
+						'bank_num': ''
+					})
+				}
+			},
+			addApply() {
+				tools.success('aaaaaaaaaaaaa')
+				if (!this.appliesInfo.apply_data) {
+					this.appliesInfo.apply_data = []
+				}
+				this.appliesInfo.apply_data.push(this.applyItem)
+			},
+			verifyKey(field) {
+				return this.showKeys.indexOf(field) >= 0
+			},
+			async getTaskOptions() {
+				const res = await getTaskOptions()
+				if (res.code === 1) {
+					this.enterpriseTypeArr = res.data.enterpriseTypeArr
+					this.enterpriseTypeArr.map((val) => {
+						val.text = val.name;
+					});
+					this.loanFormArr = res.data.loanFormArr
+					this.loanFormArr.map((val) => {
+						val.text = val.name;
+					});
+					this.loanIndustryArr = res.data.loanIndustryArr
+					this.loanIndustryArr.map((val) => {
+						val.text = val.name;
+					});
+					this.loanTypeArr = res.data.loanTypeArr
+					this.loanTypeArr.map((val) => {
+						val.text = val.name;
+					});
+				}
+			},
 			//  身份认证
 			onAuthentication(item) {
 				uni.navigateTo({
@@ -361,7 +433,7 @@
 			},
 			// 编辑单个信息
 			onEditInfo(index) {
-				this.editIndex =index
+				this.editIndex = index
 			},
 			// 删除信息
 			onDeleteInfo(index) {
@@ -460,7 +532,10 @@
 		line-height: 80rpx;
 		background: #FFFFFF;
 		border: 2rpx solid #0FB160;
-		margin-bottom: 100rpx;
+	}
+
+	.bank-button {
+		width: 320rpx;
 	}
 
 	.apply-button-save {
@@ -475,4 +550,4 @@
 		background: #FFFFFF;
 		border: 2rpx solid #E83F37;
 	}
-</style>
+</style>

+ 124 - 117
page_task/apply/components/add-bank.vue

@@ -1,124 +1,131 @@
 <template>
-  <view class="bank-box">
-    <en-input label="银行卡" v-model="number" type="number" placeholder="请输入银行卡号" rightText="识别银行卡" @addRight="showUploadingImg(true)" right-img="/static/img/new-add/add-bank.png"></en-input>
-    <en-input label="所属银行" v-model="name" type="text" placeholder="请输入银行名称" ></en-input>
-    <uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
-      <view class="popup-block">
-        <view class="popup-row" @click="uploadingImg(1)">拍照</view>
-        <view class="popup-row" @click="uploadingImg(2)">从手机里面选择</view>
-        <view class="popup-row" @click="showUploadingImg(false,0)">取消</view>
-      </view>
-    </uni-popup>
-  </view>
+	<view class="bank-box">
+		<en-input label="银行卡" v-model="number" type="number" placeholder="请输入银行卡号" @addRight="showUploadingImg(true)"
+			right-img="/static/img/new-add/add-bank.png">
+			<uni-icons class="m-l10" type="camera" size="30" color="#999"></uni-icons>
+		</en-input>
+		<en-input label="所属银行" v-model="name" type="text" placeholder="请输入银行名称"></en-input>
+		<uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
+			<view class="popup-block">
+				<view class="popup-row" @click="uploadingImg(1)">拍照</view>
+				<view class="popup-row" @click="uploadingImg(2)">从手机里面选择</view>
+				<view class="popup-row" @click="showUploadingImg(false,0)">取消</view>
+			</view>
+		</uni-popup>
+	</view>
 </template>
 
 <script>
-import EnInput from "@/components/en-from/en-input/en-input";
-import {getBaiDuImgRecognition} from "@/api/common";
-import txUploadFile from "@/service/txOssSts";
-import tools from "@/service/tools";
-export default {
-  name: "add-bank",
-  components: {EnInput},
-  props: {
-    bankName:{
-      default:''
-    },
-    bankNum:{
-      default:''
-    }
-  },
-  data() {
-    return {
-      number:'',
-      name:'',
-      isUploading:false,
-    }
-  },
-  watch: {
-    'bankName':function (){
-      console.log('bankName:'+this.bankName)
-      if(this.bankName!==this.name){
-        this.name=this.bankName
-      }
-    },
-    'bankNum':function (){
-      console.log('bankNum:'+this.bankNum)
-      if(this.bankNum!==this.number){
-        this.number=this.bankNum
-      }
-    },
-    'name':function (){
-      this.$emit('update:bankName',this.name)
-    },
-    'number':function (){
-      this.$emit('update:bankNum',this.number)
-    }
-  },
-  mounted() {
-    this.name=this.bankName
-    this.number=this.bankNum
-  },
-  methods: {
-    uploadingImg(sourceType) {
-      uni.chooseMedia({
-        mediaType: 'image',
-        count: 1, //默认9
-        sizeType: "compressed",
-        sourceType: [sourceType === 1 ? 'camera' : 'album'],
-        success: (res) => {
-          if (res.tempFiles.length > 0) {
-            res.tempFiles.forEach((tempFile) => {
-              txUploadFile(tempFile.tempFilePath).then((data) => {
-                if (!data) {
-                  tools.error('图片上传失败')
-                  tools.hideLoading()
-                } else {
-                  tools.showLoading()
-                  getBaiDuImgRecognition({
-                    'imgUrl': data.Location,
-                    'imgType': '2'
-                  }).then((res) => {
-                    tools.hideLoading()
-                    if (res.code === 1) {
-                      this.name = res.data.bank_name;
-                      this.number = res.data.bank_card_number;
-                    } else {
-                      tools.error('银行卡识别识别')
-                    }
-                  })
-                }
-              })
-            })
-            this.showUploadingImg(false, 0);
-          } else {
-            tools.error("请选择上传的图片")
-          }
-        },
-      });
-    },
-    showUploadingImg(showImg, uploadingType) {
-      if (showImg) {
-        if(this.isUploading){
-          return
-        }
-        this.isUploading=true
-        this.$refs.popup.open("bottom");
-      } else {
-        this.$refs.popup.close();
-        this.isUploading=false
-      }
-    },
-    closePopup(e){
-      if(e.show===false){
-        this.isUploading=false
-      }
-    },
-  }
-}
+	import EnInput from "@/components/en-from/en-input/en-input";
+	import {
+		getBaiDuImgRecognition
+	} from "@/api/common";
+	import txUploadFile from "@/service/txOssSts";
+	import tools from "@/service/tools";
+	export default {
+		name: "add-bank",
+		components: {
+			EnInput
+		},
+		props: {
+			bankName: {
+				default: ''
+			},
+			bankNum: {
+				default: ''
+			}
+		},
+		data() {
+			return {
+				number: '',
+				name: '',
+				isUploading: false,
+			}
+		},
+		watch: {
+			'bankName': function() {
+				console.log('bankName:' + this.bankName)
+				if (this.bankName !== this.name) {
+					this.name = this.bankName
+				}
+			},
+			'bankNum': function() {
+				console.log('bankNum:' + this.bankNum)
+				if (this.bankNum !== this.number) {
+					this.number = this.bankNum
+				}
+			},
+			'name': function() {
+				this.$emit('update:bankName', this.name)
+			},
+			'number': function() {
+				this.$emit('update:bankNum', this.number)
+			}
+		},
+		mounted() {
+			this.name = this.bankName
+			this.number = this.bankNum
+		},
+		methods: {
+			uploadingImg(sourceType) {
+				uni.chooseMedia({
+					mediaType: 'image',
+					count: 1, //默认9
+					sizeType: "compressed",
+					sourceType: [sourceType === 1 ? 'camera' : 'album'],
+					success: (res) => {
+						if (res.tempFiles.length > 0) {
+							res.tempFiles.forEach((tempFile) => {
+								txUploadFile(tempFile.tempFilePath).then((data) => {
+									if (!data) {
+										tools.error('图片上传失败')
+										tools.hideLoading()
+									} else {
+										tools.showLoading()
+										getBaiDuImgRecognition({
+											'imgUrl': data.Location,
+											'imgType': '2'
+										}).then((res) => {
+											tools.hideLoading()
+											if (res.code === 1) {
+												this.name = res.data.bank_name;
+												this.number = res.data
+													.bank_card_number;
+											} else {
+												tools.error('银行卡识别识别')
+											}
+										})
+									}
+								})
+							})
+							this.showUploadingImg(false, 0);
+						} else {
+							tools.error("请选择上传的图片")
+						}
+					},
+				});
+			},
+			showUploadingImg(showImg, uploadingType) {
+				if (showImg) {
+					if (this.isUploading) {
+						return
+					}
+					this.isUploading = true
+					this.$refs.popup.open("bottom");
+				} else {
+					this.$refs.popup.close();
+					this.isUploading = false
+				}
+			},
+			closePopup(e) {
+				if (e.show === false) {
+					this.isUploading = false
+				}
+			},
+		}
+	}
 </script>
 
 <style scoped lang="scss">
-@import "@/static/css/wh-common";
-
-</style>
+	@import "@/static/css/wh-common";
+</style>

+ 332 - 334
page_task/apply/components/property-select.vue

@@ -1,341 +1,339 @@
 <template>
-  <view class="box">
-    <view class="input-box">
-      <view class="input-box-left" :style="{'letter-spacing':labelWidth}">
-        {{ label }}
-      </view>
-      <view class="input-box-right input-box-text" @click="showUploadingImg(true)">
-        <text :class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
-      </view>
-      <view class="input-box-right" @click="showUploadingImg(true)">
-        <text class="iconfont">&#xe62b;</text>
-      </view>
-    </view>
-    <uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
-      <view class="popup-block">
-        <view class="popup-title">
-          <view class="popup-title-text">选择资产</view>
-          <view class="title-del" @click="showUploadingImg(false)">
-            <image src="/pages-task/static/img/new-add/del-title.png"></image>
-          </view>
-        </view>
-        <view class="add-row" @click.stop="setAddId(addItem.value)"
-              :class="{'checked-row':inputValue.indexOf(addItem.value)>=0,'row-one':addItem.type===2,'row-two':addItem.type===3,'row-three':addItem.type===4}" v-for="addItem in localData">
-          <view class="row-data"  >
-            <view class="row-item row-content">
-              <view class="content-title">{{addItem.text}}</view>
-              <view class="content-remark">{{addItem.remark}}</view>
-            </view>
-            <view class="row-item">
-              <text class="iconfont">
-                &#xe621;
-              </text>
-            </view>
-          </view>
-
-        </view>
-
-        <view class="add-but" @click.stop="showUploadingImg(false)">确定</view>
-      </view>
-    </uni-popup>
-  </view>
+	<view class="box">
+		<view class="input-box row-justify-sb center">
+			<view class="input-box-left" :style="{'letter-spacing':labelWidth}">
+				{{ label }}
+			</view>
+			<view class="row-c" @click="showUploadingImg(true)">
+				<text class="p-r10 size-28"
+					:class="{'no-option':!optionName}">{{ optionName ? optionName : placeholder }}</text>
+				<uni-icons type="forward" size="18" color="#D8D8D8"></uni-icons>
+			</view>
+		</view>
+		<uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
+			<view class="popup-block">
+				<view class="popup-title">
+					<view class="popup-title-text">选择资产</view>
+					<view class="title-del" @click="showUploadingImg(false)">
+						<image src="/pages-task/static/img/new-add/del-title.png"></image>
+					</view>
+				</view>
+				<view class="add-row" @click.stop="setAddId(addItem.value)"
+					:class="{'checked-row':inputValue.indexOf(addItem.value)>=0,'row-one':addItem.type===2,'row-two':addItem.type===3,'row-three':addItem.type===4}"
+					v-for="addItem in localData">
+					<view class="row-data">
+						<view class="row-item row-content">
+							<view class="content-title">{{addItem.text}}</view>
+							<view class="content-remark">{{addItem.remark}}</view>
+						</view>
+						<view class="row-item">
+							<text class="iconfont">
+								&#xe621;
+							</text>
+						</view>
+					</view>
+
+				</view>
+
+				<view class="add-but" @click.stop="showUploadingImg(false)">确定</view>
+			</view>
+		</uni-popup>
+	</view>
 </template>
 
 <script>
-export default {
-  name: 'property-select',
-  props: {
-    'propertyList': {
-      default: []
-    },
-    label: {
-      type: String,
-      default: '标题'
-    },
-    placeholder: {
-      type: String,
-      default: '请选择'
-    },
-    disabled: {
-      type: Boolean,
-      default: false
-    },
-    name: {
-      type: String,
-      default: 'text'
-    },
-    valueType: {
-      type: String,
-      default: '1'
-    },
-    value: {
-      default: ''
-    }
-  },
-  data() {
-    return {
-      addList: [],
-      inputValue: [],
-      localData: [],
-      optionName: '',
-      labelWidth: 0,
-      showPicker: false
-    }
-  },
-  components: {},
-  mounted() {
-    this.setLocalData()
-
-    this.setLabelWidth()
-  },
-  watch: {
-    'value': function () {
-      this.setValue()
-    },
-    'inputValue': function () {
-      this.$emit('input', this.inputValue)
-      this.setValue()
-    },
-    'propertyList': function () {
-      this.setLocalData()
-    }
-  },
-  methods: {
-    closePopup(e) {
-
-    },
-    setLocalData() {
-      // 设置资产选择列表
-      this.localData = [];
-      let typeOne=1;
-      let typeTwo=1;
-      let typeThree=1;
-      let typeFour=1;
-      this.propertyList.forEach((item)=>{
-        let propertyType=item.property_type*1;
-        let propertyItem={'value':item.property_sn,'type':propertyType}
-        if(propertyType===1){
-          propertyItem.text='房产信息('+typeOne+')'
-          propertyItem.remark='房产地址:'+item.data.house_address
-         ++typeOne;
-        }else if(propertyType===2){
-          propertyItem.text='车辆信息('+typeTwo+')'
-          propertyItem.remark='车牌号:'+item.data.car_num
-          ++typeTwo;
-        }else if(propertyType===3){
-          propertyItem.text='保单信息('+typeThree+')'
-          propertyItem.remark='保险公司:'+item.data.insurance_name
-          ++typeThree;
-        }else {
-          propertyItem.text='企业信息('+typeFour+')'
-          propertyItem.remark='企业名称:'+item.data.firm_name
-          ++typeFour;
-        }
-        this.localData.push(propertyItem)
-      })
-      this.setValue()
-    },
-    setAddId(id) {
-      console.log('id:'+id)
-      let key = this.inputValue.indexOf(id)
-      if (key >= 0) {
-        this.inputValue.splice(key, 1)
-      } else {
-        this.inputValue.push(id)
-      }
-    },
-    showUploadingImg(showImg) {
-      this.addItemIds = []
-      if (showImg) {
-        this.$refs.popup.open("bottom");
-      } else {
-        this.$refs.popup.close();
-        this.isUploading = false
-      }
-    },
-    setValue() {
-      this.inputValue=this.value
-      if (this.inputValue) {
-        this.optionName = "";
-        this.localData.forEach((one) => {
-          if (  this.inputValue.indexOf(one.value)>=0) {
-            if(this.optionName)this.optionName+=","
-            this.optionName += one.text;
-          }
-        })
-      }
-    },
-    setLabelWidth() {
-      let differenceNum = 4 - this.label.length;
-      if (differenceNum === 2) {
-        this.labelWidth = '2em'
-      } else if (differenceNum === 1) {
-        this.labelWidth = '0.5em'
-      }
-    }
-  }
-
-}
+	export default {
+		name: 'property-select',
+		props: {
+			'propertyList': {
+				default: []
+			},
+			label: {
+				type: String,
+				default: '标题'
+			},
+			placeholder: {
+				type: String,
+				default: '请选择'
+			},
+			disabled: {
+				type: Boolean,
+				default: false
+			},
+			name: {
+				type: String,
+				default: 'text'
+			},
+			valueType: {
+				type: String,
+				default: '1'
+			},
+			value: {
+				default: ''
+			}
+		},
+		data() {
+			return {
+				addList: [],
+				inputValue: [],
+				localData: [],
+				optionName: '',
+				labelWidth: 0,
+				showPicker: false
+			}
+		},
+		components: {},
+		mounted() {
+			this.setLocalData()
+
+			this.setLabelWidth()
+		},
+		watch: {
+			'value': function() {
+				this.setValue()
+			},
+			'inputValue': function() {
+				this.$emit('input', this.inputValue)
+				this.setValue()
+			},
+			'propertyList': function() {
+				this.setLocalData()
+			}
+		},
+		methods: {
+			closePopup(e) {
+
+			},
+			setLocalData() {
+				// 设置资产选择列表
+				this.localData = [];
+				let typeOne = 1;
+				let typeTwo = 1;
+				let typeThree = 1;
+				let typeFour = 1;
+				this.propertyList.forEach((item) => {
+					let propertyType = item.property_type * 1;
+					let propertyItem = {
+						'value': item.property_sn,
+						'type': propertyType
+					}
+					if (propertyType === 1) {
+						propertyItem.text = '房产信息(' + typeOne + ')'
+						propertyItem.remark = '房产地址:' + item.data.house_address
+							++typeOne;
+					} else if (propertyType === 2) {
+						propertyItem.text = '车辆信息(' + typeTwo + ')'
+						propertyItem.remark = '车牌号:' + item.data.car_num
+							++typeTwo;
+					} else if (propertyType === 3) {
+						propertyItem.text = '保单信息(' + typeThree + ')'
+						propertyItem.remark = '保险公司:' + item.data.insurance_name
+							++typeThree;
+					} else {
+						propertyItem.text = '企业信息(' + typeFour + ')'
+						propertyItem.remark = '企业名称:' + item.data.firm_name
+							++typeFour;
+					}
+					this.localData.push(propertyItem)
+				})
+				this.setValue()
+			},
+			setAddId(id) {
+				console.log('id:' + id)
+				let key = this.inputValue.indexOf(id)
+				if (key >= 0) {
+					this.inputValue.splice(key, 1)
+				} else {
+					this.inputValue.push(id)
+				}
+			},
+			showUploadingImg(showImg) {
+				this.addItemIds = []
+				if (showImg) {
+					this.$refs.popup.open("bottom");
+				} else {
+					this.$refs.popup.close();
+					this.isUploading = false
+				}
+			},
+			setValue() {
+				this.inputValue = this.value
+				if (this.inputValue) {
+					this.optionName = "";
+					this.localData.forEach((one) => {
+						if (this.inputValue.indexOf(one.value) >= 0) {
+							if (this.optionName) this.optionName += ","
+							this.optionName += one.text;
+						}
+					})
+				}
+			},
+			setLabelWidth() {
+				let differenceNum = 4 - this.label.length;
+				if (differenceNum === 2) {
+					this.labelWidth = '2em'
+				} else if (differenceNum === 1) {
+					this.labelWidth = '0.5em'
+				}
+			}
+		}
+
+	}
 </script>
 
 <style lang="scss" scoped>
-@import "@/components/static/css/en-common.css";
-
-.box {
-
-  .input-box {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-
-    .input-box-left {
-      width: 210rpx;
-      font-size: 30rpx;
-      color: #333333;
-    }
-
-    .input-box-right {
-      width: 40rpx;
-
-      text {
-        font-size: 28rpx;
-        color: #333;
-      }
-
-      .iconfont {
-        float: right;
-      }
-
-      .no-option {
-        color: #999999;
-      }
-
-    }
-    .input-box-text{
-      width: calc(100% - 250rpx);
-      display: -webkit-box;
-      -webkit-line-clamp: 1;
-      -webkit-box-orient: vertical;
-      overflow: hidden;
-    }
-  }
-
-  .popup-block {
-    border-radius: 20rpx 20rpx 0 0;
-    background: #F6F7FB;
-    padding: 0 0 calc(env(safe-area-inset-bottom) - 10rpx);
-    max-height: 60vh;
-    overflow-y: auto;
-
-    .popup-title {
-      background: #fff;
-      border-bottom: 2rpx solid #F0F0F0;
-      padding: 40rpx 0;
-      position: relative;
-
-      .popup-title-text {
-        text-align: center;
-        font-size: 34rpx;
-        font-weight: 600;
-      }
-
-      .title-del {
-        position: absolute;
-        top: 40rpx;
-        right: 40rpx;
-
-        image {
-          height: 40rpx;
-          width: 40rpx;
-        }
-      }
-
-    }
-
-    .add-row {
-      margin: 20rpx 32rpx 0;
-      background: #F20303;
-      border-radius: 10rpx;
-      height: 144rpx;
-      position: relative;
-      .row-data {
-        position: absolute;
-        left: 4rpx;
-        top: -1rpx;
-        box-sizing: border-box;
-        //padding: 36rpx 30rpx;
-        width: 100%;
-        height: 148rpx;
-        display: flex;
-        justify-content: space-between;
-        background: #fff;
-        border-radius: 10rpx;
-        .row-item {
-          color: #333333;
-          font-size: 32rpx;
-        }
-        .row-item:last-child {
-          display: none;
-        }
-        .row-content {
-          padding: 36rpx 26rpx;
-          .content-title{
-            color: #333333;
-            font-size: 32rpx;
-            font-weight: 600;
-            height: 45rpx;
-            line-height: 45rpx;
-          }
-          .content-remark{
-            margin-top: 24rpx;
-            color: #999999;
-            font-size: 24rpx;
-            height: 39rpx;
-            line-height: 39rpx;
-            display: -webkit-box;
-            -webkit-line-clamp: 1;
-            -webkit-box-orient: vertical;
-            overflow: hidden;
-          }
-        }
-      }
-
-
-    }
-    .row-one{
-      background: #219653;
-    }
-    .row-two{
-      background: #FD8537;
-    }
-    .row-three{
-      background: #3169FA;
-    }
-    .checked-row {
-      .row-data{
-        .row-item:last-child {
-          margin-top: 35rpx;
-          margin-right: 28rpx;
-          display: block;
-          .iconfont {
-            color: #3169FA;
-            font-size: 42rpx;
-          }
-        }
-      }
-
-    }
-
-    .add-but {
-      margin: 50rpx 32rpx 0;
-      border-radius: 10rpx;
-      padding: 36rpx 30rpx;
-      font-size: 32rpx;
-      color: #fff;
-      text-align: center;
-      background: #3169FA;
-    }
-  }
-}
-
-</style>
+	@import "@/components/static/css/en-common.css";
+
+	.box {
+
+		.input-box {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+
+			.input-box-left {
+				font-size: 28rpx;
+				color: #333333;
+			}
+
+			.no-option {
+				color: #999999;
+			}
+
+			.input-box-text {
+				display: -webkit-box;
+				-webkit-line-clamp: 1;
+				-webkit-box-orient: vertical;
+				overflow: hidden;
+			}
+		}
+
+		.popup-block {
+			border-radius: 20rpx 20rpx 0 0;
+			background: #F6F7FB;
+			padding: 0 0 calc(env(safe-area-inset-bottom) - 10rpx);
+			max-height: 60vh;
+			overflow-y: auto;
+
+			.popup-title {
+				background: #fff;
+				border-bottom: 2rpx solid #F0F0F0;
+				padding: 40rpx 0;
+				position: relative;
+
+				.popup-title-text {
+					text-align: center;
+					font-size: 34rpx;
+					font-weight: 600;
+				}
+
+				.title-del {
+					position: absolute;
+					top: 40rpx;
+					right: 40rpx;
+
+					image {
+						height: 40rpx;
+						width: 40rpx;
+					}
+				}
+
+			}
+
+			.add-row {
+				margin: 20rpx 32rpx 0;
+				background: #F20303;
+				border-radius: 10rpx;
+				height: 144rpx;
+				position: relative;
+
+				.row-data {
+					position: absolute;
+					left: 4rpx;
+					top: -1rpx;
+					box-sizing: border-box;
+					//padding: 36rpx 30rpx;
+					width: 100%;
+					height: 148rpx;
+					display: flex;
+					justify-content: space-between;
+					background: #fff;
+					border-radius: 10rpx;
+
+					.row-item {
+						color: #333333;
+						font-size: 32rpx;
+					}
+
+					.row-item:last-child {
+						display: none;
+					}
+
+					.row-content {
+						padding: 36rpx 26rpx;
+
+						.content-title {
+							color: #333333;
+							font-size: 32rpx;
+							font-weight: 600;
+							height: 45rpx;
+							line-height: 45rpx;
+						}
+
+						.content-remark {
+							margin-top: 24rpx;
+							color: #999999;
+							font-size: 24rpx;
+							height: 39rpx;
+							line-height: 39rpx;
+							display: -webkit-box;
+							-webkit-line-clamp: 1;
+							-webkit-box-orient: vertical;
+							overflow: hidden;
+						}
+					}
+				}
+
+
+			}
+
+			.row-one {
+				background: #219653;
+			}
+
+			.row-two {
+				background: #FD8537;
+			}
+
+			.row-three {
+				background: #3169FA;
+			}
+
+			.checked-row {
+				.row-data {
+					.row-item:last-child {
+						margin-top: 35rpx;
+						margin-right: 28rpx;
+						display: block;
+
+						.iconfont {
+							color: #3169FA;
+							font-size: 42rpx;
+						}
+					}
+				}
+
+			}
+
+			.add-but {
+				margin: 50rpx 32rpx 0;
+				border-radius: 10rpx;
+				padding: 36rpx 30rpx;
+				font-size: 32rpx;
+				color: #fff;
+				text-align: center;
+				background: #3169FA;
+			}
+		}
+	}
+</style>

+ 183 - 108
page_task/identity/identity.vue

@@ -3,84 +3,105 @@
 		<Nav :title="title" :genre="4" is_fixed :opacity="scrollTop" :fixedHeight="fixedHeight"
 			:navsHeight="fixedHeight" :bgHeight="fixedHeight">
 			<!-- 步鄹条start -->
-<!--			<view class="task-tabs" :style="{top:`${$tools.topHeight()}px`}">-->
-<!--				<view class="row-justify-sb m-lr50 m-tb20">-->
-<!--					<view class="column-c" style="text-align: center;" @click="setNum(1)">-->
-<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${step === 1?'double':'correct'}.png`"-->
-<!--							mode="aspectFill"></image>-->
-<!--						<text class="size-24"-->
-<!--							:class="step === 1?'color-0FB160 sys-weight-600':'sys-weight-400'">身份认证</text>-->
-<!--					</view>-->
-<!--					<view class="line"></view>-->
-<!--					<view class="column-c justify-center" @click="setNum(2)">-->
-<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepTwo[step-1]}.png`"-->
-<!--							mode="aspectFill"></image>-->
-<!--						<text class="size-24"-->
-<!--							:class="step === 2?'color-0FB160 sys-weight-600':'sys-weight-400'">教育职业信息</text>-->
-<!--					</view>-->
-<!--					<view class="line"></view>-->
-<!--					<view class="column-c justify-center" @click="setNum(3)">-->
-<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepThree[step-1]}.png`"-->
-<!--							mode="aspectFill"></image>-->
-<!--						<text class="size-24"-->
-<!--							:class="step === 3?'color-0FB160 sys-weight-600':'sys-weight-400'">社保信息</text>-->
-<!--					</view>-->
-<!--				</view>-->
-<!--			</view>-->
+			<!--			<view class="task-tabs" :style="{top:`${$tools.topHeight()}px`}">-->
+			<!--				<view class="row-justify-sb m-lr50 m-tb20">-->
+			<!--					<view class="column-c" style="text-align: center;" @click="setNum(1)">-->
+			<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${step === 1?'double':'correct'}.png`"-->
+			<!--							mode="aspectFill"></image>-->
+			<!--						<text class="size-24"-->
+			<!--							:class="step === 1?'color-0FB160 sys-weight-600':'sys-weight-400'">身份认证</text>-->
+			<!--					</view>-->
+			<!--					<view class="line"></view>-->
+			<!--					<view class="column-c justify-center" @click="setNum(2)">-->
+			<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepTwo[step-1]}.png`"-->
+			<!--							mode="aspectFill"></image>-->
+			<!--						<text class="size-24"-->
+			<!--							:class="step === 2?'color-0FB160 sys-weight-600':'sys-weight-400'">教育职业信息</text>-->
+			<!--					</view>-->
+			<!--					<view class="line"></view>-->
+			<!--					<view class="column-c justify-center" @click="setNum(3)">-->
+			<!--						<image class="wh-45 m-b16" :src="`https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/${stepThree[step-1]}.png`"-->
+			<!--							mode="aspectFill"></image>-->
+			<!--						<text class="size-24"-->
+			<!--							:class="step === 3?'color-0FB160 sys-weight-600':'sys-weight-400'">社保信息</text>-->
+			<!--					</view>-->
+			<!--				</view>-->
+			<!--			</view>-->
 			<!-- 步鄹条end -->
 		</Nav>
 		<view class=" page-env-20" :style="[{top:`${$tools.topHeight() + fixedHeight}px`}]">
 			<!-- 身份认证start -->
-			<view class="m-t20 m-lr30 text-color-12" >
+			<view class="m-t20 m-lr30 text-color-12">
 				<view class="sys-background-fff r-20 p-lr30 p-t30">
-<!--					<text class="size-30 sys-weight-600'">身份认证</text>-->
-<!--					<view class="size-26 m-t10 text-color-999">应监管要求,请先进行身份认证</view>-->
-<!--					<view class="sys-bg-BFD2CC row-justify-sb sys-weight-500 center r-20 p-30 m-t40">-->
-<!--						<view class="row-c flex">-->
-<!--							<image class="wh-45 m-r20" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/sf_icon.png" mode=""></image>-->
-<!--							<text class="size-26">身份证认证</text>-->
-<!--						</view>-->
-<!--						<button class="attestation-button button-background button-color size-26 r-30" type="default" hover-class="is-hover" @click="onAuthentication(1)">去认证</button>-->
-<!--					</view>-->
-          <add-identity :user-name.sync="formData.name"  :user-sex.sync="formData.sex" :id-number.sync="formData.id_number" :identity-one.sync="formData.identity_one" :identity-two.sync="formData.identity_two"  :identity-validity.sync="formData.identity_validity" :user-birthday.sync="formData.birthday" v-if="verifyKey('identity_one')"></add-identity>
+					<!--					<text class="size-30 sys-weight-600'">身份认证</text>-->
+					<!--					<view class="size-26 m-t10 text-color-999">应监管要求,请先进行身份认证</view>-->
+					<!--					<view class="sys-bg-BFD2CC row-justify-sb sys-weight-500 center r-20 p-30 m-t40">-->
+					<!--						<view class="row-c flex">-->
+					<!--							<image class="wh-45 m-r20" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/sf_icon.png" mode=""></image>-->
+					<!--							<text class="size-26">身份证认证</text>-->
+					<!--						</view>-->
+					<!--						<button class="attestation-button button-background button-color size-26 r-30" type="default" hover-class="is-hover" @click="onAuthentication(1)">去认证</button>-->
+					<!--					</view>-->
+					<add-identity :user-name.sync="formData.name" :user-sex.sync="formData.sex"
+						:id-number.sync="formData.id_number" :identity-one.sync="formData.identity_one"
+						:identity-two.sync="formData.identity_two" :identity-validity.sync="formData.identity_validity"
+						:user-birthday.sync="formData.birthday" v-if="verifyKey('identity_one')"></add-identity>
 					<view class="p-t20">
-						<en-input :value="formData.name" label="姓名" placeholder="待自动录入" v-if="verifyKey('name')" disabled></en-input>
-<!--						<en-input :value="formData.sex===1?'男':'女'" label="性别" placeholder="待自动录入" disabled></en-input>-->
-            <EnRadio v-model="formData.sex" label="性别" v-if="verifyKey('sex')"  :list="sexData"  disabled="disabled">	</EnRadio>
-						<en-input :value="formData.id_number"   v-if="verifyKey('id_number')" :is_border="false" :label="'身份证号'" placeholder="待自动录入"	disabled>	</en-input>
-						<en-input :value="formData.birthday"   v-if="verifyKey('birthday')" :is_border="false" :label="'生日'" placeholder="待自动录入"	disabled>	</en-input>
+						<en-input :value="formData.name" label="姓名" placeholder="待自动录入" v-if="verifyKey('name')"
+							disabled></en-input>
+						<!--						<en-input :value="formData.sex===1?'男':'女'" label="性别" placeholder="待自动录入" disabled></en-input>-->
+						<EnRadio v-model="formData.sex" label="性别" v-if="verifyKey('sex')" :list="sexData"
+							disabled="disabled"> </EnRadio>
+						<en-input :value="formData.id_number" v-if="verifyKey('id_number')" :label="'身份证号'"
+							placeholder="待自动录入" disabled> </en-input>
+						<en-input :value="formData.birthday" v-if="verifyKey('birthday')" :is_border="false"
+							:label="'生日'" placeholder="待自动录入" disabled> </en-input>
 					</view>
 				</view>
 				<view class="sys-background-fff r-20 m-t20 p-lr30">
-					<en-input :value="formData.phone" v-if="verifyKey('phone')"  :label="'联系方式'"></en-input>
-          <en-city label="常居城市" placeholder="请选择省、市、区" v-if="verifyKey('resident_city')"   v-model="formData.resident_city"></en-city>
-					<en-input :label="'详细地址'" :value="formData.resident_address" v-if="verifyKey('resident_address')"></en-input>
-          <en-select label="婚姻状态" :local-data="marriageData" v-if="verifyKey('marriage_type')" v-model="formData.marriage_type"></en-select>
-          <en-upload label="添加结婚证" :imageWidth="180" v-if="verifyKey('marriage_img') && formData.marriage_type!=='1'"  v-model="formData.marriage_img"></en-upload>
+					<en-input :value="formData.phone" v-if="verifyKey('phone')" :label="'联系方式'"></en-input>
+					<en-city label="常居城市" placeholder="请选择省、市、区" v-if="verifyKey('resident_city')"
+						v-model="formData.resident_city"></en-city>
+					<en-input :label="'详细地址'" :value="formData.resident_address"
+						v-if="verifyKey('resident_address')"></en-input>
+					<en-select label="婚姻状态" :local-data="marriageData" v-if="verifyKey('marriage_type')"
+						v-model="formData.marriage_type"></en-select>
+					<en-upload label="添加结婚证" :imageWidth="180"
+						v-if="verifyKey('marriage_img') && formData.marriage_type!=='1'"
+						v-model="formData.marriage_img"></en-upload>
+				</view>
+				<view class="sys-background-fff r-20 m-t20 p-lr30" v-if="formData.marriage_type===2">
+					<add-identity v-if="verifyKey('m_identity_one')" :user-name.sync="formData.mate_name"
+						:id-number.sync="formData.mate_id_number" :identity-one.sync="formData.m_identity_one"
+						:identity-two.sync="formData.m_identity_two"
+						:identity-validity="formData.m_identity_validity"></add-identity>
+					<en-input label="配偶姓名" type="text" placeholder="等待自动录入" v-if="verifyKey('mate_name')"
+						v-model="formData.mate_name"></en-input>
+					<en-input label="配偶身份" type="idcard" placeholder="等待自动录入" v-if="verifyKey('mate_id_number')"
+						v-model="formData.mate_id_number"></en-input>
+					<en-input label="配偶手机号" type="number" placeholder="请输入手机号码" v-if="verifyKey('mate_phone')"
+						v-model="formData.mate_phone"></en-input>
+					<en-input label="配偶企业" type="text" placeholder="请输入配偶所在企业" v-if="verifyKey('mate_firm')"
+						v-model="formData.mate_firm" :no-box="true"></en-input>
 				</view>
-        <view class="sys-background-fff r-20 m-t20 p-lr30" v-if="formData.marriage_type===2">
-          <add-identity v-if="verifyKey('m_identity_one')" :user-name.sync="formData.mate_name" :id-number.sync="formData.mate_id_number" :identity-one.sync="formData.m_identity_one" :identity-two.sync="formData.m_identity_two" :identity-validity="formData.m_identity_validity" ></add-identity>
-          <en-input label="配偶姓名" type="text" placeholder="等待自动录入" v-if="verifyKey('mate_name')"
-                    v-model="formData.mate_name"></en-input>
-          <en-input label="配偶身份" type="idcard" placeholder="等待自动录入" v-if="verifyKey('mate_id_number')"
-                    v-model="formData.mate_id_number"></en-input>
-          <en-input label="配偶手机号" type="number" placeholder="请输入手机号码" v-if="verifyKey('mate_phone')"
-                    v-model="formData.mate_phone"></en-input>
-          <en-input label="配偶企业" type="text" placeholder="请输入配偶所在企业" v-if="verifyKey('mate_firm')"
-                    v-model="formData.mate_firm" :no-box="true"></en-input>
-        </view>
 			</view>
 			<!-- 身份认证end -->
 
 			<!-- 教育职业背景start -->
-			<view class="m-t20 m-lr30 text-color-12"  v-show="verifyKey('education_type') || verifyKey('employ_type') || verifyKey('firm_name')|| verifyKey('firm_city')|| verifyKey('firm_address')">
+			<view class="m-t20 m-lr30 text-color-12"
+				v-show="verifyKey('education_type') || verifyKey('employ_type') || verifyKey('firm_name')|| verifyKey('firm_city')|| verifyKey('firm_address')">
 				<view class="sys-background-fff r-20 m-t20 p-lr30 p-t30">
 					<view class="size-30 sys-weight-600 p-b30">教育职业背景</view>
-					<en-input label="学历"  placeholder="请选择教育背景" :local-data="educationData" v-if="verifyKey('education_type')" v-model="formData.education_type" is_select></en-input>
-					<EnRadio v-model="formData.is_farming" label="雇佣类型" :list="employTypeData" >	</EnRadio>
-					<en-input label="企业名称" placeholder="请输入企业名称" v-if="verifyKey('firm_name')"  v-model="formData.firm_name"></en-input>
-          <en-city label="企业城市" placeholder="请选择省、市、区" v-if="verifyKey('firm_city')" v-model="formData.firm_city"></en-city>
-					<en-input :is_border="false" label="详细地址"  v-if="verifyKey('firm_address')" v-model="formData.firm_address"></en-input>
+					<en-input label="学历" placeholder="请选择教育背景" :local-data="educationData"
+						v-if="verifyKey('education_type')" v-model="formData.education_type" disabled
+						is_select></en-input>
+					<EnRadio v-model="formData.is_farming" label="雇佣类型" :list="employTypeData"> </EnRadio>
+					<en-input label="企业名称" placeholder="请输入企业名称" v-if="verifyKey('firm_name')"
+						v-model="formData.firm_name"></en-input>
+					<en-city label="企业城市" placeholder="请选择省、市、区" v-if="verifyKey('firm_city')"
+						v-model="formData.firm_city"></en-city>
+					<en-input :is_border="false" label="详细地址" v-if="verifyKey('firm_address')"
+						v-model="formData.firm_address"></en-input>
 				</view>
 			</view>
 			<!-- 教育职业背景end -->
@@ -89,52 +110,104 @@
 			<view class="m-t20 m-lr30 text-color-12" v-show="verifyKey('social_num') || verifyKey('reserved_money')">
 				<view class="sys-background-fff r-20 m-t20 p-lr30 p-t30">
 					<view class="size-30 sys-weight-600 p-b30">社保信息</view>
-					<en-input label="缴纳时间" rightText="月" v-if="verifyKey('social_num')"    v-model="formData.social_num"></en-input>
-					<en-input label="公积金" rightText="元" v-if="verifyKey('reserved_money')" v-model="formData.reserved_money"  placeholder="请输入公积金缴纳基数"></en-input>
+					<en-input label="缴纳时间" rightText="月" v-if="verifyKey('social_num')"
+						v-model="formData.social_num"></en-input>
+					<en-input label="公积金" rightText="元" v-if="verifyKey('reserved_money')"
+						v-model="formData.reserved_money" placeholder="请输入公积金缴纳基数"></en-input>
 				</view>
 			</view>
 			<!-- 社保信息end -->
 		</view>
 		<!-- <EnButton :text="'完成'" @onSubmit="onSubmit" v-if="step === 3 || step === 4"></EnButton> -->
-		<EnButton is_both :leftText="'上一步'" :rightText="'保存'" @onLeftSubmit="onStep(0)"	@onSubmit="onSubmit" />
+		<EnButton is_both :leftText="'上一步'" :rightText="'保存'" @onLeftSubmit="onStep(0)" @onSubmit="onSubmit" />
 	</view>
 </template>
 <!-- correct -->
 <script>
 	import TaskImgTab from "@/common/task/task_ima_tab.vue"
 	import EnDataPicker from "@/components/en-utils/en-data-picker/en-data-picker.vue"
-  import EnCity from "@/components/en-from/en-city/en-city.vue";
-  import EnSelect from "@/components/en-from/en-select/en-select.vue";
-  import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
-  import AddIdentity from "@/page_task/identity_upload/add-identity.vue";
-  import EnInput from "@/components/en-from/en-input/en-input.vue";
+	import EnCity from "@/components/en-from/en-city/en-city.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
+	import AddIdentity from "@/page_task/identity_upload/add-identity.vue";
+	import EnInput from "@/components/en-from/en-input/en-input.vue";
 
 	export default {
 		components: {
-      EnInput,
-      AddIdentity,
-      EnUpload,
-      EnSelect,
-      EnCity,
+			EnInput,
+			AddIdentity,
+			EnUpload,
+			EnSelect,
+			EnCity,
 			TaskImgTab,
 			EnDataPicker
 		},
 		data() {
 			return {
-        employTypeData: [{'value': 1, 'text': '受薪'}, {'value': 2, 'text': '自雇'}],
-        sexData: [{'value': 1, 'text': '男'}, {'value': 2, 'text': '女'}],
-        marriageData: [{'value': 1, 'text': '单身'}, {'value': 2, 'text': '已婚'}, {'value': 3, 'text': '离异'}, {'value': 4, 'text': '丧偶'}],
-        educationData: [
-          {text: "初中", value: 1,},
-          {text: "高中", value: 2,},
-          {text: "中专", value: 3,},
-          {text: "大专", value: 4,},
-          {text: "本科", value: 5,},
-          {text: "研究生", value: 6,},
-          {text: "硕士", value: 7,},
-          {text: "博士", value: 8,},
-          {text: "博士后", value: 9,},
-        ],
+				employTypeData: [{
+					'value': 1,
+					'text': '受薪'
+				}, {
+					'value': 2,
+					'text': '自雇'
+				}],
+				sexData: [{
+					'value': 1,
+					'text': '男'
+				}, {
+					'value': 2,
+					'text': '女'
+				}],
+				marriageData: [{
+					'value': 1,
+					'text': '单身'
+				}, {
+					'value': 2,
+					'text': '已婚'
+				}, {
+					'value': 3,
+					'text': '离异'
+				}, {
+					'value': 4,
+					'text': '丧偶'
+				}],
+				educationData: [{
+						text: "初中",
+						value: 1,
+					},
+					{
+						text: "高中",
+						value: 2,
+					},
+					{
+						text: "中专",
+						value: 3,
+					},
+					{
+						text: "大专",
+						value: 4,
+					},
+					{
+						text: "本科",
+						value: 5,
+					},
+					{
+						text: "研究生",
+						value: 6,
+					},
+					{
+						text: "硕士",
+						value: 7,
+					},
+					{
+						text: "博士",
+						value: 8,
+					},
+					{
+						text: "博士后",
+						value: 9,
+					},
+				],
 				title: '',
 				step: 1,
 				scrollTop: 0,
@@ -173,17 +246,17 @@
 					"marriage_img": [],
 					"credit_img": []
 				},
-        clientInfoKey:[]
+				clientInfoKey: []
 			}
 		},
-    watch: {
-      'formData': {
-        handler() {
-          uni.$emit("putClientInfo", this.formData);
-        },
-        deep: true
-      },
-    },
+		watch: {
+			'formData': {
+				handler() {
+					uni.$emit("putClientInfo", this.formData);
+				},
+				deep: true
+			},
+		},
 		onPageScroll(res) {
 			this.scrollTop = res.scrollTop / 120
 		},
@@ -191,21 +264,23 @@
 			this.title = options.title
 			let clientInfoData = uni.getStorageSync('clientInfoData')
 			let clientInfoKey = uni.getStorageSync('clientInfoKey')
-      this.formData=clientInfoData
-      this.clientInfoKey=clientInfoKey
+			this.formData = clientInfoData
+			this.clientInfoKey = clientInfoKey
 
-      uni.$on('setClientData',clientInfo=>{
-        this.formData=clientInfo
-      })
+			uni.$on('setClientData', clientInfo => {
+				this.formData = clientInfo
+			})
 		},
 		methods: {
-      verifyKey(field) {
-        return this.clientInfoKey.indexOf(field) >= 0
-      },
+			verifyKey(field) {
+				return this.clientInfoKey.indexOf(field) >= 0
+			},
 			//  身份认证
 			onAuthentication(item) {
 				uni.navigateTo({
-					url: "/page_task/identity_upload/identity_upload?identity_one="+this.formData.identity_one+'&identity_two='+this.formData.identity_two+'&name='+this.formData.name+'&identity_validity='+this.formData.identity_validity
+					url: "/page_task/identity_upload/identity_upload?identity_one=" + this.formData.identity_one +
+						'&identity_two=' + this.formData.identity_two + '&name=' + this.formData.name +
+						'&identity_validity=' + this.formData.identity_validity
 				})
 			},
 			// 保存
@@ -263,4 +338,4 @@
 	button::after {
 		border: none;
 	}
-</style>
+</style>

+ 238 - 210
page_task/identity_upload/add-identity.vue

@@ -1,222 +1,250 @@
 <template>
-  <view class="identity-box">
-<!--    <view class="identity-title">上传身份证图片 ,图片大小不能超过3M</view>-->
-    <view class="size-30 sys-weight-600'">身份认证</view>
-    <view class="size-26 m-t10 text-color-999">应监管要求,请先进行身份认证</view>
-    <view class="identity-item m-t10">
-      <view class="item-img" @click="showUploadingImg(true,1)">
-        <image v-if="identity_one"  :src="identity_one" mode="aspectFill"></image>
-        <image v-else  src="@/page_task/static/img/identity-front.png" mode="aspectFill"></image>
-        <view class="img-text">身份证正面</view>
-      </view>
-      <view class="item-img" @click="showUploadingImg(true,2)">
-        <image v-if="identity_two" :src="identity_two" mode="aspectFill"></image>
-        <image v-else src="@/page_task/static/img/identity-verso.png" mode="aspectFill"></image>
-        <view class="img-text">身份证反面</view>
-      </view>
-    </view>
-    <uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
-      <view class="popup-block">
-        <view class="popup-row" @click="uploadingImg(1)">拍照</view>
-        <view class="popup-row" @click="uploadingImg(2)">从手机里面选择</view>
-        <view class="popup-row" @click="showUploadingImg(false,0)">取消</view>
-      </view>
-    </uni-popup>
-  </view>
+	<view class="identity-box">
+		<!--    <view class="identity-title">上传身份证图片 ,图片大小不能超过3M</view>-->
+		<view class="size-30 sys-weight-600'">身份认证</view>
+		<view class="size-26 m-t20 m-b30 text-color-999">应监管要求,请先进行身份认证</view>
+		<view class="identity-item m-t10">
+			<view class="item-img" @click="showUploadingImg(true,1)">
+				<view class="img-bg">
+					<image v-if="identity_one" :src="identity_one" mode="aspectFill"></image>
+					<image v-else src="@/page_task/static/img/identity-front.png" mode="aspectFill"></image>
+				</view>
+				<view class="img-text">身份证正面</view>
+			</view>
+			<view class="item-img" @click="showUploadingImg(true,2)">
+				<view class="img-bg">
+					<image v-if="identity_two" :src="identity_two" mode="aspectFill"></image>
+					<image v-else src="@/page_task/static/img/identity-verso.png" mode="aspectFill"></image>
+				</view>
+				<view class="img-text">身份证反面</view>
+			</view>
+		</view>
+		<uni-popup ref="popup" :safeArea="false" type="bottom" @change="closePopup">
+			<view class="popup-block">
+				<view class="popup-row" @click="uploadingImg(1)">拍照</view>
+				<view class="popup-row" @click="uploadingImg(2)">从手机里面选择</view>
+				<view class="popup-row" @click="showUploadingImg(false,0)">取消</view>
+			</view>
+		</uni-popup>
+	</view>
 </template>
 
 <script>
-import {getBaiDuImgRecognition} from "@/api/common";
-import txUploadFile from "@/service/txOssSts";
-import tools from "@/service/tools";
+	import {
+		getBaiDuImgRecognition
+	} from "@/api/common";
+	import txUploadFile from "@/service/txOssSts";
+	import tools from "@/service/tools";
 
-export default {
-  name: "add-identity",
-  components: {},
-  props: {
-    'identityOne':{
-      default:'',
-    },
-    'identityTwo':{
-      default:'',
-    },
-    'userName':{
-      default:'',
-    },
-    'userSex':{
-      default:'',
-    },
-    'identityValidity':{
-      default:'',
-    },
-    'userBirthday':{
-      default:'',
-    },
-    'idNumber':{
-      default:'',
-    }
-  },
-  data() {
-    return {
-      identity_one:'',
-      identity_two:'',
-      name:'',
-      id_number:'',
-      sex:'',
-      identity_validity:'',
-      isUploading:false,
-    }
-  },
-  watch: {
-    'identityOne':function (){
-      this.setIdentityOne()
-    },
-    'identityTwo':function (){
-      this.setIdentityTwo()
-    }
-  },
-  mounted() {
-    this.setIdentityOne()
-    this.setIdentityTwo()
-  },
-  methods: {
-    setIdentityOne(){
-      if(this.identityOne){
-        if(this.identityOne!==this.identity_one){
-          this.identity_one=this.identityOne
-        }
-      }
-    },
-    setIdentityTwo(){
-      if(this.identityTwo){
-        if(this.identityTwo!==this.identity_two){
-          this.identity_two=this.identityTwo
-        }
-      }
-    },
-    uploadingImg(sourceType) {
-      console.log('sourceType:'+sourceType)
-      uni.chooseMedia({
-        mediaType: 'image',
-        count: 1, //默认9
-        sizeType: "compressed",
-        sourceType: [sourceType === 1 ? 'camera' : 'album'],
-        fail:(e)=>{
-          console.log(e)
-        },
-        success: (res) => {
-          if (res.tempFiles.length > 0) {
-            res.tempFiles.forEach((tempFile) => {
-              txUploadFile(tempFile.tempFilePath).then((data) => {
-                if (!data) {
-                  tools.error('图片上传失败')
-                  tools.hideLoading()
-                } else {
-                  if (this.uploadingType === 1) {
-                    tools.showLoading()
-                    //开启身份证照片识别
-                    getBaiDuImgRecognition({
-                      'imgUrl': data.Location,
-                      'imgType': '1'
-                    }).then((res) => {
-                      tools.hideLoading()
-                      if (res.code === 1) {
-                        this.identity_one = data.Location;
-                        this.name = res.data.name;
-                        this.id_number = res.data.id_number;
-                        this.sex = res.data.sex;
-                        this.birthday = res.data.birthday;
-                        this.$emit('update:userName',this.name)
-                        this.$emit('update:userBirthday',this.birthday)
-                        this.$emit('update:userSex',this.sex)
-                        this.$emit('update:idNumber',this.id_number)
-                        this.$emit('update:identityOne',this.identity_one)
-                      } else {
-                        tools.error('身份证照片识别失败')
-                      }
-                    })
-                  } else  {
-                    tools.showLoading()
-                    //开启身份证照片背面识别
-                    getBaiDuImgRecognition({
-                      'imgUrl': data.Location,
-                      'imgType': '4'
-                    }).then((res) => {
-                      tools.hideLoading()
-                      if (res.code === 1) {
-                        this.identity_two = data.Location;
-                        this.identity_validity =  res.data.identity_validity;
-                        this.$emit('update:identityTwo',this.identity_two)
-                        this.$emit('update:identityValidity',this.identity_validity)
+	export default {
+		name: "add-identity",
+		components: {},
+		props: {
+			'identityOne': {
+				default: '',
+			},
+			'identityTwo': {
+				default: '',
+			},
+			'userName': {
+				default: '',
+			},
+			'userSex': {
+				default: '',
+			},
+			'identityValidity': {
+				default: '',
+			},
+			'userBirthday': {
+				default: '',
+			},
+			'idNumber': {
+				default: '',
+			}
+		},
+		data() {
+			return {
+				identity_one: '',
+				identity_two: '',
+				name: '',
+				id_number: '',
+				sex: '',
+				identity_validity: '',
+				isUploading: false,
+			}
+		},
+		watch: {
+			'identityOne': function() {
+				this.setIdentityOne()
+			},
+			'identityTwo': function() {
+				this.setIdentityTwo()
+			}
+		},
+		mounted() {
+			this.setIdentityOne()
+			this.setIdentityTwo()
+		},
+		methods: {
+			setIdentityOne() {
+				if (this.identityOne) {
+					if (this.identityOne !== this.identity_one) {
+						this.identity_one = this.identityOne
+					}
+				}
+			},
+			setIdentityTwo() {
+				if (this.identityTwo) {
+					if (this.identityTwo !== this.identity_two) {
+						this.identity_two = this.identityTwo
+					}
+				}
+			},
+			uploadingImg(sourceType) {
+				console.log('sourceType:' + sourceType)
+				uni.chooseMedia({
+					mediaType: 'image',
+					count: 1, //默认9
+					sizeType: "compressed",
+					sourceType: [sourceType === 1 ? 'camera' : 'album'],
+					fail: (e) => {
+						console.log(e)
+					},
+					success: (res) => {
+						if (res.tempFiles.length > 0) {
+							res.tempFiles.forEach((tempFile) => {
+								txUploadFile(tempFile.tempFilePath).then((data) => {
+									if (!data) {
+										tools.error('图片上传失败')
+										tools.hideLoading()
+									} else {
+										if (this.uploadingType === 1) {
+											tools.showLoading()
+											//开启身份证照片识别
+											getBaiDuImgRecognition({
+												'imgUrl': data.Location,
+												'imgType': '1'
+											}).then((res) => {
+												tools.hideLoading()
+												if (res.code === 1) {
+													this.identity_one = data.Location;
+													this.name = res.data.name;
+													this.id_number = res.data
+														.id_number;
+													this.sex = res.data.sex;
+													this.birthday = res.data.birthday;
+													this.$emit('update:userName', this
+														.name)
+													this.$emit('update:userBirthday',
+														this.birthday)
+													this.$emit('update:userSex', this
+														.sex)
+													this.$emit('update:idNumber', this
+														.id_number)
+													this.$emit('update:identityOne',
+														this.identity_one)
+												} else {
+													tools.error('身份证照片识别失败')
+												}
+											})
+										} else {
+											tools.showLoading()
+											//开启身份证照片背面识别
+											getBaiDuImgRecognition({
+												'imgUrl': data.Location,
+												'imgType': '4'
+											}).then((res) => {
+												tools.hideLoading()
+												if (res.code === 1) {
+													this.identity_two = data.Location;
+													this.identity_validity = res.data
+														.identity_validity;
+													this.$emit('update:identityTwo',
+														this.identity_two)
+													this.$emit(
+														'update:identityValidity',
+														this.identity_validity)
 
-                      } else {
-                        tools.error('身份证照片识别失败')
-                      }
-                    })
-                  }
-                }
-              })
-            })
-            this.showUploadingImg(false, 0);
-          } else {
-            tools.error("请选择上传的图片")
-          }
-        },
-      });
-    },
-    showUploadingImg(showImg, uploadingType) {
-      if (showImg) {
-        if(this.isUploading){
-          return
-        }
-        this.isUploading=true
-        this.uploadingType = uploadingType;
-        this.$refs.popup.open("bottom");
-      } else {
-        this.$refs.popup.close();
-        this.isUploading=false
-      }
-    },
-    closePopup(e){
-      if(e.show===false){
-        this.isUploading=false
-      }
-    },
-  }
-}
+												} else {
+													tools.error('身份证照片识别失败')
+												}
+											})
+										}
+									}
+								})
+							})
+							this.showUploadingImg(false, 0);
+						} else {
+							tools.error("请选择上传的图片")
+						}
+					},
+				});
+			},
+			showUploadingImg(showImg, uploadingType) {
+				if (showImg) {
+					if (this.isUploading) {
+						return
+					}
+					this.isUploading = true
+					this.uploadingType = uploadingType;
+					this.$refs.popup.open("bottom");
+				} else {
+					this.$refs.popup.close();
+					this.isUploading = false
+				}
+			},
+			closePopup(e) {
+				if (e.show === false) {
+					this.isUploading = false
+				}
+			},
+		}
+	}
 </script>
 
 <style scoped lang="scss">
-@import "@/static/css/wh-common";
-.identity-box{
-  .identity-title{
-    padding: 20rpx 0;
-    font-size: 24rpx;
-    color: #999;
-    font-weight: 400;
-  }
-  .identity-item{
-    display: flex;
-    justify-content: space-between;
-    padding-bottom: 20rpx;
-    .item-img{
-      width: calc(50% - 9rpx);
-      image{
-        width:100%;
-        height: 190rpx;
-        border-radius: 6rpx;
-      }
-      .img-text{
-        margin-top: 19rpx;
-        text-align: center;
-        color: #232A35;
-        font-size: 24rpx;
-        font-weight: 400;
+	@import "@/static/css/wh-common";
 
-      }
-    }
-  }
+	.identity-box {
+		.identity-title {
+			padding: 20rpx 0;
+			font-size: 24rpx;
+			color: #999;
+			font-weight: 400;
+		}
 
-}
+		.identity-item {
+			display: flex;
+			justify-content: space-between;
+			padding-bottom: 20rpx;
 
-</style>
+			.item-img {
+				width: calc(50% - 10rpx);
+
+				.img-bg {
+					padding: 20rpx;
+					background: #F7F9FE;
+					border-radius: 20rpx 20rpx 0rpx 0rpx;
+				}
+
+				image {
+					width: 100%;
+					height: 165rpx;
+					border-radius: 6rpx;
+				}
+
+				.img-text {
+					text-align: center;
+					color: #ffffff;
+					font-size: 24rpx;
+					font-weight: 400;
+					height: 60rpx;
+					line-height: 60rpx;
+					background: #0FB160;
+					border-radius: 0rpx 0rpx 20rpx 20rpx;
+				}
+			}
+		}
+
+	}
+</style>

+ 201 - 178
page_task/property/components/car.vue

@@ -1,187 +1,210 @@
 <template>
-  <view class="">
-    <view class="data-from" v-for="item in carList">
-      <en-input label="车辆品牌" type="text" placeholder="请输入车辆品牌" v-model="item.data.brand_id"
-                v-if="verifyKey('brand_id')"></en-input>
-      <en-radio label="车牌类型" :radio-data="carTypeData" v-model="item.data.car_type"
-                v-if="verifyKey('car_type')"></en-radio>
-      <en-input label="车牌号" type="text" placeholder="请输入车牌号" v-model="caritem.data.car_num"
-                v-if="verifyKey('car_num')"></en-input>
-      <en-input label="车架号" type="text" placeholder="请输入车架号" v-model="item.data.car_vin"
-                v-if="verifyKey('car_vin')"></en-input>
-      <en-input label="车辆颜色" type="text" placeholder="请输入车俩颜色" v-model="item.data.colour"
-                v-if="verifyKey('colour')"></en-input>
-      <en-input label="裸车价格" type="number" placeholder="请输入金额" v-model="item.data.car_price"
-                v-if="verifyKey('car_price')" rightText="元"></en-input>
-      <en-date label="登记时间" placeholder="选择车辆登记时间" v-model="item.data.register_date"
-               v-if="verifyKey('register_date')"></en-date>
-      <add-register img-type="2" v-model="item.data.register_img" @setCarData="setCarData" v-if="verifyKey('register_img')"></add-register>
-      <add-register v-model="item.data.driving_img" @setCarData="setCarData" v-if="verifyKey('driving_img')"></add-register>
-      <en-upload label="上传车辆相关图片" :imageWidth="180" v-model="item.data.car_img" v-if="verifyKey('car_img')"></en-upload>
-      <en-input label="备注" type="text" placeholder="请输入备注信息" v-model="item.data.remark"
-                v-if="verifyKey('remark')" :noBox="true"></en-input>
-    </view>
-    <en-blank message="暂无车辆信息,快来添加吧!" v-if="carList.length<=0"></en-blank>
-    <button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
-            @click="addItem">+添加车辆</button>
-  </view>
+	<view class="">
+		<view class="data-from" v-for="item in carList">
+			<en-input label="车辆品牌" type="text" placeholder="请输入车辆品牌" v-model="item.data.brand_id"
+				v-if="verifyKey('brand_id')"></en-input>
+			<en-radio label="车牌类型" :radio-data="carTypeData" v-model="item.data.car_type"
+				v-if="verifyKey('car_type')"></en-radio>
+			<en-input label="车牌号" type="text" placeholder="请输入车牌号" v-model="caritem.data.car_num"
+				v-if="verifyKey('car_num')"></en-input>
+			<en-input label="车架号" type="text" placeholder="请输入车架号" v-model="item.data.car_vin"
+				v-if="verifyKey('car_vin')"></en-input>
+			<en-input label="车辆颜色" type="text" placeholder="请输入车俩颜色" v-model="item.data.colour"
+				v-if="verifyKey('colour')"></en-input>
+			<en-input label="裸车价格" type="number" placeholder="请输入金额" v-model="item.data.car_price"
+				v-if="verifyKey('car_price')" rightText="元"></en-input>
+			<en-date label="登记时间" placeholder="选择车辆登记时间" v-model="item.data.register_date"
+				v-if="verifyKey('register_date')"></en-date>
+			<add-register img-type="2" v-model="item.data.register_img" @setCarData="setCarData"
+				v-if="verifyKey('register_img')"></add-register>
+			<add-register v-model="item.data.driving_img" @setCarData="setCarData"
+				v-if="verifyKey('driving_img')"></add-register>
+			<en-upload label="上传车辆相关图片" :imageWidth="180" v-model="item.data.car_img"
+				v-if="verifyKey('car_img')"></en-upload>
+			<en-input label="备注" type="text" placeholder="请输入备注信息" v-model="item.data.remark" v-if="verifyKey('remark')"
+				:noBox="true"></en-input>
+		</view>
+		<en-blank message="暂无车辆信息,快来添加吧!" v-if="carList.length<=0"></en-blank>
+		<button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
+			@click="addItem">+添加车辆</button>
+	</view>
 </template>
 
 <script>
-import enInput from "@/components/en-from/en-input/en-input.vue"
-import EnCity from "@/components/en-from/en-city/en-city.vue";
-import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
-import EnSelect from "@/components/en-from/en-select/en-select.vue";
-import {getTaskOptions} from "@/api/task";
-import md5 from "js-md5";
-import EnDate from "@/components/en-from/en-date/en-date.vue";
-import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
-import AddRegister from "@/page_task/property/components/add-register.vue";
-import tools from "@/service/tools";
-import {getSn} from "@/api/common";
+	import enInput from "@/components/en-from/en-input/en-input.vue"
+	import EnCity from "@/components/en-from/en-city/en-city.vue";
+	import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import {
+		getTaskOptions
+	} from "@/api/task";
+	import md5 from "js-md5";
+	import EnDate from "@/components/en-from/en-date/en-date.vue";
+	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
+	import AddRegister from "@/page_task/property/components/add-register.vue";
+	import tools from "@/service/tools";
+	import {
+		getSn
+	} from "@/api/common";
 
-export default {
-  name:'property-car',
-  components: {
-    AddRegister,
-    EnBlank,
-    EnDate,
-    EnSelect,
-    EnUpload,
-    EnCity,
-    enInput
-  },
-  props: {
-    'showKeys': {
-      default: []
-    },
-    'value': {
-      default: {
+	export default {
+		name: 'property-car',
+		components: {
+			AddRegister,
+			EnBlank,
+			EnDate,
+			EnSelect,
+			EnUpload,
+			EnCity,
+			enInput
+		},
+		props: {
+			'showKeys': {
+				default: []
+			},
+			'value': {
+				default: {
 
-      }
-    },
-    'itemKey': {
-      default: 0
-    }
-  },
-  data() {
-    return {
-      carTypeData: [{'id': 1, 'name': '运营车'}, {'id': 2, 'name': '非运营车'}],
-      carBrandData: [],
-      carItem: {
-        'car_type': '2',
-        'brand_id': '',
-        'car_num': '',
-        'car_vin': '',
-        'colour': '',
-        'car_price': '',
-        'register_date': '',
-        'register_img': '',
-        'driving_img': '',
-        'car_img': [],
-        'remark': '',
-      },
-      carList:[]
-    }
-  },
-  watch: {
-    'carList': {
-      handler() {
-        this.$emit("input", this.carList);
-      },
-      deep: true
-    },
-    'value': {
-      handler() {
-        if (this.value) {
-          this.setValue()
-        }
-      },
-      deep: true
-    },
-  },
-  mounted() {
-    this.getTaskOptions()
-    this.setValue()
-  },
-  methods: {
-    setCarData(carData){
-      console.log('carData')
-      console.log(this.carData)
-      // if(carData.car_num){
-      //   this.caritem.data.car_num=carData.car_num
-      // }
-      // if(carData.car_vin){
-      //   this.carItem.car_vin=carData.car_vin
-      // }
-      // if(carData.colour){
-      //   this.carItem.colour=carData.colour
-      // }
-      // if(carData.register_date){
-      //   this.carItem.register_date=carData.register_date
-      // }
-      // if(carData.car_type){
-      //   this.carItem.car_type=carData.car_type
-      // }
-      // if(carData.brand_id){
-      //   this.carItem.brand_id=carData.brand_id
-      // }
-    },
-    addItem(){
-      tools.showLoading()
-      getSn().then((res)=>{
-        if(res.code===1){
-          this.carList.push({'property_type':2,'property_sn':res.data,'data':this.carItem})
-        }else {
-          tools.error('编号生成失败')
-        }
-        tools.hideLoading()
-      })
-    },
-    setSendMd5() {
-      let str = JSON.stringify(this.value)
-      this.sendMd5=md5(JSON.stringify(this.carList))
-      return md5(str)
-    },
-    setValue(){
-      if (this.value) {
-        let sendMd5 = this.setSendMd5()
-        if (sendMd5 !== this.sendMd5) {
-          this.carList=this.value
-        }
-      }
-    },
-    verifyKey(field) {
-      return this.showKeys.indexOf(field) >= 0
-    },
-    async getTaskOptions() {
-      const res = await getTaskOptions({'type':2})
-      if (res.code === 1) {
-        res.data.carBrand.forEach((val) => {
-          this.carBrandData.push({'text': val.name, 'value': val.value})
-        })
-      }
-    },
-    delItem(){
-      uni.showModal({
-        title: '警告',
-        content: '是否删除当前车辆信息!',
-        success: (res) => {
-          if (res.confirm) {
-            this.$emit('delItem',this.itemKey)
-          }
-        }
-      });
-    }
-  }
-}
+				}
+			},
+			'itemKey': {
+				default: 0
+			}
+		},
+		data() {
+			return {
+				carTypeData: [{
+					'id': 1,
+					'name': '运营车'
+				}, {
+					'id': 2,
+					'name': '非运营车'
+				}],
+				carBrandData: [],
+				carItem: {
+					'car_type': '2',
+					'brand_id': '',
+					'car_num': '',
+					'car_vin': '',
+					'colour': '',
+					'car_price': '',
+					'register_date': '',
+					'register_img': '',
+					'driving_img': '',
+					'car_img': [],
+					'remark': '',
+				},
+				carList: []
+			}
+		},
+		watch: {
+			'carList': {
+				handler() {
+					this.$emit("input", this.carList);
+				},
+				deep: true
+			},
+			'value': {
+				handler() {
+					if (this.value) {
+						this.setValue()
+					}
+				},
+				deep: true
+			},
+		},
+		mounted() {
+			this.getTaskOptions()
+			this.setValue()
+		},
+		methods: {
+			setCarData(carData) {
+				console.log('carData')
+				console.log(this.carData)
+				// if(carData.car_num){
+				//   this.caritem.data.car_num=carData.car_num
+				// }
+				// if(carData.car_vin){
+				//   this.carItem.car_vin=carData.car_vin
+				// }
+				// if(carData.colour){
+				//   this.carItem.colour=carData.colour
+				// }
+				// if(carData.register_date){
+				//   this.carItem.register_date=carData.register_date
+				// }
+				// if(carData.car_type){
+				//   this.carItem.car_type=carData.car_type
+				// }
+				// if(carData.brand_id){
+				//   this.carItem.brand_id=carData.brand_id
+				// }
+			},
+			addItem() {
+				tools.showLoading()
+				getSn().then((res) => {
+					if (res.code === 1) {
+						this.carList.push({
+							'property_type': 2,
+							'property_sn': res.data,
+							'data': this.carItem
+						})
+						this.$emit('onResize')
+					} else {
+						tools.error('编号生成失败')
+					}
+					tools.hideLoading()
+				})
+			},
+			setSendMd5() {
+				let str = JSON.stringify(this.value)
+				this.sendMd5 = md5(JSON.stringify(this.carList))
+				return md5(str)
+			},
+			setValue() {
+				if (this.value) {
+					let sendMd5 = this.setSendMd5()
+					if (sendMd5 !== this.sendMd5) {
+						this.carList = this.value
+					}
+				}
+			},
+			verifyKey(field) {
+				return this.showKeys.indexOf(field) >= 0
+			},
+			async getTaskOptions() {
+				const res = await getTaskOptions({
+					'type': 2
+				})
+				if (res.code === 1) {
+					res.data.carBrand.forEach((val) => {
+						this.carBrandData.push({
+							'text': val.name,
+							'value': val.value
+						})
+					})
+				}
+			},
+			delItem() {
+				uni.showModal({
+					title: '警告',
+					content: '是否删除当前车辆信息!',
+					success: (res) => {
+						if (res.confirm) {
+							this.$emit('delItem', this.itemKey)
+						}
+					}
+				});
+			}
+		}
+	}
 </script>
 
 <style>
-.house-button {
-  height: 70rpx;
-  line-height: 70rpx;
-  background: #FFFFFF;
-  border: 1rpx solid #0FB160;
-}
-</style>
+	.house-button {
+		height: 70rpx;
+		line-height: 70rpx;
+		background: #FFFFFF;
+		border: 1rpx solid #0FB160;
+	}
+</style>

+ 173 - 153
page_task/property/components/company.vue

@@ -1,161 +1,181 @@
 <template>
-  <view class="">
-    <view class="data-from" v-for="item in firmList">
-      <en-input label="企业名称" type="text"  v-model="item.firm_name"
-                v-if="verifyKey('firm_name')" placeholder="请输入公司名称"></en-input>
-      <en-date label="成立时间" v-model="item.establish_date"
-               v-if="verifyKey('establish_date')" placeholder="选择成立时间"></en-date>
-      <en-input label="年交费额" v-model="item.year_money"
-                v-if="verifyKey('year_money')" type="number" placeholder="请输入年交费额" rightText="元"></en-input>
-      <en-city label="实际经营地" v-model="item.establish_city"
-               v-if="verifyKey('establish_city')"  placeholder="请选择省、市、区"></en-city>
-      <en-input label="经营详细地址" v-model="item.establish_address"
-                v-if="verifyKey('establish_address')" type="text" placeholder="请输入经营详细地址"></en-input>
-      <en-upload label="上传企业相关图片" v-model="item.firm_img"
-                 v-if="verifyKey('firm_img')" :imageWidth="180"></en-upload>
-      <en-input label="年交税额" v-model="item.year_tax"
-                v-if="verifyKey('year_tax')" type="number" placeholder="请输入年交税额" rightText="元"></en-input>
-      <en-input label="年开票额" v-model="item.year_invoice"
-                v-if="verifyKey('year_invoice')" type="number" placeholder="请输入年开票额" rightText="元"></en-input>
-      <en-select label="税务等级" v-model="item.tax_grade"
-                 v-if="verifyKey('tax_grade')" placeholder="请选择税务等级" :local-data="taxGradeData" ></en-select>
-      <en-radio label="税务有无断缴" v-model="item.is_end_tax"
-                v-if="verifyKey('is_end_tax')" :radio-data="endData" :noBox="true"></en-radio>
-    </view>
-    <en-blank message="暂无企业信息,快来添加吧!" v-if="firmList.length<=0"></en-blank>
-    <button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
-            @click="addItem">+添加企业</button>
-  </view>
+	<view class="">
+		<view class="data-from" v-for="item in firmList">
+			<en-input label="企业名称" type="text" v-model="item.firm_name" v-if="verifyKey('firm_name')"
+				placeholder="请输入公司名称"></en-input>
+			<en-date label="成立时间" v-model="item.establish_date" v-if="verifyKey('establish_date')"
+				placeholder="选择成立时间"></en-date>
+			<en-input label="年交费额" v-model="item.year_money" v-if="verifyKey('year_money')" type="number"
+				placeholder="请输入年交费额" rightText="元"></en-input>
+			<en-city label="实际经营地" v-model="item.establish_city" v-if="verifyKey('establish_city')"
+				placeholder="请选择省、市、区"></en-city>
+			<en-input label="经营详细地址" v-model="item.establish_address" v-if="verifyKey('establish_address')" type="text"
+				placeholder="请输入经营详细地址"></en-input>
+			<en-upload label="上传企业相关图片" v-model="item.firm_img" v-if="verifyKey('firm_img')"
+				:imageWidth="180"></en-upload>
+			<en-input label="年交税额" v-model="item.year_tax" v-if="verifyKey('year_tax')" type="number"
+				placeholder="请输入年交税额" rightText="元"></en-input>
+			<en-input label="年开票额" v-model="item.year_invoice" v-if="verifyKey('year_invoice')" type="number"
+				placeholder="请输入年开票额" rightText="元"></en-input>
+			<en-select label="税务等级" v-model="item.tax_grade" v-if="verifyKey('tax_grade')" placeholder="请选择税务等级"
+				:local-data="taxGradeData"></en-select>
+			<en-radio label="税务有无断缴" v-model="item.is_end_tax" v-if="verifyKey('is_end_tax')" :radio-data="endData"
+				:noBox="true"></en-radio>
+		</view>
+		<en-blank message="暂无企业信息,快来添加吧!" v-if="firmList.length<=0"></en-blank>
+		<button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
+			@click="addItem">+添加企业</button>
+	</view>
 </template>
 
 <script>
-import enInput from "@/components/en-from/en-input/en-input.vue"
-import EnCity from "@/components/en-from/en-city/en-city.vue";
-import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
-import EnSelect from "@/components/en-from/en-select/en-select.vue";
-import {getTaskOptions} from "@/api/task";
-import md5 from "js-md5";
-import EnDate from "@/components/en-from/en-date/en-date.vue";
-import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
-import tools from "@/service/tools";
-import {getSn} from "@/api/common";
+	import enInput from "@/components/en-from/en-input/en-input.vue"
+	import EnCity from "@/components/en-from/en-city/en-city.vue";
+	import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import {
+		getTaskOptions
+	} from "@/api/task";
+	import md5 from "js-md5";
+	import EnDate from "@/components/en-from/en-date/en-date.vue";
+	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
+	import tools from "@/service/tools";
+	import {
+		getSn
+	} from "@/api/common";
 
-export default {
-  name:'property-guarantee',
-  components: {
-    EnBlank,
-    EnDate,
-    EnSelect,
-    EnUpload,
-    EnCity,
-    enInput
-  },
-  props: {
-    'showKeys': {
-      default: []
-    },
-    'value': {
-      default: {}
-    },
-    'itemKey': {
-      default: 0
-    }
-  },
-  data() {
-    return {
-      endData:[{'id':1,'name':'有'},{'id':0,'name':'无'}],
-      taxGradeData:[],
-      firmItem:{
-        'firm_name':'',
-        'establish_date':'',
-        'year_money':'',
-        'establish_city':'',
-        'establish_address':'',
-        'firm_img':[],
-        'year_tax':'',
-        'tax_grade':'',
-        'is_end_tax':'0',
-        'year_invoice':'',
-      },
-      firmList:[]
-    }
-  },
-  watch: {
-    'firmList': {
-      handler() {
-        this.$emit("input", this.firmList);
-      },
-      deep: true
-    },
-    'value': {
-      handler() {
-        if (this.value) {
-          this.setValue()
-        }
-      },
-      deep: true
-    },
-  },
-  mounted() {
-    this.getTaskOptions()
-    this.setValue()
-  },
-  methods: {
-    addItem() {
-      tools.showLoading()
-      getSn().then((res)=>{
-        if(res.code===1){
-          this.firmList.push({'property_type':4,'property_sn':res.data,'data':this.firmItem})
-        }else {
-          tools.error('编号生成失败')
-        }
-        tools.hideLoading()
-      })
-    },
-    setSendMd5() {
-      let str = JSON.stringify(this.value)
-      this.sendMd5 = md5(JSON.stringify(this.firmList))
-      return md5(str)
-    },
-    setValue() {
-      if (this.value) {
-        let sendMd5 = this.setSendMd5()
-        if (sendMd5 !== this.sendMd5) {
-          this.firmList = this.value
-        }
-      }
-    },
-    verifyKey(field) {
-      return this.showKeys.indexOf(field) >= 0
-    },
-    async getTaskOptions() {
-      const res = await getTaskOptions({'type': 5})
-      if (res.code === 1) {
-        res.data.taxGrade.forEach((val) => {
-          this.taxGradeData.push({'text': val.name, 'value': val.value})
-        })
-      }
-    },
-    delItem() {
-      uni.showModal({
-        title: '警告',
-        content: '是否删除当前企业信息!',
-        success: (res) => {
-          if (res.confirm) {
-            this.$emit('delItem', this.itemKey)
-          }
-        }
-      });
-    }
-  }
-}
+	export default {
+		name: 'property-guarantee',
+		components: {
+			EnBlank,
+			EnDate,
+			EnSelect,
+			EnUpload,
+			EnCity,
+			enInput
+		},
+		props: {
+			'showKeys': {
+				default: []
+			},
+			'value': {
+				default: {}
+			},
+			'itemKey': {
+				default: 0
+			}
+		},
+		data() {
+			return {
+				endData: [{
+					'id': 1,
+					'name': '有'
+				}, {
+					'id': 0,
+					'name': '无'
+				}],
+				taxGradeData: [],
+				firmItem: {
+					'firm_name': '',
+					'establish_date': '',
+					'year_money': '',
+					'establish_city': '',
+					'establish_address': '',
+					'firm_img': [],
+					'year_tax': '',
+					'tax_grade': '',
+					'is_end_tax': '0',
+					'year_invoice': '',
+				},
+				firmList: []
+			}
+		},
+		watch: {
+			'firmList': {
+				handler() {
+					this.$emit("input", this.firmList);
+				},
+				deep: true
+			},
+			'value': {
+				handler() {
+					if (this.value) {
+						this.setValue()
+					}
+				},
+				deep: true
+			},
+		},
+		mounted() {
+			this.getTaskOptions()
+			this.setValue()
+		},
+		methods: {
+			addItem() {
+				tools.showLoading()
+				getSn().then((res) => {
+					if (res.code === 1) {
+						this.firmList.push({
+							'property_type': 4,
+							'property_sn': res.data,
+							'data': this.firmItem
+						})
+						this.$emit('onResize')
+					} else {
+						tools.error('编号生成失败')
+					}
+					tools.hideLoading()
+				})
+			},
+			setSendMd5() {
+				let str = JSON.stringify(this.value)
+				this.sendMd5 = md5(JSON.stringify(this.firmList))
+				return md5(str)
+			},
+			setValue() {
+				if (this.value) {
+					let sendMd5 = this.setSendMd5()
+					if (sendMd5 !== this.sendMd5) {
+						this.firmList = this.value
+					}
+				}
+			},
+			verifyKey(field) {
+				return this.showKeys.indexOf(field) >= 0
+			},
+			async getTaskOptions() {
+				const res = await getTaskOptions({
+					'type': 5
+				})
+				if (res.code === 1) {
+					res.data.taxGrade.forEach((val) => {
+						this.taxGradeData.push({
+							'text': val.name,
+							'value': val.value
+						})
+					})
+				}
+			},
+			delItem() {
+				uni.showModal({
+					title: '警告',
+					content: '是否删除当前企业信息!',
+					success: (res) => {
+						if (res.confirm) {
+							this.$emit('delItem', this.itemKey)
+						}
+					}
+				});
+			}
+		}
+	}
 </script>
 
 <style>
-.house-button {
-  height: 70rpx;
-  line-height: 70rpx;
-  background: #FFFFFF;
-  border: 1rpx solid #0FB160;
-}
-</style>
+	.house-button {
+		height: 70rpx;
+		line-height: 70rpx;
+		background: #FFFFFF;
+		border: 1rpx solid #0FB160;
+	}
+</style>

+ 164 - 144
page_task/property/components/guarantee.vue

@@ -1,152 +1,172 @@
 <template>
-  <view class="">
-    <view class="data-from" v-for="item in insuranceList">
-      <en-input label="保险公司" type="text" placeholder="请输入保险公司名称" v-model="item.insurance_name"
-                v-if="verifyKey('insurance_name')"></en-input>
-      <en-select label="保险类型" placeholder="请选择保险类型" v-model="item.insurance_type"
-                 v-if="verifyKey('insurance_type')" :local-data="insuranceTypeData"></en-select>
-      <en-input label="年交费额" type="number"  v-model="item.year_money"
-                v-if="verifyKey('year_money')" placeholder="请输入年交费额" rightText="元"></en-input>
-      <en-radio label="满足缴费情况" v-model="item.is_fees"
-                v-if="verifyKey('is_fees')" :radio-data="payData"></en-radio>
-      <en-date label="保单有效期" v-model="item.validity_date"
-               v-if="verifyKey('validity_date')" item="选择保单有效期"></en-date>
-      <en-upload label="上传保单相关图片" v-model="insuranceItem.insurance_img"
-                 v-if="verifyKey('insurance_img')" :imageWidth="180"></en-upload>
-      <en-input label="备注" v-model="item.remark"
-                v-if="verifyKey('remark')" type="text" placeholder="请输入备注信息" :noBox="true"></en-input>
-    </view>
-    <en-blank message="暂无保单信息,快来添加吧!" v-if="insuranceList.length<=0"></en-blank>
-    <button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
-            @click="addItem">+添加保单</button>
-  </view>
+	<view class="">
+		<view class="data-from" v-for="item in insuranceList">
+			<en-input label="保险公司" type="text" placeholder="请输入保险公司名称" v-model="item.insurance_name"
+				v-if="verifyKey('insurance_name')"></en-input>
+			<en-select label="保险类型" placeholder="请选择保险类型" v-model="item.insurance_type"
+				v-if="verifyKey('insurance_type')" :local-data="insuranceTypeData"></en-select>
+			<en-input label="年交费额" type="number" v-model="item.year_money" v-if="verifyKey('year_money')"
+				placeholder="请输入年交费额" rightText="元"></en-input>
+			<en-radio label="满足缴费情况" v-model="item.is_fees" v-if="verifyKey('is_fees')"
+				:radio-data="payData"></en-radio>
+			<en-date label="保单有效期" v-model="item.validity_date" v-if="verifyKey('validity_date')"
+				item="选择保单有效期"></en-date>
+			<en-upload label="上传保单相关图片" v-model="insuranceItem.insurance_img" v-if="verifyKey('insurance_img')"
+				:imageWidth="180"></en-upload>
+			<en-input label="备注" v-model="item.remark" v-if="verifyKey('remark')" type="text" placeholder="请输入备注信息"
+				:noBox="true"></en-input>
+		</view>
+		<en-blank message="暂无保单信息,快来添加吧!" v-if="insuranceList.length<=0"></en-blank>
+		<button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
+			@click="addItem">+添加保单</button>
+	</view>
 </template>
 
 <script>
-import enInput from "@/components/en-from/en-input/en-input.vue"
-import EnCity from "@/components/en-from/en-city/en-city.vue";
-import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
-import EnSelect from "@/components/en-from/en-select/en-select.vue";
-import {getTaskOptions} from "@/api/task";
-import md5 from "js-md5";
-import EnDate from "@/components/en-from/en-date/en-date.vue";
-import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
-import tools from "@/service/tools";
-import {getSn} from "@/api/common";
+	import enInput from "@/components/en-from/en-input/en-input.vue"
+	import EnCity from "@/components/en-from/en-city/en-city.vue";
+	import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import {
+		getTaskOptions
+	} from "@/api/task";
+	import md5 from "js-md5";
+	import EnDate from "@/components/en-from/en-date/en-date.vue";
+	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
+	import tools from "@/service/tools";
+	import {
+		getSn
+	} from "@/api/common";
 
-export default {
-  name:'property-guarantee',
-  components: {
-    EnBlank,
-    EnDate,
-    EnSelect,
-    EnUpload,
-    EnCity,
-    enInput
-  },
-  props: {
-    'showKeys': {
-      default: []
-    },
-    'value': {
-      default: {}
-    },
-    'itemKey': {
-      default: 0
-    }
-  },
-  data() {
-    return {
-      payData: [{'id': 1, 'name': '满足'}, {'id': 0, 'name': '未足'}],
-      insuranceTypeData: [],
-      insuranceItem: {
-        'insurance_name': '',
-        'insurance_type': '',
-        'year_money': '',
-        'is_fees': '1',
-        'validity_date': '',
-        'insurance_img': [],
-        'remark': '',
-      },
-      insuranceList: []
-    }
-  },
-  watch: {
-    'insuranceList': {
-      handler() {
-        this.$emit("input", this.insuranceList);
-      },
-      deep: true
-    },
-    'value': {
-      handler() {
-        if (this.value) {
-          this.setValue()
-        }
-      },
-      deep: true
-    },
-  },
-  mounted() {
-    this.getTaskOptions()
-    this.setValue()
-  },
-  methods: {
-    addItem() {
-      tools.showLoading()
-      getSn().then((res)=>{
-        if(res.code===1){
-          this.insuranceList.push({'property_type':3,'property_sn':res.data,'data':this.insuranceItem})
-        }else {
-          tools.error('编号生成失败')
-        }
-        tools.hideLoading()
-      })
-    },
-    setSendMd5() {
-      let str = JSON.stringify(this.value)
-      this.sendMd5 = md5(JSON.stringify(this.insuranceList))
-      return md5(str)
-    },
-    setValue() {
-      if (this.value) {
-        let sendMd5 = this.setSendMd5()
-        if (sendMd5 !== this.sendMd5) {
-          this.insuranceList = this.value
-        }
-      }
-    },
-    verifyKey(field) {
-      return this.showKeys.indexOf(field) >= 0
-    },
-    async getTaskOptions() {
-      const res = await getTaskOptions({'type': 4})
-      if (res.code === 1) {
-        res.data.insuranceType.forEach((val) => {
-          this.insuranceTypeData.push({'text': val.name, 'value': val.value})
-        })
-      }
-    },
-    delItem() {
-      uni.showModal({
-        title: '警告',
-        content: '是否删除当前保单信息!',
-        success: (res) => {
-          if (res.confirm) {
-            this.$emit('delItem', this.itemKey)
-          }
-        }
-      });
-    }
-  }
-}
+	export default {
+		name: 'property-guarantee',
+		components: {
+			EnBlank,
+			EnDate,
+			EnSelect,
+			EnUpload,
+			EnCity,
+			enInput
+		},
+		props: {
+			'showKeys': {
+				default: []
+			},
+			'value': {
+				default: {}
+			},
+			'itemKey': {
+				default: 0
+			}
+		},
+		data() {
+			return {
+				payData: [{
+					'id': 1,
+					'name': '满足'
+				}, {
+					'id': 0,
+					'name': '未足'
+				}],
+				insuranceTypeData: [],
+				insuranceItem: {
+					'insurance_name': '',
+					'insurance_type': '',
+					'year_money': '',
+					'is_fees': '1',
+					'validity_date': '',
+					'insurance_img': [],
+					'remark': '',
+				},
+				insuranceList: []
+			}
+		},
+		watch: {
+			'insuranceList': {
+				handler() {
+					this.$emit("input", this.insuranceList);
+				},
+				deep: true
+			},
+			'value': {
+				handler() {
+					if (this.value) {
+						this.setValue()
+					}
+				},
+				deep: true
+			},
+		},
+		mounted() {
+			this.getTaskOptions()
+			this.setValue()
+		},
+		methods: {
+			addItem() {
+				tools.showLoading()
+				getSn().then((res) => {
+					if (res.code === 1) {
+						this.insuranceList.push({
+							'property_type': 3,
+							'property_sn': res.data,
+							'data': this.insuranceItem
+						})
+						this.$emit('onResize')
+					} else {
+						tools.error('编号生成失败')
+					}
+					tools.hideLoading()
+				})
+			},
+			setSendMd5() {
+				let str = JSON.stringify(this.value)
+				this.sendMd5 = md5(JSON.stringify(this.insuranceList))
+				return md5(str)
+			},
+			setValue() {
+				if (this.value) {
+					let sendMd5 = this.setSendMd5()
+					if (sendMd5 !== this.sendMd5) {
+						this.insuranceList = this.value
+					}
+				}
+			},
+			verifyKey(field) {
+				return this.showKeys.indexOf(field) >= 0
+			},
+			async getTaskOptions() {
+				const res = await getTaskOptions({
+					'type': 4
+				})
+				if (res.code === 1) {
+					res.data.insuranceType.forEach((val) => {
+						this.insuranceTypeData.push({
+							'text': val.name,
+							'value': val.value
+						})
+					})
+				}
+			},
+			delItem() {
+				uni.showModal({
+					title: '警告',
+					content: '是否删除当前保单信息!',
+					success: (res) => {
+						if (res.confirm) {
+							this.$emit('delItem', this.itemKey)
+						}
+					}
+				});
+			}
+		}
+	}
 </script>
 
 <style>
-.house-button {
-  height: 70rpx;
-  line-height: 70rpx;
-  background: #FFFFFF;
-  border: 1rpx solid #0FB160;
-}
-</style>
+	.house-button {
+		height: 70rpx;
+		line-height: 70rpx;
+		background: #FFFFFF;
+		border: 1rpx solid #0FB160;
+	}
+</style>

+ 157 - 126
page_task/property/components/house.vue

@@ -1,19 +1,30 @@
 <template>
 	<view class="">
-    <view class="data-from" v-for="item in houseList">
-      <en-input label="产权人" type="text" placeholder="请输入产权人" v-model="item.data.property_owner" v-if="verifyKey('property_owner')"></en-input>
-      <en-input label="房产证号" v-model="item.data.deed_num" v-if="verifyKey('deed_num')" type="text" placeholder="请输入房产证号"></en-input>
-      <en-city label="房产城市" v-model="item.data.house_city" v-if="verifyKey('house_city')"  placeholder="请选择省、市、区"></en-city>
-      <en-input label="房产地址" v-model="item.data.house_address" v-if="verifyKey('house_address')" type="text" placeholder="请输入房产详细地址"></en-input>
-      <en-select label="房屋用途"  v-model="item.data.house_use" v-if="verifyKey('house_use')" placeholder="请选择房屋用途" :local-data="houseTypeData" ></en-select>
-      <en-date label="建成年份" v-model="item.data.build_date" v-if="verifyKey('build_date')" placeholder="选择房屋建成年份"></en-date>
-      <en-radio label="材料费" v-model="item.data.is_pay" v-if="verifyKey('is_pay')" :radio-data="payData"></en-radio>
-      <en-input label="建筑面积" v-model="item.data.covered_area" v-if="verifyKey('covered_area')" type="digit" placeholder="请输入建筑面积" rightText="㎡"></en-input>
-      <en-upload label="上传房产证件" v-model="item.data.certificate_img" v-if="verifyKey('certificate_img')" :imageWidth="180"></en-upload>
-      <en-upload label="上传房产关联图片" v-model="item.data.property" v-if="verifyKey('property')" :imageWidth="180"></en-upload>
-      <en-input label="备注" v-model="item.data.remark" v-if="verifyKey('remark')" type="text" placeholder="请输入备注信息" :noBox="true"></en-input>
-    </view>
-    <en-blank message="暂无房产信息,快来添加吧!" v-if="houseList.length<=0"></en-blank>
+		<view class="data-from" v-for="item in houseList">
+			<en-input label="产权人" type="text" placeholder="请输入产权人" v-model="item.data.property_owner"
+				v-if="verifyKey('property_owner')"></en-input>
+			<en-input label="房产证号" v-model="item.data.deed_num" v-if="verifyKey('deed_num')" type="text"
+				placeholder="请输入房产证号"></en-input>
+			<en-city label="房产城市" v-model="item.data.house_city" v-if="verifyKey('house_city')"
+				placeholder="请选择省、市、区"></en-city>
+			<en-input label="房产地址" v-model="item.data.house_address" v-if="verifyKey('house_address')" type="text"
+				placeholder="请输入房产详细地址"></en-input>
+			<en-select label="房屋用途" v-model="item.data.house_use" v-if="verifyKey('house_use')" placeholder="请选择房屋用途"
+				:local-data="houseTypeData"></en-select>
+			<en-date label="建成年份" v-model="item.data.build_date" v-if="verifyKey('build_date')"
+				placeholder="选择房屋建成年份"></en-date>
+			<en-radio label="材料费" v-model="item.data.is_pay" v-if="verifyKey('is_pay')"
+				:radio-data="payData"></en-radio>
+			<en-input label="建筑面积" v-model="item.data.covered_area" v-if="verifyKey('covered_area')" type="digit"
+				placeholder="请输入建筑面积" rightText="㎡"></en-input>
+			<en-upload label="上传房产证件" v-model="item.data.certificate_img" v-if="verifyKey('certificate_img')"
+				:imageWidth="180"></en-upload>
+			<en-upload label="上传房产关联图片" v-model="item.data.property" v-if="verifyKey('property')"
+				:imageWidth="180"></en-upload>
+			<en-input label="备注" v-model="item.data.remark" v-if="verifyKey('remark')" type="text" placeholder="请输入备注信息"
+				:noBox="true"></en-input>
+		</view>
+		<en-blank message="暂无房产信息,快来添加吧!" v-if="houseList.length<=0"></en-blank>
 		<button class="size-26 r-10 button-color house-button m-t30" hover-class="is-hover"
 			@click="addHouse">+添加房产</button>
 	</view>
@@ -21,127 +32,147 @@
 
 <script>
 	import enInput from "@/components/en-from/en-input/en-input.vue"
-  import EnCity from "@/components/en-from/en-city/en-city.vue";
-  import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
-  import EnSelect from "@/components/en-from/en-select/en-select.vue";
-  import {getTaskOptions} from "@/api/task";
-  import md5 from "js-md5";
-  import EnDate from "@/components/en-from/en-date/en-date.vue";
-  import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
-  import tools from "@/service/tools";
-  import {getSn} from "@/api/common";
+	import EnCity from "@/components/en-from/en-city/en-city.vue";
+	import EnUpload from "@/components/en-from/en-upload/en-upload.vue";
+	import EnSelect from "@/components/en-from/en-select/en-select.vue";
+	import {
+		getTaskOptions
+	} from "@/api/task";
+	import md5 from "js-md5";
+	import EnDate from "@/components/en-from/en-date/en-date.vue";
+	import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
+	import tools from "@/service/tools";
+	import {
+		getSn
+	} from "@/api/common";
 
 	export default {
-    name:'property-house',
+		name: 'property-house',
 		components: {
-      EnBlank,
-      EnDate,
-      EnSelect,
-      EnUpload,
-      EnCity,
-      enInput
+			EnBlank,
+			EnDate,
+			EnSelect,
+			EnUpload,
+			EnCity,
+			enInput
 		},
-    props: {
-      'showKeys': {
-        default: []
-      },
-      'value': {
-        default: {
+		props: {
+			'showKeys': {
+				default: []
+			},
+			'value': {
+				default: {
 
-        }
-      },
-      'itemKey': {
-        default: 0
-      }
-    },
+				}
+			},
+			'itemKey': {
+				default: 0
+			}
+		},
 		data() {
 			return {
-        payData:[{'id':1,'name':'已支付'},{'id':2,'name':'未支付'}],
-        houseTypeData:[],
-        houseItem:{
-          'property_owner':'',
-          'deed_num':'',
-          'house_city':'',
-          'house_address':'',
-          'house_use':'',
-          'build_date':'',
-          'is_pay':'',
-          'covered_area':'',
-          'certificate_img':[],
-          'property':[],
-          'remark':'',
-        },
-        houseList:[]
-      }
+				payData: [{
+					'id': 1,
+					'name': '已支付'
+				}, {
+					'id': 2,
+					'name': '未支付'
+				}],
+				houseTypeData: [],
+				houseItem: {
+					'property_owner': '',
+					'deed_num': '',
+					'house_city': '',
+					'house_address': '',
+					'house_use': '',
+					'build_date': '',
+					'is_pay': '',
+					'covered_area': '',
+					'certificate_img': [],
+					'property': [],
+					'remark': '',
+				},
+				houseList: []
+			}
+		},
+		watch: {
+			'houseList': {
+				handler() {
+					this.$emit("input", this.houseList);
+				},
+				deep: true
+			},
+			'value': {
+				handler() {
+					if (this.value) {
+						this.setValue()
+					}
+				},
+				deep: true
+			},
+		},
+		mounted() {
+			this.getTaskOptions()
+			this.setValue()
 		},
-    watch: {
-      'houseList': {
-        handler() {
-          this.$emit("input", this.houseList);
-        },
-        deep: true
-      },
-      'value': {
-        handler() {
-          if (this.value) {
-            this.setValue()
-          }
-        },
-        deep: true
-      },
-    },
-    mounted() {
-      this.getTaskOptions()
-      this.setValue()
-    },
 		methods: {
-      addHouse(){
-        tools.showLoading()
-        getSn().then((res)=>{
-          if(res.code===1){
-            this.houseList.push({'property_type':1,'property_sn':res.data,'data':this.houseItem})
-          }else {
-            tools.error('编号生成失败')
-          }
-         tools.hideLoading()
-        })
+			addHouse() {
+				tools.showLoading()
+				getSn().then((res) => {
+					if (res.code === 1) {
+						this.houseList.push({
+							'property_type': 1,
+							'property_sn': res.data,
+							'data': this.houseItem
+						})
+						this.$emit('onResize')
+					} else {
+						tools.error('编号生成失败')
+					}
+					tools.hideLoading()
+				})
 
-      },
-      setSendMd5() {
-        let str = JSON.stringify(this.value)
-        this.sendMd5=md5(JSON.stringify(this.houseList))
-        return md5(str)
-      },
-      setValue(){
-        if (this.value) {
-          let sendMd5 = this.setSendMd5()
-          if (sendMd5 !== this.sendMd5) {
-            this.houseList=this.value
-          }
-        }
-      },
-      verifyKey(field) {
-        return this.showKeys.indexOf(field) >= 0
-      },
-      async getTaskOptions() {
-        const res = await getTaskOptions({'type':3})
-        if (res.code === 1) {
-          res.data.houseTypeArr.forEach((val)=>{
-            this.houseTypeData.push({'text':val.name,'value':val.value})
-          })
-        }
-      },
-      delItem(){
-        uni.showModal({
-          title: '警告',
-          content: '是否删除当前资产信息!',
-          success: (res) => {
-            if (res.confirm) {
-              this.$emit('delItem',this.itemKey)
-            }
-          }
-        });
-      }
+			},
+			setSendMd5() {
+				let str = JSON.stringify(this.value)
+				this.sendMd5 = md5(JSON.stringify(this.houseList))
+				return md5(str)
+			},
+			setValue() {
+				if (this.value) {
+					let sendMd5 = this.setSendMd5()
+					if (sendMd5 !== this.sendMd5) {
+						this.houseList = this.value
+					}
+				}
+			},
+			verifyKey(field) {
+				return this.showKeys.indexOf(field) >= 0
+			},
+			async getTaskOptions() {
+				const res = await getTaskOptions({
+					'type': 3
+				})
+				if (res.code === 1) {
+					res.data.houseTypeArr.forEach((val) => {
+						this.houseTypeData.push({
+							'text': val.name,
+							'value': val.value
+						})
+					})
+				}
+			},
+			delItem() {
+				uni.showModal({
+					title: '警告',
+					content: '是否删除当前资产信息!',
+					success: (res) => {
+						if (res.confirm) {
+							this.$emit('delItem', this.itemKey)
+						}
+					}
+				});
+			}
 		}
 	}
 </script>
@@ -153,4 +184,4 @@
 		background: #FFFFFF;
 		border: 1rpx solid #0FB160;
 	}
-</style>
+</style>

+ 65 - 47
page_task/property/property.vue

@@ -16,32 +16,37 @@
 						<House></House>
 					</view>
 				</view> -->
-				<uni-collapse accordion class="">
+				<uni-collapse ref="collapse" accordion class="sys-from-background-color">
 					<uni-collapse-item titleBorder="none" :border="false"
 						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="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/house.png" mode=""></image>
+									<image class="wh-60"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/house.png"
+										mode=""></image>
 									<text class="size-28 sys-weight-600 m-l20">房产信息</text>
 								</view>
 							</view>
 						</template>
 						<view class="content">
-							<House v-model="houseList" :show-keys="propertyKey"></House>
+							<House v-model="houseList" :show-keys="propertyKey" @onResize="onResizeInit"></House>
 						</view>
 					</uni-collapse-item>
 					<uni-collapse-item titleBorder="none" :border="false" 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="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png" mode=""></image>
+									<image class="wh-60"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png"
+										mode=""></image>
 									<text class="size-28 sys-weight-600 m-l20">车辆信息</text>
 								</view>
 							</view>
 						</template>
 						<view class="content">
-							<property-car v-model="carList" :show-keys="propertyKey"></property-car>
+							<property-car v-model="carList" :show-keys="propertyKey"
+								@onResize="onResizeInit"></property-car>
 						</view>
 					</uni-collapse-item>
 					<uni-collapse-item titleBorder="none" :border="false"
@@ -49,13 +54,16 @@
 						<template v-slot:title>
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png" mode=""></image>
+									<image class="wh-60"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png"
+										mode=""></image>
 									<text class="size-28 sys-weight-600 m-l20">保单信息</text>
 								</view>
 							</view>
 						</template>
 						<view class="content">
-							<property-guarantee v-model="insuranceList" :show-keys="propertyKey"></property-guarantee>
+							<property-guarantee v-model="insuranceList" :show-keys="propertyKey"
+								@onResize="onResizeInit"></property-guarantee>
 						</view>
 					</uni-collapse-item>
 					<uni-collapse-item titleBorder="none" :border="false"
@@ -63,34 +71,37 @@
 						<template v-slot:title>
 							<view class="row-justify-sb center">
 								<view class="row-c">
-									<image class="wh-60" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png" mode=""></image>
+									<image class="wh-60"
+										src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/car.png"
+										mode=""></image>
 									<text class="size-28 sys-weight-600 m-l20">企业信息</text>
 								</view>
 							</view>
 						</template>
 						<view class="content">
-							<property-company v-model="firmList" :show-keys="propertyKey"></property-company>
+							<property-company v-model="firmList" :show-keys="propertyKey"
+								@onResize="onResizeInit"></property-company>
 						</view>
 					</uni-collapse-item>
 				</uni-collapse>
 			</view>
 		</view>
-		<EnButton  :text="'保存'"  @onSubmit="onSubmit">
+		<EnButton :text="'保存'" @onSubmit="onSubmit">
 		</EnButton>
 	</view>
 </template>
 
 <script>
 	import House from "./components/house.vue"
-  import PropertyCar from "@/page_task/property/components/car.vue";
-  import PropertyGuarantee from "@/page_task/property/components/guarantee.vue";
-  import PropertyCompany from "@/page_task/property/components/company.vue";
+	import PropertyCar from "@/page_task/property/components/car.vue";
+	import PropertyGuarantee from "@/page_task/property/components/guarantee.vue";
+	import PropertyCompany from "@/page_task/property/components/company.vue";
 
 	export default {
 		components: {
-      PropertyCompany,
-      PropertyGuarantee,
-      PropertyCar,
+			PropertyCompany,
+			PropertyGuarantee,
+			PropertyCar,
 			House,
 		},
 		data() {
@@ -98,43 +109,50 @@
 				title: '',
 				fixedHeight: 0,
 				scrollTop: 0,
-        propertyKey:[],
-        propertyData:[],
-        houseList:[],
-        insuranceList:[],
-        firmList:[],
-        carList:[],
+				propertyKey: [],
+				propertyData: [],
+				houseList: [],
+				insuranceList: [],
+				firmList: [],
+				carList: [],
 			}
 		},
 		onPageScroll(res) {
 			this.scrollTop = res.scrollTop / 120
 		},
 
-    onLoad(options) {
-      this.title = options.title
-      let propertyData = uni.getStorageSync('propertyData')
-      let propertyKey = uni.getStorageSync('propertyKey')
-      this.propertyData=propertyData
-      this.propertyKey=propertyKey
-      this.setPropertyData()
+		onLoad(options) {
+			this.title = options.title
+			let propertyData = uni.getStorageSync('propertyData')
+			let propertyKey = uni.getStorageSync('propertyKey')
+			this.propertyData = propertyData
+			this.propertyKey = propertyKey
+			this.setPropertyData()
 
-    },
+		},
 		methods: {
-      setPropertyData(){
-        if(this.propertyData.length>0){
-          this.propertyData.forEach(item=>{
-            if(item.property_type*1===1){
-              this.houseList.push(item)
-            }else if(item.property_type*1===2){
-              this.carList.push(item)
-            }else if(item.property_type*1===3){
-              this.insuranceList.push(item)
-            }else if(item.property_type*1===4){
-              this.firmList.push(item)
-            }
-          })
-        }
-      },
+			setPropertyData() {
+				if (this.propertyData.length > 0) {
+					this.propertyData.forEach(item => {
+						if (item.property_type * 1 === 1) {
+							this.houseList.push(item)
+						} else if (item.property_type * 1 === 2) {
+							this.carList.push(item)
+						} else if (item.property_type * 1 === 3) {
+							this.insuranceList.push(item)
+						} else if (item.property_type * 1 === 4) {
+							this.firmList.push(item)
+						}
+					})
+				}
+			},
+			onResizeInit() {
+				setTimeout(() => {
+					this.$nextTick(() => {
+						this.$refs.collapse.resize()
+					})
+				}, 200)
+			},
 			onSubmit() {
 				console.log('提交资料');
 			},
@@ -156,7 +174,7 @@
 	}
 
 	/deep/ .uni-collapse {
-		// background-color: #EEF1F7 !important;
+		background-color: #EEF1F7 !important;
 		border-radius: 30rpx;
 	}
 
@@ -183,4 +201,4 @@
 	.collapse-item-company {
 		background: linear-gradient(180deg, rgba(255, 0, 0, 0.1) 0%, rgba(255, 255, 255, 1) 60rpx);
 	}
-</style>
+</style>

+ 35 - 33
pages/loan/loan.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="total-page page_env page-box sys-list-background-color">
+	<view class="total-page page_env-20 page-box sys-list-background-color">
 		<view class="task-bg">
 			<Nav :title="'贷后管理'" :genre="1" :back="false" is_fixed></Nav>
 			<view>
@@ -11,9 +11,9 @@
 						:current="current" :bar-animate-mode="'worm'" @change="tabsChange" />
 				</view>
 			</view>
-			<EnScroll ref="scroll" :navHeight="108" is_tabHeight @onRefresh="onRefresh"
+			<EnScroll ref="scroll" :navHeight="100" is_tabHeight @onRefresh="onRefresh"
 				@onScrollBottom="onScrollBottom">
-<!--				<TaskItem :type="3" is_bottom></TaskItem>-->
+				<LoanItem></LoanItem>
 			</EnScroll>
 			<Tab :tab-index="2"></Tab>
 		</view>
@@ -22,13 +22,15 @@
 </template>
 <script>
 	// 任务列表
-	import TaskItem from "@/common/task/task-item.vue";
-  import {getLoanList} from "@/api/task";
-  import tools from "@/service/tools";
+	import LoanItem from "@/common/task/loan-item.vue";
+	import {
+		getLoanList
+	} from "@/api/task";
+	import tools from "@/service/tools";
 
 	export default {
 		components: {
-			TaskItem
+			LoanItem
 		},
 		data() {
 			return {
@@ -47,39 +49,39 @@
 					is_dot: true,
 					disabled: false
 				}],
-        searchText:"",
-        fromData:{
-          status:0,
-          interest_rate:'',//利率区间 数组或者字符串,连接
-          residue_num:'',//剩余期数
-          product_name:'',//产品名称
-          phone:'',//电话号码
-          name:'',//客户名称
-          productId:'',//产品ID
-          page:1,
-        },
-        total:0,
-        list:[],
+				searchText: "",
+				fromData: {
+					status: 0,
+					interest_rate: '', //利率区间 数组或者字符串,连接
+					residue_num: '', //剩余期数
+					product_name: '', //产品名称
+					phone: '', //电话号码
+					name: '', //客户名称
+					productId: '', //产品ID
+					page: 1,
+				},
+				total: 0,
+				list: [],
 			}
 		},
 		watch: {
 
 
 		},
-    mounted() {
-      this.getList()
-    },
+		mounted() {
+			this.getList()
+		},
 		methods: {
-      getList(){
-        getLoanList(this.fromData).then((res)=>{
-          if(res.code === 1){
-            this.list = [...this.list,...res.data.items]
-            this.total = res.data.total
-          }else{
-            tools.error(res.msg)
-          }
-        })
-      },
+			getList() {
+				getLoanList(this.fromData).then((res) => {
+					if (res.code === 1) {
+						this.list = [...this.list, ...res.data.items]
+						this.total = res.data.total
+					} else {
+						tools.error(res.msg)
+					}
+				})
+			},
 			tabsChange(index) {
 				this.current = index;
 			},

+ 3 - 0
static/css/default-color.scss

@@ -141,6 +141,9 @@
 .color-ED9A2C{
 	color: #ED9A2C;
 }
+.color-FF730E{
+	color: #FF730E;
+}
 .color-4A2600{
 	color: #4A2600;
 }

+ 4 - 3
uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue

@@ -14,7 +14,8 @@
 			<view v-if="showArrow"
 				:class="{ 'uni-collapse-item__title-arrow-active': isOpen, 'uni-collapse-item--animation': showAnimation === true }"
 				class="uni-collapse-item__title-arrow">
-				<uni-icons :color="disabled?'#ddd':'#bbb'" size="14" type="bottom" />
+				<!-- <uni-icons :color="disabled?'#ddd':'#bbb'" size="14" type="bottom" /> -->
+				<image class="wh-30" src="/static/img/information/right.png" mode=""></image>
 			</view>
 		</view>
 		<view class="uni-collapse-item__wrap" :class="{'is--transition':showAnimation}"
@@ -343,7 +344,7 @@
 				transform: rotate(0deg);
 
 				&-active {
-					transform: rotate(-180deg);
+					transform: rotate(90deg);
 				}
 			}
 
@@ -399,4 +400,4 @@
 		}
 
 	}
-</style>
+</style>