This commit is contained in:
zhengziru
2025-09-28 13:52:01 +08:00
parent d82a73d2a9
commit 923a23b89f
11 changed files with 60 additions and 40 deletions
@@ -138,7 +138,7 @@ public class UploadController {
//下载文件 //下载文件
@At @At
@Ok("void") @Ok("void")
@SaCheckAnyLogin // @SaCheckAnyLogin
public void download(String filepath, String inline, HttpServletResponse response) throws IOException { public void download(String filepath, String inline, HttpServletResponse response) throws IOException {
//校验文件路径是否合法 //校验文件路径是否合法
boolean isValid = filepath != null && !filepath.contains("../") && !filepath.contains("..\\"); boolean isValid = filepath != null && !filepath.contains("../") && !filepath.contains("..\\");
@@ -66,8 +66,8 @@ module.exports = {
console.log(v) console.log(v)
if (v.code === 0) { if (v.code === 0) {
console.log(v.data) console.log(v.data)
insertImgFn('https://3skj.ltd/api/open/file/upload/download?filepath='+v.data) // insertImgFn('https://3skj.ltd/api/open/file/upload/download?filepath='+v.data)
// insertImgFn(v.data) insertImgFn('/open/file/upload/download?filepath='+v.data)
} else { } else {
this.$message.error(v.msg) this.$message.error(v.msg)
} }
@@ -81,6 +81,7 @@ layout("/layouts/platform_1.html"){
width="50"></el-table-column> width="50"></el-table-column>
<el-table-column label="姓名" prop="userName" width="100px" fixed="left"></el-table-column> <el-table-column label="姓名" prop="userName" width="100px" fixed="left"></el-table-column>
<el-table-column label="性别" prop="sex" width="60px" fixed="left"></el-table-column> <el-table-column label="性别" prop="sex" width="60px" fixed="left"></el-table-column>
<el-table-column label="体重(kg)" prop="weight" width="100px"></el-table-column>
<el-table-column label="职务" prop="position" width="150px"></el-table-column> <el-table-column label="职务" prop="position" width="150px"></el-table-column>
<el-table-column label="身份证号码" prop="idCard" width="180px"></el-table-column> <el-table-column label="身份证号码" prop="idCard" width="180px"></el-table-column>
<el-table-column label="联系方式" prop="phone" width="130px"></el-table-column> <el-table-column label="联系方式" prop="phone" width="130px"></el-table-column>
+30 -11
View File
@@ -130,6 +130,7 @@ import {onLoad} from '@dcloudio/uni-app';
import {Toast} from 'tdesign-mobile-vue'; import {Toast} from 'tdesign-mobile-vue';
import {useRequest} from "@/utils/request"; import {useRequest} from "@/utils/request";
import {config} from "@/utils/config"; import {config} from "@/utils/config";
import moment from "moment";
const request = useRequest(); const request = useRequest();
const actId = ref(null); const actId = ref(null);
@@ -139,28 +140,46 @@ const detailData = ref(null);
// 格式化日期 // 格式化日期
const formatDate = (dateStr) => { const formatDate = (dateStr) => {
if (!dateStr) return ''; if (!dateStr) return '';
try { return moment(dateStr).format('YYYY.MM.DD HH:mm');
const date = new Date(dateStr); // try {
return `${date.getFullYear()}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`; // // 手动解析日期部分
} catch (error) { // const [datePart, timePart] = dateStr.split(' ');
return dateStr; // const [year, month, day] = datePart.split('-').map(Number);
} // const [hours, minutes, seconds] = timePart.split(':').map(Number);
//
// // 创建日期对象(月份需要减1)
// const date = new Date(year, month - 1, day, hours, minutes, seconds);
//
// // 检查日期是否有效
// if (isNaN(date.getTime())) {
// return dateStr;
// }
//
// return `${date.getFullYear()}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
// } catch (error) {
// return dateStr;
// }
}; };
// 底部按钮文字 // 底部按钮文字
const bottomButton = computed(() => { const bottomButton = computed(() => {
const {signStartTime, signEndTime} = detailData.value const {signStartTime, signEndTime} = detailData.value
if (signStartTime && signEndTime) { if (signStartTime && signEndTime) {
const now = new Date(); // const now = new Date();
const startTime = new Date(signStartTime); // const startTime = new Date(signStartTime);
const endTime = new Date(signEndTime); // const endTime = new Date(signEndTime);
if (now >= startTime && now <= endTime) {
const now = moment();
const startTime = moment(signStartTime);
const endTime = moment(signEndTime);
if (now.isBetween(startTime, endTime, null, '[]')) {
return { return {
text: isSignUp.value ? '修改报名信息' : '立即报名', text: isSignUp.value ? '修改报名信息' : '立即报名',
disabled: false, disabled: false,
onClick: navigateToSignUp onClick: navigateToSignUp
} }
} else if (now < startTime) { } else if (now.isBefore(startTime)) {
return { return {
text: `报名开始时间:${formatDate(signStartTime)}`, text: `报名开始时间:${formatDate(signStartTime)}`,
disabled: true, disabled: true,
@@ -44,7 +44,7 @@
show-error-message show-error-message
label-align="left" label-align="left"
scroll-to-first-error="auto" scroll-to-first-error="auto"
labelWidth="90px" labelWidth="100px"
:requiredMark="true" :requiredMark="true"
> >
<!-- <view class="form-block">--> <!-- <view class="form-block">-->
@@ -89,9 +89,9 @@
<t-radio :block="false" label="女" value="女"/> <t-radio :block="false" label="女" value="女"/>
</t-radio-group> </t-radio-group>
</t-form-item> </t-form-item>
<t-form-item label="体重" :name="`userList[${index}].weight`" <t-form-item label="体重(KG)" :name="`userList[${index}].weight`"
:rules="[{required:true,message: '请输入体重'}]"> :rules="[{required:true,message: '请输入体重'}]">
<t-input placeholder="0.00" suffix="KG" type="number" borderless v-model="user.weight"></t-input> <t-input placeholder="0.00" suffix="拔河比赛分组需要" type="number" borderless v-model="user.weight"></t-input>
</t-form-item> </t-form-item>
<t-form-item label="单位名称"> <t-form-item label="单位名称">
<t-input v-model="user.unitName" borderless placeholder="请输入单位名称" readonly></t-input> <t-input v-model="user.unitName" borderless placeholder="请输入单位名称" readonly></t-input>
@@ -116,8 +116,8 @@
<t-radio :block="false" name="radio" :value="false" label="否"/> <t-radio :block="false" name="radio" :value="false" label="否"/>
</t-radio-group> </t-radio-group>
</t-form-item> </t-form-item>
<t-form-item label="是否联系人" :name="`userList[${index}].isContacts`" <t-form-item label="是否联络员" :name="`userList[${index}].isContacts`"
:rules="[{required:true,message: '请选择是否为联系人'}]"> :rules="[{required:true,message: '请选择是否为联络员'}]">
<t-radio-group v-model="user.isContacts" class="radio-box"> <t-radio-group v-model="user.isContacts" class="radio-box">
<t-radio :block="false" name="radio" :value="true" label="是"/> <t-radio :block="false" name="radio" :value="true" label="是"/>
<t-radio :block="false" name="radio" :value="false" label="否"/> <t-radio :block="false" name="radio" :value="false" label="否"/>
+3 -3
View File
@@ -2,7 +2,7 @@
<view class="page-container"> <view class="page-container">
<view class="header"> <view class="header">
<image class="header-bg" <image class="header-bg"
src="/static/img/index2.png" src="/static/img/index4.png"
mode="aspectFill"></image> mode="aspectFill"></image>
</view> </view>
@@ -43,7 +43,7 @@
<!-- 精选内容区 --> <!-- 精选内容区 -->
<view class="content-section"> <view class="content-section">
<view class="section-header"> <view class="section-header">
<view class="section-title">近期活动</view> <view class="section-title">活动详情</view>
<view class="section-more" @click="navigateTo('/pages/activity/list/index')">更多</view> <view class="section-more" @click="navigateTo('/pages/activity/list/index')">更多</view>
</view> </view>
@@ -288,7 +288,7 @@ uni-page-body {
} }
.section-title { .section-title {
font-size: 16px; font-size: 18px;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
position: relative; position: relative;
+13 -13
View File
@@ -61,18 +61,18 @@
<view class="login-card"> <view class="login-card">
<view class="login-tabs"> <view class="login-tabs">
<view <!-- <view-->
:class="['tab', loginForm.loginMethod === 'sms' ? 'active' : '']" <!-- :class="['tab', loginForm.loginMethod === 'sms' ? 'active' : '']"-->
@click="loginForm.loginMethod = 'sms'" <!-- @click="loginForm.loginMethod = 'sms'"-->
> <!-- >-->
验证码登录 <!-- 验证码登录-->
</view> <!-- </view>-->
<view <!-- <view-->
:class="['tab', loginForm.loginMethod === 'password' ? 'active' : '']" <!-- :class="['tab', loginForm.loginMethod === 'password' ? 'active' : '']"-->
@click="loginForm.loginMethod = 'password'" <!-- @click="loginForm.loginMethod = 'password'"-->
> <!-- >-->
密码登录 <!-- 密码登录-->
</view> <!-- </view>-->
</view> </view>
<!-- 登录表单区域 --> <!-- 登录表单区域 -->
@@ -132,7 +132,7 @@
<!-- 底部信息 --> <!-- 底部信息 -->
<view class="footer-info"> <view class="footer-info">
<view class="footer-item">主办单位:浙江省教育工会</view> <view class="footer-item">主办单位:浙江省教育工会</view>
<view class="footer-item">承办单位:杭州医学院工会</view> <view class="footer-item">承办单位:杭州医学院</view>
<view class="footer-item">技术支持:武汉地大三思科技有限公司(智慧工会提供商)</view> <view class="footer-item">技术支持:武汉地大三思科技有限公司(智慧工会提供商)</view>
</view> </view>
</view> </view>
+1 -1
View File
@@ -137,7 +137,7 @@
<!-- 底部信息 --> <!-- 底部信息 -->
<view class="footer-info"> <view class="footer-info">
<view class="footer-item">主办单位:浙江省教育工会</view> <view class="footer-item">主办单位:浙江省教育工会</view>
<view class="footer-item">承办单位:杭州医学院工会</view> <view class="footer-item">承办单位:杭州医学院</view>
<view class="footer-item">技术支持:武汉地大三思科技有限公司(智慧工会提供商)</view> <view class="footer-item">技术支持:武汉地大三思科技有限公司(智慧工会提供商)</view>
</view> </view>
Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

+2 -2
View File
@@ -34,8 +34,8 @@ export default defineConfig({
},*/ },*/
proxy: { proxy: {
'/api': { '/api': {
// target: 'http://119.91.224.39:9090/', target: 'http://119.91.224.39:9090/',
target: 'http://192.168.118.1:9090/', // target: 'http://192.168.118.1:9090/',
changeOrigin: true, changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '') rewrite: (path) => path.replace(/^\/api/, '')
} }