This commit is contained in:
=
2025-09-30 16:02:24 +08:00
8 changed files with 171 additions and 106 deletions
@@ -5,7 +5,11 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
@@ -13,21 +17,32 @@ import com.budwk.app.base.service.BaseService;
import com.budwk.app.base.utils.CommonDownloadUtil;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
import com.budwk.app.flow.service.FlowCommonService;
import com.budwk.app.sys.models.Sys_role;
import com.budwk.app.sys.models.Sys_user_role;
import com.budwk.app.sys.views.View_user;
import com.budwk.app.zhgh.democratic.teachercongress.delegate.models.TeacherCongressDelegatePush;
import com.budwk.app.zhgh.democratic.teachercongress.delegate.models.Teacher_congress_delegate;
import com.budwk.app.zhgh.democratic.teachercongress.delegation.models.Teacher_congress_delegation_union;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.SqlExpressionGroup;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@@ -45,6 +60,9 @@ public class TeacherCongressDelegatePushZgAuditController {
@Inject
private BaseService baseService;
@Inject
private FlowCommonService flowCommonService;
@At("")
@Ok("beetl:/platform/zhgh/democratic/teachercongress/delegate/push/zcAudit.html")
@SaCheckPermission("tc.delegate.push.zcAudit")
@@ -182,4 +200,64 @@ public class TeacherCongressDelegatePushZgAuditController {
}
@At
@ApiOperation("审查通过")
@Aop(TransAop.READ_COMMITTED)
@SaCheckPermission("tc.delegate.push.zcAudit")
@SLog(tag = "代表管理-代表资格审查", msg = "审查通过")
public Result submit(@Param("data") String param, @Valid String id) {
TeacherCongressDelegatePush delegatePush = baseService.dao().fetch(TeacherCongressDelegatePush.class, id);
View_user user = baseService.dao().fetch(View_user.class, Cnd.where("id", "=", delegatePush.getUserId()));
if (delegatePush.getIsJdh()) {
Teacher_congress_delegate delegate = new Teacher_congress_delegate();
Sys_user_role userRole = new Sys_user_role();
delegate.setUserId(user.getId());
delegate.setLoginName(user.getLoginname());
delegate.setUserName(user.getUsername());
delegate.setSex(user.getSex());
delegate.setAge(delegatePush.getAge());
delegate.setMobile(user.getMobile());
delegate.setUnitId(user.getUnitId());
delegate.setUnitName(user.getUnitName());
delegate.setUnionId(user.getUnionId());
delegate.setUnionName(user.getUnionName());
delegate.setSessionId(delegatePush.getSessionId());
Teacher_congress_delegation_union delegation_union = baseService.dao().fetch(Teacher_congress_delegation_union.class,
Cnd.where(Teacher_congress_delegation_union::getUnionId, "=", user.getUnionId())
.and(Teacher_congress_delegation_union::getSessionId, "=", delegatePush.getSessionId()));
if (ObjectUtil.isNotEmpty(delegation_union)) {
delegate.setDelegationId(delegation_union.getId());
userRole.setTcDelegationId(delegation_union.getId());
} else {
return Result.error(user.getUnionName() + "没有设置到代表团,请先在代表团管理里设置。");
}
if ("正式代表".equals(delegatePush.getRepresentativeType())) {
Sys_role sys_role = baseService.dao().fetch(Sys_role.class, Cnd.where(Sys_role::getCode, "=", RoleConstant.TEACHER_CONGRESS_DELEGATE_FORMAL.name()));
delegate.setRoleId(sys_role.getId());
userRole.setRoleId(sys_role.getId());
}
if ("列席代表".equals(delegatePush.getRepresentativeType())) {
Sys_role sys_role = baseService.dao().fetch(Sys_role.class, Cnd.where(Sys_role::getCode, "=", RoleConstant.TEACHER_CONGRESS_DELEGATE_ATTENDANCE.name()));
delegate.setRoleId(sys_role.getId());
delegate.setRoleId(sys_role.getId());
userRole.setRoleId(sys_role.getId());
}
userRole.setUserId(user.getId());
userRole.setTcSessionId(delegatePush.getSessionId());
baseService.dao().insert(delegate);
baseService.dao().insert(userRole);
}
Dict args = Json.fromJson(Dict.class, param);
flowCommonService.executeTask(args);
return Result.success();
}
}
@@ -1,45 +1,29 @@
package com.budwk.app.zhgh.staffmanage.member.controller.apply;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.constant.BpmProcessConstant;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.bpm.enums.BpmProcessTaskStatusEnum;
import com.budwk.app.bpm.enums.BpmTaskApprovalTypeEnum;
import com.budwk.app.bpm.param.BpmTaskApprovalParam;
import com.budwk.app.bpm.service.BpmService;
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.web.commons.base.Globals;
import com.budwk.app.web.controllers.open.commons.service.CommonService;
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberApplyPageForm;
import com.budwk.app.zhgh.staffmanage.member.service.MemberApplyRecordService;
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
import com.budwk.app.zhgh.staffmanage.member.vo.MemberCommonVo;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.Static;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 会员入会申请分工会审核
@@ -14,7 +14,7 @@ layout("/layouts/platform.html"){
</el-select>
</search-item>
<search-item label="分工会">
<el-select v-model="pageForm.unionId" filterable clearable style="width: 100%">
<el-select v-model="pageForm.unionId" filterable clearable style="width: 100%">
<el-option v-for="i in unionOptions" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</search-item>
@@ -33,7 +33,7 @@ layout("/layouts/platform.html"){
<el-radio-button :label="true">已审核</el-radio-button>
<el-radio-button :label="false">未审核</el-radio-button>
</el-radio-group>
<el-button type="primary" size="small" @click="exportExcel" class="ml5">导出</el-button>
<el-button type="primary" size="small" @click="exportExcel" class="ml5">导出</el-button>
</table-tool>
<el-table
@@ -42,16 +42,16 @@ layout("/layouts/platform.html"){
row-key="id"
@sort-change="pageOrder"
>
<el-table-column type="selection" width="55" reserve-selection></el-table-column>
<!-- <el-table-column type="selection" width="55" reserve-selection></el-table-column>-->
<el-table-column type="index" width="55" label="序号" :index="indexMethod"></el-table-column>
<el-table-column label="姓名" prop="userName" width="100"></el-table-column>
<el-table-column label="工号" prop="loginName"></el-table-column>
<el-table-column label="性别" prop="sex" width="50"></el-table-column>
<el-table-column label="分工会" prop="unionName" show-overflow-tooltip></el-table-column>
<!-- <el-table-column label="民族" prop="nation"></el-table-column>&lt;!&ndash;
<el-table-column label="政治面貌" prop="political"
show-overflow-tooltip></el-table-column>
<el-table-column label="学历" prop="education"></el-table-column>-->
<!-- <el-table-column label="民族" prop="nation"></el-table-column>&lt;!&ndash;
<el-table-column label="政治面貌" prop="political"
show-overflow-tooltip></el-table-column>
<el-table-column label="学历" prop="education"></el-table-column>-->
<el-table-column label="职称" prop="professionalTitle"></el-table-column>
<el-table-column label="职级" prop="professionalLevel"></el-table-column>
<el-table-column label="是否高级职称" prop="seniorTeacher">
@@ -175,11 +175,11 @@ layout("/layouts/platform.html"){
processTaskId: row.taskId,
taskName: row.curTaskName
}
this.$axios.post("/flow/common/executeTask", {
this.$axios.post("/platform/teacherCongress/delegate/push/zcAudit/submit", {
data: JSON.stringify({
...this.formData,
submitType: submitType
})
}), id: row.id
}).then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
@@ -393,6 +393,7 @@ layout("/layouts/platform.html"){
campus,
userState,
personType,
preparedBy,
idCard,
mobile,
email,
@@ -414,6 +415,7 @@ layout("/layouts/platform.html"){
this.$set(this.formData, "campus", campus)
this.$set(this.formData, "userState", userState)
this.$set(this.formData, "personType", personType)
this.$set(this.formData, "preparedBy", preparedBy)
this.$set(this.formData, "unitName", unit ? unit.name : unitName)
this.$set(this.formData, "unitId", unit ? unit.id : unitId)
this.$set(this.formData, "unionName", union ? union.name : unionName)
@@ -31,7 +31,7 @@ const INFO = {
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
<el-descriptions-item label="教职工类别">{{ viewData.personType }}</el-descriptions-item>
<el-descriptions-item label="进校时间">{{ viewData.schoolTime }}</el-descriptions-item>
<el-descriptions-item label="编制类别">{{ viewData.preparedBy }}</el-descriptions-item>
<template v-if="viewData.userState == '退休'">
<el-descriptions-item label="退休日期">{{ viewData.retireDate ?
@@ -25,7 +25,7 @@ const MEMBER_ALL_CHANGE_INFO = {
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
<el-descriptions-item label="教职工类别">{{ viewData.personType }}</el-descriptions-item>
<el-descriptions-item label="进校时间">{{ viewData.schoolTime }}</el-descriptions-item>
<el-descriptions-item label="编制类别">{{ viewData.preparedBy }}</el-descriptions-item>
<template v-if="viewData.userState == '退休'">
<el-descriptions-item label="退休日期">{{ viewData.retireDate ? $moment(viewData.retireDate).format("YYYY-MM-DD") : '暂无' }}</el-descriptions-item>
@@ -139,18 +139,18 @@ const MEMBER_CHANGE = {
:disabled="allowFields('userState')" style="width: 100%"></dict-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="编制类别">
<el-form-item prop="preparedBy">
<dict-select v-model="formData.preparedBy" code="USER_PREPARED_BY_TYPE"
:disabled="allowFields('preparedBy')" style="width: 100%"></dict-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="教职工类别">
<el-form-item prop="personType">
<dict-select v-model="formData.personType" code="USER_PERSON_TYPE"
:disabled="allowFields('personType')" style="width: 100%"></dict-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="编制类别">
<el-form-item prop="preparedBy">
<dict-select v-model="formData.preparedBy" code="USER_PREPARED_BY_TYPE"
:disabled="allowFields('preparedBy')" style="width: 100%"></dict-select>
</el-form-item>
</el-descriptions-item>
<template v-if="formData.userState == '退休'">
<el-descriptions-item label="退休日期">
@@ -567,7 +567,7 @@ const optionSelect = {
},
style: /*language=CSS*/ `
/* 全局变量 */
:root {
/deep/ :root {
--primary-color: #409EFF;
--primary-light: #ecf5ff;
--text-primary: #303133;
@@ -580,7 +580,7 @@ const optionSelect = {
}
/* 主容器样式 */
.welfare-select-container {
/deep/ .welfare-select-container {
background: linear-gradient(135deg, #f5f7fa 0%, #ffffff 100%);
padding: 16px;
border-radius: 8px;
@@ -589,7 +589,7 @@ const optionSelect = {
}
/* 截止时间提醒 */
.welfare-deadline {
/deep/ .welfare-deadline {
background: linear-gradient(135deg, #fff7f7 0%, #fff 100%);
border-left: 3px solid var(--danger-color);
padding: 12px 16px;
@@ -614,23 +614,23 @@ const optionSelect = {
}
}
.welfare-deadline i {
/deep/ .welfare-deadline i {
margin-right: 8px;
font-size: 16px;
}
/* 选择提示 */
.welfare-notice {
/deep/ .welfare-notice {
margin-bottom: 16px;
}
.welfare-notice .el-alert {
/deep/ .welfare-notice .el-alert {
border-radius: 6px;
padding: 12px 16px;
}
/* 内容区域 */
.welfare-content {
/deep/ .welfare-content {
display: flex;
flex-direction: column;
gap: 16px;
@@ -638,7 +638,7 @@ const optionSelect = {
}
/* 项目信息卡片 */
.welfare-info-card {
/deep/ .welfare-info-card {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
@@ -647,14 +647,14 @@ const optionSelect = {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.project-cover {
/deep/ .project-cover {
height: 140px;
overflow: hidden;
position: relative;
margin: -10px -20px 16px;
}
.project-cover::after {
/deep/ .project-cover::after {
content: '';
position: absolute;
bottom: 0;
@@ -664,13 +664,13 @@ const optionSelect = {
background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}
.project-cover .el-image {
/deep/ .project-cover .el-image {
width: 100%;
height: 100%;
object-fit: cover;
}
.welfare-info-header {
/deep/ .welfare-info-header {
padding: 14px 16px;
border-bottom: 1px solid var(--border-color);
font-size: 16px;
@@ -681,41 +681,41 @@ const optionSelect = {
background: linear-gradient(135deg, #f8f9fb 0%, #fff 100%);
}
.welfare-info-header i {
/deep/ .welfare-info-header i {
margin-right: 8px;
color: var(--primary-color);
font-size: 18px;
}
.info-item {
/deep/ .info-item {
display: flex;
padding: 12px 16px;
border-bottom: 1px solid var(--border-color);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.info-item:hover {
/deep/ .info-item:hover {
background: var(--primary-light);
}
.info-item:last-child {
/deep/ .info-item:last-child {
border-bottom: none;
}
.info-label {
/deep/ .info-label {
width: 100px;
color: var(--text-secondary);
font-weight: 500;
flex-shrink: 0;
}
.info-value {
/deep/ .info-value {
flex: 1;
color: var(--text-primary);
}
/* 福利选项卡片 */
.welfare-options-card {
/deep/ .welfare-options-card {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
@@ -723,7 +723,7 @@ const optionSelect = {
overflow: hidden;
}
.options-count {
/deep/ .options-count {
font-size: 14px;
color: var(--text-light);
font-weight: normal;
@@ -732,7 +732,7 @@ const optionSelect = {
}
/* 选项网格 */
.welfare-options-grid {
/deep/ .welfare-options-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 16px;
@@ -740,7 +740,7 @@ const optionSelect = {
}
/* 选项卡片 */
.welfare-option {
/deep/ .welfare-option {
position: relative;
border-radius: 6px;
overflow: hidden;
@@ -755,17 +755,17 @@ const optionSelect = {
animation: fadeIn 0.6s ease-out forwards;
}
.welfare-option:hover {
/deep/ .welfare-option:hover {
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
}
.welfare-option.selected {
/deep/ .welfare-option.selected {
border-color: var(--primary-color);
box-shadow: 0 4px 16px rgba(64, 158, 255, 0.15);
}
.welfare-option.selected::before {
/deep/ .welfare-option.selected::before {
content: '';
position: absolute;
top: 0;
@@ -777,7 +777,7 @@ const optionSelect = {
}
/* 选项标签 */
.option-tag {
/deep/ .option-tag {
position: absolute;
top: 8px;
right: 8px;
@@ -790,14 +790,14 @@ const optionSelect = {
}
/* 选项图片 */
.option-image {
/deep/ .option-image {
width: 100%;
height: 160px;
overflow: hidden;
position: relative;
}
.option-image::after {
/deep/ .option-image::after {
content: '';
position: absolute;
bottom: 0;
@@ -807,18 +807,18 @@ const optionSelect = {
background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
}
.option-image .el-image {
/deep/ .option-image .el-image {
width: 100%;
height: 100%;
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.welfare-option:hover .option-image .el-image {
/deep/ .welfare-option:hover .option-image .el-image {
transform: scale(1.06);
}
/* 选项内容 */
.option-content {
/deep/ .option-content {
padding: 12px 16px;
flex: 1;
display: flex;
@@ -827,7 +827,7 @@ const optionSelect = {
background: linear-gradient(135deg, #fff 0%, #f8f9fb 100%);
}
.option-title {
/deep/ .option-title {
font-size: 14px;
font-weight: 600;
color: var(--text-primary);
@@ -841,7 +841,7 @@ const optionSelect = {
padding-right: 24px;
}
.option-detail-btn {
/deep/ .option-detail-btn {
display: inline-flex;
align-items: center;
color: var(--primary-color);
@@ -854,41 +854,41 @@ const optionSelect = {
cursor: pointer;
}
.option-detail-btn i {
/deep/ .option-detail-btn i {
margin-right: 4px;
font-size: 14px;
}
.option-detail-btn:hover {
/deep/ .option-detail-btn:hover {
background: #dceeff;
transform: translateX(4px);
}
/* 选择控件 */
.option-radio {
/deep/ .option-radio {
position: absolute;
top: 12px;
right: 12px;
}
.option-stepper {
/deep/ .option-stepper {
position: absolute;
bottom: 12px;
right: 12px;
}
.option-stepper .el-input-number {
/deep/ .option-stepper .el-input-number {
width: 100px;
}
/* 底部按钮 */
.welfare-footer {
/deep/ .welfare-footer {
display: flex;
justify-content: center;
padding: 16px 0;
}
.welfare-footer .el-button {
/deep/ .welfare-footer .el-button {
min-width: 140px;
height: 40px;
font-size: 15px;
@@ -897,21 +897,21 @@ const optionSelect = {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.welfare-footer .el-button:hover {
/deep/ .welfare-footer .el-button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(64, 158, 255, 0.25);
}
/* 确认弹窗样式 */
.welfare-confirm-dialog {
/deep/ .welfare-confirm-dialog {
border-radius: 8px;
}
.confirm-content {
/deep/ .confirm-content {
padding: 16px 0;
}
.confirm-section-title {
/deep/ .confirm-section-title {
font-size: 15px;
color: var(--text-primary);
margin-bottom: 12px;
@@ -920,7 +920,7 @@ const optionSelect = {
padding-left: 10px;
}
.confirm-section-title::before {
/deep/ .confirm-section-title::before {
content: '';
position: absolute;
left: 0;
@@ -932,11 +932,11 @@ const optionSelect = {
border-radius: 2px;
}
.confirm-mobile-section {
/deep/ .confirm-mobile-section {
margin-bottom: 20px;
}
.selected-items {
/deep/ .selected-items {
background: #f8f9fb;
border-radius: 8px;
padding: 16px;
@@ -945,7 +945,7 @@ const optionSelect = {
overflow-y: auto;
}
.selected-item {
/deep/ .selected-item {
display: flex;
justify-content: space-between;
align-items: center;
@@ -957,23 +957,23 @@ const optionSelect = {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.selected-item:last-child {
/deep/ .selected-item:last-child {
margin-bottom: 0;
}
.selected-item:hover {
/deep/ .selected-item:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.selected-item-left {
/deep/ .selected-item-left {
display: flex;
align-items: center;
flex: 1;
min-width: 0;
}
.selected-item-image {
/deep/ .selected-item-image {
width: 60px;
height: 60px;
border-radius: 8px;
@@ -984,13 +984,13 @@ const optionSelect = {
border: 1px solid rgba(0, 0, 0, 0.06);
}
.selected-item-image .el-image {
/deep/ .selected-item-image .el-image {
width: 100%;
height: 100%;
display: block;
}
.image-slot {
/deep/ .image-slot {
display: flex;
justify-content: center;
align-items: center;
@@ -1000,13 +1000,13 @@ const optionSelect = {
font-size: 20px;
}
.selected-item-info {
/deep/ .selected-item-info {
flex: 1;
min-width: 0;
padding: 4px 0;
}
.selected-item-name {
/deep/ .selected-item-name {
color: var(--text-primary);
font-weight: 500;
font-size: 15px;
@@ -1017,25 +1017,25 @@ const optionSelect = {
white-space: nowrap;
}
.selected-item-quantity {
/deep/ .selected-item-quantity {
color: var(--text-secondary);
font-size: 13px;
display: flex;
align-items: center;
}
.selected-item-quantity i {
/deep/ .selected-item-quantity i {
margin-right: 4px;
font-size: 14px;
color: var(--primary-color);
}
.selected-item-right {
/deep/ .selected-item-right {
flex-shrink: 0;
margin-left: 16px;
}
.selected-item-right .el-tag {
/deep/ .selected-item-right .el-tag {
font-size: 13px;
font-weight: 600;
padding: 0 10px;
@@ -1044,7 +1044,7 @@ const optionSelect = {
border-radius: 12px;
}
.confirm-total {
/deep/ .confirm-total {
display: flex;
justify-content: space-between;
align-items: center;
@@ -1054,19 +1054,19 @@ const optionSelect = {
margin-top: 16px;
}
.total-label {
/deep/ .total-label {
color: var(--text-secondary);
font-weight: 500;
font-size: 14px;
}
.total-value {
/deep/ .total-value {
color: var(--primary-color);
font-weight: 600;
font-size: 15px;
}
.confirm-warning {
/deep/ .confirm-warning {
margin-top: 16px;
padding: 10px 14px;
background: #fff7e6;
@@ -1077,17 +1077,17 @@ const optionSelect = {
font-size: 13px;
}
.confirm-warning.warning {
/deep/ .confirm-warning.warning {
background: #fef0f0;
color: var(--danger-color);
}
.confirm-warning i {
/deep/ .confirm-warning i {
margin-right: 6px;
font-size: 16px;
}
.deadline-info {
/deep/ .deadline-info {
margin-top: 12px;
padding: 10px 14px;
background: var(--primary-light);
@@ -1098,22 +1098,23 @@ const optionSelect = {
font-size: 13px;
}
/deep/
.deadline-info i {
margin-right: 6px;
font-size: 16px;
}
/* 详情弹窗 */
.welfare-detail-dialog {
/deep/ .welfare-detail-dialog {
border-radius: 8px;
}
.welfare-detail-popup {
/deep/ .welfare-detail-popup {
padding: 16px;
min-height: 200px;
}
.welfare-detail-title {
/deep/ .welfare-detail-title {
font-size: 18px;
font-weight: 600;
color: var(--text-primary);
@@ -1123,14 +1124,14 @@ const optionSelect = {
text-align: center;
}
.welfare-detail-content {
/deep/ .welfare-detail-content {
color: var(--text-secondary);
line-height: 1.6;
font-size: 14px;
}
/* 加载状态 */
.welfare-loading {
/deep/ .welfare-loading {
min-height: 300px;
display: flex;
align-items: center;
@@ -1149,7 +1150,7 @@ const optionSelect = {
}
}
.welfare-select-container > * {
/deep/ .welfare-select-container > * {
animation: fadeIn 0.5s ease-out forwards;
}
`