mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 19:36:46 +08:00
提交
This commit is contained in:
@@ -41,7 +41,10 @@ export const deleteTask = (ids) => http.get('/professional/task/delete/' + ids)
|
|||||||
//获取岗位
|
//获取岗位
|
||||||
export const getStdPosition = (obj) => http.get('/professional/compulsory/getStdPositionList', { params: obj })
|
export const getStdPosition = (obj) => http.get('/professional/compulsory/getStdPositionList', { params: obj })
|
||||||
//获取Band
|
//获取Band
|
||||||
export const getBandList = (obj) => http.get('/professional/compulsory/getBandList', { params: obj })
|
export const getBandList = (obj) => http.get('/professional/allocation/getBandList', { params: obj })
|
||||||
|
|
||||||
|
//获取Band
|
||||||
|
export const getOrgList = (obj) => http.get('/professional/allocation/getOrgList', { params: obj })
|
||||||
//获取职级
|
//获取职级
|
||||||
export const getQualsLevelCode = (obj) => http.get('/professional/compulsory/getQualsLevelCodeList', { params: obj })
|
export const getQualsLevelCode = (obj) => http.get('/professional/compulsory/getQualsLevelCodeList', { params: obj })
|
||||||
|
|
||||||
@@ -49,7 +52,7 @@ export const getQualsLevelCode = (obj) => http.get('/professional/compulsory/get
|
|||||||
export const downLoadImpTemplate = () => http.post(`/professional/allocation/downloadTemplate.do`)
|
export const downLoadImpTemplate = () => http.post(`/professional/allocation/downloadTemplate.do`)
|
||||||
|
|
||||||
//列表排序
|
//列表排序
|
||||||
export const toSortTask = (ids) => http.get(`/professional/task/sortTask/` + ids)
|
export const toSortTask = (ids, type) => http.get(`/professional/task/sortTask/${ids}?type=${type}`)
|
||||||
|
|
||||||
//删除学员
|
//删除学员
|
||||||
export const batchDelStudents = (ids) => http.get(`/professional/allocation/batchDelStudents/` + ids)
|
export const batchDelStudents = (ids) => http.get(`/professional/allocation/batchDelStudents/` + ids)
|
||||||
@@ -88,7 +91,7 @@ export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/growth/pageList
|
|||||||
|
|
||||||
|
|
||||||
// 是否按顺序学习
|
// 是否按顺序学习
|
||||||
export const openOrCloseSortSwitch = (growthId) => http.get('/professional/task/openOrCloseSortSwitch/' + growthId,)
|
export const openOrCloseSortSwitch = (growthId, type) => http.get(`/professional/task/openOrCloseSortSwitch/${growthId}?type=${type}`,)
|
||||||
|
|
||||||
// 新建专业力必修
|
// 新建专业力必修
|
||||||
export const saveGrowth = (data) => http.post('/professional/compulsory/saveGrowth', data)
|
export const saveGrowth = (data) => http.post('/professional/compulsory/saveGrowth', data)
|
||||||
|
|||||||
@@ -78,26 +78,41 @@
|
|||||||
class="chooseLeft"
|
class="chooseLeft"
|
||||||
style="display: grid; grid-template-columns: 250px auto"
|
style="display: grid; grid-template-columns: 250px auto"
|
||||||
>
|
>
|
||||||
<div style="border: 1px solid #f0f0f0">
|
<a-spin :spinning="treeSpin">
|
||||||
<div class="tree" style="margin: 10px 4px 0 10px">
|
<div
|
||||||
<a-tree
|
style="border: 1px solid #f0f0f0"
|
||||||
allow-clear
|
:style="{
|
||||||
tree-default-expand-all
|
height: screenHeight - 180 + 'px',
|
||||||
:tree-data="treeData"
|
overflowY: 'auto',
|
||||||
:load-data="onLoadData"
|
}"
|
||||||
v-model:selectedKeys="stuTreeSelectKeys"
|
>
|
||||||
v-model:expandedKeys="stuTreeExpandedKeys"
|
<a-input-search
|
||||||
:fieldNames="{
|
v-model:value="nameSearch.departName"
|
||||||
children: 'treeChildList',
|
placeholder="请输入部门名称"
|
||||||
key: 'id',
|
@search="getOrgList"
|
||||||
title: 'name',
|
/>
|
||||||
value: 'name',
|
|
||||||
}"
|
<div class="tree" style="margin: 10px 4px 0 10px">
|
||||||
@select="stuStuOrgSelect"
|
<a-tree
|
||||||
>
|
allow-clear
|
||||||
</a-tree>
|
tree-default-expand-all
|
||||||
|
:tree-data="treeData"
|
||||||
|
:load-data="onLoadData"
|
||||||
|
v-model:selectedKeys="stuTreeSelectKeys"
|
||||||
|
v-model:expandedKeys="stuTreeExpandedKeys"
|
||||||
|
:fieldNames="{
|
||||||
|
children: 'treeChildList',
|
||||||
|
key: 'id',
|
||||||
|
title: 'name',
|
||||||
|
value: 'name',
|
||||||
|
}"
|
||||||
|
@select="stuStuOrgSelect"
|
||||||
|
>
|
||||||
|
</a-tree>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</a-spin>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="tableBox tabb"
|
class="tableBox tabb"
|
||||||
style="margin: 0px 4px 0 10px; border: 1px solid #f0f0f0"
|
style="margin: 0px 4px 0 10px; border: 1px solid #f0f0f0"
|
||||||
@@ -271,18 +286,28 @@ const activeKey = ref(1);
|
|||||||
|
|
||||||
const nameSearch = ref({
|
const nameSearch = ref({
|
||||||
keyword: "",
|
keyword: "",
|
||||||
departId: "",
|
departName: "",
|
||||||
});
|
});
|
||||||
const stuTreeSelectKeys = ref([]);
|
const stuTreeSelectKeys = ref([]);
|
||||||
const stuTreeExpandedKeys = ref([]);
|
const stuTreeExpandedKeys = ref([]);
|
||||||
|
|
||||||
const treeData = ref([]);
|
const treeData = ref([]);
|
||||||
request(ORG_LIST, {
|
|
||||||
keyword: "",
|
|
||||||
}).then((res) => {
|
|
||||||
treeData.value = res.data;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
const treeSpin = ref(false);
|
||||||
|
const getOrgList = () => {
|
||||||
|
treeSpin.value = true;
|
||||||
|
request(ORG_LIST, {
|
||||||
|
keyword: nameSearch.value.departName,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
treeData.value = res.data;
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
treeSpin.value = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
getOrgList();
|
||||||
const stuColumns = ref([
|
const stuColumns = ref([
|
||||||
{
|
{
|
||||||
title: "姓名",
|
title: "姓名",
|
||||||
@@ -350,7 +375,9 @@ function stuStuOrgSelect(e) {
|
|||||||
|
|
||||||
const resetStu = () => {
|
const resetStu = () => {
|
||||||
nameSearch.value.keyword = "";
|
nameSearch.value.keyword = "";
|
||||||
stuTableRef.value.reset({ keyword: "", departId: "" });
|
nameSearch.value.departName = "";
|
||||||
|
stuTableRef.value.reset({ keyword: "", departId: "", departName: "" });
|
||||||
|
getOrgList();
|
||||||
};
|
};
|
||||||
//清空选择部门信息
|
//清空选择部门信息
|
||||||
const deleteDepSelect = () => {
|
const deleteDepSelect = () => {
|
||||||
@@ -360,13 +387,13 @@ const deleteDepSelect = () => {
|
|||||||
|
|
||||||
//确定添加授权
|
//确定添加授权
|
||||||
const confirm = () => {
|
const confirm = () => {
|
||||||
if(!stuSelectRows.value.length && !projectSelectRows.value.length){
|
if (!stuSelectRows.value.length && !projectSelectRows.value.length) {
|
||||||
message.warning('请选择学员')
|
message.warning("请选择学员");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
visiable.value = false;
|
visiable.value = false;
|
||||||
emit("confirm", stuSelectRows.value, projectSelectRows.value);
|
emit("confirm", stuSelectRows.value, projectSelectRows.value);
|
||||||
closeDrawer()
|
closeDrawer();
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
@@ -395,7 +422,7 @@ onMounted(() => {
|
|||||||
margin-left: 24px;
|
margin-left: 24px;
|
||||||
}
|
}
|
||||||
.CommonStudent {
|
.CommonStudent {
|
||||||
.ant-form-item{
|
.ant-form-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,16 +6,26 @@
|
|||||||
style="padding-left: 20px; margin-right: 0px"
|
style="padding-left: 20px; margin-right: 0px"
|
||||||
>
|
>
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-form-item title="归属组织" style="min-width: 170px">
|
<a-form-item title="Band职级" style="width: 193px">
|
||||||
|
<div class="select in">
|
||||||
|
<a-select
|
||||||
|
v-model:value="tableParam.organizationId"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:options="organizationOption"
|
||||||
|
allowClear
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
<!-- <a-form-item title="归属组织" style="min-width: 170px">
|
||||||
<div class="select in">
|
<div class="select in">
|
||||||
<OrgClass
|
<OrgClass
|
||||||
v-model:value="tableParam.organizationId"
|
v-model:value="tableParam.organizationId"
|
||||||
:placeName="'请选择归属组织'"
|
:placeName="'请选择归属组织'"
|
||||||
></OrgClass>
|
></OrgClass>
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item> -->
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col>
|
<!-- <a-col>
|
||||||
<a-form-item title="选择岗位" style="min-width: 170px">
|
<a-form-item title="选择岗位" style="min-width: 170px">
|
||||||
<div class="select in">
|
<div class="select in">
|
||||||
<PostSelect v-model:value="tableParam.stdPosition"> </PostSelect>
|
<PostSelect v-model:value="tableParam.stdPosition"> </PostSelect>
|
||||||
@@ -32,7 +42,7 @@
|
|||||||
></OfficeSelect>
|
></OfficeSelect>
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col> -->
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-form-item title="Band职级" style="width: 193px">
|
<a-form-item title="Band职级" style="width: 193px">
|
||||||
<div class="select in">
|
<div class="select in">
|
||||||
@@ -40,7 +50,6 @@
|
|||||||
v-model:value="tableParam.bandCode"
|
v-model:value="tableParam.bandCode"
|
||||||
placeholder="请选择Band职级"
|
placeholder="请选择Band职级"
|
||||||
:options="bandOption"
|
:options="bandOption"
|
||||||
notFoundContent="请先选择任职资格"
|
|
||||||
allowClear
|
allowClear
|
||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -299,6 +308,7 @@ import {
|
|||||||
allocationList,
|
allocationList,
|
||||||
addLearners,
|
addLearners,
|
||||||
getBandList,
|
getBandList,
|
||||||
|
getOrgList,
|
||||||
} from "@/api/growthpath";
|
} from "@/api/growthpath";
|
||||||
import GrowthCommonStudent from "./GrowthCommonStudent";
|
import GrowthCommonStudent from "./GrowthCommonStudent";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
@@ -352,6 +362,8 @@ const addSut = () => {
|
|||||||
const visibleName = ref([]);
|
const visibleName = ref([]);
|
||||||
// band职级选项
|
// band职级选项
|
||||||
const bandOption = ref([]);
|
const bandOption = ref([]);
|
||||||
|
// 归属组织选项
|
||||||
|
const organizationOption = ref([]);
|
||||||
// 加入方式选项
|
// 加入方式选项
|
||||||
const statusValues = ref([
|
const statusValues = ref([
|
||||||
{ value: "1", label: "系统加入" },
|
{ value: "1", label: "系统加入" },
|
||||||
@@ -368,7 +380,6 @@ const officeSelectChange = () => {
|
|||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
// 清空筛选band职级的值
|
// 清空筛选band职级的值
|
||||||
tableParam.value.bandCode = null;
|
tableParam.value.bandCode = null;
|
||||||
|
|
||||||
bandOption.value = res.data.data.map((item) => {
|
bandOption.value = res.data.data.map((item) => {
|
||||||
return {
|
return {
|
||||||
value: item,
|
value: item,
|
||||||
@@ -377,6 +388,35 @@ const officeSelectChange = () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
const getBandListData = () => {
|
||||||
|
getBandList({
|
||||||
|
growthId: props.growId,
|
||||||
|
}).then((res) => {
|
||||||
|
// 清空筛选band职级的值
|
||||||
|
tableParam.value.bandCode = null;
|
||||||
|
bandOption.value = res.data.data.map((item) => {
|
||||||
|
return {
|
||||||
|
value: item.bandCode,
|
||||||
|
label: item.bandCode,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const getorganizationOption = () => {
|
||||||
|
getOrgList({
|
||||||
|
growthId: props.growId,
|
||||||
|
}).then((res) => {
|
||||||
|
// 清空筛选band职级的值
|
||||||
|
organizationOption.value = res.data.data.map((item) => {
|
||||||
|
return {
|
||||||
|
value: item.orgId,
|
||||||
|
label: item.orgName,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
getorganizationOption();
|
||||||
|
getBandListData();
|
||||||
const tablecolumns = ref([
|
const tablecolumns = ref([
|
||||||
{
|
{
|
||||||
title: "姓名",
|
title: "姓名",
|
||||||
@@ -406,24 +446,24 @@ const tablecolumns = ref([
|
|||||||
className: "h",
|
className: "h",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "标准岗位",
|
// title: "标准岗位",
|
||||||
dataIndex: "stdPositionName",
|
// dataIndex: "stdPositionName",
|
||||||
key: "stdPositionName",
|
// key: "stdPositionName",
|
||||||
width: 170,
|
// width: 170,
|
||||||
align: "center",
|
// align: "center",
|
||||||
className: "h",
|
// className: "h",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
title: "任职资格等级",
|
// title: "任职资格等级",
|
||||||
dataIndex: "qualsLevelDesr",
|
// dataIndex: "qualsLevelDesr",
|
||||||
key: "qualsLevelDesr",
|
// key: "qualsLevelDesr",
|
||||||
width: 100,
|
// width: 100,
|
||||||
align: "center",
|
// align: "center",
|
||||||
className: "h",
|
// className: "h",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "Band职级",
|
title: "Band职级",
|
||||||
dataIndex: "bandCode",
|
dataIndex: "bandCode",
|
||||||
|
|||||||
@@ -467,7 +467,7 @@ export default {
|
|||||||
bg_check: false,
|
bg_check: false,
|
||||||
statusPostCreate: [],
|
statusPostCreate: [],
|
||||||
statusRankCreate: [],
|
statusRankCreate: [],
|
||||||
courseNum: "",
|
courseNum: "0",
|
||||||
isPublished: false,
|
isPublished: false,
|
||||||
matStudens: "",
|
matStudens: "",
|
||||||
elePublishedNum: 0, // 选修发布数量
|
elePublishedNum: 0, // 选修发布数量
|
||||||
@@ -496,6 +496,7 @@ export default {
|
|||||||
});
|
});
|
||||||
const handleOut = () => {
|
const handleOut = () => {
|
||||||
state.bg_check = true;
|
state.bg_check = true;
|
||||||
|
state.courseNum = 0;
|
||||||
};
|
};
|
||||||
const releaseLearnPath = (item) => {
|
const releaseLearnPath = (item) => {
|
||||||
dialog({
|
dialog({
|
||||||
@@ -686,7 +687,7 @@ export default {
|
|||||||
return message.error("请输入任职资格等级");
|
return message.error("请输入任职资格等级");
|
||||||
}
|
}
|
||||||
if (state.courseNum !== 0 && !state.courseNum) {
|
if (state.courseNum !== 0 && !state.courseNum) {
|
||||||
return message.error("请输入完成选修数量");
|
state.courseNum = 0;
|
||||||
}
|
}
|
||||||
if (state.editId && state.isPublished) {
|
if (state.editId && state.isPublished) {
|
||||||
if (state.courseNum > state.elePublishedNum) {
|
if (state.courseNum > state.elePublishedNum) {
|
||||||
|
|||||||
@@ -232,7 +232,7 @@
|
|||||||
<a-radio-group
|
<a-radio-group
|
||||||
button-style="solid"
|
button-style="solid"
|
||||||
v-model:value="courseType"
|
v-model:value="courseType"
|
||||||
@change="getListTask"
|
@change="tabsChange"
|
||||||
>
|
>
|
||||||
<a-radio-button value="1">必修</a-radio-button>
|
<a-radio-button value="1">必修</a-radio-button>
|
||||||
<a-radio-button value="2">选修</a-radio-button>
|
<a-radio-button value="2">选修</a-radio-button>
|
||||||
@@ -241,7 +241,7 @@
|
|||||||
<div class="switch">
|
<div class="switch">
|
||||||
<a-switch
|
<a-switch
|
||||||
@change="sortSwitchChange"
|
@change="sortSwitchChange"
|
||||||
v-model:checked="basicData.sortSwitch"
|
v-model:checked="sortSwitch"
|
||||||
/>
|
/>
|
||||||
<div style="margin-left: 5px">是否按顺序学习</div>
|
<div style="margin-left: 5px">是否按顺序学习</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -792,6 +792,7 @@ export default {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
homeworkModelVisible: false,
|
homeworkModelVisible: false,
|
||||||
activeKey: "1",
|
activeKey: "1",
|
||||||
|
sortSwitch: false,
|
||||||
FSvisible: false,
|
FSvisible: false,
|
||||||
facestudent: false,
|
facestudent: false,
|
||||||
commonData: null,
|
commonData: null,
|
||||||
@@ -856,7 +857,7 @@ export default {
|
|||||||
// 开启加载弹窗,getListTask请求完成后会关闭弹框
|
// 开启加载弹窗,getListTask请求完成后会关闭弹框
|
||||||
state.spinning = true;
|
state.spinning = true;
|
||||||
const listIds = state.listTaskData.map((item) => item.id).join(",");
|
const listIds = state.listTaskData.map((item) => item.id).join(",");
|
||||||
toSortTask(listIds).then((res) => {
|
toSortTask(listIds, state.courseType).then((res) => {
|
||||||
getListTask();
|
getListTask();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -1040,6 +1041,14 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
// 必修选修切换
|
||||||
|
const tabsChange = () => {
|
||||||
|
console.log(state.sortSwitch, state.courseType);
|
||||||
|
state.courseType === "1"
|
||||||
|
? (state.sortSwitch = state.basicData.sortSwitch)
|
||||||
|
: (state.sortSwitch = state.basicData.eleSortSwitch);
|
||||||
|
getListTask();
|
||||||
|
};
|
||||||
const releaseLearnPath = () => {
|
const releaseLearnPath = () => {
|
||||||
dialog({
|
dialog({
|
||||||
content: "确定发布当前任务?",
|
content: "确定发布当前任务?",
|
||||||
@@ -1341,6 +1350,7 @@ export default {
|
|||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
state.basicData = res.data.data;
|
state.basicData = res.data.data;
|
||||||
state.basicData.createTime = state.basicData.createTime.split("T")[0];
|
state.basicData.createTime = state.basicData.createTime.split("T")[0];
|
||||||
|
state.sortSwitch = state.basicData.sortSwitch;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//概览
|
//概览
|
||||||
@@ -1387,17 +1397,29 @@ export default {
|
|||||||
// 是否自动学习开关
|
// 是否自动学习开关
|
||||||
const sortSwitchChange = (val) => {
|
const sortSwitchChange = (val) => {
|
||||||
dialog({
|
dialog({
|
||||||
content: `请确认是否${val ? "启用" : "停用"}按顺序学习?`,
|
content: `
|
||||||
|
${
|
||||||
|
val
|
||||||
|
? "开启后系统将根据排序自动生成学习顺序,"
|
||||||
|
: "关闭后系统将自动重置当前学习顺序,"
|
||||||
|
}
|
||||||
|
请确认是否${val ? "开启" : "关闭"}?
|
||||||
|
`,
|
||||||
ok: () => {
|
ok: () => {
|
||||||
// 开启加载弹窗,getListTask请求完成后会关闭弹框
|
// 开启加载弹窗,getListTask请求完成后会关闭弹框
|
||||||
state.spinning = true;
|
state.spinning = true;
|
||||||
openOrCloseSortSwitch(state.routerId).then((res) => {
|
openOrCloseSortSwitch(state.routerId, state.courseType).then(
|
||||||
message.success("操作成功");
|
(res) => {
|
||||||
getListTask();
|
message.success("操作成功");
|
||||||
});
|
getListTask();
|
||||||
|
state.courseType == "1"
|
||||||
|
? (state.basicData.sortSwitch = state.sortSwitch)
|
||||||
|
: (state.basicData.eleSortSwitch = state.sortSwitch);
|
||||||
|
}
|
||||||
|
);
|
||||||
},
|
},
|
||||||
close: () => {
|
close: () => {
|
||||||
state.basicData.sortSwitch = !state.basicData.sortSwitch;
|
state.sortSwitch = !state.sortSwitch;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -1411,6 +1433,7 @@ export default {
|
|||||||
resize,
|
resize,
|
||||||
releaseLearnPath,
|
releaseLearnPath,
|
||||||
sortSwitchChange,
|
sortSwitchChange,
|
||||||
|
tabsChange,
|
||||||
showStudent,
|
showStudent,
|
||||||
showTest,
|
showTest,
|
||||||
showOnline,
|
showOnline,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ module.exports = defineConfig({
|
|||||||
},
|
},
|
||||||
proxy: {
|
proxy: {
|
||||||
"/professional": {
|
"/professional": {
|
||||||
target: 'http://192.168.66.211:32002',
|
target: 'http://192.168.31.211:32002',
|
||||||
// target: 'http://192.168.50.195:32002',
|
// target: 'http://192.168.50.195:32002',
|
||||||
// target: 'http://192.168.86.195:32002',
|
// target: 'http://192.168.86.195:32002',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user