Commit 923f20ff authored by tianhongyang's avatar tianhongyang

2023/11/24

parent 4df06171
......@@ -13,4 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 子系统地址
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.104:3400"
\ No newline at end of file
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.104:3400"
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "http://192.168.60.104:8001"
\ No newline at end of file
......@@ -9,3 +9,5 @@ VUE_APP_BASE_API = 'https://szhapi.jiansheku.com'
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://plug.jiansheku.com"
VUE_APP_BI_SYSTEM_ADDRESS = "http://192.168.60.104:8001"
......@@ -12,4 +12,6 @@ ENV = 'test'
VUE_APP_BASE_API = '/prod-api'
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
\ No newline at end of file
VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
VUE_APP_BI_SYSTEM_ADDRESS = "http://192.168.60.104:8001"
\ No newline at end of file
import request from '@/utils/request'
import request from '@/utils/request';
// 查询参数列表
export function listConfig(query) {
......@@ -6,7 +6,7 @@ export function listConfig(query) {
url: '/system/config/list',
method: 'get',
params: query
})
});
}
// 查询参数详细
......@@ -14,7 +14,7 @@ export function getConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'get'
})
});
}
// 根据参数键名查询参数值
......@@ -22,7 +22,7 @@ export function getConfigKey(configKey) {
return request({
url: '/system/config/configKey/' + configKey,
method: 'get'
})
});
}
// 新增参数配置
......@@ -31,7 +31,7 @@ export function addConfig(data) {
url: '/system/config',
method: 'post',
data: data
})
});
}
// 修改参数配置
......@@ -40,9 +40,23 @@ export function updateConfig(data) {
url: '/system/config',
method: 'put',
data: data
})
});
}
// 新增租户参数配置
export const addTenantConfig = (data) => request({
url: "/system/config/tenant/add",
method: "post",
data
});
// 修改租户参数配置
export const updateTenantConfig = (data) => request({
url: "/system/config/tenant/add",
method: "put",
data
});
// 修改参数配置
export function updateConfigByKey(key, value) {
return request({
......@@ -52,7 +66,7 @@ export function updateConfigByKey(key, value) {
configKey: key,
configValue: value
}
})
});
}
// 删除参数配置
......@@ -60,7 +74,7 @@ export function delConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'delete'
})
});
}
// 刷新参数缓存
......@@ -68,6 +82,6 @@ export function refreshCache() {
return request({
url: '/system/config/refreshCache',
method: 'delete'
})
});
}
import Cookies from 'js-cookie'
import Cookies from 'js-cookie';
const TokenKey = 'Admin-Token'
const Tenantid = 'Tenantid'
const TokenKey = 'Admin-Token';
const Tenantid = 'Tenantid';
export function getToken() {
return Cookies.get(TokenKey)
return Cookies.get(TokenKey);
}
export function getTenantid() {
return Cookies.get(Tenantid)
return Cookies.get(Tenantid);
}
export function setToken(token) {
return Cookies.set(TokenKey, token)
return Cookies.set(TokenKey, token);
}
export function setTenantid(id) {
return Cookies.set(Tenantid, id)
return Cookies.set(Tenantid, id);
}
export function removeToken() {
return Cookies.remove(TokenKey)
return Cookies.remove(TokenKey);
}
export function removeTenantid() {
return Cookies.remove(Tenantid)
return Cookies.remove(Tenantid);
}
export function setBiAuth(token) {
if (!token) return false;
sessionStorage.setItem("DSK_SYSTEM_AUTH_TOKEN", token);
return true;
}
<script>
import { getToken } from "@/utils/auth";
export default {
name: "bi",
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
async closeOuterTab() {
await this.$nextTick();
this.$tab.closePage();
}
},
render(h) {
const token = getToken();
if (!token) {
this.$message.warning("获取auth令牌失败");
this.closeOuterTab();
return;
}
window.open(`${process.env.VUE_APP_BI_SYSTEM_ADDRESS}?DSK_SYSTEM_AUTH_TOKEN=${token}`, "DSK_BI_SYSTEM");
this.closeOuterTab();
},
}
</script>
<style lang="scss" scoped>
</style>
......@@ -2,44 +2,19 @@
<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-input v-model="queryParams.configName" placeholder="请输入参数名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input
v-model="queryParams.configKey"
placeholder="请输入参数键名"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.configKey" placeholder="请输入参数键名" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="系统内置" prop="configType">
<el-select v-model="queryParams.configType" placeholder="系统内置" clearable>
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<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="创建时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
......@@ -49,56 +24,26 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:config:add']"
>新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:config:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:config:edit']"
>修改</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:config:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:config:remove']"
>删除</el-button>
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:config:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:config:export']"
>导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:config:export']">导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-refresh"
size="mini"
@click="handleRefreshCache"
v-hasPermi="['system:config:remove']"
>刷新缓存</el-button>
<el-button type="danger" plain icon="el-icon-refresh" size="mini" @click="handleRefreshCache"
v-hasPermi="['system:config:remove']">刷新缓存</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddTenantParameters"
v-hasPermi="['system:config:tenant:add']">新增租户参数</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -111,7 +56,7 @@
<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"/>
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
......@@ -122,31 +67,14 @@
</el-table-column>
<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="handleUpdate(scope.row)"
v-hasPermi="['system:config:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:config:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:config:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:config:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
......@@ -162,11 +90,7 @@
</el-form-item>
<el-form-item label="系统内置" prop="configType">
<el-radio-group v-model="form.configType">
<el-radio
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
<el-radio v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
......@@ -178,15 +102,51 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 添加或修改租户参数配置对话框 -->
<el-dialog :title="addTenantTitle" :visible.sync="addTenantDialog" width="500px" append-to-body>
<el-form ref="addTenantForm" :model="addTenantForm" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="addTenantForm.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="addTenantForm.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="addTenantForm.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="系统内置" prop="configType">
<el-radio-group v-model="addTenantForm.configType">
<el-radio v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="addTenantForm.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitTenantForm">确 定</el-button>
<el-button @click="cancelTenantDialog">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
import {
listConfig,
getConfig,
delConfig,
addConfig,
updateConfig,
refreshCache,
addTenantConfig,
updateTenantConfig,
} from "@/api/system/config";
export default {
name: "Config",
dicts: ['sys_yes_no'],
dicts: ["sys_yes_no"],
data() {
return {
// 遮罩层
......@@ -215,22 +175,35 @@ export default {
pageSize: 10,
configName: undefined,
configKey: undefined,
configType: undefined
configType: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
configName: [
{ required: true, message: "参数名称不能为空", trigger: "blur" }
{ required: true, message: "参数名称不能为空", trigger: "blur" },
],
configKey: [
{ required: true, message: "参数键名不能为空", trigger: "blur" }
{ required: true, message: "参数键名不能为空", trigger: "blur" },
],
configValue: [
{ required: true, message: "参数键值不能为空", trigger: "blur" }
]
}
{ required: true, message: "参数键值不能为空", trigger: "blur" },
],
},
// 新增租户参数表单
addTenantForm: {
configId: "",
configName: "",
configKey: "",
configValue: "",
configType: "Y",
remark: "",
},
// 新增租户参数弹窗
addTenantDialog: false,
// 新增租户参数弹窗标题
addTenantTitle: "",
};
},
created() {
......@@ -240,7 +213,8 @@ export default {
/** 查询参数列表 */
getList() {
this.loading = true;
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(
(response) => {
this.configList = response.rows;
this.total = response.total;
this.loading = false;
......@@ -260,7 +234,7 @@ export default {
configKey: undefined,
configValue: undefined,
configType: "Y",
remark: undefined
remark: undefined,
};
this.resetForm("form");
},
......@@ -281,34 +255,44 @@ export default {
this.open = true;
this.title = "添加参数";
},
// 重置租户参数表单
resetTenantParameters() {
this.addTenantForm = this.$options.data.call(this).addTenantForm;
},
// 新增租户参数
handleAddTenantParameters() {
this.resetTenantParameters();
this.addTenantDialog = true;
this.addTenantTitle = "添加租户参数";
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.configId)
this.single = selection.length!=1
this.multiple = !selection.length
this.ids = selection.map((item) => item.configId);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const configId = row.configId || this.ids
getConfig(configId).then(response => {
const configId = row.configId || this.ids;
getConfig(configId).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改参数";
});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.configId != undefined) {
updateConfig(this.form).then(response => {
updateConfig(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addConfig(this.form).then(response => {
addConfig(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
......@@ -317,28 +301,65 @@ export default {
}
});
},
// 提交租户参数表单
submitTenantForm() {
this.$refs["addTenantForm"].validate((valid) => {
if (valid) {
if (this.addTenantForm.configId) {
updateTenantConfig(this.addTenantForm).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("修改成功");
this.addTenantDialog = false;
this.getList();
}
});
} else {
addTenantConfig(this.addTenantForm).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("新增成功");
this.addTenantDialog = false;
this.getList();
}
});
}
}
});
},
// 取消提交租户表单
cancelTenantDialog() {
this.addTenantDialog = false;
this.resetTenantParameters();
},
/** 删除按钮操作 */
handleDelete(row) {
const configIds = row.configId || this.ids;
this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
this.$modal
.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?')
.then(function () {
return delConfig(configIds);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
})
.catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/config/export', {
...this.queryParams
}, `config_${new Date().getTime()}.xlsx`)
this.download(
"system/config/export",
{
...this.queryParams,
},
`config_${new Date().getTime()}.xlsx`
);
},
/** 刷新缓存按钮操作 */
handleRefreshCache() {
refreshCache().then(() => {
this.$modal.msgSuccess("刷新成功");
});
}
}
},
},
};
</script>
......@@ -226,8 +226,8 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="用户称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户称" maxlength="30" />
<el-form-item label="用户称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -373,7 +373,7 @@
</el-table-column>
<el-table-column
prop="nickName"
label="用户称">
label="用户称">
</el-table-column>
<el-table-column
prop="phonenumber"
......@@ -477,7 +477,7 @@ export default {
columns: [
{ key: 0, label: `用户编号`, visible: true },
{ key: 1, label: `用户名称`, visible: true },
{ key: 2, label: `用户称`, visible: true },
{ key: 2, label: `用户称`, visible: true },
{ key: 3, label: `组织`, visible: true },
{ key: 4, label: `手机号码`, visible: true },
{ key: 5, label: `状态`, visible: true },
......@@ -486,7 +486,7 @@ export default {
// 表单校验
rules: {
nickName: [
{ required: true, message: "用户称不能为空", trigger: "blur" }
{ required: true, message: "用户称不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "组织不能为空", trigger: "blur" }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment