调整
This commit is contained in:
BIN
src/assets/word.png
Normal file
BIN
src/assets/word.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
@@ -15,6 +15,7 @@
|
||||
:columns="columns"
|
||||
:customRow="customRow"
|
||||
:pagination="false"
|
||||
:selection="selection"
|
||||
>
|
||||
<template #toolbar>
|
||||
<div class="ele-cell">
|
||||
@@ -33,6 +34,19 @@
|
||||
<span>上传视频</span>
|
||||
</a-button>
|
||||
</a-upload>
|
||||
<a-upload
|
||||
v-else-if="type == 'file'"
|
||||
:show-upload-list="false"
|
||||
accept="*"
|
||||
:customRequest="onUpload"
|
||||
>
|
||||
<a-button type="primary" class="ele-btn-icon">
|
||||
<template #icon>
|
||||
<UploadOutlined />
|
||||
</template>
|
||||
<span>上传文件</span>
|
||||
</a-button>
|
||||
</a-upload>
|
||||
<a-upload
|
||||
v-else
|
||||
:show-upload-list="false"
|
||||
@@ -222,6 +236,7 @@
|
||||
}
|
||||
]);
|
||||
|
||||
const selection = ref([])
|
||||
// 表格数据源
|
||||
const datasource: DatasourceFunction = ({ page, limit, where, orders }) => {
|
||||
where = {};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<a-image-preview-group>
|
||||
<div style="display: inline">
|
||||
<a-image-preview-group v-if="type !== 'file'">
|
||||
<a-space>
|
||||
<template v-for="(item, index) in data" :key="index">
|
||||
<div class="image-upload-item" v-if="isImage(item.url)">
|
||||
@@ -32,7 +33,8 @@
|
||||
</a-button>
|
||||
</a-space>
|
||||
</a-image-preview-group>
|
||||
|
||||
<a-button v-else @click="openEdit" type="primary">选择文件</a-button>
|
||||
</div>
|
||||
<!-- 选择弹窗 -->
|
||||
<SelectData
|
||||
v-model:visible="showEdit"
|
||||
@@ -44,11 +46,15 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { PlusOutlined, CloseOutlined, YoutubeOutlined } from '@ant-design/icons-vue';
|
||||
import {
|
||||
PlusOutlined,
|
||||
CloseOutlined,
|
||||
YoutubeOutlined
|
||||
} from '@ant-design/icons-vue';
|
||||
import { ref } from 'vue';
|
||||
import SelectData from './components/select-data.vue';
|
||||
import { FileRecord } from '@/api/system/file/model';
|
||||
import { isImage } from "@/utils/common";
|
||||
import { isImage } from '@/utils/common';
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!-- 用户编辑弹窗 -->
|
||||
<template>
|
||||
<a-drawer
|
||||
:width="`70%`"
|
||||
:width="`95%`"
|
||||
:visible="visible"
|
||||
:confirm-loading="loading"
|
||||
:maxable="maxAble"
|
||||
@@ -138,11 +138,16 @@
|
||||
:id="`section-${index}`"
|
||||
class="audit-section"
|
||||
>
|
||||
<a-card
|
||||
:title="`${item.number}、${item.name}`"
|
||||
style="margin-bottom: 20px"
|
||||
:bordered="false"
|
||||
>
|
||||
<a-card style="margin-bottom: 20px" :bordered="false">
|
||||
<template #title>
|
||||
<span class="font-bold">{{ `${item.number}、${item.name}` }}</span>
|
||||
<span class="ml-4 text-gray-400" v-if="item.extra3">{{
|
||||
table3Title
|
||||
}}</span>
|
||||
<span class="ml-4 text-gray-400" v-if="item.file3">
|
||||
<SelectFile :data="file3List" type="file"/>
|
||||
</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-button
|
||||
type="primary"
|
||||
@@ -155,7 +160,47 @@
|
||||
AI生成
|
||||
</a-button>
|
||||
</template>
|
||||
<a-table :columns="item.columns" bordered :data-source="item.data"></a-table>
|
||||
<template v-if="item.extra3">
|
||||
<div class="mb-2">
|
||||
<a-space>
|
||||
<div
|
||||
class="btn"
|
||||
:class="[
|
||||
table3Title === '重大经济决策调查表'
|
||||
? 'btn-green'
|
||||
: 'btn-gray'
|
||||
]"
|
||||
@click="changeTable3('重大经济决策调查表')"
|
||||
>重大经济决策调查表</div
|
||||
>
|
||||
<div
|
||||
class="btn"
|
||||
:class="[
|
||||
table3Title === '三重一大' ? 'btn-green' : 'btn-gray'
|
||||
]"
|
||||
@click="changeTable3('三重一大')"
|
||||
>三重一大</div
|
||||
>
|
||||
</a-space>
|
||||
</div>
|
||||
</template>
|
||||
<a-table :columns="item.columns" bordered :data-source="item.data">
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'action'">
|
||||
<a-button type="primary" danger>删除</a-button>
|
||||
</template>
|
||||
<template v-if="column.key === 'testResult'">
|
||||
<span class="text-green-400" v-if="record.testResult === '通过'">通过</span>
|
||||
<span class="text-red-400" v-else>不通过</span>
|
||||
</template>
|
||||
<template v-if="column.key === 'fileIndex'">
|
||||
<div v-for="(item, index) in record.fileIndex" :key="index">
|
||||
<img src="@/assets/word.png" style="width: 20px; height: 20px" alt="">
|
||||
<span class="cursor-pointer text-wrap">{{ item }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
<!-- <div v-if="item.description" class="section-description">-->
|
||||
<!-- {{ item.description }}-->
|
||||
<!-- </div>-->
|
||||
@@ -307,17 +352,20 @@
|
||||
{
|
||||
title: '会议时间',
|
||||
dataIndex: 'content',
|
||||
key: 'content'
|
||||
key: 'content',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '决策事项金额',
|
||||
dataIndex: 'amount',
|
||||
key: 'amount'
|
||||
key: 'amount',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '程序程序',
|
||||
dataIndex: 'progress',
|
||||
key: 'progress'
|
||||
key: 'progress',
|
||||
width: 300
|
||||
},
|
||||
{
|
||||
title: '执行情况(是/否)',
|
||||
@@ -329,11 +377,11 @@
|
||||
children: [
|
||||
{
|
||||
title: '好',
|
||||
dataIndex: 'goods',
|
||||
dataIndex: 'goods'
|
||||
},
|
||||
{
|
||||
title: '一般',
|
||||
dataIndex: 'normal',
|
||||
dataIndex: 'normal'
|
||||
},
|
||||
{
|
||||
title: '差',
|
||||
@@ -354,11 +402,12 @@
|
||||
const combinedKbIds = ref('');
|
||||
|
||||
// 九大审计项目导航配置
|
||||
const table3Title = ref('重大经济决策调查表');
|
||||
const navigationItems = ref([
|
||||
{
|
||||
number: '一',
|
||||
name: '审计内容1',
|
||||
title: '1、审计依据',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
placeholder: '请输入审计依据内容...',
|
||||
content: '',
|
||||
@@ -371,7 +420,7 @@
|
||||
{
|
||||
number: '二',
|
||||
name: '审计内容2',
|
||||
title: '2、审计目标',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
placeholder: '请输入审计目标内容...',
|
||||
content: '',
|
||||
@@ -384,9 +433,11 @@
|
||||
{
|
||||
number: '三',
|
||||
name: '审计内容3',
|
||||
title: '3、重大经济决策调查表',
|
||||
title: '重大经济决策调查表',
|
||||
description: '点击"AI生成"按钮生成重大经济决策调查表数据',
|
||||
generating: false,
|
||||
extra3: true,
|
||||
file3: true,
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
@@ -400,14 +451,14 @@
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
width: 200,
|
||||
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '会议时间',
|
||||
dataIndex: 'meetingTime',
|
||||
key: 'meetingTime',
|
||||
width: 120,
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '决策事项金额',
|
||||
@@ -420,14 +471,14 @@
|
||||
title: '程序',
|
||||
dataIndex: 'procedure',
|
||||
key: 'procedure',
|
||||
width: 180,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => text || '程序未记录'
|
||||
},
|
||||
{
|
||||
title: '执行情况(是/否)',
|
||||
dataIndex: 'executionStatus',
|
||||
key: 'executionStatus',
|
||||
width: 100,
|
||||
width: 80,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
@@ -439,7 +490,7 @@
|
||||
key: 'goods',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => text === '是' ? '✅' : ''
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
},
|
||||
{
|
||||
title: '一般',
|
||||
@@ -447,7 +498,7 @@
|
||||
key: 'normal',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => text === '是' ? '✅' : ''
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
},
|
||||
{
|
||||
title: '差',
|
||||
@@ -455,9 +506,15 @@
|
||||
key: 'bad',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => text === '是' ? '✅' : ''
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
align: 'center',
|
||||
width: 140
|
||||
}
|
||||
],
|
||||
data: []
|
||||
@@ -465,7 +522,7 @@
|
||||
{
|
||||
number: '四',
|
||||
name: '审计内容4',
|
||||
title: '4、被审计单位基本情况',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
generating: false,
|
||||
columns: columns.value
|
||||
@@ -473,7 +530,7 @@
|
||||
{
|
||||
number: '五',
|
||||
name: '审计内容5',
|
||||
title: '5、审计内容和重点及审计方法',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
generating: false,
|
||||
columns: [
|
||||
@@ -560,7 +617,7 @@
|
||||
{
|
||||
number: '六',
|
||||
name: '审计内容6',
|
||||
title: '6、重要风险的识别及应对',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
generating: false,
|
||||
columns: columns.value
|
||||
@@ -568,7 +625,7 @@
|
||||
{
|
||||
number: '七',
|
||||
name: '审计内容7',
|
||||
title: '7、审计技术方法',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
placeholder: '请输入审计技术方法内容...',
|
||||
content: '',
|
||||
@@ -581,7 +638,7 @@
|
||||
{
|
||||
number: '八',
|
||||
name: '审计内容8',
|
||||
title: '8、工作步骤与时间安排',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
placeholder: '请输入工作步骤与时间安排内容...',
|
||||
content: '',
|
||||
@@ -594,7 +651,7 @@
|
||||
{
|
||||
number: '九',
|
||||
name: '审计内容9',
|
||||
title: '9、审计工作的组织实施',
|
||||
title: '',
|
||||
description: '点击"AI生成"按钮让AI为您生成该部分内容,或直接在下方编辑',
|
||||
placeholder: '请输入审计工作的组织实施内容...',
|
||||
content: '',
|
||||
@@ -606,6 +663,170 @@
|
||||
}
|
||||
]);
|
||||
|
||||
const file3List = ref([])
|
||||
const changeTable3 = (title) => {
|
||||
table3Title.value = title;
|
||||
if (title === '三重一大') {
|
||||
navigationItems.value[2].columns = [
|
||||
{
|
||||
title: '',
|
||||
dataIndex: 'index',
|
||||
key: 'index',
|
||||
width: 120,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '政策内容',
|
||||
dataIndex: 'content',
|
||||
key: 'content',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '集团制度',
|
||||
dataIndex: 'groupSystem',
|
||||
key: 'groupSystem',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '公司制定',
|
||||
dataIndex: 'companyCustom',
|
||||
key: 'companyCustom',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '检查的证据及测试内容',
|
||||
dataIndex: 'testContent',
|
||||
key: 'testContent',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '测试结果',
|
||||
dataIndex: 'testResult',
|
||||
key: 'testResult',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '工作底稿索引',
|
||||
dataIndex: 'fileIndex',
|
||||
key: 'fileIndex',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
}
|
||||
];
|
||||
navigationItems.value[2].data = [
|
||||
{
|
||||
index: '重大决策',
|
||||
content: '',
|
||||
groupSystem: '',
|
||||
companyCustom: '',
|
||||
testContent: '',
|
||||
testResult: '通过',
|
||||
fileIndex: ['中央部门单位2023年预算执行等情况审计结果.doc']
|
||||
}
|
||||
];
|
||||
} else {
|
||||
navigationItems.value[2].columns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: 'index',
|
||||
key: 'index',
|
||||
width: 80,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '重大经济决策事项',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
width: 200,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '会议时间',
|
||||
dataIndex: 'meetingTime',
|
||||
key: 'meetingTime',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '决策事项金额',
|
||||
dataIndex: 'decisionAmount',
|
||||
key: 'decisionAmount',
|
||||
width: 120,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '程序',
|
||||
dataIndex: 'procedure',
|
||||
key: 'procedure',
|
||||
align: 'center',
|
||||
customRender: ({ text }) => text || '程序未记录'
|
||||
},
|
||||
{
|
||||
title: '执行情况(是/否)',
|
||||
dataIndex: 'executionStatus',
|
||||
key: 'executionStatus',
|
||||
width: 80,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '执行效果(是否实现决策目标)',
|
||||
children: [
|
||||
{
|
||||
title: '好',
|
||||
dataIndex: 'goods',
|
||||
key: 'goods',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
},
|
||||
{
|
||||
title: '一般',
|
||||
dataIndex: 'normal',
|
||||
key: 'normal',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
},
|
||||
{
|
||||
title: '差',
|
||||
dataIndex: 'bad',
|
||||
key: 'bad',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: ({ text }) => (text === '是' ? '✅' : '')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
align: 'center',
|
||||
width: 140
|
||||
}
|
||||
];
|
||||
navigationItems.value[2].data = [
|
||||
{
|
||||
index: 1,
|
||||
name: '千汇公司废水处理站扩容升级改造项目',
|
||||
meetingTime: '2024-01-03',
|
||||
decisionAmount: '190万元',
|
||||
procedure:
|
||||
'经专题会议研究并组织外部专家二次评勖审(《2023年第九次总办会会议材料汇总》),形成方案后提交总经理办公会审鈀还户,以记名投票方式全票通过。议案履行了可行性论证、专家咨询、集体讨论和会议决策程序,符台《广西千汇食品有限公司总经理办公会议事规则(试行)》第十条、第十八条关于重大项目投资业务决策程序的要求。',
|
||||
executionStatus: '是',
|
||||
goods: '是'
|
||||
}
|
||||
];
|
||||
}
|
||||
};
|
||||
|
||||
const emit = defineEmits<{
|
||||
(e: 'done'): void;
|
||||
(e: 'update:visible', visible: boolean): void;
|
||||
@@ -938,7 +1159,8 @@
|
||||
section.generating = true;
|
||||
|
||||
// 构建history - 将当前已有的数据作为历史记录
|
||||
const history = section.data && section.data.length > 0
|
||||
const history =
|
||||
section.data && section.data.length > 0
|
||||
? JSON.stringify(section.data, null, 2)
|
||||
: '';
|
||||
|
||||
@@ -991,7 +1213,6 @@
|
||||
section.suggestion = '';
|
||||
|
||||
message.success(`成功生成 ${tableData.length} 条重大经济决策记录`);
|
||||
|
||||
} else {
|
||||
const errorMsg = result.data?.error || result.message || '生成失败';
|
||||
throw new Error(errorMsg);
|
||||
@@ -1393,4 +1614,17 @@
|
||||
right: 30px;
|
||||
bottom: 30px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 5px 10px;
|
||||
color: white;
|
||||
border-radius: 999px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.btn-gray {
|
||||
background-color: #bbbbbb;
|
||||
}
|
||||
.btn-green {
|
||||
background-color: #479b33;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<div>
|
||||
<a-space>
|
||||
<a class="action-btn bg-blue-500" @click="openReport(record)"
|
||||
>1生成报告</a
|
||||
>1生成审计方案</a
|
||||
>
|
||||
<a class="action-btn bg-green-600" @click="openReportContent(record)">2审计内容</a>
|
||||
<a class="action-btn bg-red-600" @click="openAuditCheck(record)"
|
||||
@@ -578,7 +578,7 @@
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
width: 220,
|
||||
width: 260,
|
||||
fixed: 'right',
|
||||
align: 'center',
|
||||
hideInSetting: true
|
||||
|
||||
Reference in New Issue
Block a user