Browse Source

修复客服已知bug

dev-xx
马远东 1 year ago
parent
commit
5939b6b87a
  1. 28
      src/option/aftersales/vueTvemp.js
  2. 32
      src/router/views/index.js
  3. 24
      src/utils/util.js
  4. 72
      src/views/aftersales/aftersalesWorkOrder.vue
  5. 33
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  6. 2
      src/views/distribution/deliverylist/distributionDeliveryListdis.vue
  7. 18
      src/views/distribution/inventory/distrilbutionBillLadingList.vue
  8. 3
      src/views/distribution/signdetail/packageNodeSearch.vue

28
src/option/aftersales/vueTvemp.js

@ -138,7 +138,7 @@ export const columnList = [
{
prop: 'totalAmount',
label: '赔款金额',
type: 2,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -149,7 +149,7 @@ export const columnList = [
{
prop: 'entryTime',
label: '财务入账时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -171,7 +171,7 @@ export const columnList = [
{
prop: 'deliverGoodsTime',
label: '送货时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -183,7 +183,7 @@ export const columnList = [
{
prop: 'discoveryTime',
label: '发现时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -194,7 +194,7 @@ export const columnList = [
{
prop: 'warehousingTime',
label: '入库时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -206,7 +206,7 @@ export const columnList = [
{
prop: 'deliveryTime',
label: '配送时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -254,7 +254,7 @@ export const columnList = [
{
prop: 'overTime',
label: '完结时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -265,7 +265,7 @@ export const columnList = [
{
prop: 'problemDescription',
label: '异常问题描述',
type: 2,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -287,7 +287,7 @@ export const columnList = [
{
prop: 'processNumber',
label: '钉钉流程号',
type: 2,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -309,7 +309,7 @@ export const columnList = [
{
prop: 'auditTime',
label: '审核时间',
type: 2,
type: 4,
values: '',
width: '150',
checkarr: [],
@ -322,7 +322,7 @@ export const columnList = [
{
prop: 'remarks',
label: '备注',
type: 2,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -814,7 +814,7 @@ export const timeoutList = [
head: false,
},
{
prop: 'workOrderTypeName',
prop: 'workOrderTypeNameS',
label: '异常类型',
type: 3,
values: '',
@ -825,7 +825,7 @@ export const timeoutList = [
head: false,
},
{
prop: 'discoveryNodeName',
prop: 'discoveryNodeNameS',
label: '发现节点名称',
type: 3,
values: '',
@ -840,7 +840,7 @@ export const timeoutList = [
{
prop: 'money',
label: '金额',
type: 2,
type: 1,
values: '',
width: '130',
checkarr: [],

32
src/router/views/index.js

@ -1247,22 +1247,22 @@ export default [
],
},
{
path: '/aftersales/aftersalesWorkOrder',
component: Layout,
redirect: '/aftersales/aftersalesWorkOrder',
children: [
{
meta: {
i18n: 'dict',
keepAlive: false,
},
path: '/aftersales/aftersalesWorkOrder',
name: '工单',
component: () => import('@/views/aftersales/aftersalesWorkOrder.vue'),
},
],
},
// {
// path: '/aftersales/aftersalesWorkOrder',
// component: Layout,
// redirect: '/aftersales/aftersalesWorkOrder',
// children: [
// {
// meta: {
// i18n: 'dict',
// keepAlive: false,
// },
// path: '/aftersales/aftersalesWorkOrder',
// name: '工单',
// component: () => import('@/views/aftersales/aftersalesWorkOrder.vue'),
// },
// ],
// },
{
path: '/aftersales/aftersalesWorkOrderAdd',
component: Layout,

24
src/utils/util.js

@ -511,51 +511,35 @@ export const setNodeHeight = (_node, _height = '') => {
const updateDetailQuery = (index, propName, detailsQuery) => {
if (index) {
detailsQuery[propName] = index; // 设置属性值
console.log(`Property set: ${propName} = ${index}`);
} else {
} else {
if(detailsQuery.hasOwnProperty(propName)) {
delete detailsQuery[propName]; // 确保删除属性
console.log(`Property deleted: ${propName}`);
} else {
console.log(`Property to delete not found: ${propName}`);
}
}
};
// 处理 row 属性并更新 details.query
export const processRowProperty = (index, row, details) => {
console.log(`Processing: ${row.prop}`);
console.log(`Processing: ${row.prop}`);
console.log('Current details.query before processing:', details.query);
// 先前匹配和删除的代码 ...
console.log('Current details.query after processing:', details.query);
if (typeof row.prop === 'string') {
const nameRegex = /([a-zA-Z0-9_]+)NameS$/;
const match = row.prop.match(nameRegex);
if (match) {
const basePropName = match[1];
console.log(`Matched: ${basePropName}`);
const fullPropNameS = basePropName + 'NameS';
console.log(`Full property name with 'NameS': ${fullPropNameS}`);
if (details.query.hasOwnProperty(fullPropNameS)) {
delete details.query[fullPropNameS];
console.log(`Property '${fullPropNameS}' deleted`);
} else {
console.log(`Property '${fullPropNameS}' not found for deletion`);
}
updateDetailQuery(index, basePropName, details.query);
} else {
console.log(`No 'NameS' ending found for ${row.prop}`);
updateDetailQuery(index, row.prop, details.query);
}
} else {
console.log(`row.prop is not a string`);
}
};

72
src/views/aftersales/aftersalesWorkOrder.vue

@ -14,16 +14,26 @@
<!-- 搜索模块 -->
<el-row v-if="search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class="el-fr-d">
<el-form :inline="true" :model="topFrom" class="el-fr-d">
<div class="el_tims_box">
<div class="topText">
<el-form-item label="工单号" class="el-times">
<el-input
type="text"
v-model="query.workOrderNumber"
:rows="4"
placeholder="请输入工单号"
/>
</el-form-item>
<el-form-item label="订单自编号" class="el-times">
<el-input
type="text"
v-model="query.workOrderNumber"
placeholder="请输入订单自编号"
/>
</el-form-item>
</div>
<!-- <div class="el_times">
@ -502,7 +512,6 @@
v-model="dialogBatchcompletion"
title="批量完结"
width="60%"
:before-close="handleClose"
:style="{ height: BatchcompletionHeight + 'px', overflowY: 'scroll' }"
class="el_Batchcompletion"
>
@ -1219,16 +1228,16 @@ const AppealeditorState = ref(false); //申诉是否为编辑状态(默认否)
const AppealStatusT = ref(false); //
const loadingCustomer = ref(false); //
const TabList = ref([
{ name: 0, label: '全部', state: true, request: true },
{ name: 3, label: '待处理', state: true, request: true },
{ name: 9, label: '待审核', state: true, request: true },
{ name: 8, label: '待回复', state: false, request: true },
{ name: 1, label: '处理中', state: true, request: true },
{ name: 2, label: '处理完毕', state: true, request: true },
{ name: 6, label: '仲裁中', state: true, request: true },
{ name: 5, label: '客服介入', state: true, request: true },
{ name: 4, label: '理赔金额未出', state: true, request: true },
{ name: 7, label: '超时未处理', state: true, request: true },
{ name: 0, label: '全部', state: true, request: true,DataList:[]},
{ name: 3, label: '待处理', state: true, request: true,DataList:[]},
{ name: 9, label: '待审核', state: true, request: true,DataList:[]},
{ name: 8, label: '待回复', state: false, request: true ,DataList:[]},
{ name: 1, label: '处理中', state: true, request: true ,DataList:[]},
{ name: 2, label: '处理完毕', state: true, request: true ,DataList:[]},
{ name: 6, label: '仲裁中', state: true, request: true ,DataList:[]},
{ name: 5, label: '客服介入', state: true, request: true ,DataList:[]},
{ name: 4, label: '理赔金额未出', state: true, request: true ,DataList:[]},
{ name: 7, label: '超时未处理', state: true, request: true ,DataList:[]},
]); //
const DeliveryDriver = ref([]);
@ -1782,6 +1791,8 @@ const IndexTable = val => {
page.value.total = res.data.data.total; //
if (res.data.data.records.length) {
Statusprocessing(res.data.data.records);
TabList.value.find(res=>res.name == TabPermissions.value).DataList = res.data.data.records
console.log(TabList.value,'当前存储的值');
details.data = res.data.data.records;
} else {
// details.data = res.data.data.records;
@ -2559,6 +2570,11 @@ const searchChangeS = () => {
// IndexTable(); //
tabChenge(TabPermissions.value);
};
//
const WorkorderChange=(val)=>{
console.log(val);
}
//
const searchReset = () => {
details.query = {};
@ -2567,6 +2583,13 @@ const searchReset = () => {
};
/** 表格表头时间选择 */
const timesc = (index, row) => {
processRowProperty(index, row, details);
details.query[row.prop] = index;
DataRendering(TabPermissions.value, details.query);
return
console.log(index, row);
if (!!index) {
index = dayjs(index).format('YYYY-MM-DD');
@ -2584,6 +2607,7 @@ const btnsc = val => {
/** 表格表头下拉框选择 */
const selectsc = (index, row) => {
console.log(row,'下拉参数');
processRowProperty(index, row, details);
details.query[row.prop] = index;
DataRendering(TabPermissions.value, details.query);
@ -2806,8 +2830,8 @@ const appealFn = val => {
ClaimStatus.value = false; //
AppealList[5].checkarr = []; //
AppealList[6].checkarr = []; //
Antidictionary('pc_work_order', AppealList[5]);
Antidictionary('pc_discovery_node', AppealList[6]);
updateDictionary(AppealList[5].checkarr, 'pc_work_order'); //
updateDictionary(AppealList[6].checkarr, 'pc_discovery_node'); //
console.log('当前是申诉列表');
let data = {
current: details.page.currentPage,
@ -2926,14 +2950,15 @@ const TimeoutHandling = val => {
AppealStatus.value = false; //
TimeoutStatus.value = true; //
details.loadingObj.list = true; //
Antidictionary('pc_work_order', timeoutList[3]);
Antidictionary('pc_discovery_node', timeoutList[4]);
updateDictionary(timeoutList[3].checkarr, 'pc_work_order'); //
updateDictionary(timeoutList[4].checkarr, 'pc_discovery_node'); //
let data = {
current: details.page.currentPage,
size: details.page.pageSize,
...val,
};
$_listOwn(data).then(res => {
Statusprocessing(res.data.data.records)
details.loadingObj.list = false; //
console.log(res, '超时记录');
details.data = res.data.data.records;
@ -3048,7 +3073,7 @@ const DataRendering = (val, input) => {
details.query.workOrderStatus = null;
ArbitrationStatus.value = false; //
Tableheaderswitching(timeoutList); //
TimeoutHandling(); //
TimeoutHandling(data); //
} else if (val == 8) {
//
if (UserPermissions.value == '仓库客服') {
@ -4586,14 +4611,21 @@ const AssignSubmission = () => {
height: 30px !important;
}
}
.el_tims_box {
:deep(.el_tims_box) {
display: flex;
.el-form-item {
margin: 6px 0;
}
}
.el-fr-d {
margin: 6px 0px;
width: 100%;
display: flex;
justify-content: space-between;
}
.el-btn {
width: 100%;
margin-right: 0;
margin-bottom: 0;
}
:deep(.el-card) {
box-shadow: none;

33
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -151,12 +151,33 @@
groundlineType == 3 || groundlineType == 5 || groundlineType == 7 || groundlineType == 6
"
>
<el-input
<!-- <el-input
v-model="Indexform.trainNumber"
placeholder="请输入车次号(干线卸车环节)"
placeholder="请输入车次号"
clearable
@change="DeliveryTrainnumber"
/>
/> -->
<el-select
v-model="Indexform.trainNumber"
filterable
allow-create
default-first-option
:reserve-keyword="false"
placeholder="请选择车次号"
@change="DeliveryTrainnumber"
>
<el-option
v-for="item in TrainnumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
@ -641,6 +662,8 @@ const dialogImageUrl = ref(null); //图片
const dialogVisible = ref(null); //
const groundlineSet = ref(true); //线
const TotalClaimAmount = ref(0); //
const TrainnumberList=ref([]);//
const TrainnumberMax=ref([]);//
const groundlineType = ref(null); //线
const Inputbox = ref(true); //
const ShortageState = ref(false); //
@ -898,6 +921,8 @@ const DiscoveringNodesChange = val => {
//
function DeliveryTrainnumber() {
console.log(Indexform.value.trainNumber,'车次号');
if (!Indexform.value.trainNumber && !Indexform.value.deliveryTime) {
Indexform.value.deliveryTime = null;
Indexform.value.deliveryDriver = '';

2
src/views/distribution/deliverylist/distributionDeliveryListdis.vue

@ -963,7 +963,7 @@ export default {
}
ElMessageBox.confirm(
'是否取消配送?',
'Warning',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',

18
src/views/distribution/inventory/distrilbutionBillLadingList.vue

@ -257,7 +257,7 @@ import { getDictionaryBiz } from '@/api/system/dict';
import { getToken } from '@/utils/auth';
import dayjs from 'dayjs';
import { downloadXls } from '@/utils/util';
import { ElMessage, ElMessageBox } from 'element-plus'
export default {
data() {
return {
@ -883,6 +883,16 @@ export default {
this.$message.warning('请选择至少一条数据');
return;
}
ElMessageBox.confirm(
'是否取消该任务?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
//
let data={
billLodingIds:''
@ -897,6 +907,12 @@ export default {
}).finally(()=>{
this.loading=false;//
})
})
.catch(() => {
})
},
//
handleSign(row, num) {

3
src/views/distribution/signdetail/packageNodeSearch.vue

@ -19,6 +19,9 @@
<el-form-item :label="title + ':'">
<el-input v-model="query.packageCode" :placeholder="'请输入' + title"></el-input>
</el-form-item>
<el-form-item>
</el-form-item>
</div>
<!-- 查询按钮 -->
<el-form-item class="el-btn">

Loading…
Cancel
Save