Commit 1016637d authored by 胡's avatar

fix

parent 329e9d2c
......@@ -11,5 +11,5 @@ module.exports = {
ocrPath:'"http://180.104.121.66:8088/r/api"',
fileUploadSvcPath:'"http://180.104.121.66:8088/r/api/app/fileUploadSvc?sysName=XCMG_UAT&apiName="',
appId: '"com.xcmg.app.dev"',
currentVersion: '"3.2.9"'
currentVersion: '"3.3.0"'
}
......@@ -2,21 +2,21 @@
<h-view id="batch-sign" class="public-style" :title="title">
<h-header class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$router.go(-1)" />
<img src="@/assets/userBind/arrow.png" @click="goBack()" />
</div>
<div slot="center" class="top-word">{{ title }}</div>
</h-header>
<scroll ref="scrollLists" :updateData="[prolists]" :pullUp="false">
<div class="hint-info">
<img src="@/assets/contractCreate/hint.png" />提示: 红色为已签署合同
</div>
<div class="scroll-box">
<div
class="box"
v-for="item of list"
:key="item.project_id"
@click="doCheck(item.project_id)"
>
<div class="box" v-for="item of list" :key="item.project_id">
<!-- 颜色 d6204b -->
<div class="name">
<img src="@/assets/login/contract.png" alt="icon" />
<img v-if="item.checked" src="@/assets/login/contract-red.png" alt="icon" />
<img v-else src="@/assets/login/contract.png" alt="icon" />
<span>{{ item.project_name }}</span>
</div>
<div>{{ item.project_number }}</div>
......@@ -24,10 +24,6 @@
</div>
</scroll>
<!-- <button class="submit">
<img src="@/assets/login/addUser.png" alt="自然人" /> 添加新用户
</button>-->
<bottom-tab class="add-box">
<tab-button class="before" @click.native="signContact">签署电子合同</tab-button>
<tab-button class="next" @click.native="submit">提交审核</tab-button>
......@@ -37,27 +33,84 @@
<script>
export default {
name: 'myBindUser',
name: 'batch-sign',
data() {
return {
prolists: [],
title: this.$route.query.name === 'confirmList' ? '批量签署电子合同' : '',
title: this.$route.query.name === 'confirmList' ? '批量签署电子合同' : '批量签署电子合同',
list: JSON.parse(window.localStorage.getItem('handleContact')),
checkList: [], // 需要进行签署的合同
}
},
mounted() {
this.checkSigned();
},
methods: {
// 检测已经签署的合同,进行过滤
async checkSigned() {
let url = process.env.basePath + 'batch_check_sign';
let data_class = this.$route.query.name === "confirmList" ? "LEASE_ITEM" : "PRJ_CONFIRM";
let param = { "master": this.list.map(item => ({ confirm_id: item.confirm_id, data_class })) };
hlsPopup.showLoading('请稍候');
let res = await this.$post(url, param);
this.hlsPopup.hideLoading();
if (res.result === "S") {
let checkList = res.lists.filter(ele => ele.signed_flag === 'N').map(ele => ele.confirm_id);
this.checkList = this.list.filter(ele => checkList.includes(ele.confirm_id));
// 加标识, checked为true 为 已签署
this.list = this.list.map(ele => {
ele.checked = !checkList.includes(ele.confirm_id);
return ele;
})
} else {
hlsPopup.showLongCenter(res.message);
}
},
// 提交
async submit() {
let data_class = this.$route.query.name === "confirmList" ? "LEASE_ITEM" : "PRJ_CONFIRM";
let confirm_list = this.list.filter(item => item.checked).map(item => ({ confirm_id: item.confirm_id, data_class, confirm_status: "APPROVED" }));
if (!confirm_list.length) return hlsPopup.showLongCenter("无可提交审核的合同");
let url = process.env.basePath + 'batch_do_confirm_bp';
let param = { master: { confirm_list } };
hlsPopup.showLoading('提交数据中');
let res = await this.$post(url, param);
this.hlsPopup.hideLoading();
if (res.result === 'S') {
this.hlsPopup.showSuccess('提交成功');
let successList = res.info.filter(item => item.status == 'S').map(item => item.confirm_id);
this.list = this.list.filter(item => !successList.includes(item.confirm_id));
window.localStorage.setItem('handleContact', JSON.stringify(this.list));
await this.checkSigned();
} else {
this.hlsPopup.showLongCenter(res.message);
}
},
// 签署
async signContact() {
if (!this.checkList.length) return hlsPopup.showLongCenter("无可需要签署的电子合同");
let url = process.env.basePath + 'batch_sign';
let data_class = this.$route.query.name === "confirmList" ? "LEASE_ITEM" : "PRJ_CONFIRM";
let param = {
"master": {
"project_id": this.list.map(item => item.project_id),
"bp_id": JSON.parse(window.localStorage.getItem('now_user_bp_bind_id')).bp_id
master: {
project_list: this.checkList.map(item => ({ project_id: item.project_id, data_class })),
bp_id: JSON.parse(window.localStorage.getItem('now_user_bp_bind_id')).bp_id
}
}
hlsPopup.showLoading('请稍候');
let res = await this.$post(url, param);
this.hlsPopup.hideLoading()
......@@ -71,12 +124,11 @@ export default {
hlsPopup.showLongCenter(res.message || res.info.msg)
}
},
doCheck(id) {
this.list = this.list.map(item => {
item.checked = item.project_id == id;
return item;
})
},
// 返回,清缓存
goBack() {
window.localStorage.removeItem("handleContact");
this.$router.go(-1);
}
},
}
</script>
......@@ -87,7 +139,24 @@ export default {
.scrollContent {
background-color: rgb(242, 242, 242);
}
.hint-info {
width: 100%;
height: 36px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #fcc800;
letter-spacing: 0.5px;
background-color: #faf5e0;
display: flex;
align-items: center;
img {
width: 16px;
height: 16px;
margin-left: 17px;
margin-right: 12px;
}
}
.add-box {
.before {
border: 1px solid #fdb62f;
......
......@@ -53,13 +53,10 @@
<span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>
</div>
<button class="cancel" @click="cancelRadio">× 取消批量</button>
<button
class="sign"
@click="$router.push({ path: '/batchSign', query: { name: 'confirmList' } })"
>签订电子合同</button>
<button class="sign" @click="sign">签订电子合同</button>
</div>
<button v-show="!isRadio" class="go-radio" @click="isRadio = true">
<button v-show="!tabNum && !isRadio" class="go-radio" @click="isRadio = true">
<img src="@/assets/login/write.png" alt="icon" />
<span>批量签署</span>
</button>
......@@ -120,6 +117,12 @@ export default {
})
},
methods: {
sign() {
let list = this.showList.filter(item => item.checked);
if (!list.length) return hlsPopup.showLongCenter('请选择合同');
window.localStorage.setItem('handleContact', JSON.stringify(list));
this.$router.push({ path: '/batchSign', query: { name: 'confirmList' } });
},
clickRadio(item) {
item.checked = !item.checked;
......@@ -181,7 +184,8 @@ export default {
}
},
getTabNum(i) {
this.tabNum = i
this.tabNum = i;
this.isRadio = false;
this.$refs.scroll.update(false)
this.$refs.scroll.scrollToTop()
},
......@@ -275,7 +279,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
font-size: 0.15rem;
font-size: 0.25rem;
img {
width: 16px;
margin-right: 4px;
......
<template>
<h-view id="repay-details" class="public-style">
<h-header :proportion="[5,1,1]" class="bar-custom">
<h-header :proportion="[5, 1, 1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" />
<span>合同明细</span>
</div>
</h-header>
......@@ -23,15 +23,15 @@
</item>
<item>
<div slot="name">产品名称</div>
<div slot="content">{{ detailInfo.division_n?detailInfo.division_n:"暂无数据" }}</div>
<div slot="content">{{ detailInfo.division_n ? detailInfo.division_n : "暂无数据" }}</div>
</item>
<item>
<div slot="name">产品型号</div>
<div slot="content" >{{ detailInfo.product_code?detailInfo.product_code:"暂无数据" }}</div>
<div slot="content">{{ detailInfo.product_code ? detailInfo.product_code : "暂无数据" }}</div>
</item>
<item>
<div slot="name">合同金额</div>
<div slot="content">{{ detailInfo.total_price|currency }}</div>
<div slot="content">{{ detailInfo.total_price | currency }}</div>
</item>
<item>
<div slot="name">商务政策</div>
......@@ -41,18 +41,15 @@
<div slot="name">租赁物数量</div>
<div slot="content">{{ detailInfo.product_num }}</div>
</item>
</list-item>
<div class="header">设备清单</div>
<scroll
ref="scroll" :updateData="[lists]" :pullUp="true"
@pullingUp="getEquipment">
<scroll ref="scroll" :updateData="[lists]" :pullUp="true" @pullingUp="getEquipment">
<list-item :item-height="104" class="equipment-list">
<item v-for="(item,index) in lists" :proportion="[2,1]" :key="index">
<item v-for="(item,index) in lists" :proportion="[2, 1]" :key="index">
<div slot="name" class="parameters">
<div class="list">
<p>设备识别号</p>
<span class="bold">{{ item.product_code }}-{{ index+1 |lengthCheck }}</span>
<span class="bold">{{ item.product_code }}-{{ index + 1 | lengthCheck }}</span>
</div>
<div class="list">
<p>发动机号</p>
......@@ -68,15 +65,19 @@
</div>
</div>
<div slot="content">
<span v-if="item.overdue_times!=0" :class="['status','red']">逾期{{ item.overdue_times }}</span>
<span
v-if="item.overdue_times != 0"
:class="['status', 'red']"
>逾期{{ item.overdue_times }}</span>
<div class="plan" @click="toRepayPlan(item.contract_id)">
<img src="@/assets/contractRepayment/plan.png" alt="">
<img src="@/assets/contractRepayment/plan.png" alt />
<span>还款计划</span>
</div>
</div>
</item>
</list-item>
</scroll></h-content>
</scroll>
</h-content>
</h-view>
</template>
......@@ -94,7 +95,7 @@ export default {
}
},
},
data () {
data() {
return {
pagenum: 1,
detailInfo: {
......@@ -112,7 +113,7 @@ export default {
},
computed: {},
watch: {},
beforeRouteEnter (to, from, next) {
beforeRouteEnter(to, from, next) {
next(vm => {
if (from.name === 'ContractRepayment') {
vm.pagenum = 1
......@@ -123,7 +124,7 @@ export default {
})
},
methods: {
getEquipment () {
getEquipment() {
let vm = this
let url = process.env.basePath + 'con_equip_list'
let param = {
......@@ -157,7 +158,7 @@ export default {
}
})
},
getDetail () {
getDetail() {
let vm = this
let url = process.env.basePath + 'con_repayment_detial'
let param = {
......@@ -173,7 +174,7 @@ export default {
}
})
},
toRepayPlan (e) {
toRepayPlan(e) {
this.$router.push({
name: 'RepayPlan',
params: {
......@@ -186,18 +187,18 @@ export default {
</script>
<style lang='less' >
#repay-details {
.status{
margin-bottom:20px;
.status {
margin-bottom: 20px;
display: inline-block;
}
.red{
color: red;
border-bottom: 1px solid red;
}
.blue{
color: blue;
border-bottom: 1px solid blue;
}
.red {
color: red;
border-bottom: 1px solid red;
}
.blue {
color: blue;
border-bottom: 1px solid blue;
}
.h-header {
background-color: @headerColor;
.h-header-btn {
......@@ -225,10 +226,10 @@ export default {
line-height: 40px;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #21254C;
color: #21254c;
font-weight: 700;
text-indent: 1em;
border-bottom: 1px solid #F1F0F5;
border-bottom: 1px solid #f1f0f5;
&:before {
content: "";
......@@ -244,8 +245,8 @@ export default {
.invoice {
margin-bottom: 0px;
.hls-item{
.contents{
.hls-item {
.contents {
.add-name {
font-family: PingFangSC-Regular;
font-size: 14px;
......@@ -255,7 +256,7 @@ export default {
.add-content {
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56,63,69,0.60);
color: rgba(56, 63, 69, 0.6);
}
}
}
......@@ -266,14 +267,14 @@ export default {
background-color: transparent;
.hls-item {
border-top: 1px solid #D9DBDF;
border-bottom: 1px solid #D9DBDF;
border-top: 1px solid #d9dbdf;
border-bottom: 1px solid #d9dbdf;
background-color: #fff;
margin-bottom: 10px;
.contents {
padding-top: 8px;
.add-name{
.add-name {
display: flex;
flex-direction: column;
......@@ -283,23 +284,23 @@ export default {
.list {
display: flex;
margin-bottom:0;
margin-bottom: 0;
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56,63,69,0.60);
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0.4px;
text-align: right;
flex: 1;
}
span {
flex:1;
flex: 1;
margin-left: 15px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #383F45;
color: #383f45;
letter-spacing: 0.4px;
}
......@@ -316,7 +317,7 @@ export default {
position: relative;
width: 100px;
height: 30px;
background: rgba(29, 63, 255,.2);
background: rgba(29, 63, 255, 0.2);
border-radius: 4px;
img {
......@@ -337,7 +338,6 @@ export default {
}
}
}
}
}
}
......@@ -360,7 +360,7 @@ export default {
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#repay-details{
#repay-details {
.scrollContent {
// padding-top: 3.72rem;
}
......@@ -370,7 +370,7 @@ export default {
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#repay-details{
#repay-details {
.scrollContent {
// padding-top: 3.72rem;
}
......
......@@ -4,7 +4,7 @@
<div class="prompt">
<div class="top">
<div>
<img src="@/assets/constractSigning/prompt.png" alt >
<img src="@/assets/constractSigning/prompt.png" alt />
<span>提示</span>
</div>
<div>请前往【农行代扣授权书】界面完成银行卡信息录入!</div>
......@@ -12,9 +12,9 @@
<div class="bottom" @click="isshow = !isshow">我知道了</div>
</div>
</div>
<h-header :proportion="[5,1,1]" class="bar-custom">
<h-header :proportion="[5, 1, 1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" />
<span>方案详情</span>
</div>
</h-header>
......@@ -32,16 +32,16 @@
<button v-if="!ischecked" style="background:rgba(56, 63, 69, 0.5)">同意</button>
<button v-if="ischecked" class="appro" style="background:#00469c" @click="confirm">同意</button>
</div>
</div> -->
</div>-->
<div class="tab-style">
<div :class="{'done':num === 0,'undone':num !== 0}" @click="num = 0;">
<img :src="num === 0?check1:uncheck1" >基本信息
<div :class="{ 'done': num === 0, 'undone': num !== 0 }" @click="num = 0;">
<img :src="num === 0 ? check1 : uncheck1" />基本信息
</div>
<div :class="{'done':num === 1,'undone':num !== 1}" @click="num = 1;">
<img :src="num === 1?check3:uncheck3" >方案信息
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1;">
<img :src="num === 1 ? check3 : uncheck3" />方案信息
</div>
<div :class="{'done':num === 2,'undone':num !== 2}" @click="num = 2;">
<img :src="num === 2?check2:uncheck2" >征信授权书
<div :class="{ 'done': num === 2, 'undone': num !== 2 }" @click="num = 2;">
<img :src="num === 2 ? check2 : uncheck2" />征信授权书
</div>
</div>
<h-content v-if="num === 0" class="business-condition">
......@@ -58,22 +58,22 @@
<list-item v-if="guarantorInfo.length" :item-height="76">
<item v-for="(item,index) in guarantorInfo" :key="index">
<div slot="name">
<span class="name-box">{{ index+1 }}</span>
<span class="name">担保人{{ index+1 }}姓名</span>
<span class="name-box">{{ index + 1 }}</span>
<span class="name">担保人{{ index + 1 }}姓名</span>
<span class="card-num">证件号</span>
</div>
<div slot="content" class="right">
<img src="@/assets/intoApproval/introduce.png" >
<img src="@/assets/intoApproval/introduce.png" />
<span :title="item.bp_name">{{ item.bp_name }}</span>
<br >
<span>{{ item.bp_class==='NP'? item.id_card_no: item.organization_code }}</span>
<br />
<span>{{ item.bp_class === 'NP' ? item.id_card_no : item.organization_code }}</span>
</div>
</item>
</list-item>
<div class="alert">
<div class="alert-content">
<div class="title">
<img src="@/assets/intoApproval/info.png" >
<img src="@/assets/intoApproval/info.png" />
<span class="info-word">温馨提示</span>
</div>
<p class="top-info">绑定成功后,您即可使用APP中合同查询、还款查询等功能。</p>
......@@ -87,30 +87,30 @@
</h-content>
<h-content v-if="num === 2">
<list-item :item-height="56" class="contract-text" style="background-color:rgb(250,250,250);">
<item v-for="(item,index) in attachArray" :proportion="[7,1]" :key="index">
<item v-for="(item,index) in attachArray" :proportion="[7, 1]" :key="index">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/npack.png" alt class="pics" >
<img src="@/assets/constractSigning/npack.png" alt class="pics" />
<p class="second first">{{ item.attachment_file }}</p>
<img
v-if="item.read_status === 'N'"
class="unread"
src="@/assets/constractSigning/unread.png"
>
/>
<img
v-if="item.read_status === 'Y'"
class="unread"
src="@/assets/constractSigning/read.png"
>
/>
<div
v-if="item.template_code === 'PRE_ABC_PAYMENT'"
class="wrap-img"
@click="entryInfo"
>
<img src="@/assets/constractSigning/scan.png" >
<img src="@/assets/constractSigning/scan.png" />
</div>
</div>
<div slot="content" class="in-detail" @click="goContent(item,index)">
<img src="@/assets/constractSigning/detail.png" alt >
<div slot="content" class="in-detail" @click="goContent(item, index)">
<img src="@/assets/constractSigning/detail.png" alt />
</div>
</item>
</list-item>
......@@ -123,7 +123,7 @@
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">商务政策</div>
<input slot="content" v-model="info.product_plan_id_n" readonly >
<input slot="content" v-model="info.product_plan_id_n" readonly />
</item>
<item>
<div slot="name" class="font-color">设备总价</div>
......@@ -147,7 +147,7 @@
</item>
<item>
<div slot="name" class="font-color">手续费比例</div>
<input slot="content" v-model="info.lease_charge_ratio_n" readonly >
<input slot="content" v-model="info.lease_charge_ratio_n" readonly />
</item>
<item>
<div slot="name" class="font-color">手续费</div>
......@@ -173,15 +173,15 @@
</item>
<item>
<div slot="name" class="font-color">还款周期</div>
<input slot="content" v-model="info.annual_pay_times_n" readonly >
<input slot="content" v-model="info.annual_pay_times_n" readonly />
</item>
<item>
<div slot="name" class="font-color">租赁期数</div>
<input slot="content" v-model="info.lease_times" readonly >
<input slot="content" v-model="info.lease_times" readonly />
</item>
<item>
<div slot="name" class="font-color">年利率</div>
<input slot="content" v-model="info.int_rate_n" readonly >
<input slot="content" v-model="info.int_rate_n" readonly />
</item>
</list-item>
<div class="repay-plan">
......@@ -194,21 +194,21 @@
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">设备识别号</div>
<input slot="content" v-model="info.product_code" readonly >
<input slot="content" v-model="info.product_code" readonly />
</item>
<item>
<div slot="name" class="font-color">产品名称</div>
<input slot="content" v-model="info.product_name" readonly >
<input slot="content" v-model="info.product_name" readonly />
</item>
<item>
<div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="info.product_num" readonly >
<input slot="content" v-model="info.product_num" readonly />
</item>
</list-item>
<div class="alert alert-fund">
<div class="alert-content">
<div class="title">
<img src="@/assets/intoApproval/info.png" >
<img src="@/assets/intoApproval/info.png" />
<span class="info-word">提示</span>
</div>
<p class="top-info">
......@@ -218,16 +218,16 @@
</div>
</div>
</h-content>
<bottom-tab v-if="con_confirm_status!=='APPROVED'" class="add-box">
<bottom-tab v-if="con_confirm_status !== 'APPROVED'" class="add-box">
<tab-button class="before" @click.native="takePhonto">
<img src="@/assets/constractSigning/certification.png" >征信签约
<img src="@/assets/constractSigning/certification.png" />征信签约
</tab-button>
<tab-button class="next" @click.native="inSure">
<img src="@/assets/intoApproval/approve.png" >提交审核
<img src="@/assets/intoApproval/approve.png" />提交审核
</tab-button>
</bottom-tab>
<h-modal
v-if="con_confirm_status!=='APPROVED'"
v-if="con_confirm_status !== 'APPROVED'"
ref="modal"
v-model="showModalValue"
position="bottom"
......@@ -238,17 +238,17 @@
<div class="approveBottom">
<span>
审批意见
<img src="@/assets/intoApproval/close1.png" @click="showModalValue=false" >
<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 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 class="same" @click.native="showModalValue = true; charge('同意', 'APPROVED')">
<img src="@/assets/intoApproval/approve.png" />同意
</tab-button>
</bottom-tab>
</h-view>
......@@ -275,7 +275,7 @@ export default {
LegalPerson,
// bodyCheck,
},
data () {
data() {
return {
pages: 0,
pdfDoc: null,
......@@ -330,7 +330,7 @@ export default {
computed: {},
watch: {
$route (to, from) {
$route(to, from) {
hlsPopup.hideConfirm()
},
// ischecked: function (newVal, oldVal) {
......@@ -341,7 +341,7 @@ export default {
// appro.style.backgroundColor = 'rgba(56, 63, 69, 0.5)'
// }
// },
bp_class () {
bp_class() {
if (this.bp_class === 'NP') {
this.bp_flag = false
// this.getBseMsg()
......@@ -350,7 +350,7 @@ export default {
}
},
},
beforeRouteEnter (to, from, next) {
beforeRouteEnter(to, from, next) {
next(vm => {
if (from.name === 'ContractSigning') {
// vm.$refs.body.hideBody()
......@@ -390,10 +390,10 @@ export default {
}
})
},
activated () {
activated() {
// this.bankCardQuery()
},
mounted () {
mounted() {
if (this.con_confirm_status !== 'APPROVED') {
// this.popProtocol()
}
......@@ -410,7 +410,7 @@ export default {
}, */
methods: {
// 签约校验
async signCheck () {
async signCheck() {
let vm = this
hlsPopup.showLoading('请稍候')
let url = process.env.basePath + 'sign_check'
......@@ -427,7 +427,7 @@ export default {
return false
}
},
async goContent (item, index) {
async goContent(item, index) {
// 详情
// 合同状态更新保存
let vm = this
......@@ -458,7 +458,7 @@ export default {
}
},
// 合同文本详情附件查询
getAttachment () {
getAttachment() {
let vm = this
let url = process.env.basePath + 'get_content_app'
let param = {
......@@ -477,7 +477,7 @@ export default {
})
},
// 征信授权书
getBook () {
getBook() {
let vm = this
let url = process.env.basePath + 'get_content_app'
let param = {
......@@ -500,17 +500,17 @@ export default {
}
})
},
_renderPage (num) {
_renderPage(num) {
this.pdfDoc.getPage(num).then((page) => {
let canvas = document.getElementById('the-canvas' + num)
console.log(canvas)
let ctx = canvas.getContext('2d')
let dpr = window.devicePixelRatio || 1
let bsr = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1
let ratio = dpr / bsr
let viewport = page.getViewport(screen.availWidth / page.getViewport(1).width)
canvas.width = viewport.width * ratio
......@@ -528,7 +528,7 @@ export default {
}
})
},
_loadFile (url) {
_loadFile(url) {
console.log('URL ==== ' + url)
PDFJS.getDocument(url).then((pdf) => {
this.pdfDoc = pdf
......@@ -540,7 +540,7 @@ export default {
})
},
// 征信查询
creditCheck () {
creditCheck() {
let vm = this
let url = process.env.basePath + 'bp_credit_check'
let param = {
......@@ -558,7 +558,7 @@ export default {
})
},
goElectronicSign () { // 电子签
goElectronicSign() { // 电子签
let vm = this
let url = process.env.basePath + 'get_sign_url'
let param = {
......@@ -580,7 +580,7 @@ export default {
}
})
},
charge (val, status) {
charge(val, status) {
let vm = this
this.hlsPopup.showConfirm({
title: '提示',
......@@ -593,7 +593,7 @@ export default {
},
})
},
async takePhonto () {
async takePhonto() {
let vm = this
vm.goElectronicSign()
},
......@@ -634,7 +634,7 @@ export default {
// })
// },
// 图片上传
uploadImg (img) {
uploadImg(img) {
let vm = this
vm.faceListUpload = []
let obj = {
......@@ -650,7 +650,7 @@ export default {
vm.save_picture(vm.faceListUpload)
},
// 确认签约逻辑
doConfirm (status) {
doConfirm(status) {
let vm = this
let url = process.env.basePath + 'do_confrim_bp'
let param = {
......@@ -673,7 +673,7 @@ export default {
})
},
// 图片保存
save_picture (list) {
save_picture(list) {
// alert('list' + JSON.stringify(list))
let vm = this
if (list.length) {
......@@ -713,11 +713,11 @@ export default {
}
},
// 授权书勾选
select () {
select() {
this.ischecked = !this.ischecked
},
// 授权书同意
confirm () {
confirm() {
this.ischecked ? (this.isConfirm = true) : (this.isConfirm = false)
let vm = this
let url = $config.basePath + 'prj_content_status_save'
......@@ -736,7 +736,7 @@ export default {
})
},
// 担保人
getGuarantor () {
getGuarantor() {
let vm = this
let url = $config.basePath + 'prj_guarantor_list_query'
let param = {
......@@ -750,11 +750,11 @@ export default {
}
})
},
dateConverse (date) {
dateConverse(date) {
return date.replace(/\//g, '-')
},
// 租赁信息
getLease () {
getLease() {
let vm = this
let url = $config.basePath + 'prj_lease_query'
let param = {
......@@ -769,7 +769,7 @@ export default {
})
},
// 基本信息
getBseMsg () {
getBseMsg() {
let vm = this
let url = ''
let url1 = $config.basePath + 'prj_np_info_query'
......@@ -792,7 +792,7 @@ export default {
})
},
// 合同列表查询
getContractLists () {
getContractLists() {
let vm = this
let url = $config.basePath + 'prj_contract_text_query'
let param = {
......@@ -808,7 +808,7 @@ export default {
})
},
// 还款计划
repayPlan () {
repayPlan() {
this.$router.push({
name: 'ContractRepayPlan',
params: {
......@@ -818,7 +818,7 @@ export default {
})
},
// 跳转合同详情
goContractContent (name) {
goContractContent(name) {
this.$router.push({
name: 'ContractContent',
params: {
......@@ -837,7 +837,7 @@ export default {
}
},
// 跳转银行信息录入
entryInfo () {
entryInfo() {
let idCard = ''
if (this.baseInfo.auth_flag) {
this.baseInfo.auth_flag === '是'
......@@ -860,7 +860,7 @@ export default {
},
})
},
async inSure () {
async inSure() {
let flag = await this.signCheck()
if (flag) {
// 只有认证通过后方可进行签约操作
......@@ -880,7 +880,7 @@ export default {
},
// 银行卡查询
bankCardQuery () {
bankCardQuery() {
let vm = this
let url = $config.basePath + 'con_bank_query'
let param = {
......@@ -909,16 +909,16 @@ export default {
</script>
<style lang="less" rel="stylesheet">
#contract-details {
.outer{
width:259px;
height:370px;
.outer {
width: 259px;
height: 370px;
background-color: #fff;
overflow-y: scroll;
overflow-x:hidden;
.canvas{
position: relative;
z-index: 0;
}
overflow-x: hidden;
.canvas {
position: relative;
z-index: 0;
}
}
.sign-elect {
......@@ -1360,7 +1360,7 @@ export default {
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content:center;
-webkit-justify-content: center;
background: rgb(254, 251, 233);
img {
width: 22px;
......@@ -1411,14 +1411,14 @@ export default {
position: relative;
width: 301px;
height: 467px;
top:-67px;
top: -67px;
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
img{
img {
position: absolute;
z-index: 999;
width:301px;
width: 301px;
}
button {
width: 240px;
......
......@@ -7,7 +7,7 @@
</div>
</h-header>
<div class="tab-style has-header">
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
<img :src="num === 1 ? check1 : uncheck1" />
<span>待确认</span>
</div>
......@@ -80,10 +80,7 @@
<span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>
</div>
<button class="cancel" @click="cancelRadio">× 取消批量</button>
<button
class="sign"
@click="signContract"
>签订电子合同</button>
<button class="sign" @click="signContract">签订电子合同</button>
</div>
<button v-show="num == 1 && !isRadio" class="go-radio" @click="isRadio = true">
......@@ -188,21 +185,21 @@ export default {
methods: {
signContract() {
let list = this.showLists.filter(item => item.checked);
if(!list.length) return hlsPopup.showLongCenter('请选择合同');
if (!list.length) return hlsPopup.showLongCenter('请选择合同');
window.localStorage.setItem('handleContact', JSON.stringify(list));
this.$router.push({ path: '/batchSign', query: { name: 'confirmList'}});
this.$router.push({ path: '/batchSign', query: { name: 'contract' } });
},
clickRadio(item) {
item.checked = !item.checked;
this.chooseAll = this.showLists.every(item => item.checked);
},
allChoose(status) {
this.chooseAll = status;
allChoose(status) {
this.chooseAll = status;
this.showLists = this.showLists.map(item => {
item.checked = status;
return item;
});
});
},
cancelRadio() {
this.isRadio = false; // 关闭多选菜单
......@@ -512,7 +509,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
font-size: 0.15rem;
font-size: 0.25rem;
img {
width: 16px;
margin-right: 4px;
......@@ -715,6 +712,10 @@ export default {
.scrollContent {
padding-top: 3.8rem;
}
.check-bottom {
bottom: 32px;
}
}
}
}
......@@ -739,6 +740,10 @@ export default {
color: #888c8f;
}
}
.check-bottom {
bottom: 32px;
}
}
}
}
......
......@@ -668,7 +668,7 @@ export default {
let vm = this
let url = process.env.basePath + 'prj_cdd_check_update'
let param = {
document_id: window.localStorage.bp_id,
document_id: JSON.parse(window.localStorage.getItem('handleUser')).bp_id,
tab_group: 'HLS_ORG_AUTH',
}
vm.hlsPopup.showLoading('请稍候')
......
......@@ -14,7 +14,7 @@
<!-- <div :class="['top',(multipleRole!=='GUTA'&&user_bp_type!=='GUTA')?'has':'antiHas']" style="margin-top:-1px;"> -->
<div class="top" style="margin-top: -1px">
<div class="card-top" :style="{height: nowBind.bp_type==='MANAGER'?'170px' : '2.4rem'}">
<div class="card-top" :style="{height: nowBind.bp_type==='MANAGER'?'3.4rem' : '2.4rem'}">
<img :src="upLoadObj" @click="checkType" />
<div class="sign">
<span>{{ user_phone }}</span>
......
......@@ -30,9 +30,10 @@
:class="['normal', { unbind: item.bp_status === 'APPROVED' }]"
@click.stop="doStatus(item)"
>
<span
<!-- <span
style="font-size: .3rem;"
>{{ item.bp_status === 'APPROVED' ? '×' : '' }}</span>
>{{ item.bp_status === 'APPROVED' ? '×' : '' }}</span> -->
<img v-if="item.bp_status === 'APPROVED'" src="../../assets/login/cha.png" alt="cha">
{{ item.bp_status === 'APPROVED' ? ' 解绑' : item.bp_status === 'NEW' ? '待提交' : item.bp_status_n }}
</div>
</div>
......@@ -369,6 +370,14 @@ export default {
.normal {
background-color: #1d3fff;
color: white;
display: flex;
justify-content: center;
align-items: center;
img {
height: 12px;
margin-right: 3px;
}
}
.unbind {
......
......@@ -117,7 +117,7 @@ export default {
let vm = this
let url = process.env.basePath + 'payment_prj_list_query'
let param = {
bp_id: window.localStorage.getItem('bp_id'),
bp_id: JSON.parse(window.localStorage.getItem('now_user_bp_bind_id')).bp_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
......
......@@ -208,7 +208,7 @@ export default {
'&index' +
`'${randomString}'`
let param = {
bp_id: window.localStorage.getItem('bp_id'),
bp_id: JSON.parse(window.localStorage.getItem('now_user_bp_bind_id')).bp_id,
searchInput: vm.keyWords,
}
hlsPopup.showLoading('请稍候')
......
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,width=device-width,viewport-fit=cover"><meta name=format-detection content="telephone=no"><meta name=format-detection content="email=no"><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=black><script type=text/javascript src=./static/vuePlatform.js></script><script type=text/javascript src=./static/prototype.js></script><script type=text/javascript src=./cordova.js></script><script type=text/javascript src="http://api.map.baidu.com/api?v=2.0&ak=Eoo0EtfjYCdAy7r8D19gZ0vMojdZpHqU"></script><title>徐工金服</title><link href=./static/css/app.e7e2377302829c9967e8db68dae2bfee.css rel=stylesheet></head><body><div id=app-box></div><script type=text/javascript src=./static/js/manifest.0220c1f499aeb5db00f1.js></script><script type=text/javascript src=./static/js/vendor.ab3a82a5a65cc1afd48b.js></script><script type=text/javascript src=./static/js/app.dea6ba33c7164ae80cb8.js></script></body></html>
\ No newline at end of file
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