Commit 7ad0efff authored by 高铭波's avatar 高铭波

Merge branch 'dev-1.4.0'

parents 1e8ede19 fc51a653
...@@ -65,10 +65,17 @@ ...@@ -65,10 +65,17 @@
v-show="item.fieldsName != 'actualPaid' || show200" v-show="item.fieldsName != 'actualPaid' || show200"
:id="`item${item.fieldsId}`" :id="`item${item.fieldsId}`"
> >
<view class="label" v-if="!hiddenTitle.includes(item.formType)"> <view
<image class="item-image" :src="mixingImage" v-if="item.required"></image> class="label"
{{item.fieldsTitle}} v-if="!hiddenTitle.includes(item.formType)"
</view> >
<image
class="item-image"
:src="mixingImage"
v-if="item.required"
></image>
{{ item.fieldsTitle }}
</view>
<template v-if="item.fieldsType"> <template v-if="item.fieldsType">
<xh-input <xh-input
v-if="item.formType === 'input'" v-if="item.formType === 'input'"
...@@ -210,10 +217,28 @@ ...@@ -210,10 +217,28 @@
@value-change="fieldValueChange" @value-change="fieldValueChange"
> >
</xh-service-more> </xh-service-more>
<xh-label v-else-if="item.formType==='label'" :groupIndex="groupIndex" :itemIndex="itemIndex" :item="item" :value='form[item.fieldsName] || ""'> <xh-label
v-else-if="item.formType === 'label'"
:groupIndex="groupIndex"
:itemIndex="itemIndex"
:item="item"
:value="form[item.fieldsName] || ''"
>
</xh-label> </xh-label>
<xh-parts ref="fileChildParts" v-else-if="item.formType==='parts'" :categoryId="categoryId" :brandId="brandId" :order-id="orderId" :groupIndex="groupIndex" :itemIndex="itemIndex" :item="item" :value='form[item.fieldsName] || ""' :disabled="orderStatus === '88' || orderStatus === '86'" @value-change="fieldValueChange"> <xh-parts
</xh-parts> ref="fileChildParts"
v-else-if="item.formType === 'parts'"
:categoryId="categoryId"
:brandId="brandId"
:order-id="orderId"
:groupIndex="groupIndex"
:itemIndex="itemIndex"
:item="item"
:value="form[item.fieldsName] || ''"
:disabled="orderStatus === '88' || orderStatus === '86'"
@value-change="fieldValueChange"
>
</xh-parts>
</template> </template>
</u-form-item> </u-form-item>
</view> </view>
...@@ -274,11 +299,11 @@ import XhTime from "@/components/createCom/XhTime.vue"; ...@@ -274,11 +299,11 @@ import XhTime from "@/components/createCom/XhTime.vue";
import XhServiceMeasure from "@/components/createCom/XhServiceMeasure.vue"; import XhServiceMeasure from "@/components/createCom/XhServiceMeasure.vue";
import XhServiceMore from "../../components/createCom/XhServiceMore"; import XhServiceMore from "../../components/createCom/XhServiceMore";
import XhLabel from "../../components/createCom/XhLabel"; import XhLabel from "../../components/createCom/XhLabel";
import XhParts from "@/components/createCom/XhParts" import XhParts from "@/components/createCom/XhParts";
import takePhoto from "@/components/take/index.vue"; import takePhoto from "@/components/take/index.vue";
import baseFile from "@/components/upload/index"; import baseFile from "@/components/upload/index";
import Detail from "@/components/order/detail.vue"; import Detail from "@/components/order/detail.vue";
import returnPartsVue from '../parts/returnParts.vue'; import returnPartsVue from "../parts/returnParts.vue";
// 表单类型map // 表单类型map
const formType = new Map([ const formType = new Map([
...@@ -306,7 +331,7 @@ const formType = new Map([ ...@@ -306,7 +331,7 @@ const formType = new Map([
["date", ["time", "text"]], ["date", ["time", "text"]],
["form", ["form", "text"]], ["form", ["form", "text"]],
["label", ["label", "text"]], ["label", ["label", "text"]],
['parts', ['parts','text']], ["parts", ["parts", "text"]],
]); ]);
/** /**
...@@ -386,10 +411,10 @@ const actions = (name, pass, type, submit) => { ...@@ -386,10 +411,10 @@ const actions = (name, pass, type, submit) => {
export default { export default {
data() { data() {
return { return {
hiddenTitle: ['location', 'form', 'label', 'parts'], hiddenTitle: ["location", "form", "label", "parts"],
orderId: 0, orderId: 0,
categoryId: 0, categoryId: 0,
brandId: 0, brandId: 0,
orderServiceType: "", orderServiceType: "",
inGuaranteePeriod: "", inGuaranteePeriod: "",
partnerCompanyId: "", partnerCompanyId: "",
...@@ -437,7 +462,7 @@ export default { ...@@ -437,7 +462,7 @@ export default {
currentItemDate: {}, currentItemDate: {},
photoItem: {}, photoItem: {},
maintainStep: "partnerInspectItem", maintainStep: "partnerInspectItem",
orderStatus: '' orderStatus: "",
// showTab: true, // showTab: true,
}; };
}, },
...@@ -455,7 +480,7 @@ export default { ...@@ -455,7 +480,7 @@ export default {
XhServiceMeasure, XhServiceMeasure,
XhServiceMore, XhServiceMore,
XhLabel, XhLabel,
XhParts, XhParts,
Detail, Detail,
"take-photo": takePhoto, "take-photo": takePhoto,
}, },
...@@ -469,12 +494,12 @@ export default { ...@@ -469,12 +494,12 @@ export default {
this.maintainStep = option.maintainStep; this.maintainStep = option.maintainStep;
this.orderId = option.orderId; this.orderId = option.orderId;
this.categoryId = option.categoryId; this.categoryId = option.categoryId;
this.brandId = option.brandId this.brandId = option.brandId;
this.orderServiceType = decodeURIComponent(option.orderServiceType); this.orderServiceType = decodeURIComponent(option.orderServiceType);
this.inGuaranteePeriod = option.inGuaranteePeriod; this.inGuaranteePeriod = option.inGuaranteePeriod;
this.partnerCompanyId = option.partnerCompanyId; this.partnerCompanyId = option.partnerCompanyId;
this.auditResultsId = option.auditResultsId; this.auditResultsId = option.auditResultsId;
this.orderStatus = option.orderStatus this.orderStatus = option.orderStatus;
// this.showTab =item.partnerCompanyName == '挚达充电桩' // this.showTab =item.partnerCompanyName == '挚达充电桩'
} else { } else {
this.orderId = 11880091; this.orderId = 11880091;
...@@ -550,7 +575,7 @@ export default { ...@@ -550,7 +575,7 @@ export default {
}, },
initData(res) { initData(res) {
this.form = res.data.value || {}; this.form = res.data.value || {};
this.initFormData();
const list = res.data.config.sort((a, b) => a.order - b.order); const list = res.data.config.sort((a, b) => a.order - b.order);
list.forEach((item, index) => { list.forEach((item, index) => {
if (this.maintainStep === item.panelFieldsName) this.tabIndex = index; if (this.maintainStep === item.panelFieldsName) this.tabIndex = index;
...@@ -586,6 +611,26 @@ export default { ...@@ -586,6 +611,26 @@ export default {
if (this.auditResultsId) this.checkCompleteError(); if (this.auditResultsId) this.checkCompleteError();
uni.hideLoading(); uni.hideLoading();
}, },
initFormData() {
this.loadOrderDetail();
},
loadOrderDetail() {
if (!this.$u.test.isEmpty(this.form) && this.form.hasOwnProperty("installComfirmTime")
&& this.$u.test.isEmpty(this.form.installComfirmTime)) {
this.$u.api.orderDetail(null, this.orderId).then((res) => {
if (res.code == 200) {
if (!this.$u.test.isEmpty(res.data.checkInDateTime)) {
this.$set(
this.form,
"installComfirmTime",
this.moment(res.data.checkInDateTime).format("YYYY-MM-DD")
);
}
}
});
}
},
checkCompleteError() { checkCompleteError() {
// 异常单定位错误项 // 异常单定位错误项
let self = this; let self = this;
...@@ -610,10 +655,16 @@ export default { ...@@ -610,10 +655,16 @@ export default {
handleSaveData() { handleSaveData() {
let param = {}; let param = {};
const name = this.list[this.tabIndex].panelFieldsName;
this.list.forEach((panel) => { this.list.forEach((panel) => {
param[panel.panelFieldsName] = []; param[panel.panelFieldsName] = [];
panel.items.forEach((group) => { panel.items.forEach((group) => {
group.items.forEach((ele) => { group.items.forEach((ele) => {
if(name === "partnerInspectItem") {
if(!this.form?.installationMethodType) {
this.$set(this.form, "installationMethodType", this.form.installType);
}
}
if (this.form[ele.fieldsName]) { if (this.form[ele.fieldsName]) {
param[panel.panelFieldsName].push({ param[panel.panelFieldsName].push({
fieldsName: ele.fieldsName, fieldsName: ele.fieldsName,
...@@ -627,10 +678,11 @@ export default { ...@@ -627,10 +678,11 @@ export default {
}); });
return param; return param;
}, },
saveComplete(){// 保存完工信息 saveComplete() {
// this.submitParts() // 不调这个接口;没完工不能调提交配件 // 保存完工信息
const param = this.handleSaveData() // this.submitParts() // 不调这个接口;没完工不能调提交配件
this.$u.api.saveCompleteData(param,this.orderId).then((res)=>{ const param = this.handleSaveData();
this.$u.api.saveCompleteData(param, this.orderId).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: "保存成功", title: "保存成功",
...@@ -666,17 +718,17 @@ export default { ...@@ -666,17 +718,17 @@ export default {
panelResult.submitted++; panelResult.submitted++;
} else if (value && Array.isArray(value) && value.length > 0) { } else if (value && Array.isArray(value) && value.length > 0) {
if (ele.fieldsName === "materialList") { if (ele.fieldsName === "materialList") {
let hasMate = false let hasMate = false;
let mateRow = value.find((mate) => { let mateRow = value.find((mate) => {
if(mate.hasOwnProperty("useLength")) { if (mate.hasOwnProperty("useLength")) {
hasMate = true hasMate = true;
return !this.$u.test.isEmpty(mate.useLength) return !this.$u.test.isEmpty(mate.useLength);
} }
}); });
if (!hasMate || !this.$u.test.isEmpty(mateRow)) { if (!hasMate || !this.$u.test.isEmpty(mateRow)) {
panelResult.submitted++; panelResult.submitted++;
} }
panelResult.submitted++; panelResult.submitted++;
} else { } else {
panelResult.submitted++; panelResult.submitted++;
} }
...@@ -793,26 +845,26 @@ export default { ...@@ -793,26 +845,26 @@ export default {
if (this.oldItemId) this.itemId = this.oldItemId; if (this.oldItemId) this.itemId = this.oldItemId;
}); });
}, },
// 提交配件信息 // 提交配件信息
submitParts() { submitParts() {
if (this.form.orderSpareParts) { if (this.form.orderSpareParts) {
const orderSpareParts = JSON.parse(this.form.orderSpareParts) const orderSpareParts = JSON.parse(this.form.orderSpareParts);
const lists = orderSpareParts.filter(v => v.quantity > 0) const lists = orderSpareParts.filter((v) => v.quantity > 0);
const params = { const params = {
workOrderId: this.orderId, workOrderId: this.orderId,
applyType: '10', applyType: "10",
parts: lists ? JSON.stringify(lists) : '' parts: lists ? JSON.stringify(lists) : "",
} };
this.$u.api.createParts(params).then(res => { this.$u.api.createParts(params).then((res) => {
if (res.code !== 200) { if (res.code !== 200) {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: res.data, title: res.data,
type: 'error', type: "error",
}) });
} }
}) });
} }
}, },
// 提交订单 // 提交订单
orderFinish() { orderFinish() {
const param = this.handleSaveData(); const param = this.handleSaveData();
...@@ -828,7 +880,7 @@ export default { ...@@ -828,7 +880,7 @@ export default {
if (this.inGuaranteePeriod === "Y") { if (this.inGuaranteePeriod === "Y") {
this.$u.api.inOrderFinish(this.orderId).then((res) => { this.$u.api.inOrderFinish(this.orderId).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.submitParts() this.submitParts();
this.$refs.uToast.show({ this.$refs.uToast.show({
title: "提交成功", title: "提交成功",
type: "success", type: "success",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment