抖火综法
This commit is contained in:
@@ -80,6 +80,45 @@ const oderinfo = (order_id, order_type) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 创建补差价订单
|
||||||
|
const orderDiff = (order_type, order_id, price) => {
|
||||||
|
return request({
|
||||||
|
url : 'synthesis/diff_prices/create',
|
||||||
|
data : {
|
||||||
|
order_type,
|
||||||
|
order_id,
|
||||||
|
price
|
||||||
|
},
|
||||||
|
method : 'POST'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 补差价列表
|
||||||
|
const orderDiffList = (order_id, order_type) => {
|
||||||
|
return request({
|
||||||
|
url : 'synthesis/diff_prices',
|
||||||
|
data : {
|
||||||
|
order_type,
|
||||||
|
order_id,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取消补差价
|
||||||
|
const orderDiffCancel = (diff_price_id) => {
|
||||||
|
return request({
|
||||||
|
url : 'synthesis/diff_prices/' + diff_price_id,
|
||||||
|
method : 'DELETE'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 补差价详情
|
||||||
|
const orderDiffInfo = (diff_price_id) => {
|
||||||
|
return request({
|
||||||
|
url : 'synthesis/diff_prices/' + diff_price_id,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
servicesOrder,
|
servicesOrder,
|
||||||
synthesisOrder,
|
synthesisOrder,
|
||||||
@@ -89,5 +128,9 @@ export {
|
|||||||
synthesisInfo,
|
synthesisInfo,
|
||||||
entrustInfo,
|
entrustInfo,
|
||||||
expandInfo,
|
expandInfo,
|
||||||
oderinfo
|
oderinfo,
|
||||||
|
orderDiff,
|
||||||
|
orderDiffList,
|
||||||
|
orderDiffCancel,
|
||||||
|
orderDiffInfo
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,19 @@ const sign = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取综法订单统计
|
||||||
|
const synthesisCount = () => {
|
||||||
|
return request({
|
||||||
|
url : 'synthesis/data/orders_count',
|
||||||
|
data : {
|
||||||
|
channel : 'manage'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
index,
|
index,
|
||||||
rights,
|
rights,
|
||||||
sign
|
sign,
|
||||||
|
synthesisCount
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="order-btns">
|
<view class="order-btns">
|
||||||
<button class="btn-cancel" @click="onOPay(no)">支付</button>
|
<button class="btn-cancel" @click="onPhone(user.username)">联系TA</button>
|
||||||
|
<button class="btn-cancel" @click="onSing(no)" v-if="can.sign && isSelf">签约</button>
|
||||||
|
<button class="btn-cancel" :class="{'in': can.pay_status == 3}" v-if="can.pay_status == 1 || can.pay_status == 2 || can.pay_status == 3" @click="onOPay(no)">
|
||||||
|
<text v-if="can.pay_status == 1">支付</text>
|
||||||
|
<text v-if="can.pay_status == 2">审核中</text>
|
||||||
|
<text v-if="can.pay_status == 3">被驳回</text>
|
||||||
|
</button>
|
||||||
|
<button class="btn-cancel" v-if="can.diff_price" @click="onDiff(no)">补差价</button>
|
||||||
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -45,6 +52,10 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
isSelf: {
|
||||||
|
type : Boolean,
|
||||||
|
default : false
|
||||||
|
},
|
||||||
no : {
|
no : {
|
||||||
type : String,
|
type : String,
|
||||||
default : ''
|
default : ''
|
||||||
@@ -84,14 +95,34 @@
|
|||||||
default : () => {
|
default : () => {
|
||||||
return { name: '' }
|
return { name: '' }
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
can: {
|
||||||
|
typeof: Object,
|
||||||
|
default : () => {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 订单签约
|
||||||
|
onSing(id){
|
||||||
|
this.$emit('sing', id)
|
||||||
|
},
|
||||||
|
// 订单详情
|
||||||
onInfo(id){
|
onInfo(id){
|
||||||
this.$emit('info', id)
|
this.$emit('info', id)
|
||||||
},
|
},
|
||||||
|
// 联系客户
|
||||||
onPhone(mobile){
|
onPhone(mobile){
|
||||||
this.$emit('callPhone', mobile)
|
this.$emit('callPhone', mobile)
|
||||||
|
},
|
||||||
|
// 补差价支付
|
||||||
|
onDiff(id){
|
||||||
|
this.$emit('diff', id)
|
||||||
|
},
|
||||||
|
// 支付
|
||||||
|
onOPay(id){
|
||||||
|
this.$emit('pay', id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,7 +132,7 @@
|
|||||||
// 列表模块
|
// 列表模块
|
||||||
.order-block{
|
.order-block{
|
||||||
background: white;
|
background: white;
|
||||||
margin: 30rpx;
|
margin: 0 30rpx 30rpx 30rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
&-header{
|
&-header{
|
||||||
border-bottom: solid 1rpx #eee;
|
border-bottom: solid 1rpx #eee;
|
||||||
@@ -112,7 +143,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
line-height: 70rpx;
|
line-height: 70rpx;
|
||||||
.order-no{ font-size: 28rpx; color: #111; }
|
.order-no{ font-size: 28rpx; color: #111; }
|
||||||
.order-state{ color: #353EF4; font-weight: bold; font-size: 30rpx; }
|
.order-state{ color: #446EFE; font-weight: bold; font-size: 30rpx; }
|
||||||
}
|
}
|
||||||
&-content{
|
&-content{
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
@@ -142,10 +173,11 @@
|
|||||||
padding-top: 30rpx;
|
padding-top: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 150rpx; font-size: 30rpx; }
|
button{ margin: 0; padding: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 135rpx; font-size: 30rpx; }
|
||||||
button::after{ display: none; }
|
button::after{ display: none; }
|
||||||
button.btn-cancel{ margin-right: 20rpx; color: #353EF4; border:solid 1rpx #353EF4; background: white; line-height: 68rpx; box-sizing: border-box; }
|
button.btn-cancel{ margin-right: 20rpx; color: #446EFE; border:solid 1rpx #446EFE; background: white; line-height: 68rpx; box-sizing: border-box; }
|
||||||
button.btn-sign{ background: #353EF4; color: white; }
|
button.btn-cancel.in{ opacity: .8; }
|
||||||
|
button.btn-sign{ background: #446EFE; color: white; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,13 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="order-btns">
|
<view class="order-btns">
|
||||||
<button class="btn-cancel" @click="onOPay(no)">支付</button>
|
<button class="btn-cancel" @click="onPhone(user.username)">联系TA</button>
|
||||||
|
<button class="btn-cancel" :class="{'in': can.pay_status == 3}" v-if="can.pay_status == 1 || can.pay_status == 2 || can.pay_status == 3" @click="onOPay(no)">
|
||||||
|
<text v-if="can.pay_status == 1">支付</text>
|
||||||
|
<text v-if="can.pay_status == 2">审核中</text>
|
||||||
|
<text v-if="can.pay_status == 3">被驳回</text>
|
||||||
|
</button>
|
||||||
|
<button class="btn-cancel" v-if="can.diff_price" @click="onDiff(no)">补差价</button>
|
||||||
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -79,6 +85,12 @@
|
|||||||
type : Number,
|
type : Number,
|
||||||
default : 0
|
default : 0
|
||||||
},
|
},
|
||||||
|
can: {
|
||||||
|
type : Object,
|
||||||
|
default : () => {
|
||||||
|
return { }
|
||||||
|
}
|
||||||
|
},
|
||||||
lawyer: {
|
lawyer: {
|
||||||
type : Object,
|
type : Object,
|
||||||
default : () => {
|
default : () => {
|
||||||
@@ -87,11 +99,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 订单详情
|
||||||
onInfo(id){
|
onInfo(id){
|
||||||
this.$emit('info', id)
|
this.$emit('info', id)
|
||||||
},
|
},
|
||||||
|
// 联系客户
|
||||||
onPhone(mobile){
|
onPhone(mobile){
|
||||||
this.$emit('callPhone', mobile)
|
this.$emit('callPhone', mobile)
|
||||||
|
},
|
||||||
|
// 补差价支付
|
||||||
|
onDiff(id){
|
||||||
|
this.$emit('diff', id)
|
||||||
|
},
|
||||||
|
// 支付
|
||||||
|
onOPay(id){
|
||||||
|
this.$emit('pay', id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,7 +123,7 @@
|
|||||||
// 列表模块
|
// 列表模块
|
||||||
.order-block{
|
.order-block{
|
||||||
background: white;
|
background: white;
|
||||||
margin: 30rpx;
|
margin: 0 30rpx 30rpx 30rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
&-header{
|
&-header{
|
||||||
border-bottom: solid 1rpx #eee;
|
border-bottom: solid 1rpx #eee;
|
||||||
@@ -112,7 +134,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
line-height: 70rpx;
|
line-height: 70rpx;
|
||||||
.order-no{ font-size: 28rpx; color: #111; }
|
.order-no{ font-size: 28rpx; color: #111; }
|
||||||
.order-state{ color: #353EF4; font-weight: bold; font-size: 30rpx; }
|
.order-state{ color: #446EFE; font-weight: bold; font-size: 30rpx; }
|
||||||
}
|
}
|
||||||
&-content{
|
&-content{
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
@@ -142,10 +164,11 @@
|
|||||||
padding-top: 30rpx;
|
padding-top: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 150rpx; font-size: 30rpx; }
|
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 135rpx; font-size: 30rpx; padding: 0; }
|
||||||
button::after{ display: none; }
|
button::after{ display: none; }
|
||||||
button.btn-cancel{ margin-right: 20rpx; color: #353EF4; border:solid 1rpx #353EF4; background: white; line-height: 68rpx; box-sizing: border-box; }
|
button.btn-cancel{ margin-right: 20rpx; color: #446EFE; border:solid 1rpx #446EFE; background: white; line-height: 68rpx; box-sizing: border-box; }
|
||||||
button.btn-sign{ background: #353EF4; color: white; }
|
button.btn-cancel.in{ opacity: .8; }
|
||||||
|
button.btn-sign{ background: #446EFE; color: white; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="order-btns">
|
<view class="order-btns">
|
||||||
<button class="btn-cancel" @click="onOPay(no)">支付</button>
|
<button class="btn-cancel" @click="onPhone(user.username)">联系TA</button>
|
||||||
|
<button class="btn-cancel" @click="onSing(no)" v-if="can.sign && isSelf">签约</button>
|
||||||
|
<button class="btn-cancel" :class="{'in': can.pay_status == 3}" v-if="can.pay_status == 1 || can.pay_status == 2 || can.pay_status == 3" @click="onOPay(no)">
|
||||||
|
<text v-if="can.pay_status == 1">支付</text>
|
||||||
|
<text v-if="can.pay_status == 2">审核中</text>
|
||||||
|
<text v-if="can.pay_status == 3">被驳回</text>
|
||||||
|
</button>
|
||||||
|
<button class="btn-cancel" v-if="can.diff_price" @click="onDiff(no)">补差价</button>
|
||||||
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -45,6 +52,10 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
isSelf: {
|
||||||
|
type : Boolean,
|
||||||
|
default : false,
|
||||||
|
},
|
||||||
no : {
|
no : {
|
||||||
type : String,
|
type : String,
|
||||||
default : ''
|
default : ''
|
||||||
@@ -80,12 +91,32 @@
|
|||||||
default : () => {
|
default : () => {
|
||||||
return { name: '' }
|
return { name: '' }
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
can: {
|
||||||
|
type : Object,
|
||||||
|
default : () => {
|
||||||
|
return { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 订单签约
|
||||||
|
onSing(id){
|
||||||
|
this.$emit('sing', id)
|
||||||
|
},
|
||||||
|
// 订单详情
|
||||||
onInfo(id){
|
onInfo(id){
|
||||||
this.$emit('info', id)
|
this.$emit('info', id)
|
||||||
},
|
},
|
||||||
|
// 联系客户
|
||||||
|
onPhone(mobile){
|
||||||
|
this.$emit('callPhone', mobile)
|
||||||
|
},
|
||||||
|
// 补差价支付
|
||||||
|
onDiff(id){
|
||||||
|
this.$emit('diff', id)
|
||||||
|
},
|
||||||
|
// 支付
|
||||||
onOPay(id){
|
onOPay(id){
|
||||||
this.$emit('pay', id)
|
this.$emit('pay', id)
|
||||||
}
|
}
|
||||||
@@ -97,7 +128,7 @@
|
|||||||
// 列表模块
|
// 列表模块
|
||||||
.order-block{
|
.order-block{
|
||||||
background: white;
|
background: white;
|
||||||
margin: 30rpx;
|
margin: 0 30rpx 30rpx 30rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
&-header{
|
&-header{
|
||||||
border-bottom: solid 1rpx #eee;
|
border-bottom: solid 1rpx #eee;
|
||||||
@@ -108,7 +139,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
line-height: 70rpx;
|
line-height: 70rpx;
|
||||||
.order-no{ font-size: 28rpx; color: #111; }
|
.order-no{ font-size: 28rpx; color: #111; }
|
||||||
.order-state{ color: #353EF4; font-weight: bold; font-size: 30rpx; }
|
.order-state{ color: #446EFE; font-weight: bold; font-size: 30rpx; }
|
||||||
}
|
}
|
||||||
&-content{
|
&-content{
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
@@ -138,10 +169,10 @@
|
|||||||
padding-top: 30rpx;
|
padding-top: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 150rpx; font-size: 30rpx; }
|
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 135rpx; font-size: 30rpx; }
|
||||||
button::after{ display: none; }
|
button::after{ display: none; }
|
||||||
button.btn-cancel{ margin-right: 20rpx; color: #353EF4; border:solid 1rpx #353EF4; background: white; line-height: 68rpx; box-sizing: border-box; }
|
button.btn-cancel{ margin-right: 20rpx; color: #446EFE; border:solid 1rpx #446EFE; background: white; line-height: 68rpx; box-sizing: border-box; }
|
||||||
button.btn-sign{ background: #353EF4; color: white; }
|
button.btn-sign{ background: #446EFE; color: white; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="order-btns">
|
<view class="order-btns">
|
||||||
<button class="btn-cancel" @click="onOPay(no)">支付</button>
|
<button class="btn-cancel" @click="onPhone(user)">联系TA</button>
|
||||||
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
<button class="btn-sign" @click="onInfo(no)">查看</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -72,7 +72,12 @@
|
|||||||
this.$emit('info', id)
|
this.$emit('info', id)
|
||||||
},
|
},
|
||||||
onPhone(mobile){
|
onPhone(mobile){
|
||||||
|
console.log(mobile)
|
||||||
|
|
||||||
this.$emit('callPhone', mobile)
|
this.$emit('callPhone', mobile)
|
||||||
|
},
|
||||||
|
onSing(id){
|
||||||
|
this.$emit('info', id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -82,7 +87,7 @@
|
|||||||
// 列表模块
|
// 列表模块
|
||||||
.order-block{
|
.order-block{
|
||||||
background: white;
|
background: white;
|
||||||
margin: 30rpx;
|
margin: 0 30rpx 30rpx 30rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
&-header{
|
&-header{
|
||||||
border-bottom: solid 1rpx #eee;
|
border-bottom: solid 1rpx #eee;
|
||||||
@@ -119,10 +124,10 @@
|
|||||||
padding-top: 30rpx;
|
padding-top: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 150rpx; font-size: 30rpx; }
|
button{ margin: 0; height: 70rpx; line-height: 70rpx; border-radius: 35rpx; min-width: 135rpx; padding: 0; font-size: 30rpx; }
|
||||||
button::after{ display: none; }
|
button::after{ display: none; }
|
||||||
button.btn-cancel{ margin-right: 20rpx; color: #353EF4; border:solid 1rpx #353EF4; background: white; line-height: 68rpx; box-sizing: border-box; }
|
button.btn-cancel{ margin-right: 20rpx; color: #446EFE; border:solid 1rpx #446EFE; background: white; line-height: 68rpx; box-sizing: border-box; }
|
||||||
button.btn-sign{ background: #353EF4; color: white; }
|
button.btn-sign{ background: #446EFE; color: white; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
38
pages.json
38
pages.json
@@ -701,10 +701,46 @@
|
|||||||
"name": "EntrustWrite",
|
"name": "EntrustWrite",
|
||||||
"auth": true,
|
"auth": true,
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "案件委托-服务包",
|
"navigationBarTitleText": "案件委托-",
|
||||||
"enablePullDownRefresh": false,
|
"enablePullDownRefresh": false,
|
||||||
"backgroundColor": "#FFF"
|
"backgroundColor": "#FFF"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/synthesize/standWrite",
|
||||||
|
"name": "StandWrite",
|
||||||
|
"auth": true,
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "企业全年法律-购买",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"backgroundColor": "#FFF"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/synthesize/expandWrite",
|
||||||
|
"name": "ExpandWrite",
|
||||||
|
"auth": true,
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "拓展服务-",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"backgroundColor": "#FFF"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/synthesize/difference",
|
||||||
|
"name": "Difference",
|
||||||
|
"auth": true,
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "订单补差价",
|
||||||
|
"enablePullDownRefresh": false
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/synthesize/feeWrite",
|
||||||
|
"name": "FeeWrite",
|
||||||
|
"auth": true,
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "个人法律咨询",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#FFF"
|
||||||
|
}
|
||||||
|
|
||||||
}],
|
}],
|
||||||
"globalStyle": {
|
"globalStyle": {
|
||||||
"navigationBarTextStyle": "black",
|
"navigationBarTextStyle": "black",
|
||||||
|
|||||||
@@ -39,19 +39,6 @@
|
|||||||
<image class="cover-item-add" src="@/static/icons/img_add.png" mode="aspectFill"></image>
|
<image class="cover-item-add" src="@/static/icons/img_add.png" mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="form-input">
|
|
||||||
<label>打款金额</label>
|
|
||||||
<input type="digit" maxlength="20" v-model="price" placeholder="请输入打款金额">
|
|
||||||
</view>
|
|
||||||
<view class="form-input">
|
|
||||||
<label>汇款姓名</label>
|
|
||||||
<input type="text" maxlength="8" v-model="name" placeholder="请输入打款人姓名">
|
|
||||||
</view>
|
|
||||||
<view class="form-input form-upd">
|
|
||||||
<label>打款凭证</label>
|
|
||||||
<image class="form-upd-img" @click="albumClick" :src="showpath || '/static/imgs/cover_img.png'" mode="aspectFill"></image>
|
|
||||||
</view> -->
|
|
||||||
<view class="idcardBtn">
|
<view class="idcardBtn">
|
||||||
<button class="idcardBtn-go" @click="issueForm">确认提交</button>
|
<button class="idcardBtn-go" @click="issueForm">确认提交</button>
|
||||||
</view>
|
</view>
|
||||||
@@ -182,7 +169,7 @@
|
|||||||
onBack(){
|
onBack(){
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title : '提示',
|
title : '提示',
|
||||||
content : '打款凭证已提交,请耐心等待审核',
|
content : '打款凭证已提交,请耐心等待审核,通过后请前往工作台综法订单管理中进行签约',
|
||||||
showCancel : false,
|
showCancel : false,
|
||||||
success : modalRes => {
|
success : modalRes => {
|
||||||
if(modalRes.confirm){
|
if(modalRes.confirm){
|
||||||
|
|||||||
@@ -241,7 +241,7 @@
|
|||||||
clearInterval(outTime)
|
clearInterval(outTime)
|
||||||
wx.showModal({
|
wx.showModal({
|
||||||
title : '提示',
|
title : '提示',
|
||||||
content : '支付成功',
|
content : this.$Route.query.paytype === 'synthesize' ? '支付成功,可在工作台综法订单管理查询您的订单' : '支付成功',
|
||||||
showCancel : false,
|
showCancel : false,
|
||||||
confirmColor: '#446EFE',
|
confirmColor: '#446EFE',
|
||||||
success : () => {
|
success : () => {
|
||||||
|
|||||||
289
pages/synthesize/difference.vue
Normal file
289
pages/synthesize/difference.vue
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<form class="diff-from" @submit="onDiff">
|
||||||
|
<label>补差价金额(元)</label>
|
||||||
|
<input placeholder="输入补差价金额" name="price" type="digit" />
|
||||||
|
<button form-type="submit">确认补差价</button>
|
||||||
|
</form>
|
||||||
|
<view class="diff-list">
|
||||||
|
<view class="diff-title">补差价记录</view>
|
||||||
|
<view class="diff-item" v-for="(item, index) in diffArr" :key="index">
|
||||||
|
<view class="diff-info">
|
||||||
|
<view class="diff-info-item">
|
||||||
|
<label>差价金额:</label>
|
||||||
|
<view class="nowrap">{{item.price}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="diff-info-item">
|
||||||
|
<label>订单状态:</label>
|
||||||
|
<view class="nowrap">{{item.status.text}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="diff-info-item">
|
||||||
|
<label>创建时间:</label>
|
||||||
|
<view class="nowrap">{{item.created_at}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="diff-state border-solid" v-if="item.can.pay_status != 5 && item.can.pay_status != 7">
|
||||||
|
<view class="diff-btn" v-if="item.can.cancel" @click="onCancel(item.synthesis_diff_price_id, index)">取消订单</view>
|
||||||
|
<view class="diff-btn in" @click="onListPay(item)" :class="{'hide': item.can.pay_status == 2 || item.can.pay_status == 4}">
|
||||||
|
<text v-if="item.can.pay_status == 1">立即支付</text>
|
||||||
|
<text v-if="item.can.pay_status == 2 || item.can.pay_status == 4">审核中</text>
|
||||||
|
<text v-if="item.can.pay_status == 3 || item.can.pay_status == 6">被驳回</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 分页 -->
|
||||||
|
<u-loadmore v-if="pagesShow" :status="status" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { orderDiff, orderDiffList, orderDiffCancel, orderDiffInfo } from '@/apis/interfaces/synthesisOrder'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
orderId : '', // 支付ID
|
||||||
|
orderType : '', // 支付类型
|
||||||
|
price : '', // 支付价格
|
||||||
|
diffArr : [], // 支付记录
|
||||||
|
page : {}, // 分页信息
|
||||||
|
pagesShow : false,// 是否显示分页
|
||||||
|
status : '' // 分页状态
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取补差价列表
|
||||||
|
getList(){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
// 初始化分页
|
||||||
|
this.page = {
|
||||||
|
current: 1
|
||||||
|
}
|
||||||
|
// 获取补差价列表
|
||||||
|
let { orderId, ordertype } = this.$Route.query
|
||||||
|
orderDiffList(orderId, ordertype.replace(/\-/g, '\\'), this.page.current).then(res => {
|
||||||
|
let { data, page } = res
|
||||||
|
this.diffArr = page.current == 1 ? data: this.diffArr.concat(data)
|
||||||
|
this.page = page
|
||||||
|
this.pagesShow = !page.has_more
|
||||||
|
this.status = page.has_more ? 'loading' : 'nomore'
|
||||||
|
uni.hideLoading()
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 创建补差价订单
|
||||||
|
onDiff(e){
|
||||||
|
let { price } = e.detail.value
|
||||||
|
let { orderId, ordertype } = this.$Route.query
|
||||||
|
if( price == '' || price <= 0 ){
|
||||||
|
uni.showToast({
|
||||||
|
title: '金额需大于0元并不能为空',
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
orderDiff(ordertype.replace(/\-/g, '\\'), orderId, price ).then(res => {
|
||||||
|
let { synthesis_diff_price_id, order_type, can, price } = res;
|
||||||
|
this.onPay( synthesis_diff_price_id, order_type, can, price )
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 取消补差价
|
||||||
|
onCancel(id, index){
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '确认取消当前补差价订单吗?',
|
||||||
|
success : res => {
|
||||||
|
if(res.confirm){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
orderDiffCancel(id).then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
this.diffArr.splice(index, 1)
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 列表补差价
|
||||||
|
onListPay(obj){
|
||||||
|
let { synthesis_diff_price_id, order_type, can, price, remark, offline_pays } = obj
|
||||||
|
if(can.pay_status == 2 || can.pay_status == 4){
|
||||||
|
uni.showToast({
|
||||||
|
title: '补差价信息正在审核中',
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(can.pay_status == 3 || can.pay_status == 6){
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '驳回原因:' + remark,
|
||||||
|
showCancel : false,
|
||||||
|
success : res => {
|
||||||
|
if(res.confirm && can.pay_status == 3){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
payId : payId,
|
||||||
|
orderId : offline_pays.offline_pay_id,
|
||||||
|
orderType : order_type.replace(/\\/g, '-'),
|
||||||
|
price : price,
|
||||||
|
type : 'edit'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
this.onPay(synthesis_diff_price_id, order_type, can, price)
|
||||||
|
},
|
||||||
|
// 差价支付
|
||||||
|
onPay(id, type, can, price){
|
||||||
|
this.orderId = id
|
||||||
|
this.orderType = type
|
||||||
|
this.price = price
|
||||||
|
// 仅支持线下打款
|
||||||
|
if(!can.online){
|
||||||
|
this.onToBankPay()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 选择线上、下支付方式
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['线上支付', '线下支付'],
|
||||||
|
success: sheetRes => {
|
||||||
|
if(sheetRes.tapIndex == 0){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'Pay',
|
||||||
|
params: {
|
||||||
|
paytype : 'synthesize',
|
||||||
|
orderId : id,
|
||||||
|
orderType : type.replace(/\\/g, '-')
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.onToBankPay()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去线下打款
|
||||||
|
onToBankPay(){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
orderId : this.orderId,
|
||||||
|
orderType : this.orderType.replace(/\\/g, '-'),
|
||||||
|
price : this.price
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
this.pagesShow = true;
|
||||||
|
if(this.page.has_more){
|
||||||
|
this.page.current++
|
||||||
|
this.getList()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.content{
|
||||||
|
background: #f8f8f8;
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 1rpx 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
// 差价列表
|
||||||
|
.diff-list{
|
||||||
|
padding: 0 30rpx;
|
||||||
|
.diff-title{ font-size: 30rpx; color: gray; line-height: 60rpx; margin-bottom: 20rpx; }
|
||||||
|
.diff-item{
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
.diff-info{
|
||||||
|
padding: 30rpx;
|
||||||
|
.diff-info-item{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
line-height: 60rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
label{ color: gray; width: 200rpx; }
|
||||||
|
view{ text-align: right; width: calc(100% - 200rpx); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.diff-state{
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-end;
|
||||||
|
&::after{ top: 0; }
|
||||||
|
.diff-btn{
|
||||||
|
border:solid 1rpx $main-color;
|
||||||
|
color: $main-color;
|
||||||
|
font-size: 30rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
border-radius: 36rpx;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
&.in{
|
||||||
|
background: $main-color;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
&.hide{
|
||||||
|
opacity: .7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 创建补差价
|
||||||
|
.diff-from{
|
||||||
|
background: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin: 30rpx;
|
||||||
|
padding: 50rpx;
|
||||||
|
display: block;
|
||||||
|
label{ line-height: 70rpx; text-align: center; font-weight: bold; font-size: 30rpx; display: block; }
|
||||||
|
input{ text-align: center; font-size: 40rpx; height: 100rpx; @extend .border-solid; margin: 30rpx 0 50rpx; }
|
||||||
|
button{ background-color: $main-color; color: white; font-size: 32rpx; height: 90rpx; line-height: 90rpx; border-radius: 10rpx; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -6,9 +6,9 @@
|
|||||||
<view class="title-name"><text>企业法律咨询服务包</text></view>
|
<view class="title-name"><text>企业法律咨询服务包</text></view>
|
||||||
<view class="title-text">legal advice</view>
|
<view class="title-text">legal advice</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item" :class="{active : item.service_order != null}" v-for="(item, index) in synthesisArr" :key="index">
|
<view class="item" :class="{active : item.is_open}" v-for="(item, index) in synthesisArr" :key="index">
|
||||||
<view class="endedAt" v-if="item.service_order">
|
<view class="endedAt" v-if="item.is_open">
|
||||||
<view class="endedAt-time">到期时间:{{item.service_order.ended_at}}</view>
|
<view class="endedAt-time">到期时间:{{item.service_user.ended_at}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="top-title">{{item.title}}</view>
|
<view class="top-title">{{item.title}}</view>
|
||||||
|
|||||||
@@ -78,13 +78,13 @@
|
|||||||
mask : true
|
mask : true
|
||||||
})
|
})
|
||||||
entrustInfo(this.$Route.query.id).then(res => {
|
entrustInfo(this.$Route.query.id).then(res => {
|
||||||
let { entrust, params, created_at, user, order_no, price } = res;
|
let { entrust, params, created_at, user, order_no, total } = res;
|
||||||
this.entrust = entrust
|
this.entrust = entrust
|
||||||
this.params = params
|
this.params = params
|
||||||
this.createdAt = created_at
|
this.createdAt = created_at
|
||||||
this.user = user
|
this.user = user
|
||||||
this.no = order_no
|
this.no = order_no
|
||||||
this.price = price
|
this.price = total
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err.message,
|
title: err.message,
|
||||||
|
|||||||
@@ -77,13 +77,13 @@
|
|||||||
mask : true
|
mask : true
|
||||||
})
|
})
|
||||||
expandInfo(this.$Route.query.id).then(res => {
|
expandInfo(this.$Route.query.id).then(res => {
|
||||||
let { expand, params, created_at, user, order_no, price } = res;
|
let { expand, params, created_at, user, order_no, total } = res;
|
||||||
this.expand = expand
|
this.expand = expand
|
||||||
this.params = params
|
this.params = params
|
||||||
this.createdAt = created_at
|
this.createdAt = created_at
|
||||||
this.user = user
|
this.user = user
|
||||||
this.no = order_no
|
this.no = order_no
|
||||||
this.price = price
|
this.price = total
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
|
||||||
console.log(err)
|
console.log(err)
|
||||||
|
|||||||
430
pages/synthesize/expandWrite.vue
Normal file
430
pages/synthesize/expandWrite.vue
Normal file
@@ -0,0 +1,430 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="top">
|
||||||
|
<view class="top-cont">
|
||||||
|
<view class="top-cont-name">法律服务拓展包</view>
|
||||||
|
<view class="top-cont-text">请仔细填写以下信息</view>
|
||||||
|
</view>
|
||||||
|
<image class="top-img" src="https://cdn.douhuofalv.com/images/2023/04/20/2ea5fc20ffc90e7feec7ba2650b81c99.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBorder">
|
||||||
|
<!-- 表单部分 -->
|
||||||
|
<view class="idcardAdd-block">
|
||||||
|
<block v-for="(item, keyIndex) in paramsArr" :key="keyIndex">
|
||||||
|
<block v-if="item.pre_key == null || isShow(item)">
|
||||||
|
<view class="idcardAdd-block-name">
|
||||||
|
<view class="idcardAdd-block-see">
|
||||||
|
<text v-if="item.is_required == 1">*</text>{{item.title}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 单输入框 -->
|
||||||
|
<!-- <view class="idcardAdd-block-write" v-if="item.type === 'price' || item.type === 'number' || item.type === 'text' || item.type === 'password' || item.type === 'mobile' || item.type === 'day'">
|
||||||
|
<mouldInput class="idcardAdd-input" :blur-value="item.value" :input-type="item.type" :input-title="item.title" :input-key="item.key" @onValue="($event) => {item.value = $event}"></mouldInput>
|
||||||
|
</view> -->
|
||||||
|
<!-- 单输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'text'">
|
||||||
|
<input class="idcardAdd-input" type="text" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'number' || item.type === 'mobile' || item.type === 'day'">
|
||||||
|
<input class="idcardAdd-input" type="number" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 价格输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'price'">
|
||||||
|
<input class="idcardAdd-input" type="digit" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 密码输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'password'">
|
||||||
|
<input class="idcardAdd-input" type="safe-password" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 下拉框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'select'">
|
||||||
|
<picker class="idcardAdd-picker" :range="item.options" :value="item.value" @change="item.value = $event.detail.value">
|
||||||
|
<view class="nowrap">
|
||||||
|
<!-- {{item.options[item.value]}} -->
|
||||||
|
{{item.options[item.value]}}
|
||||||
|
</view>
|
||||||
|
<image class="idcardAdd-picke-image" src="@/static/imgs/basic_down.png" mode="aspectFill"></image>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 多选 -->
|
||||||
|
<view class="idcardAdd-aline" v-if="item.type === 'checkbox'">
|
||||||
|
<checkbox-group @change="item.value = $event.detail.value">
|
||||||
|
<label class="checkbox-item" v-for="(checkboxItem, checkboxIndex) in item.options">
|
||||||
|
<checkbox class="checkbox-input" :value="checkboxIndex" color="#446EFE"></checkbox>{{checkboxItem}}
|
||||||
|
</label>
|
||||||
|
</checkbox-group>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 单选 -->
|
||||||
|
<view class="idcardAdd-aline" v-if="item.type === 'radio'">
|
||||||
|
<radio-group @change="item.value = $event.detail.value">
|
||||||
|
<label class="idcardAdd-aline-write" v-for="(radioItem, radioIndex) in item.options" :key="radioIndex">
|
||||||
|
<radio :value="radioIndex" color="#446EFE" style="transform:scale(.65)" :checked="item.value === radioIndex" /><text>{{radioItem}}</text>
|
||||||
|
</label>
|
||||||
|
</radio-group>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 描述 -->
|
||||||
|
<view class="idcardAdd-depict-textarea" v-if="item.type === 'textarea'">
|
||||||
|
<textarea maxlength="500" class="textarea" :placeholder="'请输入' + item.title" v-model="item.value"></textarea>
|
||||||
|
<text>500字以内</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 被告所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'defendant_address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="defendantPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 目前所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="addressPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBtn">
|
||||||
|
<button class="idcardBtn-go" type="default" @click="onSubmit">确认提交</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { expandsInfo, expandsPost } from '@/apis/interfaces/synthesis'
|
||||||
|
import { createCity } from '@/apis/interfaces/user'
|
||||||
|
import mouldInput from '@/components/mould-input.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
mouldInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
paramsArr : [], // 信息
|
||||||
|
cityPicker : [], // 地址
|
||||||
|
|
||||||
|
// 目前所在地
|
||||||
|
address : {},
|
||||||
|
orderId : '', // 订单 ID
|
||||||
|
orderType : '', // 订单类型
|
||||||
|
price : '' // 订单价格
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: '拓展服务-' + this.$Route.query.title
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取综法咨询-详情
|
||||||
|
this.getBusiness();
|
||||||
|
|
||||||
|
// 省市区
|
||||||
|
createCity().then(res => {
|
||||||
|
this.cityPicker = res;
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
// 综法咨询-详情
|
||||||
|
getBusiness(){
|
||||||
|
expandsInfo(this.$Route.query.entrustId).then(res => {
|
||||||
|
let { params, price } = res;
|
||||||
|
params.map(val => {
|
||||||
|
if(val.type === 'checkbox'){
|
||||||
|
val.value = []
|
||||||
|
}else if(val.type === 'select'){
|
||||||
|
val.value = 0
|
||||||
|
}else{
|
||||||
|
val.value = ""
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.price = price
|
||||||
|
this.paramsArr = params
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 被告所在地-选择城市
|
||||||
|
defendantPicker(e){
|
||||||
|
let { value } = e.detail
|
||||||
|
let dataArr = {
|
||||||
|
province_id: value[0].value,
|
||||||
|
city_id: value[1].value
|
||||||
|
}
|
||||||
|
this.defendant = dataArr
|
||||||
|
},
|
||||||
|
|
||||||
|
// 目前所在地-选择城市
|
||||||
|
addressPicker(e){
|
||||||
|
let { value } = e.detail
|
||||||
|
let dataArr = {
|
||||||
|
province_id: value[0].value,
|
||||||
|
city_id: value[1].value
|
||||||
|
}
|
||||||
|
this.address = dataArr
|
||||||
|
},
|
||||||
|
|
||||||
|
// 提交订单数据
|
||||||
|
onSubmit(){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '提交中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
let subData = {};
|
||||||
|
let dataArr = [];
|
||||||
|
for(let val of this.paramsArr){
|
||||||
|
if(val.type === 'pro_city'){
|
||||||
|
subData[val.key] = this.address
|
||||||
|
}else{
|
||||||
|
subData[val.key] = val.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let key in subData){
|
||||||
|
dataArr.push({
|
||||||
|
key,
|
||||||
|
value: subData[key]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
expandsPost(this.$Route.query.entrustId, {
|
||||||
|
data: dataArr,
|
||||||
|
type: 'self',
|
||||||
|
channel: 'app',
|
||||||
|
user_id: ''
|
||||||
|
}).then(res => {
|
||||||
|
uni.hideLoading()
|
||||||
|
this.expressSheet(res.expand_order_id, res.order_type, res.can)
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择支付方式
|
||||||
|
expressSheet(id, type, can) {
|
||||||
|
this.orderId = id
|
||||||
|
this.orderType = type
|
||||||
|
// 仅支持线下打款
|
||||||
|
if(!can.online){
|
||||||
|
this.onToBankPay()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 选择线上、下支付方式
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['线上支付', '线下支付'],
|
||||||
|
success: sheetRes => {
|
||||||
|
if(sheetRes.tapIndex == 0){
|
||||||
|
this.$Router.replace({
|
||||||
|
name: 'Pay',
|
||||||
|
params: {
|
||||||
|
paytype : 'synthesize',
|
||||||
|
orderId : id,
|
||||||
|
orderType : type.replace(/\\/g, '-')
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.onToBankPay()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去线下打款
|
||||||
|
onToBankPay(){
|
||||||
|
this.$Router.replace({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
orderId : this.orderId,
|
||||||
|
orderType : this.orderType.replace(/\\/g, '-'),
|
||||||
|
price : this.price
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: scroll;
|
||||||
|
position: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
position: relative;
|
||||||
|
height: 180rpx;
|
||||||
|
.top-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
.top-cont {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 40rpx 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.top-cont-name {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 44rpx;
|
||||||
|
background-image: linear-gradient(to right,#f1c694, #fffbf6 42%);
|
||||||
|
-webkit-background-clip:text;
|
||||||
|
-webkit-text-fill-color:transparent;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
.top-cont-text {
|
||||||
|
font-size: 34rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardBorder {
|
||||||
|
padding: 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block {
|
||||||
|
padding: $padding + 20 $padding;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-radius: $radius;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-write {
|
||||||
|
background-color: #f7faff;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
font-size: 30rpx;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.idcardAdd-input {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picker {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picke-image {
|
||||||
|
width: 24rpx;
|
||||||
|
height: 24rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: $margin;
|
||||||
|
right: $margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-name {
|
||||||
|
margin-bottom: $margin;
|
||||||
|
display: flex;
|
||||||
|
.idcardAdd-block-see {
|
||||||
|
color: $text-color;
|
||||||
|
margin-right: $margin;
|
||||||
|
font-size: 30rpx;
|
||||||
|
text {
|
||||||
|
color: $main-color;
|
||||||
|
padding-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-aline {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
.idcardAdd-aline-write {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按钮
|
||||||
|
.idcardBtn {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 60rpx 140rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
.idcardBtn-go {
|
||||||
|
width: 100%;
|
||||||
|
background-image: linear-gradient(to bottom, #fff2d2, #f9cd9e);
|
||||||
|
color: #582700;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 36rpx;
|
||||||
|
border-radius: $radius * 3;
|
||||||
|
height: 94rpx;
|
||||||
|
line-height: 94rpx;
|
||||||
|
box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, .5);
|
||||||
|
text-align: center;
|
||||||
|
&[disabled] {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border-color: #e2e2e2;
|
||||||
|
color: #959595;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
420
pages/synthesize/feeWrite.vue
Normal file
420
pages/synthesize/feeWrite.vue
Normal file
@@ -0,0 +1,420 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="top">
|
||||||
|
<view class="top-cont">
|
||||||
|
<view class="top-cont-name">个人法律咨询</view>
|
||||||
|
<view class="top-cont-text">请仔细填写以下信息</view>
|
||||||
|
</view>
|
||||||
|
<image class="top-img" src="https://cdn.douhuofalv.com/images/2023/04/20/2ea5fc20ffc90e7feec7ba2650b81c99.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBorder">
|
||||||
|
<!-- 表单部分 -->
|
||||||
|
<view class="idcardAdd-block">
|
||||||
|
<block v-for="(item, keyIndex) in paramsArr" :key="keyIndex">
|
||||||
|
<block v-if="item.pre_key == null || isShow(item)">
|
||||||
|
<view class="idcardAdd-block-name">
|
||||||
|
<view class="idcardAdd-block-see">
|
||||||
|
<text v-if="item.is_required == 1">*</text>{{item.title}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 单输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'text'">
|
||||||
|
<input class="idcardAdd-input" type="text" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<!-- 数字类型输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'number' || item.type === 'mobile' || item.type === 'day'">
|
||||||
|
<input class="idcardAdd-input" type="number" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<!-- 价格输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'price'">
|
||||||
|
<input class="idcardAdd-input" type="digit" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<!-- 密码输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'password'">
|
||||||
|
<input class="idcardAdd-input" type="safe-password" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 下拉框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'select'">
|
||||||
|
<picker class="idcardAdd-picker" :range="item.options" :value="item.value" @change="item.value = $event.detail.value">
|
||||||
|
<view class="nowrap">
|
||||||
|
<!-- {{item.options[item.value]}} -->
|
||||||
|
{{item.options[item.value]}}
|
||||||
|
</view>
|
||||||
|
<image class="idcardAdd-picke-image" src="@/static/imgs/basic_down.png" mode="aspectFill"></image>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 多选 -->
|
||||||
|
<view class="idcardAdd-aline" v-if="item.type === 'checkbox'">
|
||||||
|
<checkbox-group @change="item.value = $event.detail.value">
|
||||||
|
<label class="checkbox-item" v-for="(checkboxItem, checkboxIndex) in item.options">
|
||||||
|
<checkbox class="checkbox-input" :value="checkboxIndex" color="#446EFE"></checkbox>{{checkboxItem}}
|
||||||
|
</label>
|
||||||
|
</checkbox-group>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 单选 -->
|
||||||
|
<view class="idcardAdd-aline" v-if="item.type === 'radio'">
|
||||||
|
<radio-group @change="item.value = $event.detail.value">
|
||||||
|
<label class="idcardAdd-aline-write" v-for="(radioItem, radioIndex) in item.options" :key="radioIndex">
|
||||||
|
<radio :value="radioIndex" color="#446EFE" style="transform:scale(.65)" :checked="item.value === radioIndex" /><text>{{radioItem}}</text>
|
||||||
|
</label>
|
||||||
|
</radio-group>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 描述 -->
|
||||||
|
<view class="idcardAdd-depict-textarea" v-if="item.type === 'textarea'">
|
||||||
|
<textarea maxlength="500" class="textarea" :placeholder="'请输入' + item.title" v-model="item.value"></textarea>
|
||||||
|
<text>500字以内</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 被告所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'defendant_address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="defendantPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 目前所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="addressPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBtn">
|
||||||
|
<button class="idcardBtn-go" type="default" @click="onSubmit">确认提交</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { synthDet, synthPost } from '@/apis/interfaces/synthesis'
|
||||||
|
import { createCity } from '@/apis/interfaces/user'
|
||||||
|
import mouldInput from '@/components/mould-input.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
mouldInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
paramsArr : [], // 信息
|
||||||
|
cityPicker : [], // 地址
|
||||||
|
// 目前所在地
|
||||||
|
address : {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取综法咨询-详情
|
||||||
|
this.getBusiness();
|
||||||
|
|
||||||
|
// 省市区
|
||||||
|
createCity().then(res => {
|
||||||
|
this.cityPicker = res;
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
isShow(){
|
||||||
|
return (item) => {
|
||||||
|
if(item.pre_key != null){
|
||||||
|
let index = this.paramsArr.findIndex(val => val.key == item.pre_key)
|
||||||
|
return item.pre_value == this.paramsArr[index].value
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
// 综法咨询-详情
|
||||||
|
getBusiness(){
|
||||||
|
synthDet(this.$Route.query.synthesisId).then(res => {
|
||||||
|
let froms = res.synthesis.params
|
||||||
|
froms.map(val => {
|
||||||
|
if(val.type === 'checkbox'){
|
||||||
|
val.value = []
|
||||||
|
}else if(val.type === 'select'){
|
||||||
|
val.value = 0
|
||||||
|
}else{
|
||||||
|
val.value = val.value || ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.paramsArr = froms
|
||||||
|
uni.hideLoading()
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 目前所在地-选择城市
|
||||||
|
addressPicker(e){
|
||||||
|
let { value } = e.detail
|
||||||
|
let dataArr = {
|
||||||
|
province_id: value[0].value,
|
||||||
|
city_id: value[1].value
|
||||||
|
}
|
||||||
|
this.address = dataArr
|
||||||
|
},
|
||||||
|
|
||||||
|
// 提交订单数据
|
||||||
|
onSubmit(){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '提交中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
|
||||||
|
let subData = {};
|
||||||
|
let dataArr = []
|
||||||
|
|
||||||
|
for(let val of this.paramsArr){
|
||||||
|
if(val.type === 'pro_city'){
|
||||||
|
subData[val.key] = this.address
|
||||||
|
}else{
|
||||||
|
subData[val.key] = val.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let key in subData){
|
||||||
|
dataArr.push({
|
||||||
|
key,
|
||||||
|
value: subData[key]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
synthPost(this.$Route.query.synthesisId, {
|
||||||
|
data : dataArr,
|
||||||
|
type : 'self',
|
||||||
|
channel : 'app',
|
||||||
|
user_id : ''
|
||||||
|
}).then(res => {
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '个人咨询单创建成功',
|
||||||
|
showCancel : false,
|
||||||
|
success : modalRes => {
|
||||||
|
if(modalRes.confirm){
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: scroll;
|
||||||
|
position: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
position: relative;
|
||||||
|
height: 180rpx;
|
||||||
|
.top-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
.top-cont {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 40rpx 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.top-cont-name {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 44rpx;
|
||||||
|
background-image: linear-gradient(to right,#f1c694, #fffbf6 42%);
|
||||||
|
-webkit-background-clip:text;
|
||||||
|
-webkit-text-fill-color:transparent;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
.top-cont-text {
|
||||||
|
font-size: 34rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardBorder {
|
||||||
|
padding: 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block {
|
||||||
|
padding: $padding + 20 $padding;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-radius: 40rpx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-depict-textarea {
|
||||||
|
background-color: #f7faff;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
.textarea {
|
||||||
|
width: 100%;
|
||||||
|
padding: $padding 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
width: 100%;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #999999;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-write {
|
||||||
|
background-color: #f7faff;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.idcardAdd-input {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picker {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picke-image {
|
||||||
|
width: 24rpx;
|
||||||
|
height: 24rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: $margin;
|
||||||
|
right: $margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-name {
|
||||||
|
margin-bottom: $margin;
|
||||||
|
display: flex;
|
||||||
|
.idcardAdd-block-see {
|
||||||
|
color: $text-color;
|
||||||
|
margin-right: $margin;
|
||||||
|
font-size: 30rpx;
|
||||||
|
text {
|
||||||
|
color: red;
|
||||||
|
padding-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// checkbox
|
||||||
|
.checkbox-item{
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
color: #999999;
|
||||||
|
line-height: 70rpx;
|
||||||
|
&:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.checkbox-input{
|
||||||
|
transform:scale(0.6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-aline {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
.idcardAdd-aline-write {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按钮
|
||||||
|
.idcardBtn {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 60rpx 140rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
.idcardBtn-go {
|
||||||
|
width: 100%;
|
||||||
|
background-image: linear-gradient(to bottom, #fff2d2, #f9cd9e);
|
||||||
|
color: #582700;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 36rpx;
|
||||||
|
border-radius: 50rpx;
|
||||||
|
height: 94rpx;
|
||||||
|
line-height: 94rpx;
|
||||||
|
box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, .5);
|
||||||
|
text-align: center;
|
||||||
|
&[disabled] {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border-color: #e2e2e2;
|
||||||
|
color: #959595;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<text v-if="item.button_status === 4">打款被驳回</text>
|
<text v-if="item.button_status === 4">打款被驳回</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 到期时间 -->
|
<!-- 到期时间 -->
|
||||||
<view class="order-at" v-if="item.button_status === 1">到期时间:{{item.service_user.ended_at}}</view>
|
<view class="order-at" v-if="item.is_open">到期时间:{{item.service_user.ended_at}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -56,13 +56,16 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { yearSynthList } from '@/apis/interfaces/synthesis'
|
import { yearSynthList } from '@/apis/interfaces/synthesis'
|
||||||
|
import { certified } from '@/apis/interfaces/user'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
synthesisArr: [],
|
synthesisArr: [], // 服务单信息
|
||||||
|
price : '' // 支付价格
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
|
|
||||||
this.yearServe();
|
this.yearServe();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -82,10 +85,12 @@
|
|||||||
// 点击开通按钮
|
// 点击开通按钮
|
||||||
onBtn(index){
|
onBtn(index){
|
||||||
let obj = this.synthesisArr[index]
|
let obj = this.synthesisArr[index]
|
||||||
|
|
||||||
console.log(obj)
|
|
||||||
|
|
||||||
switch (obj.button_status){
|
switch (obj.button_status){
|
||||||
|
case 2:
|
||||||
|
let { order_id, order_type, can, price } = obj.service_order
|
||||||
|
this.price = price
|
||||||
|
this.expressSheet(order_id, order_type, can)
|
||||||
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '打款凭证审核中,请耐心等待',
|
title: '打款凭证审核中,请耐心等待',
|
||||||
@@ -122,6 +127,45 @@
|
|||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 选择支付方式
|
||||||
|
expressSheet(id, type, can) {
|
||||||
|
this.orderId = id
|
||||||
|
this.orderType = type
|
||||||
|
// 仅支持线下打款
|
||||||
|
if(!can.online){
|
||||||
|
this.onToBankPay()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 选择线上、下支付方式
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['线上支付', '线下支付'],
|
||||||
|
success: sheetRes => {
|
||||||
|
if(sheetRes.tapIndex == 0){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'Pay',
|
||||||
|
params: {
|
||||||
|
paytype : 'synthesize',
|
||||||
|
orderId : id,
|
||||||
|
orderType : type.replace(/\\/g, '-')
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.onToBankPay()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去线下打款
|
||||||
|
onToBankPay(){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
orderId : this.orderId,
|
||||||
|
orderType : this.orderType.replace(/\\/g, '-'),
|
||||||
|
price : this.price
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</u-sticky>
|
</u-sticky>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<block v-if="orderArr.length > 0">
|
<view class="list" v-if="orderArr.length > 0">
|
||||||
<view class="list" v-for="(item, index) in orderArr" :key="index">
|
<block v-for="(item, index) in orderArr" :key="index">
|
||||||
<!-- 年费单 -->
|
<!-- 年费单 -->
|
||||||
<services-block
|
<services-block
|
||||||
v-if="$Route.query.type === 'service'"
|
v-if="$Route.query.type === 'service'"
|
||||||
@@ -23,12 +23,16 @@
|
|||||||
:user="item.user"
|
:user="item.user"
|
||||||
:time="item.created_at"
|
:time="item.created_at"
|
||||||
:service="item.service"
|
:service="item.service"
|
||||||
:price="item.price"
|
:price="item.total"
|
||||||
:lawyer="item.lawyer || {name: ''}"
|
:lawyer="item.lawyer || {name: ''}"
|
||||||
:isSelf="item.is_self"
|
:isSelf="item.is_self"
|
||||||
:payStatus="item.pay_status"
|
:payStatus="item.pay_status"
|
||||||
|
:can="item.can"
|
||||||
@info="onInfo"
|
@info="onInfo"
|
||||||
@pay="onPay"
|
@pay="onPay"
|
||||||
|
@sing="onSing"
|
||||||
|
@diff="onDiff"
|
||||||
|
@callPhone="onCallPhone"
|
||||||
/>
|
/>
|
||||||
<!-- 咨询单 -->
|
<!-- 咨询单 -->
|
||||||
<synthesis-block
|
<synthesis-block
|
||||||
@@ -51,13 +55,17 @@
|
|||||||
:user="item.user"
|
:user="item.user"
|
||||||
:time="item.created_at"
|
:time="item.created_at"
|
||||||
:status="item.status"
|
:status="item.status"
|
||||||
:price="item.price"
|
:price="item.total"
|
||||||
:diff="item.need_pay_diff_prices"
|
:diff="item.need_pay_diff_prices"
|
||||||
:lawyer="item.lawyer || {name: ''}"
|
:lawyer="item.lawyer || {name: ''}"
|
||||||
:isSelf="item.is_self"
|
:isSelf="item.is_self"
|
||||||
:payStatus="item.pay_status"
|
:payStatus="item.pay_status"
|
||||||
|
:can="item.can"
|
||||||
@info="onInfo"
|
@info="onInfo"
|
||||||
@pay="onPay"
|
@pay="onPay"
|
||||||
|
@sing="onSing"
|
||||||
|
@diff="onDiff"
|
||||||
|
@callPhone="onCallPhone"
|
||||||
/>
|
/>
|
||||||
<!-- 拓展单 -->
|
<!-- 拓展单 -->
|
||||||
<expand-block
|
<expand-block
|
||||||
@@ -66,21 +74,23 @@
|
|||||||
:user="item.user"
|
:user="item.user"
|
||||||
:time="item.created_at"
|
:time="item.created_at"
|
||||||
:expand="item.expand"
|
:expand="item.expand"
|
||||||
:price="item.price"
|
:price="item.total"
|
||||||
:status="item.status"
|
:status="item.status"
|
||||||
:diff="item.need_pay_diff_prices"
|
:diff="item.need_pay_diff_prices"
|
||||||
:lawyer="item.lawyer || {name: ''}"
|
:lawyer="item.lawyer || {name: ''}"
|
||||||
:isSelf="item.is_self"
|
:isSelf="item.is_self"
|
||||||
:payStatus="item.pay_status"
|
:payStatus="item.pay_status"
|
||||||
|
:can="item.can"
|
||||||
@info="onInfo"
|
@info="onInfo"
|
||||||
@pay="onPay"
|
@pay="onPay"
|
||||||
|
@diff="onDiff"
|
||||||
|
@callPhone="onCallPhone"
|
||||||
/>
|
/>
|
||||||
</view>
|
</block>
|
||||||
<!-- 分页 -->
|
<!-- 分页 -->
|
||||||
<u-loadmore v-if="pagesShow" :status="status" />
|
<u-loadmore v-if="pagesShow" :status="status" />
|
||||||
</block>
|
</view>
|
||||||
<block v-else>
|
<view class="null-pages" v-else>
|
||||||
<view class="null-pages">
|
|
||||||
<u-empty
|
<u-empty
|
||||||
mode="order"
|
mode="order"
|
||||||
icon="http://cdn.uviewui.com/uview/empty/order.png"
|
icon="http://cdn.uviewui.com/uview/empty/order.png"
|
||||||
@@ -88,12 +98,13 @@
|
|||||||
>
|
>
|
||||||
</u-empty>
|
</u-empty>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { certified } from '@/apis/interfaces/user.js'
|
||||||
import { servicesOrder, synthesisOrder, entrustOrder, expandOrder, orderRead } from '@/apis/interfaces/synthesisOrder.js'
|
import { servicesOrder, synthesisOrder, entrustOrder, expandOrder, orderRead } from '@/apis/interfaces/synthesisOrder.js'
|
||||||
|
import { esignUrl } from '@/apis/interfaces/synthesis.js'
|
||||||
import entrustBlock from '@/components/entrustOrder.vue'
|
import entrustBlock from '@/components/entrustOrder.vue'
|
||||||
import expandBlock from '@/components/expandOrder.vue'
|
import expandBlock from '@/components/expandOrder.vue'
|
||||||
import servicesBlock from '@/components/servicesOrder.vue'
|
import servicesBlock from '@/components/servicesOrder.vue'
|
||||||
@@ -111,6 +122,7 @@
|
|||||||
tabScroll : false,
|
tabScroll : false,
|
||||||
orderArr : [],
|
orderArr : [],
|
||||||
funName : '',
|
funName : '',
|
||||||
|
isRefresh : false, // 更新页面数据
|
||||||
// 分页
|
// 分页
|
||||||
page : {
|
page : {
|
||||||
current : 1
|
current : 1
|
||||||
@@ -175,6 +187,12 @@
|
|||||||
})
|
})
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
onShow() {
|
||||||
|
if(this.isRefresh){
|
||||||
|
this.page = { current: 1 }
|
||||||
|
this.getList()
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 切换tab
|
// 切换tab
|
||||||
onTab(e) {
|
onTab(e) {
|
||||||
@@ -185,16 +203,141 @@
|
|||||||
this.getList()
|
this.getList()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 签约
|
||||||
|
onSing(no){
|
||||||
|
let orderArr = this.orderArr
|
||||||
|
let orderObj = orderArr.find(val => val.order_no === no)
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
certified().then(res => {
|
||||||
|
let { e_sign } = res
|
||||||
|
if(!e_sign){
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '暂未实名认证,请实名后在完成签约',
|
||||||
|
cancelText : '稍后认证',
|
||||||
|
confirmText : '去认证',
|
||||||
|
success : modalRes => {
|
||||||
|
if(modalRes.confirm){
|
||||||
|
this.$Router.push({name: 'UserCertification'})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
esignUrl({
|
||||||
|
order_type : orderObj.order_type,
|
||||||
|
order_id : orderObj.order_id,
|
||||||
|
app_scheme : "doufire://",
|
||||||
|
redirect_url: getApp().globalData.signUrl,
|
||||||
|
channel : "app"
|
||||||
|
}).then(signRes => {
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'ESign',
|
||||||
|
params: {
|
||||||
|
url: signRes.sign_url
|
||||||
|
}
|
||||||
|
})
|
||||||
|
uni.hideLoading()
|
||||||
|
}).catch(signErr => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// console.log(is_)
|
||||||
|
uni.hideLoading()
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
// 支付
|
// 支付
|
||||||
onPay(no){
|
onPay(no){
|
||||||
uni.showActionSheet({
|
let orderArr = this.orderArr
|
||||||
title : '选择支付方式',
|
let orderObj = orderArr.find(val => val.order_no === no)
|
||||||
itemList: ['线下打款', '线上支付'],
|
let { can, price, order_id, order_type } = orderObj
|
||||||
success : res => {
|
|
||||||
console.log(res.tapIndex)
|
console.log(orderObj)
|
||||||
console.log(no)
|
switch(can.pay_status){
|
||||||
|
case 1:
|
||||||
|
this.expressSheet(order_id, order_type, can, price)
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
uni.showToast({
|
||||||
|
title: '打款凭证审核中,请耐心等待',
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
uni.showModal({
|
||||||
|
title : '审核被驳回',
|
||||||
|
content : '驳回原因:' + orderObj.offline_pays.remark,
|
||||||
|
showCancel : false,
|
||||||
|
success : modalRes => {
|
||||||
|
if(modalRes.confirm){
|
||||||
|
this.$Router.push({
|
||||||
|
name : 'BankPay',
|
||||||
|
params : {
|
||||||
|
payId : orderObj.offline_pays.offline_pay_id,
|
||||||
|
type : 'edit',
|
||||||
|
orderId : orderObj.order_id,
|
||||||
|
orderType : orderObj.order_type.replace(/\\/g, '-'),
|
||||||
|
price : orderObj.price
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 选择支付方式
|
||||||
|
expressSheet(id, type, can, price) {
|
||||||
|
this.price = price
|
||||||
|
this.orderId = id
|
||||||
|
this.orderType = type
|
||||||
|
// 仅支持线下打款
|
||||||
|
if(!can.online){
|
||||||
|
this.onToBankPay()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 选择线上、下支付方式
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['线上支付', '线下支付'],
|
||||||
|
success: sheetRes => {
|
||||||
|
if(sheetRes.tapIndex == 0){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'Pay',
|
||||||
|
params: {
|
||||||
|
paytype : 'synthesize',
|
||||||
|
orderId : id,
|
||||||
|
orderType : type.replace(/\\/g, '-')
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.onToBankPay()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去线下打款
|
||||||
|
onToBankPay(){
|
||||||
|
this.$Router.push({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
orderId : this.orderId,
|
||||||
|
orderType : this.orderType.replace(/\\/g, '-'),
|
||||||
|
price : this.price
|
||||||
|
},
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// 打开详情
|
// 打开详情
|
||||||
onInfo(no){
|
onInfo(no){
|
||||||
@@ -226,6 +369,18 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 补差价
|
||||||
|
onDiff(no){
|
||||||
|
let orderArr = this.orderArr
|
||||||
|
let orderObj = orderArr.find(val => val.order_no === no)
|
||||||
|
this.$Router.push({
|
||||||
|
name : 'Difference',
|
||||||
|
params : {
|
||||||
|
orderId : orderObj.order_id,
|
||||||
|
ordertype : orderObj.order_type.replace(/\\/g, '-')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 联系电话
|
// 联系电话
|
||||||
async onCallPhone(number){
|
async onCallPhone(number){
|
||||||
let result = await permision.requestAndroidPermission('android.permission.CALL_PHONE')
|
let result = await permision.requestAndroidPermission('android.permission.CALL_PHONE')
|
||||||
@@ -279,6 +434,9 @@
|
|||||||
this.getList()
|
this.getList()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
onHide() {
|
||||||
|
this.isRefresh = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -288,7 +446,7 @@
|
|||||||
// 滑块
|
// 滑块
|
||||||
.header-sticky{ padding-bottom: 12rpx; }
|
.header-sticky{ padding-bottom: 12rpx; }
|
||||||
// 列表
|
// 列表
|
||||||
.list{ overflow: hidden; }
|
.list{ overflow: hidden; padding-top: 30rpx; }
|
||||||
// 内容为空
|
// 内容为空
|
||||||
.null-pages{ height: 70vh; display: flex; align-items: center; justify-content: center; }
|
.null-pages{ height: 70vh; display: flex; align-items: center; justify-content: center; }
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
<view class="list-title-trim"></view>
|
<view class="list-title-trim"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list-item">
|
<view class="list-item">
|
||||||
<view class="list-label" v-for="(item, index) in entrustArr" :key="index" @click="$Router.push({name: 'ExpandWrite', params: {entrustId: item.expand_id}})">
|
<view class="list-label" v-for="(item, index) in entrustArr" :key="index">
|
||||||
<view class="list-label-name">
|
<view class="list-label-name">
|
||||||
{{item.title}}
|
{{item.title}}
|
||||||
</view>
|
</view>
|
||||||
<view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view>
|
<view class="list-label-price"><rich-text :nodes="item.content"></rich-text></view>
|
||||||
<view class="list-label-go">购买</view>
|
<view class="list-label-go" @click="$Router.push({name: 'ExpandWrite', params: {entrustId: item.expand_id, title: item.title}})">购买</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -77,13 +77,13 @@
|
|||||||
mask : true
|
mask : true
|
||||||
})
|
})
|
||||||
servicesInfo(this.$Route.query.id).then(res => {
|
servicesInfo(this.$Route.query.id).then(res => {
|
||||||
let { service, params, created_at, user, order_no, price } = res;
|
let { service, params, created_at, user, order_no, total } = res;
|
||||||
this.service = service
|
this.service = service
|
||||||
this.params = params
|
this.params = params
|
||||||
this.createdAt = created_at
|
this.createdAt = created_at
|
||||||
this.user = user
|
this.user = user
|
||||||
this.no = order_no
|
this.no = order_no
|
||||||
this.price = price
|
this.price = total
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err.message,
|
title: err.message,
|
||||||
|
|||||||
473
pages/synthesize/standWrite.vue
Normal file
473
pages/synthesize/standWrite.vue
Normal file
@@ -0,0 +1,473 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="top">
|
||||||
|
<view class="top-cont">
|
||||||
|
<view class="top-cont-name">法律咨询服务包</view>
|
||||||
|
<view class="top-cont-text">请仔细填写以下信息</view>
|
||||||
|
</view>
|
||||||
|
<image class="top-img" src="https://cdn.douhuofalv.com/images/2023/04/20/2ea5fc20ffc90e7feec7ba2650b81c99.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBorder">
|
||||||
|
<!-- 表单部分 -->
|
||||||
|
<view class="idcardAdd-block">
|
||||||
|
<block v-for="(item, keyIndex) in paramsArr" :key="keyIndex">
|
||||||
|
<view class="idcardAdd-block-name">
|
||||||
|
<view class="idcardAdd-block-see">
|
||||||
|
<text v-if="item.is_required == 1">*</text>{{item.title}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 单输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'text'">
|
||||||
|
<input class="idcardAdd-input" type="text" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'number' || item.type === 'mobile' || item.type === 'day'">
|
||||||
|
<input class="idcardAdd-input" type="number" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<!-- 价格输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'price'">
|
||||||
|
<input class="idcardAdd-input" type="digit" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
<!-- 密码输入框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'password'">
|
||||||
|
<input class="idcardAdd-input" type="safe-password" v-model="item.value" :placeholder="'请输入' + item.title" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 下拉框 -->
|
||||||
|
<view class="idcardAdd-block-write" v-if="item.type === 'select'">
|
||||||
|
<picker class="idcardAdd-picker" :range="item.options" :value="item.value" @change="item.value = $event.detail.value">
|
||||||
|
<view class="nowrap">
|
||||||
|
<!-- {{item.options[item.value]}} -->
|
||||||
|
{{item.options[item.value]}}
|
||||||
|
</view>
|
||||||
|
<image class="idcardAdd-picke-image" src="@/static/imgs/basic_down.png" mode="aspectFill"></image>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 单选 -->
|
||||||
|
<view class="idcardAdd-aline" v-if="item.type === 'radio'">
|
||||||
|
<radio-group @change="item.value = $event.detail.value">
|
||||||
|
<label class="idcardAdd-aline-write" v-for="(radioItem, radioIndex) in item.options" :key="radioIndex">
|
||||||
|
<radio :value="radioIndex" color="#446EFE" style="transform:scale(.65)" :checked="item.value === radioIndex" /><text>{{radioItem}}</text>
|
||||||
|
</label>
|
||||||
|
</radio-group>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 被告所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'defendant_address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="defendantPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 目前所在地 -->
|
||||||
|
<block v-if="item.type === 'pro_city' && item.key === 'address'">
|
||||||
|
<view class="idcardAdd-block-write">
|
||||||
|
<uni-data-picker
|
||||||
|
:localdata="cityPicker"
|
||||||
|
:border="false"
|
||||||
|
split="-"
|
||||||
|
placeholder="选择城市"
|
||||||
|
@change="addressPicker"
|
||||||
|
></uni-data-picker>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="idcardBtn">
|
||||||
|
<button class="idcardBtn-go" type="default" @click="onSubmit">确认提交</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { yearSynthInfo, yearSynthPost } from '@/apis/interfaces/synthesis'
|
||||||
|
import { createCity } from '@/apis/interfaces/user'
|
||||||
|
import mouldInput from '@/components/mould-input.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
mouldInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
paramsArr : [], // 信息
|
||||||
|
cityPicker : [], // 地址
|
||||||
|
|
||||||
|
// 被告所在地
|
||||||
|
defendant : {},
|
||||||
|
|
||||||
|
// 目前所在地
|
||||||
|
address : {},
|
||||||
|
orderId : '', // 订单 ID
|
||||||
|
orderType : '', // 订单类型
|
||||||
|
price : ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取综法咨询-详情
|
||||||
|
this.getBusiness();
|
||||||
|
|
||||||
|
// 省市区
|
||||||
|
createCity().then(res => {
|
||||||
|
this.cityPicker = res;
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
// 综法咨询-详情
|
||||||
|
getBusiness(){
|
||||||
|
yearSynthInfo(this.$Route.query.serveId).then(res => {
|
||||||
|
let { params, price } = res;
|
||||||
|
params.map(val => {
|
||||||
|
if(val.type === 'checkbox'){
|
||||||
|
val.value = []
|
||||||
|
}else if(val.type === 'select'){
|
||||||
|
val.value = 0
|
||||||
|
}else{
|
||||||
|
val.value = ""
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.price = price
|
||||||
|
this.paramsArr = params
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 被告所在地-选择城市
|
||||||
|
defendantPicker(e){
|
||||||
|
let { value } = e.detail
|
||||||
|
let dataArr = {
|
||||||
|
province_id: value[0].value,
|
||||||
|
city_id: value[1].value
|
||||||
|
}
|
||||||
|
this.defendant = dataArr
|
||||||
|
},
|
||||||
|
|
||||||
|
// 目前所在地-选择城市
|
||||||
|
addressPicker(e){
|
||||||
|
let { value } = e.detail
|
||||||
|
let dataArr = {
|
||||||
|
province_id: value[0].value,
|
||||||
|
city_id: value[1].value
|
||||||
|
}
|
||||||
|
this.address = dataArr
|
||||||
|
},
|
||||||
|
|
||||||
|
// 提交订单数据
|
||||||
|
onSubmit(){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '提交中...',
|
||||||
|
mask : true
|
||||||
|
})
|
||||||
|
let subData = {};
|
||||||
|
let dataArr = [];
|
||||||
|
for(let val of this.paramsArr){
|
||||||
|
if(val.type === 'pro_city'){
|
||||||
|
subData[val.key] = this.address
|
||||||
|
}else{
|
||||||
|
subData[val.key] = val.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let key in subData){
|
||||||
|
dataArr.push({
|
||||||
|
key,
|
||||||
|
value: subData[key]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
yearSynthPost(this.$Route.query.serveId, {
|
||||||
|
data: dataArr,
|
||||||
|
type: 'self',
|
||||||
|
channel: 'app',
|
||||||
|
user_id: ''
|
||||||
|
}).then(res => {
|
||||||
|
uni.hideLoading()
|
||||||
|
this.expressSheet(res.service_order_id, res.order_type, res.can )
|
||||||
|
}).catch( err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon: "none"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 选择支付方式
|
||||||
|
expressSheet(id, type, can) {
|
||||||
|
this.orderId = id
|
||||||
|
this.orderType = type
|
||||||
|
// 仅支持线下打款
|
||||||
|
if(!can.online){
|
||||||
|
this.onToBankPay()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 选择线上、下支付方式
|
||||||
|
uni.showActionSheet({
|
||||||
|
itemList: ['线上支付', '线下支付'],
|
||||||
|
success: sheetRes => {
|
||||||
|
if(sheetRes.tapIndex == 0){
|
||||||
|
this.$Router.replace({
|
||||||
|
name: 'Pay',
|
||||||
|
params: {
|
||||||
|
paytype : 'synthesize',
|
||||||
|
orderId : id,
|
||||||
|
orderType : type.replace(/\\/g, '-')
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.onToBankPay()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去线下打款
|
||||||
|
onToBankPay(){
|
||||||
|
this.$Router.replace({
|
||||||
|
name: 'BankPay',
|
||||||
|
params: {
|
||||||
|
orderId : this.orderId,
|
||||||
|
orderType : this.orderType.replace(/\\/g, '-'),
|
||||||
|
price : this.price
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: scroll;
|
||||||
|
position: fixed;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
position: relative;
|
||||||
|
height: 150rpx;
|
||||||
|
.top-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 35%;
|
||||||
|
}
|
||||||
|
.top-cont {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 40rpx 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.top-cont-name {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 44rpx;
|
||||||
|
background-image: linear-gradient(to right,#f1c694, #fffbf6 42%);
|
||||||
|
-webkit-background-clip:text;
|
||||||
|
-webkit-text-fill-color:transparent;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
.top-cont-text {
|
||||||
|
font-size: 34rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardBorder {
|
||||||
|
padding: 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block {
|
||||||
|
padding: $padding + 20 $padding;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-radius: $radius;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-write {
|
||||||
|
background-color: #f7faff;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 30rpx;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.idcardAdd-input {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picker {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-picke-image {
|
||||||
|
width: 24rpx;
|
||||||
|
height: 24rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: $margin;
|
||||||
|
right: $margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-block-name {
|
||||||
|
margin-bottom: $margin;
|
||||||
|
display: flex;
|
||||||
|
.idcardAdd-block-see {
|
||||||
|
color: $text-color;
|
||||||
|
margin-right: $margin;
|
||||||
|
font-size: 30rpx;
|
||||||
|
text {
|
||||||
|
color: $main-color;
|
||||||
|
padding-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.idcardAdd-aline {
|
||||||
|
display: flex;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按钮
|
||||||
|
.idcardBtn {
|
||||||
|
background-color: #111e4b;
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 60rpx 60rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
.idcardBtn-go {
|
||||||
|
width: 100%;
|
||||||
|
background-image: linear-gradient(to bottom, #fff2d2, #f9cd9e);
|
||||||
|
color: #582700;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 36rpx;
|
||||||
|
border-radius: $radius * 3;
|
||||||
|
height: 94rpx;
|
||||||
|
line-height: 94rpx;
|
||||||
|
box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, .5);
|
||||||
|
text-align: center;
|
||||||
|
&[disabled] {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border-color: #e2e2e2;
|
||||||
|
color: #959595;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 打款凭证弹出
|
||||||
|
.voucherBack {
|
||||||
|
position: fixed;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: 99;
|
||||||
|
background-color: rgba(0, 0, 0, .6);
|
||||||
|
display: none;
|
||||||
|
&.active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.voucherPop {
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-box-pack: center;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
padding: 0 10%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: none;
|
||||||
|
&.active {
|
||||||
|
display: -webkit-box;
|
||||||
|
}
|
||||||
|
.tipsWhite {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
position: relative;
|
||||||
|
.voucherPop-img {
|
||||||
|
position: absolute !important;
|
||||||
|
top: -80rpx;
|
||||||
|
right: calc(50% - 100rpx);
|
||||||
|
width: 200rpx;
|
||||||
|
}
|
||||||
|
.voucherPop-title {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 50rpx 70rpx;
|
||||||
|
margin-top: 100rpx;
|
||||||
|
text-align: center;
|
||||||
|
.voucherPop-name {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 38rpx;
|
||||||
|
}
|
||||||
|
.voucherPop-text {
|
||||||
|
padding: 30rpx 0 35rpx;
|
||||||
|
line-height: 44rpx;
|
||||||
|
}
|
||||||
|
.voucherPop-btn {
|
||||||
|
display: flex;
|
||||||
|
.voucherPop-go {
|
||||||
|
flex: 2;
|
||||||
|
text-align: center;
|
||||||
|
border: 2rpx solid #da2b56;
|
||||||
|
color: #da2b56;
|
||||||
|
margin: 0 15rpx;
|
||||||
|
line-height: 74rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background-color: #ffffff;
|
||||||
|
&.voucherPop-up {
|
||||||
|
background-color: #da2b56;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -103,11 +103,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
synthesisObj = synthesisArr.find(val => val.synthesis_id === this.businessId)
|
synthesisObj = synthesisArr.find(val => val.synthesis_id === this.businessId)
|
||||||
|
|
||||||
if(synthesisObj.can.buy){
|
if(synthesisObj.can.buy){
|
||||||
console.log('提交免费咨询')
|
this.$Router.replace({
|
||||||
// this.$Router.replace({
|
name : 'FeeWrite',
|
||||||
// name: 'PersonWrite'
|
params : {
|
||||||
// })
|
synthesisId : synthesisObj.synthesis_id
|
||||||
|
}
|
||||||
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
@@ -118,7 +121,7 @@
|
|||||||
success : modalRes => {
|
success : modalRes => {
|
||||||
if(modalRes.confirm){
|
if(modalRes.confirm){
|
||||||
this.$Router.replace({
|
this.$Router.replace({
|
||||||
name: 'PersonWrite'
|
name: 'Individual'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,22 +162,22 @@
|
|||||||
<view class="tool-flex">
|
<view class="tool-flex">
|
||||||
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'service' })">
|
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'service' })">
|
||||||
<image class="icon" src="@/static/synthesize/icon_00.png"></image>
|
<image class="icon" src="@/static/synthesize/icon_00.png"></image>
|
||||||
<view class="number" v-if="orderCount.transfer_out > 0">{{orderCount.transfer_out}}</view>
|
<view class="number" v-if="synthesisData.service.all > 0">{{synthesisData.service.all}}</view>
|
||||||
<view class="text">年费订单</view>
|
<view class="text">年费订单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'synthesis' })">
|
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'synthesis' })">
|
||||||
<image class="icon" src="@/static/synthesize/icon_01.png"></image>
|
<image class="icon" src="@/static/synthesize/icon_01.png"></image>
|
||||||
<view class="number" v-if="orderCount.transfer_in > 0">{{orderCount.transfer_in}}</view>
|
<view class="number" v-if="synthesisData.synthesis.all > 0">{{synthesisData.synthesis.all}}</view>
|
||||||
<view class="text">咨询订单</view>
|
<view class="text">咨询订单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'entrust' })">
|
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'entrust' })">
|
||||||
<image class="icon" src="@/static/synthesize/icon_02.png"></image>
|
<image class="icon" src="@/static/synthesize/icon_02.png"></image>
|
||||||
<view class="number" v-if="orderCount.transfer_out > 0">{{orderCount.transfer_out}}</view>
|
<view class="number" v-if="synthesisData.entrust.all > 0">{{synthesisData.entrust.all}}</view>
|
||||||
<view class="text">委托订单</view>
|
<view class="text">委托订单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'expand' })">
|
<view class="tool-flex-item" @click="onNav('SynthesizeOrder', { type: 'expand' })">
|
||||||
<image class="icon" src="@/static/synthesize/icon_03.png"></image>
|
<image class="icon" src="@/static/synthesize/icon_03.png"></image>
|
||||||
<view class="number" v-if="orderCount.transfer_in > 0">{{orderCount.transfer_in}}</view>
|
<view class="number" v-if="synthesisData.expand.all > 0">{{synthesisData.expand.all}}</view>
|
||||||
<view class="text">拓展订单</view>
|
<view class="text">拓展订单</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { index, rights, sign } from '@/apis/interfaces/work.js'
|
import { index, rights, sign, synthesisCount } from '@/apis/interfaces/work.js'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -256,7 +256,9 @@
|
|||||||
sign : {
|
sign : {
|
||||||
isSign : false,
|
isSign : false,
|
||||||
address : ""
|
address : ""
|
||||||
}
|
},
|
||||||
|
// 综法订单管理
|
||||||
|
synthesisData : {}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -313,9 +315,10 @@
|
|||||||
title: '加载中...',
|
title: '加载中...',
|
||||||
mask : true
|
mask : true
|
||||||
})
|
})
|
||||||
Promise.all([rights(), index()]).then(res => {
|
Promise.all([rights(), index(), synthesisCount()]).then(res => {
|
||||||
let rightsData = res[0],
|
let rightsData = res[0],
|
||||||
indexData = res[1]
|
indexData = res[1],
|
||||||
|
synthesisData = res[2]
|
||||||
|
|
||||||
let { nickname, avatar, business_orders_count, isCertification, certification, isManager, isAnswer, identity, sign } = indexData
|
let { nickname, avatar, business_orders_count, isCertification, certification, isManager, isAnswer, identity, sign } = indexData
|
||||||
this.rightsArr = rightsData
|
this.rightsArr = rightsData
|
||||||
@@ -331,6 +334,8 @@
|
|||||||
this.identity = identity
|
this.identity = identity
|
||||||
this.sign = sign
|
this.sign = sign
|
||||||
|
|
||||||
|
this.synthesisData = synthesisData
|
||||||
|
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|||||||
Reference in New Issue
Block a user