修改工单 客户等页面

This commit is contained in:
浅念
2025-07-29 16:42:36 +08:00
parent 695ebbcc71
commit 0cef82279f
12 changed files with 733 additions and 563 deletions
+41 -14
View File
@@ -6,7 +6,12 @@
<section class="search-bar art-custom-card">
<el-form v-model:filter="formFilters" label-position="left">
<el-row class="search-form-row" :gutter="12">
<el-col :xs="24" :sm="12" :md="6" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="4" :lg="4" :xl="4">
<el-form-item label="关键字" label-width="70px">
<el-input v-model="filter.keyword" placeholder="请输入关键字" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="4" :lg="4" :xl="4">
<el-form-item label="状态" label-width="70px">
<el-select v-model="filter.status">
<el-option label="全部" value="" />
@@ -16,7 +21,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="6" :lg="6" :xl="6">
<el-col :xs="24" :sm="12" :md="4" :lg="4" :xl="4">
<el-form-item label="渠道" label-width="70px">
<el-select v-model="filter.channel">
<el-option v-for="v in channelOptions" :key="v.id" :label="v.name" :value="v.id">
@@ -39,7 +44,7 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="6" :lg="6" :xl="6" class="action-column">
<el-col :xs="24" :sm="24" :md="4" :lg="4" :xl="4" class="action-column">
<div
class="action-buttons-wrapper"
:style="{
@@ -79,6 +84,7 @@
@current-change="handleCurrentChange"
>
<template #default>
<el-table-column prop="order_no" label="SN"></el-table-column>
<el-table-column prop="contacts" label="客户名称"></el-table-column>
<el-table-column prop="tel" label="电话"></el-table-column>
<el-table-column prop="phone" label="国家">
@@ -124,7 +130,7 @@
</span>
</template>
</el-table-column>
<el-table-column label="倒计时" min-width="140">
<!-- <el-table-column label="倒计时" min-width="140">
<template #default="scope">
<span :class="getCountdownClass(scope.row.countdown)" v-if="scope.row.status==1">
<span class="custom-clock-icon" style="margin-right: 4px; vertical-align: middle"
@@ -133,7 +139,7 @@
{{ getCountdown(scope.row.countdown) }}
</span>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column fixed="right" label="操作" width="260px">
<template #default="scope">
<div class="follow-action fenpei" @click="onFenpei(scope.row)">
@@ -172,7 +178,7 @@
</ArtTable>
</div>
</div>
<el-dialog v-model="detailDialogVisible" title="详情">
<el-dialog v-model="detailDialogVisible" title="详情" width="700px">
<div class="detail-info-table">
<div class="row">
<div>客户名称:{{ detailRow.contacts }}</div>
@@ -203,7 +209,7 @@
</div>
</div>
<div class="dtitle">详情内容</div>
<div v-if="detailRow" v-html="detailRow.content">
<div v-if="detailRow" v-html="detailRow.content" class="detils-content">
</div>
</el-dialog>
@@ -322,7 +328,8 @@
const filter = ref({
status: '',
time: '',
channel: ''
channel: '',
keyword: ''
})
const pagination = reactive({
currentPage: 1,
@@ -356,7 +363,8 @@
filter.value = {
status: '',
time: '',
channel: ''
channel: '',
keyword: ''
}
Object.assign(formFilters, { ...filter })
pagination.currentPage = 1 // 重置到第一页
@@ -405,6 +413,7 @@
size: pageSize,
channel: filter.value.channel,
status: filter.value.status,
keyword: filter.value.keyword,
time: formattedTimeRange()
}
const { records, current, size, total } = await manageService.getinquiryList(params)
@@ -436,6 +445,7 @@
}
onMounted(() => {
getgetChannel()
gettableList()
timer.value = window.setInterval(() => {
refreshKey.value++
@@ -498,11 +508,11 @@
whatsapp: '',
content: ''
})
editorHtml.value = ''
}
const addfn = () => {
dialogType.value = 'add'
reactiveForm()
getgetChannel()
getMagnitude()
getarea()
AddDialogVisible.value = true
@@ -525,22 +535,31 @@
}
function onDetail(row: any) {
row.content = processImages(row.content) // 处理图片
detailRow.value = row
detailDialogVisible.value = true
}
//编辑
function processImages(html: string) {
const parser = new DOMParser()
const doc = parser.parseFromString(html, 'text/html')
doc.querySelectorAll('img').forEach((img) => {
img.style.maxWidth = '100%'
img.style.height = 'auto'
})
return doc.body.innerHTML
}
const carrid = ref('')
const onEdit = async (row: any) => {
dialogType.value = 'edit'
getgetChannel()
getMagnitude()
getarea()
AddDialogVisible.value = true
carrid.value = row.id
addForm = reactive({
channel: row.channel ? row.channel.id : '',
channel: row.channelInfo ? row.channelInfo.id : '',
quality: row.quality,
country: row.country ? row.country.id : '',
country: row.countryInfo ? row.countryInfo.id : '',
email: row.email,
tel: row.tel,
contacts: row.contacts,
@@ -743,7 +762,7 @@
}
.fenpei {
color: #a233c6 !important;
color: #3471ff !important;
}
.detil {
@@ -773,6 +792,7 @@
}
.detail-info-table {
padding-left: 15px;
.row {
display: flex;
justify-content: flex-start;
@@ -805,5 +825,12 @@
color: #333;
font-size: 16px;
font-weight: bold;
padding-left: 15px;
}
.detils-content {
padding-left: 15px;
img {
max-width: 100% !important;
}
}
</style>