sprint 4 months ago
parent
commit
d93c54c771
  1. 2
      backmanage/src/views/person/records/Email.vue
  2. 2
      backmanage/src/views/person/risk/GameControllerConfig.vue
  3. 332
      backmanage/src/views/userSearch/changeEmail.vue
  4. 2
      backmanage/src/views/userSearch/details.vue

2
backmanage/src/views/person/records/Email.vue

@ -184,7 +184,7 @@ onMounted(() => {
<!-- 添加邮件 -->
<el-dialog v-model="data.dialog">
<ChangeEmail :send-mode="1" @close-box="closeBox" />
<ChangeEmail :send-mode="0" @close-box="closeBox" />
</el-dialog>
<!-- 删除 -->

2
backmanage/src/views/person/risk/GameControllerConfig.vue

@ -297,7 +297,7 @@ const submitData = async () => {
}
}
})
if (!isTrue) {
if (!isTrue || params.refresh_times < 0) {
ElMessage.error('数值不能小于0')
return
}

332
backmanage/src/views/userSearch/changeEmail.vue

@ -7,182 +7,172 @@ import CustomEditor from '@/components/common/CustomEditor.vue'
const emits = defineEmits(['closeBox'])
const props = defineProps(['user_no', 'gold', 'sendMode'])
const data = reactive({
options: [
{ label: '请选择', value: 0 },
{ label: '金币', value: 1 },
// { label: '', value: 2 },
// { label: '', value: 3 },
// { label: '', value: 4 },
] as any[],
form: {
user_no: props.user_no,
recipient: '[]',
append: [{ type: 0, num: '', rake: '' }] as any[], //[{num:2,type:1}]
title: [''],
content: [''],
timing: '',
send_mode: props.sendMode, // 0: 1
expire_num: '',
expire_type: 1,
},
emailNum: 1,
options: [
{ label: '请选择', value: 0 },
{ label: '金币', value: 1 },
] as any[],
form: {
user_no: props.user_no,
recipient: '[]',
append: [{ type: 0, num: '', rake: '' }] as any[], //[{num:2,type:1}]
title: [''],
content: [''],
timing: '',
send_mode: props.sendMode, // 0: 1
expire_num: '',
expire_type: 1,
},
emailNum: 1,
})
// const addProp = () => {
// data.form.append.push({ type: '', num: '' })
// }
// const delProp = () => {
// if (data.form.append.length == 0) return
// data.form.append.pop()
// }
const addEmail = () => {
data.form.title.push('')
data.form.content.push('')
data.form.title.push('')
data.form.content.push('')
}
const delEmail = () => {
if (data.form.title.length == 0) return
if (data.form.title.length == 0) return
data.form.title.pop()
data.form.content.pop()
data.form.title.pop()
data.form.content.pop()
}
//
const getExpireTime = () => {
let timestamp = 0
if (data.form.expire_type == 1) timestamp = 86400
if (data.form.expire_type == 2) timestamp = 3600
if (data.form.expire_type == 3) timestamp = 60
let timestamp = 0
if (data.form.expire_type == 1) timestamp = 86400
if (data.form.expire_type == 2) timestamp = 3600
if (data.form.expire_type == 3) timestamp = 60
return parseInt(data.form.expire_num) * timestamp
return parseInt(data.form.expire_num) * timestamp
}
const onSubmit = async () => {
if (data.form.expire_num <= '0') {
ElMessage.error('过期时间不能为空')
return
}
let appendProps = []
for (const index in data.form.append) {
if (data.form.append[index].type == 0) {
continue
} else {
if (data.form.append[index].num == '' || data.form.append[index].num < 1000) {
ElMessage.error('道具数量不能小于1000')
if (data.form.expire_num <= '0') {
ElMessage.error('过期时间不能为空')
return
}
}
if (props.sendMode == 1 && data.form.user_no != '') {
ElMessage.error('玩家ID不能为空')
return
}
if (data.form.append[index].rake == '' || data.form.append[index].rake < 0) {
ElMessage.error('打码数量不能小于0')
let appendProps = []
for (const index in data.form.append) {
if (data.form.append[index].type == 0) {
continue
} else {
if (data.form.append[index].num == '' || data.form.append[index].num < 1000) {
ElMessage.error('道具数量不能小于1000')
return
}
if (data.form.append[index].rake == '' || data.form.append[index].rake < 0) {
ElMessage.error('打码数量不能小于0')
return
}
}
appendProps.push({
type: data.form.append[index].type,
num: parseInt(data.form.append[index].num),
rake: parseInt(data.form.append[index].rake),
})
}
let params = {
type: data.form.send_mode,
title: data.form.title,
content: data.form.content,
timing: '',
append: JSON.stringify(appendProps),
recipient: '[]',
expire: getExpireTime(),
}
if (props.sendMode == 1) params.recipient = JSON.stringify([parseInt(data.form.user_no)])
const respond = await request.post('/person/sendEmail', params)
if (respond.code != 0) {
ElMessage.error(respond.msg)
return
}
}
appendProps.push({ type: data.form.append[index].type, num: parseInt(data.form.append[index].num), rake: parseInt(data.form.append[index].rake) })
}
let params = {
type: data.form.send_mode,
title: data.form.title,
content: data.form.content,
timing: '',
append: JSON.stringify(appendProps),
recipient: '[]',
expire: getExpireTime(),
}
//
if (data.form.send_mode == 2) {
console.log(data.form.user_no)
if (data.form.user_no == null || data.form.user_no == '') {
ElMessage.error('玩家ID不能为空')
return
ElMessage.success('操作成功')
data.form = {
user_no: props.user_no,
recipient: '[]',
append: [{ type: 0, num: '', rake: '' }] as any[], //[{num:2,type:1}]
title: [''],
content: [''],
timing: '',
send_mode: props.sendMode, // 0: 1
expire_num: '',
expire_type: 1,
}
params.recipient = JSON.stringify([parseInt(data.form.user_no)])
}
const respond = await request.post('/person/sendEmail', params)
if (respond.code != 0) {
ElMessage.error(respond.msg)
return
}
ElMessage.success('操作成功')
data.form = {
user_no: props.user_no,
recipient: '[]',
append: [{ type: 0, num: '', rake: '' }] as any[], //[{num:2,type:1}]
title: [''],
content: [''],
timing: '',
send_mode: props.sendMode, // 0: 1
expire_num: '',
expire_type: 1,
}
emits('closeBox', false)
emits('closeBox', false)
}
watch(() => props.user_no, (v) => {
data.form.user_no = v
})
watch(
() => props.user_no,
(v) => {
data.form.user_no = v
}
)
</script>
<template>
<el-form>
<el-form-item label="收件人" label-width="100">
<el-select v-model="data.form.send_mode" :disabled="props.user_no != undefined ? true : false"
style="width: 100%">
<el-option label="所有玩家" :value="1"></el-option>
<el-option label="指定玩家" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="data.form.send_mode == 2" label="玩家ID" label-width="100">
<el-input v-model="data.form.user_no"></el-input>
</el-form-item>
<div v-for="(item, index) in data.form.title">
<el-form-item :label="`邮件标题${index + 1}`" label-width="100">
<el-input v-model="data.form.title[index]"></el-input>
</el-form-item>
<el-form-item :label="`邮件内容${index + 1}`" label-width="100">
<CustomEditor :content="data.form.content[index]" @update-content="(v) => (data.form.content[index] = v)" />
</el-form-item>
</div>
<el-form-item label="" label-width="100">
<el-row justify="space-between" style="width: 100%">
<el-col>
<el-button type="primary" @click="addEmail">添加多语言</el-button>
</el-col>
<el-col>
<el-button v-if="data.form.title.length > 1" type="danger" @click="delEmail">删除多语言</el-button>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="发送道具" label-width="100">
<el-card shadow="never" style="width: 100%">
<el-form v-for="(item, index) in data.form.append" :key="index">
<p class="tip-font">客户端金币比例为 1: 1000</p>
<el-form-item>
<el-select v-model="item.type" style="width: 100%" class="mb-10">
<el-option v-for="item in data.options" :label="item.label" :value="item.value"></el-option>
<el-form>
<el-form-item label="收件人" label-width="100">
<el-select v-model="data.form.send_mode" :disabled="props.user_no != undefined ? true : false" style="width: 100%">
<el-option label="所有玩家" :value="1"></el-option>
<el-option label="指定玩家" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="item.num" style="width: 100%" class="mb-10" type="number" placeholder="道具数量"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="item.rake" style="width: 100%" class="mb-10" type="number" placeholder="打码数量"></el-input>
</el-form-item>
</el-form>
<!-- <el-row justify="space-between">
</el-form-item>
<el-form-item v-if="data.form.send_mode == 2" label="玩家ID" label-width="100">
<el-input v-model="data.form.user_no"></el-input>
</el-form-item>
<div v-for="(item, index) in data.form.title">
<el-form-item :label="`邮件标题${index + 1}`" label-width="100">
<el-input v-model="data.form.title[index]"></el-input>
</el-form-item>
<el-form-item :label="`邮件内容${index + 1}`" label-width="100">
<CustomEditor :content="data.form.content[index]" @update-content="(v) => (data.form.content[index] = v)" />
</el-form-item>
</div>
<el-form-item label="" label-width="100">
<el-row justify="space-between" style="width: 100%">
<el-col>
<el-button type="primary" @click="addEmail">添加多语言</el-button>
</el-col>
<el-col>
<el-button v-if="data.form.title.length > 1" type="danger" @click="delEmail">删除多语言</el-button>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="发送道具" label-width="100">
<el-card shadow="never" style="width: 100%">
<el-form v-for="(item, index) in data.form.append" :key="index">
<p class="tip-font">客户端金币比例为 1: 1000</p>
<el-form-item>
<el-select v-model="item.type" style="width: 100%" class="mb-10">
<el-option v-for="item in data.options" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="item.num" style="width: 100%" class="mb-10" type="number" placeholder="道具数量"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="item.rake" style="width: 100%" class="mb-10" type="number" placeholder="打码数量"></el-input>
</el-form-item>
</el-form>
<!-- <el-row justify="space-between">
<el-col :span="2">
<el-button :icon="Plus" type="primary" circle @click="addProp"></el-button>
</el-col>
@ -190,23 +180,23 @@ watch(() => props.user_no, (v) => {
<el-button :icon="Minus" type="danger" circle @click="delProp"></el-button>
</el-col>
</el-row> -->
</el-card>
</el-form-item>
<el-form-item label="过期时间" label-width="100">
<el-row>
<el-col :span="18" style="margin-right: 5px">
<el-input v-model="data.form.expire_num" type="number"></el-input>
</el-col>
<el-col :span="5">
<el-select v-model="data.form.expire_type" style="width: 100%" class="mb-10">
<el-option label="天" :value="1"></el-option>
<el-option label="时" :value="2"></el-option>
<el-option label="分" :value="3"></el-option>
</el-select>
</el-col>
</el-row>
</el-form-item>
<!-- <el-form-item label="发送时间" label-width="100">
</el-card>
</el-form-item>
<el-form-item label="过期时间" label-width="100">
<el-row>
<el-col :span="18" style="margin-right: 5px">
<el-input v-model="data.form.expire_num" type="number"></el-input>
</el-col>
<el-col :span="5">
<el-select v-model="data.form.expire_type" style="width: 100%" class="mb-10">
<el-option label="天" :value="1"></el-option>
<el-option label="时" :value="2"></el-option>
<el-option label="分" :value="3"></el-option>
</el-select>
</el-col>
</el-row>
</el-form-item>
<!-- <el-form-item label="发送时间" label-width="100">
<el-date-picker
v-model="data.form.timing"
type="datetime"
@ -215,9 +205,9 @@ watch(() => props.user_no, (v) => {
style="width: 100%"
></el-date-picker>
</el-form-item> -->
<div class="paginate-center">
<el-button type="primary" @click="$emit('closeBox', false)">取消</el-button>
<el-button type="danger" @click="onSubmit">确定</el-button>
</div>
</el-form>
<div class="paginate-center">
<el-button type="primary" @click="$emit('closeBox', false)">取消</el-button>
<el-button type="danger" @click="onSubmit">确定</el-button>
</div>
</el-form>
</template>

2
backmanage/src/views/userSearch/details.vue

@ -378,7 +378,7 @@ onMounted(() => {
</template>
<template v-if="data.dialog.action == 5">
<ChangeEmail :user_no="data.result.user_no" :gold="data.result.gold" :send-mode="2"
<ChangeEmail :user_no="data.result.user_no" :gold="data.result.gold" :send-mode="1"
@close-box="closeBox" />
</template>

Loading…
Cancel
Save