All checks were successful
continuous-integration/drone/push Build is passing
- 解压官方默认主题 default_yfMBA.tar.gz 到 clientarea/hgcloud/ - .gitignore 排除压缩包和临时解压目录 - drone 新增步骤: 同步 hgcloud 到 /clientarea/template/pc/
879 lines
26 KiB
JavaScript
879 lines
26 KiB
JavaScript
(function (window, undefined) {
|
||
var old_onload = window.onload;
|
||
window.onload = function () {
|
||
const template = document.getElementsByClassName("template")[0];
|
||
Vue.prototype.lang = window.lang;
|
||
new Vue({
|
||
components: {
|
||
asideMenu,
|
||
topMenu,
|
||
pagination,
|
||
},
|
||
updated() {
|
||
// // 关闭loading
|
||
// document.getElementById('mainLoading').style.display = 'none';
|
||
// document.getElementsByClassName('template')[0].style.display = 'block'
|
||
},
|
||
destroyed() {},
|
||
data() {
|
||
// 验证规则
|
||
const validatePort = (rule, value, callback) => {
|
||
if (value === "") {
|
||
callback(
|
||
new Error(`${lang.placeholder_pre1}${lang.common_cloud_label13}`)
|
||
);
|
||
} else {
|
||
const reg = /^[0-9-]*$/;
|
||
if (reg.test(value)) {
|
||
callback();
|
||
} else {
|
||
callback(
|
||
new Error(
|
||
`${lang.placeholder_pre1}${lang.security_tip8}${lang.common_cloud_label13}`
|
||
)
|
||
);
|
||
}
|
||
}
|
||
};
|
||
const validatIp = (rule, value, callback) => {
|
||
if (value === "") {
|
||
callback(new Error(`${lang.placeholder_pre1}${lang.auth_ip}`));
|
||
} else {
|
||
const val = value.split("/");
|
||
if (
|
||
/^((25[0-5]|2[0-4]\d|[01]?\d\d?)($|(?!\.$)\.)){4}$/.test(
|
||
val[0]
|
||
) &&
|
||
val.length === 1
|
||
) {
|
||
callback();
|
||
} else if (
|
||
/^((25[0-5]|2[0-4]\d|[01]?\d\d?)($|(?!\.$)\.)){4}$/.test(
|
||
val[0]
|
||
) &&
|
||
val.length === 2 &&
|
||
parseInt(val[1]) <= 65535 &&
|
||
parseInt(val[1]) >= 0
|
||
) {
|
||
callback();
|
||
} else {
|
||
callback(
|
||
new Error(
|
||
`${lang.placeholder_pre1}${lang.security_tip8}${lang.auth_ip}`
|
||
)
|
||
);
|
||
}
|
||
}
|
||
};
|
||
return {
|
||
id: "",
|
||
params: {
|
||
page: 1,
|
||
limit: 20,
|
||
pageSizes: [20, 50, 100],
|
||
total: 0,
|
||
orderby: "id",
|
||
sort: "desc",
|
||
keywords: "",
|
||
},
|
||
commonData: {},
|
||
isShowAPI: false,
|
||
isShowAPILog: false,
|
||
isChooseAll: false,
|
||
activeName: "in",
|
||
loading: false,
|
||
dataList: [],
|
||
isShowDel: false,
|
||
delName: "",
|
||
delId: "",
|
||
submitLoading: false,
|
||
isShowCj: false,
|
||
createForm: {
|
||
id: "",
|
||
name: "",
|
||
description: "",
|
||
},
|
||
errText: "",
|
||
optType: "",
|
||
protocol: [
|
||
// 协议选项
|
||
{
|
||
label: "all",
|
||
value: "all",
|
||
},
|
||
{
|
||
label: "all_tcp",
|
||
value: "all_tcp",
|
||
},
|
||
{
|
||
label: "all_udp",
|
||
value: "all_udp",
|
||
},
|
||
{
|
||
label: "tcp",
|
||
value: "tcp",
|
||
},
|
||
{
|
||
label: "udp",
|
||
value: "udp",
|
||
},
|
||
{
|
||
label: "icmp",
|
||
value: "icmp",
|
||
},
|
||
{
|
||
label: "ssh",
|
||
value: "ssh",
|
||
},
|
||
{
|
||
label: "telnet",
|
||
value: "telnet",
|
||
},
|
||
{
|
||
label: "http",
|
||
value: "http",
|
||
},
|
||
{
|
||
label: "https",
|
||
value: "https",
|
||
},
|
||
{
|
||
label: "mssql",
|
||
value: "mssql",
|
||
},
|
||
{
|
||
label: "Oracle",
|
||
value: "oracle",
|
||
},
|
||
{
|
||
label: "mysql",
|
||
value: "mysql",
|
||
},
|
||
{
|
||
label: "rdp",
|
||
value: "rdp",
|
||
},
|
||
{
|
||
label: "postgresql",
|
||
value: "postgresql",
|
||
},
|
||
{
|
||
label: "redis",
|
||
value: "redis",
|
||
},
|
||
],
|
||
inList: [], // 入方向数据
|
||
outList: [],
|
||
inParams: {
|
||
id: "",
|
||
keywords: "",
|
||
page: 1,
|
||
limit: 20,
|
||
pageSizes: [20, 50, 100],
|
||
total: 0,
|
||
orderby: "id",
|
||
sort: "desc",
|
||
direction: "in",
|
||
},
|
||
outParams: {
|
||
id: "",
|
||
keywords: "",
|
||
page: 1,
|
||
limit: 20,
|
||
pageSizes: [20, 50, 100],
|
||
total: 0,
|
||
orderby: "id",
|
||
sort: "desc",
|
||
direction: "out",
|
||
},
|
||
multipleSelection: [],
|
||
delTile: "",
|
||
delType: "",
|
||
optTitle: "",
|
||
singleForm: {
|
||
// 单个添加规则
|
||
id: "",
|
||
description: "",
|
||
protocol: "",
|
||
ip: "",
|
||
port: "",
|
||
direction: "", // in,out
|
||
},
|
||
rules: {
|
||
protocol: [
|
||
{
|
||
required: true,
|
||
message: `${lang.placeholder_pre2}${lang.protocol}`,
|
||
trigger: "change",
|
||
},
|
||
],
|
||
port: [
|
||
{
|
||
required: true,
|
||
message: `${lang.placeholder_pre1}${lang.common_cloud_label13}`,
|
||
trigger: "blur",
|
||
},
|
||
{ validator: validatePort, trigger: "blur" },
|
||
],
|
||
ip: [
|
||
{
|
||
required: true,
|
||
message: `${lang.placeholder_pre1}${lang.auth_ip}`,
|
||
trigger: "blur",
|
||
},
|
||
{ validator: validatIp, trigger: "blur" },
|
||
],
|
||
},
|
||
batchForm: {
|
||
// 批量增加规则
|
||
id: "",
|
||
ip: "",
|
||
description: "",
|
||
},
|
||
batchRules: {
|
||
ip: [
|
||
{
|
||
required: true,
|
||
message: `${lang.placeholder_pre1}${lang.auth_ip}`,
|
||
trigger: "blur",
|
||
},
|
||
{ validator: validatIp, trigger: "blur" },
|
||
],
|
||
},
|
||
// 批量规则
|
||
batchArr: [
|
||
{
|
||
tit: lang.remote_login,
|
||
check: false,
|
||
child: [
|
||
{
|
||
tit: "SSH",
|
||
protocol: "ssh",
|
||
port: 22,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "RDP",
|
||
protocol: "rdp",
|
||
port: 3389,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "Telnet",
|
||
protocol: "telnet",
|
||
port: 23,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "ICMP",
|
||
protocol: "icmp",
|
||
port: 0,
|
||
check: false,
|
||
},
|
||
],
|
||
},
|
||
{
|
||
tit: lang.web_server,
|
||
check: false,
|
||
child: [
|
||
{
|
||
tit: "HTTP",
|
||
protocol: "http",
|
||
port: 80,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "HTTPS",
|
||
protocol: "https",
|
||
port: 443,
|
||
check: false,
|
||
},
|
||
],
|
||
},
|
||
{
|
||
tit: lang.database,
|
||
check: false,
|
||
child: [
|
||
{
|
||
tit: "MySQL",
|
||
protocol: "mysql",
|
||
port: 3306,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "MS SQL",
|
||
protocol: "mssql",
|
||
port: 1433,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "PostgreSQL",
|
||
protocol: "postgresql",
|
||
port: 5432,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "Oracle",
|
||
protocol: "oracle",
|
||
port: 1521,
|
||
check: false,
|
||
},
|
||
{
|
||
tit: "Redls",
|
||
protocol: "redis",
|
||
port: 6379,
|
||
check: false,
|
||
},
|
||
],
|
||
},
|
||
],
|
||
batchVisible: false,
|
||
checkedRules: [],
|
||
// 关联实例
|
||
availableCloud: [],
|
||
relationVisible: false,
|
||
relationForm: {
|
||
host_id: [],
|
||
},
|
||
relationRules: {
|
||
host_id: [
|
||
{
|
||
required: true,
|
||
message: `${lang.placeholder_pre2}${lang.cloud_menu_1}`,
|
||
trigger: "change",
|
||
},
|
||
],
|
||
},
|
||
baseUrl: url,
|
||
};
|
||
},
|
||
watch: {
|
||
"singleForm.protocol"(val) {
|
||
switch (val) {
|
||
case "ssh":
|
||
return (this.singleForm.port = "22");
|
||
case "telnet":
|
||
return (this.singleForm.port = "23");
|
||
case "http":
|
||
return (this.singleForm.port = "80");
|
||
case "https":
|
||
return (this.singleForm.port = "443");
|
||
case "mssql":
|
||
return (this.singleForm.port = "1433");
|
||
case "oracle":
|
||
return (this.singleForm.port = "1521");
|
||
case "mysql":
|
||
return (this.singleForm.port = "3306");
|
||
case "rdp":
|
||
return (this.singleForm.port = "3389");
|
||
case "postgresql":
|
||
return (this.singleForm.port = "5432");
|
||
case "redis":
|
||
return (this.singleForm.port = "6379");
|
||
case "tcp":
|
||
case "udp":
|
||
return (this.singleForm.port = "");
|
||
default:
|
||
return (this.singleForm.port = "1-65535");
|
||
}
|
||
},
|
||
},
|
||
filters: {
|
||
formateTime(time) {
|
||
if (time && time !== 0) {
|
||
return formateDate(time * 1000);
|
||
} else {
|
||
return "--";
|
||
}
|
||
},
|
||
},
|
||
created() {
|
||
this.id =
|
||
this.params.id =
|
||
this.inParams.id =
|
||
this.outParams.id =
|
||
location.href.split("?")[1].split("=")[1];
|
||
this.getCommonData();
|
||
this.getInRules();
|
||
},
|
||
methods: {
|
||
back() {
|
||
location.href = "security_group.htm";
|
||
},
|
||
// 切换tab
|
||
handleClick() {
|
||
this.multipleSelection = [];
|
||
this.$refs.multipleTable.clearSelection();
|
||
switch (this.activeName) {
|
||
case "in":
|
||
this.getInRules();
|
||
return;
|
||
case "out":
|
||
this.getOutRules();
|
||
return;
|
||
default:
|
||
this.getRelation();
|
||
this.getAllCloudList();
|
||
}
|
||
},
|
||
// 入规则
|
||
async getInRules() {
|
||
try {
|
||
this.loading = true;
|
||
const res = await getGroupRules(this.inParams);
|
||
this.inList = res.data.data.list;
|
||
this.inParams.total = res.data.data.count;
|
||
this.loading = false;
|
||
} catch (error) {
|
||
this.$message.error(error.data.msg);
|
||
this.loading = false;
|
||
}
|
||
},
|
||
handleSelectionChange(val) {
|
||
this.multipleSelection = val;
|
||
},
|
||
// 批量删除
|
||
batchDelete() {
|
||
if (this.multipleSelection.length === 0) {
|
||
return this.$message.warning(
|
||
`${lang.placeholder_pre2}${lang.rules}`
|
||
);
|
||
}
|
||
this.delType = "batch";
|
||
if (this.activeName === "in") {
|
||
this.delTile = `${lang.batch_delete}${lang.in_rules}`;
|
||
} else if (this.activeName === "out") {
|
||
this.delTile = `${lang.batch_delete}${lang.out_rules}`;
|
||
}
|
||
|
||
this.isShowDel = true;
|
||
},
|
||
// 出方向规则
|
||
async getOutRules() {
|
||
try {
|
||
this.loading = true;
|
||
const res = await getGroupRules(this.outParams);
|
||
this.outList = res.data.data.list;
|
||
this.outParams.total = res.data.data.count;
|
||
this.loading = false;
|
||
} catch (error) {
|
||
this.$message.error(error.data.msg);
|
||
this.loading = false;
|
||
}
|
||
},
|
||
// 关联安全组实例列表
|
||
async getRelation() {
|
||
try {
|
||
const res = await getGroupCloud(this.params);
|
||
this.dataList = res.data.data.list;
|
||
this.params.total = res.data.data.count;
|
||
} catch (error) {
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
},
|
||
// 获取所有可用实例
|
||
async getAllCloudList() {
|
||
try {
|
||
const res = await getAllCloud({
|
||
status: "Active",
|
||
page: 1,
|
||
limit: 10000,
|
||
scene: "security_group",
|
||
});
|
||
let temp = res.data.data.list;
|
||
this.availableCloud = temp.sort((a, b) => {
|
||
return b.id - a.id;
|
||
});
|
||
} catch (error) {
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
},
|
||
// 关联实例
|
||
relationCloud() {
|
||
this.relationVisible = true;
|
||
this.optTitle = lang.add_cloud_to_group;
|
||
this.relationForm.host_id = [];
|
||
this.isChooseAll = false;
|
||
},
|
||
chooseAll(val) {
|
||
this.relationForm.host_id = val
|
||
? this.availableCloud.map((item) => item.id)
|
||
: [];
|
||
},
|
||
submitRelation() {
|
||
this.$refs.relationForm.validate(async (valid) => {
|
||
if (valid) {
|
||
try {
|
||
this.submitLoading = true;
|
||
const params = {
|
||
id: this.id,
|
||
host_id: this.relationForm.host_id,
|
||
};
|
||
const res = await apiLinkGroup(params);
|
||
this.submitLoading = false;
|
||
this.relationVisible = false;
|
||
const arr = res.data.data;
|
||
const tips = arr
|
||
.map((item) => {
|
||
return `<p>${lang.cloud_menu_1}:${item.name}:${item.msg}</p>`;
|
||
})
|
||
.join("");
|
||
this.$notify({
|
||
title: lang.cart_tip_text25,
|
||
message: tips,
|
||
duration: 0,
|
||
dangerouslyUseHTMLString: true,
|
||
});
|
||
} catch (error) {
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
} else {
|
||
console.log("error submit!!");
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
reClose() {
|
||
this.relationVisible = false;
|
||
this.submitLoading = false;
|
||
},
|
||
// 删除安全组
|
||
deleteItem(row, type) {
|
||
this.delName = row.name;
|
||
this.delId = row.id;
|
||
this.isShowDel = true;
|
||
this.delType = "one";
|
||
if (type === "in") {
|
||
this.delTile = `${lang.referral_title9}${lang.in_rules}`;
|
||
} else if (type === "out") {
|
||
this.delTile = `${lang.referral_title9}${lang.out_rules}`;
|
||
} else if (type === "relation") {
|
||
this.delTile = `${lang.referral_title9}${row.name}`;
|
||
}
|
||
},
|
||
// 单个删除
|
||
delSub() {
|
||
if (this.delType === "one") {
|
||
if (this.activeName === "relation") {
|
||
this.delRelation(); // 取消关联实例
|
||
} else {
|
||
this.delOne();
|
||
}
|
||
} else if (this.delType === "batch") {
|
||
this.batchDel();
|
||
}
|
||
},
|
||
async delOne() {
|
||
try {
|
||
this.submitLoading = true;
|
||
const res = await deleteGroupRules(this.delId);
|
||
if (res.data.status === 200) {
|
||
this.$message.success(res.data.msg);
|
||
this.isShowDel = false;
|
||
this.submitLoading = false;
|
||
if (this.activeName === "in") {
|
||
this.inList = this.inList.filter(
|
||
(item) => item.id !== this.delId
|
||
);
|
||
if (this.inList.length === 0 && this.inParams.page > 1) {
|
||
this.inParams.page -= 1;
|
||
}
|
||
this.getInRules();
|
||
} else if (this.activeName === "out") {
|
||
this.outList = this.outList.filter(
|
||
(item) => item.id !== this.delId
|
||
);
|
||
if (this.outParams.length === 0 && this.outParams.page > 1) {
|
||
this.outParams.page -= 1;
|
||
}
|
||
this.getOutRules();
|
||
}
|
||
}
|
||
} catch (error) {
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
},
|
||
async delRelation() {
|
||
try {
|
||
const params = {
|
||
id: this.id,
|
||
host_id: this.delId,
|
||
};
|
||
this.submitLoading = true;
|
||
const res = await cancelConcatCloud(params);
|
||
this.$message.success(lang.delete_cloud_success);
|
||
this.submitLoading = false;
|
||
this.isShowDel = false;
|
||
this.getRelation();
|
||
} catch (error) {
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
},
|
||
// 批量删除
|
||
batchDel() {
|
||
let delArr = [];
|
||
this.multipleSelection.forEach((item, index) => {
|
||
delArr[index] = deleteGroupRules(item.id);
|
||
});
|
||
this.submitLoading = true;
|
||
const idTemp = this.multipleSelection.reduce((all, cur) => {
|
||
all.push(cur.id);
|
||
return all;
|
||
}, []);
|
||
Promise.all(delArr)
|
||
.then((res) => {
|
||
this.$message.success(`${lang.referral_tips4}`);
|
||
this.isShowDel = false;
|
||
this.submitLoading = false;
|
||
if (this.activeName === "in") {
|
||
this.inList = this.inList.filter(
|
||
(item) => !idTemp.includes(item.id)
|
||
);
|
||
if (this.inList.length === 0 && this.inParams.page > 1) {
|
||
this.inParams.page -= 1;
|
||
}
|
||
this.getInRules();
|
||
} else if (this.activeName === "out") {
|
||
this.outList = this.outList.filter(
|
||
(item) => !idTemp.includes(item.id)
|
||
);
|
||
if (this.outList.length === 0 && this.outParams.page > 1) {
|
||
this.outParams.page -= 1;
|
||
}
|
||
this.getOutRules();
|
||
}
|
||
})
|
||
.catch((error) => {
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
});
|
||
},
|
||
// 添加安全组
|
||
createSecurity() {
|
||
this.isShowCj = true;
|
||
this.optType = "add";
|
||
this.singleForm.id = this.id;
|
||
this.singleForm.protocol = "tcp";
|
||
this.singleForm.ip = "";
|
||
this.singleForm.port = "";
|
||
this.singleForm.description = "";
|
||
this.optTitle = `${lang.com_config.add}${lang.rules}`;
|
||
this.$refs.singleForm && this.$refs.singleForm.clearValidate();
|
||
},
|
||
|
||
submitForm() {
|
||
this.$refs.singleForm.validate(async (valid) => {
|
||
if (valid) {
|
||
try {
|
||
this.submitLoading = true;
|
||
const params = JSON.parse(JSON.stringify(this.singleForm));
|
||
params.direction = this.activeName;
|
||
const res = await addAndUpdateGroupRules(this.optType, params);
|
||
this.submitLoading = false;
|
||
this.isShowCj = false;
|
||
this.$message.success(res.data.msg);
|
||
if (this.activeName === "in") {
|
||
this.getInRules();
|
||
} else if (this.activeName === "out") {
|
||
this.getOutRules();
|
||
}
|
||
} catch (error) {
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
} else {
|
||
console.log("error submit!!");
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
// 批量添加规则
|
||
batchCreateSecurity() {
|
||
this.batchVisible = true;
|
||
this.optTitle = lang.batch_add_rules;
|
||
this.batchForm.id = this.id;
|
||
this.batchForm.ip = "0.0.0.0/0";
|
||
this.batchForm.description = "";
|
||
let temp = JSON.parse(JSON.stringify(this.batchArr));
|
||
temp = temp.map((item) => {
|
||
item.check = false;
|
||
item.child = item.child.map((el) => {
|
||
el.check = false;
|
||
return el;
|
||
});
|
||
return item;
|
||
});
|
||
this.batchArr = temp;
|
||
},
|
||
// 点击勾选子项
|
||
changePar(e, index) {
|
||
const temp = JSON.parse(JSON.stringify(this.batchArr));
|
||
temp[index].check = e;
|
||
temp[index].child = temp[index].child.map((item) => {
|
||
item.check = e;
|
||
return item;
|
||
});
|
||
this.batchArr = temp;
|
||
},
|
||
// 子项点击
|
||
changeChild(e, index, ind) {
|
||
const temp = JSON.parse(JSON.stringify(this.batchArr));
|
||
temp[index].child[ind].check = e;
|
||
const len = temp[index].child.length;
|
||
const checkNum = temp[index].child.reduce((all, cur) => {
|
||
if (cur.check === true) {
|
||
all += 1;
|
||
}
|
||
return all;
|
||
}, 0);
|
||
if (len === checkNum) {
|
||
temp[index].check = true;
|
||
} else {
|
||
temp[index].check = false;
|
||
}
|
||
this.batchArr = temp;
|
||
},
|
||
batchSubmitForm() {
|
||
this.$refs.batchForm.validate(async (valid) => {
|
||
if (valid) {
|
||
try {
|
||
let arr = [];
|
||
arr = this.batchArr.reduce((all, cur) => {
|
||
all = all.concat(cur.child.flat());
|
||
return all;
|
||
}, []);
|
||
arr = arr.filter((item) => item.check === true);
|
||
arr.map((item) => {
|
||
item.protocol = item.protocol;
|
||
item.direction = this.activeName;
|
||
item.ip = this.batchForm.ip;
|
||
item.description = this.batchForm.description;
|
||
});
|
||
const params = {
|
||
id: this.batchForm.id,
|
||
rule: arr,
|
||
};
|
||
if (params.rule.length === 0) {
|
||
return this.$message.warning(
|
||
lang.placeholder_pre2 + lang.common_port
|
||
);
|
||
}
|
||
this.submitLoading = true;
|
||
const res = await batchRules(params);
|
||
this.submitLoading = false;
|
||
this.batchVisible = false;
|
||
this.$message.success(res.data.msg);
|
||
if (this.activeName === "in") {
|
||
this.getInRules();
|
||
} else if (this.activeName === "out") {
|
||
this.getOutRules();
|
||
}
|
||
} catch (error) {
|
||
console.log("error", error);
|
||
this.submitLoading = false;
|
||
this.$message.error(error.data.msg);
|
||
}
|
||
} else {
|
||
console.log("error submit!!");
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
editItem(row) {
|
||
this.optType = "update";
|
||
this.singleForm = JSON.parse(JSON.stringify(row));
|
||
setTimeout(() => {
|
||
this.singleForm.port = row.port;
|
||
}, 10)
|
||
this.isShowCj = true;
|
||
},
|
||
cjClose() {
|
||
this.isShowCj = false;
|
||
},
|
||
delClose() {
|
||
this.isShowDel = false;
|
||
},
|
||
getRule(arr) {
|
||
let isShow1 = this.showFun(arr, "ApiController::list");
|
||
let isShow2 = this.showFun(arr, "LogController::list");
|
||
if (isShow1) {
|
||
this.isShowAPI = true;
|
||
this.activeName = this.activeName;
|
||
} else {
|
||
this.activeName = "2";
|
||
}
|
||
if (isShow2) {
|
||
this.isShowAPILog = true;
|
||
}
|
||
// this.handleClick();
|
||
},
|
||
showFun(arr, str) {
|
||
if (typeof arr == "string") {
|
||
return true;
|
||
} else {
|
||
let isShow = "";
|
||
isShow = arr.find((item) => {
|
||
let isHave = item.includes(str);
|
||
if (isHave) {
|
||
return isHave;
|
||
}
|
||
});
|
||
return isShow;
|
||
}
|
||
},
|
||
// 每页展示数改变
|
||
sizeChange(e) {
|
||
switch (this.activeName) {
|
||
case "in":
|
||
this.inParams.limit = e;
|
||
this.inParams.page = 1;
|
||
this.getInRules();
|
||
break;
|
||
case "out":
|
||
this.outParams.limit = e;
|
||
this.outParams.page = 1;
|
||
this.getOutRules();
|
||
break;
|
||
case "relation":
|
||
this.params.limit = e;
|
||
this.params.page = 1;
|
||
this.getRelation();
|
||
break;
|
||
}
|
||
},
|
||
// 当前页改变
|
||
currentChange(e) {
|
||
switch (this.activeName) {
|
||
case "in":
|
||
this.inParams.page = e;
|
||
this.getInRules();
|
||
break;
|
||
case "out":
|
||
this.outParams.page = e;
|
||
this.getOutRules();
|
||
break;
|
||
case "relation":
|
||
this.params.page = e;
|
||
this.getRelation();
|
||
break;
|
||
}
|
||
},
|
||
|
||
// 获取通用配置
|
||
getCommonData() {
|
||
this.commonData = JSON.parse(
|
||
localStorage.getItem("common_set_before")
|
||
);
|
||
document.title =
|
||
this.commonData.website_name + "-" + lang.security_group;
|
||
},
|
||
},
|
||
}).$mount(template);
|
||
typeof old_onload == "function" && old_onload();
|
||
};
|
||
})(window);
|