lion 4 months ago
parent 3e45443650
commit 32535a7705

@ -1088,29 +1088,31 @@ export default function formBuilder(
value["custom_field_id"] === info.id
) {
isJointly = !!log.is_jointly_sign;
if (log.status) {
if (log.status > 0 && log.user) {
jointlySignContent.push(
h("div", [
h("span", value.value),
h("br"),
info.is_sign
? log.user.sign_file && log.user.sign_file.url
? log.user?.sign_file?.url
? h("el-image", {
style: {
"max-height": "80px",
"max-width": "120px",
display: "block",
},
props: {
src: log.user?.sign_file?.url,
src: log.user.sign_file.url,
fit: "contain",
alt: log.user?.name,
alt: log.user?.name || "",
"preview-src-list": [log.user.sign_file.url],
lazy: false,
},
attrs: {
src: log.user?.sign_file?.url,
alt: log.user?.name,
src: log.user.sign_file.url,
},
})
: h("span", log.user?.name)
: h("span", log.user?.name || "")
: "",
info.is_sign ? h("br") : "",
h(
@ -1176,43 +1178,108 @@ export default function formBuilder(
}
})(),
(() => {
if (info.is_sign) {
let log = this.logs.find(
(log) =>
log.status>0 && log.node?.fields?.findIndex(
(field) =>
field?.field_id === info.id &&
field.type === "write"
) !== -1 && target[info.name]
);
if (log && log.status && log.user) {
return h("div", [
log.user.sign_file && log.user.sign_file.url
? h("el-image", {
style: {
"max-height": "80px",
"max-width": "120px",
},
props: {
src: log.user?.sign_file?.url,
fit: "contain",
alt: log.user?.name,
},
attrs: {
src: log.user?.sign_file?.url,
alt: log.user?.name,
},
})
: h("span", log.user?.name),
// 检查 is_sign 是否为真值(支持 1, true, "1" 等)
if (info.is_sign && (info.is_sign === 1 || info.is_sign === true || info.is_sign === "1")) {
let log = null;
// 方法1: 从 jointlySignLog 中查找(检查所有字段)
if (this.jointlySignLog && this.jointlySignLog.length > 0) {
log = this.jointlySignLog.find((log) => {
if (log.status > 0 && log.user && log.user.sign_file && log.user.sign_file.url) {
try {
const data = JSON.parse(log.data);
// 检查 data 中是否有匹配当前字段的条目
return Object.values(data).some(
(value) =>
value &&
typeof value === 'object' &&
value.custom_field_id === info.id
);
} catch (e) {
return false;
}
}
return false;
});
}
// 方法2: 如果没找到,从 this.logs 中查找(放宽条件,不要求 target[info.name] 有值)
if (!log && this.logs && this.logs.length > 0) {
log = this.logs.find(
(log) =>
log.status > 0 &&
log.user &&
log.user.sign_file &&
log.user.sign_file.url &&
log.node?.fields?.findIndex(
(field) =>
field?.field_id === info.id &&
field.type === "write"
) !== -1
);
}
// 方法3: 如果还是没找到,尝试从 this.logs 中查找所有 status>0 且有签名的 log
if (!log && this.logs && this.logs.length > 0) {
log = this.logs.find(
(log) =>
log.status > 0 &&
log.user &&
log.user.sign_file &&
log.user.sign_file.url
);
}
if (log && log.status > 0 && log.user && log.user.sign_file && log.user.sign_file.url) {
return h("div", {
style: {
"margin-top": "8px",
}
}, [
h("el-image", {
style: {
"max-height": "80px",
"max-width": "120px",
display: "block",
},
props: {
src: log.user.sign_file.url,
fit: "contain",
alt: log.user?.name || "",
"preview-src-list": [log.user.sign_file.url],
lazy: false,
},
attrs: {
src: log.user.sign_file.url,
},
}),
h(
"div",
this.$moment(log.updated_at).format(
"YYYY年MM月DD日"
)
{
style: {
"margin-top": "4px",
"font-size": "12px",
color: "#909399",
}
},
log.user?.name || ""
),
h(
"div",
{
style: {
"font-size": "12px",
color: "#909399",
}
},
log.updated_at
? this.$moment(log.updated_at).format("YYYY年MM月DD日")
: ""
),
]);
}
}
return null;
})(),
]
);
@ -2006,29 +2073,31 @@ export default function formBuilder(
value["custom_field_id"] === info.id
) {
isJointly = !!log.is_jointly_sign;
if (log.status) {
if (log.status > 0 && log.user) {
jointlySignContent.push(
h("div", [
h("span", value.value),
h("br"),
info.is_sign
? log.user.sign_file && log.user.sign_file.url
? log.user?.sign_file?.url
? h("el-image", {
style: {
"max-height": "40px",
"max-width": "60px",
display: "block",
},
props: {
src: log.user?.sign_file?.url,
src: log.user.sign_file.url,
fit: "contain",
alt: log.user?.name,
alt: log.user?.name || "",
"preview-src-list": [log.user.sign_file.url],
lazy: false,
},
attrs: {
src: log.user?.sign_file?.url,
alt: log.user?.name,
src: log.user.sign_file.url,
},
})
: h("span", log.user?.name)
: h("span", log.user?.name || "")
: "",
info.is_sign ? h("br") : "",
h(
@ -2085,43 +2154,108 @@ export default function formBuilder(
}
})(),
(() => {
if (info.is_sign) {
let log = this.logs.find(
(log) =>
log.status>0 && log.node?.fields?.findIndex(
(field) =>
field?.field_id === info.id &&
field.type === "write"
) !== -1 && target[info.name]
);
if (log && log.status && log.user) {
return h("div", [
log.user.sign_file && log.user.sign_file.url
? h("el-image", {
style: {
"max-height": "40px",
"max-width": "60px",
},
props: {
src: log.user?.sign_file?.url,
fit: "contain",
alt: log.user?.name,
},
attrs: {
src: log.user?.sign_file?.url,
alt: log.user?.name,
},
})
: h("span", log.user?.name),
// 检查 is_sign 是否为真值(支持 1, true, "1" 等)
if (info.is_sign && (info.is_sign === 1 || info.is_sign === true || info.is_sign === "1")) {
let log = null;
// 方法1: 从 jointlySignLog 中查找(检查所有字段)
if (this.jointlySignLog && this.jointlySignLog.length > 0) {
log = this.jointlySignLog.find((log) => {
if (log.status > 0 && log.user && log.user.sign_file && log.user.sign_file.url) {
try {
const data = JSON.parse(log.data);
// 检查 data 中是否有匹配当前字段的条目
return Object.values(data).some(
(value) =>
value &&
typeof value === 'object' &&
value.custom_field_id === info.id
);
} catch (e) {
return false;
}
}
return false;
});
}
// 方法2: 如果没找到,从 this.logs 中查找(放宽条件,不要求 target[info.name] 有值)
if (!log && this.logs && this.logs.length > 0) {
log = this.logs.find(
(log) =>
log.status > 0 &&
log.user &&
log.user.sign_file &&
log.user.sign_file.url &&
log.node?.fields?.findIndex(
(field) =>
field?.field_id === info.id &&
field.type === "write"
) !== -1
);
}
// 方法3: 如果还是没找到,尝试从 this.logs 中查找所有 status>0 且有签名的 log
if (!log && this.logs && this.logs.length > 0) {
log = this.logs.find(
(log) =>
log.status > 0 &&
log.user &&
log.user.sign_file &&
log.user.sign_file.url
);
}
if (log && log.status > 0 && log.user && log.user.sign_file && log.user.sign_file.url) {
return h("div", {
style: {
"margin-top": "8px",
}
}, [
h("el-image", {
style: {
"max-height": "40px",
"max-width": "60px",
display: "block",
},
props: {
src: log.user.sign_file.url,
fit: "contain",
alt: log.user?.name || "",
"preview-src-list": [log.user.sign_file.url],
lazy: false,
},
attrs: {
src: log.user.sign_file.url,
},
}),
h(
"div",
this.$moment(log.updated_at).format(
"YYYY年MM月DD日"
)
{
style: {
"margin-top": "4px",
"font-size": "12px",
color: "#909399",
}
},
log.user?.name || ""
),
h(
"div",
{
style: {
"font-size": "12px",
color: "#909399",
}
},
log.updated_at
? this.$moment(log.updated_at).format("YYYY年MM月DD日")
: ""
),
]);
}
}
return null;
})(),
]
);

Loading…
Cancel
Save