修改了大部分会议中提出的问题
This commit is contained in:
parent
3cf8eaa543
commit
b502559b6e
@ -7,13 +7,17 @@ import com.ruoyi.common.core.controller.BaseController;
|
|||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.exception.job.TaskException;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.framework.web.service.SysRegisterService;
|
//import com.ruoyi.cms.task.HitTask;
|
||||||
|
import com.ruoyi.quartz.controller.SysJobController;
|
||||||
|
import com.ruoyi.quartz.domain.SysJob;
|
||||||
|
import org.quartz.SchedulerException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,6 +34,12 @@ public class HitCompetitionStudentInfoController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IHitCompetitionStudentInfoService hitCompetitionStudentInfoService;
|
private IHitCompetitionStudentInfoService hitCompetitionStudentInfoService;
|
||||||
|
|
||||||
|
// @Autowired
|
||||||
|
// private HitTask hitTask;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysJobController sysJobController;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询大赛学生列表
|
* 查询大赛学生列表
|
||||||
@ -136,4 +146,25 @@ public class HitCompetitionStudentInfoController extends BaseController {
|
|||||||
public AjaxResult getTeamMateInfoByStuId(){
|
public AjaxResult getTeamMateInfoByStuId(){
|
||||||
return AjaxResult.success(hitCompetitionStudentInfoService.selectTeamMateInfoByStuId());
|
return AjaxResult.success(hitCompetitionStudentInfoService.selectTeamMateInfoByStuId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log(title = "修改个人赛时间", businessType = BusinessType.UPDATE)
|
||||||
|
@PutMapping("/updateTime")
|
||||||
|
public AjaxResult updateTime(@RequestBody LocalDateTime time) {
|
||||||
|
System.out.println("接收到的时间"+time);
|
||||||
|
SysJob job = new SysJob();
|
||||||
|
job.setInvokeTarget("hitTask.scheduleTask");
|
||||||
|
//将time转化为cron表达式,包含年
|
||||||
|
job.setRemark("修改个人赛时间");
|
||||||
|
job.setStatus("0");
|
||||||
|
job.setJobId(4L);
|
||||||
|
job.setCronExpression("0 "+time.getSecond()+" "+time.getMinute()+" "+time.getHour()+" * * ?");
|
||||||
|
try {
|
||||||
|
sysJobController.edit(job);
|
||||||
|
} catch (SchedulerException e) {
|
||||||
|
} catch (TaskException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
// hitTask.scheduleTask();
|
||||||
|
return success(time);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,4 +50,8 @@ public class BaseInfo extends BaseEntity
|
|||||||
|
|
||||||
/** 是否可以报名 */
|
/** 是否可以报名 */
|
||||||
private String registerStatus;
|
private String registerStatus;
|
||||||
|
|
||||||
|
/** 技术支持手机号 */
|
||||||
|
@Excel(name = "技术支持手机号")
|
||||||
|
private String technologyNumber;
|
||||||
}
|
}
|
||||||
|
@ -65,4 +65,10 @@ public interface HitCompetitionStudentInfoMapper extends BaseMapper<HitCompetiti
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteHitCompetitionStudentInfoByIds(String[] ids);
|
public int deleteHitCompetitionStudentInfoByIds(String[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将学校不足15名的参赛人员全部设置为可以参加地区选拔
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int updateStudentByLessThan();
|
||||||
}
|
}
|
||||||
|
@ -167,7 +167,10 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
|
|||||||
validateCaptcha(username, user.getCode(), user.getUuid());
|
validateCaptcha(username, user.getCode(), user.getUuid());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isEmpty(username)) {
|
boolean validPhoneNumber = isValidPhoneNumber(username);
|
||||||
|
if (!validPhoneNumber) {
|
||||||
|
msg = "手机号码格式不正确";
|
||||||
|
}else if (StringUtils.isEmpty(username)) {
|
||||||
msg = "用户名不能为空";
|
msg = "用户名不能为空";
|
||||||
} else if (StringUtils.isEmpty(password)) {
|
} else if (StringUtils.isEmpty(password)) {
|
||||||
msg = "用户密码不能为空";
|
msg = "用户密码不能为空";
|
||||||
@ -239,6 +242,13 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
|
|||||||
throw new CaptchaException();
|
throw new CaptchaException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 方法用于判断是否是有效的手机号
|
||||||
|
public static boolean isValidPhoneNumber(String phoneNumber) {
|
||||||
|
// 中国手机号正则表达式
|
||||||
|
String regex = "^1[3-9]\\d{9}$";
|
||||||
|
return phoneNumber != null && phoneNumber.matches(regex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,9 +6,12 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://61.156.90.46:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
|
# url: jdbc:mysql://61.156.90.46:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
|
||||||
username: obrhgd
|
url: jdbc:mysql://localhost:3306/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
|
||||||
password: Obr7890&*()
|
# username: obrhgd
|
||||||
|
username: root
|
||||||
|
# password: Obr7890&*()
|
||||||
|
password: 123456
|
||||||
# master:
|
# master:
|
||||||
# url: jdbc:mysql://localhost:3306/ry-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
# url: jdbc:mysql://localhost:3306/ry-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
# username: root
|
# username: root
|
||||||
|
@ -16,7 +16,7 @@ ruoyi:
|
|||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
server:
|
server:
|
||||||
# 服务器的HTTP端口,默认为8080
|
# 服务器的HTTP端口,默认为8080
|
||||||
port: 8081
|
port: 8080
|
||||||
servlet:
|
servlet:
|
||||||
# 应用的访问路径
|
# 应用的访问路径
|
||||||
context-path: /hgdWebsite
|
context-path: /hgdWebsite
|
||||||
@ -74,7 +74,7 @@ spring:
|
|||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 9
|
database: 9
|
||||||
# 密码
|
# 密码
|
||||||
password:
|
password: 123456
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lettuce:
|
lettuce:
|
||||||
|
@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectBaseInfoVo">
|
<sql id="selectBaseInfoVo">
|
||||||
select id, web_name, contact_number, contact_email, address, web_img, record_info, copyright_info, register_status from base_info
|
select id, web_name, contact_number, contact_email, address, web_img, record_info, copyright_info, register_status, technology_number from base_info
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,6 +133,20 @@
|
|||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="updateStudentByLessThan">
|
||||||
|
UPDATE hit_competition_student_info
|
||||||
|
SET is_preliminary = 1
|
||||||
|
WHERE school_name IN (
|
||||||
|
SELECT school_name
|
||||||
|
FROM (
|
||||||
|
SELECT school_name
|
||||||
|
FROM hit_competition_student_info
|
||||||
|
GROUP BY school_name
|
||||||
|
HAVING COUNT(*) < 15
|
||||||
|
) AS temp
|
||||||
|
);
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
<delete id="deleteHitCompetitionStudentInfoById" parameterType="String">
|
<delete id="deleteHitCompetitionStudentInfoById" parameterType="String">
|
||||||
delete from hit_competition_student_info where id = #{id}
|
delete from hit_competition_student_info where id = #{id}
|
||||||
|
@ -6,9 +6,12 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://122.51.230.86:3306/hgd_website?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
# url: jdbc:mysql://61.156.90.46:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
|
||||||
username: hgdRoot
|
url: jdbc:mysql://localhost:3306/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
|
||||||
password: qqzcy@1014
|
# username: obrhgd
|
||||||
|
username: root
|
||||||
|
# password: Obr7890&*()
|
||||||
|
password: 123456
|
||||||
# master:
|
# master:
|
||||||
# url: jdbc:mysql://localhost:3306/ry-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
# url: jdbc:mysql://localhost:3306/ry-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
# username: root
|
# username: root
|
||||||
|
@ -16,10 +16,10 @@ ruoyi:
|
|||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
server:
|
server:
|
||||||
# 服务器的HTTP端口,默认为8080
|
# 服务器的HTTP端口,默认为8080
|
||||||
port: 8089
|
port: 8080
|
||||||
servlet:
|
servlet:
|
||||||
# 应用的访问路径
|
# 应用的访问路径
|
||||||
context-path: /
|
context-path: /hgdWebsite
|
||||||
tomcat:
|
tomcat:
|
||||||
# tomcat的URI编码
|
# tomcat的URI编码
|
||||||
uri-encoding: UTF-8
|
uri-encoding: UTF-8
|
||||||
@ -72,9 +72,9 @@ spring:
|
|||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 6379
|
port: 6379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 0
|
database: 9
|
||||||
# 密码
|
# 密码
|
||||||
password:
|
password: 123456
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lettuce:
|
lettuce:
|
||||||
|
@ -35,6 +35,12 @@
|
|||||||
<artifactId>ruoyi-common</artifactId>
|
<artifactId>ruoyi-common</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>com.ruoyi</groupId>-->
|
||||||
|
<!-- <artifactId>ruoyi-admin</artifactId>-->
|
||||||
|
<!-- <version>3.8.8</version>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -0,0 +1,20 @@
|
|||||||
|
//package com.ruoyi.quartz.task;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//import com.ruoyi.cms.mapper.HitCompetitionStudentInfoMapper;
|
||||||
|
//import org.springframework.stereotype.Component;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//@Component("hitTask")
|
||||||
|
//public class HitTask {
|
||||||
|
//
|
||||||
|
// private HitCompetitionStudentInfoMapper hitCompetitionStudentInfoMapper;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// public void scheduleTask() {
|
||||||
|
// // 这里是你要执行的任务
|
||||||
|
// System.out.println("用户选定的时间到了,执行任务...");
|
||||||
|
//// hitCompetitionStudentInfoMapper.updateStudentByLessThan();
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//}
|
@ -4,6 +4,8 @@ VUE_APP_TITLE = 虚拟仿真实验教学中心
|
|||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
# 若依管理系统/开发环境
|
# 若依管理系统/开发环境
|
||||||
VUE_APP_BASE_API = 'http://192.168.31.25:8080'
|
# VUE_APP_BASE_API = 'http://192.168.31.25:8080'
|
||||||
|
VUE_APP_BASE_API = 'http://localhost:8080/hgdWebsite'
|
||||||
|
# VUE_APP_BASE_API = '/dev-api'
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
@ -42,3 +42,11 @@ export function delInfo(id) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 修改个人赛时间
|
||||||
|
export function updateTime(time) {
|
||||||
|
return request({
|
||||||
|
url: '/system/hit_stu_info/updateTime',
|
||||||
|
data: time,
|
||||||
|
method: 'put'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="baseInfo">
|
<div class="baseInfo">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-form-item label="名称" prop="webName">
|
<el-form-item label="名称" prop="webName">
|
||||||
<el-input v-model="form.webName" placeholder="请输入名称"/>
|
<el-input v-model="form.webName" placeholder="请输入名称"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -11,6 +11,9 @@
|
|||||||
<el-form-item label="联系邮箱" prop="contactEmail">
|
<el-form-item label="联系邮箱" prop="contactEmail">
|
||||||
<el-input v-model="form.contactEmail" placeholder="请输入联系邮箱"/>
|
<el-input v-model="form.contactEmail" placeholder="请输入联系邮箱"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="技术支持手机号" prop="technologyNumber">
|
||||||
|
<el-input v-model="form.technologyNumber" placeholder="请输入技术支持手机号"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="地址" prop="address">
|
<el-form-item label="地址" prop="address">
|
||||||
<el-input v-model="form.address" placeholder="请输入地址"/>
|
<el-input v-model="form.address" placeholder="请输入地址"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -3,21 +3,11 @@
|
|||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
|
||||||
<el-form-item label="学生姓名" prop="stuName">
|
<el-form-item label="学生姓名" prop="stuName">
|
||||||
<el-input
|
<el-input v-model="queryParams.stuName" placeholder="请输入学生姓名" clearable @keyup.enter.native="handleQuery" />
|
||||||
v-model="queryParams.stuName"
|
|
||||||
placeholder="请输入学生姓名"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="院系名称" prop="collegeName">
|
<el-form-item label="院系名称" prop="collegeName">
|
||||||
<el-input
|
<el-input v-model="queryParams.collegeName" placeholder="请输入院系名称" clearable @keyup.enter.native="handleQuery" />
|
||||||
v-model="queryParams.collegeName"
|
|
||||||
placeholder="请输入院系名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
@ -25,30 +15,27 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
<!-- <template> -->
|
||||||
|
时间<el-date-picker v-model="selectedTime" type="datetime" placeholder="选择时间" @change="onTimeSelect"></el-date-picker>
|
||||||
|
<!-- </template> -->
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
|
||||||
type="danger"
|
@click="handleDelete">删除</el-button>
|
||||||
plain
|
|
||||||
icon="el-icon-delete"
|
|
||||||
size="mini"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
|
|
||||||
>删除</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="1.5">-->
|
<!-- <el-col :span="1.5">-->
|
||||||
<!-- <el-button-->
|
<!-- <el-button-->
|
||||||
<!-- type="warning"-->
|
<!-- type="warning"-->
|
||||||
<!-- plain-->
|
<!-- plain-->
|
||||||
<!-- icon="el-icon-download"-->
|
<!-- icon="el-icon-download"-->
|
||||||
<!-- size="mini"-->
|
<!-- size="mini"-->
|
||||||
<!-- @click="handleExport"-->
|
<!-- @click="handleExport"-->
|
||||||
<!-- v-hasPermi="['system:info:export']"-->
|
<!-- v-hasPermi="['system:info:export']"-->
|
||||||
<!-- >导出</el-button>-->
|
<!-- >导出</el-button>-->
|
||||||
<!-- </el-col>-->
|
<!-- </el-col>-->
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@ -63,60 +50,40 @@
|
|||||||
<el-table-column label="所属赛区" align="center" prop="division" />
|
<el-table-column label="所属赛区" align="center" prop="division" />
|
||||||
<el-table-column label="手机号" align="center" prop="phoneNumber" />
|
<el-table-column label="手机号" align="center" prop="phoneNumber" />
|
||||||
<el-table-column label="邮箱" align="center" prop="email" />
|
<el-table-column label="邮箱" align="center" prop="email" />
|
||||||
<el-table-column label="学生证" align="center" prop="studentIdCard" >
|
<el-table-column label="学生证" align="center" prop="studentIdCard">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<image-preview :src="scope.row.studentIdCard" :width="50" :height="50"/>
|
<image-preview :src="scope.row.studentIdCard" :width="50" :height="50" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="个人选拔赛分数" align="center" prop="trialsScore" width="300">
|
<el-table-column label="个人选拔赛分数" align="center" prop="trialsScore" width="300">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input-number v-model="scope.row.trialsScore" :precision="2" :step="0.1" ></el-input-number>
|
<el-input-number v-model="scope.row.trialsScore" :precision="2" :step="0.1"></el-input-number>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否进入初赛" align="center" prop="isPreliminary" >
|
<el-table-column label="是否进入初赛" align="center" prop="isPreliminary">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div v-if="!scope.row.isPreliminary">待审核</div>
|
<div v-if="!scope.row.isPreliminary">待审核</div>
|
||||||
<div v-else-if="scope.row.isPreliminary==1">已入选</div>
|
<div v-else-if="scope.row.isPreliminary == 1">已入选</div>
|
||||||
<div v-else>未入选</div>
|
<div v-else>未入选</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button size="mini" type="text" icon="el-icon-edit"
|
||||||
size="mini"
|
v-if="!scope.row.isPreliminary || scope.row.isPreliminary == 0"
|
||||||
type="text"
|
@click="updateStatus(scope.row, 1)">入选</el-button>
|
||||||
icon="el-icon-edit"
|
|
||||||
v-if="!scope.row.isPreliminary||scope.row.isPreliminary==0"
|
|
||||||
@click="updateStatus(scope.row,1)"
|
|
||||||
>入选</el-button>
|
|
||||||
|
|
||||||
<el-button
|
<el-button size="mini" type="text" v-else icon="el-icon-edit"
|
||||||
size="mini"
|
@click="updateStatus(scope.row, 0)">取消入选</el-button>
|
||||||
type="text"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||||
v-else
|
|
||||||
icon="el-icon-edit"
|
|
||||||
@click="updateStatus(scope.row,0)"
|
|
||||||
>取消入选</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDelete(scope.row)"
|
|
||||||
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
v-show="total>0"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改大赛学生对话框 -->
|
<!-- 添加或修改大赛学生对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
@ -170,12 +137,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/hit/stuInfo";
|
import { listInfo, getInfo, delInfo, addInfo, updateInfo, updateTime } from "@/api/hit/stuInfo";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Info",
|
name: "Info",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
selectedTime: null, // 用户选择的个人赛截止时间
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: true,
|
||||||
// 选中数组
|
// 选中数组
|
||||||
@ -302,7 +270,7 @@ export default {
|
|||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map(item => item.id)
|
this.ids = selection.map(item => item.id)
|
||||||
this.single = selection.length!==1
|
this.single = selection.length !== 1
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
@ -322,7 +290,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
updateStatus(data,type) {
|
updateStatus(data, type) {
|
||||||
data.isPreliminary = type
|
data.isPreliminary = type
|
||||||
updateInfo(data).then(response => {
|
updateInfo(data).then(response => {
|
||||||
this.$modal.msgSuccess("成功");
|
this.$modal.msgSuccess("成功");
|
||||||
@ -352,18 +320,47 @@ export default {
|
|||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal.confirm('是否确认删除大赛学生编号为"' + ids + '"的数据项?').then(function() {
|
this.$modal.confirm('是否确认删除大赛学生编号为"' + ids + '"的数据项?').then(function () {
|
||||||
return delInfo(ids);
|
return delInfo(ids);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$modal.msgSuccess("删除成功");
|
this.$modal.msgSuccess("删除成功");
|
||||||
}).catch(() => {});
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('system/info/export', {
|
this.download('system/info/export', {
|
||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `info_${new Date().getTime()}.xlsx`)
|
}, `info_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 当用户选择时间后调用该方法
|
||||||
|
onTimeSelect() {
|
||||||
|
|
||||||
|
// const date = new Date(this.selectedTime);
|
||||||
|
// const year = date.getFullYear();
|
||||||
|
// const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||||
|
// const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
// const hours = String(date.getHours()).padStart(2, '0');
|
||||||
|
// const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||||
|
// const seconds = String(date.getSeconds()).padStart(2, '0');
|
||||||
|
|
||||||
|
// const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||||
|
// this.selectedTime = formattedDate; // 去掉最后的 'Z'
|
||||||
|
console.log("选择的时间", this.selectedTime);
|
||||||
|
if (this.selectedTime) {
|
||||||
|
this.sendTimeToBackend(this.selectedTime);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 向后端发送选定的时间
|
||||||
|
sendTimeToBackend(time) {
|
||||||
|
updateTime(time)
|
||||||
|
.then(response => {
|
||||||
|
this.$message.success('定时任务设置成功');
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
this.$message.error('请求失败,请检查网络');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="index-footer">
|
<div class="index-footer">
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
@ -8,27 +7,32 @@
|
|||||||
<img :src="baseInfo.webImg" />
|
<img :src="baseInfo.webImg" />
|
||||||
</div>
|
</div>
|
||||||
<div class="logo-size">
|
<div class="logo-size">
|
||||||
{{this.baseInfo.webName}}
|
{{ this.baseInfo.webName }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer-contact">
|
<div class="footer-contact">
|
||||||
<div class="p">
|
<div class="p">
|
||||||
|
|
||||||
<img src="../../../assets/gw/tel.png" alt="">
|
<img src="../../../assets/gw/tel.png" alt="">
|
||||||
<div class="pp">电话:{{this.baseInfo.contactNumber}}</div>
|
<div class="pp">电话:{{ this.baseInfo.contactNumber }}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="p">
|
<div class="p">
|
||||||
|
|
||||||
<img src="../../../assets/gw/email.png" alt="">
|
<img src="../../../assets/gw/email.png" alt="">
|
||||||
<div class="pp">邮箱:{{this.baseInfo.contactEmail}}</div>
|
<div class="pp">邮箱:{{ this.baseInfo.contactEmail }}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="p">
|
<div class="p">
|
||||||
|
|
||||||
<img src="../../../assets/gw/address.png" alt="">
|
<img src="../../../assets/gw/address.png" alt="">
|
||||||
<div class="pp">地址:{{ this.baseInfo.address }}</div>
|
<div class="pp">地址:{{ this.baseInfo.address }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="p" style="margin-top: 15px;">
|
||||||
|
<img src="../../../assets/gw/tel.png" alt="">
|
||||||
|
<div class="pp">技术支持:{{ this.baseInfo.technologyNumber }}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -61,13 +65,13 @@ import { getBaseInfo, } from '@/api/gw/home'
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
baseInfo:"",
|
baseInfo: "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getWebBaseInfo()
|
this.getWebBaseInfo()
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
getWebBaseInfo() {
|
getWebBaseInfo() {
|
||||||
getBaseInfo().then(res => {
|
getBaseInfo().then(res => {
|
||||||
this.baseInfo = res.data
|
this.baseInfo = res.data
|
||||||
@ -75,7 +79,7 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
toTop(){
|
toTop() {
|
||||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -100,8 +104,7 @@ export default {
|
|||||||
/* align-items: center; */
|
/* align-items: center; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.index-footer .footer .logo .footer-contact {
|
.index-footer .footer .logo .footer-contact {}
|
||||||
}
|
|
||||||
|
|
||||||
.index-footer .footer .logo .footer-contact .p {
|
.index-footer .footer .logo .footer-contact .p {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -211,12 +214,14 @@ export default {
|
|||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo-box {
|
.logo-box {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
.logo-box img{
|
|
||||||
|
.logo-box img {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
@ -228,6 +233,7 @@ export default {
|
|||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.d-s {
|
.d-s {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-form :model="loginForm" ref="loginForm">
|
<el-form :model="loginForm" ref="loginForm">
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input placeholder="学号" v-model="loginForm.username" ></el-input>
|
<el-input placeholder="手机号" v-model="loginForm.username" ></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
<el-input placeholder="密码" v-model="loginForm.password" type="password"></el-input>
|
<el-input placeholder="密码" v-model="loginForm.password" type="password"></el-input>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
<el-input placeholder="姓名" v-model="registerForm.nickName" type="text"></el-input>
|
<el-input placeholder="姓名" v-model="registerForm.nickName" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input placeholder="学号(登录账号)" v-model="registerForm.username" type="text"></el-input>
|
<el-input placeholder="手机号(登录账号)" v-model="registerForm.username" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
@ -357,22 +357,32 @@ export default {
|
|||||||
submitRegister() {
|
submitRegister() {
|
||||||
this.$refs.registerForm.validate(valid => {
|
this.$refs.registerForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
// 验证用户名是否为手机号
|
||||||
|
const phoneRegex = /^1[3-9]\d{9}$/;
|
||||||
|
if (!phoneRegex.test(this.registerForm.username)) {
|
||||||
|
this.$alert("<font color='red'>请输入有效的手机号。</font>", '系统提示', {
|
||||||
|
dangerouslyUseHTMLString: true,
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
register(this.registerForm).then(res => {
|
register(this.registerForm).then(res => {
|
||||||
const username = this.registerForm.username;
|
const username = this.registerForm.username;
|
||||||
this.registerDialog = false
|
this.registerDialog = false;
|
||||||
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
|
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
|
||||||
dangerouslyUseHTMLString: true,
|
dangerouslyUseHTMLString: true,
|
||||||
type: 'success'
|
type: 'success'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$router.push("/virtually");
|
this.$router.push("/virtually");
|
||||||
}).catch(() => {});
|
}).catch(() => { });
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (this.captchaEnabled) {
|
if (this.captchaEnabled) {
|
||||||
this.getCode();
|
this.getCode();
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -27,15 +27,15 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-steps :active="active" finish-status="success" align-center>
|
<el-steps :active="active" finish-status="success" align-center>
|
||||||
<el-step title="个人选拔赛报名"></el-step>
|
<el-step title="个人选拔赛报名"></el-step>
|
||||||
<el-step title="初赛报名"></el-step>
|
<el-step title="地区选拔赛报名"></el-step>
|
||||||
<el-step title="确认报名团队"></el-step>
|
<el-step title="确认报名团队"></el-step>
|
||||||
<el-step title="初赛报名结果"></el-step>
|
<el-step title="地区选拔赛报名结果"></el-step>
|
||||||
<el-step title="比赛资料上传"></el-step>
|
<el-step title="比赛资料上传"></el-step>
|
||||||
</el-steps>
|
</el-steps>
|
||||||
<div class="step-box" v-if="active == 0">
|
<div class="step-box" v-if="active == 0">
|
||||||
<div class="step-box-title">
|
<div class="step-box-title">
|
||||||
<el-form label-width="80px" :model="signUpForm" :rules="rules" ref="form">
|
<el-form label-width="80px" :model="signUpForm" :rules="rules" ref="form">
|
||||||
<el-form-item label="学号" prop="studentId" >
|
<el-form-item label="手机号" prop="studentId" >
|
||||||
<el-input v-model="signUpForm.studentId" disabled></el-input>
|
<el-input v-model="signUpForm.studentId" disabled></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="姓名" prop="stuName">
|
<el-form-item label="姓名" prop="stuName">
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<el-form-item label="邮箱" prop="email">
|
<el-form-item label="邮箱" prop="email">
|
||||||
<el-input v-model="signUpForm.email"></el-input>
|
<el-input v-model="signUpForm.email"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="学生证" prop="studentIdCard">
|
<el-form-item label="学生证、卡" prop="studentIdCard" label-width="95px">
|
||||||
<image-upload :limit="1" v-model="signUpForm.studentIdCard"></image-upload>
|
<image-upload :limit="1" v-model="signUpForm.studentIdCard"></image-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -95,12 +95,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="step-box" v-if="active == 1" style="position: relative" >
|
<div class="step-box" v-if="active == 1" style="position: relative" >
|
||||||
<div class="step-box-title" style="font-size: 20px;margin-top: 8%" v-if="signUpForm.trialsScore == null">个人选拔赛成绩未出,请耐心等待</div>
|
<!-- <div class="step-box-title" style="font-size: 20px;margin-top: 8%" v-if="signUpForm.trialsScore == null">个人选拔赛成绩未出,请耐心等待</div> -->
|
||||||
|
<div class="step-box-title" style="font-size: 20px;margin-top: 8%" v-if="signUpForm.trialsScore == null">成绩仅供参考,最终选择由指导老师和领队老师做决定</div>
|
||||||
<div class="step-box-title" style="font-size: 20px;margin-top: 8%" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == false">
|
<div class="step-box-title" style="font-size: 20px;margin-top: 8%" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == false">
|
||||||
很遗憾,个人选拔赛未通过,您的个人成绩为 : {{ signUpForm.trialsScore }}</div>
|
很遗憾,个人选拔赛未通过,您的个人成绩为 : {{ signUpForm.trialsScore }}</div>
|
||||||
<div style="position: absolute;left: 15%; top: 30%" v-if="signUpForm.trialsScore" >
|
<div style="position: absolute;left: 15%; top: 30%" v-if="signUpForm.trialsScore" >
|
||||||
<div style="font-size: 24px">
|
<div style="font-size: 24px">
|
||||||
初赛成绩:
|
地区选拔赛成绩:
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size: 24px;color:#ff0000;margin-top: 15px" >
|
<div style="font-size: 24px;color:#ff0000;margin-top: 15px" >
|
||||||
{{ signUpForm.trialsScore }}
|
{{ signUpForm.trialsScore }}
|
||||||
@ -170,7 +171,8 @@
|
|||||||
<el-input v-model="preliminaryForm.sampleAddress"></el-input>
|
<el-input v-model="preliminaryForm.sampleAddress"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="附件" prop="uploadFile">
|
<el-form-item label="附件" prop="uploadFile">
|
||||||
<file-upload :fileSize="20" :fileType="['doc','docx','pdf','zip']" v-model="preliminaryForm.uploadFile"></file-upload>
|
<!-- <file-upload :fileSize="20" :fileType="['doc','docx','pdf','zip']" v-model="preliminaryForm.uploadFile"></file-upload> -->
|
||||||
|
<file-upload :fileSize="20" :fileType="['pdf']" v-model="preliminaryForm.uploadFile"></file-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -237,7 +239,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="step-box" v-if="active == 3">
|
<div class="step-box" v-if="active == 3">
|
||||||
<div class="step-box-title" style="font-size: 20px;margin-top: 8%">初赛报名提交成功,请通过大赛通知获取通过信息</div>
|
<div class="step-box-title" style="font-size: 20px;margin-top: 8%">地区选拔赛报名提交成功,请通过大赛通知获取通过信息</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -369,7 +371,7 @@ export default {
|
|||||||
{ required: true, message: "学校名称不能为空", trigger: "blur" }
|
{ required: true, message: "学校名称不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
studentId: [
|
studentId: [
|
||||||
{ required: true, message: "学号不能为空", trigger: "blur" }
|
{ required: true, message: "手机号不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
collegeName: [
|
collegeName: [
|
||||||
{ required: true, message: "院系名称不能为空", trigger: "blur" }
|
{ required: true, message: "院系名称不能为空", trigger: "blur" }
|
||||||
@ -381,7 +383,7 @@ export default {
|
|||||||
{ required: true, message: "专业名称不能为空", trigger: "blur" }
|
{ required: true, message: "专业名称不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
studentIdCard: [
|
studentIdCard: [
|
||||||
{ required: true, message: "学生证不能为空", trigger: "blur" }
|
{ required: true, message: "学生证、卡不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
phoneNumber: [
|
phoneNumber: [
|
||||||
{ required: true, message: "手机号不能为空", trigger: "blur" }
|
{ required: true, message: "手机号不能为空", trigger: "blur" }
|
||||||
@ -625,7 +627,7 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
PreliminaryRegistration(this.preliminaryForm).then(res => {
|
PreliminaryRegistration(this.preliminaryForm).then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.$modal.msgSuccess("初赛报名提交成功")
|
this.$modal.msgSuccess("地区选拔赛报名提交成功")
|
||||||
this.fetchRegistrationInformation()
|
this.fetchRegistrationInformation()
|
||||||
} else {
|
} else {
|
||||||
this.$modal.msgError("报名失败")
|
this.$modal.msgError("报名失败")
|
||||||
|
@ -35,7 +35,7 @@ module.exports = {
|
|||||||
proxy: {
|
proxy: {
|
||||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||||
[process.env.VUE_APP_BASE_API]: {
|
[process.env.VUE_APP_BASE_API]: {
|
||||||
target: `http://localhost:8080`,
|
target: `http://localhost:8081`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||||
|
Loading…
Reference in New Issue
Block a user