添加子平台ip限制

This commit is contained in:
熊丽君
2022-01-25 10:35:50 +08:00
parent 725f176740
commit c62c4a9755
4 changed files with 235 additions and 2 deletions

View File

@ -0,0 +1,42 @@
import request from '@/utils/request'
// 科研机构信息
export function researchList(data) {
return request({
url: '/admin/v1/manage/research',
method: 'post',
data,
})
}
// 科研机构筛选信息
export function researchSelect(data) {
return request({
url: '/admin/v1/manage/research/select',
method: 'post',
data,
})
}
// 科研机构信息添加
export function researchAdd(data) {
return request({
url: '/admin/v1/manage/research/add',
method: 'post',
data,
})
}
// 科研机构信息修改
export function researchEdit(data) {
return request({
url: '/admin/v1/manage/research/edit',
method: 'post',
data,
})
}
// 科研机构详细信息
export function researchDetail(data) {
return request({
url: '/admin/v1/manage/research/detail',
method: 'post',
data,
})
}

View File

@ -0,0 +1,156 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
label-width="68px"
>
<el-form-item label="机构名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入机构名称"
clearable
size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="审核状态" prop="examine_status">
<el-select
v-model="queryParams.examine_status"
placeholder="审核状态"
clearable
size="small"
style="width: 240px"
@clear="delete queryParams.examine_status"
>
<el-option label="审核中" :value="1" />
<el-option label="审核通过" :value="2" />
<el-option label="审核拒绝" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="所属站点" prop="tenant_id" v-if="is_super">
<SiteOptions v-model="queryParams" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="userList">
<el-table-column label="数据编号" align="center" width="150" prop="id" />
<el-table-column label="机构名称" align="center" prop="name" />
<el-table-column
label="统一社会信用代码"
align="center"
prop="industrys"
/>
<el-table-column
label="主要研究方向"
align="center"
prop="research_name"
/>
<el-table-column
label="主要研究领域"
align="center"
prop="laboratory_name"
/>
<el-table-column label="所在地" align="center" prop="address" />
<el-table-column label="站点" align="center" prop="area" />
<el-table-column label="申请时间" align="center" prop="created_at">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.created_at) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
:disabled="scope.row.examine_status != 1"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleDetail(scope.row.id)"
>审核</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.page_num"
:limit.sync="queryParams.page_size"
@pagination="getList"
/>
</div>
</template>
<script>
import { researchList } from "@/api/dataList/research";
export default {
data() {
return {
is_super: this.$store.getters.is_super,
// 遮罩层
loading: true,
// 总条数
total: 0,
// 机构表格数据
userList: null,
// 查询参数
queryParams: {
page_num: 1,
page_size: 10,
name: undefined,
examine_status: undefined,
tenant_id: undefined,
},
};
},
methods: {
/** 查询机构列表 */
getList() {
this.loading = true;
researchList(this.queryParams).then((response) => {
// this.userList = response.data.data;
this.total = response.data.count;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.page_num = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
},
handleDetail(id) {
console.log(id);
this.$router.push({
path: "/examine/expertDetail",
query: { id },
});
},
},
created() {
this.getList();
},
};
</script>

View File

@ -56,6 +56,7 @@
prop="contact_mobile"
align="center"
/>
<el-table-column label="ip地址" prop="ip" align="center" />
<el-table-column label="域名" prop="domain" align="center" />
<el-table-column label="所在地" prop="area" align="center" />
<el-table-column label="创建时间" prop="created_at" align="center">
@ -125,8 +126,19 @@
<el-form-item label="子系统名称:" prop="name">
<el-input v-model="form.name" placeholder="请输入子系统名称" />
</el-form-item>
<el-form-item label="ip地址:" prop="ip">
<el-input
v-model="form.ip"
placeholder="请输入ip地址"
:disabled="form.id ? true : false"
/>
</el-form-item>
<el-form-item label="域名:" prop="domain">
<el-input v-model="form.domain" placeholder="请输入域名" />
<el-input
v-model="form.domain"
placeholder="请输入域名"
:disabled="form.id ? true : false"
/>
</el-form-item>
<el-form-item label="所在地:" required>
<el-row type="flex" justify="space-between">
@ -251,6 +263,19 @@ import { areaList } from "@/api/config";
import { resetUserPwd } from "@/api/system/user";
export default {
data() {
var validateIp = (rule, value, callback) => {
if (value === "" || typeof value === "undefined" || value == null) {
callback(new Error("请输入正确的IP地址"));
} else {
const reg =
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
if (!reg.test(value) && value !== "") {
callback(new Error("请输入正确的IP地址"));
} else {
callback();
}
}
};
return {
loading: true,
showSearch: true,
@ -292,6 +317,14 @@ export default {
name: [
{ required: true, message: "子系统名称不能为空", trigger: "blur" },
],
ip: [
{
required: true,
message: "请输入正确的IP地址",
validator: validateIp,
trigger: "blur",
},
],
domain: [{ required: true, message: "域名不能为空", trigger: "blur" }],
province: [
{
@ -351,6 +384,7 @@ export default {
this.form = {
id: undefined,
name: undefined,
ip: undefined,
domain: undefined,
province: "",
city: "",

View File

@ -35,7 +35,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://192.168.0.142:8000`,
// target: `http://192.168.0.142:8000`,
target: `http://hf.zky.cn:8000`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '',