|
|
@@ -8,67 +8,104 @@
|
|
|
</view>
|
|
|
<scroll-view scroll-y="true" class="good-content" :style="{'height': height}" @scrolltolower="getList">
|
|
|
<view>
|
|
|
-
|
|
|
+
|
|
|
<view class="sig" v-for="item in navList[current].list" @click="check(item)">
|
|
|
- <view class="sig-status" :style="{backgroundColor: item.status == 1 ? '#ff6e15': ( item.status == 2 ? '#31c98f': '#fd4664')}">
|
|
|
+ <view class="sig-status"
|
|
|
+ :style="{backgroundColor: item.status == 1 ? '#ff6e15': ( item.status == 2 ? '#31c98f': '#fd4664')}">
|
|
|
{{showStatus(item)}}
|
|
|
</view>
|
|
|
<view class="sig-tit">
|
|
|
服务预约
|
|
|
</view>
|
|
|
+ <template v-if="item.content &&item.content.jsonAr && item.content.jsonAr.length > 0">
|
|
|
+ <template v-for="items in item.content.jsonAr">
|
|
|
+ <view class="sig-info" v-if="items.code == 'name'">
|
|
|
+ <text class="sig-info-tit">客户姓名</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info" v-if="items.code == 'phone'">
|
|
|
+ <text class="sig-info-tit">联系方式</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info" v-if="items.code == 'address'">
|
|
|
+ <text class="sig-info-tit">地址</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="sig-info" v-if="items.code == 'price'">
|
|
|
+ <text class="sig-info-tit">服务费</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info" v-if="items.code == 'deposit'">
|
|
|
+ <text class="sig-info-tit">定金</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <template v-for="items in item.content.jsonBr">
|
|
|
+ <view class="sig-info" v-if="items.code == 'name'">
|
|
|
+ <text class="sig-info-tit">母婴师</text><text class="sig-info-val">{{items.value}}</text>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">客户姓名</text><text class="sig-info-val">{{item.name}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">联系方式</text><text class="sig-info-val">{{item.phone}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">地址</text><text class="sig-info-val">{{item.address}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">母婴师</text><text class="sig-info-val">{{item.to_name}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">服务费</text><text class="sig-info-val">{{item.price}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="sig-info">
|
|
|
+ <text class="sig-info-tit">定金</text><text class="sig-info-val">{{item.deposit}}</text>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
<view class="sig-info">
|
|
|
- <text class="sig-info-tit">客户姓名</text><text class="sig-info-val">{{item.name}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">联系方式</text><text class="sig-info-val">{{item.phone}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">地址</text><text class="sig-info-val">{{item.address}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">母婴师</text><text class="sig-info-val">{{item.to_name}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">服务费</text><text class="sig-info-val">{{item.price}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">定金</text><text class="sig-info-val">{{item.deposit}}</text>
|
|
|
- </view>
|
|
|
- <view class="sig-info">
|
|
|
- <text class="sig-info-tit">开始时间</text><text class="sig-info-val">{{item.start_time | showTime}}</text>
|
|
|
+ <text class="sig-info-tit">开始时间</text><text
|
|
|
+ class="sig-info-val">{{item.start_time | showTime}}</text>
|
|
|
</view>
|
|
|
<view class="sig-info">
|
|
|
- <text class="sig-info-tit">结束时间</text><text class="sig-info-val">{{item.end_time | showTime}}</text>
|
|
|
+ <text class="sig-info-tit">结束时间</text><text
|
|
|
+ class="sig-info-val">{{item.end_time | showTime}}</text>
|
|
|
</view>
|
|
|
<view class="sig-btn">
|
|
|
- <signInput
|
|
|
- v-if="!item.uid_img && userInfo.uid == item.uid && item.status == 0"
|
|
|
- :ref="'sign' + index" :canvasId="'twoDrowCanvas' + index"
|
|
|
- :type="1"
|
|
|
+ <!-- 甲方签约 -->
|
|
|
+ <signInput v-if="!item.uid_img && userInfo.uid == item.uid && item.status == 0"
|
|
|
+ :ref="'sign' + index" :canvasId="'twoDrowCanvas' + index" :type="1"
|
|
|
:canvasIds="'twoRotateCanvas' + index" :header="header" :action="action"
|
|
|
@signToUrl="signToUrl">
|
|
|
<view class="sig-btn-base">
|
|
|
签约
|
|
|
</view>
|
|
|
</signInput>
|
|
|
- <view class="sig-btn-base" v-if="!item.to_uid_img && userInfo.uid == item.to_uid && item.status == 0" @click="openY(item)">
|
|
|
+ <view v-if="!item.to_uid_img && userInfo.uid == item.to_uid && item.status == 0"
|
|
|
+ class="sig-btn-base" @click="openY(item)">
|
|
|
签约
|
|
|
</view>
|
|
|
- <view class="sig-btn-base sig-btn-cancel"
|
|
|
- v-if="item.status == 0" @click="cancelSig(item)">
|
|
|
- 取消
|
|
|
- </view>
|
|
|
- <!-- -->
|
|
|
-
|
|
|
- <view class="sig-btn-base" v-if="userInfo.uid == item.uid && item.status == 1 && !item.comment" @click="pj(item)">
|
|
|
+ <view class="sig-btn-base" v-if="userInfo.uid == item.uid && item.status == 1 && !item.comment"
|
|
|
+ @click="pj(item)">
|
|
|
评价
|
|
|
</view>
|
|
|
- <view class="sig-btn-base" v-if="userInfo.uid == item.to_uid && item.status == 1" @click="dk(item)">
|
|
|
+ <view class="sig-btn-base" v-if="userInfo.uid == item.to_uid && item.status == 1"
|
|
|
+ @click="dk(item)">
|
|
|
打卡
|
|
|
</view>
|
|
|
- <view class="sig-btn-base sig-btn-cancel" v-if="item.comment && item.comment.id" @click="lookPj(item)">
|
|
|
+ <view class="sig-btn-base sig-btn-cancel" v-if="userInfo.uid != item.to_uid && item.status != 0"
|
|
|
+ @click="lookdk(item)">
|
|
|
+ 查看打卡
|
|
|
+ </view>
|
|
|
+ <view class="sig-btn-base sig-btn-cancel" v-if="item.comment && item.comment.id"
|
|
|
+ @click="lookPj(item)">
|
|
|
查看评价
|
|
|
</view>
|
|
|
+ <view class="sig-btn-base sig-btn-cancel" @click.stop="lookHt(item)">
|
|
|
+ 查看合同
|
|
|
+ </view>
|
|
|
+ <view class="sig-btn-base sig-btn-cancel" v-if="item.status == 0" @click="cancelSig(item)">
|
|
|
+ 取消
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<empty v-if="navList[current].list.length == 0 && navList[current].loaded"></empty>
|
|
|
@@ -77,61 +114,110 @@
|
|
|
</scroll-view>
|
|
|
<uni-popup ref="popup" type="center">
|
|
|
<view class="listBox">
|
|
|
- <view class="list">
|
|
|
- <view class="flex listItem">
|
|
|
- <view class="flex titleBox">
|
|
|
- <text class="font-color-red font-size-sm">✲</text> <text class="title">联系方式</text>
|
|
|
+ <template v-if="checkItem.content && checkItem.content.jsonBr.length > 0">
|
|
|
+ <template v-for="item in checkItem.content.jsonBr">
|
|
|
+ <view class="list" v-if="item.type != 'img' && item.type != 'date'">
|
|
|
+ <view class="flex listItem">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text
|
|
|
+ class="title">{{item.name}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="right flex">
|
|
|
+ <input class="input" v-model="item.value" type="number"
|
|
|
+ :placeholder="'请填写' + item.name" placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="right flex">
|
|
|
- <input class="input" v-model="partyB.phone" type="number" placeholder="请填写联系电话"
|
|
|
- placeholder-class="placeholder" />
|
|
|
+ <template v-if="item.type == 'img'">
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem" style="border-bottom: none;">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text
|
|
|
+ class="title">{{item.name}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class=" qm-wrap">
|
|
|
+ <signInput ref="sign" canvasId="twoDrowCanvas" canvasIds="twoRotateCanvas"
|
|
|
+ :header="header" :action="action" @signToUrl="signToUrl">
|
|
|
+ </signInput>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text class="title">姓名</text>
|
|
|
+ </view>
|
|
|
+ <view class="right flex">
|
|
|
+ <input class="input" v-model="partyB.name" type="text" placeholder="请填写姓名"
|
|
|
+ placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="list">
|
|
|
- <view class="flex listItem">
|
|
|
- <view class="flex titleBox">
|
|
|
- <text class="font-color-red font-size-sm">✲</text> <text class="title">地址</text>
|
|
|
- </view>
|
|
|
- <view class="right flex">
|
|
|
- <input class="input" v-model="partyB.address" type="text" placeholder="请填写地址"
|
|
|
- placeholder-class="placeholder" />
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text class="title">联系电话</text>
|
|
|
+ </view>
|
|
|
+ <view class="right flex">
|
|
|
+ <input class="input" v-model="partyB.phone" type="text" placeholder="请填写联系电话"
|
|
|
+ placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="list">
|
|
|
- <view class="flex listItem">
|
|
|
- <view class="flex titleBox">
|
|
|
- <text class="font-color-red font-size-sm">✲</text> <text class="title">身份证号</text>
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text class="title">地址</text>
|
|
|
+ </view>
|
|
|
+ <view class="right flex">
|
|
|
+ <input class="input" v-model="partyB.address" type="text" placeholder="请填写地址"
|
|
|
+ placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="right flex">
|
|
|
- <input class="input" v-model="partyB.idcard" type="idcard" placeholder="请填写身份证号"
|
|
|
- placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text class="title">身份证号</text>
|
|
|
+ </view>
|
|
|
+ <view class="right flex">
|
|
|
+ <input class="input" v-model="partyB.idcard" type="idcard" placeholder="请填写身份证号"
|
|
|
+ placeholder-class="placeholder" />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="list">
|
|
|
- <view class="flex listItem" style="border-bottom: none;">
|
|
|
- <view class="flex titleBox">
|
|
|
- <text class="font-color-red font-size-sm">✲</text> <text class="title">电子签名</text>
|
|
|
+ <view class="list">
|
|
|
+ <view class="flex listItem" style="border-bottom: none;">
|
|
|
+ <view class="flex titleBox">
|
|
|
+ <text class="font-color-red font-size-sm">✲</text> <text class="title">电子签名</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class=" qm-wrap">
|
|
|
- <signInput
|
|
|
- ref="sign" canvasId="twoDrowCanvas"
|
|
|
- canvasIds="twoRotateCanvas" :header="header" :action="action"
|
|
|
- @signToUrl="signToUrl">
|
|
|
- </signInput>
|
|
|
- </view>
|
|
|
- <view class="btn" @click="goYqy">
|
|
|
+ <view class=" qm-wrap">
|
|
|
+ <signInput ref="sign" canvasId="twoDrowCanvas" canvasIds="twoRotateCanvas" :header="header"
|
|
|
+ :action="action" @signToUrl="signToUrl">
|
|
|
+ </signInput>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="btn" @click="goYqy">
|
|
|
提交
|
|
|
</view>
|
|
|
+ <view class="btn-s" @click="closeYq">
|
|
|
+ 取消
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</uni-popup>
|
|
|
<uni-popup ref="pjPopup" type="center">
|
|
|
<view class="listBox" style="padding-top: 40rpx;">
|
|
|
- <textarea name="" id="" cols="30" rows="10" placeholder="请输入您的评价" v-model="pjs" maxlength="200" class="pj-wrap"></textarea>
|
|
|
+ <textarea name="" id="" cols="30" rows="10" placeholder="请输入您的评价" v-model="pjs" maxlength="200"
|
|
|
+ class="pj-wrap"></textarea>
|
|
|
<view class="btn" @click="goPj">
|
|
|
提交
|
|
|
</view>
|
|
|
@@ -142,7 +228,8 @@
|
|
|
<view class="pj-tit">
|
|
|
客户评价
|
|
|
</view>
|
|
|
- <textarea name="" id="" cols="30" rows="10" v-model="checkItem.comment.content" maxlength="200" class="pj-wrap" disabled></textarea>
|
|
|
+ <textarea name="" id="" cols="30" rows="10" v-model="checkItem.comment.content" maxlength="200"
|
|
|
+ class="pj-wrap" disabled></textarea>
|
|
|
</view>
|
|
|
</uni-popup>
|
|
|
</view>
|
|
|
@@ -160,12 +247,16 @@
|
|
|
Jcheck,
|
|
|
tjCheck,
|
|
|
cancelSig,
|
|
|
- goPj
|
|
|
+ goPj,
|
|
|
+
|
|
|
} from '@/api/signing.js'
|
|
|
+ import {
|
|
|
+ getHdDetail
|
|
|
+ } from '@/api/model.js';
|
|
|
export default {
|
|
|
components: {
|
|
|
signInput,
|
|
|
- empty
|
|
|
+ empty,
|
|
|
},
|
|
|
computed: {
|
|
|
// #ifdef H5
|
|
|
@@ -238,7 +329,7 @@
|
|
|
},
|
|
|
filters: {
|
|
|
showTime(val) {
|
|
|
- let date = new Date(val*1000)
|
|
|
+ let date = new Date(val * 1000)
|
|
|
const year = date.getFullYear();
|
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
|
@@ -246,29 +337,98 @@
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ showTimes(val) {
|
|
|
+ let date = new Date(val * 1000)
|
|
|
+ const year = date.getFullYear();
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
|
+ const day = String(date.getDate()).padStart(2, '0');
|
|
|
+ return `${year}-${month}-${day}`;
|
|
|
+ },
|
|
|
+ closeYq() {
|
|
|
+ this.$refs.popup.close()
|
|
|
+ },
|
|
|
+ lookHt(item) {
|
|
|
+ let that= this
|
|
|
+ console.log(item,'item----------------------------');
|
|
|
+ // return
|
|
|
+ console.log('item.template_iditem.template_iditem.template_id',item.template_id);
|
|
|
+ if (item.template_id && item.template_id > 1) {
|
|
|
+ uni.setStorageSync('htDetail', item)
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/user/signing/ht?id=' + item.id
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ getHdDetail({
|
|
|
+ id: 2
|
|
|
+ }).then(res => {
|
|
|
+ let jsonAr = res.data.content.jsonAr.map(i => {
|
|
|
+ i.value = item[i.code] || ''
|
|
|
+ if(i.type == 'date') {
|
|
|
+ i.value = that.showTimes(i.value)
|
|
|
+ }
|
|
|
+ return i
|
|
|
+ })
|
|
|
+ let jsonBr = res.data.content.jsonBr.map(j => {
|
|
|
+ if (j.code.indexOf('to_') != -1) {
|
|
|
+ console.log(item[j.code],j.code);
|
|
|
+ j.value = item[j.code]
|
|
|
+ } else {
|
|
|
+ j.value = item['to_' + j.code]
|
|
|
+ }
|
|
|
+ if(j.type == 'date') {
|
|
|
+ j.value = that.showTimes(item[j.code])
|
|
|
+ }
|
|
|
+ return j
|
|
|
+ })
|
|
|
+ console.log(jsonBr,'jsonBr');
|
|
|
+ uni.setStorageSync('htDetails', {
|
|
|
+ imgs: res.data.imgs,
|
|
|
+ content: {
|
|
|
+ jsonAr,
|
|
|
+ jsonBr
|
|
|
+ }
|
|
|
+ })
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/user/signing/ht?hid=2'
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
dk(item) {
|
|
|
+ let addr = {value: ''}
|
|
|
+ if(item.content && item.content.jsonAr) {
|
|
|
+ addr = item.content.jsonAr.find(i => i.code == 'address')
|
|
|
+ }
|
|
|
uni.navigateTo({
|
|
|
- url:'/pages/user/signing/dk?id=' + item.id + '&latitude=' + item.latitude + '&longitude=' + item.longitude + '&address=' + item.address
|
|
|
+ url: '/pages/user/signing/dk?id=' + item.id + '&latitude=' + item.latitude + '&longitude=' +
|
|
|
+ item.longitude + '&address=' + (item.address || addr.value)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ lookdk(item) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/user/signing/dkhis?id=' + item.id
|
|
|
})
|
|
|
},
|
|
|
showStatus(item) {
|
|
|
- if(item.status == 0) {
|
|
|
- if(this.userInfo.uid == item.uid) {
|
|
|
- if(!item.uid_img) {
|
|
|
+ if (item.status == 0) {
|
|
|
+ if (this.userInfo.uid == item.uid) {
|
|
|
+ if (!item.uid_img) {
|
|
|
return '待签约'
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return '待乙方签约'
|
|
|
}
|
|
|
- }else {
|
|
|
- if(!item.to_uid_img) {
|
|
|
+ } else {
|
|
|
+ if (!item.to_uid_img) {
|
|
|
return '待签约'
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return '待甲方签约'
|
|
|
}
|
|
|
}
|
|
|
- }else if(item.status == 1){
|
|
|
+ } else if (item.status == 1) {
|
|
|
return '进行中'
|
|
|
- }else if(item.status == 2) {
|
|
|
+ } else if (item.status == 2) {
|
|
|
return '已完成'
|
|
|
}
|
|
|
},
|
|
|
@@ -285,37 +445,67 @@
|
|
|
},
|
|
|
goYqy() {
|
|
|
let that = this
|
|
|
- if (!that.partyB.phone) {
|
|
|
- return uni.showModal({
|
|
|
- title: '温馨提醒',
|
|
|
- content: '请输入联系电话',
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
-
|
|
|
- }
|
|
|
- if (!that.partyB.address) {
|
|
|
- return uni.showModal({
|
|
|
- title: '温馨提醒',
|
|
|
- content: '请输入地址',
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
-
|
|
|
- }
|
|
|
- if (!that.partyB.idcard) {
|
|
|
- return uni.showModal({
|
|
|
- title: '温馨提醒',
|
|
|
- content: '请输入身份证号',
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
-
|
|
|
- }
|
|
|
- if(!that.qm) {
|
|
|
- return uni.showModal({
|
|
|
- title: '温馨提醒',
|
|
|
- content: '请完成电子签名',
|
|
|
- showCancel: false,
|
|
|
- });
|
|
|
+ let re = true
|
|
|
+ if (that.checkItem.content && that.checkItem.content.jsonBr.length > 0) {
|
|
|
+ //自动校验
|
|
|
+ for (let i = 0; i < that.checkItem.content.jsonBr.length; i++) {
|
|
|
+ if (that.checkItem.content.jsonBr[i].type != 'img' && that.checkItem.content.jsonBr[i].name !=
|
|
|
+ '签约时间' && that.checkItem.content.jsonBr[i].verify == 1 && !that.checkItem.content.jsonBr[i]
|
|
|
+ .value) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请完善' + that.checkItem.content.jsonBr[i].name,
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ re = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ // 其他操作
|
|
|
+ }
|
|
|
+ if (!that.qm) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请完善电子签名',
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!re) return;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if (!that.partyB.phone) {
|
|
|
+ return uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请输入联系电话',
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ if (!that.partyB.address) {
|
|
|
+ return uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请输入地址',
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ if (!that.partyB.idcard) {
|
|
|
+ return uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请输入身份证号',
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ if (!that.qm) {
|
|
|
+ return uni.showModal({
|
|
|
+ title: '温馨提醒',
|
|
|
+ content: '请完成电子签名',
|
|
|
+ showCancel: false,
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
+ console.log('去执行');
|
|
|
this.goQy()
|
|
|
},
|
|
|
pj(item) {
|
|
|
@@ -327,20 +517,20 @@
|
|
|
this.$refs.lookPjPopup.open()
|
|
|
},
|
|
|
goPj() {
|
|
|
- if(!this.pjs) {
|
|
|
+ if (!this.pjs) {
|
|
|
return uni.showModal({
|
|
|
title: '温馨提醒',
|
|
|
content: '请填写评价',
|
|
|
showCancel: false,
|
|
|
});
|
|
|
}
|
|
|
- if(this.loading) return;
|
|
|
+ if (this.loading) return;
|
|
|
this.loading = true
|
|
|
goPj({
|
|
|
contract_id: this.checkItem.id,
|
|
|
content: this.pjs
|
|
|
}).then(res => {
|
|
|
-
|
|
|
+
|
|
|
this.$refs.pjPopup.close()
|
|
|
uni.showToast({
|
|
|
title: '评价成功',
|
|
|
@@ -379,33 +569,85 @@
|
|
|
const month = String(today.getMonth() + 1).padStart(2, '0');
|
|
|
const day = String(today.getDate()).padStart(2, '0');
|
|
|
date = `${year}-${month}-${day}`;
|
|
|
-
|
|
|
+ console.log(that.loading, 'that.loading');
|
|
|
if (that.loading) return;
|
|
|
that.loading = true
|
|
|
let qy = null;
|
|
|
let data = {}
|
|
|
+ let content = that.checkItem.content || {}
|
|
|
+
|
|
|
if (that.userInfo.uid == that.checkItem.uid) {
|
|
|
+ // if (that.userInfo.uid != that.checkItem.uid) {
|
|
|
+ console.log('jiafang');
|
|
|
qy = Jcheck
|
|
|
data = {
|
|
|
id: that.checkItem.id,
|
|
|
uid_img: that.qm,
|
|
|
- check_time: date
|
|
|
+ check_time: date,
|
|
|
+ content: ''
|
|
|
+ }
|
|
|
+ if (content.jsonAr && content.jsonAr.length > 0) {
|
|
|
+ content.jsonAr = content.jsonAr.map(item => {
|
|
|
+ if (item.code == 'check_time') {
|
|
|
+ item.value = data.check_time
|
|
|
+ }
|
|
|
+ if (item.code == 'uid_img') {
|
|
|
+ item.value = data.uid_img
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
}
|
|
|
+ data.content = JSON.stringify(content)
|
|
|
} else {
|
|
|
+ console.log('yifang');
|
|
|
qy = tjCheck
|
|
|
- data = {
|
|
|
- to_uid_img: that.qm,
|
|
|
- to_check_time: date,
|
|
|
- id: that.checkItem.id,
|
|
|
- to_phone: that.partyB.phone,
|
|
|
- to_address: that.partyB.phone,
|
|
|
- to_card: that.partyB.idcard
|
|
|
+
|
|
|
+ console.log(content.jsonBr, 'JSON.stringify(content)');
|
|
|
+
|
|
|
+ if (content.jsonBr && content.jsonBr.length > 0) {
|
|
|
+ data = {
|
|
|
+ to_uid_img: that.qm,
|
|
|
+ to_check_time: date,
|
|
|
+ id: that.checkItem.id,
|
|
|
+ }
|
|
|
+ content.jsonBr = content.jsonBr.map(item => {
|
|
|
+ if (item.code == 'to_check_time') {
|
|
|
+ item.value = date
|
|
|
+ }
|
|
|
+ if (item.code == 'to_uid_img') {
|
|
|
+ item.value = that.qm
|
|
|
+ }
|
|
|
+ if (item.code == 'phone') {
|
|
|
+ data.to_phone = item.value
|
|
|
+ }
|
|
|
+ if (item.code == 'address') {
|
|
|
+ data.to_address = item.value
|
|
|
+ }
|
|
|
+ if (item.code == 'card') {
|
|
|
+ data.to_card = item.value
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ console.log(content.jsonBr,'content.jsonBr---------------------------------');
|
|
|
+ data.content = JSON.stringify(content)
|
|
|
+ console.log(data, '结束data');
|
|
|
+ } else {
|
|
|
+ data = {
|
|
|
+ to_uid_img: that.qm,
|
|
|
+ to_check_time: date,
|
|
|
+ id: that.checkItem.id,
|
|
|
+ to_phone: that.partyB.phone,
|
|
|
+ to_address: that.partyB.phone,
|
|
|
+ to_card: that.partyB.idcard
|
|
|
+ }
|
|
|
+
|
|
|
+ data.content = JSON.stringify(content)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
qy(data).then(res => {
|
|
|
that.qm = ''
|
|
|
- if(that.checkItem.to_uid == that.userInfo.uid) {
|
|
|
+ if (that.checkItem.to_uid == that.userInfo.uid) {
|
|
|
this.$refs.popup.close()
|
|
|
}
|
|
|
that.checkItem = {}
|
|
|
@@ -415,7 +657,7 @@
|
|
|
});
|
|
|
that.getList('re')
|
|
|
that.loading = false
|
|
|
-
|
|
|
+
|
|
|
}).catch(err => {
|
|
|
this.loading = false
|
|
|
})
|
|
|
@@ -442,7 +684,18 @@
|
|
|
status: item.status,
|
|
|
uid: that.userInfo.uid
|
|
|
}).then(res => {
|
|
|
- let arr = res.data.list
|
|
|
+ let arr = res.data.list.map(item => {
|
|
|
+ if (item.content) {
|
|
|
+ try {
|
|
|
+ item.content = JSON.parse(JSON.parse(item.content))
|
|
|
+ } catch (error) {
|
|
|
+ item.content = JSON.parse(item.content)
|
|
|
+ //TODO handle the exception
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ console.log(arr);
|
|
|
item.list = item.list.concat(arr)
|
|
|
item.page++
|
|
|
if (arr.length == item.limit) {
|
|
|
@@ -508,6 +761,7 @@
|
|
|
padding: 35rpx;
|
|
|
padding-bottom: 20rpx;
|
|
|
position: relative;
|
|
|
+
|
|
|
&-status {
|
|
|
position: absolute;
|
|
|
right: 0;
|
|
|
@@ -522,6 +776,7 @@
|
|
|
line-height: 40rpx;
|
|
|
color: #fff;
|
|
|
}
|
|
|
+
|
|
|
&-tit {
|
|
|
font-weight: bold;
|
|
|
font-size: 32rpx;
|
|
|
@@ -577,6 +832,7 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.listBox {
|
|
|
width: 690rpx;
|
|
|
// margin: $page-row-spacing;
|
|
|
@@ -585,6 +841,7 @@
|
|
|
overflow: hidden;
|
|
|
background-color: #FFFFFF;
|
|
|
padding-bottom: 40rpx;
|
|
|
+
|
|
|
.btn {
|
|
|
margin: 20rpx auto 0;
|
|
|
width: 400rpx;
|
|
|
@@ -596,25 +853,38 @@
|
|
|
height: 58rpx;
|
|
|
line-height: 58rpx;
|
|
|
}
|
|
|
+
|
|
|
+ .btn-s {
|
|
|
+ margin: 20rpx auto 0;
|
|
|
+ width: 400rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-radius: 10rpx 10rpx 10rpx 10rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ color: #FC4564;
|
|
|
+ border: #FC4564 1px solid;
|
|
|
+ text-align: center;
|
|
|
+ height: 58rpx;
|
|
|
+ line-height: 58rpx;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.list {
|
|
|
-
|
|
|
+
|
|
|
.input {
|
|
|
text-align: right;
|
|
|
font-size: $font-base;
|
|
|
color: $color-gray;
|
|
|
width: 100%;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.listItem {
|
|
|
padding: 35rpx 40rpx;
|
|
|
border-bottom: 1px solid $page-color-light;
|
|
|
-
|
|
|
+
|
|
|
.ql-editor.ql-blank:before {
|
|
|
font-style: normal;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.textarea {
|
|
|
font-size: $font-base;
|
|
|
width: 100%;
|
|
|
@@ -623,22 +893,22 @@
|
|
|
min-height: 9rem;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.listIconImg {
|
|
|
width: 36rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.right {
|
|
|
color: $font-color-light;
|
|
|
font-size: $font-base;
|
|
|
flex-grow: 1;
|
|
|
justify-content: flex-end;
|
|
|
-
|
|
|
+
|
|
|
.timetype {
|
|
|
width: 100%;
|
|
|
justify-content: flex-end;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.citylist {
|
|
|
.del {
|
|
|
color: $color-red;
|
|
|
@@ -649,11 +919,11 @@
|
|
|
padding: 5rpx 15rpx;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.img {
|
|
|
width: 26rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.buttom {
|
|
|
color: $base-color;
|
|
|
border: 1px solid $base-color;
|
|
|
@@ -662,7 +932,7 @@
|
|
|
padding: 10rpx 20rpx;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.titleBox {
|
|
|
.title {
|
|
|
color: $font-color-base;
|
|
|
@@ -670,6 +940,7 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.qm-wrap {
|
|
|
position: relative;
|
|
|
// width: 100%;
|
|
|
@@ -679,6 +950,7 @@
|
|
|
border-bottom: 1px solid $page-color-light;
|
|
|
margin: auto;
|
|
|
}
|
|
|
+
|
|
|
.pj-wrap {
|
|
|
width: 600rpx;
|
|
|
height: 300rpx;
|
|
|
@@ -687,6 +959,7 @@
|
|
|
margin: auto;
|
|
|
padding: 20rpx;
|
|
|
}
|
|
|
+
|
|
|
.pj-tit {
|
|
|
text-align: center;
|
|
|
padding: 10rpx 0 30rpx;
|