qb 1 year ago
parent
commit
facc9dad1e
  1. 18
      src/api/aftersales/aftersalesWorkOrder.js
  2. 134
      src/views/aftersales/aftersalesWorkOrder.vue
  3. 4
      vite.config.js

18
src/api/aftersales/aftersalesWorkOrder.js

@ -399,3 +399,21 @@ export const $_AppealDetails = (params) => {
params
})
}
// 取消申诉
export const $_Cancelappeal = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesAppeal/update',
method: 'post',
data
})
}
// 删除申诉
export const $_getDetails = (params) => {
return request({
url: '/api/logpm-aftersales/aftersalesAppeal/detail',
method: 'get',
params
})
}

134
src/views/aftersales/aftersalesWorkOrder.vue

@ -139,8 +139,8 @@
</el-row>
<!-- 申诉列表展示 -->
<el-tabs type="border-card" v-if="TabPermissions == 6" @tab-change="AppealTab">
<el-tab-pane label="完结"></el-tab-pane>
<el-tab-pane label="申诉列表"></el-tab-pane>
<el-tab-pane name="0" label="完结"></el-tab-pane>
<el-tab-pane name="1" label="申诉列表"></el-tab-pane>
</el-tabs>
<!-- 首页表格 -->
<el-row>
@ -172,7 +172,8 @@
<div>
<!-- <el-button @click="addingRecord(slotProps.scope)">新增记录</el-button> -->
<el-button
v-if="TabPermissions != '4' && !AppealStatusT"
v-if="(TabPermissions !== '4' && !AppealStatusT) || (AppealStatusT && UserPermissions !== '仓库客服')"
@click="view(slotProps.scope)"
>查看</el-button
>
@ -184,20 +185,22 @@
>
<el-button
v-if="TabPermissions == '6' && !AppealStatusT"
v-if="TabPermissions == '6' && !AppealStatusT && UserPermissions=='仓库客服'"
@click="appeal(slotProps.scope, false)"
>申诉</el-button
>
<el-button v-if="AppealStatusT" @click="appeal(slotProps.scope, 'edit')"
<el-button v-if="AppealStatusT && slotProps.scope.row.typesOf=='0' && UserPermissions=='仓库客服'" @click="appeal(slotProps.scope, 'edit')"
>编辑</el-button
>
<el-button
v-if="AppealStatusT"
v-if="AppealStatusT && slotProps.scope.row.typesOf=='0' && UserPermissions=='仓库客服'"
@click="CancelappealFn(slotProps.scope, 'edit')"
>取消申诉</el-button
>
<!-- AppealStatusT申诉列表状态 -->
<!-- <el-button v-if="AppealStatusT" @click="Appealeditor">编辑</el-button> -->
<!-- <el-button @click="ViewEvent(slotProps.scope)">编辑</el-button> -->
@ -442,7 +445,7 @@
</div>
</el-dialog>
<!-- 申诉弹窗 -->
<el-dialog v-model="dialogappeal" title="工单申诉" width="30%">
<el-dialog v-model="dialogappeal" :title="AppealeditorState?'工单申述编辑':'工单申诉'" width="30%">
<div class="el_appeal" v-loading="loadingappeal" element-loading-text="Loading...">
<el-form-item label="选择实际责任方">
<el-select
@ -588,6 +591,7 @@ import {
$_updateManagerConfirmed,
$_updateWorkOrderStatus,
$_AppealDetails,
$_Cancelappeal,
} from '@/api/aftersales/aftersalesWorkOrder';
import { getToken } from '@/utils/auth';
import { getDictionaryBiz } from '@/api/system/dict'; //
@ -1456,8 +1460,32 @@ const AppealAttachmentImgListRemove = val => {
const AppealAttachmentImgSuccess = val => {
console.log(val, '申诉图片上传成功');
};
//
const CancelappealFn = val => {
let data = {
id: val.row.id, //ID
typesOf: '3', //
workOrderId:val.row.workOrderId,//ID
};
$_Cancelappeal(data).then(res => {
console.log(res, '取消申诉返回值');
if (res.data.code == 200) {
appealFn(details.query);
ElMessage({
message: '取消申诉成功',
type: 'success',
});
}
});
};
//
const appeal = (val, state) => {
AppealAttachment.value=[];//
Appealselection.value='';//
Reasonforappeal.value='',//
console.log(state);
console.log(val.row, '申诉当前点击的按钮');
if (state == 'edit') {
@ -1466,23 +1494,29 @@ const appeal = (val, state) => {
details.selectionList.push(val.row);
AppealeditorState.value = true; //
if (val.row) {
selectList.value.push(val.row)
selectList.value.push(val.row);
}
let data = {
id: val.row.id,
}
};
$_AppealDetails(data).then(res => {
console.log(res, '申诉编辑回显');
Reasonforappeal.value = res.data.data.reason; //
setTimeout(() => {
console.log(res.data.data.peopleEntityList.map(item => item.actualPersonId));
console.log(warehouseData.value, '仓库数据');
// Appealselection.value=
dialogappeal.value = true; //
},0)
if(res.data.data.peopleEntityList){
Appealselection.value= res.data.data.peopleEntityList.map(item => item.actualPersonId)
}
if(res.data.data.imagePath){
AppealAttachment.value.push({
url:res.data.data.imagePath,
})
}
dialogappeal.value = true; //
}, 0);
});
return;
}
@ -1492,7 +1526,6 @@ const appeal = (val, state) => {
if (val.row) {
details.selectionList.push(val.row);
}
dialogappeal.value = true; //
} else {
//
@ -1516,6 +1549,7 @@ const appeal = (val, state) => {
};
//
const Appealbutton = state => {
if(UserPermissions.value =='仓库客服'){
if (AppealAttachment.value.length > 1) {
ElMessage({
message: '只能上传一张图片',
@ -1532,7 +1566,11 @@ const Appealbutton = state => {
peopleEntityList: [], //
imagePath: '', //
};
if(AppealeditorState.value){
data.workOrderId = details.selectionList[0].workOrderId;
}else{
data.workOrderId = details.selectionList[0].id;
}
data.reason = Reasonforappeal.value;
data.appealPeopleName = warehouseData.value
.filter(item => Appealselection.value.includes(item.value))
@ -1544,48 +1582,62 @@ const Appealbutton = state => {
data.id = details.selectionList[0].id;
}
console.log(details.selectionList, '准备处理的数据');
details.selectionList.forEach(item => {
console.log(item, '已经选择的列表');
//
Appealselection.value.forEach(item => {
console.log(item,'循环的值');
data['peopleEntityList'].push({
workOrderId: item.id, //ID
warehouseId: item.warehouseId == '/' ? '' : item.warehouseId,
workOrderId: details.selectionList[0].id, //ID
reason: Reasonforappeal.value, //
claimant: userInfo.value.content.user_name, //
actualPersonId: warehouseData.value
.filter(item => Appealselection.value.includes(item.value))
.map(item => item.value)
.join(','), //ID
actualPersonName: warehouseData.value
.filter(item => Appealselection.value.includes(item.value))
.map(item => item.label)
.join(','), //
actualPersonId: warehouseData.value.find(res => res.value == item).value, //ID
actualPersonName: warehouseData.value.find(res=> res.value == item).label, //
});
});
if (AppealAttachment.value.length) {
console.log(AppealAttachment.value,'图片');
if(AppealAttachment.value[0].response){
data.imagePath = AppealAttachment.value[0].response.data.link; //
}else{
data.imagePath = AppealAttachment.value[0].url; //
}
}
console.log(data, '处理好的值');
$_appealSubmit(data).then(res => {
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
}
}).finally(res=>{
dialogappeal.value = false; //
loadingappeal.value = false; //
console.log(res, '申诉成功返回值');
console.log(res, '功返回值');
ProcessingPartyState.value = false; //
data.workOrderStatus = 30;
details.query.workOrderStatus = 30;
ArbitrationStatus.value = false; //
tabValue.value = 2;
AppealeditorState.value = false; //
appealData.value = {}; //
if(AppealStatusT.value){
Tableheaderswitching(AppealList); //
AppealList.forEach(item => {
//
item.values = '';
});
appealFn(); //
}else{
data.workOrderStatus = 80;
details.query.workOrderStatus = 80;
tabValue.value = 6;
empty(); //
IndexTable({ workOrderStatus: 30 });
if (res.data.code == 200) {
IndexTable({ workOrderStatus: 80 });
}
ElMessage({
message: res.data.msg,
type: 'success',
});
}
});
}
};
//
@ -1903,6 +1955,7 @@ const settlementclaim = val => {
};
//
const appealFn = val => {
details.loadingObj.list = true; //
AppealStatus.value = true; //
TimeoutStatus.value = false; //
@ -1932,6 +1985,7 @@ const appealFn = val => {
//
const AppealTab = val => {
if (val == 0) {
AppealStatusT.value = false; //
Tableheaderswitching(columnList); //
@ -1945,8 +1999,11 @@ const AppealTab = val => {
};
IndexTable(data);
} else {
AppealStatusT.value = true; //
console.log(val, '切换申诉列表');
data.workOrderStatus = '';
console.log( data.workOrderStatus,'当前搜索状态');
Tableheaderswitching(AppealList); //
AppealList.forEach(item => {
//
@ -1954,6 +2011,10 @@ const AppealTab = val => {
});
appealFn(); //
}
AppealAttachment.value=[];//
Appealselection.value='';//
Reasonforappeal.value='';//
};
//
const BtnModifyAmount = val => {
@ -2032,7 +2093,7 @@ const tabChenge = val => {
details.query.workOrderStatus = 40;
Tableheaderswitching(columnList);
empty();
ProcessingPartyFun(data);
IndexTable(data);
}
ProcessingPartyState.value = false; //
ArbitrationStatus.value = true; //
@ -3226,4 +3287,7 @@ const CompletedSubmission = () => {
width: 100%;
}
}
:deep(#bodys){
height: auto !important;
}
</style>

4
vite.config.js

@ -14,7 +14,7 @@ export default ({ mode, command }) => {
'/api': {
// target: 'http://192.168.10.126:8889',
// hy
target: 'http://192.168.10.48:13000',
// target: 'http://192.168.10.48:13000',
// lmy
// target: 'http://192.168.10.123:8889',
// target: 'http://192.168.10.101:8888',
@ -25,7 +25,7 @@ export default ({ mode, command }) => {
// target: 'http://192.168.6.122:8777',
// target: 'http://192.168.10.25:13000',
// target: 'http://192.168.10.25:2888',
// target: 'http://192.168.6.163:9777',//CYZ
target: 'http://192.168.6.163:9777',//CYZ
// target: 'http://192.168.10.57:13000',
// target: 'http://192.168.10.200:13000',
// target: 'http://192.168.10.29:13000',

Loading…
Cancel
Save