
diff --git a/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java b/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java
index adbcab67..d0c7c8d9 100644
--- a/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java
+++ b/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java
@@ -131,7 +131,8 @@ public class SysSignatureController {
@Aop(TransAop.READ_COMMITTED)
public Result update(@Param("file") TempFile tempFile) {
String url = sysFileService.uploadReturnUrl(SysFileEngineTypeEnum.MINIO.getValue(), tempFile);
- Sys_user_signature sysUserSignature = dao.fetch(Sys_user_signature.class);
+ // 签字记录必须按当前登录用户读取,避免后续用户更新时覆盖其他用户的签字。
+ Sys_user_signature sysUserSignature = dao.fetch(Sys_user_signature.class, Cnd.where(Sys_user_signature::getUserId, "=", SecurityUtil.getUserId()));
if (ObjectUtil.isNull(sysUserSignature)) {
sysUserSignature = new Sys_user_signature();
}
diff --git a/src/main/resources/views/layouts/platform_h5.html b/src/main/resources/views/layouts/platform_h5.html
index b5f16e09..be69f88f 100644
--- a/src/main/resources/views/layouts/platform_h5.html
+++ b/src/main/resources/views/layouts/platform_h5.html
@@ -257,10 +257,14 @@
window.customStyleList = document.querySelectorAll('style[id^="style-"]')
})
$(document).on("pjax:complete", function () {
+ // PJAX 替换 #container 时可能已经移除旧样式节点,清理前需兼容节点脱离 DOM 的情况。
if (window.customStyleList) {
window.customStyleList.forEach((style) => {
- style.parentNode.removeChild(style)
+ if (style.parentNode) {
+ style.parentNode.removeChild(style)
+ }
})
+ window.customStyleList = null
}
NProgress.done()
toggleShowBar()
@@ -287,7 +291,7 @@
})()
function pjaxReplace(url, data = null) {
- $.pjax({
+ return $.pjax({
url: url,
container: "#container",
maxCacheLength: 0,
diff --git a/src/main/resources/views/platform/zhghh5/democratic/proposal/common/info.css b/src/main/resources/views/platform/zhghh5/democratic/proposal/common/info.css
index 84de1605..26f9a31d 100644
--- a/src/main/resources/views/platform/zhghh5/democratic/proposal/common/info.css
+++ b/src/main/resources/views/platform/zhghh5/democratic/proposal/common/info.css
@@ -49,6 +49,63 @@
column-gap: 10px;
}
+/* 提案页面按需启用的圆角按钮与分页样式,不影响未声明对应 class 的组件。 */
+.proposal-soft-button,
+.proposal-soft-pagination {
+ --proposal-soft-primary: #1989fa;
+}
+
+/* 提案审核弹框的次要操作按钮统一使用柔和圆角,不包含阴影或漫反射效果。 */
+.proposal-rounded-button {
+ border-radius: 14px;
+}
+
+.proposal-soft-pagination {
+ column-gap: 2px;
+}
+
+.proposal-soft-button {
+ border-color: var(--proposal-soft-primary);
+ border-radius: 14px;
+ background-color: var(--proposal-soft-primary);
+}
+
+/* 保持危险操作原有红色语义。 */
+.proposal-soft-button--danger {
+ border-color: #ff4d4f;
+ background-color: #ff4d4f;
+}
+
+/* 保持退回类操作原有橙色语义。 */
+.proposal-soft-button--warning {
+ border-color: #ff976a;
+ background-color: #ff976a;
+}
+
+.proposal-soft-pagination .van-pagination__item {
+ color: var(--proposal-soft-primary);
+ background-color: #f8fbff;
+ border-radius: 12px;
+ transition: color 0.2s ease, background-color 0.2s ease;
+}
+
+.proposal-soft-pagination .van-pagination__item::after {
+ border-color: rgba(25, 137, 250, 0.16);
+ border-radius: inherit;
+}
+
+.proposal-soft-pagination .van-pagination__item--active,
+.proposal-soft-pagination .van-pagination__item:not(.van-pagination__item--disabled):active {
+ color: #fff;
+ background-color: var(--proposal-soft-primary);
+}
+
+.proposal-soft-pagination .van-pagination__item--disabled,
+.proposal-soft-pagination .van-pagination__item--disabled:active {
+ color: #646566;
+ background-color: #f7f8fa;
+}
+
.proposal-action-icon {
margin-right: 6px;
font-size: 15px;
diff --git a/src/main/resources/views/platform/zhghh5/democratic/proposal/common/task-popup.js b/src/main/resources/views/platform/zhghh5/democratic/proposal/common/task-popup.js
index 2d5b4b3a..f2a1cf7f 100644
--- a/src/main/resources/views/platform/zhghh5/democratic/proposal/common/task-popup.js
+++ b/src/main/resources/views/platform/zhghh5/democratic/proposal/common/task-popup.js
@@ -28,9 +28,9 @@ const PROPOSAL_TASK_POPUP = {
- 答复内容*