|
|
|
|
@ -40,6 +40,13 @@ |
|
|
|
|
<view class="repair_title">派单信息</view> |
|
|
|
|
<u-form labelPosition="left" :rules="sendRules" ref="sendOrderForm" :model="sendOrder" :label-width="200" |
|
|
|
|
class="repair_form"> |
|
|
|
|
<!-- 维修类型 --> |
|
|
|
|
<u-form-item label="维修类型:" prop="name" :border-bottom="false" :required="true"> |
|
|
|
|
<u-input v-if="dataTypes == 2" v-model="repairTypeData.name" type="select" :border="true" |
|
|
|
|
@click="repairTypeShow = true" :disabled="disabled" /> |
|
|
|
|
<u-input v-if="dataTypes == 4" v-model="repairTypeData.name" :border="true" placeholder="" |
|
|
|
|
:disabled="disabled" :class="disabled ? 'sp-new-input-diabled' : ''" /> |
|
|
|
|
</u-form-item> |
|
|
|
|
<u-form-item label="维修人员:" prop="name" :border-bottom="false" :required="true"> |
|
|
|
|
<u-input v-if="dataTypes == 2" v-model="sendOrder.name" type="select" :border="true" |
|
|
|
|
@click="sendOrdersShow = true" :disabled="disabled" /> |
|
|
|
|
@ -83,13 +90,15 @@ |
|
|
|
|
</u-form-item> |
|
|
|
|
</u-form> |
|
|
|
|
</view> |
|
|
|
|
<view class="repair_detail" v-if="detailForm.status == 400 || detailForm.status == 300 || detailForm.status == 102"> |
|
|
|
|
<view class="repair_detail" |
|
|
|
|
v-if="detailForm.status == 400 || detailForm.status == 300 || detailForm.status == 102"> |
|
|
|
|
<view class="repair_title" v-if="detailForm.status == 400">维修人员驳回</view> |
|
|
|
|
<view class="repair_title" v-if="detailForm.status == 300">主管驳回</view> |
|
|
|
|
<view class="repair_title" v-if="detailForm.status == 102">客户驳回</view> |
|
|
|
|
|
|
|
|
|
<u-form labelPosition="left" ref="sendOrderForm" :model="detailForm" :label-width="200" class="repair_form"> |
|
|
|
|
<u-form-item v-if="detailForm.status == 400" label="驳回原因:" prop="customerOpinion" :border-bottom="false"> |
|
|
|
|
<u-form-item v-if="detailForm.status == 400" label="驳回原因:" prop="customerOpinion" |
|
|
|
|
:border-bottom="false"> |
|
|
|
|
<view>{{ detailForm.repaiRejectReason }}</view> |
|
|
|
|
</u-form-item> |
|
|
|
|
<u-form-item v-else label="驳回原因:" prop="customerOpinion" :border-bottom="false"> |
|
|
|
|
@ -101,7 +110,7 @@ |
|
|
|
|
</view> |
|
|
|
|
<!-- 维修详情 待提交维修方案 展示 --> |
|
|
|
|
<view class="repair_detail" |
|
|
|
|
v-if="(dataTypes == 4 && (detailForm.status == 401||detailForm.status == 300)) || (dataTypes == 3 && (detailForm.status == 402||detailForm.status == 102)) || (dataTypes == 1 && detailForm.status == 301)"> |
|
|
|
|
v-if="(dataTypes == 4 && (detailForm.status == 401 || detailForm.status == 300 || detailForm.status == 105)) || (dataTypes == 3 && (detailForm.status == 402 || detailForm.status == 102)) || (dataTypes == 1 && detailForm.status == 301)"> |
|
|
|
|
<view class="repair_title">维修详情</view> |
|
|
|
|
<u-form labelPosition="left" :rules="repairInfoRules" ref="repairInfoForm" :model="repairInfo" |
|
|
|
|
:label-width="140" class="repair_form"> |
|
|
|
|
@ -111,7 +120,9 @@ |
|
|
|
|
class="sp-new-input-diabled" /> |
|
|
|
|
</u-form-item> |
|
|
|
|
<u-form-item label="设备名称:" prop="deviceName" :border-bottom="false" :required="true"> |
|
|
|
|
<u-input v-model="deviceData.name" :border="true" placeholder="" :disabled="optionDisabled" :class="optionDisabled ? 'sp-new-input-diabled' : ''" type="select" @click="deviceShow = true" /> |
|
|
|
|
<u-input v-model="deviceData.name" :border="true" placeholder="" :disabled="optionDisabled" |
|
|
|
|
:class="optionDisabled ? 'sp-new-input-diabled' : ''" type="select" |
|
|
|
|
@click="deviceShow = true" /> |
|
|
|
|
</u-form-item> |
|
|
|
|
<u-form-item label="故障原因:" prop="faultReason" :border-bottom="false" :required="true"> |
|
|
|
|
<u-input v-model="repairInfo.faultReason" :border="true" placeholder="请输入" type="textarea" |
|
|
|
|
@ -155,8 +166,9 @@ |
|
|
|
|
<u-form-item label="折扣:" prop="reportPeople" :border-bottom="false"> |
|
|
|
|
<!-- <betone-new-input label="" v-model="approveInfo.discount" placeholder="" type="number" |
|
|
|
|
@changevalue="changDiscount" />折 --> |
|
|
|
|
<u-input v-model="approveInfo.discount" :border="true" placeholder="" :disabled="optionPiceDisabled" |
|
|
|
|
:class="optionPiceDisabled ? 'sp-new-input-diabled' : ''" @input="changDiscount" type="number"/>折 |
|
|
|
|
<u-input v-model="approveInfo.discount" :border="true" placeholder="" |
|
|
|
|
:disabled="optionPiceDisabled" :class="optionPiceDisabled ? 'sp-new-input-diabled' : ''" |
|
|
|
|
@input="changDiscount" type="number" />折 |
|
|
|
|
</u-form-item> |
|
|
|
|
<u-form-item label="折扣后的金额:" prop="reportPeople" :border-bottom="false" :label-width="240"> |
|
|
|
|
<view>{{ approveInfo.discountPrice }}</view> |
|
|
|
|
@ -213,17 +225,20 @@ |
|
|
|
|
<u-button size="medium" type="primary" @click="sendOrderSubmit()">确定派单</u-button> |
|
|
|
|
</view> |
|
|
|
|
<!-- 维修人员 提交维修方案 --> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" v-if="dataTypes == 4 && (detailForm.status == 401||detailForm.status == 300)"> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" |
|
|
|
|
v-if="dataTypes == 4 && (detailForm.status == 401 || detailForm.status == 300 || detailForm.status == 105)"> |
|
|
|
|
<u-button size="medium" @click="endOrderCancel()">取消</u-button> |
|
|
|
|
<u-button size="medium" type="primary" @click="servicemanSubmit()">提交</u-button> |
|
|
|
|
</view> |
|
|
|
|
<!-- 维修负责人 审批 --> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" v-if="dataTypes == 3 && (detailForm.status == 102||detailForm.status == 402)"> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" |
|
|
|
|
v-if="dataTypes == 3 && (detailForm.status == 102 || detailForm.status == 402)"> |
|
|
|
|
<u-button size="medium" @click="endOrderCancel()">取消</u-button> |
|
|
|
|
<u-button size="medium" type="primary" @click="approveSubmit()">提交</u-button> |
|
|
|
|
</view> |
|
|
|
|
<!-- 客户确认维修方案 --> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" v-if="dataTypes == 1 && detailForm.status == 301"> |
|
|
|
|
<view class="repair-btn" style="margin-right: 32rpx;width:100%" |
|
|
|
|
v-if="dataTypes == 1 && detailForm.status == 301"> |
|
|
|
|
<u-button size="medium" @click="endOrderCancel()">取消</u-button> |
|
|
|
|
<u-button size="medium" type="primary" @click="customerSubmit()">提交</u-button> |
|
|
|
|
</view> |
|
|
|
|
@ -284,9 +299,12 @@ |
|
|
|
|
</view> |
|
|
|
|
</betone-modal> |
|
|
|
|
<!-- 选择设备 --> |
|
|
|
|
<u-select v-model="deviceShow" :list="deviceList" @confirm="deviceConfirm" :isShowsearch="true" |
|
|
|
|
value-name="id" title="选择设备"></u-select> |
|
|
|
|
<u-select v-model="deviceShow" :list="deviceList" @confirm="deviceConfirm" :isShowsearch="true" value-name="id" |
|
|
|
|
title="选择设备"></u-select> |
|
|
|
|
<betone-loading ref="BetLoading" /> |
|
|
|
|
<!-- 选择维修类型 --> |
|
|
|
|
<u-select v-model="repairTypeShow" :list="repairTypeList" @confirm="repairTypeConfirm" :isShowsearch="true" |
|
|
|
|
value-name="dictKey" title="选择维修类型"></u-select> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
<script> |
|
|
|
|
@ -432,12 +450,19 @@ export default { |
|
|
|
|
name: '',//维修人员名字 |
|
|
|
|
}, |
|
|
|
|
deviceList: [],//设备列表 |
|
|
|
|
repairTypeShow: false,//维修类型 |
|
|
|
|
repairTypeList: [],//维修类型列表 |
|
|
|
|
repairTypeData: { |
|
|
|
|
name: '', |
|
|
|
|
key: '', |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onReady() { |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
onShow() { |
|
|
|
|
this.getType()//维修类型列表 |
|
|
|
|
this.getRepairPersons()//获取维修人员列表 |
|
|
|
|
|
|
|
|
|
this.orderId = this.$route.query.id |
|
|
|
|
@ -449,6 +474,7 @@ export default { |
|
|
|
|
this.getGoodsList() |
|
|
|
|
} |
|
|
|
|
this.initDate() |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
getDtails() { |
|
|
|
|
@ -493,11 +519,16 @@ export default { |
|
|
|
|
this.deviceData.repairPerson = this.detailForm.deviceId |
|
|
|
|
this.deviceData.name = this.detailForm.deviceName |
|
|
|
|
} |
|
|
|
|
if(this.detailForm.status == 401){ |
|
|
|
|
if (this.detailForm.status == 401 || this.detailForm.status == 105) { |
|
|
|
|
this.deviceData.repairPerson = '' |
|
|
|
|
this.deviceData.name = '' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 维修类型 |
|
|
|
|
let type_ = this.repairTypeList.filter(v => v.dictKey == this.detailForm.repairType) |
|
|
|
|
this.repairTypeData.name = type_.length <= 0 ? '' : type_[0].dictValue |
|
|
|
|
this.repairTypeData.key = type_.length <= 0 ? '' : type_[0].dictKey |
|
|
|
|
|
|
|
|
|
this.getDeviceList() |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
@ -543,13 +574,16 @@ export default { |
|
|
|
|
deviceName: this.repairDetails.deviceName, |
|
|
|
|
dispatchTime: dateFormat("yyyy-MM-dd hh:mm:ss", new Date()), |
|
|
|
|
remark: this.repairDetails.remark, |
|
|
|
|
repairType: Number(this.repairTypeData.key) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
let sendOrderQuery_ = { |
|
|
|
|
id: this.orderId, |
|
|
|
|
repairPerson: this.sendOrder.repairPerson, |
|
|
|
|
planCompleteTime: this.sendOrder.planCompleteTime ? this.sendOrder.planCompleteTime + ' 00:00:00' : '', |
|
|
|
|
remark: this.repairDetails.remark, |
|
|
|
|
customerOpinion: this.sendOrder.customerOpinion |
|
|
|
|
customerOpinion: this.sendOrder.customerOpinion, |
|
|
|
|
repairType: Number(this.repairTypeData.key) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.$u.api.workOrderupdate(updayeQuery).then(res => { |
|
|
|
|
@ -709,6 +743,7 @@ export default { |
|
|
|
|
materialPrice: item.materialPrice, |
|
|
|
|
materialCount: item.goodsNum,//领用数量 |
|
|
|
|
orderId: this.detailForm.id, |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
@ -718,6 +753,16 @@ export default { |
|
|
|
|
processMethod: this.repairInfo.dealMethods, |
|
|
|
|
isNeedMaterial: this.repairInfo.isMaterial, |
|
|
|
|
materials: data, |
|
|
|
|
deviceId: this.deviceData.repairPerson, |
|
|
|
|
deviceName: this.deviceData.name, |
|
|
|
|
repairType: this.detailForm.repairType, |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// 紧急维修 |
|
|
|
|
if (this.detailForm.repairType == 1) { |
|
|
|
|
query.discountPrice = data.reduce((sum, item) => sum + item.materialPrice, 0).toFixed(2) |
|
|
|
|
query.totalPrice = data.reduce((sum, item) => sum + item.materialPrice, 0).toFixed(2) |
|
|
|
|
query.discount = 0 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
this.$u.api.workOrderupdate(query).then(res => { |
|
|
|
|
@ -728,6 +773,7 @@ export default { |
|
|
|
|
deviceId: this.deviceData.repairPerson, |
|
|
|
|
deviceName: this.deviceData.name |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.$u.api.servicemanSubmit(query1).then(res => { |
|
|
|
|
if (res.code == 200) { |
|
|
|
|
uni.showToast({ title: "提交成功", icon: "none" }); |
|
|
|
|
@ -881,7 +927,8 @@ export default { |
|
|
|
|
// 维修人员确认接单 |
|
|
|
|
submitOrderShowFn() { |
|
|
|
|
let query_ = { |
|
|
|
|
id: this.detailForm.id |
|
|
|
|
id: this.detailForm.id, |
|
|
|
|
repairType: this.detailForm.repairType, |
|
|
|
|
} |
|
|
|
|
this.$u.api.servicemanReceive(query_).then(res => { |
|
|
|
|
if (res.code == 200) { |
|
|
|
|
@ -918,7 +965,28 @@ export default { |
|
|
|
|
deviceConfirm(e) { |
|
|
|
|
this.deviceData.name = e[0].label |
|
|
|
|
this.deviceData.repairPerson = e[0].value |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
getType() { |
|
|
|
|
let _params = { |
|
|
|
|
current: 1, |
|
|
|
|
size: 100, |
|
|
|
|
parentId: "1869925082102702082", |
|
|
|
|
}; |
|
|
|
|
this.$u.api |
|
|
|
|
.getChildList(_params) |
|
|
|
|
.then((res) => { |
|
|
|
|
// this.repairTypeList = res.data |
|
|
|
|
let data_ = res.data |
|
|
|
|
data_.forEach(i => { |
|
|
|
|
this.repairTypeList.push({ ...i, label: i.dictValue }) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
.catch((err) => { }); |
|
|
|
|
}, |
|
|
|
|
repairTypeConfirm(e) { |
|
|
|
|
this.repairTypeData.name = e[0].label |
|
|
|
|
this.repairTypeData.key = e[0].value |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|