莳松crm管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ss-crm-manage-web/src/views/Basic/WxRobot/Setting.vue

179 lines
5.3 KiB

5 months ago
<template>
<div>
<el-table v-loading="loading" :data="tableList" border stripe>
<el-table-column v-for="col in columns" :prop="col.prop" :key="col.prop" :label="col.label" />
<el-table-column label="发送方式" min-width="150">
<template #default="{ row }">
<el-checkbox-group v-model="row.sendType" size="small" @change="rowChange(row)">
<el-checkbox :label="1"> 微信 </el-checkbox>
<el-checkbox :label="2"> 微信群 </el-checkbox>
</el-checkbox-group>
</template>
</el-table-column>
<el-table-column label="微信群名称" min-width="150">
<template #default="{ row }">
<span v-if="!row.edit">{{ row.wxGroup }}</span>
<el-input v-else v-model="row.wxGroup" size="small" clearable @blur="rowChange(row)" />
</template>
</el-table-column>
5 months ago
<el-table-column label="群二维码" width="90">
<template #default="{ row }">
<img :src="row.wxCode" width="80px" height="80px" alt="" />
</template>
</el-table-column>
5 months ago
<el-table-column label="操作" width="100">
<template #default="{ row }">
<div>
<el-button type="primary" style="padding: 5px 0" text @click="row.edit = true">
修改群名称
</el-button>
</div>
5 months ago
<div v-if="['每日', '每月'].includes(row.sendFrequency)">
<el-button type="primary" style="padding: 5px 0" text @click="changeSendTime(row)">
5 months ago
修改发送时间
</el-button>
</div>
</template>
</el-table-column>
</el-table>
5 months ago
<Dialog :title="`修改【${sendTimeInfo.name}】发送时间`" v-model="showSendTime" width="500px">
<el-text type="danger">
<span v-if="sendTimeInfo.sendFrequency == '每日'">
请按照时间格式输入多个时间以分割如09:0015:0018:00
</span>
<span v-else-if="sendTimeInfo.sendFrequency == '每月'">
请按照"日期-时间"格式输入多个日期以分割如26-18:0028-14:0030-15:0030-18:00
</span>
</el-text>
<el-input
type="textarea"
class="mt-20px mb-20px"
:autosize="{ minRows: 3 }"
v-model="sendTimeInfo.sendTime"
placeholder="请输入"
clearable
/>
<template #footer>
<el-button :disabled="formLoading" type="primary" @click="submitSendTime"> </el-button>
<el-button @click="showSendTime = false"> </el-button>
</template>
</Dialog>
5 months ago
</div>
</template>
<script setup name="WXSetting">
5 months ago
const message = useMessage() // 消息弹窗
5 months ago
const loading = ref(false)
const tableList = ref([
{
name: '分配通知',
5 months ago
sendType: [],
sendFrequency: '每次',
sendTime: '触发时立刻发送',
remark: '线索分配给除本人之外的用户时,通知对方注意接收'
5 months ago
},
{
name: '发货通知',
5 months ago
sendType: [],
sendFrequency: '每次',
sendTime: '触发时立刻发送',
remark: '攀尼下单后,点击发货,发送发货模板到微信/群'
},
{
name: '审核失败通知',
sendType: [],
sendFrequency: '每次',
sendTime: '触发时立刻发送',
remark: 'crm中的回款、售后等审核失败,通知申请人'
},
{
name: '喜报',
sendType: [],
sendFrequency: '每次',
sendTime: '触发时立刻发送',
remark: '销售成交登记时,发送喜报到微信/群',
wxGroup: '寻驾'
},
{
name: '周业绩排名',
sendType: [],
sendFrequency: '每日',
sendTime: '10:00、15:00、18:00',
remark: '发送业绩排名到微信/群',
wxGroup: '爱顽熊'
5 months ago
},
{
name: '月业绩排名',
5 months ago
sendType: [],
sendFrequency: '每月',
sendTime: '26-18:00、28-14:00、30-15:00、30-18:00',
remark: '发送业绩排名到微信/群'
5 months ago
}
5 months ago
// {
// name: '周报',
// sendType: [],
// sendFrequency: '触发时立刻发送'
// }
5 months ago
])
const columns = [
{
label: '消息名称',
prop: 'name'
},
{
label: '解释说明',
prop: 'remark'
},
{
label: '发送频率',
prop: 'sendFrequency'
},
{
label: '发送时间',
prop: 'sendTime'
}
]
async function rowChange(row) {
try {
console.log(row)
} finally {
row.edit = false
}
}
5 months ago
const showSendTime = ref(false)
const sendTimeInfo = ref({})
function changeSendTime(row) {
showSendTime.value = true
sendTimeInfo.value = row
}
function submitSendTime() {
// 校验时间是否有效
const arr = sendTimeInfo.value.sendTime.split('、')
if (sendTimeInfo.value.sendFrequency == '每日') {
// 正则校验是否HH:MM
if (arr.some((it) => !/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(it))) {
message.error('请检查输入格式是否正确!!!')
return
} else {
message.success('校验成功!')
}
} else if (sendTimeInfo.value.sendFrequency == '每月') {
// 正则校验是否【1-31】-HH:MM
const reg = /^([1-9]|[1-2]\d|3[01])-([01]?[0-9]|2[0-3]):[0-5][0-9]$/
if (arr.some((it) => !reg.test(it))) {
message.error('请检查输入格式是否正确!!!')
return
} else {
message.success('校验成功!')
}
}
}
5 months ago
</script>
<style lang="scss" scoped></style>