仓管修改配件价格
This commit is contained in:
parent
fb101bad59
commit
e99df47c2e
@ -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`
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 作废
|
||||
|
@ -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)=>{
|
||||
//不校验项目金额、折扣、数量必填,但是为null的设置为0
|
||||
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(()=>{
|
||||
//判断角色
|
||||
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({
|
||||
|
@ -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,7 +82,11 @@
|
||||
</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>
|
||||
@ -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.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++
|
||||
//此处调用自己获取数据列表的方法
|
||||
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
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user