Commit c35db9a0 authored by linxin's avatar linxin

add

parent fc95f762
......@@ -44,14 +44,10 @@
<span>{{ item.pay_method }}</span>
</p>
<div class="name">
<p>应还金额</p>
<p>已还金额</p>
</div>
<div class="number">
<span>{{ item.due_amount|currency }}</span>
<span
<p>应还金额<span>已还金额</span></p>
<p>{{ item.due_amount|currency }}<span
:class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}"
>{{ item.received_amount|currency }}</span>
>{{ item.received_amount|currency }}</span></p>
</div>
</div>
......@@ -70,32 +66,7 @@ export default {
// 已结清 black , 逾期 orange , 还款中 blue , 未还款 green
statu: 'orange',
info: {},
lists: [
{
due_amount: '48800',
cf_item: '2',
cf_item_name: '首付款',
received_amount: '0',
pay_method: '自主还款',
repayment_date: '2019/10/17',
},
{
due_amount: '4000',
cf_item: '3',
cf_item_name: '手续费',
received_amount: '400',
pay_method: '代扣',
repayment_date: '2020/10/12',
},
{
due_amount: '400',
cf_item: '14',
cf_item_name: 'gps费用',
received_amount: '200',
pay_method: '自主还款',
repayment_date: '2021/10/19',
},
],
lists: [],
}
},
beforeRouteEnter (to, from, next) {
......@@ -105,8 +76,7 @@ export default {
},
methods: {
selectMonth (e) {
let arr = e.split('/')
return `${arr[1]}-${arr[2]}`
return e.substring(5, 10)
},
selectYear (e) {
return e.substring(0, 4)
......@@ -253,8 +223,10 @@ export default {
font-size: 13px;
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0;
display: flex;
justify-content: space-between;
span {
margin-left: 20px;
// margin-left: 20px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4b4a4b;
......@@ -285,21 +257,10 @@ export default {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4b4a4b;
float: left;
display: flex;
justify-content: space-between;
p {
margin-top: 17px;
}
}
.number {
text-align: right;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4b4a4b;
float: right;
p {
margin-bottom: 17px;
}
span {
display: block;
margin-top: 18px;
......@@ -319,6 +280,7 @@ export default {
}
}
}
}
.or {
background-color: rgba(253, 182, 47, 0.05);
......
......@@ -36,7 +36,7 @@
</item>
<item>
<div slot="name">租赁物数量</div>
<div slot="content">{{ detailInfo.product_num }}</div>
<div slot="content">{{ detailInfo.lease_num }}</div>
</item>
</list-item>
......@@ -88,7 +88,7 @@ export default {
division_n: '',
total_price: '',
product_plan_id_n: '',
product_num: '',
lease_num: '',
},
lists: [{
'lease_item_car_num': 'GH',
......
......@@ -139,7 +139,7 @@
</item>
<item>
<div slot="name">租赁物数量</div>
<input slot="content" v-model="detail.product_num" readonly="read" placeholder="请输入租赁物数量" >
<input slot="content" v-model="detail.lease_num" readonly="read" placeholder="请输入租赁物数量" >
</item>
</list-item>
<div class="userInfo">设备清单</div>
......@@ -156,7 +156,7 @@
</div>
<div class="center">
<span>租赁物信息</span>
<span class="status">已维护</span>
<span :class="['status',item.lease_status === 'Y'?'unMantain':'mantain']">{{ item.lease_status === 'Y'?'已维护':'待维护' }}</span>
<p>
参数项
<span>{{ item.product_code }}</span>
......@@ -292,7 +292,7 @@ export default {
departure_date: '',
},
detail: {
product_num: '',
lease_num: '',
first_pay: '',
gps_fee: '',
bp_name: '',
......@@ -365,7 +365,6 @@ export default {
save () {
let vm = this
let url = process.env.basePath + 'leases_info_save'
this.info.date = this.showDate
let param = {
master: this.info,
}
......@@ -787,10 +786,17 @@ export default {
font-size: 12px;
color: #ffffff;
letter-spacing: 0;
background-color: #1d3fff;
margin-left: 21px;
margin-top: 12px;
}
.unMantain{
background-color: #1d3fff;
}
.mantain{
background-color: #FFF;
border:1px solid #1d3fff;
color: #1d3fff;
}
p {
font-family: PingFangSC-Regular;
font-size: 13px;
......
......@@ -18,19 +18,21 @@
<div class="upLoad-box">
<span>添加图片说明</span>
<div class="file-content">
<div class="file">
<img src="@/assets/help/1.jpg" >
<div
v-for="(item, index) in upload_list"
v-if="item.check_id==list.check_id"
:key="index"
class="file"
>
<img :src="item.picture" @click="showBigPicture(item.picture)" >
<div class="close" @click="remove_pic(item.attachment_id,index)">
<img src="@/assets/userBind/deleteIcon.png" >
</div>
<div class="file">
<img src="@/assets/help/1.jpg" >
</div>
<div class="file">
<!-- <div class="file">
<img src="@/assets/help/1.jpg" >
</div>
<div class="file">
<img src="@/assets/help/1.jpg" >
</div>
<div class="file">
</div> -->
<div class="file" @click="imgUploadShow(check_id)">
<img class="photo" src="@/assets/help/photo.png" >
</div>
</div>
......@@ -44,10 +46,209 @@
</h-view>
</template>
<script>
export default {}
export default {
data () {
return {
chck_id: '',
upload_list: [], // 上传图片列表
}
},
methods: {
// 图片上传入口
imgUploadShow (check_id) {
let vm = this
// vm.upload_list = []
hlsPopup.showActionSheet({
titleText: '请选择照片',
buttonArray: ['拍照', '从相册取'],
callback: index => {
if (index === 0) {
vm.imgUploadOpenCamera(check_id)
} else {
vm.imgUploadTakePicture(check_id)
}
},
})
},
imgUploadOpenCamera (check_id) {
let vm = this
let obj = {
'pkvalue': check_id,
'source_type': 'PRJ_CDD_ITEM_CHECK',
'picture': '',
'check_id': check_id,
'filePath': '',
'attachment_id': '',
'user_id': 1,
'fileName': '',
}
let cameraoptions = {
quality: 100,
}
let success = function (imgdata) {
obj.picture = imgdata
obj.filePath = imgdata
let list = []
list.push(obj)
// vm.upload_list.push(obj)
// 拍完一张立马执行保存图片逻辑
vm.save_picture(list)
}
let error = function () {
hlsPopup.showLongCenter('请拍照')
}
hlsUtil.openCamera(cameraoptions, success, error)
},
imgUploadTakePicture (check_id) {
let vm = this
let cameraoptions = {
quality: 100,
}
let success = function (imgUrl) {
var list = []
for (let i = 0; i < imgUrl.length; i++) {
let obj = {
'pkvalue': check_id,
'source_type': 'PRJ_CDD_ITEM_CHECK',
'picture': '',
'check_id': check_id,
'filePath': '',
'attachment_id': '',
'user_id': 1,
'fileName': '',
}
obj.picture = imgUrl[i]
obj.filePath = imgUrl[i]
list.push(obj)
}
// 拍完一张立马执行保存图片逻辑
vm.save_picture(list)
}
let error = function () {
}
vm.hlsUtil.takePicture(cameraoptions, success, error)
},
openCamera (ocrType, type) {
let vm = this
let cameraoptions = {
quality: 60,
width: 1843,
height: 1382,
}
let success = function (imgdata) {
if (!imgdata) {
hlsPopup.showLongCenter('请拍照')
}
}
let error = function () {
hlsPopup.showLongCenter('请拍照')
}
hlsUtil.openCamera(cameraoptions, success, error)
},
takePicture (ocrType, type) {
let vm = this
var cameraoptions = {
quality: 70,
width: 1843,
height: 1382,
maxCount: 1,
}
let success = function (imgUrl) {
if (imgUrl.length === 0) {
hlsPopup.showLongCenter('请选择一张图片')
}
}
let error = function () {
hlsPopup.showLongCenter(error)
}
vm.hlsUtil.takePicture(cameraoptions, success, error)
},
save_picture (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.upload_list.push(list[j])
break
}
}
} else {
hlsPopup.hideLoading()
}
}
if (!list[i].attachment_id) {
attLength++
hlsUtil.fileUploadSvc(list[i], uploadSuccess)
}
}
} else {
hlsPopup.hideLoading()
}
},
// 查看大图
showBigPicture (pic) {
let vm = this
vm.hlsPopup.showBigPicture({
imgUrl: pic,
width: '100% !important',
})
},
// 移除图片
remove_pic (attachment_id, index) {
let vm = this
var delete_list = []
let obj = {'attachment_id': attachment_id}
delete_list.push(obj)
let url = process.env.basePath + 'app_delete_attment' // 附件删除
let param = {
'picturelist': delete_list,
}
hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
hlsPopup.hideLoading()
if (res.result === 'S') {
hlsPopup.showLongCenter('删除成功!')
vm.remove_upload_list(attachment_id, index)
} else if (res.result === 'E') {
hlsPopup.showShortCenter(res.message)
}
})
},
remove_upload_list (attachment_id, index) {
let vm = this
vm.upload_list.remove(index)
vm.upload_list.sort()
},
},
}
</script>
<style lang="less" scoped>
#help-detail {
.close {
position: relative;
color: #f96f68;
margin-top: -100%;
margin-left: -10%;
img {
width: 14px;
height: 14px;
}
}
textarea::placeholder {
font-family: PingFangSC-Regular;
font-size: 13px;
......
......@@ -154,6 +154,10 @@ export default {
}
.question {
background-color: #ffffff;
border-radius: 2px;
width:359px;
margin:0 auto;
margin-top:8px;
.question-top {
height: 44px;
line-height: 44px;
......
......@@ -51,7 +51,7 @@
<img src="@/assets/myInfo/unConfirm.png" >
<p>待确认</p>
</div> -->
<div class="content-wrap">
<div class="content-wrap" @click="goVideoSign">
<span
:class="{'content-wrap-class-width':vedioCount>99, 'content-wrap-class':vedioCount<99}"
>{{ vedioCount > 99 ? '99+' : vedioCount }}</span>
......@@ -155,10 +155,12 @@ export default {
}
},
bp_identity (newVal, oldVal) {
if (newVal === 'NP_NO' || newVal === 'ORG_NO' || newVal === 'ORG_L_NO' || newVal === 'ORG_AUTH_NO ') {
if (newVal === 'NP_NO' || newVal === 'ORG_NO' || newVal === 'ORG_L_NO' || newVal === 'ORG_AUTH_NO') {
this.elecStatus = false
} else {
} else if (newVal === 'NP_OK' || newVal === 'ORG_YES' || newVal === 'ORG_L_YES' || newVal === 'ORG_AUTH_YES') {
this.elecStatus = true
} else {
this.elecStatus = false
}
},
},
......@@ -251,6 +253,11 @@ export default {
name: 'ConfirmList',
})
},
goVideoSign () {
this.$router.push({
name: 'VideoSign',
})
},
changeHelp () {
this.$router.push({
name: 'HelpList',
......@@ -262,14 +269,22 @@ export default {
})
},
changePay () {
if (window.sessionStorage.getItem('bp_id') !== 'undefined') {
this.$router.push({
name: 'FirstPay',
})
} else {
hlsPopup.showLongCenter('请先进行用户绑定')
}
},
changeRent () {
if (window.sessionStorage.getItem('bp_id') !== 'undefined') {
this.$router.push({
name: 'NewList',
})
} else {
hlsPopup.showLongCenter('请先进行用户绑定')
}
},
updateVersion () {
if (vum.Platform.isAndroid()) {
......@@ -522,6 +537,7 @@ export default {
height: 206px;
background: url("../../assets/myInfo/back.png") no-repeat;
background-size: 100% 206px;
background-color: #efefef;
.header {
background-color: rgba(0, 0, 0, 0);
.top-word {
......@@ -572,9 +588,9 @@ export default {
width: 359px;
height: 121px;
margin: 0 auto;
margin-top: 82px;
background-color: #fff;
border-radius: 4px;
margin-top:22%;
}
.userInfo {
height: 45px;
......
......@@ -135,7 +135,7 @@
</item>
<item>
<div slot="name" class="required">手机号码</div>
<input slot="content" readonly v-model="baseInfo.cell_phone" placeholder="请输入手机号码" >
<input slot="content" v-model="baseInfo.cell_phone" readonly placeholder="请输入手机号码" >
</item>
<item :showArrow="true">
<div slot="name" class="required">省份</div>
......@@ -887,8 +887,8 @@ export default {
var recordUploadInterval = setInterval(function () {
if (alreadyUploadNum === attLength) {
clearInterval(recordUploadInterval)
/*hlsPopup.hideLoading()
hlsPopup.showLongCenter('图片上传成功')*/
/* hlsPopup.hideLoading()
hlsPopup.showLongCenter('图片上传成功') */
}
}, 500)
for (var i = 0; i < list.length; i++) {
......
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-25 11:10:34
* @LastEditTime: 2019-09-25 21:05:24
* @LastEditors: Please set LastEditors
-->
<template>
<div class="tab-style">
<div :class="{'tab-content-bg':tabNum == 0}" class="tab-content" @click="tabNum = 0;sendTabNum()"><img :src="tabNum == 0?signed:sign"><span
:class="{'colored':tabNum == 0}">待面签</span></div>
<div :class="{'tab-content-bg':tabNum == 1}" class="tab-content" @click="tabNum = 1;sendTabNum()"><img :src="tabNum == 1?finished:finish"><span
:class="{'colored':tabNum == 1}">已面签</span></div>
</div>
</template>
<script>
import signed from '@/assets/distributorSign/icon-signed.png'
import finished from '@/assets/distributorSign/icon-finished.png'
import sign from '@/assets/distributorSign/icon-sign.png'
import finish from '@/assets/distributorSign/icon-finish.png'
export default {
props: {
'fatherTabNum': {
type: Number,
},
},
data () {
return {
tabNum: 0,
signed: signed,
finished: finished,
sign: sign,
finish: finish,
}
},
watch: {
'fatherTabNum': {
handler (newVal, oldVal) {
this.tabNum = newVal
},
},
},
methods: {
sendTabNum () {
this.$emit('getTabNum', this.tabNum)
},
},
}
</script>
<style lang="less" scoped>
.tab-style {
position: relative;
z-index: 50;
background-color: #fff;
display: flex;
justify-content: center;
padding-top: 12px;
padding-bottom: 8px;
align-items: center;
box-shadow: 0 2px 3px 0 rgba(220, 220, 221, 0.50);
.tab-content {
display: block;
width: 45.9%;
height: 32px;
background: rgba(220, 220, 221, 0.26);
border-radius: 16px;
display: flex;
justify-content: center;
align-items: center;
span {
margin-left: 2%;
font-size: 14px;
color: #383F45;
font-weight: 600;
font-family: PingFangSC-Semibold;
}
.colored {
color: #1D3FFF
}
}
.tab-content-bg{
background: rgba(0,70,156,0.10);
}
img {
width:16px;
height: 16px;
// margin-right:5.7px;
}
.tab-content:nth-of-type(2) {
margin-left: 7px;
}
}
</style>
<template>
<h-view id="startList">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
<span>视屏面签</span>
</div>
</h-header>
<Tab :fatherTabNum="tabNum" @getTabNum="getTabNum" />
<div class="search">
<input placeholder="请输入进件号/承租人名称" >
</div>
<h-content class="my-content">
<scroll ref="scroll" :updateData="[contructs]" :pullUp="true" class="scroll">
<div v-for="(item,index) in showList" :key="index" class="item">
<div class="left">
<span>
<img src="@/assets/contractStart/icon.png" >
</span>
</div>
<div class="right">
<div class="right-top">
<span>进件号</span>
<span>{{ item.project_number }}</span>
</div>
<div class="right-bottom">
<ul>
<li>
承租人
<span>{{ item.bp_name }}</span>
</li>
<li>
已还租金
<span>{{ item.division_n }}</span>
</li>
<li>
预约面试时间
<span class="number">{{ item.total_price }}</span>
</li>
<li>
<p v-if="item.leases_status ==='N'" class="to-unSign" @click="toSign">
<img src="@/assets/videoSign/unSign.png" >&nbsp;视屏面签
</p>
<p v-if="item.leases_status ==='Y'" class="to-sign" @click="toWatch">
<img src="@/assets/videoSign/sign.png" >&nbsp;视屏回放
</p>
</li>
</ul>
</div>
</div>
</div>
</scroll>
</h-content>
</h-view>
</template>
<script>
import Tab from '@/pages/videoSign/tab'
export default {
components: {
Tab,
},
data () {
return {
tabNum: 0,
isSign: false,
contructs: [],
lists: [],
showList: [],
undo: [],
done: [],
}
},
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'MyInfo') {
vm.getList()
}
})
},
watch: {
tabNum: {
handler (newVal, oldVal) {
if (newVal === 0) {
this.showList = this.undo
} else if (newVal === 1) {
this.showList = this.done
}
},
immediate: true,
},
},
created () {},
methods: {
selectShowList () {
let vm = this
vm.undo = []
vm.done = []
vm.tabNum = 0
vm.undo = vm.lists.filter(i => {
return i.leases_status === 'N'
})
vm.done = vm.lists.filter(i => {
return i.leases_status === 'Y'
})
this.showList = this.undo
},
getTabNum (i) {
this.tabNum = i
},
toSign () {
hlsPopup.showLongCenter('敬请期待')
},
toWatch () {
hlsPopup.showLongCenter('敬请期待')
},
getList () {
this.lists = [
{
bp_name: '刘淼',
total_price: '2019-01-01',
project_number: 'PRJ2019174',
project_id: '49737',
division_n: '平地机',
leases_status: 'Y',
},
{
bp_name: '陈泽华',
total_price: '2019-01-01',
project_number: 'PRJ2019168',
project_id: '49680',
division_n: '平地机',
leases_status: 'N',
},
{
bp_name: '陈泽华',
total_price: '2019-01-01',
project_number: 'PRJ2019160',
project_id: '49494',
division_n: '平地机',
leases_status: 'N',
},
{
bp_name: '郭云龙',
total_price: '2019-01-01',
project_number: 'PRJ2019170',
project_id: '49711',
division_n: '平地机',
leases_status: 'N',
},
]
this.selectShowList()
// let vm = this
// let url = process.env.basePath + 'car_apply_list_query'
// let param = {
// user_phone: window.localStorage.getItem('user_phone'),
// }
// hlsPopup.showLoading('请稍候')
// vm.$post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
// vm.lists = res.lists
// vm.selectShowList()
// } else {
// hlsPopup.showLongCenter(res.message)
// }
// })
},
},
}
</script>
<style lang="less" scoped>
#startList {
.search {
height: 52px;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
input {
width: 351px;
height: 36px;
line-height: 36px;
text-indent: 16px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #21254c;
letter-spacing: 0;
border-radius: 4px;
background: url("../../assets/contractStart/search1.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
}
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
letter-spacing: 0;
}
input:focus {
background: url("../../assets/contractStart/search2.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
border: 2px solid #bcc6ff;
}
}
.my-content {
background-color: #efefef;
.scroll {
background-color: #efefef;
margin-top: 10px;
}
.item {
width: 359px;
height: 189px;
background-color: #fff;
border-radius: 2px;
margin: 0 auto;
margin-top: 9px;
.left {
width: 15%;
height: 100%;
float: left;
span {
display: block;
width: 30px;
height: 30px;
background-color: #e8e9ed;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-left: 10px;
margin-top: 8px;
img {
width: 11px;
height: 14px;
}
}
}
.right {
height: 100%;
width: 85%;
float: right;
.right-top {
width: 285px;
height: 45px;
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4b4a4b;
letter-spacing: 0;
line-height: 45px;
border-bottom: 1px solid #f3f3f7;
span:last-child {
float: right;
}
}
.right-bottom {
width: 285px;
margin-top: 10px;
.to-unSign {
float: right;
width: 96px;
height: 30px;
background: rgba(29, 63, 255, 0.1);
border-radius: 4px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #1d3fff;
letter-spacing: 0;
display: flex;
justify-content: center;
align-items: center;
img {
width: 17.6px;
}
}
.to-sign {
float: right;
width: 96px;
height: 30px;
background: rgba(33, 37, 76, 0.1);
border-radius: 4px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #21254c;
letter-spacing: 0;
display: flex;
justify-content: center;
align-items: center;
img {
width: 17.6px;
}
}
.number {
font-family: Verdana-Bold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
font-weight: bold;
}
li {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
height: 30px;
width: 100%;
span {
float: right;
}
}
}
}
}
}
}
</style>
......@@ -100,6 +100,9 @@ import RepayPlans from '@/pages/contractInquire/repay-plans'
import DrawbackList from '@/pages/drawback/drawback-list'
import DrawbackDetail from '@/pages/drawback/drawback-detail'
// 视屏面签
import VideoSign from '@/pages/videoSign/video-list'
Vue.use(Router)
export default new Router({
......@@ -246,7 +249,8 @@ export default new Router({
// 业务退款
{path: '/drawback-list', component: DrawbackList, name: 'DrawbackList', meta: {keepAlive: false}},
{path: '/drawback-detail', component: DrawbackDetail, name: 'DrawbackDetail', meta: {keepAlive: false}},
// 视屏面签
{path: '/video-sign', component: VideoSign, name: 'VideoSign', meta: {keepAlive: true}},
],
scrollBehavior (to, from, savedPosition) {
......
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