This commit is contained in:
许允枞 2025-04-11 17:55:17 +08:00
parent ba779a4aff
commit 924378fabd
8 changed files with 3562 additions and 3609 deletions

View File

@ -43,9 +43,12 @@
aindex: 1, aindex: 1,
chuan: 0, chuan: 0,
arr:[ arr: [{
{text:'首页'}, text: '首页'
{text:'个人中心'}, },
{
text: '个人中心'
},
], ],
} }
@ -172,14 +175,16 @@
justify-content: space-between; justify-content: space-between;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
z-index: 9999999999999999999999999999999999999999999999999999999; z-index: 99999;
} }
.box { .box {
width: 50%; width: 50%;
text-align: center; text-align: center;
font-size: 12px; font-size: 12px;
// background-color: white; // background-color: white;
} }
.hongdian { .hongdian {
width: 12px; width: 12px;
height: 12px; height: 12px;
@ -196,19 +201,23 @@
color: white; color: white;
font-size: 2px; font-size: 2px;
} }
.imgs { .imgs {
margin: 0 auto; margin: 0 auto;
margin-top: 10px; margin-top: 10px;
width: 22px; width: 22px;
height: 20px; height: 20px;
image { image {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.xzz { .xzz {
color: #0D2E8D; color: #0D2E8D;
} }
.wxz { .wxz {
color: #AAAAAA; color: #AAAAAA;
} }

View File

@ -503,6 +503,14 @@
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},
{
"path": "pages/index/meetCarOrder",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
} }
], ],
"globalStyle": { "globalStyle": {

View File

@ -19,13 +19,7 @@
<view class="mub"> <view class="mub">
<view class="top-ail"> <view class="top-ail">
<u-upload <u-upload :fileList="fileList" @afterRead="afterRead1" @delete="deletePic1" multiple :maxCount="1">
:fileList="fileList"
@afterRead="afterRead1"
@delete="deletePic1"
multiple
:maxCount="1"
>
<view class="dlanniu" style="width: 345px;"> <view class="dlanniu" style="width: 345px;">
<uni-icons type="scan" size="20" color="#ffffff"></uni-icons> <uni-icons type="scan" size="20" color="#ffffff"></uni-icons>
<text style="margin-left: 10px;">行驶证扫描</text> <text style="margin-left: 10px;">行驶证扫描</text>
@ -209,34 +203,25 @@
<view class="dlanniu" @click="edit()" v-else> <view class="dlanniu" @click="edit()" v-else>
<text>确认修改</text> <text>确认修改</text>
</view> </view>
<u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms" @cancel="cancels" <u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms"
keyName="label"></u-picker> @cancel="cancels" keyName="label"></u-picker>
<u-picker :show="showgoods" ref="uPicker" :columns="goodsone" :defaultIndex="goodsDefaultIndex" <u-picker :show="showgoods" ref="uPicker" :columns="goodsone" :defaultIndex="goodsDefaultIndex"
@confirm="confirmgoods" @cancel="cancelgoods" @confirm="confirmgoods" @cancel="cancelgoods" @change="changeHandler" keyName="label"></u-picker>
@change="changeHandler" keyName="label"></u-picker>
<u-picker :show="shownature" :columns="nature" @confirm="confirmsnature" @cancel="cancelsnature" <u-picker :show="shownature" :columns="nature" @confirm="confirmsnature" @cancel="cancelsnature"
keyName="label"></u-picker> keyName="label"></u-picker>
<u-picker :show="showxin" :columns="xinlist" :defaultIndex="xinDefaultIndex" @confirm="confirmxin" <u-picker :show="showxin" :columns="xinlist" :defaultIndex="xinDefaultIndex" @confirm="confirmxin"
@cancel="cancelxin" @cancel="cancelxin" keyName="label"></u-picker>
keyName="label"></u-picker>
<u-picker :show="showzhi" :columns="zhilist" @confirm="confirmzhi" @cancel="cancelzhi" <u-picker :show="showzhi" :columns="zhilist" @confirm="confirmzhi" @cancel="cancelzhi"
keyName="label"></u-picker> keyName="label"></u-picker>
<u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex" @confirm="confirmLeadMan" <u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex"
@cancel="cancelLeadMan" @confirm="confirmLeadMan" @cancel="cancelLeadMan" keyName="nickname"></u-picker>
keyName="nickname"></u-picker> <u-picker :show="showMeetMan" :columns="meetManList" :defaultIndex="defaultIndex"
<u-picker :show="showMeetMan" :columns="meetManList" :defaultIndex="defaultIndex" @confirm="confirmMeetMan" @confirm="confirmMeetMan" @cancel="showMeetMan = false" keyName="nickname"></u-picker>
@cancel="showMeetMan = false" <u-datetime-picker :show="showRegisterDate" v-model="carRegisterDate" mode="date"
keyName="nickname"></u-picker> @cancel="showRegisterDate = false" @confirm="confirmRegisterDate"></u-datetime-picker>
<u-datetime-picker
:show="showRegisterDate"
v-model="carRegisterDate"
mode="date"
@cancel="showRegisterDate = false"
@confirm="confirmRegisterDate"
></u-datetime-picker>
<!-- <u-datetime-picker--> <!-- <u-datetime-picker-->
<!-- :show="showRecord"--> <!-- :show="showRecord"-->
<!-- v-model="recordTime"--> <!-- v-model="recordTime"-->
@ -258,13 +243,22 @@
import config from '@/config'; import config from '@/config';
import request from '../../utils/request'; import request from '../../utils/request';
import upload from '@/utils/upload.js' import upload from '@/utils/upload.js'
import {getToken, getTenantId} from '@/utils/auth' import {
import {formatDate} from "@/utils/utils"; getToken,
getTenantId,
getStorageWithExpiry
} from '@/utils/auth'
import {
formatDate
} from "@/utils/utils";
import headersVue from "@/components/header/headers.vue"; import headersVue from "@/components/header/headers.vue";
import USwitch from "@/uni_modules/uview-ui/components/u-switch/u-switch.vue"; import USwitch from "@/uni_modules/uview-ui/components/u-switch/u-switch.vue";
export default { export default {
components: {USwitch, headersVue}, components: {
USwitch,
headersVue
},
data() { data() {
return { return {
imagePath: '', imagePath: '',
@ -334,7 +328,8 @@ export default {
xinDefaultIndex: [0], xinDefaultIndex: [0],
recordTimeStr: '', recordTimeStr: '',
carRegisterDate: '', carRegisterDate: '',
appointmentId: null appointmentId: null,
meetCarId: null
} }
}, },
async onLoad(options) { async onLoad(options) {
@ -345,7 +340,8 @@ export default {
uni.$on('selectProject', (data) => { uni.$on('selectProject', (data) => {
this.inspectionWorkNodes = data this.inspectionWorkNodes = data
for (var i = 0; i < this.inspectionWorkNodes.length; i++) { for (var i = 0; i < this.inspectionWorkNodes.length; i++) {
this.inspectionWorkNodeStr = this.inspectionWorkNodeStr + this.inspectionWorkNodes[i].projectName + " " this.inspectionWorkNodeStr = this.inspectionWorkNodeStr + this.inspectionWorkNodes[i]
.projectName + " "
this.inspectionWorkNodes[i].orderNum = i + 1 this.inspectionWorkNodes[i].orderNum = i + 1
} }
}); });
@ -360,6 +356,11 @@ export default {
this.appointmentId = options.appointmentId this.appointmentId = options.appointmentId
await this.getAppointmentDetail() await this.getAppointmentDetail()
} }
//
if (options.meetCarId) {
this.meetCarId = options.meetCarId
await this.getMeetCarDetail()
}
this.isLoading = false this.isLoading = false
}, },
onShow() { onShow() {
@ -484,6 +485,27 @@ export default {
cancelRecord() { cancelRecord() {
this.showRecord = false this.showRecord = false
}, },
//
getMeetCarDetail() {
const res = getStorageWithExpiry('meetCarOrderData')
if (res) {
this.buyName = res.buyName
this.buyPhone = res.buyPhone
this.carIdNo = res.carIdNo
this.carModel = res.carModel
this.carNature = res.carNature
this.carNum = res.carNum
this.carRegisterDate = res.carRegisterDate
this.carRegisterDateStr = formatDate(res.carRegisterDate)
this.userAddress = res.userAddress
this.meetManId = res.meetManId
//
const meetMan = this.meetManList[0].find(item => item.id == res.meetManId)
if (meetMan) {
this.meetName = meetMan.nickname
}
}
},
/*获取预约记录详情*/ /*获取预约记录详情*/
async getAppointmentDetail() { async getAppointmentDetail() {
let res = await request({ let res = await request({
@ -505,7 +527,9 @@ export default {
//skuid //skuid
this.skuId = res.data.skuId this.skuId = res.data.skuId
// //
this.driverLicenesImg = res.data.driverLicenesImg == null ? undefined : [this.baseImageUrl + '/' + res.data.driverLicenesImg] this.driverLicenesImg = res.data.driverLicenesImg == null ? undefined : [this.baseImageUrl + '/' +
res.data.driverLicenesImg
]
console.log('照片', this.driverLicenesImg) console.log('照片', this.driverLicenesImg)
//goodsId //goodsId
this.goodsId = res.data.goodsId this.goodsId = res.data.goodsId
@ -524,7 +548,9 @@ export default {
}; };
this.changeHandler(mockEvent); this.changeHandler(mockEvent);
//goodsId //goodsId
this.goodsDefaultIndex = [this.goodsone[0].findIndex(item => item.value === this.goodsId), this.$refs.uPicker.getColumnValues(1).findIndex(item => item.value == this.skuId)] this.goodsDefaultIndex = [this.goodsone[0].findIndex(item => item.value === this.goodsId), this
.$refs.uPicker.getColumnValues(1).findIndex(item => item.value == this.skuId)
]
} }
}, },
findItemById(data, id) { findItemById(data, id) {
@ -542,7 +568,10 @@ export default {
const group = data[index]; const group = data[index];
for (const item of group) { for (const item of group) {
if (item.value === id) { if (item.value === id) {
return {group, index}; // return {
group,
index
}; //
} }
} }
} }
@ -561,16 +590,15 @@ export default {
}) })
}, },
/*获取接车员信息*/ /*获取接车员信息*/
getMeetMan() { async getMeetMan() {
request({ const res = await request({
url: '/system/role/getUsersByRoleCode', url: '/system/role/getUsersByRoleCode',
method: 'get', method: 'get',
params: { params: {
code: "jcjchc" code: "jcjchc"
} }
}).then(res => {
this.meetManList.push(res.data)
}) })
this.meetManList.push(res.data)
}, },
confirmsnature(e) { confirmsnature(e) {
@ -624,7 +652,9 @@ export default {
}) })
}, },
async getgoodes() { async getgoodes() {
if (this.carNum == '' || this.customerSource == "" || this.skuId == '' || this.leadManId == undefined || this.carRegisterDate == '' || this.meetManId == undefined || this.meetManId == undefined) { if (this.carNum == '' || this.customerSource == "" || this.skuId == '' || this.leadManId ==
undefined || this.carRegisterDate == '' || this.meetManId == undefined || this.meetManId ==
undefined) {
uni.showToast({ uni.showToast({
title: '车牌号 客户来源 商品 引车员 车辆注册日期 接车人 必填!', title: '车牌号 客户来源 商品 引车员 车辆注册日期 接车人 必填!',
icon: 'none' icon: 'none'
@ -662,6 +692,7 @@ export default {
carRegisterDate: this.carRegisterDate, carRegisterDate: this.carRegisterDate,
meetManId: this.meetManId, meetManId: this.meetManId,
appointmentId: this.appointmentId, appointmentId: this.appointmentId,
meetCarId: this.meetCarId
} }
let res = await request({ let res = await request({
@ -675,6 +706,7 @@ export default {
}) })
} }
setTimeout(() => { setTimeout(() => {
uni.$emit('refresh')
uni.navigateBack() uni.navigateBack()
}, 2000); }, 2000);
}, },
@ -763,10 +795,14 @@ export default {
setTimeout(() => { setTimeout(() => {
let result = this.leadManList let result = this.leadManList
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.id === res.data.leadManId); const index = subArray.findIndex(item => item.id === res.data
.leadManId);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -781,10 +817,14 @@ export default {
// //
let kehuResult = this.columns let kehuResult = this.columns
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.label === res.data.customerSource); const index = subArray.findIndex(item => item.label === res.data
.customerSource);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -797,10 +837,14 @@ export default {
// //
let xinResult = this.xinlist let xinResult = this.xinlist
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.label === res.data.carStatus); const index = subArray.findIndex(item => item.label === res.data
.carStatus);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -843,8 +887,7 @@ export default {
getyes() { getyes() {
this.show = false this.show = false
}, },
open() { open() {},
},
close() { close() {
this.guige = false this.guige = false
}, },

View File

@ -1,16 +1,6 @@
<!-- 新增线下订单--> <!-- 新增线下订单-->
<template> <template>
<view class="content"> <view class="content">
<!-- <view style="width: 100%; height: 44px;"></view>-->
<!-- <view class="top-heder">-->
<!-- <view class="t-left" @click="getback()">-->
<!-- <uni-icons type="left" size="18"></uni-icons>-->
<!-- </view>-->
<!-- <view class="t-title">-->
<!-- <text>{{ title }}</text>-->
<!-- </view>-->
<!-- <view class="t-you"></view>-->
<!-- </view>-->
<headersVue :titles="title" style="position: static !important;"> <headersVue :titles="title" style="position: static !important;">
<u-icon name="arrow-left" color="#fff" size="18"></u-icon> <u-icon name="arrow-left" color="#fff" size="18"></u-icon>
</headersVue> </headersVue>
@ -34,7 +24,6 @@
<u-album :urls="driverLicenesImg"></u-album> <u-album :urls="driverLicenesImg"></u-album>
</view> </view>
</view> </view>
</view> </view>
<!-- 名称 --> <!-- 名称 -->
@ -97,23 +86,10 @@
<input type="text" v-model="buyPhone" placeholder="请输入联系方式"> <input type="text" v-model="buyPhone" placeholder="请输入联系方式">
</view> </view>
</view> </view>
<view class="list-box">
<view class="l-left" @click="showMeetMan = true">
<text style="color: red;font-weight: bold;text-align: center;">*</text>
接车员
<text class="xixi">点击选择</text>
</view> </view>
<view class="l-right"> <view class="dlanniu" @click="getgoodes()">
<input type="text" v-model="meetName" placeholder="请输入接车员">
</view>
</view>
</view>
<view class="dlanniu" @click="getgoodes()" v-if="isInsert">
<text>接车</text> <text>接车</text>
</view> </view>
<view class="dlanniu" @click="edit()" v-else>
<text>确认修改</text>
</view>
<u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms" <u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms"
@cancel="cancels" keyName="label"></u-picker> @cancel="cancels" keyName="label"></u-picker>
@ -234,27 +210,6 @@
async onLoad(options) { async onLoad(options) {
this.isLoading = true this.isLoading = true
await this.getinitialize() await this.getinitialize()
await this.getLeadeMan()
await this.getMeetMan()
uni.$on('selectProject', (data) => {
this.inspectionWorkNodes = data
for (var i = 0; i < this.inspectionWorkNodes.length; i++) {
this.inspectionWorkNodeStr = this.inspectionWorkNodeStr + this.inspectionWorkNodes[i]
.projectName + " "
this.inspectionWorkNodes[i].orderNum = i + 1
}
});
if (options.inspectionInfoId) {
this.isInsert = false
this.inspectionId = options.inspectionInfoId
this.title = '修改线下订单'
await this.getInspectionInfo()
}
//
if (options.appointmentId) {
this.appointmentId = options.appointmentId
await this.getAppointmentDetail()
}
this.isLoading = false this.isLoading = false
}, },
onShow() { onShow() {
@ -379,53 +334,6 @@
cancelRecord() { cancelRecord() {
this.showRecord = false this.showRecord = false
}, },
/*获取预约记录详情*/
async getAppointmentDetail() {
let res = await request({
url: `/inspection/appointment/${this.appointmentId}`,
method: 'get'
})
if (res.data) {
//
this.buyName = res.data.buyName
this.buyPhone = res.data.buyPhoneNum
//
this.carNum = res.data.carNo
//
this.carNature = res.data.carNature
//
this.carModel = res.data.carModel
//
this.carIdNo = res.data.carIdNo
//skuid
this.skuId = res.data.skuId
//
this.driverLicenesImg = res.data.driverLicenesImg == null ? undefined : [this.baseImageUrl + '/' +
res.data.driverLicenesImg
]
console.log('照片', this.driverLicenesImg)
//goodsId
this.goodsId = res.data.goodsId
this.goodstext = this.findItemById(this.columnData, this.skuId).label
//
this.carRegisterDate = res.data.carRegisterDate
this.carRegisterDateStr = formatDate(res.data.carRegisterDate)
//
this.userAddress = res.data.address
//change
// change
const mockEvent = {
columnIndex: 0, //
index: this.findGroupById(this.columnData, this.skuId).index, //
picker: this.$refs.uPicker //
};
this.changeHandler(mockEvent);
//goodsId
this.goodsDefaultIndex = [this.goodsone[0].findIndex(item => item.value === this.goodsId), this
.$refs.uPicker.getColumnValues(1).findIndex(item => item.value == this.skuId)
]
}
},
findItemById(data, id) { findItemById(data, id) {
for (const group of data) { for (const group of data) {
for (const item of group) { for (const item of group) {
@ -450,30 +358,6 @@
} }
return null; // null return null; // null
}, },
/*获取引车员信息*/
getLeadeMan() {
request({
url: '/system/role/getUsersByRoleCode',
method: 'get',
params: {
code: "jcycy"
}
}).then(res => {
this.leadManList.push(res.data)
})
},
/*获取接车员信息*/
getMeetMan() {
request({
url: '/system/role/getUsersByRoleCode',
method: 'get',
params: {
code: "jcjchc"
}
}).then(res => {
this.meetManList.push(res.data)
})
},
confirmsnature(e) { confirmsnature(e) {
this.naturetext = e.value[0].label this.naturetext = e.value[0].label
@ -526,26 +410,13 @@
}) })
}, },
async getgoodes() { async getgoodes() {
if (this.carNum == '' || this.customerSource == "" || this.skuId == '' || this.leadManId == if (this.carNum == '' || this.carRegisterDate == '') {
undefined || this.carRegisterDate == '' || this.meetManId == undefined || this.meetManId ==
undefined) {
uni.showToast({ uni.showToast({
title: '车牌号 客户来源 商品 引车员 车辆注册日期 接车人 必填!', title: '车牌号 车辆注册日期 必填!',
icon: 'none' icon: 'none'
}) })
return return
} }
if (this.inspectionWorkNodes.length == 0) {
uni.showToast({
title: '请选择检测流程!',
icon: 'none'
})
return
}
this.inspectionWorkNodes.map(item => {
item.id = undefined
})
let data = { let data = {
partnerId: uni.getStorageSync('partnerId'), partnerId: uni.getStorageSync('partnerId'),
buyName: this.buyName, buyName: this.buyName,
@ -569,16 +440,17 @@
} }
let res = await request({ let res = await request({
url: '/system/info/add', url: '/inspection-meet-car-order/add',
method: 'post', method: 'post',
data: data data: data
}) })
if (res.code == 200) { if (res.code == 200) {
uni.showToast({ uni.showToast({
title: "检测已开始" title: "可以接车了"
}) })
} }
setTimeout(() => { setTimeout(() => {
uni.$emit('refresh')
uni.navigateBack() uni.navigateBack()
}, 2000); }, 2000);
}, },

View File

@ -1,6 +1,5 @@
<template> <template>
<view class="content"> <view class="content">
<view class="top_"> <view class="top_">
<view class="logo_imgs"> <view class="logo_imgs">
<image src="/static/imgs/logo.png" mode=""></image> <image src="/static/imgs/logo.png" mode=""></image>
@ -112,7 +111,10 @@
</view> </view>
<view class="hang_"></view> <view class="hang_"></view>
<view class="list_"> <view class="list_">
<view style="display: flex;justify-content:space-between">
<view class="title_">预约记录</view> <view class="title_">预约记录</view>
<view class="title_" @click="showScreen = true" style="color: rgb(60, 156, 255);">筛选</view>
</view>
<view style="margin-bottom: 30rpx;"> <view style="margin-bottom: 30rpx;">
<u-search placeholder="请输入车牌号或手机号" v-model="phoneNum" @search="pageNum=1;goodsList=[];getappointment()" <u-search placeholder="请输入车牌号或手机号" v-model="phoneNum" @search="pageNum=1;goodsList=[];getappointment()"
@custom="pageNum=1;goodsList=[];getappointment()" @change="clearTime()"></u-search> @custom="pageNum=1;goodsList=[];getappointment()" @change="clearTime()"></u-search>
@ -170,6 +172,18 @@
</scroll-view> </scroll-view>
</view> </view>
<u-popup mode="top" z-index="999999" :show="showScreen" closeable round="20" @close="closeScreen"
@open="openScreen">
<view style="padding: 50rpx;">
<view class="title_">选择日期</view>
<view class="example-body" style="margin-top: 30rpx;">
<uni-datetime-picker v-model="range" type="daterange" @maskClick="maskClick" />
</view>
<view style="margin-top: 30rpx;">
<u-button text="确定" style="width: 50%;" type="primary" @click="screenTime()"></u-button>
</view>
</view>
</u-popup>
<!-- 底部 --> <!-- 底部 -->
<view style="width: 100%; height: 50px;"></view> <view style="width: 100%; height: 50px;"></view>
<tabBar :msg="msg "></tabBar> <tabBar :msg="msg "></tabBar>
@ -200,7 +214,9 @@
titlemodeal: '通知', titlemodeal: '通知',
phoneNum: '', phoneNum: '',
isWorking: false, isWorking: false,
showScreen: false,
user: {}, user: {},
range: '',
baseUrl: '', baseUrl: '',
animate: false, animate: false,
partnerId: '', partnerId: '',
@ -282,39 +298,6 @@
// this.getappointment() // this.getappointment()
}, },
// onPullDownRefresh() {
// console.log("");
// uni.stopPullDownRefresh()
// },
// onReachBottom() {
// if (this.pageNum >= this.totalPages) {
// uni.showToast({
// title: '',
// icon: 'none'
// })
// } else {
// this.pageNum++
// this.getappointment()
// clearInterval(this.timer);
// this.timer = null;
// }
// },// onPullDownRefresh() {
// console.log("");
// uni.stopPullDownRefresh()
// },
// onReachBottom() {
// if (this.pageNum >= this.totalPages) {
// uni.showToast({
// title: '',
// icon: 'none'
// })
// } else {
// this.pageNum++
// this.getappointment()
// clearInterval(this.timer);
// this.timer = null;
// }
// },
onReady() { onReady() {
// //
this.calculateScrollHeight(); this.calculateScrollHeight();
@ -322,6 +305,10 @@
methods: { methods: {
formatDateChinese, formatDateChinese,
closeScreen() {
this.showScreen = false
},
openScreen() {},
calculateScrollHeight() { calculateScrollHeight() {
// //
const screenHeight = uni.getSystemInfoSync().windowHeight; const screenHeight = uni.getSystemInfoSync().windowHeight;
@ -331,10 +318,24 @@
this.scrollHeight = screenHeight - topHeight; this.scrollHeight = screenHeight - topHeight;
}, },
clearTime() { clearTime() {
console.log('只能够了');
clearInterval(this.timer); clearInterval(this.timer);
this.timer = null; this.timer = null;
}, },
//
screenTime() {
console.log(this.range);
if (this.range) {
this.startTime = this.range[0]
this.endTime = this.range[1]
} else {
this.startTime = null
this.endTime = null
}
this.pageNum = 1
this.goodsList = []
this.getappointment()
this.showScreen = false
},
/** /**
* 上滑加载数据 * 上滑加载数据
*/ */
@ -624,7 +625,9 @@
partnerId: this.partnerId, partnerId: this.partnerId,
phoneNum: this.phoneNum, phoneNum: this.phoneNum,
pageSize: this.pageSize, pageSize: this.pageSize,
pageNum: this.pageNum pageNum: this.pageNum,
startTime: this.startTime,
endTime: this.endTime
} }
let res = await request({ let res = await request({

View File

@ -9,12 +9,7 @@
</view> </view>
<view class="" style="display:flex;" @click="cleanSelectTime" v-if="queryParams.startTime"> <view class="" style="display:flex;" @click="cleanSelectTime" v-if="queryParams.startTime">
清除时间 清除时间
<u-icon <u-icon name="close-circle" size="24" color="#327DFB" style="margin-left: 10rpx"></u-icon>
name="close-circle"
size="24"
color="#327DFB"
style="margin-left: 10rpx"
></u-icon>
</view> </view>
</view> </view>
@ -49,9 +44,7 @@
</view> </view>
</view> </view>
<view class="container" v-else style="margin: 430rpx 0"> <view class="container" v-else style="margin: 430rpx 0">
<u-empty <u-empty mode="order">
mode="order"
>
</u-empty> </u-empty>
</view> </view>
<u-popup round="55" :show="isShowPop" @close="closePop" @open="openPop" :key="windowsHeight"> <u-popup round="55" :show="isShowPop" @close="closePop" @open="openPop" :key="windowsHeight">
@ -60,11 +53,7 @@
<text>选择筛选项</text> <text>选择筛选项</text>
<view style="display: flex;justify-content: space-between" @click="clearSelection"> <view style="display: flex;justify-content: space-between" @click="clearSelection">
<u-icon <u-icon name="close-circle" size="18" color="#327DFB"></u-icon>
name="close-circle"
size="18"
color="#327DFB"
></u-icon>
<text style="color:#327DFB;">清除筛选项</text> <text style="color:#327DFB;">清除筛选项</text>
</view> </view>
</view> </view>
@ -80,18 +69,9 @@
<text> <text>
{{ queryParams.customerSource || '请选择客户来源' }} {{ queryParams.customerSource || '请选择客户来源' }}
</text> </text>
<u-icon <u-icon v-if="queryParams.customerSource" name="close-circle" size="24"
v-if="queryParams.customerSource" color="#327DFB"></u-icon>
name="close-circle" <u-icon v-else name="arrow-down" size="14" color="#327DFB"></u-icon>
size="24"
color="#327DFB"
></u-icon>
<u-icon
v-else
name="arrow-down"
size="14"
color="#327DFB"
></u-icon>
</view> </view>
</view> </view>
<!-- 车型选择 --> <!-- 车型选择 -->
@ -101,18 +81,9 @@
<text> <text>
{{ goodsName || '请选择车型' }} {{ goodsName || '请选择车型' }}
</text> </text>
<u-icon <u-icon v-if="queryParams.goods" name="close-circle" size="24"
v-if="queryParams.goods" color="#327DFB"></u-icon>
name="close-circle" <u-icon v-else name="arrow-down" size="14" color="#327DFB"></u-icon>
size="24"
color="#327DFB"
></u-icon>
<u-icon
v-else
name="arrow-down"
size="14"
color="#327DFB"
></u-icon>
</view> </view>
</view> </view>
</view> </view>
@ -125,13 +96,9 @@
<view class="filter-section"> <view class="filter-section">
<text>支付方式</text> <text>支付方式</text>
<view class="options"> <view class="options">
<text <text class="options_content" v-for="(item, index) in payTypes" :key="index"
class="options_content"
v-for="(item, index) in payTypes"
:key="index"
@click="selectPayType(item.value)" @click="selectPayType(item.value)"
:class="{ selected: queryParams.payType === item.value }" :class="{ selected: queryParams.payType === item.value }">
>
{{ item.label }} {{ item.label }}
</text> </text>
</view> </view>
@ -140,13 +107,9 @@
<view class="filter-section"> <view class="filter-section">
<text>检测状态</text> <text>检测状态</text>
<view class="options"> <view class="options">
<text <text class="options_content" v-for="(item, index) in inspectionStatus" :key="index"
class="options_content"
v-for="(item, index) in inspectionStatus"
:key="index"
@click="selectInspectionStatus(item.value)" @click="selectInspectionStatus(item.value)"
:class="{ selected: queryParams.chooseStatus === item.value }" :class="{ selected: queryParams.chooseStatus === item.value }">
>
{{ item.label }} {{ item.label }}
</text> </text>
</view> </view>
@ -159,44 +122,26 @@
</view> </view>
</view> </view>
</u-popup> </u-popup>
<u-picker <u-picker :show="isShowCustomer" :columns="[customerSource]" keyName="label" closeOnClickOverlay
:show="isShowCustomer" @cancel="isShowCustomer = false" @close="isShowCustomer = false" @confirm="handleCustomerSourceConfirm"
:columns="[customerSource]" :overlay-style="{ zIndex: '10080' }" style="z-index: 10072"></u-picker>
keyName="label" <u-picker :show="isShowGoods" :columns="[goodsList]" keyName="label" closeOnClickOverlay
closeOnClickOverlay @cancel="isShowGoods = false" @close="isShowGoods = false" @confirm="handleGoodsConfirm"
@cancel="isShowCustomer = false" :overlay-style="{ zIndex: '10080' }" style="z-index: 10072"></u-picker>
@close="isShowCustomer = false" <u-datetime-picker :show="show" v-model="selectTime" mode="date" @close="show = false" @cancel="show = false"
@confirm="handleCustomerSourceConfirm" closeOnClickOverlay @confirm="confirmTime"></u-datetime-picker>
:overlay-style="{ zIndex: '10080' }"
style="z-index: 10072"
></u-picker>
<u-picker
:show="isShowGoods"
:columns="[goodsList]"
keyName="label"
closeOnClickOverlay
@cancel="isShowGoods = false"
@close="isShowGoods = false"
@confirm="handleGoodsConfirm"
:overlay-style="{ zIndex: '10080' }"
style="z-index: 10072"
></u-picker>
<u-datetime-picker
:show="show"
v-model="selectTime"
mode="date"
@close="show = false"
@cancel="show = false"
closeOnClickOverlay
@confirm="confirmTime"
></u-datetime-picker>
</view> </view>
</template> </template>
<script> <script>
import headersVue from '../../components/header/headers.vue'; import headersVue from '../../components/header/headers.vue';
import request from "@/utils/request"; import request from "@/utils/request";
import {formatDate, formatDateChinese, formatDateTimeToMinute, getDictDataByType} from "@/utils/utils"; import {
formatDate,
formatDateChinese,
formatDateTimeToMinute,
getDictDataByType
} from "@/utils/utils";
export default { export default {
data() { data() {
@ -228,8 +173,7 @@ export default {
isShowPop: false, isShowPop: false,
isShowCustomer: false, isShowCustomer: false,
payTypes: [], payTypes: [],
inspectionStatus: [ inspectionStatus: [{
{
label: "全部", label: "全部",
value: "1", value: "1",
}, },
@ -319,12 +263,10 @@ export default {
}, },
async getDictData() { async getDictData() {
if (!this.payTypes || this.payTypes.length === 0) { if (!this.payTypes || this.payTypes.length === 0) {
this.payTypes = [ this.payTypes = [{
{
label: "全部", label: "全部",
value: "", value: "",
} }]
]
this.payTypes = this.payTypes.concat(await getDictDataByType("pay_type")) this.payTypes = this.payTypes.concat(await getDictDataByType("pay_type"))
} }
}, },
@ -553,7 +495,8 @@ export default {
font-size: 28rpx; font-size: 28rpx;
color: #101A3E; color: #101A3E;
display: inline-block; display: inline-block;
max-width: 3em; /* 约等于4个汉字的宽度 */ max-width: 3em;
/* 约等于4个汉字的宽度 */
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;

View File

@ -14,13 +14,7 @@
<view class="mub"> <view class="mub">
<view class="top-ail"> <view class="top-ail">
<u-upload <u-upload :fileList="fileList" @afterRead="afterRead1" @delete="deletePic1" multiple :maxCount="1">
:fileList="fileList"
@afterRead="afterRead1"
@delete="deletePic1"
multiple
:maxCount="1"
>
<view class="dlanniu" style="width: 345px;"> <view class="dlanniu" style="width: 345px;">
<uni-icons type="scan" size="20" color="#ffffff"></uni-icons> <uni-icons type="scan" size="20" color="#ffffff"></uni-icons>
<text style="margin-left: 10px;">行驶证扫描</text> <text style="margin-left: 10px;">行驶证扫描</text>
@ -71,6 +65,16 @@
<input type="text" v-model="carIdNo" placeholder="请输入车辆识别代号"> <input type="text" v-model="carIdNo" placeholder="请输入车辆识别代号">
</view> </view>
</view> </view>
<view class="list-box">
<view class="l-left" @click="showRegisterDate = true">
<text style="color: red;font-weight: bold;text-align: center;">*</text>
车辆注册日期
<text class="xixi">点击选择</text>
</view>
<view class="l-right">
<input type="text" v-model="carRegisterDateStr" placeholder="请输入车辆注册日期">
</view>
</view>
<view class="list-box"> <view class="list-box">
<view class="l-left" @click="show = true"> <view class="l-left" @click="show = true">
<text style="color: red;font-weight: bold;text-align: center;">*</text> <text style="color: red;font-weight: bold;text-align: center;">*</text>
@ -154,32 +158,25 @@
<view class="dlanniu" @click="edit()" v-else> <view class="dlanniu" @click="edit()" v-else>
<text>确认修改</text> <text>确认修改</text>
</view> </view>
<u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms" @cancel="cancels" <u-picker :show="show" :columns="columns" :defaultIndex="kehuDefaultIndex" @confirm="confirms"
keyName="label"></u-picker> @cancel="cancels" keyName="label"></u-picker>
<u-picker :show="showgoods" ref="uPicker" :columns="goodsone" :defaultIndex="goodsDefaultIndex" <u-picker :show="showgoods" ref="uPicker" :columns="goodsone" :defaultIndex="goodsDefaultIndex"
@confirm="confirmgoods" @cancel="cancelgoods" @confirm="confirmgoods" @cancel="cancelgoods" @change="changeHandler" keyName="label"></u-picker>
@change="changeHandler" keyName="label"></u-picker>
<u-picker :show="shownature" :columns="nature" @confirm="confirmsnature" @cancel="cancelsnature" <u-picker :show="shownature" :columns="nature" @confirm="confirmsnature" @cancel="cancelsnature"
keyName="label"></u-picker> keyName="label"></u-picker>
<u-picker :show="showxin" :columns="xinlist" :defaultIndex="xinDefaultIndex" @confirm="confirmxin" <u-picker :show="showxin" :columns="xinlist" :defaultIndex="xinDefaultIndex" @confirm="confirmxin"
@cancel="cancelxin" @cancel="cancelxin" keyName="label"></u-picker>
keyName="label"></u-picker>
<u-picker :show="showzhi" :columns="zhilist" @confirm="confirmzhi" @cancel="cancelzhi" <u-picker :show="showzhi" :columns="zhilist" @confirm="confirmzhi" @cancel="cancelzhi"
keyName="label"></u-picker> keyName="label"></u-picker>
<u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex" @confirm="confirmLeadMan" <u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex"
@cancel="cancelLeadMan" @confirm="confirmLeadMan" @cancel="cancelLeadMan" keyName="nickname"></u-picker>
keyName="nickname"></u-picker> <u-datetime-picker :show="showRecord" v-model="recordTime" :formatter="formatter" @cancel="cancelRecord"
<u-datetime-picker @confirm="confirmRecord" mode="datetime"></u-datetime-picker>
:show="showRecord" <u-datetime-picker :show="showRegisterDate" v-model="carRegisterDate" mode="date"
v-model="recordTime" @cancel="showRegisterDate = false" @confirm="confirmRegisterDate"></u-datetime-picker>
:formatter="formatter"
@cancel="cancelRecord"
@confirm="confirmRecord"
mode="datetime"
></u-datetime-picker>
</view> </view>
</view> </view>
@ -193,7 +190,13 @@
import config from '@/config'; import config from '@/config';
import request from '../../utils/request'; import request from '../../utils/request';
import upload from '@/utils/upload.js' import upload from '@/utils/upload.js'
import {getToken, getTenantId} from '@/utils/auth' import {
formatDate
} from "@/utils/utils";
import {
getToken,
getTenantId
} from '@/utils/auth'
export default { export default {
data() { data() {
@ -212,11 +215,14 @@ export default {
radioValue: '0', radioValue: '0',
carModel: '', carModel: '',
carNature: '', carNature: '',
carRegisterDateStr: '',
carRegisterDate: '',
show: false, show: false,
shownature: false, shownature: false,
showgoods: false, showgoods: false,
showxin: false, showxin: false,
showzhi: false, showzhi: false,
showRegisterDate: false,
showRecord: false, showRecord: false,
showLeadMan: false, showLeadMan: false,
skuId: 0, skuId: 0,
@ -264,7 +270,8 @@ export default {
console.log('返回的数据', data) console.log('返回的数据', data)
this.inspectionWorkNodes = data this.inspectionWorkNodes = data
for (var i = 0; i < this.inspectionWorkNodes.length; i++) { for (var i = 0; i < this.inspectionWorkNodes.length; i++) {
this.inspectionWorkNodeStr = this.inspectionWorkNodeStr + this.inspectionWorkNodes[i].projectName + " " this.inspectionWorkNodeStr = this.inspectionWorkNodeStr + this.inspectionWorkNodes[i]
.projectName + " "
this.inspectionWorkNodes[i].orderNum = i + 1 this.inspectionWorkNodes[i].orderNum = i + 1
} }
}); });
@ -290,6 +297,13 @@ export default {
}) })
} }
}, },
confirmRegisterDate(e) {
//
this.carRegisterDateStr = formatDate(e.value)
this.carRegisterDate = e.value
console.log(this.carRegisterDate)
this.showRegisterDate = false
},
handleRadioChange(newValue) { handleRadioChange(newValue) {
if (newValue === '0') { if (newValue === '0') {
this.recordTime = '' this.recordTime = ''
@ -450,7 +464,8 @@ export default {
}) })
}, },
async getgoodes() { async getgoodes() {
if (this.carNum == '' || this.customerSource == "" || this.skuId == '' || this.leadManId == undefined) { if (this.carNum == '' || this.customerSource == "" || this.skuId == '' || this.leadManId ==
undefined) {
uni.showToast({ uni.showToast({
title: '车牌号 客户来源 商品 引车员 必填!', title: '车牌号 客户来源 商品 引车员 必填!',
icon: 'none' icon: 'none'
@ -590,10 +605,14 @@ export default {
setTimeout(() => { setTimeout(() => {
let result = this.leadManList let result = this.leadManList
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.id === res.data.leadManId); const index = subArray.findIndex(item => item.id === res.data
.leadManId);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -608,10 +627,14 @@ export default {
// //
let kehuResult = this.columns let kehuResult = this.columns
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.label === res.data.customerSource); const index = subArray.findIndex(item => item.label === res.data
.customerSource);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -624,10 +647,14 @@ export default {
// //
let xinResult = this.xinlist let xinResult = this.xinlist
.map((subArray, subArrayIndex) => { .map((subArray, subArrayIndex) => {
const index = subArray.findIndex(item => item.label === res.data.carStatus); const index = subArray.findIndex(item => item.label === res.data
.carStatus);
if (index !== -1) { if (index !== -1) {
// //
return {subArrayIndex, itemIndex: index}; return {
subArrayIndex,
itemIndex: index
};
} else { } else {
// null undefined // null undefined
return null; return null;
@ -670,8 +697,7 @@ export default {
getyes() { getyes() {
this.show = false this.show = false
}, },
open() { open() {},
},
close() { close() {
this.guige = false this.guige = false
}, },
@ -753,15 +779,13 @@ export default {
this.carModel = res.data.FrontInfo.Model this.carModel = res.data.FrontInfo.Model
this.carIdNo = res.data.FrontInfo.Vin this.carIdNo = res.data.FrontInfo.Vin
this.carNature = res.data.FrontInfo.UseCharacter this.carNature = res.data.FrontInfo.UseCharacter
this.carRegisterDate = res.data.FrontInfo.RegisterDate
this.carRegisterDateStr = formatDate(this.carRegisterDate)
uni.hideLoading(); uni.hideLoading();
uni.showToast({ uni.showToast({
title: '识别成功', title: '识别成功',
}); });
} }
} }
} }
</script> </script>

View File

@ -20,7 +20,7 @@
<scroll-view scroll-x="true" style="width: 100%;"> <scroll-view scroll-x="true" style="width: 100%;">
<view style="display: flex; align-items: center; white-space: nowrap;"> <view style="display: flex; align-items: center; white-space: nowrap;">
<view class="tap-box" v-for="(item, index) in tapList" :key="index" @click="tapqh(index)"> <view class="tap-box" v-for="(item, index) in tapList" :key="index" @click="tapqh(index)">
<view v-if="isExamine || getValueByText(item.text) !== '7'"> <view v-if="isExamine || !adminCanShow.includes(getValueByText(item.text))">
<view class="xhuihui" :class="{'xzhei': tapindex == index}" <view class="xhuihui" :class="{'xzhei': tapindex == index}"
style="white-space: nowrap;margin-right: 0.5rem"> style="white-space: nowrap;margin-right: 0.5rem">
{{ item.text }}{{ countMap.length !== 0 ? ('(' + countMap.get(getValueByText(item.text)) + ')') : '' }} {{ item.text }}{{ countMap.length !== 0 ? ('(' + countMap.get(getValueByText(item.text)) + ')') : '' }}
@ -34,7 +34,6 @@
<view class="mub"> <view class="mub">
<view class="top-ail"> <view class="top-ail">
<!-- 使用 scroll-view 包裹 SchoolInfo 组件 -->
<scroll-view class="school-scroll-view" scroll-y @scrolltolower="onReachBottomCus" <scroll-view class="school-scroll-view" scroll-y @scrolltolower="onReachBottomCus"
:style="{ height: scrollHeight + 'px' }" refresher-enabled @refresherrefresh="onRefresherrefresh" :style="{ height: scrollHeight + 'px' }" refresher-enabled @refresherrefresh="onRefresherrefresh"
:refresher-triggered="isTriggered"> :refresher-triggered="isTriggered">
@ -54,19 +53,22 @@
</view> </view>
<view class="m-top"> <view class="m-top">
<view class="top-left"> <view class="top-left" v-if="tapValue != '6'">
<view class="dhei">{{ item.goodsName }}</view> <view class="dhei" v-if="item.goodsName">{{ item.goodsName }}</view>
<text class="xhui">车型{{ item.goodsTitle }}</text> <text class="xhui" v-if="item.goodsTitle">车型{{ item.goodsTitle }}</text>
<text class="xhui" style="margin-left: 50rpx;"> <text class="xhui" style="margin-left: 50rpx;" v-if="item.skuName">
检测类型{{ item.skuName }} 检测类型{{ item.skuName }}
</text> </text>
</view> </view>
<view class="top-left" v-else>
<view class="dhei">待接车</view>
</view>
<view @click="callUser(item.buyPhone)" class="top-right" v-if="isShowClient"> <view @click="callUser(item.buyPhone)" class="top-right" v-if="isShowClient">
<image src="../../static/detection/teel.png" mode=""></image> <image src="../../static/detection/teel.png" mode=""></image>
</view> </view>
</view> </view>
<view class=""> <view class="">
<view v-if="isShowClient"> <view v-if="isShowClient || isExamine">
<view class="on-input"> <view class="on-input">
<uni-icons type="person" color="#999999" size="16"></uni-icons> <uni-icons type="person" color="#999999" size="16"></uni-icons>
<text>客户</text> <text>客户</text>
@ -77,11 +79,11 @@
<text>电话</text> <text>电话</text>
<text>{{ item.buyPhone }}</text> <text>{{ item.buyPhone }}</text>
</view> </view>
<view class="on-input"> <!-- <view class="on-input">
<uni-icons type="map" color="#999999" size="16"></uni-icons> <uni-icons type="map" color="#999999" size="16"></uni-icons>
<text>客户来源</text> <text>客户来源</text>
<text>{{ item.customerSource }}</text> <text>{{ item.customerSource }}</text>
</view> </view> -->
<view class="on-input" v-if="item.otherPhone"> <view class="on-input" v-if="item.otherPhone">
<uni-icons type="map" color="#999999" size="16"></uni-icons> <uni-icons type="map" color="#999999" size="16"></uni-icons>
<text>代办人电话</text> <text>代办人电话</text>
@ -95,10 +97,10 @@
</view> </view>
<view class="on-input" v-if="item.nodeNames"> <view class="on-input" v-if="item.nodeNames">
<uni-icons type="more" color="#999999" size="16"></uni-icons> <uni-icons type="more" color="#999999" size="16"></uni-icons>
<text class="single-line" v-if="tapValue != '7'">检测内容</text> <text class="single-line" v-if="!belowStandardShow.includes(tapValue)">检测内容</text>
<text class="single-line" style="color: red;" v-else>需重审项目</text> <text class="single-line" style="color: red;" v-else>需重审项目</text>
<text class="multi-line" <text class="multi-line"
:style="tapValue == '7' ? 'color:red' : ''">{{ item.nodeNames }}</text> :style="belowStandardShow.includes(tapValue) ? 'color:red' : ''">{{ item.nodeNames }}</text>
</view> </view>
<view class="bottom-di"> <view class="bottom-di">
<view class="button-container"> <view class="button-container">
@ -118,9 +120,12 @@
@click="getMeetMan();meetCarPhoto(item);showMeetMan = true" size="10"> @click="getMeetMan();meetCarPhoto(item);showMeetMan = true" size="10">
更换人员 更换人员
</u-button> </u-button>
<u-button class="button" @click="hge=true;getProject(item.id)" <u-button class="button" @click="hge=true;getProject(item)"
v-if="isExamine && tapValue == '7'" size="10">重审项目</u-button> v-if="isExamine && tapValue == '7'" size="10">重审项目</u-button>
<u-button class="button" @click="godetails(item)" size="10">查看详情</u-button> <u-button class="button" v-if="!detailButtonNoShow.includes(tapValue)"
@click="godetails(item)" size="10">查看详情</u-button>
<u-button class="button" v-if="tapValue == '8'" @click="goMeetOrderCreate(item)"
size="10">创建订单</u-button>
</view> </view>
</view> </view>
</view> </view>
@ -160,8 +165,8 @@
</view> </view>
</view> </view>
<view class="lanniu-container" v-else> <view class="lanniu-container" v-else>
<view class="lanniu" @click="gogogo"> <view class="lanniu" @click="gogogoMeetCarOrder">
<text>接车创建</text> <text>接车</text>
</view> </view>
</view> </view>
@ -202,6 +207,9 @@
} from "../../uni_modules/uni-forms/components/uni-forms/utils"; } from "../../uni_modules/uni-forms/components/uni-forms/utils";
import upload from "@/utils/upload"; import upload from "@/utils/upload";
import USearch from "@/uni_modules/uview-ui/components/u-search/u-search.vue"; import USearch from "@/uni_modules/uview-ui/components/u-search/u-search.vue";
import {
setStorageWithExpiry
} from '../../utils/auth';
export default { export default {
data() { data() {
@ -213,7 +221,7 @@
infoDatas: {}, infoDatas: {},
openMeetCar: false, openMeetCar: false,
isTriggered: false, isTriggered: false,
selectedInfoId: undefined, selectedInfo: undefined,
partnerId: uni.getStorageSync("partnerId"), partnerId: uni.getStorageSync("partnerId"),
goodsTitle: '', goodsTitle: '',
tapindex: 0, tapindex: 0,
@ -259,6 +267,10 @@
text: "待检测", text: "待检测",
value: "1" value: "1"
}, },
{
text: "接车转订单",
value: "8",
},
{ {
text: "待接车", text: "待接车",
value: "6", value: "6",
@ -294,6 +306,9 @@
beginButtonShow: ['1', '3', '4'], beginButtonShow: ['1', '3', '4'],
cancelButtonShow: ['2'], cancelButtonShow: ['2'],
meetCarButtonShow: ['6'], meetCarButtonShow: ['6'],
adminCanShow: ['7', '8'],
detailButtonNoShow: ['6', '8'],
belowStandardShow: ['7', '4'],
countMap: [], countMap: [],
csId: [], csId: [],
cstb: [{ cstb: [{
@ -362,22 +377,32 @@
this.scrollHeight = screenHeight - topHeight; this.scrollHeight = screenHeight - topHeight;
}, },
// //
getProject(id) { getProject(data) {
this.inspectionInfoId = id this.inspectionInfoId = data.id
request({ request({
url: '/system/info/getWeorkNodesById', url: '/system/info/getWeorkNodesById',
method: 'get', method: 'get',
params: { params: {
inspectionId: id inspectionId: data.id
} }
}).then(res => { }).then(res => {
this.selectProject = res.data this.selectProject = res.data
//
this.csId = data.nodeIds
console.log('this.csId', this.csId);
}) })
}, },
closehge() { closehge() {
this.hge = false this.hge = false
this.csId = [] this.csId = []
}, },
goMeetOrderCreate(data) {
//data
setStorageWithExpiry('meetCarOrderData', data, 120)
uni.navigateTo({
url: `/pages/index/Neworder?meetCarId=${data.id}`
})
},
Nnimamadewen(value, index) { Nnimamadewen(value, index) {
this.geindex = index this.geindex = index
this.type = value this.type = value
@ -396,6 +421,7 @@
// //
this.csId.push(data.id); this.csId.push(data.id);
} }
console.log('this.csId', this.csId);
}, },
/** /**
* 上滑加载数据 * 上滑加载数据
@ -501,14 +527,15 @@
}, },
/** 接车拍照提交*/ /** 接车拍照提交*/
submit() { submit(item) {
console.log('文件', this.fileList1) console.log('文件', this.fileList1)
console.log('infoid', this.selectedInfoId) console.log('infoid', this.selectedInfo)
request({ request({
url: '/system/info/meetCarPhoto', url: '/system/info/meetCarPhoto',
data: { data: {
inspectionInfoId: this.selectedInfoId, meetCarId: this.selectedInfo.id,
remark: this.remark, remark: this.remark,
sourceType: this.selectedInfo.sourceType,
dealImages: this.fileList1.map(item => item.url).join(',') dealImages: this.fileList1.map(item => item.url).join(',')
}, },
method: 'post' method: 'post'
@ -574,14 +601,14 @@
}, },
confirmsMeetMan(e) { confirmsMeetMan(e) {
const selectedUserId = e.value[0].id const selectedUserId = e.value[0].id
console.log('选择的工单id', this.selectedInfoId) console.log('选择的工单id', this.selectedInfo)
console.log('selectedUserId', e) console.log('selectedUserId', e)
// //
request({ request({
url: '/system/info/updateLeadMan', url: '/system/info/updateLeadMan',
method: 'post', method: 'post',
data: { data: {
id: this.selectedInfoId, id: this.selectedInfo.id,
meetManId: selectedUserId meetManId: selectedUserId
} }
}).then(res => { }).then(res => {
@ -691,7 +718,8 @@
} }
console.log('此时的tapindex', this.tapindex); console.log('此时的tapindex', this.tapindex);
const ids = this.infoDatas.filter(item => !item.nodeNames).map(item => item.id) const ids = this.infoDatas.filter(item => !item.nodeNames).map(item => item.id)
if (this.tapValue != '7') { if (this.tapValue != '6') {
if (!this.belowStandardShow.includes(this.tapValue)) {
if (ids && ids.length > 0) { if (ids && ids.length > 0) {
const response = await request({ const response = await request({
url: "/partnerOwn/partner/getProjectByIds?ids=" + ids, url: "/partnerOwn/partner/getProjectByIds?ids=" + ids,
@ -708,14 +736,32 @@
// //
if (ids && ids.length > 0) { if (ids && ids.length > 0) {
const response = await request({ const response = await request({
url: "/partnerOwn/partner/getProjectBelowStandardByIds?ids=" + ids, url: `/partnerOwn/partner/getProjectBelowStandardByIds`,
method: 'get' method: 'get',
params: {
ids: ids.join(','),
status: this.tapValue == '4' ? '3' : '',
type: this.tapValue == '7' ? '0' : ''
}
}) })
if (response.data) { if (response.data) {
const data = response.data const data = response.data
this.infoDatas.forEach(item => { this.infoDatas.forEach(item => {
this.$set(item, 'nodeNames', data[item.id]) let nodeNamesArr = []
let nodeIds = []
if (data[item.id]) {
data[item.id].forEach(data => {
nodeNamesArr.push(data.name)
nodeIds.push(data.id)
}) })
const nodeNames = nodeNamesArr.join('、')
this.$set(item, 'nodeNames', nodeNames)
this.$set(item, 'nodeIds', nodeIds)
console.log('数据', item);
}
})
}
} }
} }
} }
@ -778,7 +824,7 @@
}, },
/**接车拍照 */ /**接车拍照 */
meetCarPhoto(data) { meetCarPhoto(data) {
this.selectedInfoId = data.id this.selectedInfo = data
}, },
gogogo() { gogogo() {
uni.navigateTo({ uni.navigateTo({
@ -790,6 +836,11 @@
url: '/pages/index/oldOrder' url: '/pages/index/oldOrder'
}) })
}, },
gogogoMeetCarOrder() {
uni.navigateTo({
url: '/pages/index/meetCarOrder'
})
},
tapqh(index) { tapqh(index) {
// //
if (this.tapList[index].value == '6') { if (this.tapList[index].value == '6') {
@ -1125,8 +1176,8 @@
.bottomx { .bottomx {
margin: 0 auto; margin: 0 auto;
width: 225px; width: 425rpx;
height: 46px; height: 76rpx;
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
opacity: 1; opacity: 1;
border: 1px solid #0174F6; border: 1px solid #0174F6;