Browse Source

修复客服按钮权限

pre-production
马远东 1 year ago
parent
commit
48bd9ca128
  1. 37
      src/option/aftersales/vueTvemp.js
  2. 38
      src/views/aftersales/aftersalesWorkOrder.vue
  3. 137
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  4. 2
      src/views/aftersales/aftersalesWorkOrdermodify.vue

37
src/option/aftersales/vueTvemp.js

@ -125,20 +125,8 @@ export const columnList = [
head: false,
},
{
prop: 'trainNumber',
label: '车次号',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'vehicleRoute',
label: '车辆线路',
prop: 'customerServiceName',
label: '归属客服名称',
type: 2,
values: '',
width: '150',
@ -147,6 +135,7 @@ export const columnList = [
sortable: true,
head: false,
},
{
prop: 'deliverGoodsTime',
label: '送货时间',
@ -204,10 +193,21 @@ export const columnList = [
sortable: true,
head: false,
},
{
prop: 'trainNumber',
label: '车次号',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'customerServiceName',
label: '归属客服名称',
prop: 'vehicleRoute',
label: '车辆线路',
type: 2,
values: '',
width: '150',
@ -216,6 +216,9 @@ export const columnList = [
sortable: true,
head: false,
},
{
prop: 'overTime',
label: '完结时间',
@ -893,7 +896,7 @@ export const timeoutList = [
label: '操作',
type: 6,
values: '',
width: '220',
width: '120',
checkarr: [],
fixed: 'right',
sortable: false,

38
src/views/aftersales/aftersalesWorkOrder.vue

@ -178,23 +178,27 @@
<div>
<!-- <el-button @click="addingRecord(slotProps.scope)">新增记录</el-button> -->
<el-button
v-if="
(!AppealStatusT && TabPermissions != '8') ||
(AppealStatusT &&
UserPermissions !== '仓库客服' &&
slotProps.scope.row.typesOf != '2')
"
@click="view(slotProps.scope)"
>查看</el-button
>
<!-- v-if="
(!AppealStatusT && TabPermissions != '8') || (AppealStatusT && UserPermissions !== '仓库客服' && slotProps.scope.row.typesOf != '2')
" -->
<!-- 处理结果确定和处理完毕 -->
<!-- 总部客服确定 -->
<el-button
v-if="TabPermissions == '1'"
@click="DetermineStorage(slotProps.scope)"
>确定</el-button
>
<el-button
v-if="TabPermissions == '1' || TabPermissions == '2'"
v-if=" TabPermissions == '2' && slotProps.scope.row.workOrderStatus=='21'"
@click="DetermineStorage(slotProps.scope)"
>确定</el-button
>
<!-- 仓库客服的缺点
<!-- 仓库客服的缺确定
<el-button
v-if="
TabPermissions == '1' && slotProps.scope.row.workOrderStatus != '30'
@ -202,7 +206,6 @@
@click="DetermineStorage(slotProps.scope)"
>确定</el-button
> -->
<el-button
v-if="
TabPermissions == '6' &&
@ -232,13 +235,13 @@
<!-- 处理完毕 处理结果编辑 -->
<el-button
v-if="TabPermissions == '2' && UserPermissions == '仓库客服'"
v-if="TabPermissions == '2' && UserPermissions == '仓库客服' && slotProps.scope.row.workOrderStatus=='21'"
@click="ProcessedResultediting(slotProps.scope)"
>编辑</el-button
>
<!-- 完结信息编辑 -->
<el-button
v-if="TabPermissions == '6' && UserPermissions != '仓库客服'"
v-if="TabPermissions == '6' && UserPermissions != '仓库客服' && slotProps.scope.row.typesOfName =='待处理'"
@click="CompletedEditing(slotProps.scope)"
>编辑</el-button
>
@ -281,12 +284,13 @@
<!-- <el-button v-if="ClaimStatus" @click="appeal(slotProps.scope)"
>申诉</el-button
> -->
</div>
<el-button
<el-button
v-if="TabPermissions == 7"
@click="BtnModifyAmount(slotProps.scope)"
>修改金额</el-button
>
</div>
</div>
</template>
</template>
@ -1413,6 +1417,7 @@ const InformationViewing = val => {
RouteIndexs: TabPermissions.value, //
Routstate: 'appeal', //
AppealReview: val.row.typesOf == '0' ? 'true' : 'false', //
workOrderStatus:val.row.workOrderStatus,//
},
});
return;
@ -1448,6 +1453,7 @@ const InformationViewing = val => {
businessId: val.row.businessId,
ProcessType: TabPermissions.value == 2 ? '2' : TabPermissions.value == 3 ? '1' : '', // 1 2
RouteIndexs: TabPermissions.value, //
workOrderStatus:val.row.workOrderStatus,//
},
});
};
@ -1467,9 +1473,10 @@ const view = val => {
workOrderNumber: val.row.workOrderNumber, //
businessId: val.row.businessId,
ProcessType: TabPermissions.value == 2 ? '2' : TabPermissions.value == 3 ? '1' : '', // 1 2
RouteIndexs: TabPermissions.value, //
RouteIndexs: TabPermissions.value, //
Routstate: 'appeal', //
AppealReview: val.row.typesOf == '0' ? 'true' : 'false', //
workOrderStatus:val.row.workOrderStatus,//
},
});
return;
@ -2341,6 +2348,7 @@ function getWinHight() {
// };
//
const TimeoutHandling = val => {
timeoutList[3].checkarr = []; //
timeoutList[4].checkarr = []; //
ClaimStatus.value = false; //

137
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -501,30 +501,30 @@
<div class="el_pkLi">
<div class="sk_input">
<el-tooltip :content="item.name" placement="top">
<el-input
v-model="item.name"
:placeholder="item.state == 0 ? '暂无赔款方' : '暂无受款方'"
disabled
/>
</el-tooltip>
<el-input
v-model="item.name"
:placeholder="item.state == 0 ? '暂无赔款方' : '暂无受款方'"
disabled
/>
</el-tooltip>
</div>
<div class="sk_input">
<span>原因</span>
<el-tooltip :content="item.reason" placement="top">
<el-input v-model="item.reason" placeholder="暂无原因" disabled />
</el-tooltip>
<el-input v-model="item.reason" placeholder="暂无原因" disabled />
</el-tooltip>
</div>
<div class="sk_input">
<span>金额</span>
<el-tooltip :content="item.num?item.num:'0'" placement="top">
<el-input
@input="amountMoney"
:min="0"
v-model="item.num"
placeholder="0"
disabled
/>
</el-tooltip>
<el-tooltip :content="item.num ? item.num : '0'" placement="top">
<el-input
@input="amountMoney"
:min="0"
v-model="item.num"
placeholder="0"
disabled
/>
</el-tooltip>
</div>
<!-- 赔款方是那个仓库的 -->
<div class="sk_input" v-if="item.state == 0">
@ -537,22 +537,26 @@
:value="item.value"
/>
</el-select>
</div>
<div class="sk_input" v-if="item.state == 1"></div>
<!-- 责任人 -->
<div class="sk_input" v-if="item.state == 0">
<span>责任人</span>
<el-tooltip :content="item.compensationPersonnel?item.compensationPersonnel:'暂无责任人'" placement="top">
<el-input
v-model="item.compensationPersonnel"
placeholder="暂无责任人"
clearable
:rows="2"
disabled
/>
</el-tooltip>
<el-tooltip
:content="
item.compensationPersonnel ? item.compensationPersonnel : '暂无责任人'
"
placement="top"
>
<el-input
v-model="item.compensationPersonnel"
placeholder="暂无责任人"
clearable
:rows="2"
disabled
/>
</el-tooltip>
</div>
<div class="sk_input" v-if="item.state == 1"></div>
@ -569,9 +573,9 @@
</el-tab-pane>
</el-tabs>
<!-- 仲裁原因 -->
<!-- 仲裁原因 -->
<!-- v-if="routerState == 'end'" -->
<div class="arbitrate" v-if="UserPermissions != '仓库客服'">
<div class="arbitrate" v-if="UserPermissions != '仓库客服'">
<el-tabs type="border-card" class="demo-tabs">
<el-tab-pane>
<template #label>
@ -592,8 +596,6 @@
</el-tabs>
</div>
<!-- 照片回显 -->
<el-tabs type="border-card" class="demo-tabs el-photo">
<el-tab-pane>
@ -638,8 +640,6 @@
</div>
</el-tab-pane>
</el-tabs>
</div>
<div class="dialog-footer">
<el-button type="primary" v-if="PermissionButton.reply" @click="addireply">回复</el-button>
@ -912,6 +912,7 @@ const BatchFrom = ref({}); //打回内容
const dialogReturn = ref(false); //
const appeal = ref(false); //
const AppealReview = ref(false); //
const warehouseIdState = ref(false);//
const CompensationParty = ref([
{
name: '',
@ -984,17 +985,22 @@ onMounted(() => {
//
const PermissionButton = computed(() => {
// if(appeal.value)return false
// else if ( $route.query.workOrderStatus != '21')return false
// return true
return {
reply: !appeal.value, //
Processing_results: !appeal.value && $route.query.workOrderStatus != '21', //
work_order_completion: !appeal.value, //
repulse: !appeal.value, //
apply_arbitration: !appeal.value, //
information_editing: !appeal.value, //
Appeal_established: true ,//
Appeal_rejection: true, //
Processing_results: !appeal.value && (($route.query.RouteIndexs =='0' && $route.query.workOrderStatus == '10') || ($route.query.RouteIndexs =='3' && $route.query.workOrderStatus == '10')), //10 20 21
work_order_completion: !appeal.value && (($route.query.RouteIndexs =='0' && $route.query.workOrderStatus != '80' && UserPermissions.value !='仓库客服') || ($route.query.RouteIndexs =='3' && $route.query.workOrderStatus != '80' && UserPermissions.value !='仓库客服')) , //
repulse: !appeal.value && (($route.query.RouteIndexs =='0' && $route.query.workOrderStatus == '10') || ($route.query.RouteIndexs =='3' && $route.query.workOrderStatus == '10')) && UserPermissions.value !='仓库客服', //
apply_arbitration: !appeal.value && (($route.query.RouteIndexs =='0' && $route.query.workOrderStatus == '70') || ($route.query.RouteIndexs =='3' && $route.query.workOrderStatus == '70')) && UserPermissions.value !='仓库客服', //
information_editing: !appeal.value && (($route.query.RouteIndexs =='0' && $route.query.workOrderStatus == '10' ) || ($route.query.RouteIndexs =='3' && $route.query.workOrderStatus == '10' ))&& warehouseIdState.value, //
Appeal_established: appeal.value && AppealReview.value, //
Appeal_rejection:appeal.value && AppealReview.value, //
};
});
// appeal.value && AppealReview.value,
//
const Chathistory = res => {
@ -1017,7 +1023,7 @@ const Chathistory = res => {
img: filetype == 'png' ? item.pictureUrl : '',
file: filetype == 'docx' ? item.pictureUrl : '',
mp4: filetype == 'mp4' ? item.pictureUrl : '',
imgList: [filetype == 'png' ? item.pictureUrl : ''],
imgList: filetype == 'png' ? item.pictureUrl : '',
difference: item.difference,
identifying: false, //
});
@ -1165,9 +1171,27 @@ const onLoad = () => {
handle(); //
$_getInfo({ id: $route.query.id }).then(res => {
if ($route.query.Routstate) {
appeal.value = true;
console.log(appeal.value,'appeal.value');
}
//
if ($route.query.AppealReview) {
if ($route.query.AppealReview == 'false') {
console.log($route.query.AppealReview, '申诉状态');
AppealReview.value = false;
} else {
AppealReview.value = true;
console.log(AppealReview.value, '当前申诉状态');
}
}
console.log(res, '回显返回值参数');
Indexform.value = res.data.data;
if(res.data.data.warehouseId == Mydata.value.id){
//
warehouseIdState.value=true;
}
Indexform.value['result'] = [];
Indexform.value['processor'] = [];
//
@ -1249,7 +1273,7 @@ const onLoad = () => {
//
Indexform.value.resultDescription = res.data.data.processingResultsVO.resultDescription;
if (res.data.data.completionRecipientEntityList.length > 0) {
if (res.data.data.completionRecipientEntityList.length) {
CompensationParty.value = [];
res.data.data.completionRecipientEntityList.forEach((item, index) => {
TotalamountReceived.value += Number(item.money);
@ -1266,6 +1290,7 @@ const onLoad = () => {
}
//
if (res.data.data.completionRecordEntities.length) {
CompensationParty.value = [];
res.data.data.completionRecordEntities.forEach((item, index) => {
TotalamountCompensation.value += Number(item.money);
CompensationParty.value.push({
@ -1421,7 +1446,7 @@ const AppealEstablished = () => {
//
const AppealRejection = () => {
let data = {
id: $route.query.appeal, //ID
id: $route.query.appealID, //ID
typesOf: '2', //
workOrderId: $route.query.id, //ID
};
@ -1441,11 +1466,7 @@ const AppealRejection = () => {
}
})
.catch(res => {
ElMessage({
showClose: true,
message: '操作失败',
type: 'success',
});
console.log('错误信息',res);
})
.finally(() => {
Pageloading.value = false; //
@ -2181,13 +2202,13 @@ const ConfirmReturn = () => {
width: 20%;
display: flex;
align-items: center;
span{
width: 100px;
margin-right: 4px;
display: flex;
justify-content: flex-end;
font-size: 14px;
font-weight: 400;
span {
width: 100px;
margin-right: 4px;
display: flex;
justify-content: flex-end;
font-size: 14px;
font-weight: 400;
}
}
.el-button {
@ -2246,9 +2267,9 @@ const ConfirmReturn = () => {
:deep(#avue-view) {
background-color: #fff;
}
:deep(.el_resj){
:deep(.el_resj) {
flex-direction: column;
.el-form-item__label{
.el-form-item__label {
justify-content: center;
font-weight: 500;
border: 1px solid #dcdfe6;

2
src/views/aftersales/aftersalesWorkOrdermodify.vue

@ -2023,7 +2023,7 @@ const Arbitrationcompleted = () => {
TotalAmount += Number(res.input)
})
console.log(TotalAmount,'总金额');
DataSubmit.aftersalesProcessingResultsDTO.money = TotalAmount; //
data.aftersalesProcessingResultsDTO.money = TotalAmount; //

Loading…
Cancel
Save