commit
This commit is contained in:
+1
@@ -140,6 +140,7 @@ public class ActivityReimbursementMineController {
|
|||||||
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
|
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
|
||||||
}
|
}
|
||||||
// cnd.groupBy("t.id");
|
// cnd.groupBy("t.id");
|
||||||
|
cnd.groupBy("info.id");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
Pagination<NutMap> pagination = activityReimbursementService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
|
Pagination<NutMap> pagination = activityReimbursementService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
|
||||||
return Result.success().addData(pagination);
|
return Result.success().addData(pagination);
|
||||||
|
|||||||
+4
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.budwk.app.zhgh.activity.workscollection.controller;
|
package com.budwk.app.zhgh.activity.workscollection.controller;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
@@ -25,6 +26,7 @@ import org.nutz.mvc.annotation.Ok;
|
|||||||
import org.nutz.mvc.annotation.Param;
|
import org.nutz.mvc.annotation.Param;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,8 +49,6 @@ public class ActivityWorksCollectionUploadController {
|
|||||||
public void index() {
|
public void index() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param pageForm 分页
|
* @param pageForm 分页
|
||||||
* @param activityId 活动id
|
* @param activityId 活动id
|
||||||
@@ -161,6 +161,8 @@ public class ActivityWorksCollectionUploadController {
|
|||||||
Dao extDao = Daos.ext(dao, FieldFilter.create(Activity_works_collection.class, "id|name|"));
|
Dao extDao = Daos.ext(dao, FieldFilter.create(Activity_works_collection.class, "id|name|"));
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.and(Activity_works_collection::getEnable,"=",1);
|
cnd.and(Activity_works_collection::getEnable,"=",1);
|
||||||
|
cnd.and(Activity_works_collection::getStartDateTime,"<=", DateUtil.now());
|
||||||
|
cnd.and(Activity_works_collection::getEndDateTime,">=", DateUtil.now());
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
seg.or(Activity_works_collection::getActivityGroupId,"=","");
|
seg.or(Activity_works_collection::getActivityGroupId,"=","");
|
||||||
seg.or(Activity_works_collection::getActivityGroupId,"is",null);
|
seg.or(Activity_works_collection::getActivityGroupId,"is",null);
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
<template>
|
||||||
|
<!-- 完全自定义卡片容器,复刻el-card样式 -->
|
||||||
|
<div
|
||||||
|
class="el-card custom-card"
|
||||||
|
:style="{ width: width || '100%' }"
|
||||||
|
v-bind="$attrs"
|
||||||
|
v-on="$listeners"
|
||||||
|
>
|
||||||
|
<!-- 卡片头部 - 独立节点 -->
|
||||||
|
<div v-if="$slots.header" class="el-card__header card-header">
|
||||||
|
<slot name="header"></slot>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 可滚动内容区域 - 独立节点 -->
|
||||||
|
<div class="el-card__body card-body">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 卡片底部 - 独立节点 -->
|
||||||
|
<div v-if="$slots.footer" class="el-card__footer card-footer">
|
||||||
|
<slot name="footer"></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
module.exports = {
|
||||||
|
name: 'CustomCard',
|
||||||
|
inheritAttrs: false,
|
||||||
|
props: {
|
||||||
|
// 保留el-card的核心属性,保证使用体验一致
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
shadow: {
|
||||||
|
type: String,
|
||||||
|
default: 'hover', // 同el-card默认值
|
||||||
|
validator: (val) => ['always', 'hover', 'never'].includes(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 根据shadow属性动态设置阴影样式
|
||||||
|
shadowClass() {
|
||||||
|
return {
|
||||||
|
'el-card--shadow-always': this.shadow === 'always',
|
||||||
|
'el-card--shadow-hover': this.shadow === 'hover',
|
||||||
|
'el-card--shadow-never': this.shadow === 'never'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 卡片核心样式 - 完全复刻el-card */
|
||||||
|
.custom-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: calc(100vh - 84px); /* 关键:卡片高度撑满父容器 */
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
/* 继承el-card的字体样式 */
|
||||||
|
color: var(--el-text-color-primary);
|
||||||
|
font-size: 14px;
|
||||||
|
transition: box-shadow 0.3s ease-in-out;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 阴影样式 - 完全对齐el-card */
|
||||||
|
:deep(.el-card--shadow-always) {
|
||||||
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
:deep(.el-card--shadow-hover):hover {
|
||||||
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
:deep(.el-card--shadow-never) {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 头部样式 - 固定高度,不滚动 */
|
||||||
|
.card-header {
|
||||||
|
flex-shrink: 0; /* 关键:不被压缩 */
|
||||||
|
padding: 18px 20px;
|
||||||
|
border-bottom: 1px solid #ebeef5;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 内容区域 - 自动填充剩余空间,可滚动 */
|
||||||
|
.card-body {
|
||||||
|
flex: 1; /* 关键:占满剩余高度 */
|
||||||
|
padding: 20px;
|
||||||
|
overflow-y: auto; /* 垂直滚动 */
|
||||||
|
overflow-x: hidden; /* 隐藏水平滚动 */
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 底部样式 - 固定高度,不滚动 */
|
||||||
|
.card-footer {
|
||||||
|
flex-shrink: 0; /* 关键:不被压缩 */
|
||||||
|
padding: 18px 20px;
|
||||||
|
border-top: 1px solid #ebeef5;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 兼容el-card的默认样式覆盖 */
|
||||||
|
:deep(.el-card__header) {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
:deep(.el-card__body) {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -56,6 +56,11 @@ module.exports = {
|
|||||||
default: "url",
|
default: "url",
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
|
upload_size: {
|
||||||
|
type: Number,
|
||||||
|
default: 1024 * 1024 * 10,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
// 上传返回分类 数组或字符串逗号隔离 interval | array
|
// 上传返回分类 数组或字符串逗号隔离 interval | array
|
||||||
upload_result_category: {
|
upload_result_category: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -142,7 +147,39 @@ module.exports = {
|
|||||||
this.$emit("update:value", this.fileList)
|
this.$emit("update:value", this.fileList)
|
||||||
},
|
},
|
||||||
beforeRead(file) {
|
beforeRead(file) {
|
||||||
|
debugger
|
||||||
|
console.log(file)
|
||||||
|
console.log(this.upload_size)
|
||||||
|
if (file.size > this.upload_size) {
|
||||||
|
this.$toast("文件过大,请上传小于" + (this.upload_size / 1024 / 1024).toFixed(2) + "M的文件!")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.accept || typeof this.accept !== "string") {
|
||||||
return true
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 去除前后空格并转换为数组
|
||||||
|
const acceptTypes = this.accept
|
||||||
|
.trim()
|
||||||
|
.split(",")
|
||||||
|
.map((type) => type.trim().toUpperCase())
|
||||||
|
|
||||||
|
let fileType
|
||||||
|
const dotIndex = file.name.lastIndexOf(".")
|
||||||
|
if (dotIndex !== -1) {
|
||||||
|
fileType = file.name.substring(dotIndex).toUpperCase()
|
||||||
|
} else {
|
||||||
|
this.$toast("文件必须包含有效的扩展名!")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
const valid = acceptTypes.includes(fileType)
|
||||||
|
if (valid) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
this.$toast(`文件只能是 ${this.accept} 格式!`)
|
||||||
|
return false
|
||||||
},
|
},
|
||||||
afterRead(files) {
|
afterRead(files) {
|
||||||
this.fileList.map((f) => {
|
this.fileList.map((f) => {
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
:accept="fileAccept"
|
:accept="fileAccept"
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
list-type="picture-card"
|
list-type="picture-card"
|
||||||
|
:class="{ hide: hideUpload }"
|
||||||
>
|
>
|
||||||
<i class="el-icon-plus"></i>
|
<i class="el-icon-plus"></i>
|
||||||
<!-- <div class="el-upload__tip" v-if="fileList.length < upload_number">-->
|
<!-- <div class="el-upload__tip" v-if="fileList.length < upload_number">-->
|
||||||
@@ -212,10 +213,14 @@ module.exports = {
|
|||||||
tips = tips + '不限格式;'
|
tips = tips + '不限格式;'
|
||||||
}
|
}
|
||||||
if (fileSize) {
|
if (fileSize) {
|
||||||
tips = tips + `单个文件大小不能超过<span style="color: red">${fileSize / 1024 / 1024}</span>M;`
|
tips = tips + `单个文件大小不能超过<span style="color: red">${(fileSize / 1024 / 1024).toFixed(2)}</span>M;`
|
||||||
}
|
}
|
||||||
return tips
|
return tips
|
||||||
}
|
},
|
||||||
|
hideUpload() {
|
||||||
|
// 实时根据文件列表长度和限制数量计算
|
||||||
|
return this.fileList.length >= this.upload_number;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
buildFileObject(url, id) {
|
buildFileObject(url, id) {
|
||||||
@@ -309,38 +314,35 @@ module.exports = {
|
|||||||
beforeUpload(file) {
|
beforeUpload(file) {
|
||||||
|
|
||||||
if (file.size > this.upload_size) {
|
if (file.size > this.upload_size) {
|
||||||
this.$message.error("文件过大,请上传小于" + (this.upload_size / 1024 / 1024).toFixed(0) + "M的文件!")
|
this.$message.error("文件过大,请上传小于" + (this.upload_size / 1024 / 1024).toFixed(2) + "M的文件!")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!this.fileAccept || typeof this.fileAccept !== "string") {
|
||||||
return true
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// if (!this.fileAccept || typeof this.fileAccept !== "string") {
|
// 去除前后空格并转换为数组
|
||||||
// return true
|
const acceptTypes = this.fileAccept
|
||||||
// }
|
.trim()
|
||||||
//
|
.split(",")
|
||||||
// // 去除前后空格并转换为数组
|
.map((type) => type.trim().toUpperCase())
|
||||||
// const acceptTypes = this.fileAccept
|
|
||||||
// .trim()
|
let fileType
|
||||||
// .split(",")
|
const dotIndex = file.name.lastIndexOf(".")
|
||||||
// .map((type) => type.trim().toUpperCase())
|
if (dotIndex !== -1) {
|
||||||
//
|
fileType = file.name.substring(dotIndex).toUpperCase()
|
||||||
// let fileType
|
} else {
|
||||||
// const dotIndex = file.name.lastIndexOf(".")
|
this.$message.error("文件必须包含有效的扩展名!")
|
||||||
// if (dotIndex !== -1) {
|
return false
|
||||||
// fileType = file.name.substring(dotIndex).toUpperCase()
|
}
|
||||||
// } else {
|
|
||||||
// this.$message.error("文件必须包含有效的扩展名!")
|
const valid = acceptTypes.includes(fileType)
|
||||||
// return false
|
if (valid) {
|
||||||
// }
|
return true
|
||||||
//
|
}
|
||||||
// const valid = acceptTypes.includes(fileType)
|
this.$message.error(`文件只能是 ${this.fileAccept} 格式!`)
|
||||||
// if (valid) {
|
return false
|
||||||
// return true
|
|
||||||
// }
|
|
||||||
// this.$message.error(`文件只能是 ${this.fileAccept} 格式!`)
|
|
||||||
// return false
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 预览图片
|
// 预览图片
|
||||||
@@ -643,4 +645,7 @@ module.exports = {
|
|||||||
height: var(--upload-height, 148px);
|
height: var(--upload-height, 148px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hide .el-upload--picture-card {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -392,6 +392,7 @@
|
|||||||
Vue.component("excel-import", httpVueLoader("/components/plugins/sysImport/excelImport.vue?v=" + new Date().getTime()))
|
Vue.component("excel-import", httpVueLoader("/components/plugins/sysImport/excelImport.vue?v=" + new Date().getTime()))
|
||||||
Vue.component("flow-form-button", httpVueLoader("/components/plugins/flowable/formButton.vue?v=" + new Date().getTime()))
|
Vue.component("flow-form-button", httpVueLoader("/components/plugins/flowable/formButton.vue?v=" + new Date().getTime()))
|
||||||
Vue.component("snaker-flow", httpVueLoader("/components/plugins/snaker/snakerFlow.vue?v=" + new Date().getTime()))
|
Vue.component("snaker-flow", httpVueLoader("/components/plugins/snaker/snakerFlow.vue?v=" + new Date().getTime()))
|
||||||
|
Vue.component("custom-card", httpVueLoader("/components/plugins/sysCard/index.vue?v=" + new Date().getTime()))
|
||||||
Vue.component(
|
Vue.component(
|
||||||
"snaker-flow-task-form-action",
|
"snaker-flow-task-form-action",
|
||||||
httpVueLoader("/components/plugins/snaker/snakerFlowTaskFormAction.vue?v=" + new Date().getTime())
|
httpVueLoader("/components/plugins/snaker/snakerFlowTaskFormAction.vue?v=" + new Date().getTime())
|
||||||
|
|||||||
@@ -536,12 +536,6 @@ const basicForm = {
|
|||||||
}
|
}
|
||||||
this.formData.isDisabled = false
|
this.formData.isDisabled = false
|
||||||
await this.doHandle('提交')
|
await this.doHandle('提交')
|
||||||
} else {
|
|
||||||
if(Object.keys(errMsg).length > 0) {
|
|
||||||
this.$message.warning(errMsg[Object.keys(errMsg)[0]][0].message)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.$message.warning("存在必填项未填写")
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -230,12 +230,14 @@ layout("/layouts/platform.html"){
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row class="mt20" justify="end" type="flex">
|
</template>
|
||||||
|
|
||||||
|
<template #edit_footer>
|
||||||
<el-button @click="close">取消</el-button>
|
<el-button @click="close">取消</el-button>
|
||||||
<el-button type="primary" v-if="formData.isSubmit!=true" plain @click="doSave">保存</el-button>
|
<el-button type="primary" v-if="formData.isSubmit!=true" plain @click="doSave">保存</el-button>
|
||||||
<el-button type="primary" @click="doSubmit">确定</el-button>
|
<el-button type="primary" @click="doSubmit">确定</el-button>
|
||||||
</el-row>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</guava>
|
</guava>
|
||||||
|
|
||||||
<drawer-user-scope :group_id.sync="formData.activityGroupId" @group_change="getActivityGroup"
|
<drawer-user-scope :group_id.sync="formData.activityGroupId" @group_change="getActivityGroup"
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ const AU_FORM_TEMPLATE = {
|
|||||||
upload_result_category="array"
|
upload_result_category="array"
|
||||||
complete_result
|
complete_result
|
||||||
:accept="fileAccept"
|
:accept="fileAccept"
|
||||||
|
:upload_size="(chooseWorksType?.allowSingleFileSize / 1024 * 1024 * 1024) || 10 * 1024 * 1024"
|
||||||
></file-upload>
|
></file-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@@ -225,10 +225,11 @@ layout("/layouts/platform.html"){
|
|||||||
></file-upload>
|
></file-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row justify="end" style="justify-content: end" type="flex">
|
</template>
|
||||||
|
|
||||||
|
<template #edit_footer>
|
||||||
<el-button @click="$refs.guava.index()">取消</el-button>
|
<el-button @click="$refs.guava.index()">取消</el-button>
|
||||||
<el-button @click="save" type="primary" v-loading="submitLoading">提交</el-button>
|
<el-button @click="save" type="primary" v-loading="submitLoading">提交</el-button>
|
||||||
</el-row>
|
|
||||||
</template>
|
</template>
|
||||||
</guava>
|
</guava>
|
||||||
|
|
||||||
|
|||||||
@@ -180,13 +180,11 @@ const optionSelect = {
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item prop="sign" label="签字">
|
<el-form-item prop="userSign" label="签字" :required="projectInfo.signMode == 2">
|
||||||
<pc-signature v-model="contactForm.userSign"></pc-signature>
|
<pc-signature v-model="contactForm.userSign"></pc-signature>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -250,6 +248,13 @@ const optionSelect = {
|
|||||||
`,
|
`,
|
||||||
store,
|
store,
|
||||||
data() {
|
data() {
|
||||||
|
const validateUserSign = (rule, value, callback) => {
|
||||||
|
if (this.projectInfo.signMode === 2 && !value) {
|
||||||
|
callback(new Error("请签字"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
callback()
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
projectId: null, // 项目ID
|
projectId: null, // 项目ID
|
||||||
userId: null, // 用户id 代选的时候用得到
|
userId: null, // 用户id 代选的时候用得到
|
||||||
@@ -279,6 +284,9 @@ const optionSelect = {
|
|||||||
message: "请输入正确的手机号码",
|
message: "请输入正确的手机号码",
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
userSign: [
|
||||||
|
{validator: validateUserSign, message: "请签字", trigger: "blur"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
addressOptions: []
|
addressOptions: []
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ const applyForm = {
|
|||||||
upload_result_type="url"
|
upload_result_type="url"
|
||||||
complete_result
|
complete_result
|
||||||
:accept="fileAccept"
|
:accept="fileAccept"
|
||||||
|
:upload_size="(chooseWorksType?.allowSingleFileSize / 1024 * 1024 * 1024) || 10 * 1024 * 1024"
|
||||||
></h5-file-upload>
|
></h5-file-upload>
|
||||||
</template>
|
</template>
|
||||||
</van-field>
|
</van-field>
|
||||||
|
|||||||
@@ -128,7 +128,14 @@ layout("/layouts/platform_h5.html"){
|
|||||||
"pdf-preview": httpVueLoader("/components/plugins/sysFilePreview/PdfIndex.vue?v=" + new Date().getTime())
|
"pdf-preview": httpVueLoader("/components/plugins/sysFilePreview/PdfIndex.vue?v=" + new Date().getTime())
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onApply(row) {
|
async onApply(row) {
|
||||||
|
const res = await this.$axios.post('/platform/activity/basic/scope/getScopeUser', {
|
||||||
|
activityGroupId: Number(row.activityGroupId)
|
||||||
|
})
|
||||||
|
if (res.data === 0) {
|
||||||
|
this.$toast.fail("您没有权限参与此活动")
|
||||||
|
return
|
||||||
|
}
|
||||||
if (this.$moment().isBefore(this.$moment(row.startDateTime))) {
|
if (this.$moment().isBefore(this.$moment(row.startDateTime))) {
|
||||||
this.onView(row)
|
this.onView(row)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user