仓管修改配件价格

This commit is contained in:
Vinjor 2024-11-15 14:46:55 +08:00
parent fb101bad59
commit e99df47c2e
3 changed files with 145 additions and 48 deletions

View File

@ -70,6 +70,9 @@
<view v-if="(order.ticketsStatus == '04' || order.ticketsStatus == '05')&& (userInfo.roleCodes.includes('weixiu') || userInfo.roleCodes.includes('service_advisor') || userInfo.roleCodes.includes('general_inspection'))" @click="addProj(order)" class="btn pg">
修改项目
</view>
<view @click="editWaresPrice" v-if="userInfo.roleCodes.includes('repair_warehouse')" class="btn pg">
修改价格
</view>
<view @click="gotoDetail" class="btn pg">
<!-- 在什么都不能操作的情况下可以查看详情-->
查看详情
@ -167,6 +170,14 @@ export default {
url: '/pages-order/orderDetail/orderDetail?id=' + this.order.id + '&isDetail=' + '1'
})
},
/**
* 修改配件价格
*/
editWaresPrice(){
uni.navigateTo({
url: `/pages-order/orderDetail/orderDetail?id=${this.order.id}&isDetail=0`
});
},
/**
* 作废

View File

@ -120,7 +120,7 @@
<view class="projList">
<template>
<view v-for="(item,index) in ticketInfo.projects" :key="item.id" class="projEditItem">
<view v-if="isDetail == '0'" class="del-proj-box" @click="delProj(item.id,index)"><uni-icons type="trash" size="25" style="color: #0174F6"></uni-icons></view>
<view v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail == '0'" class="del-proj-box" @click="delProj(item.id,index)"><uni-icons type="trash" size="25" style="color: #0174F6"></uni-icons></view>
<view class="projEditLine1">
<text>{{ item.itemName }}</text>
<text v-if="canSeeMoney" class="projAmount">{{ item.itemMoney }}</text>
@ -133,7 +133,7 @@
<view v-if="canSeeMoney">折扣<input @input="onKeyInput('zk',item)" style="background: white;padding: 0 10rpx" type="decimal" placeholder="请输入折扣0-1" v-model="item.itemDiscount" /></view>
<view v-if="canSeeMoney">金额<input type="number" disabled placeholder="请输入售价" v-model="item.itemMoney" /></view>
</view>
<view v-else class="projBaseInfo" v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail != '0'" >
<view v-else class="projBaseInfo" >
<!-- 只读 -->
<view v-if="canSeeMoney">售价{{ item.itemPrice || "" }}</view>
<view>数量{{ item.itemCount || "" }}</view>
@ -150,11 +150,11 @@
<text >{{item.saleName || ""}}
</text>
</view>
<image v-if="isDetail == '0'" src="/static/icons/edit.png" style="width: 28rpx;height: 28rpx"
<image v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail == '0'" src="/static/icons/edit.png" style="width: 28rpx;height: 28rpx"
@click="editPeople('xs', item)"></image>
</view>
</template>
<template v-if="isDetail == '0'">
<template v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail == '0'">
<image @click="editPeople('xs', item)"src="/pages-order/static/addIcon.png" style="width: 28rpx;height: 28rpx"></image>
<!-- <text class="addText" @click="editPeople('xs', item)">添加服务顾问</text>-->
</template>
@ -167,11 +167,11 @@
<text class="label">施工人员</text>
<text >{{ item.repairNames || ""}}</text>
</view>
<image v-if="isDetail == '0'" src="/static/icons/edit.png" style="width: 28rpx;height: 28rpx"
<image v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail == '0'" src="/static/icons/edit.png" style="width: 28rpx;height: 28rpx"
@click="editPeople('sg', item)"></image>
</view>
</template>
<template v-if="isDetail == '0'">
<template v-if="(loginUser.roleCodes.includes('weixiu') || loginUser.roleCodes.includes('service_advisor')||loginUser.roleCodes.includes('general_inspection')) && isDetail == '0'">
<image @click="editPeople('sg', item)" src="/pages-order/static/addIcon.png" style="width: 28rpx;height: 28rpx"></image>
<!-- <text class="addText" @click="editPeople('sg', item)">添加施工人员</text>-->
</template>
@ -187,12 +187,18 @@
<view class="projList">
<template>
<view v-for="item in ticketInfo.wares" :key="item.id" class="projEditItem">
<view class="projEditLine1">
<text>{{ item.itemName }}</text>
<text v-if="canSeeMoney" class="projAmount">{{ item.itemMoney }}</text>
</view>
<view class="projBaseInfo">
<view class="projBaseInfo" v-if="loginUser.roleCodes.includes('repair_warehouse') && isDetail == '0'" >
<view v-if="canSeeMoney">售价<input @input="onKeyInput('sj',item)" style="background: white;padding: 0 10rpx" type="decimal" placeholder="请输入售价" v-model="item.itemPrice" /></view>
<view>数量<input @input="onKeyInput('sl',item)" style="background: white;padding: 0 10rpx" type="number" placeholder="请输入数量" v-model="item.itemCount" /></view>
<view>单位<input style="padding: 0 10rpx" type="text" v-model="item.itemUnit" disabled /></view>
<view v-if="canSeeMoney">折扣<input @input="onKeyInput('zk',item)" style="background: white;padding: 0 10rpx" type="decimal" placeholder="请输入折扣0-1" v-model="item.itemDiscount" /></view>
<view v-if="canSeeMoney">金额{{ item.itemMoney || "" }}</view>
</view>
<view class="projBaseInfo" v-else >
<view v-if="canSeeMoney">售价{{ item.itemPrice || "" }}</view>
<view>数量{{ item.itemCount || "" }}</view>
<view>单位{{ item.itemUnit || ""}}</view>
@ -467,6 +473,7 @@ export default {
},
submit (){
let canSubmit = true
let itemList = []
//
if(this.ticketInfo.projects && this.ticketInfo.projects.length>0){
this.ticketInfo.projects.map((item)=>{
@ -490,30 +497,49 @@ export default {
item.itemDiscount = 1
}
item.itemMoney = item.itemPrice*item.itemCount*item.itemDiscount
let itemObj = {
id:item.id,
ticketId:item.ticketId,
itemPrice:item.itemPrice,
itemCount:item.itemCount,
itemDiscount:item.itemDiscount,
itemMoney:item.itemMoney,
}
itemList.push(itemObj)
})
}
//APP--
// if(this.ticketInfo.wares && this.ticketInfo.wares.length>0){
// this.ticketInfo.wares.map((item)=>{
// if((item.itemPrice && item.itemPrice>0) && (item.itemCount && item.itemCount>0) && (item.itemDiscount && item.itemDiscount>0 && item.itemDiscount<=1)){
// //
// item.itemMoney = item.itemPrice*item.itemCount*item.itemDiscount
// }else{
// canSubmit=false
// uni.showToast({
// title: ''+item.itemName+'',
// icon: 'none'
// })
// return
// }
// })
// }
//
if(this.ticketInfo.wares && this.ticketInfo.wares.length>0){
this.ticketInfo.wares.map((item)=>{
//null0
if(!item.itemPrice){
item.itemPrice = 0
}
if(!item.itemCount){
item.itemCount = 0
}
if(!item.itemDiscount){
item.itemDiscount = 1
}
item.itemMoney = item.itemPrice*item.itemCount*item.itemDiscount
let itemObj = {
id:item.id,
ticketId:item.ticketId,
itemPrice:item.itemPrice,
itemCount:item.itemCount,
itemDiscount:item.itemDiscount,
itemMoney:item.itemMoney,
}
itemList.push(itemObj)
})
}
if(canSubmit){
//
request({
url: '/admin-api/repair/titem/updateRepairItem',
method: 'PUT',
data:{"itemList":this.ticketInfo.projects,"delProjIdList":this.delProjId,"ticketId":this.ticketId}
data:{"itemList":itemList,"delProjIdList":this.delProjId,"ticketId":this.ticketId}
}).then((res) => {
if(res.code==200){
uni.showToast({
@ -521,9 +547,18 @@ export default {
icon: 'none'
})
setTimeout(()=>{
uni.navigateTo({
url: '/pages-home/home/home'
})
//
if(this.loginUser.roleCodes.includes('repair_warehouse')){
//
uni.navigateTo({
url: '/pages-warehouse/home/home'
})
}else{
//
uni.navigateTo({
url: '/pages-home/home/home'
})
}
},700)
}else{
uni.showToast({

View File

@ -51,7 +51,7 @@
<scroll-view :refresher-triggered="isTriggered" @scrolltolower="onReachBottomCus" class="itemContent"
refresher-enabled
scroll-y="true" style="height: 100%" @refresherrefresh="onRefresherrefresh">
<view v-for="(item, index) in ticketWares" :key="index" class="orderItem">
<view v-if="active!=3" v-for="(item, index) in ticketWares" :key="index" class="orderItem">
<view class="order-top">
<view class="order-top-left">
<text class="order-top-name">{{ item.repairName }}{{ '配件申请单' }}</text>
@ -82,9 +82,13 @@
</template>
</view>
</view>
<view v-if="ticketWares.length==0" style="text-align: center">
<view v-if="ticketWares.length==0 && active!=3" style="text-align: center">
<image class="" src="@/static/images/nothing.png"></image>
</view>
<order-card v-if="active==3" v-for="(item, index) in orderList" :key="index" :order="item" @childEvent="onRefresherrefresh" @doVoid="doVoidReq" @getOrder="openFile" @startWork="startWork" @addProj="addProj"></order-card>
<view style="text-align: center" v-if="orderList.length==0 && active==3">
<image class="" src="@/static/images/nothing.png" ></image>
</view>
</scroll-view>
</view>
</view>
@ -105,7 +109,7 @@ import {
getTenantId,
setJSONData
} from '@/utils/auth'
import {getDictTextByCodeAndValue, formatDate, formatTimestamp} from "@/utils/utils";
import {getDictTextByCodeAndValue, formatDate,builderOrder, formatTimestamp} from "@/utils/utils";
export default {
components: {
@ -125,6 +129,9 @@ export default {
{
name: '待审核'
},
{
name: '进行中工单'
},
],
//
queryParams: {
@ -135,31 +142,24 @@ export default {
},
//
ticketWares: [],
//
orderList:[],
//
total: 0,
//
isTriggered: false,
imgUrlPrex: config.baseImageUrl,
userInfo: {
avatar: undefined,
nickname: ''
},
isShow: true,
active: 0,
bannerIndex: 0,
shopList: [],
bannerList: [],
richTextHtml: null,
defaultAvatar: require('@/static/icons/avatar.png'),
//
noReadNum: 0,
//
noticeNum: 0,
//
ifFirstLogin:true,
}
},
onLoad() {
@ -227,7 +227,12 @@ export default {
this.queryParams.pageNo = 1
this.total = 0
this.ticketWares = []
this.getTicketWares()
this.orderList = []
if(this.active==3){
this.getOrderList()
}else{
this.getTicketWares()
}
},
/**
* 配件单查询
@ -258,7 +263,54 @@ export default {
}
})
},
/**
* 查本人待处理工单
*/
getOrderList(){
let paramsObj = {pageNo: this.queryParams.pageNo, pageSize: this.queryParams.pageSize ,ticketNo:this.queryParams.query}
request({
url: '/admin-api/repair/tickets/pageType',
method: 'get',
params:paramsObj
}).then((res) => {
console.log(res)
if (res.code == 200) {
let thisPageRecords = []
if(res.data && res.data.hasOwnProperty("records")){
for (let i = 0; i < res.data.records.length; i++) {
let order = res.data.records[i]
let viewOrder = builderOrder(order)
if(order.booking){
viewOrder['appointDate'] = formatTimestamp(order.createTime)
}
let projectList = []
if(order.itemList){
for (let j = 0; j < order.itemList.length; j++) {
let itemObj = order.itemList[j]
if("01"==itemObj.itemType){
projectList.push({
id:itemObj.id,
name:itemObj.itemName
})
}
}
}
viewOrder['projectList'] = projectList
thisPageRecords.push(viewOrder)
}
}
// concat n
if (this.pageNo != 1) {
this.orderList = this.orderList.concat(thisPageRecords)
} else {
this.orderList = thisPageRecords
}
//
this.total = res.data.total
this.isTriggered = false
}
})
},
/**
* 上滑加载数据
@ -272,7 +324,11 @@ export default {
//+1,
this.queryParams.pageNo++
//
this.getTicketWares()
if(this.active==3){
this.getOrderList()
}else{
this.getTicketWares()
}
},
/**
@ -321,11 +377,6 @@ export default {
if (res.code == 200) {
this.noReadNum = res.data > 99 ? 99 : res.data
}
if(this.ifFirstLogin && this.noReadNum>0){
console.log("播放")
this.$refs.tarBar.dianyidain()
this.ifFirstLogin=false
}
})
},
/**