feat: 新增发布列表,修改白名单和安装包的字段

This commit is contained in:
张洋川 2024-04-08 14:07:00 +08:00
parent 0018d4261c
commit 02253789e8
4 changed files with 227 additions and 136 deletions

View File

@ -0,0 +1,13 @@
import request from '@/utils/request'
export function Document11691998078000list(query) {
return request({
url: '/forms/api/router/get/Document11691998078000list',
method: 'get',
params: query
})
}

View File

@ -1,26 +1,37 @@
<template>
<div class="app-container">
<el-tabs v-model="activeTabs">
<el-tab-pane
:key="item.name"
v-for="item in packTabs"
:label="item.title"
:name="item.name"
>
{{item.title}}
</el-tab-pane>
</el-tabs>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="安装包名称" prop="configName">
<el-form-item label="安装包名称" prop="installpackName">
<el-input
v-model="queryParams.configName"
v-model="queryParams.installpackName"
placeholder="请输入安装包名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="版本" prop="configKey">
<el-form-item label="版本" prop="versions">
<el-input
v-model="queryParams.configKey"
v-model="queryParams.versions"
placeholder="请输入版本"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="上传方式" prop="configKey">
<el-select v-model="queryParams.configType" placeholder="请选择上传方式" clearable>
<el-form-item label="上传方式" prop="uploadMode">
<el-select v-model="queryParams.uploadMode" placeholder="请选择上传方式" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
@ -41,7 +52,7 @@
></el-date-picker>
</el-form-item>
<el-form-item label="状态" prop="configType">
<el-select v-model="queryParams.configType" placeholder="请选择状态" clearable>
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
@ -73,13 +84,14 @@
plain
icon="el-icon-plus"
size="mini"
@click="handleBatchDelete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:config:delete']"
>批量删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange" v-if="activeTabs==1">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="安装包名称" align="center" prop="configId" />
<el-table-column label="版本号" align="center" prop="configName" :show-overflow-tooltip="true" />
@ -130,14 +142,73 @@
</el-table-column>
</el-table>
<el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange" v-else>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="离线包名称" align="center" prop="configId" />
<el-table-column label="版本" align="center" prop="configName" :show-overflow-tooltip="true" />
<el-table-column label="平台" align="center" prop="configValue" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="configType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="configValue" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDownload(scope.row)"
v-hasPermi="['system:config:dowmload']"
>下载安装包</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleEdit(scope.row)"
v-hasPermi="['system:config:edit']"
>编辑</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDetail(scope.row)"
v-hasPermi="['system:config:detail']"
>详情</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:config:delete']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-if="activeTabs==1"
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 上传安装包的弹窗 -->
<pagination
v-else
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 上传APP安装包的弹窗 -->
<el-dialog :title="title" :visible.sync="addOpen" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上传方式" prop="configName">
@ -153,11 +224,11 @@
</el-radio-group>
</el-form-item>
<el-form-item label="安装包名称" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入安装包名称" />
<el-form-item :label="activeTabs==1?'安装包名称':'模块包名称'" prop="configKey">
<el-input v-model="form.configKey" :placeholder="activeTabs==1?'请输入安装包名称':'请输入模块包名称'" />
</el-form-item>
<el-form-item label="版本号" prop="configName">
<el-input v-model="form.configName" placeholder="请输入安装包版本号" />
<el-input v-model="form.configName" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="安装包文件" prop="configName">
<el-input v-model="form.configName" placeholder="请输入安装包版本号" />
@ -182,18 +253,15 @@
>IOS</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="兼容性信息" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入安装包的兼容性信息" />
</el-form-item>
<el-form-item label="授权信息" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入安装包的授权信息" />
</el-form-item>
<el-form-item label="安装包来源" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入安装包来源" />
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="记录其他相关或说明" />
<el-form-item label="适用模块" prop="configName" v-if="activeTabs!=1">
<el-select v-model="queryParams.uploadMode" placeholder="请选择对应的模块" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -218,14 +286,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="适用系统:">安卓</el-form-item>
<el-form-item label="兼容性信息:">兼容性信息</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权信息:">授权信息内容</el-form-item>
<el-form-item label="安装包源:">安装包源内容</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注信息:">备注信息备注信息</el-form-item>
<el-form-item label="适用模块:" v-if="activeTabs!=1">登录模块</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="上传时间:">上传时间2024-04-07 1743</el-form-item>
@ -239,13 +300,10 @@
<el-button @click="detailOpen = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
export default {
name: "installationList",
dicts: ['sys_yes_no'],
@ -291,7 +349,17 @@ export default {
configKey: [
{ required: true, message: "安装包名称不能为空", trigger: "blur" }
],
}
},
// 1=APP2=H5
activeTabs:1,
packTabs:[{
name:1,
title:'APP安装包'
},{
name:2,
title: 'H5模块包'
}]
};
},
created() {
@ -352,16 +420,6 @@ export default {
this.single = selection.length!=1
this.multiple = !selection.length
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const configId = row.configId || this.ids
getConfig(configId).then(response => {
this.form = response.data;
this.addOpen = true;
this.title = "修改白名单";
});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
@ -385,25 +443,14 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const configIds = row.configId || this.ids;
this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除编号为"' + configIds + '"的数据项?').then(function() {
return delConfig(configIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
// /** */
// handleExport() {
// this.download('system/config/export', {
// ...this.queryParams
// }, `config_${new Date().getTime()}.xlsx`)
// },
// /** */
// handleRefreshCache() {
// refreshCache().then(() => {
// this.$modal.msgSuccess("");
// });
// }
}
};
</script>

View File

@ -1,26 +1,27 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="名单类型" prop="configName">
<el-input
v-model="queryParams.configName"
placeholder="请输入名单类型"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
<el-form-item label="选择APP" prop="configName">
<el-select v-model="queryParams.configType" placeholder="请选择APP" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="名称" prop="configKey">
<el-form-item label="版本号" prop="version">
<el-input
v-model="queryParams.configKey"
placeholder="请输入名称"
v-model="queryParams.version"
placeholder="请输入版本号"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间">
<el-form-item label="公开时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
@ -68,8 +69,7 @@
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:config:add']"
@click="handlePublish"
>批量发布</el-button>
</el-col>
<el-col :span="1.5">
@ -78,7 +78,7 @@
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
@click="handleDelete"
v-hasPermi="['system:config:add']"
>批量删除</el-button>
</el-col>
@ -87,11 +87,24 @@
<el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="白名单名称" align="center" prop="configId" />
<el-table-column label="说明" align="center" prop="configName" :show-overflow-tooltip="true" />
<el-table-column label="白名单类型" align="center" prop="configKey" :show-overflow-tooltip="true" />
<el-table-column label="数量" align="center" prop="configValue" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column label="APP" align="center" prop="configId" />
<el-table-column label="文件类型" align="center" prop="configName" :show-overflow-tooltip="true" />
<el-table-column label="版本号" align="center" prop="configKey" :show-overflow-tooltip="true" />
<el-table-column label="子版本号" align="center" prop="configValue" :show-overflow-tooltip="true" />
<el-table-column label="公开版" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<el-switch v-model="tagsView" class="drawer-switch" />
</template>
</el-table-column>
<el-table-column label="强制更新" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<el-switch v-model="tagsView" class="drawer-switch" />
</template>
</el-table-column>
<el-table-column label="上传时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>

View File

@ -1,25 +1,24 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="名单类型" prop="configName">
<el-form-item label="名单类型" prop="whiteListType">
<el-input
v-model="queryParams.configName"
v-model="queryParams.whiteListType"
placeholder="请输入名单类型"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="名称" prop="configKey">
<el-form-item label="名称" prop="whiteListName">
<el-input
v-model="queryParams.configKey"
v-model="queryParams.whiteListName"
placeholder="请输入名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
@ -31,10 +30,8 @@
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="状态" prop="configType">
<el-select v-model="queryParams.configType" placeholder="请选择状态" clearable>
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
@ -60,16 +57,14 @@
v-hasPermi="['system:config:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:config:add']"
:disabled="multiple"
@click="handlePublish"
>批量发布</el-button>
</el-col>
<el-col :span="1.5">
@ -78,8 +73,8 @@
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:config:add']"
:disabled="multiple"
@click="handleDelete"
>批量删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -156,28 +151,25 @@
<el-dialog :title="title" :visible.sync="addOpen" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="白名单名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
<el-input v-model="form.whiteListName" placeholder="请输入白名单名称" />
</el-form-item>
<el-form-item label="白名单类型" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
<el-input v-model="form.whiteListType" placeholder="请选择白名单类型" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm(1)"> </el-button>
<el-button type="primary" @click="submitAddForm()"> </el-button>
<el-button @click="cancel(1)"> </el-button>
</div>
</el-dialog>
<!-- 白名单配置弹出框 -->
<el-dialog :title="title" :visible.sync="configOpen" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="configForm" :rules="configRules" label-width="80px">
<el-form-item label="添加方式" prop="configName">
<el-radio-group v-model="form.debug">
<el-radio-group v-model="configForm.addMode">
<el-radio
:key="1"
:label="手动添加"
@ -186,22 +178,20 @@
:key="2"
:label="批量添加"
>批量添加</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="白名单类型" prop="configKey">
<el-input v-model="form.configKey" placeholder="请选择白名单类型" />
<el-form-item label="白名单类型" prop="whiteListType">
<el-input v-model="form.whiteListType" placeholder="请选择白名单类型" />
</el-form-item>
<el-form-item label="白名单ID" prop="configName">
<el-input v-model="form.configName" placeholder="输入用户ID" />
<el-form-item label="白名单ID" prop="whitelistIds">
<el-input v-model="form.whitelistIds" type="textarea" placeholder="请输入用户ID" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm(2)"> </el-button>
<el-button type="primary" @click="submitConfigForm(2)"> </el-button>
<el-button @click="cancel(2)"> </el-button>
</div>
</el-dialog>
@ -209,10 +199,12 @@
</template>
<script>
import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
import { addConfig, delConfig, getConfig, updateConfig } from '@/api/system/config'
import { Document11691998078000list } from '@/api/FDS/whiteList'
export default {
name: "Config",
name: "WhiteList",
dicts: ['sys_yes_no'],
data() {
return {
@ -242,23 +234,35 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
configName: undefined,
configKey: undefined,
configType: undefined
whiteListName: undefined,
whiteListType: undefined,
status:undefined
},
//
form: {},
//
configForm: {},
//
rules: {
configName: [
{ required: true, message: "参数名称不能为空", trigger: "blur" }
whiteListName: [
{ required: true, message: "白名单名称不能为空", trigger: "blur" }
],
configKey: [
{ required: true, message: "参数键名不能为空", trigger: "blur" }
whiteListType: [
{ required: true, message: "白名单类型不能为空", trigger: "change" }
],
configValue: [
{ required: true, message: "参数键值不能为空", trigger: "blur" }
]
},
//
configRules: {
addMode: [
{ required: true, message: "添加方式不能为空", trigger: "change" }
],
whiteListType: [
{ required: true, message: "白名单类型不能为空", trigger: "change" }
],
whitelistIds: [
{ required: true, message: "白名单名称不能为空", trigger: "blur" }
],
}
};
},
@ -269,7 +273,7 @@ export default {
/** 查询参数列表 */
getList() {
this.loading = true;
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
Document11691998078000list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.configList = response.rows;
this.total = response.total;
this.loading = false;
@ -331,7 +335,7 @@ export default {
});
},
/** 提交按钮 */
submitForm: function() {
submitAddForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.configId != undefined) {
@ -350,28 +354,42 @@ export default {
}
});
},
/** 白名单配置提交 **/
submitConfigForm:function() {
this.$refs["configForm"].validate(valid => {
if (valid) {
addConfig(this.configForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.configOpen = false;
this.getList();
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const configIds = row.configId || this.ids;
this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除编号为"' + configIds + '"的数据项?').then(function() {
return delConfig(configIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
// /** */
// handleExport() {
// this.download('system/config/export', {
// ...this.queryParams
// }, `config_${new Date().getTime()}.xlsx`)
// },
// /** */
// handleRefreshCache() {
// refreshCache().then(() => {
// this.$modal.msgSuccess("");
// });
// }
/** 发布按钮操作 */
handlePublish() {
const configIds = row.configId || this.ids;
this.$modal.confirm('是否确认发布编号为"' + configIds + '"的数据项?').then(function() {
return delConfig(configIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("发布成功");
}).catch(() => {});
}
}
};
</script>