Browse Source

客服

master
马远东 1 year ago
parent
commit
9acbd2c6b2
  1. 22
      src/api/aftersales/aftersalesWorkOrder.js
  2. 244
      src/option/aftersales/vueTvemp.js
  3. 326
      src/views/aftersales/aftersalesWorkOrder.vue
  4. 43
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  5. 25
      src/views/aftersales/aftersalesWorkOrderInfo.vue

22
src/api/aftersales/aftersalesWorkOrder.js

@ -283,3 +283,25 @@ export const $_listAppeal = (params) => {
params params
}) })
} }
// 查询超时记录
export const $_listOwn = (params) => {
return request({
url: '/api/logpm-aftersales/aftersalesOvertimeFine/listOwn',
method: 'get',
params
})
}
// 修改超时记录金额
export const $_moneyUpdate = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesOvertimeFine/update',
method: 'post',
data
})
}

244
src/option/aftersales/vueTvemp.js

@ -656,3 +656,247 @@ export const Claimsfield = [
}, },
] ]
// 申诉列表
export const AppealList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'workOrderNumber',
label: '工单号',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'waybillNumber',
label: '运单号',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'workOrderTypeName',
label: '异常类型',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'discoveryNodeName',
label: '发现节点',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'typesOfName',
label: '状态名称',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
]
// 超时
export const timeoutList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'workOrderNumber',
label: '工单号',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'workOrderTypeName',
label: '异常类型',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'discoveryNodeName',
label: '发现节点名称',
type: 3,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'workOrderId',
label: '异常工单ID',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'money',
label: '金额',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'timeout',
label: '超时时间',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'warehouseId',
// label: '仓库ID',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{
prop: 'businessName',
label: '处理方名称',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'businessId',
// label: '处理方ID',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{
prop: 'remarks',
label: '备注',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: '',
label: '操作',
type: 6,
values: '',
width: '220',
checkarr: [],
fixed: 'right',
sortable: false,
},
]

326
src/views/aftersales/aftersalesWorkOrder.vue

@ -2,7 +2,7 @@
<div class="content_max"> <div class="content_max">
<!-- 菜单 --> <!-- 菜单 -->
<el-tabs type="border-card" v-model="tabValue" @tab-change="tabChenge" class="el_tabs"> <el-tabs type="border-card" v-model="tabValue" @tab-change="tabChenge" class="el_tabs">
<div> </div> <div></div>
<el-tab-pane :name="item.name" :label="item.label" v-for="item in TabList" :key="item.name"> <el-tab-pane :name="item.name" :label="item.label" v-for="item in TabList" :key="item.name">
</el-tab-pane> </el-tab-pane>
<div class="content_right"> <div class="content_right">
@ -90,7 +90,12 @@
<el-button type="primary" @click="assign">工单指派</el-button> <el-button type="primary" @click="assign">工单指派</el-button>
<el-button type="primary" @click="arbitrate">申请仲裁</el-button> <el-button type="primary" @click="arbitrate">申请仲裁</el-button>
<el-button type="primary" @click="Batchcompletion">批量完结</el-button> <el-button type="primary" @click="Batchcompletion">批量完结</el-button>
<el-button type="primary" @click="appeal" v-if="details.query.workOrderStatus == 30">申诉</el-button> <el-button
type="primary"
@click="appeal"
v-if="details.query.workOrderStatus == 30"
>申诉</el-button
>
<!-- <el-button type="primary" @click="ProcessingParty"> 处理方信息</el-button> --> <!-- <el-button type="primary" @click="ProcessingParty"> 处理方信息</el-button> -->
</div> </div>
<!-- 头部右侧按钮模块 --> <!-- 头部右侧按钮模块 -->
@ -126,14 +131,21 @@
<template #default="slotProps"> <template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'"> <template v-if="slotProps.scope.column.label === '操作'">
<div class="ElBtnClass"> <div class="ElBtnClass">
<el-button @click="addingRecord(slotProps.scope)">新增记录</el-button> <div v-if="!TimeoutStatus">
<el-button v-if="!ClaimStatus" @click="view(slotProps.scope)">查看</el-button> <el-button @click="addingRecord(slotProps.scope)">新增记录</el-button>
<!-- <el-button @click="ViewEvent(slotProps.scope)">编辑</el-button> --> <el-button v-if="!ClaimStatus" @click="view(slotProps.scope)"
<el-button @click="reply(slotProps.scope)">回复</el-button> >查看</el-button
<!-- <el-button @click="ViewDelete(slotProps.scope)">删除</el-button> --> >
<el-button @click="CompletionButton(slotProps.scope)">完结</el-button> <!-- <el-button @click="ViewEvent(slotProps.scope)">编辑</el-button> -->
<el-button v-if="ClaimStatus" @click="appeal(slotProps.scope)" <el-button @click="reply(slotProps.scope)">回复</el-button>
>申诉</el-button <!-- <el-button @click="ViewDelete(slotProps.scope)">删除</el-button> -->
<el-button @click="CompletionButton(slotProps.scope)">完结</el-button>
<el-button v-if="ClaimStatus" @click="appeal(slotProps.scope)"
>申诉</el-button
>
</div>
<el-button v-if="TimeoutStatus" @click="BtnModifyAmount(slotProps.scope)"
>修改金额</el-button
> >
</div> </div>
</template> </template>
@ -984,6 +996,29 @@
</span> </span>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
v-model="dialogModifyAmount"
:title="fromamount.title + '超时金额修改'"
width="30%"
>
<el-form label-position="left" label-width="70px" :model="fromamount">
<div class="el_amount">
<el-form-item label="原金额">
<el-input v-model="fromamount.ytimeout" disabled />
</el-form-item>
<el-form-item label="修改金额">
<el-input v-model="fromamount.Amount" placeholder="请输入要修改的金额" />
</el-form-item>
</div>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogModifyAmount = false">取消</el-button>
<el-button type="primary" @click="ModifyAmountFn">确定修改</el-button>
</span>
</template>
</el-dialog>
</basic-container> </basic-container>
</div> </div>
</el-tabs> </el-tabs>
@ -1018,13 +1053,21 @@ import {
$_appealSubmit, $_appealSubmit,
$_listSettlement, $_listSettlement,
$_listAppeal, $_listAppeal,
$_listOwn,
$_moneyUpdate,
} from '@/api/aftersales/aftersalesWorkOrder'; } from '@/api/aftersales/aftersalesWorkOrder';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { getDictionaryBiz } from '@/api/system/dict'; // import { getDictionaryBiz } from '@/api/system/dict'; //
import functions from '@/utils/functions.js'; import functions from '@/utils/functions.js';
import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; // import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue'; import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList, recordList, Claimsfield } from '@/option/aftersales/vueTvemp.js'; import {
columnList,
recordList,
Claimsfield,
AppealList,
timeoutList,
} from '@/option/aftersales/vueTvemp.js';
import { processRowProperty, isNumer, computeNumber } from '@/utils/util'; import { processRowProperty, isNumer, computeNumber } from '@/utils/util';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
@ -1043,6 +1086,8 @@ const KFfeel = ref(''); //文件附件地址
const pageList = ref([5, 10, 50, 100, 200]); // const pageList = ref([5, 10, 50, 100, 200]); //
const background = ref(true); // const background = ref(true); //
const disabled = ref(false); // 使 const disabled = ref(false); // 使
const fromamount = ref({}); //
const TimeoutStatus = ref(false); //
const loading = ref(false); // const loading = ref(false); //
const dialogReturn = ref(false); // const dialogReturn = ref(false); //
const dialogappeal = ref(false); // const dialogappeal = ref(false); //
@ -1089,6 +1134,8 @@ const Reasonarbitration = ref(null); //仲裁原因
const BatchcompletionHeight = ref(0); // const BatchcompletionHeight = ref(0); //
const userInfo = ref(); // const userInfo = ref(); //
const ClaimStatus = ref(false); // const ClaimStatus = ref(false); //
const AppealStatus = ref(false); //
const dialogModifyAmount = ref(false); //
const TabList = ref([ const TabList = ref([
{ name: 0, label: '全部' }, { name: 0, label: '全部' },
{ name: 1, label: '处理中' }, { name: 1, label: '处理中' },
@ -1273,6 +1320,8 @@ const TransportLossNode = ref([
// //
const IndexTable = val => { const IndexTable = val => {
ClaimStatus.value = false; ClaimStatus.value = false;
AppealStatus.value = false; //
TimeoutStatus.value = false; //
// ProcessingPartyState.value = false; // // ProcessingPartyState.value = false; //
details.loadingObj.list = true; // details.loadingObj.list = true; //
let data = { let data = {
@ -1589,7 +1638,7 @@ const appeal = val => {
}); });
return; return;
} }
if (details.selectionList.length>1) { if (details.selectionList.length > 1) {
ElMessage({ ElMessage({
message: '只能单条申诉', message: '只能单条申诉',
type: 'warning', type: 'warning',
@ -1606,29 +1655,28 @@ const Appealbutton = () => {
let data = { let data = {
peopleEntityList: [], // peopleEntityList: [], //
}; };
data.workOrderId=details.selectionList[0].id data.workOrderId = details.selectionList[0].id;
data.reason=Reasonforappeal.value data.reason = Reasonforappeal.value;
data.appealPeopleName= warehouseData.value (data.appealPeopleName = warehouseData.value
.filter(item => Appealselection.value.includes(item.value)) .filter(item => Appealselection.value.includes(item.value))
.map(item => item.label) .map(item => item.label)
.join(','), // .join(',')), //
details.selectionList.forEach(item => {
details.selectionList.forEach(item => { console.log(item.id);
console.log(item.id); console.log(item, '已经选择的列表');
console.log(item, '已经选择的列表'); data['peopleEntityList'].push({
data['peopleEntityList'].push({ workOrderId: item.id, //ID
workOrderId: item.id, //ID warehouseId: item.warehouseId == '/' ? '' : item.warehouseId,
warehouseId: item.warehouseId == '/' ? '' : item.warehouseId, reason: Reasonforappeal.value, //
reason: Reasonforappeal.value, // claimant: userInfo.value.content.user_name, //
claimant: userInfo.value.content.user_name, // claimantUserId: userInfo.value.content.user_id, //ID
claimantUserId: userInfo.value.content.user_id, //ID actualPersonName: warehouseData.value
actualPersonName: warehouseData.value .filter(item => Appealselection.value.includes(item.value))
.filter(item => Appealselection.value.includes(item.value)) .map(item => item.label)
.map(item => item.label) .join(','), //
.join(','), // });
}); });
});
console.log(data, '处理好的值'); console.log(data, '处理好的值');
$_appealSubmit(data).then(res => { $_appealSubmit(data).then(res => {
dialogappeal.value = false; // dialogappeal.value = false; //
@ -1649,25 +1697,6 @@ const Appealbutton = () => {
} }
}); });
}; };
//
const AppealTab = val => {
if (val == 0) {
console.log('处理完毕');
ProcessingPartyState.value = false; //
data.workOrderStatus = 30;
details.query.workOrderStatus = 30;
ArbitrationStatus.value = false; //
empty(); //
IndexTable({ workOrderStatus: 30 });
} else {
console.log('当前是申诉列表');
let data={}
$_listAppeal(data).then(res=>{
console.log(res,'申诉列表返回值')
})
}
};
// //
const abnormalChange = val => { const abnormalChange = val => {
@ -1743,6 +1772,19 @@ const handlePictureCardPreview = uploadFile => {
const inputsc = (index, row) => { const inputsc = (index, row) => {
processRowProperty(index, row, details); processRowProperty(index, row, details);
details.query[row.prop] = index; details.query[row.prop] = index;
if (TimeoutStatus.value) {
//
TimeoutHandling(details.query);
return;
}
if (AppealStatus.value) {
//
appealFn(details.query);
return;
}
if (ClaimStatus.value) { if (ClaimStatus.value) {
// //
settlementclaim(details.query); settlementclaim(details.query);
@ -1814,6 +1856,16 @@ const btnsc = val => {
/** 表格表头下拉框选择 */ /** 表格表头下拉框选择 */
const selectsc = (index, row) => { const selectsc = (index, row) => {
processRowProperty(index, row, details); processRowProperty(index, row, details);
if (TimeoutStatus.value) {
//
TimeoutHandling(details.query);
return;
}
if (AppealStatus.value) {
//
appealFn(details.query);
return;
}
if (ClaimStatus.value) { if (ClaimStatus.value) {
// //
@ -1828,6 +1880,18 @@ const selectsc = (index, row) => {
} }
}; };
//
const Antidictionary = (val, data) => {
getDictionaryBiz(val).then(res => {
res.data.data.forEach(item => {
data.checkarr.push({
value: item.dictValue,
label: item.dictValue,
});
});
});
};
function onLoad() {} function onLoad() {}
/** 表格表头复选框选择 */ /** 表格表头复选框选择 */
@ -1840,6 +1904,18 @@ const selectionChange = list => {
const currentChange = val => { const currentChange = val => {
page.value.currentPage = val; page.value.currentPage = val;
//
if (TimeoutStatus.value) {
TimeoutHandling(details.query);
return;
}
if (AppealStatus.value) {
//
appealFn(details.query);
return;
}
if (ClaimStatus.value) { if (ClaimStatus.value) {
// //
settlementclaim(details.query); settlementclaim(details.query);
@ -1856,6 +1932,16 @@ const currentChange = val => {
// //
const sizeChange = val => { const sizeChange = val => {
page.value.pageSize = val; page.value.pageSize = val;
//
if (TimeoutStatus.value) {
TimeoutHandling(details.query);
return;
}
if (AppealStatus.value) {
//
appealFn(details.query);
return;
}
if (ClaimStatus.value) { if (ClaimStatus.value) {
// //
@ -1914,12 +2000,16 @@ const changeProcessingResults = val => {
}; };
// //
const settlementclaim = val => { const settlementclaim = val => {
details.loadingObj.list = true; //
console.log(Claimsfield, '理赔数据'); console.log(Claimsfield, '理赔数据');
ClaimStatus.value = true; // ClaimStatus.value = true; //
AppealStatus.value = false; //
TimeoutStatus.value = false; //
details.columnList = Claimsfield; details.columnList = Claimsfield;
Claimsfield[3].checkarr = []; // Claimsfield[3].checkarr = []; //
Claimsfield[7].checkarr = []; // Claimsfield[7].checkarr = []; //
Claimsfield[9].checkarr = []; // Claimsfield[9].checkarr = []; //
getDeptWarehouse({}).then(res => { getDeptWarehouse({}).then(res => {
res.data.data.forEach(item => { res.data.data.forEach(item => {
Claimsfield[3].checkarr.push({ Claimsfield[3].checkarr.push({
@ -1947,7 +2037,7 @@ const settlementclaim = val => {
}); });
// details.columnList warehouseData.value // details.columnList warehouseData.value
details.loadingObj.list = true; //
console.log(details, 'details'); console.log(details, 'details');
let data = { let data = {
current: details.page.currentPage, current: details.page.currentPage,
@ -1962,6 +2052,103 @@ const settlementclaim = val => {
page.value.total = res.data.data.total; page.value.total = res.data.data.total;
}); });
}; };
//
const appealFn = val => {
details.loadingObj.list = true; //
AppealStatus.value = true; //
TimeoutStatus.value = false; //
ClaimStatus.value = false; //
AppealList[5].checkarr = []; //
AppealList[6].checkarr = []; //
Antidictionary('pc_work_order', AppealList[5]);
Antidictionary('pc_discovery_node', AppealList[6]);
console.log('当前是申诉列表');
let data = {
current: details.page.currentPage,
size: details.page.pageSize,
...val,
};
$_listAppeal(data).then(res => {
details.loadingObj.list = false; //
console.log(res, '申诉列表返回值');
details.data = res.data.data.records;
page.value.total = res.data.data.total;
});
};
//
const AppealTab = val => {
if (val == 0) {
Tableheaderswitching(columnList); //
console.log('处理完毕');
ProcessingPartyState.value = false; //
details.query.workOrderStatus = 30;
ArbitrationStatus.value = false; //
empty(); //
let data = {
workOrderStatus: 30,
...details.query,
};
IndexTable(data);
} else {
Tableheaderswitching(AppealList); //
AppealList.forEach(item => {
//
item.values = '';
});
appealFn(); //
}
};
//
const BtnModifyAmount = val => {
dialogModifyAmount.value = true; //
fromamount.value.title = val.row.workOrderNumber; //
fromamount.value.ytimeout = val.row.money; //
fromamount.value.id = val.row.id; //id
};
//
const ModifyAmountFn = () => {
let data = {
id: fromamount.value.id,
money: fromamount.value.Amount,
};
console.log(data, '准备提交的金额参数');
$_moneyUpdate(data).then(res => {
TimeoutHandling()
console.log(res, '修改成功返回值');
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
}
dialogModifyAmount.value = false; //
});
};
//
const TimeoutHandling = val => {
timeoutList[3].checkarr = []; //
timeoutList[4].checkarr = []; //
ClaimStatus.value = false; //
AppealStatus.value = false; //
TimeoutStatus.value = true; //
details.loadingObj.list = true; //
Antidictionary('pc_work_order', timeoutList[3]);
Antidictionary('pc_discovery_node', timeoutList[4]);
let data = {
current: details.page.currentPage,
size: details.page.pageSize,
...val,
};
$_listOwn(data).then(res => {
details.loadingObj.list = false; //
console.log(res, '超时记录');
details.data = res.data.data.records;
page.value.total = res.data.data.total;
});
};
// //
const tabChenge = val => { const tabChenge = val => {
@ -2015,7 +2202,7 @@ const tabChenge = val => {
data.workOrderStatus = 70; data.workOrderStatus = 70;
details.query.workOrderStatus = 70; details.query.workOrderStatus = 70;
ArbitrationStatus.value = false; // ArbitrationStatus.value = false; //
Tableheaderswitching(columnList); Tableheaderswitching(columnList); //
empty(); empty();
IndexTable(data); IndexTable(data);
} else if (val == 6) { } else if (val == 6) {
@ -2024,18 +2211,18 @@ const tabChenge = val => {
data.workOrderStatus = 80; data.workOrderStatus = 80;
details.query.workOrderStatus = 80; details.query.workOrderStatus = 80;
ArbitrationStatus.value = false; // ArbitrationStatus.value = false; //
Tableheaderswitching(columnList); Tableheaderswitching(columnList); //
empty(); empty();
IndexTable(data); IndexTable(data);
} else if (val == 7) { } else if (val == 7) {
// //
ProcessingPartyState.value = false; // ProcessingPartyState.value = false; //
data.workOrderStatus = 60; data.workOrderStatus = null;
details.query.workOrderStatus = 60; details.query.workOrderStatus = '';
ArbitrationStatus.value = false; // ArbitrationStatus.value = false; //
Tableheaderswitching(columnList); Tableheaderswitching(timeoutList); //
empty(); empty();
IndexTable(data); TimeoutHandling(); //
} }
}; };
/** /**
@ -2063,6 +2250,8 @@ const showdrawer = _flag => {
// //
const ProcessingPartyFun = val => { const ProcessingPartyFun = val => {
ClaimStatus.value = false; // ClaimStatus.value = false; //
TimeoutStatus.value = false; //
AppealStatus.value = false; //
details.query.workOrderStatus = null; details.query.workOrderStatus = null;
details.loadingObj.list = true; // details.loadingObj.list = true; //
let data = { let data = {
@ -2784,7 +2973,6 @@ const CompletedSubmission = () => {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
margin-bottom: 10px; margin-bottom: 10px;
} }
.el-times { .el-times {
:deep(.el-input__wrapper) { :deep(.el-input__wrapper) {
@ -3022,12 +3210,13 @@ const CompletedSubmission = () => {
:deep(.el_tabs) { :deep(.el_tabs) {
width: 100%; width: 100%;
display: flex; display: flex;
// flex-direction: column; flex-direction: column;
flex-wrap: wrap; justify-content: space-between;
.el-tabs__content { .el-tabs__content {
padding: 0; padding: 0;
flex: 1;
} }
.el-tabs__header{ .el-tabs__header {
height: 37px; height: 37px;
width: 100%; width: 100%;
} }
@ -3042,6 +3231,7 @@ const CompletedSubmission = () => {
} }
:deep(.el-tabs__content) { :deep(.el-tabs__content) {
padding: 0 !important; padding: 0 !important;
flex: 1;
} }
} }
.el_appeal { .el_appeal {
@ -3055,7 +3245,11 @@ const CompletedSubmission = () => {
justify-content: flex-end; justify-content: flex-end;
margin-top: 10px; margin-top: 10px;
} }
:deep(.avue-crud__header){ :deep(.avue-crud__header) {
align-items: center; align-items: center;
} }
.el_amount {
display: flex;
justify-content: space-between;
}
</style> </style>

43
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -375,7 +375,6 @@
:rows="2" :rows="2"
/> />
</div> </div>
</div> </div>
<div class="el-btn"> <div class="el-btn">
<el-button type="primary" @click="ResponsibilityRemoval(index)"> 移除 </el-button> <el-button type="primary" @click="ResponsibilityRemoval(index)"> 移除 </el-button>
@ -474,7 +473,7 @@
<el-form-item label="历史包件选择"> <el-form-item label="历史包件选择">
<el-select v-model="HistoricalPackageinput" clearable filterable placeholder="请选择包件"> <el-select v-model="HistoricalPackageinput" clearable filterable placeholder="请选择包件">
<el-option <el-option
v-for="item in HistoricalPackageList" v-for="item in HistoricalPackageList"
:key="item.value" :key="item.value"
:label="item.workOrderNumber" :label="item.workOrderNumber"
:value="item.workOrderId" :value="item.workOrderId"
@ -991,16 +990,17 @@ const ChangePackageInfo = (val, index) => {
$_getAbnormalPackage(data).then(res => { $_getAbnormalPackage(data).then(res => {
console.log(res, '包件信息'); console.log(res, '包件信息');
console.log(res.data.data, '包件信息'); console.log(res.data.data, '包件信息');
if (res.data.data.length) {
const packageData = res.data.data[0]; const packageData = res.data.data[0];
PackageInfo.value[index].orderCode = packageData.orderCode; // PackageInfo.value[index].orderCode = packageData.orderCode; //
PackageInfo.value[index].waybillNumber = packageData.waybillNumber; // PackageInfo.value[index].waybillNumber = packageData.waybillNumber; //
PackageInfo.value[index].orderId = packageData.orderId; // PackageInfo.value[index].orderId = packageData.orderId; //
PackageInfo.value[index].state = false; // PackageInfo.value[index].state = false; //
if (res.data.data.length > 1) { if (res.data.data.length > 1) {
HistoricalPackageList.value = res.data.data; HistoricalPackageList.value = res.data.data;
PackageInfo.value[index].state = true; // PackageInfo.value[index].state = true; //
}
} }
// packageCode; // // packageCode; //
// // // //
@ -1024,19 +1024,24 @@ const HistoricalPackage = val => {
PackageInfo.value[HistorIndex.value].waybillNumber = info.waybillNumber; // PackageInfo.value[HistorIndex.value].waybillNumber = info.waybillNumber; //
PackageInfo.value[HistorIndex.value].orderId = info.orderId; // PackageInfo.value[HistorIndex.value].orderId = info.orderId; //
dialogHistoricalPackage.value = false; // dialogHistoricalPackage.value = false; //
PackageInfo.value[HistorIndex.value].relatedWorkOrdersId = info.workOrderId
console.log(PackageInfo.value, '处理好的参数');
}; };
// //
const ViewPackageDetails = val => { const ViewPackageDetails = val => {
if(!val){ if (!val) {
ElMessage({ ElMessage({
message: '请选择要查看的数据', message: '请选择要查看的数据',
type: 'warning', type: 'warning',
}) });
return return;
} }
console.log(val); console.log(val);
let info = HistoricalPackageList.value.find(obj => obj.workOrderId == val); let info = HistoricalPackageList.value.find(obj => obj.workOrderId == val);
console.log(info,'筛选的值'); console.log(info, '筛选的值');
$router.push({ $router.push({
path: '/aftersales/aftersalesWorkOrderInfo', path: '/aftersales/aftersalesWorkOrderInfo',
query: { query: {
@ -1195,7 +1200,7 @@ const ViewPackageDetails = val => {
width: 30%; width: 30%;
margin-right: 16px; margin-right: 16px;
.title { .title {
width: 80px; width: 80px;
font-size: 14px; font-size: 14px;
color: #606266; color: #606266;
} }

25
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -15,7 +15,8 @@
<span class="title">包条码:</span> <span class="title">包条码:</span>
<el-input <el-input
v-model="item.packageCode" v-model="item.packageCode"
placeholder="请输入包条码" disabled
placeholder="包条码"
clearable clearable
:rows="2" :rows="2"
@change="ChangePackageInfo(item.packageCode, index)" @change="ChangePackageInfo(item.packageCode, index)"
@ -24,12 +25,12 @@
<div class="maxBox"> <div class="maxBox">
<span class="title">订单自编码:</span> <span class="title">订单自编码:</span>
<el-input v-model="item.orderCode" placeholder="请输入订单自编号" clearable /> <el-input v-model="item.orderCode" placeholder="订单自编号" clearable disabled/>
</div> </div>
<div class="maxBox"> <div class="maxBox">
<span class="title">运单号:</span> <span class="title">运单号:</span>
<el-input v-model="item.waybillNumber" placeholder="请输入运单号" clearable /> <el-input v-model="item.waybillNumber" placeholder="运单号" clearable disabled />
</div> </div>
</div> </div>
@ -46,7 +47,7 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-form :model="Indexform" label-width="100px" class="IndexFrom" ref="IndexForm"> <el-form :model="Indexform" label-width="100px" disabled class="IndexFrom" ref="IndexForm">
<el-form-item label="异常类型"> <el-form-item label="异常类型">
<el-select <el-select
v-model="Indexform.workOrderType" v-model="Indexform.workOrderType"
@ -271,10 +272,11 @@
<el-form-item class="investigate" label="调查经过"> <el-form-item class="investigate" label="调查经过">
<el-input <el-input
v-model="Indexform.investigationPocess" v-model="Indexform.investigationPocess"
placeholder="请输入调查经过" placeholder="调查经过"
clearable clearable
:rows="2" :rows="2"
type="textarea" type="textarea"
disabled
/> />
</el-form-item> </el-form-item>
@ -284,7 +286,8 @@
clearable clearable
filterable filterable
multiple multiple
placeholder="请选择处理方" disabled
placeholder="处理方"
> >
<el-option <el-option
v-for="item in warehouseData" v-for="item in warehouseData"
@ -311,9 +314,11 @@
v-model="item.businessName" v-model="item.businessName"
clearable clearable
placeholder="请选提货择责任方" placeholder="请选提货择责任方"
disabled
v-if="groundlineType == 1" v-if="groundlineType == 1"
> >
<el-option <el-option
v-for="item in responsible" v-for="item in responsible"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
@ -325,7 +330,8 @@
v-else v-else
v-model="item.businessName" v-model="item.businessName"
filterable filterable
placeholder="责任方" placeholder="责任方"
disabled
@change="ResponsiblePartychange(item.businessName, index)" @change="ResponsiblePartychange(item.businessName, index)"
> >
<el-option <el-option
@ -343,6 +349,7 @@
v-model="item.personResponsibleName" v-model="item.personResponsibleName"
clearable clearable
filterable filterable
disabled
placeholder="责任人" placeholder="责任人"
> >
<el-option <el-option
@ -356,6 +363,7 @@
<div class="maxBox"> <div class="maxBox">
<span class="title">占比:</span> <span class="title">占比:</span>
<el-input <el-input
disabled
v-model="item.responsibilityRatio" v-model="item.responsibilityRatio"
placeholder="占比 " placeholder="占比 "
clearable clearable
@ -369,6 +377,7 @@
v-model="item.responsibilityRatio" v-model="item.responsibilityRatio"
placeholder="说明 " placeholder="说明 "
clearable clearable
disabled
:rows="2" :rows="2"
/> />
</div> </div>
@ -470,7 +479,7 @@
<el-form-item label="历史包件选择"> <el-form-item label="历史包件选择">
<el-select v-model="HistoricalPackageinput" clearable filterable placeholder="请选择包件"> <el-select v-model="HistoricalPackageinput" clearable filterable placeholder="请选择包件">
<el-option <el-option
v-for="item in HistoricalPackageList" v-for="item in HistoricalPackageList"
:key="item.value" :key="item.value"
:label="item.workOrderNumber" :label="item.workOrderNumber"
:value="item.workOrderId" :value="item.workOrderId"

Loading…
Cancel
Save