This commit is contained in:
许允枞 2025-03-12 18:02:00 +08:00
parent 2f04c1adcf
commit a4c1fd25b4
3 changed files with 546 additions and 441 deletions

View File

@ -42,7 +42,7 @@
<text>检测类型</text> <text>检测类型</text>
<text>{{ detailData.goodsName }}</text> <text>{{ detailData.goodsName }}</text>
</view> </view>
<view class="dis-hui"> <view class="dis-hui" v-if="roleSelect == 'shop'">
<text></text> <text></text>
<text>{{ detailData.goodsPrice / 100 }}</text> <text>{{ detailData.goodsPrice / 100 }}</text>
</view> </view>

View File

@ -18,7 +18,7 @@
<view v-else> <view v-else>
<image :src="sureWorker.avatar" mode=""></image> <image :src="sureWorker.avatar" mode=""></image>
</view> </view>
<view style="margin-left: 35%;" v-if="sureWorker.workName" class="h-title">{{sureWorker.workName}} </view> <view style="margin-left: 35%;" v-if="sureWorker.nickname" class="h-title">{{ sureWorker.nickname }}</view>
<view class="sanniu" @click="getWorker()"> <view class="sanniu" @click="getWorker()">
<text>选择接待员</text> <text>选择接待员</text>
</view> </view>
@ -77,11 +77,28 @@
<view class="o-zui">{{ (orderInfo.payMoney + orderInfo.balance) / 100 }}</view> <view class="o-zui">{{ (orderInfo.payMoney + orderInfo.balance) / 100 }}</view>
</view> </view>
<view class="on-input">
<view class="o-left" @click="showLeadMan = true">
<text style="color: red;font-weight: bold;text-align: center;">*</text>
引车员
<text class="xixi">点击选择</text>
</view>
<view class="o-right">
<input type="text" v-model="leadManName" placeholder="请输入引车员">
</view>
</view>
<view class="on-input" @click="toSelectProject()" v-if="isInsert">
<view class="o-left">检测流程</view>
<view class="o-right">
<input type="textarea" v-model="inspectionWorkNodeStr" placeholder="点击选择检测流程">
</view>
</view>
</view> </view>
<view @click="takeOut()" class="annniu"> <view @click="takeOut()" class="annniu">
<view class="">开始检测</view> <view class="">开始检测</view>
</view> </view>
<u-picker :show="show" :columns="columns" keyName="label" @close="close" @confirm="confirm" @change="change" @cancel="cancel"></u-picker> <u-picker :show="show" :columns="columns" keyName="label" @close="close" @confirm="confirm" @change="change"
@cancel="cancel"></u-picker>
<u-popup :show="xling" @close="closexl" :round="10" @open="openxl"> <u-popup :show="xling" @close="closexl" :round="10" @open="openxl">
<view class="popup-box"> <view class="popup-box">
<view class="sousuo"> <view class="sousuo">
@ -92,7 +109,9 @@
<view class="list-box"> <view class="list-box">
<scroll-view class="list_scroll" scroll-y="true"> <scroll-view class="list_scroll" scroll-y="true">
<view class="list-qiu" v-for="(item,index) in workerList" :key="index"> <view class="list-qiu" v-for="(item,index) in workerList" :key="index">
<view class="">{{item.workName}} <text class="tel">{{item.workPhone}}</text> </view> <view class="">{{ item.nickname }}
<text class="tel">{{ item.mobile }}</text>
</view>
<view class="banniu"> <view class="banniu">
<text @click="sureWorkerFun(item)">选择</text> <text @click="sureWorkerFun(item)">选择</text>
</view> </view>
@ -101,12 +120,16 @@
</view> </view>
</view> </view>
</u-popup> </u-popup>
<u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex" @confirm="confirmLeadMan"
@cancel="cancelLeadMan"
keyName="nickname"></u-picker>
</view> </view>
</template> </template>
<script> <script>
import config from '@/config' import config from '@/config'
import request from '../../utils/request'; import request from '../../utils/request';
export default { export default {
data() { data() {
return { return {
@ -122,13 +145,29 @@
partnerId: uni.getStorageSync("partnerId"), partnerId: uni.getStorageSync("partnerId"),
orderInfo: {}, orderInfo: {},
searchValue: '', searchValue: '',
sureWorker:{} inspectionWorkNodeStr: "",
inspectionWorkNodes: [],
sureWorker: {},
leadManList: [],
showLeadMan: false,
defaultIndex: [0],
isInsert: true,
leadManName:'',
leadManId:'',
} }
}, },
onLoad(opion) { onLoad(opion) {
this.orderId = opion.orderId this.orderId = opion.orderId
this.getindex() this.getindex()
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
}
});
this.getLeadeMan()
}, },
methods: { methods: {
async takeOut() { async takeOut() {
@ -146,15 +185,30 @@
}) })
return return
} }
if (!this.inspectionWorkNodes.length) {
uni.showToast({
title: "请选择检测流程",
icon: "error"
})
return
}
if (!this.leadManId) {
uni.showToast({
title: "请选择引车员",
icon: "error"
})
return
}
let res = await request({ let res = await request({
url: '/partnerOwn/partner/takeOut', url: '/partnerOwn/partner/takeOut',
method: 'post', method: 'post',
params:{ data: {
partnerId: this.partnerId, partnerId: this.partnerId,
orderId: this.orderId, orderId: this.orderId,
workId: this.sureWorker.id, workId: this.sureWorker.id,
inspectionWorkNodes: this.inspectionWorkNodes,
leadManId: this.leadManId,
carNum: this.cph carNum: this.cph
}, },
}) })
@ -163,9 +217,7 @@
title: "订单正式开始" title: "订单正式开始"
}) })
setTimeout(() => { setTimeout(() => {
uni.navigateTo({ uni.navigateBack()
url:"/pages/index/index"
})
}, 1000); }, 1000);
} else { } else {
uni.showToast({ uni.showToast({
@ -175,6 +227,31 @@
} }
}, },
cancelLeadMan() {
this.showLeadMan = false
},
confirmLeadMan(e) {
this.leadManName = e.value[0].nickname
this.leadManId = e.value[0].id
this.showLeadMan = false
},
toSelectProject() {
uni.navigateTo({
url: `/pages/index/selectProject?selectProject=${JSON.stringify(this.inspectionWorkNodes)}`
})
},
/*获取引车员信息*/
getLeadeMan() {
request({
url: '/system/role/getUsersByRoleCode',
method: 'get',
params: {
code: "jcycy"
}
}).then(res => {
this.leadManList.push(res.data)
})
},
async sureWorkerFun(data) { async sureWorkerFun(data) {
this.sureWorker = data this.sureWorker = data
this.xling = false this.xling = false
@ -188,7 +265,7 @@
partnerId: this.partnerId, partnerId: this.partnerId,
workName: this.searchValue, workName: this.searchValue,
pageNum: 1, pageNum: 1,
pageSize:100, pageSize: 1000,
}, },
}) })
this.workerList = res.rows this.workerList = res.rows
@ -237,6 +314,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.content { .content {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
@ -257,18 +335,22 @@
padding-bottom: 15px; padding-bottom: 15px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.t-title { .t-title {
font-size: 17px; font-size: 17px;
font-weight: bold; font-weight: bold;
color: #333333; color: #333333;
} }
.t-left { .t-left {
width: 10%; width: 10%;
} }
.t-you { .t-you {
height: 100%; height: 100%;
width: 10%; width: 10%;
} }
.x-box { .x-box {
width: 95%; width: 95%;
margin: 10px auto; margin: 10px auto;
@ -278,6 +360,7 @@
padding: 10px; padding: 10px;
background: white; background: white;
} }
.touxiang { .touxiang {
width: 50px; width: 50px;
height: 50px; height: 50px;
@ -286,6 +369,7 @@
margin: 10px auto; margin: 10px auto;
} }
.sanniu { .sanniu {
width: 105px; width: 105px;
height: 35px; height: 35px;
@ -300,6 +384,7 @@
line-height: 15px; line-height: 15px;
margin: 0 auto; margin: 0 auto;
} }
.annniu { .annniu {
width: 90%; width: 90%;
height: 45px; height: 45px;
@ -314,6 +399,7 @@
line-height: 15px; line-height: 15px;
margin: 15px auto; margin: 15px auto;
} }
.banniu { .banniu {
width: 20%; width: 20%;
height: 30px; height: 30px;
@ -326,15 +412,18 @@
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
} }
.box { .box {
} }
.box-dis { .box-dis {
box-sizing: border-box; box-sizing: border-box;
padding: 15px; padding: 15px;
// border-bottom: 1px solid #EEEEEE; // border-bottom: 1px solid #EEEEEE;
display: flex; display: flex;
} }
.shop-img { .shop-img {
width: 80px; width: 80px;
height: 80px; height: 80px;
@ -342,6 +431,7 @@
overflow: hidden; overflow: hidden;
margin-right: 10px; margin-right: 10px;
} }
.dis-hui { .dis-hui {
width: 100%; width: 100%;
display: flex; display: flex;
@ -351,12 +441,14 @@
color: #999999; color: #999999;
margin-bottom: 5px; margin-bottom: 5px;
} }
.h-title { .h-title {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
color: #333333; color: #333333;
margin-bottom: 5px; margin-bottom: 5px;
} }
.box-top { .box-top {
box-sizing: border-box; box-sizing: border-box;
padding: 15px; padding: 15px;
@ -366,6 +458,7 @@
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
} }
.t-input { .t-input {
width: 90%; width: 90%;
margin: 20px auto; margin: 20px auto;
@ -375,6 +468,7 @@
padding: 2px 5px; padding: 2px 5px;
} }
.on-input { .on-input {
width: 100%; width: 100%;
display: flex; display: flex;
@ -382,6 +476,7 @@
align-items: center; align-items: center;
margin: 15px auto; margin: 15px auto;
} }
.bottom-input { .bottom-input {
border-top: 1px solid #F4F4F4; border-top: 1px solid #F4F4F4;
box-sizing: border-box; box-sizing: border-box;
@ -390,21 +485,25 @@
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
} }
.o-left { .o-left {
font-size: 15px; font-size: 15px;
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
} }
.o-right { .o-right {
font-size: 15px; font-size: 15px;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
} }
.o-zui { .o-zui {
font-size: 20px; font-size: 20px;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
} }
.popup-box { .popup-box {
overflow: hidden; overflow: hidden;
border-radius: 8px; border-radius: 8px;
@ -413,6 +512,7 @@
width: 100%; width: 100%;
background-color: white; background-color: white;
} }
.sousuo { .sousuo {
width: 95%; width: 95%;
margin: 0 auto; margin: 0 auto;
@ -426,10 +526,12 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
input { input {
width: 80%; width: 80%;
} }
} }
.list-box { .list-box {
width: 100%; width: 100%;
height: 300px; height: 300px;
@ -437,12 +539,14 @@
box-sizing: border-box; box-sizing: border-box;
} }
.list_scroll { .list_scroll {
height: 100%; // height: 100%; //
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.list-qiu { .list-qiu {
width: 95%; width: 95%;
border-bottom: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE;
@ -452,6 +556,7 @@
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.tel { .tel {
margin-left: 5px; margin-left: 5px;
font-size: 15px; font-size: 15px;