Commit 56a54d6f authored by 786817560's avatar 786817560

Merge branch 'ren' into develop

parents f19a8380 aab49d1e
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-09-29 10:02:11 * @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-11-13 09:37:51 * @LastEditTime: 2019-11-13 17:20:21
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
...@@ -567,12 +567,11 @@ export default { ...@@ -567,12 +567,11 @@ export default {
auth_credit_flag: 'Y', auth_credit_flag: 'Y',
}, },
} }
// vm.hlsPopup.showLoading('数据加载中') vm.hlsPopup.showLoading('请稍后')
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
// vm.guarantorInfo = res.lists
console.log('同意')
} }
}) })
}, },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Description: 合同详情 * @Description: 合同详情
* @Author: your name * @Author: your name
* @Date: 2019-09-25 15:38:21 * @Date: 2019-09-25 15:38:21
* @LastEditTime: 2019-10-29 09:53:42 * @LastEditTime: 2019-11-13 18:38:45
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
</div> </div>
</h-content> </h-content>
<h-content v-if="tabNum === 2"> <h-content v-if="tabNum === 2">
<list-item :item-height="56"> <!-- <list-item :item-height="56">
<item :proportion="[4,1]"> <item :proportion="[4,1]">
<div slot="name" class="aguremrnt-list"> <div slot="name" class="aguremrnt-list">
<img src="@/assets/distributorSign/agreement.png" alt="" class="pic"> <img src="@/assets/distributorSign/agreement.png" alt="" class="pic">
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
</div> </div>
<img slot="content" src="@/assets/distributorSign/into.png" alt=""> <img slot="content" src="@/assets/distributorSign/into.png" alt="">
</item> </item>
</list-item> </list-item> -->
<list-item :item-height="56"> <list-item :item-height="56">
<item :proportion="[4,1]"> <item :proportion="[4,1]">
<div slot="name" class="aguremrnt-list"> <div slot="name" class="aguremrnt-list">
...@@ -187,10 +187,10 @@ ...@@ -187,10 +187,10 @@
<p class="second">经销商担保协议</p> <p class="second">经销商担保协议</p>
<img src="@/assets/distributorSign/read.png" alt="" class="read"> <img src="@/assets/distributorSign/read.png" alt="" class="read">
</div> </div>
<img slot="content" src="@/assets/distributorSign/into.png" alt=""> <div slot="content" class="in-detail"><img src="@/assets/constractSigning/detail.png" alt=""></div>
</item> </item>
</list-item> </list-item>
<list-item :item-height="56"> <!-- <list-item :item-height="56">
<item :proportion="[4,1]"> <item :proportion="[4,1]">
<div slot="name" class="aguremrnt-list"> <div slot="name" class="aguremrnt-list">
<img src="@/assets/distributorSign/gray.png" alt="" class="pics"> <img src="@/assets/distributorSign/gray.png" alt="" class="pics">
...@@ -199,37 +199,13 @@ ...@@ -199,37 +199,13 @@
</div> </div>
<img slot="content" src="@/assets/distributorSign/into.png" alt=""> <img slot="content" src="@/assets/distributorSign/into.png" alt="">
</item> </item>
</list-item> </list-item> -->
</h-content> </h-content>
<bottom-tab v-if="confirm_status!=='APPROVED'&& (this.$route.params.hasButtom || hasButtomStorage)" class="footer-button"> <bottom-tab v-if="confirm_status!=='APPROVED'" class="footer-button">
<!-- <tab-button class="approve" @click.native="showModalValue=true"> --> <tab-button class="approve" @click.native="contractConfirm('APPROVED')">
<!-- <img src="@/assets/intoApproval/approve.png" > -->
<tab-button class="approve" @click.native="contractConfirm">
确认签约 确认签约
</tab-button> </tab-button>
</bottom-tab> </bottom-tab>
<!-- <h-modal
v-if="confirm_status!=='APPROVED'&& (this.$route.params.hasButtom || hasButtomStorage)" ref="modal" v-model="showModalValue" position="bottom">
<h-view>
<h-content class="approveContent">
<div class="approveBottom">
<span>
审批意见
<img src="@/assets/intoApproval/close1.png" @click="showModalValue=false" >
</span>
<textarea v-model="confirm_note" cols="8" rows="20" placeholder="请输入" />
</div>
</h-content>
<bottom-tab>
<tab-button class="reject" @click.native="showModalValue=true;charge('拒绝','REJECTED')">
<img src="@/assets/intoApproval/reject.png" >拒绝
</tab-button>
<tab-button class="same" @click.native="showModalValue=true;charge('同意','APPROVED')">
<img src="@/assets/intoApproval/approve.png" >同意
</tab-button>
</bottom-tab>
</h-view>
</h-modal> -->
</h-view> </h-view>
</template> </template>
...@@ -246,7 +222,6 @@ export default { ...@@ -246,7 +222,6 @@ export default {
}, },
data () { data () {
return { return {
hasButtomStorage: window.localStorage.getItem('hasButtom'),
showModalValue: false, showModalValue: false,
info: {}, info: {},
tabNum: 0, tabNum: 0,
...@@ -254,8 +229,10 @@ export default { ...@@ -254,8 +229,10 @@ export default {
bp_flag: false, bp_flag: false,
guarantorInfo: [], guarantorInfo: [],
bp_class: window.sessionStorage.getItem('bp_class'), bp_class: window.sessionStorage.getItem('bp_class'),
confirm_status: this.$route.params.confirm_status, confirm_status: '',
faceListUpload: [], // 自拍照上传
confirm_note: '', confirm_note: '',
confirm_id: window.sessionStorage.getItem('confirm_id'),
} }
}, },
computed: {}, computed: {},
...@@ -275,6 +252,7 @@ export default { ...@@ -275,6 +252,7 @@ export default {
}, },
}, },
created () { created () {
this.confirm_status = window.sessionStorage.getItem('confirm_status')
if (this.bp_class === 'NP') { if (this.bp_class === 'NP') {
this.bp_flag = false this.bp_flag = false
...@@ -291,27 +269,117 @@ export default { ...@@ -291,27 +269,117 @@ export default {
methods: methods:
{ {
// 签约确认 // 签约确认
contractConfirm () { contractConfirm (status) {
let vm = this
this.hlsPopup.showConfirm({ this.hlsPopup.showConfirm({
title: '提示', title: '提示',
content: '您确认签约吗?', content: '您确认签约吗?',
onConfirm: (data) => { onConfirm: (data) => {
if (data) { if (data) {
this.issure('APPROVED') // this.issure('APPROVED')
} else { vm.takePhonto(status)
} }
}, },
}) })
}, },
takePhonto (status) {
let vm = this
hlsPopup.showPopup({
title: '提示',
content: `请自拍一张`,
onConfirm: () => {
vm.takePhontoOpenCamera(status)
},
})
},
// 打开相机自拍
takePhontoOpenCamera (status) {
let vm = this
vm.faceListUpload = []
let obj = {
'pkvalue': vm.confirm_id,
'source_type': 'PRJ_PROJECT_BP_CONFIRM',
'picture': '',
'filePath': '',
'attachment_id': '',
'user_id': 1,
'fileName': 'face',
}
let cameraoptions = {
quality: 100,
cameraDirection: 1,
}
let success = function (imgdata) {
obj.filePath = imgdata
// obj.filePath = 'http://hlsapp.hand-china.com/file/XCMG/2.jpg'
vm.confirmContractSign(imgdata, status)
vm.faceListUpload.push(obj)
}
let error = function () {
hlsPopup.showLongCenter('请拍照')
}
hlsUtil.openCamera(cameraoptions, success, error)
},
// 执行同意的逻辑(查询对应的身份证正面图片->人脸识别->确认签约)
async confirmContractSign (faceImg, status) {
let idCardImgUrl = await this.idCardImgUrlGet()
this.faceIdentify(faceImg, idCardImgUrl, status)
},
// 获取身份证照片
async idCardImgUrlGet () {
let vm = this
let url = $config.basePath + 'prj_id_card_query'
let param = {
confirm_id: vm.confirm_id,
}
hlsPopup.showLoading('请稍候')
let res = await vm.$post(url, param)
hlsPopup.hideLoading()
if (res.result === 'S') {
let cardUrl = process.env.filePath + 'attachment_id=' + res.info.attachment_id + '&access_token=' + window.localStorage.access_token
return cardUrl
} else {
hlsPopup.showLongCenter(res.message)
return null
}
},
// 人脸比对
faceIdentify (faceImg, idCardImgUrl, status) {
let vm = this
let obj = {
'fileUrl': faceImg,
'idCardImgUrl': idCardImgUrl,
}
hlsPopup.showLoading('正在比对')
let url = process.env.ocrPath + '/baidu/ocr/face'
hlsUtil.baiduOcrFace(obj, url, function (res) {
hlsPopup.hideLoading()
if (res.success) {
let identifyScore = res.result.result.score.toFixed(0)
hlsPopup.showConfirm({
title: '提示',
content: `识别分数为${identifyScore}`,
onConfirm: (data) => {
if (data) {
vm.issure(status)
} else {
}
},
})
}
})
},
// 确认逻辑
issure (status) { issure (status) {
let vm = this let vm = this
let url = process.env.basePath + 'do_confrim_bp' let url = process.env.basePath + 'do_confrim_bp'
let param = { let param = {
'master': { 'master': {
confirm_id: vm.$route.params.confirm_id, confirm_id: vm.confirm_id,
confirm_status: status, confirm_status: status,
confirm_note: vm.confirm_note, confirm_note: vm.confirm_note,
}, },
...@@ -320,6 +388,7 @@ export default { ...@@ -320,6 +388,7 @@ export default {
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.save_picture(vm.faceListUpload)
vm.hlsPopup.showSuccess('签约成功') vm.hlsPopup.showSuccess('签约成功')
vm.$router.push({ vm.$router.push({
name: 'ContractList', name: 'ContractList',
...@@ -329,6 +398,46 @@ export default { ...@@ -329,6 +398,46 @@ export default {
} }
}) })
}, },
// 图片保存
save_picture (list) {
alert('list' + JSON.stringify(list))
let vm = this
if (list.length) {
// hlsPopup.showLoading('图片上传请稍候')
var alreadyUploadNum = 0
var attLength = 0
var recordUploadInterval = setInterval(function () {
if (alreadyUploadNum === attLength) {
clearInterval(recordUploadInterval)
/* hlsPopup.hideLoading()
hlsPopup.showLongCenter('图片上传成功') */
}
}, 500)
for (var i = 0; i < list.length; i++) {
let uploadSuccess = function (res) {
if (res.result === 'S') {
alreadyUploadNum++
for (var j = 0; j < list.length; j++) {
if (list[j].filePath === res.response.filePath) {
list[j].attachment_id = res.response.attachment_id
vm.faceListUpload.push(list[j])
alert('faceListUpload' + JSON.stringify(vm.faceListUpload))
break
}
}
} else {
hlsPopup.hideLoading()
}
}
if (!list[i].attachment_id) {
attLength++
hlsUtil.fileUploadSvc(list[i], uploadSuccess)
}
}
} else {
hlsPopup.hideLoading()
}
},
// 基本信息 // 基本信息
getBseMsg () { getBseMsg () {
let vm = this let vm = this
...@@ -396,44 +505,11 @@ export default { ...@@ -396,44 +505,11 @@ export default {
name: 'FinancDetails', name: 'FinancDetails',
params: { params: {
project_id: window.sessionStorage.getItem('project_id'), project_id: window.sessionStorage.getItem('project_id'),
confirm_status: this.confirm_status, // confirm_status: this.confirm_status,
product_num: this.info.product_num, product_num: this.info.product_num,
}, },
}) })
}, },
charge (val, status) {
this.hlsPopup.showConfirm({
title: '提示',
content: `您确认${val}吗?`,
onConfirm: (data) => {
if (data) {
debugger
let vm = this
let url = process.env.basePath + 'do_confrim_bp'
let param = {
'master': {
confirm_id: vm.$route.params.confirm_id,
confirm_status: status,
confirm_note: vm.confirm_note,
},
}
vm.hlsPopup.showLoading('提交数据中!')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.hlsPopup.showSuccess(`审批成功,已${val}`)
vm.$router.push({
name: 'ContractList',
})
} else {
vm.hlsPopup.showSuccess(res.message)
}
})
}
// }
},
})
},
}, },
} }
</script> </script>
...@@ -453,6 +529,17 @@ export default { ...@@ -453,6 +529,17 @@ export default {
line-height: 24px; line-height: 24px;
} }
} }
.in-detail{
background-color: rgba(0,70,156,0.08);
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
img{
width: 16px;
}
}
.name-box { .name-box {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
......
...@@ -19,55 +19,55 @@ ...@@ -19,55 +19,55 @@
<img src="@/assets/distributorSign/search.png" alt=""> <img src="@/assets/distributorSign/search.png" alt="">
</div> </div>
</div> </div>
<scroll <scroll
v-if="tabNum === 0" v-if="tabNum === 0"
ref="scroll" ref="scroll"
:updateData="[submitLists]" :updateData="[submitLists]"
:pullUp="true" :pullUp="true"
> >
<div class="wrap"> <div class="wrap">
<div v-for="(item,index) in submitLists" :key="index" class="contract-lists" > <div v-for="(item,index) in submitLists" :key="index" class="contract-lists" >
<div class="pro-code" @click="goDetails(item)"> <div class="pro-code" @click="goDetails(item)">
<img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon"> <img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<p> <p>
<span>合同号</span> <span>合同号</span>
<span>{{ item.project_number }}</span> <span>{{ item.project_number }}</span>
</p> </p>
<img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow"> <img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
</div> </div>
<div class="box"> <div class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div> <div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div>
</div> </div>
</div> </div>
</scroll> </div>
</scroll>
<scroll <scroll
v-if="tabNum === 1" v-if="tabNum === 1"
ref="scrollList" ref="scrollList"
:updateData="[approvedLists]" :updateData="[approvedLists]"
:pullUp="true" :pullUp="true"
> >
<div class="wrap"> <div class="wrap">
<div v-for="(item,index) in approvedLists" :key="index" class="contract-lists" > <div v-for="(item,index) in approvedLists" :key="index" class="contract-lists" >
<div class="pro-code" @click="goDetails(item)"> <div class="pro-code" @click="goDetails(item)">
<img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon"> <img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<p> <p>
<span>合同号</span> <span>合同号</span>
<span>{{ item.project_number }}</span> <span>{{ item.project_number }}</span>
</p> </p>
<img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow"> <img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
</div> </div>
<div class="box"> <div class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div> <div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div>
</div> </div>
</div> </div>
</scroll> </div>
</scroll>
</h-view> </h-view>
</template> </template>
...@@ -96,34 +96,34 @@ export default { ...@@ -96,34 +96,34 @@ export default {
let vm = this let vm = this
let url = $config.basePath + 'prj_confirm_list_query' let url = $config.basePath + 'prj_confirm_list_query'
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
} }
vm.hlsPopup.showLoading('数据加载中') vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.submitLists = res.lists.filter(item => item.confirm_status === 'SUBMIT') vm.submitLists = res.lists.filter(item => item.confirm_status === 'SUBMIT')
vm.approvedLists = res.lists.filter(item => item.confirm_status === 'APPROVED') vm.approvedLists = res.lists.filter(item => item.confirm_status === 'APPROVED')
if (vm.submitLists.length > 0 && vm.submitLists.length < 10) { if (vm.submitLists.length > 0 && vm.submitLists.length < 10) {
vm.$refs.scroll.update(true) vm.$refs.scroll.update(true)
} }
if (vm.approvedLists.length > 0 && vm.approvedLists.length < 10) { if (vm.approvedLists.length > 0 && vm.approvedLists.length < 10) {
vm.$refs.scrollList.update(true) vm.$refs.scrollList.update(true)
} }
}else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
}) })
}, },
goDetails (item) { goDetails (item) {
window.sessionStorage.setItem('confirm_id', item.confirm_id)
window.sessionStorage.setItem('bp_class', item.bp_class) window.sessionStorage.setItem('bp_class', item.bp_class)
window.sessionStorage.setItem('project_id', item.project_id) window.sessionStorage.setItem('project_id', item.project_id)
window.sessionStorage.setItem('confirm_status', item.confirm_status)
this.$router.push({ this.$router.push({
name: 'ContractDetails', name: 'ContractDetails',
params: { params: {
confirm_id: item.confirm_id, confirm_id: item.confirm_id,
confirm_status: item.confirm_status,
hasButtom: true,
}, },
}) })
}, },
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-10-30 19:29:24 * @Date: 2019-10-30 19:29:24
* @LastEditTime: 2019-11-13 10:39:56 * @LastEditTime: 2019-11-13 16:36:01
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<div class="total"> <div class="total">
<div class="sum"> <div class="sum">
<div>融资</div> <div>租金总</div>
<p>{{ info.total_rental_sum | currency }}</p> <p>{{ info.total_rental_sum | currency }}</p>
<img src="@/assets/contractInquire/num.png" alt=""> <img src="@/assets/contractInquire/num.png" alt="">
<h3><span>{{ info.lease_times }}</span></h3> <h3><span>{{ info.lease_times }}</span></h3>
...@@ -46,11 +46,11 @@ ...@@ -46,11 +46,11 @@
<span>{{ dateConverse(item.due_date).substr(5,10) }}</span> <span>{{ dateConverse(item.due_date).substr(5,10) }}</span>
</div> </div>
<div class="name"> <div class="name">
<p>款项</p> <span>款项</span>
<p>租金</p> <span>租金</span>
</div> </div>
<div class="number"> <div class="number">
<p>应还金额</p> <span>应还金额</span>
<span :class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}">{{ item.rental*product_num |currency }}</span> <span :class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}">{{ item.rental*product_num |currency }}</span>
</div> </div>
<img v-if="statu === 'black'" src="@/assets/contractInquire/done.png" alt="" class="status"> <img v-if="statu === 'black'" src="@/assets/contractInquire/done.png" alt="" class="status">
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-11-07 17:48:53 * @Date: 2019-11-07 17:48:53
* @LastEditTime: 2019-11-08 14:20:16 * @LastEditTime: 2019-11-13 11:29:25
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Descrip: 产品明细 * @Descrip: 产品明细
* @Author: your name * @Author: your name
* @Date: 2019-10-15 14:30:00 * @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-08 14:06:15 * @LastEditTime: 2019-11-13 14:44:06
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -178,6 +178,7 @@ export default { ...@@ -178,6 +178,7 @@ export default {
vueTouch: function (s, e) { vueTouch: function (s, e) {
let clientHeight = document.body.clientHeight // 屏幕可视高度 let clientHeight = document.body.clientHeight // 屏幕可视高度
let procnfGather = document.getElementsByClassName('procnf')[0].getBoundingClientRect() // 配置信息元素集合 let procnfGather = document.getElementsByClassName('procnf')[0].getBoundingClientRect() // 配置信息元素集合
console.log(procnfGather)
let detailGather = document.getElementsByClassName('prodetail')[0].getBoundingClientRect() // 详情信息元素集合 let detailGather = document.getElementsByClassName('prodetail')[0].getBoundingClientRect() // 详情信息元素集合
let baseGather = document.getElementsByClassName('base')[0].getBoundingClientRect() // 基本信息元素集合 let baseGather = document.getElementsByClassName('base')[0].getBoundingClientRect() // 基本信息元素集合
if (clientHeight - procnfGather.top >= procnfGather.height) { if (clientHeight - procnfGather.top >= procnfGather.height) {
...@@ -277,7 +278,6 @@ export default { ...@@ -277,7 +278,6 @@ export default {
item['url'] = process.env.filePath + 'attachment_id=' + item.product_attachment_id + '&access_token=' + window.localStorage.access_token item['url'] = process.env.filePath + 'attachment_id=' + item.product_attachment_id + '&access_token=' + window.localStorage.access_token
}) })
vm.picLists = res.lists vm.picLists = res.lists
console.log(vm.picLists)
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment