Commit 499e5d1c authored by p-wanping.song's avatar p-wanping.song

添加修改任务和删除任务接口

parent 541a11ae
import Vue from 'vue' import Vue from "vue";
import VueRouter from 'vue-router' import VueRouter from "vue-router";
Vue.use(VueRouter) Vue.use(VueRouter);
const routes = [{
path: '/',
redirect: '/login'
},
// 登录页
{
path: '/login',
name: 'login',
component: () => import('../views/login.vue'),
},
// 我的地盘页面
{
path: '/my',
name: 'my',
component: () => import('../views/my'),
},
{
path: '/my-role',
name: 'my-role',
meta: {
title: '我的权限'
},
component: () => import('@/views/my/role')
},
{
path: '/my-reset-pas',
name: 'my-reset-pas',
meta: {
title: '修改密码'
},
component: () => import('@/views/my/resetPas')
},
// 安全工作台页面
{
path: '/save-workbench',
name: 'save-workbench',
component: () => import('../views/saveWorkbench'),
},
// 创建任务页面
{
path: '/create-task',
name: 'create-task',
component: () => import('../views/createTask'),
},
// 选择任务类型
{
path: '/task-type',
name: 'task-type',
component: () => import('../views/createTask/taskSubPage/taskType.vue'),
},
// 选择作业任务
{
path: '/work-task',
name: 'work-task',
component: () => import('../views/createTask/taskSubPage/workTask'),
},
// 选择作业综合班
{
path: '/work-class',
name: 'work-class',
component: () => import('../views/createTask/taskSubPage/workClass'),
},
// 选择作业综合组
{
path: '/work-group',
name: 'work-group',
component: () => import('../views/createTask/taskSubPage/workGroup'),
},
// 选择作业负责人
{
path: '/work-leader',
name: 'work-leader',
component: () => import('../views/createTask/taskSubPage/workLeader'),
},
// 选择作业其他人员
{
path: '/work-other-per',
name: 'work-other-per',
component: () => import('../views/createTask/taskSubPage/workOtherPer'),
},
// 选择微流域
{
path: '/micro-watersh',
name: 'micro-watersh',
component: () => import('../views/createTask/taskSubPage/microWatersh'),
},
// 选择管段
{
path: '/pipe-section',
name: 'pipe-section',
component: () => import('../views/createTask/taskSubPage/pipeSection'),
},
// 选择车牌号
{
path: '/license-plate',
name: 'license-plate',
component: () => import('../views/createTask/taskSubPage/licensePlate'),
},
// 选择手杆爬行器
{
path: '/work-device',
name: 'work-device',
component: () => import('../views/createTask/taskSubPage/workDevice'),
},
const routes = [
{
path: "/",
redirect: "/login"
},
// 登录页
{
path: "/login",
name: "login",
component: () => import("../views/login.vue")
},
// 我的地盘页面
{
path: "/my",
name: "my",
component: () => import("../views/my")
},
{
path: "/my-role",
name: "my-role",
meta: {
title: "我的权限"
},
component: () => import("@/views/my/role")
},
{
path: "/my-reset-pas",
name: "my-reset-pas",
meta: {
title: "修改密码"
},
component: () => import("@/views/my/resetPas")
},
// 安全工作台页面
{
path: "/save-workbench",
name: "save-workbench",
component: () => import("../views/saveWorkbench")
},
// 创建任务页面
{
path: "/create-task",
name: "create-task",
component: () => import("../views/createTask")
},
// 选择任务类型
{
path: "/task-type",
name: "task-type",
component: () => import("../views/createTask/taskSubPage/taskType.vue")
},
// 选择作业任务
{
path: "/work-task",
name: "work-task",
component: () => import("../views/createTask/taskSubPage/workTask")
},
// 选择作业综合班
{
path: "/work-class",
name: "work-class",
component: () => import("../views/createTask/taskSubPage/workClass")
},
// 选择作业综合组
{
path: "/work-group",
name: "work-group",
component: () => import("../views/createTask/taskSubPage/workGroup")
},
// 选择作业负责人
{
path: "/work-leader",
name: "work-leader",
component: () => import("../views/createTask/taskSubPage/workLeader")
},
// 选择作业其他人员
{
path: "/work-other-per",
name: "work-other-per",
component: () => import("../views/createTask/taskSubPage/workOtherPer")
},
// 选择微流域
{
path: "/micro-watersh",
name: "micro-watersh",
component: () => import("../views/createTask/taskSubPage/microWatersh")
},
// 选择管段
{
path: "/pipe-section",
name: "pipe-section",
component: () => import("../views/createTask/taskSubPage/pipeSection")
},
// 选择车牌号
{
path: "/license-plate",
name: "license-plate",
component: () => import("../views/createTask/taskSubPage/licensePlate")
},
// 选择手杆爬行器
{
path: "/work-device",
name: "work-device",
component: () => import("../views/createTask/taskSubPage/workDevice")
},
//风险项目新增 //风险项目新增
{ {
path: '/riskAdd', path: "/riskAdd",
name: 'riskAdd', name: "riskAdd",
component: () => import('../views/riskProject/add'), component: () => import("../views/riskProject/add")
}, },
//风险项目管理 //风险项目管理
{ {
path: '/riskManage', path: "/riskManage",
name: 'riskManage', name: "riskManage",
component: () => import('../views/riskProject/manage'), component: () => import("../views/riskProject/manage")
}, },
//风险评估 //风险评估
{ {
path: '/riskAssess', path: "/riskAssess",
name: 'riskAssess', name: "riskAssess",
component: () => import('../views/riskProject/assess'), component: () => import("../views/riskProject/assess")
}, },
//风险审批 //风险审批
{ {
path: '/riskApprove', path: "/riskApprove",
name: 'riskApprove', name: "riskApprove",
component: () => import('../views/riskProject/approve'), component: () => import("../views/riskProject/approve")
}, },
//风险台账 //风险台账
{ {
path: '/riskLedger', path: "/riskLedger",
name: 'riskLedger', name: "riskLedger",
component: () => import('../views/riskProject/ledger'), component: () => import("../views/riskProject/ledger")
}, },
//任务单 //任务单
{ {
path: '/riskTaskList', path: "/riskTaskList",
name: 'riskTaskList', name: "riskTaskList",
component: () => import('../views/riskProject/add/taskList.vue'), component: () => import("../views/riskProject/add/taskList.vue")
}, },
//固有风险列表 //固有风险列表
{ {
path: '/riskInherent', path: "/riskInherent",
name: 'riskInherent', name: "riskInherent",
component: () => import('../views/riskProject/add/inherentRisks.vue'), component: () => import("../views/riskProject/add/inherentRisks.vue")
}, },
//新增固有风险 //新增固有风险
{ {
path: '/addInherent', path: "/addInherent",
name: 'addInherent', name: "addInherent",
component: () => import('../views/riskProject/add/addInherent.vue'), component: () => import("../views/riskProject/add/addInherent.vue")
}, },
{//编辑固有风险 {
path: '/addCurrent', //编辑固有风险
name: 'addCurrent', path: "/addCurrent",
component: () => import('../views/riskProject/add/addCurrent.vue'), name: "addCurrent",
}, component: () => import("../views/riskProject/add/addCurrent.vue")
{//新增现状风险 },
path: '/addPresent', {
name: 'addPresent', //新增现状风险
component: () => import('../views/riskProject/add/addPresent.vue'), path: "/addPresent",
}, name: "addPresent",
{//现状风险详情 component: () => import("../views/riskProject/add/addPresent.vue")
path: '/presentDetail', },
name: 'presentDetail', {
component: () => import('../views/riskProject/taskLedger/presentDetail.vue'), //现状风险详情
}, path: "/presentDetail",
{//风险评估列表详情页 name: "presentDetail",
path: '/riskBigDetail', component: () => import("../views/riskProject/taskLedger/presentDetail.vue")
name: 'riskBigDetail', },
component: () => import('../views/riskProject/assess/riskBigDetail.vue'), {
}, //风险评估列表详情页
{//执行情况管理 path: "/riskBigDetail",
path: '/riskExecution', name: "riskBigDetail",
name: 'riskExecution', component: () => import("../views/riskProject/assess/riskBigDetail.vue")
component: () => import('../views/riskProject/execution/index.vue'), },
}, {
{//四色图 //执行情况管理
path: '/riskView', path: "/riskExecution",
name: 'riskView', name: "riskExecution",
component: () => import('../views/drawCanvas/riskView.vue'), component: () => import("../views/riskProject/execution/index.vue")
}, },
{//任务台账 {
path: '/taskLedger', //四色图
name: 'taskLedger', path: "/riskView",
component: () => import('../views/riskProject/taskLedger/index.vue'), name: "riskView",
}, component: () => import("../views/drawCanvas/riskView.vue")
{//任务台账 },
path: '/taskDetail', {
name: 'taskDetail', //任务台账
component: () => import('../views/riskProject/taskLedger/taskDetail.vue'), path: "/taskLedger",
}, name: "taskLedger",
{//任务台账 component: () => import("../views/riskProject/taskLedger/index.vue")
path: '/resultPage', },
name: 'resultPage', {
component: () => import('../views/riskProject/add/resultPage.vue'), //任务台账
}, path: "/taskDetail",
{//任务台账 name: "taskDetail",
path: '/riskAppvoreText', component: () => import("../views/riskProject/taskLedger/taskDetail.vue")
name: 'riskAppvoreText', },
component: () => import('../views/riskProject/add/riskAppvoreText.vue'), {
} //任务台账
] path: "/resultPage",
name: "resultPage",
component: () => import("../views/riskProject/add/resultPage.vue")
},
{
//任务台账
path: "/riskAppvoreText",
name: "riskAppvoreText",
component: () => import("../views/riskProject/add/riskAppvoreText.vue")
}
];
const router = new VueRouter({ const router = new VueRouter({
mode: 'history', mode: "history",
base: process.env.BASE_URL, base: process.env.BASE_URL,
routes routes
}) });
export default router export default router;
import request from '@/utils/axios' import request from "@/utils/axios";
/*get请求*/ /*get请求*/
export function getFun(url,params) { export function getFun(url, params) {
return request({ return request({
url: url, url: url,
method: 'get', method: "get",
params params
}) });
} }
/* post请求 */ /* post请求 */
export function postFun(url,data) { export function postFun(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: "post",
data data
}) });
}
/* delete请求 */
export function deleteFun(url, params, data) {
return request({
url: url,
method: "delete",
params,
data
});
}
export function putFun(url, data) {
return request({
url: url,
method: "put",
data
});
} }
/*文件下载get请求*/ /*文件下载get请求*/
export function fileDownFun(url,params) { export function fileDownFun(url, params) {
return request({ return request({
url:url, url: url,
method: 'GET', method: "GET",
params, params,
responseType: 'blob'/*下载文件必填项*/ responseType: "blob" /*下载文件必填项*/
}) });
} }
/*文件下载post请求*/ /*文件下载post请求*/
export function fileDownFuns(url,data) { export function fileDownFuns(url, data) {
return request({ return request({
url: url, url: url,
method: 'POST', method: "POST",
data, data,
responseType: 'blob'/*下载文件必填项*/ responseType: "blob" /*下载文件必填项*/
}) });
} }
\ No newline at end of file
...@@ -158,19 +158,14 @@ ...@@ -158,19 +158,14 @@
/> />
已采取的管控措施 已采取的管控措施
</div> </div>
<van-field label="技术措施"> <van-field
<template #input> label="技术措施"
<van-field
v-model="form.measuresProject" v-model="form.measuresProject"
name="measuresProject" name="measuresProject"
label=""
type="textarea" type="textarea"
rows="3" rows="3"
autosize autosize
placeholder="请输入" placeholder="请输入">
style="padding-left: 0;padding-top: 0;"
/>
</template>
</van-field> </van-field>
<van-field name="measuresProjectFile[]" label="技术措施附件"> <van-field name="measuresProjectFile[]" label="技术措施附件">
<template #input> <template #input>
...@@ -205,19 +200,13 @@ ...@@ -205,19 +200,13 @@
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<van-field label="管理措施"> <van-field label="管理措施"
<template #input>
<van-field
v-model="form.measuresAdministration" v-model="form.measuresAdministration"
name="measuresAdministration" name="measuresAdministration"
label=""
type="textarea" type="textarea"
rows="3" rows="3"
autosize autosize
placeholder="请输入" placeholder="请输入">
style="padding-left: 0;padding-top: 0;"
/>
</template>
</van-field> </van-field>
<van-field name="measuresAdministrationFile[]" label="管理措施附件"> <van-field name="measuresAdministrationFile[]" label="管理措施附件">
<template #input> <template #input>
...@@ -252,19 +241,13 @@ ...@@ -252,19 +241,13 @@
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<van-field label="应急措施"> <van-field label="应急措施"
<template #input>
<van-field
v-model="form.measuresEmergency" v-model="form.measuresEmergency"
name="measuresEmergency" name="measuresEmergency"
label=""
type="textarea" type="textarea"
rows="3" rows="3"
autosize autosize
placeholder="请输入" placeholder="请输入">
style="padding-left: 0;padding-top: 0;"
/>
</template>
</van-field> </van-field>
<van-field name="measuresEmergencyFile[]" label="应急措施附件"> <van-field name="measuresEmergencyFile[]" label="应急措施附件">
<template #input> <template #input>
...@@ -580,19 +563,6 @@ export default { ...@@ -580,19 +563,6 @@ export default {
SelectList, SelectList,
selectFloor selectFloor
}, },
beforeRouteEnter(to, from, next) {
if (from.name == "addCurrent") {
sessionStorage.setItem("presentForm", "");
sessionStorage.setItem("level", "");
}
next();
},
beforeRouteLeave(to, from, next) {
if (to.name != "riskInherent") {
sessionStorage.setItem("presentForm", JSON.stringify(this.form));
}
next();
},
data() { data() {
return { return {
loadingStatus: false, loadingStatus: false,
...@@ -685,13 +655,15 @@ export default { ...@@ -685,13 +655,15 @@ export default {
this.existingId = this.$route.params.existingId; this.existingId = this.$route.params.existingId;
this.inherentId = this.form.inherentId = this.inherentId = this.form.inherentId =
this.$route.params.inherentId || sessionStorage.getItem("inherentId"); this.$route.params.inherentId || sessionStorage.getItem("inherentId");
this.postReturnEcho();
}, },
mounted() { mounted() {
if (sessionStorage.getItem("presentForm") != "") { if (sessionStorage.getItem("presentForm")) {
this.form = JSON.parse(sessionStorage.getItem("presentForm")); this.form = JSON.parse(sessionStorage.getItem("presentForm"));
this.form.level = sessionStorage.getItem("level"); this.form.level = sessionStorage.getItem("level");
sessionStorage.removeItem('presentForm')
}else{
this.postReturnEcho();
} }
}, },
methods: { methods: {
...@@ -704,7 +676,6 @@ export default { ...@@ -704,7 +676,6 @@ export default {
if (item.measuresUserName == e) if (item.measuresUserName == e)
this.form.measuresUserPhone = item.measuresUserPhone; this.form.measuresUserPhone = item.measuresUserPhone;
}); });
console.log(e, 1111);
}); });
}, },
measuresDeptNameChange(e) { measuresDeptNameChange(e) {
...@@ -778,12 +749,22 @@ export default { ...@@ -778,12 +749,22 @@ export default {
this.form.factor = res.data.factor; this.form.factor = res.data.factor;
this.form.type = res.data.type; this.form.type = res.data.type;
this.form.planId = res.data.planId; this.form.planId = res.data.planId;
this.form.measuresProject = res.data.measuresProject;
this.form.measuresAdministration = res.data.measuresAdministration; /* 下面这些值还要可以输入,用上面的方法赋值后没有办法输入新的值!还不知道为啥 */
this.form.measuresDeptName = res.data.measuresDeptName; const {measuresProject,measuresEmergency,measuresAdministration,measuresDeptName,measuresUserName,measuresUserPhone,presenceLocation} = res.data
this.form.measuresUserName = res.data.measuresUserName; const formValue = {
this.form.measuresUserPhone = res.data.measuresUserPhone; measuresProject,
this.$forceUpdate(); measuresEmergency,
measuresAdministration,
measuresDeptName,
measuresUserName,
measuresUserPhone,
presenceLocation
}
this.form = {
...this.form,
...formValue
}
}) })
.catch(() => { .catch(() => {
this.$toast.clear(); this.$toast.clear();
...@@ -950,6 +931,7 @@ export default { ...@@ -950,6 +931,7 @@ export default {
}, },
//开始测评 //开始测评
goResultPage() { goResultPage() {
sessionStorage.setItem("presentForm", JSON.stringify(this.form));
this.$router.push({ this.$router.push({
name: "resultPage", name: "resultPage",
params: { params: {
......
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
<van-field <van-field
readonly readonly
required required
name="deptName" name="createDeptName"
:value="form.deptName" :value="form.createDeptName"
label="创建单位" label="创建单位"
placeholder="请输入" placeholder="请输入"
:rules="[{ required: true, message: '创建单位不能为空' }]" :rules="[{ required: true, message: '创建单位不能为空' }]"
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
<van-field <van-field
required required
readonly
name="projectName" name="projectName"
:value="form.projectName" :value="form.projectName"
label="关联项目" label="关联项目"
...@@ -65,6 +66,7 @@ ...@@ -65,6 +66,7 @@
<van-field <van-field
required required
readonly
name="buildingNames" name="buildingNames"
:value="form.buildingNames" :value="form.buildingNames"
label="评估楼栋" label="评估楼栋"
...@@ -84,6 +86,7 @@ ...@@ -84,6 +86,7 @@
</div> </div>
<van-field <van-field
required required
readonly
name="deptName" name="deptName"
:value="form.deptName" :value="form.deptName"
label="评估小组选择" label="评估小组选择"
...@@ -116,6 +119,7 @@ ...@@ -116,6 +119,7 @@
<van-field <van-field
:value="form.startTime" :value="form.startTime"
readonly
required required
name="startTime" name="startTime"
label="任务开始时间" label="任务开始时间"
...@@ -126,6 +130,7 @@ ...@@ -126,6 +130,7 @@
<van-field <van-field
:value="form.endTime" :value="form.endTime"
readonly
required required
name="endTime" name="endTime"
label="任务结束时间" label="任务结束时间"
...@@ -287,7 +292,7 @@ import { ...@@ -287,7 +292,7 @@ import {
getLocalUserInfo, getLocalUserInfo,
setLocalUserInfo setLocalUserInfo
} from "@/utils/userInfo"; } from "@/utils/userInfo";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun,putFun } from "@/service/table.js";
export default { export default {
name: "risk-add", name: "risk-add",
...@@ -364,18 +369,40 @@ export default { ...@@ -364,18 +369,40 @@ export default {
}; };
}, },
created() { created() {
var userInfo = getUserInfo(); if(this.$route.query.id){
this.form.userId = userInfo.userId; this.text = '编辑'
this.form.userName = userInfo.nickName; this.getDetail(this.$route.query.id)
this.form.deptId = userInfo.dept.deptId; }else{
this.form.deptName = userInfo.dept.deptName; var userInfo = getUserInfo();
this.form.userId = userInfo.userId;
this.form.userName = userInfo.nickName;
this.form.deptId = userInfo.dept.deptId;
this.form.deptName = userInfo.dept.deptName;
this.form.createDeptName = userInfo.dept.deptName
}
getFun(`/risk/plan/project/list`).then(res => { getFun(`/risk/plan/project/list`).then(res => {
this.columnsSource = res.data; this.columnsSource = res.data;
}); });
// this.getList();
}, },
methods: { methods: {
getDetail(id){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
getFun(`/risk/plan/details/${id}`)
.then(res => {
this.$toast.clear()
this.form = res.data.detailsDto;
this.form.userName= this.form.createUserName
})
.catch(() => {
this.$toast.clear()
this.$toast.fail("加载失败,请稍后再试");
});
},
checkAll() { checkAll() {
this.$refs.checkboxGroup.toggleAll(true); this.$refs.checkboxGroup.toggleAll(true);
}, },
...@@ -520,7 +547,15 @@ export default { ...@@ -520,7 +547,15 @@ export default {
// }); // });
this.loadingStatus = true; this.loadingStatus = true;
let url = "/risk/plan"; let url = "/risk/plan";
postFun(url, this.form) const fetch = ()=>{
if(this.$route.query.id){
return putFun(url,this.form)
}else{
delete this.form.createDeptName
return postFun(url,this.form)
}
}
fetch()
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.$toast.success({ this.$toast.success({
...@@ -535,6 +570,7 @@ export default { ...@@ -535,6 +570,7 @@ export default {
this.$toast.fail("提交失败,请稍后再试"); this.$toast.fail("提交失败,请稍后再试");
this.loadingStatus = false; this.loadingStatus = false;
}); });
this.$toast.clear(); this.$toast.clear();
}, },
......
...@@ -382,7 +382,7 @@ ...@@ -382,7 +382,7 @@
<div>任务完成</div> <div>任务完成</div>
</div> --> </div> -->
</div> </div>
<div <!-- <div
v-show="pathAuth == 'riskManage' && status == 0" v-show="pathAuth == 'riskManage' && status == 0"
style="display: flex; style="display: flex;
justify-content: space-around; justify-content: space-around;
...@@ -410,7 +410,7 @@ ...@@ -410,7 +410,7 @@
<div style="font-size: 22px;"><van-icon name="cross" /></div> <div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>删除任务</div> <div>删除任务</div>
</div> </div>
</div> </div> -->
<div <div
v-show="pathAuth == 'riskApprove0' && status == 2" v-show="pathAuth == 'riskApprove0' && status == 2"
style="display: flex; style="display: flex;
......
...@@ -73,6 +73,12 @@ ...@@ -73,6 +73,12 @@
<van-button round type="primary" @click="goDetail(item)" <van-button round type="primary" @click="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button v-if="active==0" round type="info" @click="toEdit(item)"
>编辑</van-button
>
<van-button v-if="active==0" round type="danger" @click="toDelete(item)"
>删除</van-button
>
<!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0" <!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
>确认</van-button >确认</van-button
> --> > -->
...@@ -108,7 +114,8 @@ ...@@ -108,7 +114,8 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format"; import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun,deleteFun } from "@/service/table.js";
import { Toast ,Dialog} from 'vant';
// import { postriskConList } from "@/service/risk"; // import { postriskConList } from "@/service/risk";
export default { export default {
name: "risk-confirme", name: "risk-confirme",
...@@ -203,6 +210,31 @@ export default { ...@@ -203,6 +210,31 @@ export default {
sessionStorage.setItem("buildingId", ""); sessionStorage.setItem("buildingId", "");
this.showIndex = null; this.showIndex = null;
}, },
/* 编辑 */
toEdit(data){
this.$router.push({
name:'riskAdd',
query:{
id:data.id
}
})
},
/* 删除 */
toDelete(data){
Dialog.confirm({
title: '提示',
message: '是否确认删除?'
}).then(() => {
// on confirm
deleteFun('/risk/plan/'+data.id).then(res=>{
Toast.success('删除成功')
this.postList();
})
}).catch(() => {
// on cancel
Toast.fail('删除失败')
});
},
// 确认 // 确认
goConfirm(data) { goConfirm(data) {
this.$router.push({ this.$router.push({
......
...@@ -10,6 +10,7 @@ module.exports = { ...@@ -10,6 +10,7 @@ module.exports = {
//配置跨域 //配置跨域
"/app-api": { "/app-api": {
target: "http://192.168.4.232:8080/", //这里是后台的地址 target: "http://192.168.4.232:8080/", //这里是后台的地址
// target: "http://192.168.10.137:8080/", //这里是后台的地址
// target: 'http://192.168.15.124:8080/', //这里是杨帆的地址 // target: 'http://192.168.15.124:8080/', //这里是杨帆的地址
// target: 'http://192.168.10.137:8080/', //这里是昊哥的地址 // target: 'http://192.168.10.137:8080/', //这里是昊哥的地址
// target: 'http://192.168.10.36:8080/', //这里是昊哥的地址 // target: 'http://192.168.10.36:8080/', //这里是昊哥的地址
......
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