From 714ecf305621d9fe21f1be0ff80b7aba4d840436 Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Thu, 26 Dec 2024 14:25:01 +0800 Subject: [PATCH] 1 --- src/utils/formBuilder.js | 80 ++++++++++++----------- src/utils/print.js | 8 +-- src/views/attendance/WorkOvertime.vue | 93 ++++++++++++++++++++------- src/views/flow/components/assign.vue | 22 ++++++- src/views/flow/list.vue | 3 + 5 files changed, 138 insertions(+), 68 deletions(-) diff --git a/src/utils/formBuilder.js b/src/utils/formBuilder.js index b32d1e5..2d40aa8 100644 --- a/src/utils/formBuilder.js +++ b/src/utils/formBuilder.js @@ -942,21 +942,23 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab jointlySignContent.push(h('div',[ h('span', value.value), h('br'), - info.is_sign ? 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 - } - }) : '', + info.is_sign ? ( + (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) + ) : '', info.is_sign ? h('br') : '', h('span', log.updated_at ? this.$moment(log.updated_at).format('YYYY年MM月DD') : '') ])) @@ -985,7 +987,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1) && (row ? row[info.name] : this.form[info.name]) if (log && log.user) { return h('div',[ - h('el-image',{ + (log.user.sign_file && log.user.sign_file.url) ? h('el-image',{ style: { 'max-height': '80px', 'max-width': '120px' @@ -999,7 +1001,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab src: log.user?.sign_file?.url, alt: log.user?.name } - }), + }) : h('span', log.user?.name), h('div', this.$moment(log.updated_at).format('YYYY年MM月DD日 HH时mm分')) ]) } @@ -1009,7 +1011,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1 && (row ? row[info.name] : this.form[info.name])) if (log && log.user) { return h('div',[ - h('el-image',{ + (log.user.sign_file && log.user.sign_file.url) ? h('el-image',{ style: { 'max-height': '80px', 'max-width': '120px' @@ -1023,7 +1025,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab src: log.user?.sign_file?.url, alt: log.user?.name } - }), + }) : h('span', log.user?.name), h('div', this.$moment(log.updated_at).format('YYYY年MM月DD日 HH时mm分')) ]) } @@ -1737,21 +1739,23 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab jointlySignContent.push(h('div',[ h('span', value.value), h('br'), - info.is_sign ? 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 - } - }) : '', + info.is_sign ? ( + (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) + ) : '', info.is_sign ? h('br') : '', h('span', log.updated_at ? this.$moment(log.updated_at).format('YYYY年MM月DD') : '') ])) @@ -1763,7 +1767,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1) && (row ? row[info.name] : this.form[info.name]) if (log && log.user) { return h('van-cell',[ - h('el-image',{ + (log.user.sign_file && log.user.sign_file.url) ? h('el-image',{ style: { 'max-height': '80px', 'max-width': '120px' @@ -1777,7 +1781,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab src: log.user?.sign_file?.url, alt: log.user?.name } - }), + }) : h('span', log.user?.name), h('div', this.$moment(log.updated_at).format('YYYY年MM月DD日 HH时mm分')) ]) } @@ -1787,7 +1791,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1 && (row ? row[info.name] : this.form[info.name])) if (log && log.user) { return h('van-cell',[ - h('el-image',{ + (log.user.sign_file && log.user.sign_file.url) ? h('el-image',{ style: { 'max-height': '80px', 'max-width': '120px' @@ -1801,7 +1805,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab src: log.user?.sign_file?.url, alt: log.user?.name } - }), + }) : h('span', log.user?.name), h('div', this.$moment(log.updated_at).format('YYYY年MM月DD日 HH时mm分')) ]) } diff --git a/src/utils/print.js b/src/utils/print.js index 3241147..fa91400 100644 --- a/src/utils/print.js +++ b/src/utils/print.js @@ -8,10 +8,10 @@ import store from '@/store' **/ export async function print(printJs, isLog, form, logContent) { const staticMap = new Map([ - ['apply_name', () => `${form.creator?.name}`], - ['apply_department_name', () => `${form.creator_department?.name}`], - ['apply_sign', () => ``], - ['created_at', () => `${form.created_at}`], + ['apply_name', `${form.creator?.name}`], + ['apply_department_name', `${form.creator_department?.name}`], + ['apply_sign', ``], + ['created_at', `${form.created_at}`], ]) let printStr = printJs diff --git a/src/views/attendance/WorkOvertime.vue b/src/views/attendance/WorkOvertime.vue index 09ad687..c3053bd 100644 --- a/src/views/attendance/WorkOvertime.vue +++ b/src/views/attendance/WorkOvertime.vue @@ -24,13 +24,55 @@ :loading="loading" keep-source show-overflow - :max-height="800" + :max-height="1400" + :min-height="400" :export-config="{}" :print-config="{}" - :column-config="{resizable: true}" - :scroll-y="{enabled: true, gt: 100}" + :column-config="{ resizable: true }" + :scroll-y="{ enabled: true, gt: 100 }" + :expand-config="{ + visibleMethod: () => false, + trigger: 'manual' + }" :data="tableData" > + + + {{ row.qingqiujia instanceof Array ? row.qingqiujia.length : 0 }} + + + + 请休假 + + + + + + + + + + + + + + 查看 + + + + + + - - + + + 下一节点 - + {{ node.name }} @@ -57,7 +57,7 @@ {{ group.name }} - {{ user.name }} + {{ user.name }} @@ -148,6 +148,17 @@ export default { }; }, methods: { + nodePick() { + this.pickUsers = this.node2Users.get(this.form.next_node_id) + this.form.user_id = '' + if (!this.isJointlySign) { + if (this.pickUsers.length === 1) { + if (this.pickUsers[0].users?.length === 1) { + this.form.user_id = this.pickUsers[0].users[0].id + } + } + } + }, handleCheckAllChange(val) { this.form.user_id = val ? this.pickUsers?.map(i => i.users.map(j => j.id))?.flat() : []; this.isIndeterminate = false; @@ -203,6 +214,13 @@ export default { this.node2Users.set(nodeIds[index], group.users) }) this.pickUsers = this.node2Users.get(this.form.next_node_id) + if (!this.isJointlySign) { + if (this.pickUsers.length === 1) { + if (this.pickUsers[0].users?.length === 1) { + this.form.user_id = this.pickUsers[0].users[0].id + } + } + } } catch (err) { console.error(err) } diff --git a/src/views/flow/list.vue b/src/views/flow/list.vue index 38fd9c9..867e73b 100644 --- a/src/views/flow/list.vue +++ b/src/views/flow/list.vue @@ -502,6 +502,9 @@ export default { }, computed: { }, + activated() { + this.getList(); + }, created() { this.getList(); },