Browse Source

修复提示文字错误

pre-production
马远东 1 year ago
parent
commit
05c8dacab0
  1. 18
      src/router/views/index.js
  2. 6
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  3. 2832
      src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue
  4. 438
      src/views/aftersales/aftersalesWorkOrderInfoTemp.vue
  5. 16
      src/views/aftersales/aftersalesWorkOrderend.vue
  6. 2
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  7. 2
      vite.config.js

18
src/router/views/index.js

@ -1282,6 +1282,24 @@ export default [
],
},
{
path: '/aftersales/aftersalesWorkOrderInfoEnxt',
component: Layout,
redirect: '/aftersales/aftersalesWorkOrderInfoEnxt',
children: [
{
meta: {
i18n: 'dict',
keepAlive: false,
},
path: '/aftersales/aftersalesWorkOrderInfoEnxt',
name: '编辑重构',
component: () => import('@/views/aftersales/aftersalesWorkOrderInfoEnxt.vue'),
},
],
},
{
path: '/aftersales/aftersalesWorkOrderend',
component: Layout,

6
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -1236,8 +1236,6 @@ const ConfirmReturn = () => {
console.log(data, '处理好的值');
$_batchReturn(data)
.then(res => {
repulse.value = false; //
dialogReturn.value = false; //
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
@ -1247,6 +1245,9 @@ const ConfirmReturn = () => {
}
})
.catch(error => {
console.log(error, '错误信息');
})
.finally(() => {
repulse.value = false; //
dialogReturn.value = false; //
});
@ -1512,7 +1513,6 @@ const AppealRejection = () => {
};
//
const AppealEstablished = () => {
//
$router.push({

2832
src/views/aftersales/aftersalesWorkOrderInfoEnxt.vue

File diff suppressed because it is too large Load Diff

438
src/views/aftersales/aftersalesWorkOrderInfoTemp.vue

@ -408,7 +408,7 @@
filterable
default-first-option
:reserve-keyword="false"
placeholder="请选择处理结果"
placeholder="暂无处理结果"
disabled
>
<el-option
@ -462,6 +462,18 @@
<span>总金额:{{ TotalClaimAmount }}</span>
</div>
</div>
<!-- 处理结果说明 -->
<el-form-item label="处理结果说明" class="el_resj" v-if="ProcessingList.length">
<el-input
v-model="Indexform.resultDescription"
placeholder="请输入处理结果说明"
clearable
:autosize="{ minRows: 3, maxRows: 4 }"
type="textarea"
disabled
/>
</el-form-item>
</el-tab-pane>
</el-tabs>
@ -488,26 +500,35 @@
<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>
</div>
<div class="sk_input">
<span>原因</span>
<el-tooltip :content="item.reason" placement="top">
<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="金额"
placeholder="0"
disabled
/>
</el-tooltip>
</div>
<!-- 赔款方是那个仓库的 -->
<div class="sk_input" v-if="item.state == 0">
<span>仓库</span>
<el-select v-model="item.warehouseId" disabled filterable placeholder="暂无仓库">
<el-option
v-for="item in warehouseData"
@ -516,11 +537,14 @@
: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="暂无责任人"
@ -528,6 +552,7 @@
:rows="2"
disabled
/>
</el-tooltip>
</div>
<div class="sk_input" v-if="item.state == 1"></div>
@ -543,6 +568,32 @@
</div>
</el-tab-pane>
</el-tabs>
<!-- 仲裁原因 -->
<!-- v-if="routerState == 'end'" -->
<div class="arbitrate" v-if="UserPermissions != '仓库客服'">
<el-tabs type="border-card" class="demo-tabs">
<el-tab-pane>
<template #label>
<span class="custom-tabs-label">
<el-icon><Star /></el-icon>
<span>仲裁原因</span>
</span>
</template>
<el-input
v-model="Indexform.arbitrate"
type="textarea"
:autosize="{ minRows: 5, maxRows: 4 }"
disabled
placeholder="暂无仲裁原因"
/>
</el-tab-pane>
</el-tabs>
</div>
<!-- 照片回显 -->
<el-tabs type="border-card" class="demo-tabs el-photo">
<el-tab-pane>
@ -588,36 +639,40 @@
</el-tab-pane>
</el-tabs>
<!-- 仲裁原因 -->
<!-- v-if="routerState == 'end'" -->
<div class="arbitrate" v-if="UserPermissions != '仓库客服'">
<el-tabs type="border-card" class="demo-tabs">
<el-tab-pane>
<template #label>
<span class="custom-tabs-label">
<el-icon><Star /></el-icon>
<span>仲裁原因</span>
</span>
</template>
<el-input
v-model="Indexform.arbitrate"
type="textarea"
:autosize="{ minRows: 5, maxRows: 4 }"
disabled
placeholder="暂无仲裁原因"
/>
</el-tab-pane>
</el-tabs>
</div>
</div>
<div class="dialog-footer">
<el-button type="primary"> 回复 </el-button>
<el-button type="primary"> 处理结果 </el-button>
<el-button type="primary"> 完结 </el-button>
<el-button type="primary"> 打回 </el-button>
<el-button type="primary"> 客服仲裁 </el-button>
<el-button type="primary"> 信息编辑 </el-button>
<el-button type="primary" v-if="PermissionButton.reply" @click="addireply">回复</el-button>
<el-button type="primary" v-if="PermissionButton.Processing_results" @click="addingRecord"
>处理结果
</el-button>
<el-button type="primary" v-if="PermissionButton.work_order_completion" @click="EndJump"
>完结</el-button
>
<el-button type="primary" v-if="PermissionButton.repulse" @click="BatchReturn"
>打回</el-button
>
<el-button
type="primary"
v-if="PermissionButton.apply_arbitration"
@click="CustomerServiceCompleted"
>客服仲裁完结</el-button
>
<el-button
type="primary"
v-if="PermissionButton.information_editing"
@click="EditInformation"
>信息编辑</el-button
>
<el-button
type="primary"
v-if="PermissionButton.Appeal_established"
@click="AppealEstablished"
>申诉成立</el-button
>
<el-button type="primary" v-if="PermissionButton.Appeal_rejection" @click="AppealRejection"
>申诉驳回</el-button
>
</div>
</el-card>
@ -632,10 +687,10 @@
>
<div class="el_Processingparty">
<div></div>
<div class="el_Refresh" @click="Chatrefresh">
<div class="el_Refresh" @click="Chatrefresh">
<el-button type="primary">刷新</el-button>
</div>
</div>
</div>
<div class="ovhe" :style="{ height: msgHight + 'px' }" ref="scrollContainer">
<el-timeline>
<el-timeline-item
@ -657,10 +712,6 @@
<h4>{{ item.username }}{{ item.name }}</h4>
</div>
<div class="e_ico">
<el-icon><Timer /></el-icon>:
<p>{{ item.time }}</p>
</div>
<el-tag
:class="{
identifyingC1: item.difference == '1',
@ -711,6 +762,10 @@
</div>
<div class="identifying">
<div class="e_ico">
<el-icon><Timer /></el-icon>:
<p>{{ item.time }}</p>
</div>
<div
class="tag"
v-if="
@ -740,6 +795,46 @@
</el-tabs>
</div>
</el-affix>
<!-- 打回弹窗 -->
<el-dialog v-model="dialogReturn" title="工单打回" width="40%" draggable class="plAllret">
<el-form
v-loading="repulse"
element-loading-text="正在打回中..."
label-position="top"
label-width="100px"
:model="BatchFrom"
class="el_form_BatchFrom"
>
<el-form-item label="打回原因" class="el_BatchFrom">
<el-input v-model="BatchFrom.txt" type="textarea" :rows="4" />
</el-form-item>
<el-form-item label="流转营业部">
<el-select
v-model="BatchFrom.businessDepartment"
multiple
filterable
default-first-option
:reserve-keyword="false"
placeholder="请选择活动区域"
>
<el-option
v-for="item in warehouseData"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogReturn = false">取消</el-button>
<el-button type="primary" @click="ConfirmReturn" :disabled="repulse"> 确定 </el-button>
</span>
</template>
</el-dialog>
</div>
</template>
@ -747,20 +842,17 @@
import { ElMessage, ElMessageBox } from 'element-plus';
import { useRouter, useRoute } from 'vue-router';
import { useStore } from 'vuex';
const $store = useStore();
const $useStore = useStore();
import { getDictionaryBiz } from '@/api/system/dict'; //
import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //
import { getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //
import {
$_submit,
$_getBusinessDepartmentUser,
$_getAbnormalPackage,
$_shippingInformation,
$_getTrackRecord,
$_getSurveyRecord,
$_getInfo,
$_batchReturn,
$_Cancelappeal,
} from '@/api/aftersales/aftersalesWorkOrder';
import { computeNumber } from '@/utils/util';
import { ref, reactive, toRefs, computed, onMounted, nextTick } from 'vue';
import { ref, reactive, computed, onMounted } from 'vue';
import { getToken } from '@/utils/auth';
const $router = useRouter();
const $route = useRoute();
@ -769,6 +861,7 @@ const Indexform = ref({
decreaseImageEntityList: [], //
discoveryNode: '1',
}); //
const pageState = ref(false); //
const ProcessingResults = ref([]); //
const IndexException = ref([]); //
const ZFname = ref(''); //
@ -815,6 +908,10 @@ const msgState = ref(0);
const Msgloading = ref(false);
const TotalamountCompensation = ref(0); //
const TotalamountReceived = ref(0); //
const BatchFrom = ref({}); //
const dialogReturn = ref(false); //
const appeal = ref(false); //
const AppealReview = ref(false); //
const CompensationParty = ref([
{
name: '',
@ -885,6 +982,20 @@ onMounted(() => {
}, 0);
});
//
const PermissionButton = computed(() => {
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: appeal.value && AppealReview.value, //
Appeal_rejection: appeal.value && AppealReview.value, //
};
});
//
const Chathistory = res => {
Msgloading.value = true;
@ -1206,9 +1317,177 @@ const isShowFormItem2 = computed(() => {
return !['2', '5', '6', '7', '8'].includes(groundlineType.value);
});
//
const Chatrefresh=()=>{
Chathistory()
}
const Chatrefresh = () => {
Chathistory();
};
//
//
const addireply = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrderend',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-回复',
businessId: $route.query.workOrderNumber,
RouterState: 'determine',
index: '0',
},
});
};
//
const addingRecord = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrderend',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-添加异常记录',
businessId: $route.query.workOrderNumber,
RouterState: 'record',
index: '1',
},
});
};
//
const EndJump = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrderend',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-完结填写',
RouterState: 'end',
index: '2',
workOrderStatus: $route.query.workOrderStatus, //
},
});
};
//
const BatchReturn = () => {
BatchFrom.value.businessDepartment = [];
BatchFrom.value.txt = null;
dialogReturn.value = true;
};
//
const CustomerServiceCompleted = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrdermodify',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-客服仲裁完结',
businessId: $route.query.businessId,
warehouseId: $route.query.warehouseId,
workOrderNumber: $route.query.workOrderNumber,
RouterState: 'Kfend',
CompletedEditing: 'true', //
index: '1',
},
});
};
//
const EditInformation = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrdermodify',
query: {
id: $route.query.id,
name: $route.query.workOrderNumber + '-编辑',
businessId: $route.query.businessId,
warehouseId: $route.query.warehouseId,
workOrderNumber: $route.query.workOrderNumber,
RouterState: 'Infoedit',
ProcessType: $route.query.ProcessType, // 1 2
},
});
};
//
const AppealEstablished = () => {
$router.push({
path: '/aftersales/aftersalesWorkOrdermodify',
query: {
id: $route.query.id, //idworkOrderId
name: $route.query.workOrderNumber + '-申诉编辑',
businessId: $route.query.businessId,
warehouseId: $route.query.warehouseId,
workOrderNumber: $route.query.workOrderNumber,
RouterState: 'Kfend',
Appealeditor: 'appeal', //
appealID: $route.query.appealID, //ID
},
});
};
//
const AppealRejection = () => {
let data = {
id: $route.query.appeal, //ID
typesOf: '2', //
workOrderId: $route.query.id, //ID
};
$_Cancelappeal(data)
.then(res => {
console.log(res, '申诉驳回返回值');
if (res.data.code == 200) {
ElMessage({
showClose: true,
message: '申诉驳回成功',
type: 'success',
});
$useStore.commit('DEL_TAG_CURRENT'); //
$router.push({
path: '/aftersales/aftersalesWorkOrder',
});
}
})
.catch(res => {
ElMessage({
showClose: true,
message: '操作失败',
type: 'success',
});
})
.finally(() => {
Pageloading.value = false; //
});
};
//
const ConfirmReturn = () => {
repulse.value = true; //
let data = {
processorList: [],
};
//
let foundObjs = warehouseData.value.filter(obj =>
BatchFrom.value.businessDepartment.includes(obj.value)
);
data['businessId'] = foundObjs.map(item => item.value).join(',');
data['businessName'] = foundObjs.map(item => item.label).join(',');
//
foundObjs.forEach(item => {
data['processorList'].push({ id: item.value, name: item.label });
});
data.reasonReturn = BatchFrom.value.txt; //
data.workOrderIds = [$route.query.id]; //ID
console.log(data, '处理好的值');
$_batchReturn(data)
.then(res => {
repulse.value = false; //
dialogReturn.value = false; //
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
$router.push('/aftersales/aftersalesWorkOrder'); //
}
})
.catch(error => {
repulse.value = false; //
dialogReturn.value = false; //
});
};
</script>
<style scoped lang="scss">
@ -1715,6 +1994,9 @@ const Chatrefresh=()=>{
display: flex;
justify-content: space-between;
align-items: center;
.el-tag {
width: 70px;
}
}
}
.content {
@ -1789,11 +2071,11 @@ const Chatrefresh=()=>{
:deep(.el-select) {
width: 100%;
}
span{
span {
font-size: 20px;
}
:deep(.el_Refresh){
i{
:deep(.el_Refresh) {
i {
font-size: 30px;
}
}
@ -1840,7 +2122,14 @@ const Chatrefresh=()=>{
display: none !important;
}
}
.identifying {
display: flex;
align-items: center;
justify-content: space-between;
.el-tag {
width: 70px;
}
}
.identifyingC1 {
background-color: #409eff;
border-radius: 4px;
@ -1882,14 +2171,24 @@ const Chatrefresh=()=>{
.title {
width: max-content;
height: 100%;
display: flex;
display: block;
align-items: center;
font-size: 14px;
font-weight: 500;
}
.sk_input {
margin: 0 5px;
margin-left: 20px;
margin-left: 4px;
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;
}
}
.el-button {
border: none;
@ -1929,7 +2228,38 @@ const Chatrefresh=()=>{
margin: 0;
}
}
.arbitrate{
.arbitrate {
margin-top: 10px;
}
.el_BatchFrom {
width: 70%;
}
.el_form_BatchFrom {
display: flex;
justify-content: space-between;
:deep(.el-select-tags-wrapper) {
.el-tag {
width: 100%;
}
}
}
:deep(#avue-view) {
background-color: #fff;
}
:deep(.el_resj){
flex-direction: column;
.el-form-item__label{
justify-content: center;
font-weight: 500;
border: 1px solid #dcdfe6;
width: fit-content;
display: flex;
align-items: center;
padding: 0;
padding: 0 4px;
border-bottom: 0;
color: #172e60;
border-radius: 2px;
}
}
</style>

16
src/views/aftersales/aftersalesWorkOrderend.vue

@ -637,10 +637,7 @@
<h4>{{ item.username }}{{ item.name }}</h4>
</div>
<div class="e_ico">
<el-icon><Timer /></el-icon>:
<p>{{ item.time }}</p>
</div>
<el-tag
:class="{
identifyingC1: item.difference == '1',
@ -690,6 +687,10 @@
</a>
</div>
<div class="identifying">
<div class="e_ico">
<el-icon><Timer /></el-icon>:
<p>{{ item.time }}</p>
</div>
<div
class="tag"
v-if="
@ -2586,6 +2587,9 @@ const CustomerServiceCompleted = () => {
display: flex;
align-items: center;
justify-content: space-between;
:deep(.el-tag){
width: 70px;
}
}
}
.inputMax {
@ -2748,6 +2752,10 @@ const CustomerServiceCompleted = () => {
.identifying {
display: flex;
justify-content: space-between;
align-items: center;
.el-tag{
width: 70px;
}
}
.identifyingC1 {
background-color: #409eff;

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

@ -4095,7 +4095,7 @@ export default {
}
if(!this.StackingPhoto.length){
ElMessage({
message: '至少上传一张码照片',
message: '至少上传一张码照片',
type: 'warning',
})
return

2
vite.config.js

@ -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.167: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