This commit is contained in:
@zuopngfei 2025-11-06 11:30:51 +08:00
parent bf6b7f5fcb
commit 8250bb2877
2 changed files with 42 additions and 84 deletions

View File

@ -31,36 +31,17 @@
<el-table-column prop="" label="操作" width="100" align="center" fixed="right"> <el-table-column prop="" label="操作" width="100" align="center" fixed="right">
<template #default="scoped"> <template #default="scoped">
<div class="mht-operations"> <div class="mht-operations">
<!-- <el-tooltip class="box-item" effect="dark" content="客户详情" placement="bottom">
<el-icon @click="toDetail(scoped.row)">
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-xiangqingye-43"></use>
</svg>
</el-icon>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="发送消息" placement="bottom">
<el-icon @click="handleSend(scoped.row)">
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-fasong"></use>
</svg>
</el-icon>
</el-tooltip> -->
<el-tooltip class="box-item" effect="dark" content="编辑" placement="bottom">
<el-icon class="el-icon-primary" @click="handleEdit(scoped.row)">
<Edit />
</el-icon>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="绑定小程序" placement="bottom">
<el-icon class="el-icon-primary" @click="handleBindApp(scoped.row)"> <el-button type="primary" link @click="handleEdit(scoped.row)">
<Connection /> 编辑
</el-icon> </el-button>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="删除" placement="bottom"> <el-button type="primary" link @click="handleBindApp(scoped.row)">
<el-icon class="el-icon-danger" @click="handleDelete(scoped.row)"> 绑定小程序
<Delete /> </el-button>
</el-icon> <el-button type="danger" link @click="handleDelete(scoped.row)">
</el-tooltip> 删除
</el-button>
</div> </div>
</template> </template>
@ -88,12 +69,8 @@
<el-input v-model="ruleForm.nickname" placeholder="请输入客服昵称" size="large" /> <el-input v-model="ruleForm.nickname" placeholder="请输入客服昵称" size="large" />
</el-form-item> </el-form-item>
<el-form-item label="客服密码" prop="password"> <el-form-item label="客服密码" prop="password">
<el-input <el-input v-model="ruleForm.password" type="password"
v-model="ruleForm.password" :placeholder="isEdit ? '留空则不修改密码' : '请输入客服密码'" size="large" />
type="password"
:placeholder="isEdit ? '留空则不修改密码' : '请输入客服密码'"
size="large"
/>
<div v-if="isEdit" style="font-size: 12px; color: #999; margin-top: 4px;"> <div v-if="isEdit" style="font-size: 12px; color: #999; margin-top: 4px;">
留空则不修改密码 留空则不修改密码
</div> </div>
@ -122,7 +99,8 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog v-model="dialogLog" title="绑定小程序" width="1000px" align-center :before-close="handleClose" destroy-on-close> <el-dialog v-model="dialogLog" title="绑定小程序" width="1000px" align-center :before-close="handleClose"
destroy-on-close>
<div class="dialog-box"> <div class="dialog-box">
<el-table ref="appTableRef" :data="logList" style="width: 100%" max-height="500px" row-key="id" <el-table ref="appTableRef" :data="logList" style="width: 100%" max-height="500px" row-key="id"
@ -207,7 +185,7 @@ const getRules = () => {
trigger: 'change', trigger: 'change',
}], }],
} }
// //
if (!isEdit.value) { if (!isEdit.value) {
baseRules.password = [{ baseRules.password = [{
@ -222,7 +200,7 @@ const getRules = () => {
trigger: 'blur', trigger: 'blur',
}] }]
} }
return baseRules return baseRules
} }
@ -291,7 +269,7 @@ const submitRobot = async () => {
avatar: ruleForm.value.avatar, avatar: ruleForm.value.avatar,
mobile: ruleForm.value.mobile, mobile: ruleForm.value.mobile,
} }
// //
if (ruleForm.value.password && ruleForm.value.password.trim() !== '') { if (ruleForm.value.password && ruleForm.value.password.trim() !== '') {
editData.password = md5(ruleForm.value.password) editData.password = md5(ruleForm.value.password)
@ -315,7 +293,7 @@ const submitRobot = async () => {
...ruleForm.value, ...ruleForm.value,
password: md5(ruleForm.value.password) password: md5(ruleForm.value.password)
} }
const res = await addRobot(createData) const res = await addRobot(createData)
robotCards.value.push({ robotCards.value.push({
...ruleForm.value, ...ruleForm.value,
@ -357,7 +335,7 @@ const handleDelete = (item, index) => {
duration: 2000 duration: 2000
}) })
await deleteRobot({ await deleteRobot({
ids: String(item.id) ids: String(item.id)
}) })
// getGroups() // getGroups()
robotCards.value.splice(index, 1) robotCards.value.splice(index, 1)
@ -406,7 +384,7 @@ const openLog = async () => {
tableLoading.value = false tableLoading.value = false
logList.value = res.list logList.value = res.list
total.value = res.total total.value = res.total
// //
if (bandAppIds.value.length === 0 || logQuery.page === 1) { if (bandAppIds.value.length === 0 || logQuery.page === 1) {
const res2 = await appList({ const res2 = await appList({
@ -418,7 +396,7 @@ const openLog = async () => {
// appSelects // appSelects
appSelects = [...bandAppIds.value] appSelects = [...bandAppIds.value]
} }
// //
setSelectedApps() setSelectedApps()
} }

View File

@ -39,43 +39,22 @@
<el-table-column prop="" label="操作" width="100" align="center" fixed="right"> <el-table-column prop="" label="操作" width="100" align="center" fixed="right">
<template #default="scoped"> <template #default="scoped">
<div class="mht-operations"> <div class="mht-operations">
<!-- <el-tooltip class="box-item" effect="dark" content="客户详情" placement="bottom">
<el-icon @click="toDetail(scoped.row)"> <el-button type="primary" link @click="handleqr(scoped.row)">
<svg class="icon" aria-hidden="true"> 获取二维码
<use xlink:href="#icon-xiangqingye-43"></use> </el-button>
</svg>
</el-icon> <el-button type="primary" link @click="handleEdit(scoped.row)">
</el-tooltip> 编辑
<el-tooltip class="box-item" effect="dark" content="发送消息" placement="bottom"> </el-button>
<el-icon @click="handleSend(scoped.row)">
<svg class="icon" aria-hidden="true"> <el-button type="primary" link @click="handleDetail(scoped.row)">
<use xlink:href="#icon-fasong"></use> 详情
</svg> </el-button>
</el-icon>
</el-tooltip> --> <el-button type="danger" link @click="handeleDelete(scoped.row)">
<el-tooltip class="box-item" effect="dark" content="获取二维码" placement="bottom"> 删除
<!-- <el-icon class="el-icon-primary" @click="handleEdit(scoped.row)"> </el-button>
<Edit />
</el-icon> -->
<el-icon @click="handleqr(scoped.row)">
<FullScreen />
</el-icon>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="编辑" placement="bottom">
<el-icon class="el-icon-primary" @click="handleEdit(scoped.row)">
<Edit />
</el-icon>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="详情" placement="bottom">
<el-icon class="el-icon-primary" @click="handleDetail(scoped.row)">
<ChatDotRound />
</el-icon>
</el-tooltip>
<el-tooltip class="box-item" effect="dark" content="删除" placement="bottom">
<el-icon class="el-icon-danger" @click="handeleDelete(scoped.row)">
<Delete />
</el-icon>
</el-tooltip>
</div> </div>
</template> </template>
@ -102,9 +81,10 @@
<el-form-item label="小程序ID" prop="app_id"> <el-form-item label="小程序ID" prop="app_id">
<el-input v-model="ruleForm.app_id" placeholder="请输入小程序ID" size="large" /> <el-input v-model="ruleForm.app_id" placeholder="请输入小程序ID" size="large" />
</el-form-item> </el-form-item>
<el-form-item label="AppSecret" prop="app_secret"> <el-form-item label="AppSecret" prop="app_secret">
<el-input v-model="ruleForm.app_secret" placeholder="请输入AppSecret" size="large" type="password" show-password /> <el-input v-model="ruleForm.app_secret" placeholder="请输入AppSecret" size="large" type="password"
</el-form-item> show-password />
</el-form-item>
<el-form-item label="模板ID" prop="template_id"> <el-form-item label="模板ID" prop="template_id">
<el-input v-model="ruleForm.template_id" placeholder="请输入模板ID" size="large" /> <el-input v-model="ruleForm.template_id" placeholder="请输入模板ID" size="large" />
</el-form-item> </el-form-item>
@ -168,7 +148,7 @@
<el-dialog v-model="qrDialog" title="小程序二维码" width="500px" align-center :before-close="handleClose"> <el-dialog v-model="qrDialog" title="小程序二维码" width="500px" align-center :before-close="handleClose">
<div class="dialog-box" style="text-align: center;"> <div class="dialog-box" style="text-align: center;">
<img :src="qrCode" style="width: 200px;" alt=""> <img :src="qrCode" style="width: 200px;" alt="">
</div> </div>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">