parent
0f3368ea2c
commit
8b2059daff
|
@ -62,3 +62,14 @@ export const updateStatus = (id: any, status: string) => {
|
||||||
data: { id: id, messageStatus: status }
|
data: { id: id, messageStatus: status }
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送消息
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const pushMessage = (id: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/business/appMessage/push/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
|
@ -46,8 +46,12 @@
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="scope.row.messageStatus"
|
v-model="scope.row.messageStatus"
|
||||||
|
inline-prompt
|
||||||
|
active-text="发布"
|
||||||
active-value="Published"
|
active-value="Published"
|
||||||
inactive-value="Draft"
|
inactive-value="Draft"
|
||||||
|
inactive-text="草稿"
|
||||||
|
size="large"
|
||||||
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
|
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
|
||||||
@change="val => updateStatusSwitch(scope.row.id, val)"
|
@change="val => updateStatusSwitch(scope.row.id, val)"
|
||||||
/>
|
/>
|
||||||
|
@ -55,6 +59,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<el-button link type="warning" @click="pushMessge(scope.row)">推送</el-button>
|
||||||
<el-button link type="success" @click="handleView(scope.row)">查看</el-button>
|
<el-button link type="success" @click="handleView(scope.row)">查看</el-button>
|
||||||
<el-button link type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
|
<el-button link type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -165,7 +170,14 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="AppMessage" lang="ts">
|
<script setup name="AppMessage" lang="ts">
|
||||||
import { listAppMessage, getAppMessage, addAppMessage, updateAppMessage, updateStatus } from '@/api/business/appMessage';
|
import {
|
||||||
|
listAppMessage,
|
||||||
|
getAppMessage,
|
||||||
|
addAppMessage,
|
||||||
|
updateAppMessage,
|
||||||
|
updateStatus,
|
||||||
|
pushMessage
|
||||||
|
} from "@/api/business/appMessage";
|
||||||
import { AppMessageVO, AppMessageQuery, AppMessageForm } from '@/api/business/appMessage/types';
|
import { AppMessageVO, AppMessageQuery, AppMessageForm } from '@/api/business/appMessage/types';
|
||||||
import { queryUser4Select } from "@/api/business/user";
|
import { queryUser4Select } from "@/api/business/user";
|
||||||
import { User4SelectQuery, User4SelectVo } from "@/api/business/user/types";
|
import { User4SelectQuery, User4SelectVo } from "@/api/business/user/types";
|
||||||
|
@ -343,6 +355,14 @@ const closeViewDetailDialog = () => {
|
||||||
viewDetailDialog.visible = false;
|
viewDetailDialog.visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 推送消息 */
|
||||||
|
const pushMessge = async (row?: AppMessageVO) => {
|
||||||
|
await proxy?.$modal.confirm('是否确认将此消息推送至在线的用户设备?');
|
||||||
|
const _id = row?.id || ids.value[0]
|
||||||
|
const res = await pushMessage(_id);
|
||||||
|
proxy?.$modal.msgSuccess("消息推送成功");
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
|
|
|
@ -167,7 +167,7 @@ const resetQuery = () => {
|
||||||
|
|
||||||
/** 跳转至设备数据 */
|
/** 跳转至设备数据 */
|
||||||
const jumpToDeviceData = (deviceId: any) => {
|
const jumpToDeviceData = (deviceId: any) => {
|
||||||
router.push({ path: '/deviceData/ring', query: { deviceId } });
|
router.push({ path: '/device/data/ring', query: { deviceId } });
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
|
<el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
|
||||||
<h3 class="title">RuoYi-Vue-Plus多租户管理系统</h3>
|
<h3 class="title">洛克智能设备管理系统</h3>
|
||||||
<el-form-item v-if="tenantEnabled" prop="tenantId">
|
<el-form-item v-if="tenantEnabled" prop="tenantId">
|
||||||
<el-select v-model="loginForm.tenantId" filterable placeholder="请选择/输入公司名称" style="width: 100%">
|
<el-select v-model="loginForm.tenantId" filterable placeholder="请选择/输入公司名称" style="width: 100%">
|
||||||
<el-option v-for="item in tenantList" :key="item.tenantId" :label="item.companyName" :value="item.tenantId"></el-option>
|
<el-option v-for="item in tenantList" :key="item.tenantId" :label="item.companyName" :value="item.tenantId"></el-option>
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0 0 25px 0">记住密码</el-checkbox>
|
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0 0 25px 0">记住密码</el-checkbox>
|
||||||
<el-form-item style="float: right">
|
<el-form-item v-if="false" style="float: right">
|
||||||
<el-button circle title="微信登录" @click="doSocialLogin('wechat')">
|
<el-button circle title="微信登录" @click="doSocialLogin('wechat')">
|
||||||
<svg-icon icon-class="wechat" />
|
<svg-icon icon-class="wechat" />
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-login-footer">
|
<div class="el-login-footer">
|
||||||
<span>Copyright © 2018-2024 疯狂的狮子Li All Rights Reserved.</span>
|
<span>Copyright © 2018-2024 洛克智能设备 All Rights Reserved.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -74,8 +74,8 @@ const router = useRouter();
|
||||||
|
|
||||||
const loginForm = ref<LoginData>({
|
const loginForm = ref<LoginData>({
|
||||||
tenantId: '000000',
|
tenantId: '000000',
|
||||||
username: 'admin',
|
username: '',
|
||||||
password: 'admin123',
|
password: '',
|
||||||
rememberMe: false,
|
rememberMe: false,
|
||||||
code: '',
|
code: '',
|
||||||
uuid: ''
|
uuid: ''
|
||||||
|
@ -93,7 +93,7 @@ const loading = ref(false);
|
||||||
// 验证码开关
|
// 验证码开关
|
||||||
const captchaEnabled = ref(true);
|
const captchaEnabled = ref(true);
|
||||||
// 租户开关
|
// 租户开关
|
||||||
const tenantEnabled = ref(true);
|
const tenantEnabled = ref(false);
|
||||||
|
|
||||||
// 注册开关
|
// 注册开关
|
||||||
const register = ref(false);
|
const register = ref(false);
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-register-footer">
|
<div class="el-register-footer">
|
||||||
<span>Copyright © 2018-2024 疯狂的狮子Li All Rights Reserved.</span>
|
<span>Copyright © 2018-2024 洛克智能设备 All Rights Reserved.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
Loading…
Reference in New Issue