USER-20230908AJ\Administrator 1 anno fa
parent
commit
b29e0a4e65

+ 205 - 160
page_task/apply/apply.vue

@@ -28,60 +28,29 @@
 				<view class="sys-background-fff r-20 p-lr30 p-t30">
 					<text class="size-30 sys-weight-600'">基本信息</text>
 					<view class="m-t20">
-						<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-							<view class="wh-text"><text></text>贷款额度</view>
-							<view class="row-c flex">
-								<input class="wh-input sys-size-28 text-color-12 m-lr20 flex"
-									placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请输入"
-									v-model="inputValue"></input>
-							</view>
-							<text>万元</text>
-						</view>
-						<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-							<view class="wh-text"><text></text>是否涉农</view>
-							<view class="row-c">
-								<view class="row-c radiu-item m-l20"
-									:class="{'active-radiu':formData.is_farming === item.value}"
-									v-for="(item,index) in farming" :key="index" @click="onSetFarming(item.value)">
-									<image class="wh-30 m-r20"
-										:src="formData.is_farming == item.value?'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/correct.png':'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/error.png'"
-										mode="aspectFill"></image>
-									<text>{{item.text}}</text>
-								</view>
-							</view>
-						</view>
-						<WhInput :name="'贷款形式'" disabled is_select></WhInput>
-						<WhInput :name="'贷款类别'" disabled is_select></WhInput>
-						<WhInput :name="'投向行业'" disabled is_select></WhInput>
-						<WhInput :name="'企业类似'" disabled is_select></WhInput>
-						<view class="row-justify-sb center p-tb30 size-28">
-							<view class="wh-text"><text></text>材料费</view>
-							<view class="row-c">
-								<view class="row-c radiu-item m-l20"
-									:class="{'active-radiu':formData.is_materials === item.value}"
-									v-for="(item,index) in materials" :key="index" @click="onSetMaterials(item.value)">
-									<image class="wh-30 m-r20"
-										:src="formData.is_materials === item.value?'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/correct.png':'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/error.png'"
-										mode="aspectFill"></image>
-									<text>{{item.text}}</text>
-								</view>
-							</view>
-						</view>
+            <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>
 					</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="(item,index) in applyList"
+				<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="item.is_edit">
+					<view class="sys-from-background-color p-20 r-20 size-26" v-if="!applyItem.is_edit">
 						<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(item)"></image>
+										@click="onEditInfo(applyItem)"></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)">
@@ -90,8 +59,30 @@
 							</view>
 							<view class="row-c p-tb30">
 								<view class="text-color-666"><text></text>申请类型:</view>
-								<text>抵押</text>
+								<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>
 						<view class="">
 							<text class="size-28 sys-weight-600">绑定资产信息</text>
@@ -100,115 +91,83 @@
 								<text>绑定资产</text>
 							</view>
 						</view>
+
 						<view class="">
-							<text class="size-28 sys-weight-600">还款账户信息</text>
-							<view class="row-c p-tb30">
-								<view class="text-color-666"><text></text>还款金额:</view>
-								<text>100万</text>
-							</view>
-							<view class="row-c ">
-								<view class="text-color-666"><text></text>银行卡号:</view>
-								<text>4576476465498790878</text>
-							</view>
-							<view class="row-c p-tb30">
-								<view class="text-color-666"><text></text>所属银行:</view>
-								<text>中国银行</text>
-							</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="">
-							<text class="size-28 sys-weight-600">放款账户信息</text>
-							<view class="row-c p-tb30">
-								<view class="text-color-666"><text></text>批复金额:</view>
-								<text>100万</text>
-							</view>
-							<view class="row-c ">
-								<view class="text-color-666"><text></text>银行卡号:</view>
-								<text>4576476465498790878</text>
-							</view>
-							<view class="row-c p-t30">
-								<view class="text-color-666"><text></text>所属银行:</view>
-								<text>中国银行</text>
-							</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>
-							<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-								<view class="wh-text"><text></text>申请类型</view>
-								<view class="row-c">
-									<view class="row-c radiu-item m-l20"
-										:class="{'active-radiu':formData.is_materials === item.value}"
-										v-for="(item,index) in impawn" :key="index" @click="onSetMaterials(item.value)">
-										<image class="wh-30 m-r20"
-											:src="formData.is_materials === item.value?'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/correct.png':'https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/information/error.png'"
-											mode="aspectFill"></image>
-										<text>{{item.text}}</text>
-									</view>
-								</view>
-							</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>
-							<WhInput :name="'绑定资产'" disabled is_select></WhInput>
+              <property-select label="选择资产" v-model="applyItem.property_sns" :propertyList="propertyList"></property-select>
 						</view>
-						<view class="m-t30">
-							<text class="size-30 sys-weight-600'">还款账户信息</text>
-							<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-								<view class="wh-text"><text></text>还款金额</view>
-								<view class="row-c flex">
-									<input class="wh-input sys-size-28 text-color-12 m-lr20 flex"
-										placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请输入"
-										v-model="inputValue"></input>
-								</view>
-								<text>万元</text>
-							</view>
-							<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-								<view class="wh-text"><text></text>银行卡</view>
-								<view class="row-c flex">
-									<input class="wh-input sys-size-28 text-color-12 m-lr20 flex"
-										placeholder-class="sys-size-28 text-color-999 sys-weight-400"
-										placeholder="请输入银行账号" v-model="inputValue"></input>
-								</view>
-								<uni-icons type="camera" size="30"></uni-icons>
-							</view>
-							<WhInput :is_border="false" :name="'所属银行'" disabled is_select></WhInput>
+						<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>
 						</view>
-						<view class="m-t30">
+						<view class="m-t30" v-for="(loanItem,loanIndex) in applyItem.loan_data">
 							<text class="size-30 sys-weight-600'">放款账户信息</text>
-							<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-								<view class="wh-text"><text></text>还款金额</view>
-								<view class="row-c flex">
-									<input class="wh-input sys-size-28 text-color-12 m-lr20 flex"
-										placeholder-class="sys-size-28 text-color-999 sys-weight-400" placeholder="请输入"
-										v-model="inputValue"></input>
-								</view>
-								<text>万元</text>
-							</view>
-							<view class="row-justify-sb center p-tb30 bor-bottom-1 size-28">
-								<view class="wh-text"><text></text>银行卡</view>
-								<view class="row-c flex">
-									<input class="wh-input sys-size-28 text-color-12 m-lr20 flex"
-										placeholder-class="sys-size-28 text-color-999 sys-weight-400"
-										placeholder="请输入银行账号" v-model="inputValue"></input>
-								</view>
-								<uni-icons type="camera" size="30"></uni-icons>
-							</view>
-							<WhInput :is_border="false" :name="'所属银行'" disabled is_select></WhInput>
+              <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="flex"></view>
 							<view class="row-c m-tb20">
 								<button class="size-26 r-10 apply-button-delete m-r20" hover-class="is-hover"
-									@click="onDeleteInfo(index)">删除</button>
+									@click="onDeleteInfo()">删除</button>
 								<button class="size-26 r-10 button-color apply-button-save" hover-class="is-hover"
-									@click="onSaveInfo(item)">保存</button>
+									@click="onSaveInfo()">保存</button>
 							</view>
 						</view>
 					</view>
 				</view>
 				<button class="size-26 r-10 button-color apply-button m-t30" hover-class="is-hover"
-					@click="onAddInfo">+添加抵押信息</button>
+                @click="addApply">+添加申请信息</button>
 			</view>
 			<!-- 抵押信息end -->
 		</view>
@@ -221,9 +180,21 @@
 <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";
 
 	export default {
 		components: {
+      AddBank,
+      PropertySelect,
+      EnDate,
+      EnSelect,
+      EnInput,
 			TaskImgTab,
 			WhInput
 		},
@@ -235,39 +206,41 @@
 				scrollTop: 0,
 				stepOne: ['double', 'correct'],
 				stepTwo: ['two', 'double', 'correct'],
-				value: '',
-				formData: {
-					is_farming: null,
-					is_materials: null
-				},
-				farming: [{
-					text: '是',
-					value: 1
-				}, {
-					text: '否',
-					value: 0
-				}],
-				materials: [{
-					text: '已缴纳',
-					value: 1
-				}, {
-					text: '未缴纳',
-					value: 0
-				}],
-				impawn: [{
-					text: '抵押',
-					value: 1
-				}, {
-					text: '买卖',
-					value: 0
-				}],
-				applyList: [{
-					is_edit: true,
-					data: {}
-				}, {
-					is_edit: false,
-					data: {}
-				}]
+        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) {
@@ -275,8 +248,80 @@
 		},
 		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()
 		},
 		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;
+        //   }
+        // }
+      },
+
+      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({

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

@@ -0,0 +1,124 @@
+<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>
+</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
+      }
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+@import "@/static/css/wh-common";
+
+</style>

+ 341 - 0
page_task/apply/components/property-select.vue

@@ -0,0 +1,341 @@
+<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>
+</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'
+      }
+    }
+  }
+
+}
+</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>

+ 1 - 0
page_task/information/information.vue

@@ -476,6 +476,7 @@
 					uni.setStorageSync('propertyKey', item.type_keys)
 					uni.setStorageSync('propertyData', this.taskData.property)
 				} else if (item.type === 3) {
+          uni.setStorageSync('propertyData', this.taskData.property)
 					uni.setStorageSync('appliesKey', item.type_keys)
 					uni.setStorageSync('appliesData', this.taskData.applies)
 				} else if (item.type === 4) {