diff --git a/components/orderCard.vue b/components/orderCard.vue
index 7e876a4..ff0389c 100644
--- a/components/orderCard.vue
+++ b/components/orderCard.vue
@@ -70,6 +70,9 @@
修改项目
+
+ 修改价格
+
查看详情
@@ -95,6 +98,12 @@ export default {
default: () => {
return {}
}
+ },
+ userInfo: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
computed: {
@@ -119,14 +128,11 @@ export default {
roleCanJd:false,
//当前用户是否可以进行施工、施工过程、结束施工操作---
roleCanSg:false,
- //当前用户
- userInfo:{},
ifLeader:false,
}
},
mounted(){
this.ifLeader = getStrData('ifLeader')
- this.userInfo = getUserInfo()
if(this.userInfo.roleCodes.includes("service_advisor") || this.userInfo.roleCodes.includes("general_inspection") || (this.userInfo.roleCodes.includes("repair_staff") && getStrData("ifLeader"))){
//服务顾问、总检可以派工,维修班组长需要判断是否可以派工
this.roleCanPg = true
@@ -167,6 +173,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`
+ });
+ },
/**
* 作废
diff --git a/pages-home/home/home.vue b/pages-home/home/home.vue
index 0c7a3e3..a08f7fb 100644
--- a/pages-home/home/home.vue
+++ b/pages-home/home/home.vue
@@ -3,6 +3,9 @@
+
+ {{ companyInfo.simpleName || companyInfo.corpName }}
+
@@ -67,25 +70,35 @@
+
+
+
+
+ {{ item }}
+
+
+
+
+
+ 维修中
+ {{ bossNum.workingNum }}
+
+
+
+ 已完成
+ {{ bossNum.doneNum }}
+
+
+
-
+
待审批配件申请单
{{serviceNum}}
-
-
-
- 维修中
- {{ bossNum.workingNum }}
-
-
-
- 已完成
- {{ bossNum.doneNum }}
-
-
待办工单
@@ -97,7 +110,7 @@
-
+
@@ -179,6 +192,9 @@ export default {
avatar: undefined,
nickname: ''
},
+ //时间可选项--总检、业务管理员用
+ timePicker:['当日','累计'],
+ active:0,
menuList: [
{
title: '新建工单',
@@ -231,6 +247,8 @@ export default {
//告知客户的内容
tellCusText:"",
ifLeader:false,
+ //企业信息
+ companyInfo:{},
}
},
onLoad(){
@@ -239,6 +257,7 @@ export default {
url: '/pages/login/login'
})
}else{
+ this.companyInfo = getJSONData("companyInfo")
if(!this.$msgSocket){
this.$startMsgSocket(getTenantId(),getStrData("userId"))
}
@@ -269,6 +288,11 @@ export default {
}
},
methods: {
+ activeTab(index) {
+ this.active = index
+ //刷新统计数据
+ this.getBossTodo()
+ },
/**
* 作废
*/
@@ -557,9 +581,13 @@ export default {
* 从总检的角度差维修中、已完成的工单数量
*/
getBossTodo(){
+ let params={
+ selectType:this.active==0?"today":"all"
+ }
request({
url: '/admin-api/repair/tickets/getBossNum',
method: 'get',
+ params:params
}).then((res) => {
console.log(res)
if (res.code == 200) {
@@ -751,6 +779,12 @@ export default {
overflow: auto;
padding-bottom: 30rpx;
}
+ .company-text {
+ font-size: 30rpx;
+ font-weight: bold;
+ display: inline-block;
+ padding: 8rpx 16rpx;
+ }
.userInfoBox {
margin: 0 32rpx 40rpx;
@@ -920,7 +954,7 @@ export default {
}
}
.orderCount {
- margin: 40rpx 32rpx;
+ margin: 0 40rpx 32rpx;
background: #FFFFFF;
border-radius: 8rpx 8rpx 8rpx 8rpx;
padding: 40rpx;
@@ -1064,6 +1098,35 @@ export default {
}
}
+ .body-top-tab {
+ display: flex;
+ font-size: 30rpx;
+ margin: 0 32rpx;
+
+ .body-top-tab-item {
+ flex: 1;
+ width: 0;
+ text-align: center;
+ padding: 16rpx 20rpx;
+ position: relative;
+
+ &.active {
+ color: #0174F6;
+ }
+
+ .activeLine {
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 96rpx;
+ height: 6rpx;
+ background: #0174F6;
+ border-radius: 4rpx 4rpx 0rpx 0rpx;
+ }
+ }
+ }
+
.repairShop {
width: 686rpx;
margin: 38rpx auto 0;
diff --git a/pages-order/orderDetail/orderDetail.vue b/pages-order/orderDetail/orderDetail.vue
index 57b2c01..84b0fc5 100644
--- a/pages-order/orderDetail/orderDetail.vue
+++ b/pages-order/orderDetail/orderDetail.vue
@@ -120,7 +120,7 @@
-
+
{{ item.itemName }}
¥{{ item.itemMoney }}
@@ -133,7 +133,7 @@
折扣:
金额:
-
+
售价:{{ item.itemPrice || "" }}
数量:{{ item.itemCount || "" }}
@@ -150,11 +150,11 @@
{{item.saleName || ""}}
-
-
+
@@ -167,11 +167,11 @@
施工人员
{{ item.repairNames || ""}}
-
-
+
@@ -187,12 +187,18 @@
-
{{ item.itemName }}
¥{{ item.itemMoney }}
-
+
+ 售价:
+ 数量:
+ 单位:
+ 折扣:
+ 金额:{{ item.itemMoney || "" }}
+
+
售价:{{ item.itemPrice || "" }}
数量:{{ item.itemCount || "" }}
单位:{{ item.itemUnit || ""}}
@@ -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(()=>{
- 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({
diff --git a/pages-warehouse/home/home.vue b/pages-warehouse/home/home.vue
index ccd487f..9f6a0fc 100644
--- a/pages-warehouse/home/home.vue
+++ b/pages-warehouse/home/home.vue
@@ -51,7 +51,7 @@
-
+
{{ item.repairName }}{{ '配件申请单' }}
@@ -82,9 +82,13 @@
-
+
+
+
+
+
@@ -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,24 +142,19 @@ 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,
@@ -241,7 +243,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()
+ }
},
/**
* 配件单查询
@@ -272,7 +279,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
+ }
+ })
+ },
/**
* 上滑加载数据
@@ -286,7 +340,11 @@ export default {
//页码+1,调用获取数据的方法获取第二页数据
this.queryParams.pageNo++
//此处调用自己获取数据列表的方法
- this.getTicketWares()
+ if(this.active==3){
+ this.getOrderList()
+ }else{
+ this.getTicketWares()
+ }
},
/**
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 6a65471..02338b1 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -24,32 +24,52 @@
}
}
},
- onLoad() {
- // #ifdef APP
- //保活技术
- this.register()
- // #endif
- if(getToken()){
+ onLoad() {
+ // #ifdef APP
+ //保活技术
+ this.register()
+ // #endif
+ if (getToken()) {
this.getNoReadNum()
//跳转首页
//判断是否是仓管,仓管需要跳单独的首页
let userInfo = getUserInfo()
- if(userInfo.roleCodes.includes('repair_warehouse')){
+ if (userInfo.roleCodes.includes('repair_warehouse')) {
//仓管
uni.navigateTo({
url: '/pages-warehouse/home/home'
})
- }else{
+ } else {
uni.navigateTo({
url: '/pages-home/home/home'
})
}
- }else{
+ } else {
uni.navigateTo({
url: '/pages/login/login'
})
- }
- },
+ }
+ },
+ onShow(){
+ if (getToken()) {
+ //判断是否是仓管,仓管需要跳单独的首页
+ let userInfo = getUserInfo()
+ if (userInfo.roleCodes.includes('repair_warehouse')) {
+ //仓管
+ uni.navigateTo({
+ url: '/pages-warehouse/home/home'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/pages-home/home/home'
+ })
+ }
+ } else {
+ uni.navigateTo({
+ url: '/pages/login/login'
+ })
+ }
+ },
methods: {
register() { //注册
console.log(keepAlivePlugin, 'keepAlive');
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 874e3e7..68c581c 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -48,6 +48,8 @@
loginApp
} from '@/api/login';
import {
+ getToken,
+ getUserInfo,
setToken,
setTenantId,
getTenantId,
@@ -96,6 +98,22 @@
},
},
mounted() {},
+ onShow(){
+ if (getToken()) {
+ //判断是否是仓管,仓管需要跳单独的首页
+ let userInfo = getUserInfo()
+ if (userInfo.roleCodes.includes('repair_warehouse')) {
+ //仓管
+ uni.navigateTo({
+ url: '/pages-warehouse/home/home'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/pages-home/home/home'
+ })
+ }
+ }
+ },
methods: {
wxlogin() {
uni.login({
@@ -163,6 +181,8 @@
setToken(res.data.loginResult.accessToken)
setUserInfo(res.data.userinfo)
setStrData("userId",res.data.userinfo.id)
+ //查租户下维修企业信息
+ this.getCompanyInfo()
this.getNoReadNum()
if(res.data.userinfo.roleCodes.includes("repair_staff")){
//维修工角色,需要再查一下是否是班组长
@@ -320,6 +340,18 @@
}
})
},
+ async getCompanyInfo(){
+ await request({
+ url: "/admin-api/base/company/getCompanyByTenantId",
+ method: "GET",
+ params:{tenantId:getTenantId(),systemCode:"weixiu"}
+ }).then((res) => {
+ if(res.code==200){
+ setJSONData("companyInfo",res.data)
+ console.log(res.data,"企业信息")
+ }
+ })
+ },
dianyidain() {
if(!this.ifPlay){
console.log('执行了,dianyidain');