代码更新

This commit is contained in:
jia 2024-01-02 10:01:19 +08:00
parent b5de20a18c
commit 09438ebed7
40 changed files with 183 additions and 139 deletions

View File

@ -166,59 +166,90 @@ export const getNonDuplicateID = (length = 8) => {
* @params num
*/
export const toChinesNum = (value: any) => {
const chineseChars = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
const chineseUnits = ['', '拾', '佰', '仟', '万', '亿'];
const chineseCurrencies = ['元', '角', '分'];
const integerPart = Math.floor(value);
const decimalPart = Math.round((value - integerPart) * 100);
const convertPart = (num: number): string => {
if (num === 0) {
return '';
export const toChinesNum = (money: any) => {
// 汉字的数字
const cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
// 基本单位
const cnIntRadice = ['', '拾', '佰', '仟']
// 对应整数部分扩展单位
const cnIntUnits = ['', '万', '亿', '兆']
// 对应小数部分单位
const cnDecUnits = ['角', '分', '毫', '厘']
// 整数金额时后面跟的字符
const cnInteger = '整'
// 整型完以后的单位
const cnIntLast = '元'
// 最大处理的数字
const maxNum = 999999999999999.9999
// 金额整数部分
let integerNum
// 金额小数部分
let decimalNum
// 输出的中文金额字符串
let chineseStr = ''
// 分离金额后用的数组,预定义
let parts
if (money == '') {
return ''
}
let partStr = '';
let hasZero = false;
let unitIndex = 0;
while (num > 0) {
const digit = num % 10;
if (digit !== 0) {
partStr = chineseChars[digit] + chineseUnits[unitIndex] + partStr;
hasZero = false;
} else {
if (!hasZero && unitIndex !== 0) {
partStr = chineseChars[0] + partStr;
hasZero = true;
money = parseFloat(money)
if (money >= maxNum) {
// 超出最大处理数字
return ''
}
if (money == 0) {
chineseStr = cnNums[0] + cnIntLast + cnInteger
return chineseStr
}
// 转换为字符串
money = money.toString()
if (money.indexOf('.') == -1) {
integerNum = money
decimalNum = ''
} else {
parts = money.split('.')
integerNum = parts[0]
decimalNum = parts[1].substr(0, 4)
}
// 获取整型部分转换
if (parseInt(integerNum, 10) > 0) {
let zeroCount = 0
const IntLen = integerNum.length
for (let i = 0; i < IntLen; i++) {
const n = integerNum.substr(i, 1)
const p = IntLen - i - 1
const q = p / 4
const m = p % 4
if (n == '0') {
zeroCount++
} else {
if (zeroCount > 0) {
chineseStr += cnNums[0]
}
// 归零
zeroCount = 0
chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
}
if (m == 0 && zeroCount < 4) {
chineseStr += cnIntUnits[q]
}
}
}
num = Math.floor(num / 10);
unitIndex++;
chineseStr += cnIntLast
}
return partStr;
};
let result = '';
// 转换整数部分
if (integerPart === 0) {
result = chineseChars[0] + chineseCurrencies[0];
} else {
result = convertPart(integerPart) + chineseCurrencies[0];
}
// 转换小数部分
if (decimalPart > 0) {
result += convertPart(Math.floor(decimalPart / 10)) + chineseCurrencies[1];
result += convertPart(decimalPart % 10) + chineseCurrencies[2];
} else {
result += chineseChars[0] + chineseCurrencies[1] + chineseChars[0] + chineseCurrencies[2];
}
return result;
}
// 小数部分
if (decimalNum != '') {
const decLen = decimalNum.length
for (let i = 0; i < decLen; i++) {
const n = decimalNum.substr(i, 1)
if (n != '0') {
chineseStr += cnNums[Number(n)] + cnDecUnits[i]
}
}
}
if (chineseStr == '') {
chineseStr += cnNums[0] + cnIntLast + cnInteger
} else if (decimalNum == '') {
chineseStr += cnInteger
}
return chineseStr
}

View File

@ -30,7 +30,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="合同名称">
{{ formData.contract.contract_code }}
{{ formData.contract ? formData.contract.contract_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="8">

View File

@ -24,30 +24,30 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id" @click="showDialog1 = true">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
</el-form-item>
</el-col> <el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-form-item label="合同编号" prop="contract_no" @click="showDialog1 = true">
<el-input v-model="contract_no" clearable readonly placeholder="请选择合同" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id">
<el-input v-model="project_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col> <el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同金额" prop="project_amount">
<el-input v-model="project_amount" clearable placeholder="请输入合同金额" />
<el-input v-model="project_amount" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -81,7 +81,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="开票金额(含税)" prop="invoicing_amount">
<el-input v-model="formData.invoicing_amount" clearable placeholder="请输入开票金额(含税)" />
<el-input v-model="formData.invoicing_amount" clearable placeholder="请输入开票金额(含税)" @input="amountinput" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -226,6 +226,7 @@
import customDialog from '@/components/custom-dialog/index.vue'
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { toChinesNum } from "@/utils/util";
import salescontractDialog from '@/components/salescontract/index.vue'
import { apiinvoiceapplyAdd, apiinvoiceapplyEdit, apiinvoiceapplyDetail } from '@/api/InvoicingRequests'
import { getAllProjectTypes } from '@/api/projecttype'
@ -273,6 +274,7 @@ const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
}
}
const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined) => void) => {
// const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
@ -288,6 +290,13 @@ const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined)
}
};
//
const amountinput = (e) => {
// console.log(e)
if (e && e > 0) {
formData.invoicing_amount_daxie = toChinesNum(e)
}
}
//
const delFileFn = (index: number) => {
formDataannex.splice(index, 1)
@ -316,6 +325,7 @@ const customEvent1 = (e: any) => {
project_code.value = e.project_code;
contract_name.value = e.contract_name;
contract_no.value = e.contract_code
project_amount.value = e.amount
showDialog1.value = false;
};
@ -385,6 +395,9 @@ const setFormData = async (data: Record<any, any>) => {
formData[key] = data[key]
}
}
if (formData.invoicing_amount) {
toChinesNum(formData.invoicing_amount)
}
custom_name.value = data.custom.name
project_name.value = data.contract_name;
project_code.value = data.contract_code

View File

@ -7,27 +7,27 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_code }}
{{ formData.contract ? formData.contract.contract_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目编号">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -21,7 +21,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>

View File

@ -21,7 +21,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>

View File

@ -21,7 +21,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>

View File

@ -22,7 +22,7 @@
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="8">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -25,22 +25,22 @@
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no" @click="showDialog1 = true">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable placeholder="请选择合同" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
<el-input v-model="project_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -20,18 +20,18 @@
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id" @click="showDialog1 = true">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
<el-input v-model="project_name" clearable placeholder="请选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -18,23 +18,23 @@
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id" @click="showDialog1 = true">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
<el-input v-model="project_name" clearable placeholder="请选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -24,23 +24,23 @@
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id" @click="showDialog1 = true">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
<el-input v-model="project_name" clearable placeholder="请选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>

View File

@ -7,14 +7,14 @@
<el-row>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -28,13 +28,13 @@
</el-col>
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -25,23 +25,23 @@
<el-col :span="8">
<el-form-item label="项目名称" prop="contract_id" @click="showDialog1 = true">
<el-input v-model="project_name" clearable placeholder="请输入项目名称" />
<el-input v-model="project_name" clearable placeholder="请选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="contract_id">
<el-input v-model="project_code" clearable placeholder="请输入项目编码" />
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -56,7 +56,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="金额大写" prop="amount_daxie">
<el-input v-model="formData.amount_daxie" readonly clearable placeholder="请输入金额大写" />
<el-input v-model="formData.amount_daxie" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>

View File

@ -10,7 +10,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -19,7 +19,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,12 +14,12 @@
<el-col :span="8">
<el-form-item label="合同编号" prop="contract_no" @click="showDialog1 = true">
<el-input v-model="contract_no" clearable placeholder="请输入合同编号" />
<el-input v-model="contract_no" clearable placeholder="请选择合同" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name" rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="contract_name" clearable placeholder="请输入合同名称" />
<el-form-item label="合同名称" prop="contract_name" :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="contract_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -14,7 +14,7 @@
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>

View File

@ -12,7 +12,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="项目编码">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
@ -22,7 +22,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">

View File

@ -30,27 +30,27 @@
</el-col>
<el-col :span="12">
<el-form-item label="合同编号">
{{ formData.contract.contract_no }}
{{ formData.contract ? formData.contract.contract_no : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目名称">
{{ formData.project.name
{{ formData.project ? formData.project.name : '暂无数据'
}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目编号">
{{ formData.project.project_code }}
{{ formData.project ? formData.project.project_code : '暂无数据' }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称">
{{ formData.contract.contract_name
{{ formData.contract ? formData.contract.contract_name : '暂无数据'
}}
</el-form-item>
</el-col>