[fix] 替换自动生成代码

This commit is contained in:
SADYX 2024-07-25 17:16:46 +08:00
parent 3ab301a98d
commit 34ff167879
5 changed files with 295 additions and 130 deletions

View File

@ -1,67 +1,69 @@
import request from '@/config/axios'
// 外部合同 VO
export interface ExtContractVO {
id: number // 主键
projectId: number // 项目id
name: string // 合同名称
type: string // 合同类型
customerCompanyId: number // 客户公司id
progress: string // 合同进展
expectedTime: Date // 预计签订时间
signingTime: Date // 签订时间
archiveTime: Date // 归档时间
status: string // 状态
amount: number // 合同金额
preAmount: number // 前期费用
designFee: number // 设计费
surveyFees: number // 勘测费
testingFee: number // 检测费
otherFee: string // 其他费
countType: string // 计费方式
remark: string // 备注
contractFileUrl: string // 合同附件url
constructionCost: number // 建安费
source: string // 资金来源
chargingStandard: string // 收费标准
discount: string // 优惠
consortium: boolean // 是否联合体
consortiumCompany: string // 联合体单位
reminderTime: Date // 合同提示时间
approvedAmount: number // 审定金额
reviewFileUrl: string // 审核文件url
contractId: number // 合同id
}
// 外部合同 API
export const ExtContractApi = {
// 查询外部合同分页
getExtContractPage: async (params: any) => {
return await request.get({ url: `/cms-ext/ext-contract/page`, params })
},
// 查询外部合同详情
getExtContract: async (id: number) => {
return await request.get({ url: `/cms-ext/ext-contract/get?id=` + id })
},
// 新增外部合同
createExtContract: async (data: ExtContractVO) => {
return await request.post({ url: `/cms-ext/ext-contract/create`, data })
},
// 修改外部合同
updateExtContract: async (data: ExtContractVO) => {
return await request.put({ url: `/cms-ext/ext-contract/update`, data })
},
// 删除外部合同
deleteExtContract: async (id: number) => {
return await request.delete({ url: `/cms-ext/ext-contract/delete?id=` + id })
},
// 导出外部合同 Excel
exportExtContract: async (params) => {
return await request.download({ url: `/cms-ext/ext-contract/export-excel`, params })
},
}
import request from '@/config/axios'
// 外部合同 VO
export interface ExtContractVO {
name: string // 合同名称
type: string // 合同类型
customerCompanyId: number // 客户公司id
progress: string // 合同进展
expectedTime: Date // 预计签订时间
signingTime: Date // 签订时间
archiveTime: Date // 归档时间
status: string // 状态
amount: number // 合同金额
preAmount: number // 前期费用
designFee: number // 设计费
surveyFees: number // 勘测费
testingFee: number // 检测费
otherFee: string // 其他费
countType: string // 计费方式
remark: string // 备注
contractFileUrl: string // 合同附件url
constructionCost: number // 建安费
source: string // 资金来源
chargingStandard: string // 收费标准
discount: string // 优惠
consortium: boolean // 是否联合体
consortiumCompany: string // 联合体单位
reminderTime: Date // 合同提示时间
approvedAmount: number // 审定金额
reviewFileUrl: string // 审核文件url
creator: string // 创建者
createTime: Date // 创建时间
updater: string // 更新者
updateTime: Date // 更新时间
contractId: number // 合同id
}
// 外部合同 API
export const ExtContractApi = {
// 查询外部合同分页
getExtContractPage: async (params: any) => {
return await request.get({ url: `/cms/ext-contract/page`, params })
},
// 查询外部合同详情
getExtContract: async (id: number) => {
return await request.get({ url: `/cms/ext-contract/get?id=` + id })
},
// 新增外部合同
createExtContract: async (data: ExtContractVO) => {
return await request.post({ url: `/cms/ext-contract/create`, data })
},
// 修改外部合同
updateExtContract: async (data: ExtContractVO) => {
return await request.put({ url: `/cms/ext-contract/update`, data })
},
// 删除外部合同
deleteExtContract: async (id: number) => {
return await request.delete({ url: `/cms/ext-contract/delete?id=` + id })
},
// 导出外部合同 Excel
exportExtContract: async (params) => {
return await request.download({ url: `/cms/ext-contract/export-excel`, params })
},
}

View File

@ -51,13 +51,23 @@
/>
</el-form-item>
<el-form-item label="合同状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
<el-select v-model="formData.status" placeholder="请选择合同状态">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="计费方式" prop="countType">
<el-select v-model="formData.countType" placeholder="请选择计费方式">
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_BILLING_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -70,7 +80,14 @@
<el-input v-model="formData.constructionCost" placeholder="请输入建安费" />
</el-form-item>
<el-form-item label="资金来源" prop="source">
<el-input v-model="formData.source" placeholder="请输入资金来源" />
<el-select v-model="formData.source" placeholder="请选择资金来源">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.FUNDS_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="优惠" prop="discount">
<el-input v-model="formData.discount" placeholder="请输入优惠" />
@ -148,6 +165,7 @@
</Dialog>
</template>
<script setup lang="ts">
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { ContractApi, ContractVO } from '@/api/cms/contract'
/** 合同 表单 */
@ -199,7 +217,7 @@ const formRules = reactive({
progress: [{ required: true, message: '合同进展不能为空', trigger: 'blur' }],
expectedTime: [{ required: true, message: '合同拟定时间不能为空', trigger: 'blur' }],
printingTime: [{ required: true, message: '合同用印时间不能为空', trigger: 'blur' }],
status: [{ required: true, message: '合同状态不能为空', trigger: 'blur' }],
status: [{ required: true, message: '合同状态不能为空', trigger: 'change' }],
approvedAmount: [{ required: true, message: '审定金额不能为空', trigger: 'blur' }],
createTime: [{ required: true, message: '创建时间不能为空', trigger: 'blur' }],
updateTime: [{ required: true, message: '更新时间不能为空', trigger: 'blur' }],

View File

@ -87,7 +87,12 @@
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="计费方式" prop="countType">
@ -97,7 +102,12 @@
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_BILLING_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -128,13 +138,19 @@
/>
</el-form-item>
<el-form-item label="资金来源" prop="source">
<el-input
<el-select
v-model="queryParams.source"
placeholder="请输入资金来源"
placeholder="请选择资金来源"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.FUNDS_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="优惠" prop="discount">
<el-input
@ -353,12 +369,24 @@
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="合同状态" align="center" prop="status" />
<el-table-column label="计费方式" align="center" prop="countType" />
<el-table-column label="合同状态" align="center" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="计费方式" align="center" prop="countType">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_BILLING_TYPE" :value="scope.row.countType" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="合同url" align="center" prop="contractFileUrl" />
<el-table-column label="建安费" align="center" prop="constructionCost" />
<el-table-column label="资金来源" align="center" prop="source" />
<el-table-column label="资金来源" align="center" prop="source">
<template #default="scope">
<dict-tag :type="DICT_TYPE.FUNDS_SOURCE" :value="scope.row.source" />
</template>
</el-table-column>
<el-table-column label="优惠" align="center" prop="discount" />
<el-table-column label="是否联合体" align="center" prop="consortium" />
<el-table-column label="联合体单位" align="center" prop="consortiumCompany" />
@ -424,6 +452,7 @@
</template>
<script setup lang="ts">
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { ContractApi, ContractVO } from '@/api/cms/contract'

View File

@ -7,9 +7,6 @@
label-width="100px"
v-loading="formLoading"
>
<el-form-item label="项目id" prop="projectId">
<el-input v-model="formData.projectId" placeholder="请输入项目id" />
</el-form-item>
<el-form-item label="合同名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入合同名称" />
</el-form-item>
@ -49,9 +46,14 @@
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
<el-select v-model="formData.status" placeholder="请选择状态">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="合同金额" prop="amount">
<el-input v-model="formData.amount" placeholder="请输入合同金额" />
@ -73,7 +75,12 @@
</el-form-item>
<el-form-item label="计费方式" prop="countType">
<el-select v-model="formData.countType" placeholder="请选择计费方式">
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_BILLING_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -86,10 +93,24 @@
<el-input v-model="formData.constructionCost" placeholder="请输入建安费" />
</el-form-item>
<el-form-item label="资金来源" prop="source">
<el-input v-model="formData.source" placeholder="请输入资金来源" />
<el-select v-model="formData.source" placeholder="请选择资金来源">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.FUNDS_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="收费标准" prop="chargingStandard">
<el-input v-model="formData.chargingStandard" placeholder="请输入收费标准" />
<el-select v-model="formData.chargingStandard" placeholder="请选择收费标准">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_FEE_STANDARD)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="优惠" prop="discount">
<el-input v-model="formData.discount" placeholder="请输入优惠" />
@ -116,6 +137,28 @@
<el-form-item label="审核文件url" prop="reviewFileUrl">
<el-input v-model="formData.reviewFileUrl" placeholder="请输入审核文件url" />
</el-form-item>
<el-form-item label="创建者" prop="creator">
<el-input v-model="formData.creator" placeholder="请输入创建者" />
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="formData.createTime"
type="date"
value-format="x"
placeholder="选择创建时间"
/>
</el-form-item>
<el-form-item label="更新者" prop="updater">
<el-input v-model="formData.updater" placeholder="请输入更新者" />
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="formData.updateTime"
type="date"
value-format="x"
placeholder="选择更新时间"
/>
</el-form-item>
<el-form-item label="合同id" prop="contractId">
<el-input v-model="formData.contractId" placeholder="请输入合同id" />
</el-form-item>
@ -127,7 +170,8 @@
</Dialog>
</template>
<script setup lang="ts">
import { ExtContractApi, ExtContractVO } from '@/api/cms-ext/extcontract'
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { ExtContractApi, ExtContractVO } from '@/api/cms/extcontract'
/** 外部合同 表单 */
defineOptions({ name: 'ExtContractForm' })
@ -140,8 +184,6 @@ const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
projectId: undefined,
name: undefined,
type: undefined,
customerCompanyId: undefined,
@ -168,15 +210,19 @@ const formData = ref({
reminderTime: undefined,
approvedAmount: undefined,
reviewFileUrl: undefined,
creator: undefined,
createTime: undefined,
updater: undefined,
updateTime: undefined,
contractId: undefined,
})
const formRules = reactive({
projectId: [{ required: true, message: '项目id不能为空', trigger: 'blur' }],
expectedTime: [{ required: true, message: '预计签订时间不能为空', trigger: 'blur' }],
amount: [{ required: true, message: '合同金额不能为空', trigger: 'blur' }],
countType: [{ required: true, message: '计费方式不能为空', trigger: 'change' }],
chargingStandard: [{ required: true, message: '收费标准不能为空', trigger: 'blur' }],
chargingStandard: [{ required: true, message: '收费标准不能为空', trigger: 'change' }],
consortium: [{ required: true, message: '是否联合体不能为空', trigger: 'blur' }],
createTime: [{ required: true, message: '创建时间不能为空', trigger: 'blur' }],
updateTime: [{ required: true, message: '更新时间不能为空', trigger: 'blur' }],
})
const formRef = ref() // Ref
@ -225,8 +271,6 @@ const submitForm = async () => {
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
projectId: undefined,
name: undefined,
type: undefined,
customerCompanyId: undefined,
@ -253,6 +297,10 @@ const resetForm = () => {
reminderTime: undefined,
approvedAmount: undefined,
reviewFileUrl: undefined,
creator: undefined,
createTime: undefined,
updater: undefined,
updateTime: undefined,
contractId: undefined,
}
formRef.value?.resetFields()

View File

@ -8,15 +8,6 @@
:inline="true"
label-width="68px"
>
<el-form-item label="项目id" prop="projectId">
<el-input
v-model="queryParams.projectId"
placeholder="请输入项目id"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="合同名称" prop="name">
<el-input
v-model="queryParams.name"
@ -94,7 +85,12 @@
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="合同金额" prop="amount">
@ -158,7 +154,12 @@
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_BILLING_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -189,22 +190,34 @@
/>
</el-form-item>
<el-form-item label="资金来源" prop="source">
<el-input
<el-select
v-model="queryParams.source"
placeholder="请输入资金来源"
placeholder="请选择资金来源"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.FUNDS_SOURCE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="收费标准" prop="chargingStandard">
<el-input
<el-select
v-model="queryParams.chargingStandard"
placeholder="请输入收费标准"
placeholder="请选择收费标准"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.CONTRACT_FEE_STANDARD)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="优惠" prop="discount">
<el-input
@ -263,6 +276,15 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建者" prop="creator">
<el-input
v-model="queryParams.creator"
placeholder="请输入创建者"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
@ -274,6 +296,26 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="更新者" prop="updater">
<el-input
v-model="queryParams.updater"
placeholder="请输入更新者"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="queryParams.updateTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="合同id" prop="contractId">
<el-input
v-model="queryParams.contractId"
@ -290,7 +332,7 @@
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['cms-ext:ext-contract:create']"
v-hasPermi="['cms:ext-contract:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
@ -299,7 +341,7 @@
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['cms-ext:ext-contract:export']"
v-hasPermi="['cms:ext-contract:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
</el-button>
@ -310,8 +352,6 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="主键" align="center" prop=" id" />
<el-table-column label="项目id" align="center" prop="projectId" />
<el-table-column label="合同名称" align="center" prop="name" />
<el-table-column label="合同类型" align="center" prop="type" />
<el-table-column label="客户公司id" align="center" prop="customerCompanyId" />
@ -337,19 +377,35 @@
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="合同金额" align="center" prop="amount" />
<el-table-column label="前期费用" align="center" prop="preAmount" />
<el-table-column label="设计费" align="center" prop="designFee" />
<el-table-column label="勘测费" align="center" prop="surveyFees" />
<el-table-column label="检测费" align="center" prop="testingFee" />
<el-table-column label="其他费" align="center" prop="otherFee" />
<el-table-column label="计费方式" align="center" prop="countType" />
<el-table-column label="计费方式" align="center" prop="countType">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_BILLING_TYPE" :value="scope.row.countType" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="合同附件url" align="center" prop="contractFileUrl" />
<el-table-column label="建安费" align="center" prop="constructionCost" />
<el-table-column label="资金来源" align="center" prop="source" />
<el-table-column label="收费标准" align="center" prop="chargingStandard" />
<el-table-column label="资金来源" align="center" prop="source">
<template #default="scope">
<dict-tag :type="DICT_TYPE.FUNDS_SOURCE" :value="scope.row.source" />
</template>
</el-table-column>
<el-table-column label="收费标准" align="center" prop="chargingStandard">
<template #default="scope">
<dict-tag :type="DICT_TYPE.CONTRACT_FEE_STANDARD" :value="scope.row.chargingStandard" />
</template>
</el-table-column>
<el-table-column label="优惠" align="center" prop="discount" />
<el-table-column label="是否联合体" align="center" prop="consortium" />
<el-table-column label="联合体单位" align="center" prop="consortiumCompany" />
@ -362,6 +418,7 @@
/>
<el-table-column label="审定金额" align="center" prop="approvedAmount" />
<el-table-column label="审核文件url" align="center" prop="reviewFileUrl" />
<el-table-column label="创建者" align="center" prop="creator" />
<el-table-column
label="创建时间"
align="center"
@ -369,6 +426,14 @@
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="更新者" align="center" prop="updater" />
<el-table-column
label="更新时间"
align="center"
prop="updateTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="合同id" align="center" prop="contractId" />
<el-table-column label="操作" align="center">
<template #default="scope">
@ -376,7 +441,7 @@
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['cms-ext:ext-contract:update']"
v-hasPermi="['cms:ext-contract:update']"
>
编辑
</el-button>
@ -384,7 +449,7 @@
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['cms-ext:ext-contract:delete']"
v-hasPermi="['cms:ext-contract:delete']"
>
删除
</el-button>
@ -405,9 +470,10 @@
</template>
<script setup lang="ts">
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { ExtContractApi, ExtContractVO } from '@/api/cms-ext/extcontract'
import { ExtContractApi, ExtContractVO } from '@/api/cms/extcontract'
import ExtContractForm from './ExtContractForm.vue'
/** 外部合同 列表 */
@ -422,7 +488,6 @@ const total = ref(0) // 列表的总页数
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
projectId: undefined,
name: undefined,
type: undefined,
customerCompanyId: undefined,
@ -449,7 +514,10 @@ const queryParams = reactive({
reminderTime: [],
approvedAmount: undefined,
reviewFileUrl: undefined,
creator: undefined,
createTime: [],
updater: undefined,
updateTime: [],
contractId: undefined,
})
const queryFormRef = ref() //