This commit is contained in:
server
2025-08-15 10:57:26 +08:00
parent 84a12a6d83
commit 8ebcc96407
8 changed files with 57 additions and 21 deletions
@@ -23,7 +23,7 @@ public class BpmProcessDefine extends BaseModel implements Serializable {
private String id; private String id;
@Column @Column
@ColDefine(type = ColType.VARCHAR,width = 30) @ColDefine(type = ColType.VARCHAR,width = 100)
@Comment("编码") @Comment("编码")
private String code; private String code;
@@ -234,4 +234,13 @@ public class SysLoginController {
return Result.success(validateService.getCaptcha()); return Result.success(validateService.getCaptcha());
} }
@At(value = "/platform/auth/userInfo",top = true)
@Ok("json")
@ApiOperation("获取登录用户信息")
public Result userInfo(){
Sys_user user = sysUserService.getUserAndMenuById(SecurityUtil.getUserId());
return Result.success(user);
}
} }
@@ -306,7 +306,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Sys_user> implements Sys
String decodePwd = Base64Decoder.decodeStr(passowrd); String decodePwd = Base64Decoder.decodeStr(passowrd);
String hashedPassword = PwdUtil.getPassword(decodePwd, user.getSalt()); String hashedPassword = PwdUtil.getPassword(decodePwd, user.getSalt());
if (!Strings.sNull(hashedPassword).equalsIgnoreCase(user.getPassword())) { if (!Strings.sNull(hashedPassword).equalsIgnoreCase(user.getPassword())) {
// throw new BaseException("用户名或者密码不正确"); throw new BaseException("用户名或者密码不正确");
} }
user = this.fetchLinks(user, "unit"); user = this.fetchLinks(user, "unit");
if (Lang.isNotEmpty(user.getUnit()) && StrUtil.isNotBlank(user.getUnit().getUnionId())) { if (Lang.isNotEmpty(user.getUnit()) && StrUtil.isNotBlank(user.getUnit().getUnionId())) {
@@ -6,6 +6,7 @@ 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;
import com.budwk.app.base.service.BaseService; import com.budwk.app.base.service.BaseService;
import com.budwk.app.sys.models.Sys_home_activity;
import com.budwk.app.zhgh.activity.qsv.models.QsvActivity; import com.budwk.app.zhgh.activity.qsv.models.QsvActivity;
import com.budwk.app.zhgh.activity.qsv.models.QsvOption; import com.budwk.app.zhgh.activity.qsv.models.QsvOption;
import com.budwk.app.zhgh.activity.qsv.models.QsvSubject; import com.budwk.app.zhgh.activity.qsv.models.QsvSubject;
@@ -57,6 +58,7 @@ public class QsvActivityController {
@At @At
@SaCheckPermission("qsv.activity") @SaCheckPermission("qsv.activity")
@ApiOperation("保存问卷基础信息") @ApiOperation("保存问卷基础信息")
@Aop(TransAop.READ_COMMITTED)
public Result save(QsvActivity qsvActivity) { public Result save(QsvActivity qsvActivity) {
if (qsvActivity.getCategory().equals("QUIZ")) { if (qsvActivity.getCategory().equals("QUIZ")) {
if (qsvActivity.getMode().equals("SCHEDULED")) { if (qsvActivity.getMode().equals("SCHEDULED")) {
@@ -66,6 +68,9 @@ public class QsvActivityController {
} }
} }
dao.insertOrUpdate(qsvActivity); dao.insertOrUpdate(qsvActivity);
Sys_home_activity sysHomeActivity = qsvActivity.covertToSysHomeActivity();
sysHomeActivity.setEnable(true);
dao.insertOrUpdate(sysHomeActivity);
return Result.success(); return Result.success();
} }
@@ -97,7 +97,7 @@ public class QsvQuizRankServiceImpl extends BaseServiceImpl<QsvUserAnswerRecord>
t1.loginName, t1.loginName,
t1.unitName, t1.unitName,
t1.unionName, t1.unionName,
t1.sex, u.sex,
u.mobile, u.mobile,
t1.totalScore, t1.totalScore,
t1.attemptDate, t1.attemptDate,
@@ -261,9 +261,12 @@
<!--vuex--> <!--vuex-->
<script type="text/javascript"> <script type="text/javascript">
console.log(${json(@auth.getPrincipalProperty('birthday'))}) $.get('/platform/auth/userInfo').then(res=>{
if(res.code===0){
window.sessionStorage.setItem("user",JSON.stringify(${json(@auth.getLogonUser())})) // window.sessionStorage.setItem("user",JSON.stringify(${json(@auth.getLogonUser())}))
window.sessionStorage.setItem("user",JSON.stringify(res.data))
}
})
window.store = new Vuex.Store({ window.store = new Vuex.Store({
plugins: [ plugins: [
createPersistedState({ createPersistedState({
@@ -9,7 +9,7 @@ const activity = {
<div style="background-color: #fff; position: relative; margin-bottom: 10px"> <div style="background-color: #fff; position: relative; margin-bottom: 10px">
<div style="display: flex; justify-content: center; align-items: center;border-bottom: 1px solid var(--border-color-lighter);padding-bottom: 8px"> <div style="display: flex; justify-content: center; align-items: center;border-bottom: 1px solid var(--border-color-lighter);padding-bottom: 8px">
<div <div
style="position: relative;flex-shrink: 1;width: 150px; height: 90px;margin-right: 10px; "> style="position: relative;flex-shrink: 1;width: 150px; height: 90px;margin-right: 10px; ">
<el-image :src="item.cover" alt="" fit="cover" <el-image :src="item.cover" alt="" fit="cover"
style="width: 100%; height: 100%; border-radius: 8px;"> style="width: 100%; height: 100%; border-radius: 8px;">
<div slot="error" class="image-slot"> <div slot="error" class="image-slot">
@@ -47,11 +47,21 @@ const activity = {
</div> </div>
<el-empty v-if="activityOptions.length === 0" description="暂无活动"></el-empty> <el-empty v-if="activityOptions.length === 0" description="暂无活动"></el-empty>
</el-card> </el-card>
<el-dialog :title="dialogTitle" :visible.sync="visible" width="30%">
<h6>该活动只支持手机端,请扫描二维码!</h6>
<div style="width: 100%;text-align: center">
<qrcode :options="{ width: 400 }" :value="h5url"></qrcode>
</div>
</el-dialog>
</div> </div>
`, `,
data() { data() {
return { return {
activityOptions: [] activityOptions: [],
dialogTitle: false,
visible: false,
h5url: null
} }
}, },
methods: { methods: {
@@ -63,7 +73,16 @@ const activity = {
}) })
}, },
enterActivity(item) { enterActivity(item) {
this.$store.dispatch("pjaxRoute", item.url) if (item.url) {
this.$store.dispatch("pjaxRoute", item.url)
return
}
this.visible = true
this.dialogTitle = item.name
this.h5url = location.origin + item.h5Url
} }
}, },
created() { created() {
@@ -82,8 +101,8 @@ const activity = {
.home-activity .el-empty { .home-activity .el-empty {
padding: 40px 0 !important; padding: 40px 0 !important;
} }
.home-activity .act-item-tag{ .home-activity .act-item-tag {
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 0; bottom: 0;
@@ -5,7 +5,7 @@ layout("/layouts/platform.html"){
.dashboard-title { .dashboard-title {
font-size: 22px; font-size: 22px;
font-weight: 600; font-weight: 600;
color: #217050; color: var(--color-primary);
} }
.dashboard-cards { .dashboard-cards {
@@ -29,7 +29,7 @@ layout("/layouts/platform.html"){
.statistic-card .statistic-value { .statistic-card .statistic-value {
font-size: 30px; font-size: 30px;
font-weight: 600; font-weight: 600;
color: #217050; color: var(--color-primary);
margin-bottom: 10px; margin-bottom: 10px;
} }
@@ -372,7 +372,7 @@ layout("/layouts/platform.html"){
}, },
legend: { position: "right" }, legend: { position: "right" },
interactions: [{ type: "element-active" }], interactions: [{ type: "element-active" }],
color: ["#217050", "#5fad85"] color: ["#006db9", "#006db9"]
}) })
} else { } else {
this.charts.genderChart = new G2Plot.Column("genderChart", { this.charts.genderChart = new G2Plot.Column("genderChart", {
@@ -384,7 +384,7 @@ layout("/layouts/platform.html"){
}, },
color: ({ type }) => { color: ({ type }) => {
if (type === "男") return "#217050" if (type === "男") return "#217050"
return "#5fad85" return "#006db9"
}, },
columnWidthRatio: 0.4 columnWidthRatio: 0.4
}) })
@@ -412,7 +412,7 @@ layout("/layouts/platform.html"){
range: { alias: "年龄段" }, range: { alias: "年龄段" },
count: { alias: "人数" } count: { alias: "人数" }
}, },
color: "#217050", color: "#006db9",
xAxis: { xAxis: {
label: { label: {
autoHide: false, autoHide: false,
@@ -465,7 +465,7 @@ layout("/layouts/platform.html"){
}, },
interactions: [{ type: "element-active" }], interactions: [{ type: "element-active" }],
legend: { position: "right" }, legend: { position: "right" },
color: ["#217050", "#5fad85", "#89d0af", "#c2e6d4", "#136343"] color: ["#1a8cff", "#4da6ff", "#80c0ff", "#b3d9ff", "#006db9"]
}) })
} else { } else {
this.charts.educationChart = new G2Plot.Column("educationChart", { this.charts.educationChart = new G2Plot.Column("educationChart", {
@@ -475,7 +475,7 @@ layout("/layouts/platform.html"){
label: { label: {
position: "top" position: "top"
}, },
color: "#217050", color: "#006db9",
xAxis: { xAxis: {
label: { label: {
autoHide: false, autoHide: false,
@@ -511,7 +511,7 @@ layout("/layouts/platform.html"){
}, },
interactions: [{ type: "element-active" }], interactions: [{ type: "element-active" }],
legend: { position: "right" }, legend: { position: "right" },
color: ["#217050", "#5fad85", "#89d0af", "#c2e6d4", "#136343"] color: ["#1a8cff", "#4da6ff", "#80c0ff", "#b3d9ff", "#006db9"]
}) })
} else { } else {
this.charts.incomeChart = new G2Plot.Column("incomeChart", { this.charts.incomeChart = new G2Plot.Column("incomeChart", {
@@ -555,7 +555,7 @@ layout("/layouts/platform.html"){
legend: { legend: {
position: "top-right" position: "top-right"
}, },
color: ["#217050", "#5fad85", "#89d0af", "#c2e6d4", "#136343"], color: ["#1a8cff", "#4da6ff", "#80c0ff", "#b3d9ff", "#006db9"],
label: { label: {
position: "middle", position: "middle",
layout: [{ type: "interval-adjust-position" }] layout: [{ type: "interval-adjust-position" }]
@@ -567,7 +567,7 @@ layout("/layouts/platform.html"){
data: processedData, data: processedData,
colorField: "value", colorField: "value",
legend: false, legend: false,
color: ["#e8f5e9", "#c2e6d4", "#89d0af", "#5fad85", "#217050"] color: ["#1a8cff", "#4da6ff", "#80c0ff", "#b3d9ff", "#006db9"]
}) })
} }