xy 12 months ago
parent 88b0440af9
commit 714ecf3056

@ -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分'))
])
}

@ -8,10 +8,10 @@ import store from '@/store'
**/
export async function print(printJs, isLog, form, logContent) {
const staticMap = new Map([
['apply_name', () => `<span>${form.creator?.name}</span>`],
['apply_department_name', () => `<span>${form.creator_department?.name}</span>`],
['apply_sign', () => `<img src="${form.creator?.sign_file}" alt="${form.creator?.name}" style="max-height: 80px; ">`],
['created_at', () => `<span>${form.created_at}</span>`],
['apply_name', `<span>${form.creator?.name}</span>`],
['apply_department_name', `<span>${form.creator_department?.name}</span>`],
['apply_sign', `<img src="${form.creator?.sign_file}" alt="${form.creator?.name}" style="max-height: 80px;max-width: 120px;">`],
['created_at', `<span>${form.created_at}</span>`],
])
let printStr = printJs

@ -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"
>
<vxe-column type="expand" title="关联调休" align="center" width="80">
<template #default="{ row }">
<el-button type="primary"
size="mini"
icon="el-icon-zoom-in"
@click="toggleExpand(row)">{{ row.qingqiujia instanceof Array ? row.qingqiujia.length : 0 }}</el-button>
</template>
<template #content="{ row }">
<div>
<h4 style="text-indent: 24px;"><i class="el-icon-alarm-clock"></i> 请休假</h4>
<vxe-table style="width: calc(100% - 80px);" :max-height="400" align="center" show-overflow :data="row.qingqiujia">
<vxe-column type="seq" width="58" align="center" />
<vxe-column title="请假类别" width="100" field="qingjialeibie"></vxe-column>
<vxe-column title="开始时间" width="180" field="kaishishijian" :formatter="({ cellValue }) => cellValue ? $moment(cellValue).format('YYYY-MM-DD HH:mm') : ''" />
<vxe-column title="结束时间" width="180" field="jieshushijian" :formatter="({ cellValue }) => cellValue ? $moment(cellValue).format('YYYY-MM-DD HH:mm') : ''" />
<vxe-column title="请假时间(时)" width="120" field="qingjiashijian"></vxe-column>
<vxe-column title="请假天数" width="120" field="day"></vxe-column>
<vxe-column title="实际开始时间" width="180" field="shijikaishishijian" :formatter="({ cellValue }) => cellValue ? $moment(cellValue).format('YYYY-MM-DD HH:mm') : ''" />
<vxe-column title="实际结束时间" width="180" field="shijijieshushijian" :formatter="({ cellValue }) => cellValue ? $moment(cellValue).format('YYYY-MM-DD HH:mm') : ''" />
<vxe-column title="实际请假时间(时)" width="160" field="shijiqingjiashichang"></vxe-column>
<vxe-column title="实际请假天数" width="120" field="shijiqingjiatianshu"></vxe-column>
<vxe-column
min-width="80"
align="center"
field="operate"
title="操作"
fixed="right"
>
<template #default="{ row }">
<el-button plain type="success" size="mini" @click="detail(row)"
>查看</el-button>
</template>
</vxe-column>
</vxe-table>
</div>
</template>
</vxe-column>
<vxe-column type="seq" width="58" align="center" />
<vxe-column
min-width="180"
@ -38,26 +80,8 @@
field="title"
title="工作名称"
></vxe-column>
<vxe-column
align="center"
width="140"
field="current_node.name"
title="当前节点"
></vxe-column>
<vxe-column
width="200"
align="center"
field="created_at"
title="发起日期"
:formatter="
({ cellValue }) =>
$moment(cellValue).format('YYYY-MM-DD HH:mm:ss')
"
:export-method="
({ row, column, options }) =>
$moment(row['created_at']).format('YYYY-MM-DD HH:mm:ss')
"
></vxe-column>
<vxe-column width="190" align="center" title="开始时间" field="kaishiriqi" />
<vxe-column width="190" align="center" title="结束时间" field="jieshushijian" />
<vxe-column
width="80"
align="center"
@ -77,6 +101,20 @@
>
</template>
</vxe-column>
<vxe-column
width="200"
align="center"
field="created_at"
title="发起日期"
:formatter="
({ cellValue }) =>
$moment(cellValue).format('YYYY-MM-DD HH:mm:ss')
"
:export-method="
({ row, column, options }) =>
$moment(row['created_at']).format('YYYY-MM-DD HH:mm:ss')
"
></vxe-column>
<vxe-column
min-width="80"
align="center"
@ -121,9 +159,16 @@ export default {
}
},
methods: {
toggleExpand (row) {
const $table = this.$refs.table
if ($table) {
$table.toggleRowExpand(row)
}
},
detail(row) {
this.$router.push(
`/flow/detail?module_id=${row.custom_model_id}&flow_id=${row.id}`
`/flow/detail?module_id=${row.custom_model_id||68}&flow_id=${row.belongs_id}`
);
},
async getList() {

@ -38,7 +38,7 @@
<div class="next-nodes__label">下一节点</div>
<div>
<el-radio-group v-model="form.next_node_id" @change="pickUsers = node2Users.get(form.next_node_id),form.user_id = ''">
<el-radio-group v-model="form.next_node_id" @change="nodePick">
<el-radio v-for="node in node.nextNodes" :label="node.id">{{ node.name }}</el-radio>
</el-radio-group>
</div>
@ -57,7 +57,7 @@
<el-checkbox-group v-model="form.user_id" @change="handleCheckedUsersChange">
<div v-for="group in pickUsers" :key="group.id">
<div class="group-name">{{ group.name }}</div>
<el-checkbox v-for="user in group.users" :label="user.id">{{ user.name }}</el-checkbox>
<el-checkbox v-for="user in group.users" :checked="group.users.length === 1" :label="user.id">{{ user.name }}</el-checkbox>
</div>
</el-checkbox-group>
</div>
@ -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)
}

@ -502,6 +502,9 @@ export default {
},
computed: {
},
activated() {
this.getList();
},
created() {
this.getList();
},

Loading…
Cancel
Save