java-mall-admin/src/views/settings/config/im.vue
2024-11-01 16:24:11 +08:00

141 lines
3.7 KiB
Vue

<template>
<div>
<el-row>
<el-col :span="24">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>{{ __('离线回复') }}</span>
</div>
<div>
<el-form
ref="form"
label-width="100px"
:model="form"
:rules="rules"
size="medium"
>
<el-form-item
:label="__('离线回复')"
label-width="150px"
prop="im_offline_msg"
>
<el-input
v-model="form.im_offline_msg"
clearable
:placeholder="
__('当接收信息用户离线时,自动回复消息内容!离线回复')
"
:style="{ width: '100%' }"
/>
</el-form-item>
<el-form-item
:label="__('IM账号')"
label-width="150px"
prop="site_im"
>
<el-input
v-model="form.site_im"
clearable
:placeholder="
__('请输入用户编号')
"
:style="{ width: '100%' }"
/>
</el-form-item>
<el-form-item :label="__('启用IM系统')" label-width="150px" prop="im_enable">
<el-radio v-model="form.im_enable" :label="0">
{{ __('否') }}
</el-radio>
<el-radio v-model="form.im_enable" :label="1">
{{ __('') }}
</el-radio>
</el-form-item>
</el-form>
</div>
<div>
<el-button
class="form-sub-btn"
icon="el-icon-s-tools"
type="primary"
@click="handleEdit"
>
{{ __('修改') }}
</el-button>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { translateTitle as __ } from '@/utils/i18n'
import { getList, doEdit } from '@/api/base/config'
export default {
name: 'Im',
components: {},
data() {
return {
form: {
im_offline_msg: undefined,
site_im: undefined,
im_enable: undefined,
},
rules: {
im_offline_msg: [
{
required: true,
message: '当接收信息用户离线时,自动回复消息内容!离线回复',
trigger: 'blur',
},
],
site_im: [
{
required: true,
message: '请输入用户编号',
trigger: 'blur',
},
],
im_enable: [
{
required: true,
message: '请选择是否启用',
trigger: 'change',
},
],
},
}
},
created() {
this.fetchData()
},
methods: {
__,
async fetchData() {
const { data } = await getList()
this.form.im_offline_msg = data.im_offline_msg
this.form.site_im = data.site_im
this.form.im_enable = parseInt(data.im_enable)
},
handleEdit() {
this.$refs['form'].validate(async (valid) => {
if (valid) {
const { msg, status } = await doEdit({
param: JSON.stringify(this.form),
})
if (status == 200) {
this.$baseMessage(msg, 'success')
} else {
this.$baseMessage(msg, 'error')
}
} else {
return false
}
})
},
},
}
</script>