feat: 新增APP版本弹框

This commit is contained in:
wanglihui 2023-08-07 23:25:43 +08:00
parent 94c753b034
commit 29942fdfcb
4 changed files with 134 additions and 2 deletions

View File

@ -9,6 +9,15 @@ export function commonAppversionListGet(params: any) {
});
}
// 新增App版本
export function commonAppversionPost(data: any) {
return request({
url: '/common/appversion',
method: 'post',
data
});
}
// 系统机器人菜单列表
export function robotMenusGet(params: any) {
return request({

View File

@ -0,0 +1,116 @@
<template>
<el-dialog
:model-value="value"
:width="600"
:align-center="true"
:close-on-click-modal="false"
:close-on-press-escape="false"
:draggable="true"
:z-index="99"
title="新增版本"
@close="onClose"
>
<el-form :model="formData" label-width="120px">
<el-form-item label="升级平台">
<el-radio-group v-model="formData.os">
<el-radio label="android"> Android</el-radio>
<el-radio label="ios">IOS</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="升级操作">
<el-radio-group v-model="formData.is_force">
<el-radio :label="1">强制更新</el-radio>
<el-radio :label="false">非强制更新</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="安装包">
<el-upload
ref="upload"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:limit="1"
:auto-upload="false"
>
<template #trigger>
<el-button type="primary">点击上传APK</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item label="版本号">
<el-input v-model="formData.app_version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="升级说明">
<el-input
v-model="formData.update_desc"
type="textarea"
:autosize="{ minRows: 6, maxRows: 8 }"
placeholder="请输入升级说明如1、新增朋友圈功能 2、修复已知问题"
/>
</el-form-item>
</el-form>
<template #footer>
<el-space>
<el-button @click="onClose">取消</el-button>
<el-button type="primary" :loading="loaging" @click="onSend">发送</el-button>
</el-space>
</template>
</el-dialog>
</template>
<script lang="ts" name="BdAppVersion" setup>
import { ref } from 'vue';
import { ElMessage } from 'element-plus';
// API
import { commonAppversionPost } from '@/api/tool';
interface IProps {
value: boolean;
}
const props = withDefaults(defineProps<IProps>(), {
value: false
});
const content = ref('');
const loaging = ref<boolean>(false);
const formData = reactive({
app_version: '',
os: 'android',
is_force: false,
update_desc: '',
download_url: ''
});
const emits = defineEmits<{
(e: 'update:value', item: boolean): void;
(e: 'ok', item: any): void;
}>();
watch(
() => props.value,
(n, _o) => {
props.value = n;
}
);
//
const onClose = () => {
emits('update:value', false);
};
//
const onSend = () => {
loaging.value = true;
commonAppversionPost(formData)
.then((res: any) => {
loaging.value = false;
if (res.status == 200) {
ElMessage.success('新增成功!');
content.value = '';
onClose();
emits('ok', true);
}
})
.catch(err => {
loaging.value = false;
if (err.status == 400) {
ElMessage.error(err.msg);
}
});
};
</script>

View File

@ -9,7 +9,7 @@
<div class="flex items-center h-50px">
<el-form inline>
<el-form-item class="mb-0 !mr-0">
<el-button type="primary">新增版本</el-button>
<el-button type="primary" @click="onAppVersionAdd">新增版本</el-button>
</el-form-item>
</el-form>
</div>
@ -50,6 +50,8 @@
/>
</div>
</div>
<!-- 新增版本 -->
<bd-app-version v-model:value="appVersionAddValue" />
</bd-page>
</template>
@ -123,7 +125,11 @@ const onCurrentChange = (current: number) => {
queryFrom.page_index = current;
getTableList();
};
//
const appVersionAddValue = ref<boolean>(false);
const onAppVersionAdd = () => {
appVersionAddValue.value = true;
};
//
onMounted(() => {
getTableList();

View File

@ -9,6 +9,7 @@ declare module 'vue' {
export interface GlobalComponents {
AddNode: typeof import('./../components/bdWorkflow/nodes/addNode.vue')['default']
Approver: typeof import('./../components/bdWorkflow/nodes/approver.vue')['default']
BdAppVersion: typeof import('./../components/BdAppVersion/index.vue')['default']
BdMsg: typeof import('./../components/BdMsg/index.vue')['default']
BdPage: typeof import('./../components/BdPage/index.vue')['default']
BdProhitWords: typeof import('./../components/BdProhitWords/index.vue')['default']