|
|
|
|
@ -7,25 +7,25 @@
|
|
|
|
|
<!-- 左侧面板 -->
|
|
|
|
|
<div class="left-panel">
|
|
|
|
|
<!-- 预览区 -->
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
|
|
|
|
<div class="panel-header">
|
|
|
|
|
<h5 class="panel-title">预览区</h5>
|
|
|
|
|
<div class="action-buttons">
|
|
|
|
|
<el-button size="small" @click="handleRefresh">刷新</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="preview-container"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="preview-container" v-html="previewContent"></div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 代码预览区 -->
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
|
|
|
|
<div class="panel-header">
|
|
|
|
|
<h5 class="panel-title">代码预览区</h5>
|
|
|
|
|
<div class="action-buttons">
|
|
|
|
|
<el-select v-model="formatType" size="small" style="width: 120px">
|
|
|
|
|
<el-option label="HTML" value="html"></el-option>
|
|
|
|
|
<el-option label="DOCX" value="docx"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-option label="HTML" value="html"></el-option>
|
|
|
|
|
<el-option label="DOCX" value="docx"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-button
|
|
|
|
|
size="small"
|
|
|
|
|
v-if="formatType === 'docx'"
|
|
|
|
|
@ -42,15 +42,15 @@
|
|
|
|
|
class="code-editor"
|
|
|
|
|
></el-input>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 右侧面板 -->
|
|
|
|
|
<div class="right-panel">
|
|
|
|
|
<div class="field-config-container">
|
|
|
|
|
<div class="panel-header">
|
|
|
|
|
<h5 class="panel-title">字段配置</h5>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="field-list">
|
|
|
|
|
<div
|
|
|
|
|
v-for="field in fieldList"
|
|
|
|
|
@ -60,10 +60,10 @@
|
|
|
|
|
>
|
|
|
|
|
<el-row align="middle">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<span class="text-muted">{{ field.name }}</span>
|
|
|
|
|
<span class="text-muted field-name">{{ field.name }}</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<strong>{{ field.label }}</strong>
|
|
|
|
|
<strong class="field-label">{{ field.label }}</strong>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<span class="text-muted">{{ getTypeDisplay(field.type) }}</span>
|
|
|
|
|
@ -78,27 +78,28 @@
|
|
|
|
|
<!-- 底部固定保存按钮 -->
|
|
|
|
|
<div class="footer-actions">
|
|
|
|
|
<div class="footer-content">
|
|
|
|
|
<el-button size="large" class="footer-button" @click="$router.back()">取 消</el-button>
|
|
|
|
|
<el-button size="large" class="footer-button" @click="handleCancel">取 消</el-button>
|
|
|
|
|
<el-button size="large" type="primary" class="footer-button" @click="handleSave">保 存</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 编辑字段抽屉 -->
|
|
|
|
|
<el-drawer
|
|
|
|
|
v-model="showEditDrawer"
|
|
|
|
|
:visible.sync="showEditDrawer"
|
|
|
|
|
title="编辑字段"
|
|
|
|
|
size="400px"
|
|
|
|
|
:destroy-on-close="true"
|
|
|
|
|
:with-footer="true"
|
|
|
|
|
>
|
|
|
|
|
<el-form :model="editForm" label-width="80px">
|
|
|
|
|
<el-form-item label="字段名">
|
|
|
|
|
<el-input v-model="editForm.name" disabled></el-input>
|
|
|
|
|
<el-input v-model="editForm.name" disabled class="form-input"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="中文名">
|
|
|
|
|
<el-input v-model="editForm.label"></el-input>
|
|
|
|
|
<el-input v-model="editForm.label" class="form-input"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="表单类型">
|
|
|
|
|
<el-select v-model="editForm.type" class="w-100">
|
|
|
|
|
<el-select v-model="editForm.type" class="w-100 form-input">
|
|
|
|
|
<el-option label="文本" value="text"></el-option>
|
|
|
|
|
<el-option label="数字" value="number"></el-option>
|
|
|
|
|
<el-option label="日期" value="date"></el-option>
|
|
|
|
|
@ -108,15 +109,21 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="数据选项" v-if="['select', 'checkbox', 'radio'].includes(editForm.type)">
|
|
|
|
|
<el-input v-model="editForm.options" placeholder="用逗号分隔多个选项"></el-input>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="editForm.options"
|
|
|
|
|
placeholder="用逗号分隔多个选项"
|
|
|
|
|
type="textarea"
|
|
|
|
|
:rows="3"
|
|
|
|
|
class="form-input"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div style="flex: auto">
|
|
|
|
|
<el-button @click="showEditDrawer = false">取消</el-button>
|
|
|
|
|
<el-button type="primary" @click="handleSaveField">保存</el-button>
|
|
|
|
|
<div class="drawer-footer">
|
|
|
|
|
<div class="footer-buttons">
|
|
|
|
|
<el-button @click="showEditDrawer = false">取 消</el-button>
|
|
|
|
|
<el-button type="primary" @click="handleSaveField">保 存</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</div>
|
|
|
|
|
</el-drawer>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -129,81 +136,498 @@ export default {
|
|
|
|
|
formatType: 'html',
|
|
|
|
|
codeContent: '',
|
|
|
|
|
showEditDrawer: false,
|
|
|
|
|
editForm: {
|
|
|
|
|
name: '',
|
|
|
|
|
label: '',
|
|
|
|
|
type: 'text',
|
|
|
|
|
options: ''
|
|
|
|
|
},
|
|
|
|
|
fieldList: [
|
|
|
|
|
currentTemplateIndex: 4,
|
|
|
|
|
templates: [
|
|
|
|
|
{
|
|
|
|
|
name: 'projectName',
|
|
|
|
|
label: '项目名称',
|
|
|
|
|
type: 'text',
|
|
|
|
|
options: ''
|
|
|
|
|
name: '报销贴单',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="padding: 20px;">
|
|
|
|
|
<div style="background: white;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">苏州市河道管理处报销贴单</h2>
|
|
|
|
|
<div style="display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 14px;">
|
|
|
|
|
<span>科室:{{department}}</span>
|
|
|
|
|
<span>{{year}}年{{month}}月{{day}}日</span>
|
|
|
|
|
</div>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-size: 14px; background: white;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">职工姓名</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{name}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">退休/在职</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{status}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">家属姓名</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{familyName}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">与本人关系</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{relation}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">内容</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">发票金额</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">报销比例</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{medicalActualAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;" rowspan="2">报销(领款)人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 60px; vertical-align: middle; text-align: center; background-color: white;" colspan="3" rowspan="2">{{name}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">门诊医药费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{medicalInvoiceValue}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{medicalReimbursementRatio}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{medicalActualAmount}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">住院医药费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{hospitalInvoiceValue}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{hospitalReimbursementRatio}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{hospitalActualAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">科室负责人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{departmentHead}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">儿童医药费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childMedicalInvoiceValue}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childMedicalReimbursementRatio}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childMedicalActualAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">财审科审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{financialAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">幼托费用</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childcareInvoiceValue}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">无</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childcareActualAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">分管领导审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{leaderAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">子女保险费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childInsuranceInvoiceValue}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">无</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{childInsuranceActualAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">财务分管领导审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{financialLeaderAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">合计</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{totalAmount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;" rowspan="2">单位负责人审批</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3" rowspan="2">{{unitLeaderAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 120px;">报销金额(大写)</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;" colspan="3">{{upperCaseAmount}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>`
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'budgetAmount',
|
|
|
|
|
label: '预算金额',
|
|
|
|
|
type: 'number',
|
|
|
|
|
options: ''
|
|
|
|
|
name: '公务接待结算单',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="background: #fff; padding: 20px;">
|
|
|
|
|
<div style="position: relative; width: 100%; padding: 20px;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">苏州市河道管理处公务接待结算单</h2>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">科室</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{department}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">事由</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{reason}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">日期</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{date}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">就餐地点</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{diningLocation}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;" rowspan="2">就餐人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">接待人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{visitorCount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;" rowspan="2">金额(元)</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">餐费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{mealsFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">陪同人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{accompanyCount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">住宿费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{accommodationFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">科室经办人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{handler}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">综合科意见</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{comprehensiveOpinion}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">分管领导意见</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; text-align: left; min-height: 24px;" colspan="5">{{leaderOpinion}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">备注</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; text-align: left; min-height: 24px;" colspan="5">{{remark}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>`
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'paymentDate',
|
|
|
|
|
label: '支付日期',
|
|
|
|
|
type: 'date',
|
|
|
|
|
options: ''
|
|
|
|
|
name: '会议审批表',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="background: white;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">苏州市河道管理处会议审批表</h2>
|
|
|
|
|
<div style="display: flex; justify-content: flex-end; margin-bottom: 20px; font-size: 14px;">
|
|
|
|
|
<div>
|
|
|
|
|
<span>{{year}}</span>年
|
|
|
|
|
<span>{{month}}</span>月
|
|
|
|
|
<span>{{day}}</span>日
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-size: 14px; background: white;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center; width: 25%;">申请部门</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{department}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议名称</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{meetingName}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议类别</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">({{meetingType}})类会议</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议起止日期及天数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{duration}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议地点</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{location}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议规模</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">代表人数:{{representativeCount}} 工作人员数:{{staffCount}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">会议经费预算(元)</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{totalBudget}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">其中:住宿费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{accommodationFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">伙食费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{mealsFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">租场费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{venueFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">其他费用</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{otherFees}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">科室负责人审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{departmentApproval}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">分管领导审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{sectionApproval}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">综合科审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{comprehensiveApproval}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; background-color: #e9ecef; font-weight: bold; text-align: center;">单位负责人审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px; height: 32px; vertical-align: middle; text-align: left; padding-left: 12px; background-color: white;">{{unitApproval}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>`
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'paymentType',
|
|
|
|
|
label: '支付方式',
|
|
|
|
|
type: 'select',
|
|
|
|
|
options: '现金,银行转账,支票,其他'
|
|
|
|
|
name: '公务接待申请单',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="background: #fff; padding: 20px;">
|
|
|
|
|
<div style="position: relative; width: 100%; padding: 20px;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">苏州市河道管理处公务接待申请单</h2>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">申请科室</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{department}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">申请理由</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{reason}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">申请日期</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{applyDate}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="3"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;" rowspan="2">预计就餐人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">接待人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{visitorCount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;" rowspan="2">预计金额<br>(元)</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">餐费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{mealsFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">陪同人数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{accompanyCount}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 100px; background-color: #fff; text-align: center; font-weight: normal;">住宿费</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{accommodationFee}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">科室经办人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{handler}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">综合科意见</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="2">{{comprehensiveOpinion}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">分管领导意见</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; text-align: left; min-height: 24px;" colspan="5">{{leaderOpinion}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">备注</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 80px; text-align: left; min-height: 24px;" colspan="5">{{remark}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>`
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'isUrgent',
|
|
|
|
|
label: '是否加急',
|
|
|
|
|
type: 'checkbox',
|
|
|
|
|
options: ''
|
|
|
|
|
name: '水电费结算单',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="background: #fff; padding: 20px;">
|
|
|
|
|
<div style="position: relative; width: 100%; padding: 20px;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">水电费结算单</h2>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">费用发生地点:</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;" colspan="3">{{location}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">上期读数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{previousReading}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">实际使用水/电量</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{usageAmount}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">年 月 日读数</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{currentReading}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">水/电费单价</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{unitPrice}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">总费用</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{totalAmount}}元</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">大写:</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{amountInWords}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">借水/电单位</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{borrower}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">经办人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{handler}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">经办科室</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{department}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">科室负责人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{departmentHead}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">发票预留电话</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{phone}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 120px; background-color: #fff; text-align: center; font-weight: normal;">分管领导</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left; min-height: 24px;">{{leader}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<div style="margin-top: 20px; text-align: right;">
|
|
|
|
|
<div style="font-size: 16px;">
|
|
|
|
|
申请日期:{{applyDate}}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>`
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'approvalStatus',
|
|
|
|
|
label: '审批状态',
|
|
|
|
|
type: 'radio',
|
|
|
|
|
options: '待审批,已通过,已拒绝'
|
|
|
|
|
name: '报销贴单简易版',
|
|
|
|
|
content: `
|
|
|
|
|
<div style="background: #fff; padding: 20px;">
|
|
|
|
|
<div style="position: relative; width: 100%; padding: 20px;">
|
|
|
|
|
<h2 style="text-align: center; font-size: 20px; font-weight: bold; margin-bottom: 20px;">苏州市河道管理处报销贴单</h2>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; text-align: left;">科室:{{department}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; text-align: right;" colspan="2">{{year}}年{{month}}月{{day}}日</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif; margin-top: -1px;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 33%; background-color: #fff; text-align: center; font-weight: normal;">用途说明</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 33%; background-color: #fff; text-align: center; font-weight: normal;">金额</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 34%; background-color: #fff; text-align: center; padding-right: 160px;"rowspan="7">附单据{{receiptCount}}张</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;">{{purpose1}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{amount1}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;">{{purpose2}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{amount2}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;">{{purpose3}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{amount3}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;">{{purpose4}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{amount4}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;">{{purpose5}}</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{amount5}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center; font-weight: normal;">合计</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{totalAmount}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center; font-weight: normal;">报销金额(大写)</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: left;" colspan="2">{{amountInWords}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<table style="width: 100%; border-collapse: collapse; font-family: SimSun, serif; margin-top: -1px;">
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 50%; background-color: #fff; text-align: center; font-weight: normal; color: #8b4513;">报销(领款)人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{applicant}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 50%; background-color: #fff; text-align: center; font-weight: normal; color: #8b4513;">科室负责人</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{departmentHead}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 50%; background-color: #fff; text-align: center; font-weight: normal; color: #8b4513;">财审科审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{financialAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 50%; background-color: #fff; text-align: center; font-weight: normal; color: #8b4513;">分管领导审核</td>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; text-align: center;">{{leaderAudit}}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 1px solid #000; padding: 8px 12px; font-size: 16px; line-height: 1.5; height: 40px; width: 50%; background-color: #fff; text-align: center; font-weight: normal; color: #8b4513;">财务分管领导审核</td>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>`
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
],
|
|
|
|
|
editForm: {
|
|
|
|
|
name: '测试字段',
|
|
|
|
|
label: '测试标签',
|
|
|
|
|
type: 'text',
|
|
|
|
|
options: '',
|
|
|
|
|
required: false,
|
|
|
|
|
placeholder: ''
|
|
|
|
|
},
|
|
|
|
|
fieldList: [],
|
|
|
|
|
previewContent: '',
|
|
|
|
|
fieldMetadata: {},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.loadTemplate(this.currentTemplateIndex);
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.handleRefresh();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
currentTemplateIndex: {
|
|
|
|
|
immediate: true,
|
|
|
|
|
handler(newVal) {
|
|
|
|
|
this.loadTemplate(newVal);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
formatType: {
|
|
|
|
|
immediate: true,
|
|
|
|
|
handler(val) {
|
|
|
|
|
if (val === 'html') {
|
|
|
|
|
this.codeContent = '<!DOCTYPE html>\n<html>\n<head>\n <title>支付表格</title>\n</head>\n<body>\n <!-- 这里将显示生成的HTML代码 -->\n</body>\n</html>'
|
|
|
|
|
this.loadTemplate(this.currentTemplateIndex);
|
|
|
|
|
} else {
|
|
|
|
|
this.codeContent = '<?xml version="1.0" encoding="UTF-8"?>\n<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">\n <!-- 这里将显示生成的DOCX代码 -->\n</w:document>'
|
|
|
|
|
this.previewContent = ''
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
loadTemplate(index) {
|
|
|
|
|
if (this.templates && this.templates[index]) {
|
|
|
|
|
this.currentTemplateIndex = index;
|
|
|
|
|
this.codeContent = this.templates[index].content;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
nextTemplate() {
|
|
|
|
|
const nextIndex = (this.currentTemplateIndex + 1) % this.templates.length;
|
|
|
|
|
this.loadTemplate(nextIndex);
|
|
|
|
|
},
|
|
|
|
|
prevTemplate() {
|
|
|
|
|
const prevIndex = (this.currentTemplateIndex - 1 + this.templates.length) % this.templates.length;
|
|
|
|
|
this.loadTemplate(prevIndex);
|
|
|
|
|
},
|
|
|
|
|
handleRefresh() {
|
|
|
|
|
// 实现刷新预览的逻辑
|
|
|
|
|
let processedContent = this.codeContent;
|
|
|
|
|
|
|
|
|
|
const variableRegex = /\{\{([^}]+)\}\}/g;
|
|
|
|
|
const matches = this.codeContent.matchAll(variableRegex);
|
|
|
|
|
const variables = new Set();
|
|
|
|
|
|
|
|
|
|
for (const match of matches) {
|
|
|
|
|
variables.add(match[1]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.updateFieldMetadata(Array.from(variables));
|
|
|
|
|
|
|
|
|
|
processedContent = processedContent.replace(/\{\{[^}]+\}\}/g, '');
|
|
|
|
|
|
|
|
|
|
this.previewContent = processedContent;
|
|
|
|
|
},
|
|
|
|
|
handleUpload() {
|
|
|
|
|
// 实现文件上传的逻辑
|
|
|
|
|
},
|
|
|
|
|
handleEditField(field) {
|
|
|
|
|
this.editForm = { ...field }
|
|
|
|
|
this.showEditDrawer = true
|
|
|
|
|
this.editForm = { ...field };
|
|
|
|
|
this.showEditDrawer = true;
|
|
|
|
|
|
|
|
|
|
console.log('正在编辑字段:', field.name);
|
|
|
|
|
},
|
|
|
|
|
handleSaveField() {
|
|
|
|
|
const index = this.fieldList.findIndex(item => item.name === this.editForm.name)
|
|
|
|
|
if (index > -1) {
|
|
|
|
|
this.fieldList[index] = { ...this.editForm }
|
|
|
|
|
const { name } = this.editForm;
|
|
|
|
|
|
|
|
|
|
if (this.fieldMetadata[name]) {
|
|
|
|
|
this.fieldMetadata[name] = { ...this.editForm };
|
|
|
|
|
}
|
|
|
|
|
this.showEditDrawer = false
|
|
|
|
|
|
|
|
|
|
this.generateFieldList();
|
|
|
|
|
|
|
|
|
|
this.showEditDrawer = false;
|
|
|
|
|
},
|
|
|
|
|
getTypeDisplay(type) {
|
|
|
|
|
const typeMap = {
|
|
|
|
|
@ -216,11 +640,49 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
return typeMap[type] || type
|
|
|
|
|
},
|
|
|
|
|
handleCancel() {
|
|
|
|
|
this.$router.back();
|
|
|
|
|
},
|
|
|
|
|
handleSave() {
|
|
|
|
|
// 这里添加保存逻辑
|
|
|
|
|
this.$message.success('保存成功')
|
|
|
|
|
// 保存成功后返回列表页
|
|
|
|
|
this.$router.push('/business-config/pay-form')
|
|
|
|
|
this.$message.success('保存成功');
|
|
|
|
|
this.$router.push('/business-config/pay-form');
|
|
|
|
|
},
|
|
|
|
|
updateFieldMetadata(variables) {
|
|
|
|
|
const updatedMetadata = {};
|
|
|
|
|
|
|
|
|
|
variables.forEach(varName => {
|
|
|
|
|
if (this.fieldMetadata[varName]) {
|
|
|
|
|
updatedMetadata[varName] = this.fieldMetadata[varName];
|
|
|
|
|
} else {
|
|
|
|
|
updatedMetadata[varName] = {
|
|
|
|
|
name: varName,
|
|
|
|
|
label: this.formatVariableName(varName),
|
|
|
|
|
type: 'text',
|
|
|
|
|
options: '',
|
|
|
|
|
required: false,
|
|
|
|
|
placeholder: `请输入${this.formatVariableName(varName)}`
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.fieldMetadata = updatedMetadata;
|
|
|
|
|
|
|
|
|
|
this.generateFieldList();
|
|
|
|
|
|
|
|
|
|
console.log('字段元数据已更新:', this.fieldMetadata);
|
|
|
|
|
},
|
|
|
|
|
generateFieldList() {
|
|
|
|
|
this.fieldList = Object.values(this.fieldMetadata);
|
|
|
|
|
},
|
|
|
|
|
formatVariableName(name) {
|
|
|
|
|
return name
|
|
|
|
|
.replace(/([A-Z])/g, ' $1')
|
|
|
|
|
.replace(/^./, str => str.toUpperCase())
|
|
|
|
|
.trim();
|
|
|
|
|
},
|
|
|
|
|
showDrawerOnly() {
|
|
|
|
|
this.showEditDrawer = true;
|
|
|
|
|
console.log('尝试只打开抽屉');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -314,6 +776,16 @@ export default {
|
|
|
|
|
.text-muted {
|
|
|
|
|
color: #6c757d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.field-name,
|
|
|
|
|
.field-label {
|
|
|
|
|
display: block;
|
|
|
|
|
word-break: break-all;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
white-space: normal;
|
|
|
|
|
line-height: 1.4;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.w-100 {
|
|
|
|
|
@ -357,6 +829,45 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.drawer-footer {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
padding: 16px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border-top: 1px solid #e8e8e8;
|
|
|
|
|
|
|
|
|
|
.footer-buttons {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 16px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.form-input {
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
|
|
:deep(.el-input__inner),
|
|
|
|
|
:deep(.el-textarea__inner) {
|
|
|
|
|
white-space: normal;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
word-break: break-all;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-select) {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-form-item {
|
|
|
|
|
margin-bottom: 22px;
|
|
|
|
|
|
|
|
|
|
:deep(.el-form-item__label) {
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|