|
|
|
@ -601,30 +601,29 @@
|
|
|
|
|
<div class="right"> |
|
|
|
|
<el-tabs type="border-card"> |
|
|
|
|
<div class="content"> |
|
|
|
|
<el-tab-pane label="处理记录"> |
|
|
|
|
<el-tab-pane label="调查记录"> |
|
|
|
|
<div class="el_Processingparty"> |
|
|
|
|
<span>回复</span> |
|
|
|
|
<el-select |
|
|
|
|
v-model="MessageResponsibility" |
|
|
|
|
multiple |
|
|
|
|
filterable |
|
|
|
|
default-first-option |
|
|
|
|
:reserve-keyword="false" |
|
|
|
|
placeholder="请选择处理方" |
|
|
|
|
@change="Msgresponsibility" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in warehouseData" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value" |
|
|
|
|
:disabled="item.disabled" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
<div class="ovhe" :style="{ height: msgHight + 'px' }" ref="scrollContainer"> |
|
|
|
|
<el-timeline> |
|
|
|
|
<div class="el_Processingparty"> |
|
|
|
|
<span>回复</span> |
|
|
|
|
<el-select |
|
|
|
|
v-model="MessageResponsibility" |
|
|
|
|
multiple |
|
|
|
|
filterable |
|
|
|
|
default-first-option |
|
|
|
|
:reserve-keyword="false" |
|
|
|
|
placeholder="请选择处理方" |
|
|
|
|
@change="Msgresponsibility" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in warehouseData" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value" |
|
|
|
|
:disabled="item.disabled" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-timeline-item |
|
|
|
|
placement="top" |
|
|
|
|
v-for="(item, index) in MessageContent" |
|
|
|
@ -714,7 +713,7 @@
|
|
|
|
|
</div> |
|
|
|
|
<!-- 输入框 --> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<div class="inputMax" v-loading="Msgloading" element-loading-text="Loading..."> |
|
|
|
|
<div class="inputMax" v-loading="Msgloadinga" element-loading-text="Loading..."> |
|
|
|
|
<div class="inputfell"> |
|
|
|
|
<div class="inputbtn"> |
|
|
|
|
<el-upload |
|
|
|
@ -927,7 +926,7 @@ const viodUrl = ref({});
|
|
|
|
|
const videoUrl = ref(null); //视频预览 |
|
|
|
|
const VideoPreviewStatus = ref(false); //视频预览状态 |
|
|
|
|
const warehouseData = ref([]); //处理方 |
|
|
|
|
const MessageContent = ref([]); |
|
|
|
|
const MessageContent = ref([{}, {}, {}, {}, {}, {}, {}, {}, {}]); |
|
|
|
|
const CompensationParty = ref([ |
|
|
|
|
{ |
|
|
|
|
name: '', |
|
|
|
@ -1129,8 +1128,10 @@ const onLoad = () => {
|
|
|
|
|
}); |
|
|
|
|
console.log(JSON.parse(localStorage.getItem('my_data')).id); |
|
|
|
|
MessageResponsibility.value.push(JSON.parse(localStorage.getItem('my_data')).id); |
|
|
|
|
MessageResponsibility.value= [...new Set(MessageResponsibility.value)];//对回复方去重 |
|
|
|
|
MessageResponsibility.value = MessageResponsibility.value.filter(item => item !== JSON.parse(localStorage.getItem('my_data')).id);//过滤掉当前登录人的仓库 |
|
|
|
|
MessageResponsibility.value = [...new Set(MessageResponsibility.value)]; //对回复方去重 |
|
|
|
|
MessageResponsibility.value = MessageResponsibility.value.filter( |
|
|
|
|
item => item !== JSON.parse(localStorage.getItem('my_data')).id |
|
|
|
|
); //过滤掉当前登录人的仓库 |
|
|
|
|
console.log(endFrom.value.processor, ' endFrom.value.processor'); |
|
|
|
|
getDictionaryBiz('pc_work_order').then(res => { |
|
|
|
|
//处理结果字典 |
|
|
|
@ -1220,7 +1221,6 @@ const onLoad = () => {
|
|
|
|
|
endFrom.value.arbitrate = res.data.data.reasonArbitration; //仲裁原因 |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getDictionaryBiz('result_handling').then(res => { |
|
|
|
|
console.log(res, '处理结果'); |
|
|
|
|
ProcessingResults.value = res.data.data; |
|
|
|
@ -1255,7 +1255,6 @@ const onLoad = () => {
|
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 多开页面的时候刷新参数 |
|
|
|
@ -1304,8 +1303,8 @@ const Chathistory = () => {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 仓库客服不需要操作记录 |
|
|
|
|
|
|
|
|
|
MessageContent.value.push({ |
|
|
|
|
|
|
|
|
|
MessageContent.value.push({ |
|
|
|
|
time: item.createTime, //时间 |
|
|
|
|
content: item.content, //消息内容 |
|
|
|
|
name: item.addDepartment, //营业部名称 |
|
|
|
@ -1317,45 +1316,42 @@ const Chathistory = () => {
|
|
|
|
|
difference: item.difference, |
|
|
|
|
identifying: true, //是否显示待回复按钮 |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
console.log(MessageContent.value, '处理好的聊天记录'); |
|
|
|
|
if(UserPermissions.value !='仓库客服'){ |
|
|
|
|
console.log(UserPermissions.value,'当前不是仓库客服'); |
|
|
|
|
$_getTrackRecord({ |
|
|
|
|
id: $route.query.id, |
|
|
|
|
}).then(res => { |
|
|
|
|
console.log(res, '处理记录返回值'); |
|
|
|
|
res.data.data.surveyRecordEntities.forEach(item => { |
|
|
|
|
MessageContent.value.unshift({ |
|
|
|
|
time: item.createTime, //时间 |
|
|
|
|
content: item.processingResults, //消息内容 |
|
|
|
|
name: item.addDepartment, //营业部名称 |
|
|
|
|
username: item.addPeople, //用户名 |
|
|
|
|
img: filetype == 'png' ? item.pictureUrl : '', |
|
|
|
|
file: filetype == 'docx' ? item.pictureUrl : '', |
|
|
|
|
mp4: filetype == 'mp4' ? item.pictureUrl : '', |
|
|
|
|
imgList: [filetype == 'png' ? item.pictureUrl : ''], |
|
|
|
|
difference: item.difference, |
|
|
|
|
identifying: false, //待回复标识 |
|
|
|
|
if (UserPermissions.value != '仓库客服') { |
|
|
|
|
console.log(UserPermissions.value, '当前不是仓库客服'); |
|
|
|
|
$_getTrackRecord({ |
|
|
|
|
id: $route.query.id, |
|
|
|
|
}).then(res => { |
|
|
|
|
console.log(res, '处理记录返回值'); |
|
|
|
|
res.data.data.surveyRecordEntities.forEach(item => { |
|
|
|
|
MessageContent.value.unshift({ |
|
|
|
|
time: item.createTime, //时间 |
|
|
|
|
content: item.processingResults, //消息内容 |
|
|
|
|
name: item.addDepartment, //营业部名称 |
|
|
|
|
username: item.addPeople, //用户名 |
|
|
|
|
img: filetype == 'png' ? item.pictureUrl : '', |
|
|
|
|
file: filetype == 'docx' ? item.pictureUrl : '', |
|
|
|
|
mp4: filetype == 'mp4' ? item.pictureUrl : '', |
|
|
|
|
imgList: [filetype == 'png' ? item.pictureUrl : ''], |
|
|
|
|
difference: item.difference, |
|
|
|
|
identifying: false, //待回复标识 |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
setTimeout(() => { |
|
|
|
|
const container = scrollContainer.value; |
|
|
|
|
if (container) { |
|
|
|
|
container.scrollTop = container.scrollHeight; |
|
|
|
|
} |
|
|
|
|
}, 0); |
|
|
|
|
}); |
|
|
|
|
setTimeout(() => { |
|
|
|
|
const container = scrollContainer.value; |
|
|
|
|
if (container) { |
|
|
|
|
container.scrollTop = container.scrollHeight; |
|
|
|
|
} |
|
|
|
|
}, 0); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
setTimeout(() => { |
|
|
|
|
const container = scrollContainer.value; |
|
|
|
|
if (container) { |
|
|
|
|
container.scrollTop = container.scrollHeight; |
|
|
|
|
} |
|
|
|
|
}, 0); |
|
|
|
|
const container = scrollContainer.value; |
|
|
|
|
if (container) { |
|
|
|
|
container.scrollTop = container.scrollHeight; |
|
|
|
|
} |
|
|
|
|
}, 0); |
|
|
|
|
// 滚动到最后 |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
@ -1858,18 +1854,22 @@ const submit = () => {
|
|
|
|
|
// 赔款方 |
|
|
|
|
|
|
|
|
|
console.log(data, '处理好的值'); |
|
|
|
|
$_addCompletionEnd(data).then(res => { |
|
|
|
|
console.log(res, '完结成功返回值'); |
|
|
|
|
if (res.data.code == 200) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: res.data.msg, |
|
|
|
|
type: 'success', |
|
|
|
|
}); |
|
|
|
|
$router.push('/aftersales/aftersalesWorkOrder'); |
|
|
|
|
AddressClosed('/aftersales/aftersalesWorkOrderend'); //删除当前页面 |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$_addCompletionEnd(data) |
|
|
|
|
.then(res => { |
|
|
|
|
console.log(res, '完结成功返回值'); |
|
|
|
|
if (res.data.code == 200) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: res.data.msg, |
|
|
|
|
type: 'success', |
|
|
|
|
}); |
|
|
|
|
$router.push('/aftersales/aftersalesWorkOrder'); |
|
|
|
|
AddressClosed('/aftersales/aftersalesWorkOrderend'); //删除当前页面 |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.catch(res => { |
|
|
|
|
console.log(res, '提交失败'); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
// 新增记录处理结果 |
|
|
|
|
console.log($route.query.id, '异常ID'); |
|
|
|
@ -1948,18 +1948,20 @@ const submit = () => {
|
|
|
|
|
|
|
|
|
|
data.aftersalesProcessingResultsDTO.warehouseId = info.warehouseId; //仓库ID |
|
|
|
|
console.log(data, '处理好的数据'); |
|
|
|
|
$_addProcessingResults(data).then(res => { |
|
|
|
|
console.log(res, '提交后的参数'); |
|
|
|
|
if (res.data.code == 200) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: res.data.msg, |
|
|
|
|
type: 'success', |
|
|
|
|
}); |
|
|
|
|
$router.push('/aftersales/aftersalesWorkOrder'); |
|
|
|
|
AddressClosed('/aftersales/aftersalesWorkOrderend'); //删除当前页面 |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$_addProcessingResults(data) |
|
|
|
|
.then(res => { |
|
|
|
|
console.log(res, '提交后的参数'); |
|
|
|
|
if (res.data.code == 200) { |
|
|
|
|
ElMessage({ |
|
|
|
|
showClose: true, |
|
|
|
|
message: res.data.msg, |
|
|
|
|
type: 'success', |
|
|
|
|
}); |
|
|
|
|
$router.push('/aftersales/aftersalesWorkOrder'); |
|
|
|
|
AddressClosed('/aftersales/aftersalesWorkOrderend'); //删除当前页面 |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.catch(res => {}); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 消息回复 |
|
|
|
@ -2634,6 +2636,13 @@ const CustomerServiceCompleted = () => {
|
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
font-size: 12px; |
|
|
|
|
margin-bottom: 8px; |
|
|
|
|
box-shadow: -1px 2px 2px 0px #f5f5f5; |
|
|
|
|
padding: 0 4px; |
|
|
|
|
box-sizing: border-box; |
|
|
|
|
border-radius: 4px; |
|
|
|
|
height: 40px; |
|
|
|
|
span { |
|
|
|
|
width: 40px; |
|
|
|
|
} |
|
|
|
|