first commit

This commit is contained in:
2026-09-08 19:49:21 +08:00
commit ebffbab428
7320 changed files with 1477614 additions and 0 deletions
@@ -0,0 +1,111 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<el-card shadow="never">
<el-form :model="msgForm" label-width="120px" ref="msgFormRef" style="max-width: 760px;">
<el-form-item label="自动发送标题" prop="title"
:rules="[{required: true, message: '请输入自动发送标题', trigger: ['blur', 'change']}]">
<el-input v-model="msgForm.title" placeholder="请输入自动发送标题"></el-input>
</el-form-item>
<el-form-item label="自动发送内容" prop="content"
:rules="[{required: true, message: '请输入自动发送内容', trigger: ['blur', 'change']}]">
<el-input v-model="msgForm.content" type="textarea" :rows="4" placeholder="请输入自动发送内容"></el-input>
</el-form-item>
<el-form-item>
<el-button :loading="msgLoading" @click="saveMsgConfig" type="primary">保存发送文案</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card shadow="never" class="mt10" v-if="isSuperAdmin">
<table-tool :app="this" label="自动任务列表(仅超级管理员可见)"></table-tool>
<el-table :data="tasks" border style="width: 100%">
<el-table-column label="任务名称" prop="name" align="center" header-align="center" width="180"></el-table-column>
<el-table-column label="任务说明" prop="note" align="center" header-align="center" min-width="220"></el-table-column>
<el-table-column label="执行类" prop="jobClass" align="center" header-align="center" min-width="280" show-overflow-tooltip></el-table-column>
<el-table-column label="执行周期" align="center" header-align="center" min-width="220">
<template slot-scope="{row}">
<el-input v-model="row.cron" size="small"></el-input>
</template>
</el-table-column>
<el-table-column label="是否禁用" align="center" header-align="center" width="120">
<template slot-scope="{row}">
<el-switch v-model="row.disabled"></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" header-align="center" width="120">
<template slot-scope="{row}">
<el-button :loading="row.loading" @click="saveTask(row)" type="primary" size="mini">保存</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
isSuperAdmin: "${@shiro.hasRole('sysadmin')}" === 'true',
msgLoading: false,
msgForm: {
title: '',
content: ''
},
tasks: []
}
},
methods: {
async getData() {
const resp = await $.post('/platform/staffManage/birthday/autoSend/getData')
if (resp.code === 0) {
const data = resp.data || {}
this.msgForm.title = data.title || ''
this.msgForm.content = data.content || ''
this.tasks = (data.tasks || []).map(item => ({ ...item, loading: false }))
}
},
async saveMsgConfig() {
const valid = await this.$refs.msgFormRef.validate()
if (!valid) return
this.msgLoading = true
const resp = await $.post('/platform/staffManage/birthday/autoSend/saveMsgConfig', this.msgForm)
this.msgLoading = false
if (resp.code === 0) {
this.$message.success('保存成功')
} else {
this.$message.error(resp.msg)
}
},
saveTask(row) {
this.$confirm('确定要保存该自动任务配置吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
row.loading = true
const resp = await $.post('/platform/staffManage/birthday/autoSend/saveTask', {
id: row.id,
cron: row.cron,
disabled: row.disabled
})
row.loading = false
if (resp.code === 0) {
this.$message.success('保存成功')
this.getData()
} else {
this.$message.error(resp.msg)
}
})
}
},
created() {
this.getData()
}
})
</script>
<!--#
}
#-->