01.04(车商对账列表,结算单列表等

This commit is contained in:
Hong
2024-01-04 19:08:43 +08:00
parent aa5a9be2bb
commit db742a587b
10 changed files with 258 additions and 70 deletions

View File

@@ -126,4 +126,11 @@ export function receiveAccessoryDel(data) {
'method': 'get',
params: data
})
}
//领料完毕
export function receiveAccessoryRevise(id) {
return request({
'url': `/api/front/accessory/receive/accessory/revise${id}`,
'method': 'get',
})
}

View File

@@ -10,4 +10,27 @@ export function getPageList(params) {
params
})
}
//getUserInfo
//对账列表 /api/front/reconciliation/order/list
export function getReconciliationList(params) {
return request({
'url': '/api/front/reconciliation/order/list',
method: 'get',
params
})
}
//结算单
export function getStatementList(params) {
return request({
'url': '/api/front/reconciliation/statement/list',
method: 'get',
params
})
}
//对账详情
export function getReconciliationInfo(params) {
return request({
'url': '/api/front/reconciliation/info',
method: 'get',
params
})
}

View File

@@ -254,6 +254,15 @@
"navigationStyle": "custom"
}
},
{
"path" : "pages/carShop/mine/set/index",
"style" :
{
"navigationBarTitleText" : "设置",
"enablePullDownRefresh" : false,
"navigationStyle": "custom"
}
},
{
"path" : "pages/carShop/message/message",
"style" :

View File

@@ -48,7 +48,6 @@
</view>
<view slot="bottom">
<tabbar-carshop current="/pages/carShop/maintainOrder/maintainOrder"></tabbar-carshop>
</view>
</z-paging>
<!-- 处理弹出层 -->

View File

@@ -8,7 +8,7 @@
</view>
<view class="title">
</view>
<view class="image">
<view class="image" @click="navSetFn">
<image class="clear" src="@/static/images/carshop/user/set.png" mode=""></image>
</view>
</view>
@@ -91,6 +91,12 @@
};
},
methods: {
//去设置
navSetFn(){
uni.navigateTo({
url:'/pages/carShop/mine/set/index'
})
},
//to
navigatorFn(item) {
console.log(item);

View File

@@ -0,0 +1,85 @@
<template>
<view class="set">
<view class="set-menu">
<u-cell-group :border="false">
<u-cell v-for="(item,index) in menuList" :key="index" :title="item.text" :isLink="true"
@click="clickFn(item)" :customStyle="{padding:'12rpx 0rpx'}">
<view slot="title" class="u-slot-title f-a-i">
<text class="u-cell-text">{{item.text}}</text>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="set-bottom-button">
<u-button type="primary" shape="circle" text="退出登录" color="#13AFA8"
:customStyle='{height: "88rpx",marginRight: "16rpx",fontSize: "28rpx",fontWeight: 500,}'
@click="disposeShowFn(1)"></u-button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
menuList: [
// {
// text: '账号安全',
// path:'/pages/repair/user/changeCall/changeCall'
// },
{
text: '意见反馈',
path: '/pages/repair/user/feedback/feedback'
}, {
text: '清除缓存'
}]
};
},
methods: {
clickFn(item) {
if (item.path) {
uni.navigateTo({
url: item.path
})
} else {
uni.$u.toast('已清除缓存')
}
},
//退出登录
disposeShowFn(){
uni.navigateTo({
url:'/pages/login/server-login'
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
.set {
width: 100%;
height: 100vh;
}
.set-menu {
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
background-color: #fff;
padding: 0 32rpx 32rpx 32rpx;
}
.set-bottom-button {
width: 100%;
position: fixed;
left: 0;
bottom: 0;
padding: 10rpx 24rpx 40rpx 24rpx;
background: #fff;
}
</style>

View File

@@ -36,37 +36,37 @@
<view v-show="endTab==1">
<view class="reconciliation-list-cont" v-for="(item,index) in billList" :key="index"
@click="navParticularsFn(item)">
<view>11月18日</view>
<view>{{item.createTime}}</view>
<view class="f-a-i f-jcsb reconciliation-list-cont-shop">
<view class="f-a-i">
<image src="@/static/images/carshop/user/shop.png" mode=""></image>
<view class="shop-name">拱墅祥园路店</view>
<view class="shop-name">{{item.merName}}</view>
</view>
<view>
浙A·15J9G
{{item.carNo}}
</view>
</view>
<view class="f-jcsb reconciliation-list-cont-project">
<view class="flex">
<view>维修项目</view>
<view style="margin-left: 16rpx;">
<view>-B级保养</view>
<view>-更换轮胎</view>
<view>-更换脚踏板</view>
<view v-for="(item2,index2) in item.nameList" :key="index2">-{{item2}}</view>
<!-- <view>-更换轮胎</view>
<view>-更换脚踏板</view> -->
</view>
</view>
<view class="reconciliation-list-cont-project-price">
100.00
{{item.totalPrice}}
</view>
</view>
</view>
</view>
<view v-show="endTab==1">
<view v-show="endTab==2">
<view v-for="(item,index2) in billList" :key="index2">
<view class="billList-time">11</view>
<view class="billList-time">{{item.month}}</view>
<view class="f-a-i f-jcsb billList-status">
<view class="">未结算</view>
<view class="billList-price">100.00</view>
<view class="">{{item.isSettlement?'已结算':'未结算'}}</view>
<view class="billList-price">{{item.newTotalPrice?item.newTotalPrice:item.totalPrice}}</view>
</view>
</view>
</view>
@@ -77,6 +77,10 @@
</template>
<script>
import {
getReconciliationList,
getStatementList
} from "@/api/carShop/user/index.js"
export default {
data() {
return {
@@ -93,22 +97,31 @@
endTabFn(type) {
this.endTab = type
this.billList = []
this.$refs.paging.refresh();
},
//订单列表
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
// this.$request.queryList({
// pageNo,
// pageSize
// }).then(res => {
let arr = [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]
this.$refs.paging.complete(arr);
// })
if (this.endTab == 1) {
getReconciliationList({
page: pageNo,
limit: pageSize
}).then(res => {
this.$refs.paging.complete(res.data.list);
})
} else {
getStatementList({
page: pageNo,
limit: pageSize
}).then(res => {
this.$refs.paging.complete(res.data.list);
})
}
},
//详情
navParticularsFn(item) {
uni.navigateTo({
url: '/pages/carShop/mine/wallet/reconciliation/reconciliation_particulars'
url: `/pages/carShop/mine/wallet/reconciliation/reconciliation_particulars?id=` + item.id
})
},
//返回

View File

@@ -2,33 +2,37 @@
<template>
<view class="particulars">
<view class="particulars-header">
<view style="margin-bottom: 16rpx;">11月21日</view>
<view style="margin-bottom: 16rpx;">{{orderData.createTime}}</view>
<view class="f-a-i">
<view>合计:</view>
<u--text mode="price" text="728732.32" size="23" color="#fff" :bold="true"></u--text>
<u--text mode="price" :text="orderData.totalPrice" size="23" color="#fff" :bold="true"></u--text>
</view>
</view>
<view class="plate-number">
<u-collapse @change="change" @close="close" @open="open" :border="false">
<u-collapse-item title="浙A·15J9G" name="Docs guide">
<text slot="title" class="u-page__item__title__slot-title">浙A·15J9G</text>
<view class="plate-number-cont">
<u-collapse-item :title="orderData.carNo" name="Docs guide">
<text slot="title" class="u-page__item__title__slot-title">{{orderData.carNo}}</text>
<view class="plate-number-cont" v-for="(item,index) in projectList">
<view class="plate-number-cont-list f-a-i f-jcsb ">
<view class="maintenance-items">维修项目:</view>
<view class="maintenance-items-cont">四轮定位</view>
<view class="maintenance-items-cont">{{item.name}}</view>
</view>
<view class="plate-number-cont-list">
<view>材料明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>-</view>
<view><u--text mode="price" text="0" size="14" color="#111111"></u--text></view>
<view>
<u--text mode="price" text="0" size="14" color="#111111"></u--text>
</view>
</view>
</view>
<view class="plate-number-cont-list">
<view>工时明细:</view>
<view class="f-a-i f-jcsb maintenance-items-cont ma-top">
<view>轴承更换</view>
<view><u--text mode="price" text="80" size="14" color="#111111"></u--text></view>
<view>
<u--text mode="price" text="80" size="14" color="#111111"></u--text>
</view>
</view>
</view>
<view class=" f-a-i f-jcsb" style="padding: 24rpx;">
@@ -45,40 +49,44 @@
<text slot="title" class="u-page__item__title__slot-title">工单信息</text>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">工单号:</view>
<view class="maintenance-items-cont">M-2023100240035</view>
<view class="maintenance-items-cont">{{orderData.orderSn}}</view>
</view>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">车辆型号:</view>
<view class="maintenance-items-cont">EU系列</view>
<view class="maintenance-items-cont">{{orderData.modelName}}</view>
</view>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">车架号:</view>
<view class="maintenance-items-cont">A5-4545</view>
<view class="maintenance-items-cont">{{orderData.vinId}}</view>
</view>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">服务门店:</view>
<view class="maintenance-items-cont">星桔EV (杭州东新店)</view>
<view class="maintenance-items-cont">{{orderData.merName}}</view>
</view>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">司机:</view>
<view class="maintenance-items-cont">张晨</view>
<view class="maintenance-items-cont">{{orderData.name}}</view>
</view>
<view class="u-page__item__order f-a-i f-jcsb ">
<view class="maintenance-items">手机号码:</view>
<view class="maintenance-items-cont">18739735805</view>
<view class="maintenance-items-cont">{{orderData.phone}}</view>
</view>
</u-collapse-item>
</u-collapse>
</view>
</view>
</template>
<script>
import {
getReconciliationInfo
} from "@/api/carShop/user/index.js"
export default {
data() {
return {
orderData: {},
// 项目明细
projectList: []
};
},
methods: {
@@ -94,6 +102,16 @@
},
mounted() {
},
onLoad(options) {
console.log(options);
getReconciliationInfo({
id: options.id
}).then(res => {
console.log(res);
this.orderData = res.data
this.projectList = res.data.projectList
})
}
}
</script>

View File

@@ -87,11 +87,9 @@
<view class="f-a-i list-cont-num">
<text>预估:{{item2.ratedNum}}</text>
<text style="margin: 0 15rpx;">已领:{{item2.pickingNum}}</text>
<text>领取:</text>
<view class="list-cont-input ">
<text v-if="item2.pickingStatus!=2">领取:</text>
<view v-if="item2.pickingStatus!=2" class="list-cont-input ">
<u--input placeholder="输入数量" v-model="item2.num" inputAlign="right"></u--input>
<!-- <text v-if="!item.amendFlag">{{item2.num}}</text>
<u--input v-else placeholder="请输入数量" v-model="item2.num" inputAlign="right"></u--input> -->
</view>
</view>
</view>
@@ -100,6 +98,9 @@
<u-button text="确认领料" type="primary" shape="circle" color="#13AFA8" @click="navParticularsFn()"
:customStyle='{height: "96rpx",fontSize: "34rpx",fontWeight: 500,}'></u-button>
</view>
<!-- //确认删除材料模态框 -->
<u-modal :show="showModal" showCancelButton :title="title" :content='content' @confirm="confirm"
@cancel="showModal=false"></u-modal>
</view>
</template>
@@ -118,6 +119,10 @@
},
data() {
return {
//模态框
showModal: false,
title: '',
content: "",
valueNum: '',
orderInfo: {},
//套餐
@@ -125,10 +130,18 @@
//维修项目
// projectList: []
//订单id
orderId: ''
orderId: '',
objId: {}
}
},
methods: {
// 确认模态框
confirm() {
this.showModal = false
receiveAccessoryDel(this.objId).then(res => {
this.receiveInfoFn(this.orderId, false)
})
},
//删除按钮
delButtFn(index, type) {
if (type == 'ok') {
@@ -140,22 +153,13 @@
//确认删除
receiveAccessoryDelFn(item, item2) {
console.log(item, item2);
uni.showModal({
title: '删除材料',
content: `你确定要删除当前材料(${item2.name})`,
success: (res) => {
if (res.confirm) {
receiveAccessoryDel({
id: item2.id,
projectId: item.id
}).then(res => {
this.receiveInfoFn(this.orderId, false)
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
this.showModal = true
this.title = '删除材料'
this.content = `你确定要删除当前材料(${item2.name})`
this.objId = {
id: item2.id,
projectId: item.id
}
},
//修改按钮
amendFn(index) {
@@ -172,6 +176,7 @@
navParticularsFn() {
console.log(this.orderInfo);
console.log(this.materialRequisition);
let obj = {
id: this.orderInfo.id,
projectList: this.materialRequisition
@@ -194,6 +199,11 @@
} else {
item.allDelFlag = false
}
item.accessoryList.forEach(i => {
if (i.pickingStatus == 1) {
i.num = ''
}
})
})
this.orderInfo = res.data
this.packageItemRequestList = res.data.packageItemRequestList
@@ -204,7 +214,7 @@
},
onLoad(options) {
this.orderId = options.id
},
onShow() {
this.receiveInfoFn(this.orderId)

View File

@@ -29,11 +29,14 @@
<text>{{item.enterTime}}</text>
</view>
<view class="btns flex justify-end">
<u-button :customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
<u-button
:customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
shape="circle" v-if="item.pickingStatus==2">已领料</u-button>
<u-button :customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
<u-button
:customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
shape="circle" v-if="item.pickingStatus==1" @click="toStore(item)">继续领料</u-button>
<u-button :customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
<u-button
:customStyle="{width: '160rpx',height: '56rpx', margin: '0 0 0 16rpx', fontSize:'24rpx'}"
color="#13AFA8" shape="circle" v-if="item.pickingStatus==1"
@click="reject(item)">领料完毕</u-button>
<u-button
@@ -46,12 +49,16 @@
</z-paging>
</view>
<prompt-box ref="prompt" />
<!-- //确认领料完毕模态框 -->
<u-modal :show="showModal" showCancelButton :title="title" :content='content' @confirm="confirm"
@cancel="showModal=false"></u-modal>
</view>
</template>
<script>
import {
receiveList
receiveList,
receiveAccessoryRevise
} from "@/api/accessory/index.js"
export default {
data() {
@@ -59,14 +66,16 @@
current: 0,
show: false,
dataList: [],
query: {}
query: {},
showModal: false,
title: "",
content: ''
};
},
onLoad(option) {},
mounted() {
// 这里调用是避免参数获取不及时
this.$refs.paging.reload()
},
computed: {
@@ -82,14 +91,23 @@
})
},
argee(item) {
console.log('点击领料');
this.$tab.navigateTo(`/pages/repair/accessory/sub_warehowse/stock_requisition?id=${item.id}`)
},
reject() {
console.log('点击');
// 确认模态框
confirm() {
this.showModal = false
receiveAccessoryRevise(this.orderId).then(res => {
this.$refs.paging.reload()
})
},
//点击领料完毕
reject(item) {
this.showModal = true
this.title = '确定领料完毕'
this.content = `确定材料已领取完毕!`
this.orderId = item.id
},
toStore(item) {
console.log('点击继续领料');
this.$tab.navigateTo(`/pages/repair/accessory/sub_warehowse/stock_requisition?id=${item.id}`)
}
}