|
@@ -2,14 +2,15 @@
|
|
|
import { FormRules, ElForm } from "element-plus";
|
|
|
import { reactive, ref } from "vue";
|
|
|
import { httpAdd } from "/@/api/InvoiceSales/invoiceApply";
|
|
|
-import { inv_type_list } from "/@/utils/status";
|
|
|
import RemoteSelect from "/@/components/RemoteSelect";
|
|
|
-import { httpList as httpBuyList } from "/@/api/parameter/invoiceheader";
|
|
|
+import { httpInvoiceList } from "/@/api/InvoiceSales/invoiceApply";
|
|
|
import { httpList as httpCompanylist } from "/@/api/parameter/finance";
|
|
|
import OrderDialog from "./order-dialog.vue";
|
|
|
import EditOrder from "./edit-order.vue";
|
|
|
import { useResponseHandle } from "/@/hooks";
|
|
|
import { useRouter } from "vue-router";
|
|
|
+import { isChinese, isIDentityCard, isEmoticon } from "/@/utils/validate";
|
|
|
+import { inv_type_list } from "./../status";
|
|
|
|
|
|
enum FROM_TYPE {
|
|
|
order = "order",
|
|
@@ -33,8 +34,10 @@ const initform = {
|
|
|
invtype: "", //开票类型
|
|
|
email: "", //邮箱
|
|
|
remark: "", //备注
|
|
|
- orderArr: [], //开票销售单明细 obj:sequenceNo//销售单编号 inv_fee//销售单开票金额
|
|
|
- companyType: ""
|
|
|
+ orderArr: [], //开票销售单明细 obj:sequenceNo//销售单编号 inv_fee//销售单开票金额,
|
|
|
+ companyType: "01"
|
|
|
+ // id_number: "",
|
|
|
+ // real_name: "",
|
|
|
};
|
|
|
|
|
|
const ruleForm = ref({ ...initform });
|
|
@@ -75,6 +78,24 @@ const rules = reactive<FormRules>({
|
|
|
message: "请输入申请备注",
|
|
|
trigger: "blur"
|
|
|
}
|
|
|
+ ],
|
|
|
+ id_number: [
|
|
|
+ {
|
|
|
+ validator(_, value) {
|
|
|
+ return !value || isIDentityCard(value);
|
|
|
+ },
|
|
|
+ trigger: "blur",
|
|
|
+ message: "身份证号格式不正确"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ real_name: [
|
|
|
+ {
|
|
|
+ validator(_, value) {
|
|
|
+ return !value || (isChinese(value) && !isEmoticon(value));
|
|
|
+ },
|
|
|
+ trigger: "blur",
|
|
|
+ message: "真实姓名格式不正确"
|
|
|
+ }
|
|
|
]
|
|
|
});
|
|
|
|
|
@@ -95,14 +116,15 @@ const handleDelete = (index: number) => {
|
|
|
};
|
|
|
|
|
|
function handleSave() {
|
|
|
- formRef.value.validate(async vaild => {
|
|
|
- if (!vaild) return;
|
|
|
+ formRef.value.validate(async isValid => {
|
|
|
+ if (!isValid) return;
|
|
|
|
|
|
- const { code, message } = httpAdd({
|
|
|
+ const { code, message } = await httpAdd({
|
|
|
...ruleForm.value,
|
|
|
orderArr: Object.keys(mapSequenceNoToInvfee.value).map(sequenceNo => ({
|
|
|
sequenceNo,
|
|
|
- inv_fee: mapSequenceNoToInvfee.value[sequenceNo]
|
|
|
+ inv_fee: mapSequenceNoToInvfee.value[sequenceNo],
|
|
|
+ num: "2"
|
|
|
}))
|
|
|
});
|
|
|
|
|
@@ -169,17 +191,19 @@ function handleAddOrder(list) {
|
|
|
label-width="135px"
|
|
|
>
|
|
|
<RemoteSelect
|
|
|
+ is-root
|
|
|
v-model:value="ruleForm.buy_id"
|
|
|
- :api="httpBuyList"
|
|
|
+ :api="httpInvoiceList"
|
|
|
style="width: 100%"
|
|
|
placeholder="购买方公司抬头"
|
|
|
+ request-prop="name"
|
|
|
response-label-prop="invoice_title"
|
|
|
- response-val-prop="checkNo"
|
|
|
+ response-val-prop="id"
|
|
|
@itemChange="companyNo_change()"
|
|
|
/> </el-form-item
|
|
|
></el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label-width="120px" label="发票类型" prop="invtype">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label-width="100px" label="发票类型" prop="invtype">
|
|
|
<el-select
|
|
|
v-model="ruleForm.invtype"
|
|
|
style="width: 100%"
|
|
@@ -194,28 +218,27 @@ function handleAddOrder(list) {
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label-width="120px" label="电子邮箱" prop="email">
|
|
|
+ <el-form-item label-width="100px" label="电子邮箱" prop="email">
|
|
|
<el-input v-model="ruleForm.email" placeholder="电子邮箱"
|
|
|
/></el-form-item>
|
|
|
- <!-- <el-form-item
|
|
|
- label-width="120px"
|
|
|
- label="业务公司类型"
|
|
|
- prop="companyType"
|
|
|
- >
|
|
|
- <el-select w-full v-model="ruleForm.companyType">
|
|
|
- <el-option value="01" label="企业" />
|
|
|
- <el-option value="02" label="机关事业单位" />
|
|
|
- <el-option value="03" label="个人" />
|
|
|
- <el-option value="04" label="其他" />
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="申请备注" prop="remark">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label-width="120px" label="真实姓名" prop="real_name">
|
|
|
+ <el-input v-model="ruleForm.real_name" placeholder="真实姓名" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label-width="120px" label="身份证号" prop="id_number">
|
|
|
+ <el-input v-model="ruleForm.id_number" placeholder="身份证号"
|
|
|
+ /></el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="申请备注" prop="remark" label-width="135px">
|
|
|
<el-input
|
|
|
+ w-full
|
|
|
v-model="ruleForm.remark"
|
|
|
- :rows="4"
|
|
|
+ :rows="3"
|
|
|
type="textarea"
|
|
|
maxlength="2000"
|
|
|
placeholder="申请备注"
|
|
@@ -239,9 +262,10 @@ function handleAddOrder(list) {
|
|
|
show-overflow-tooltip
|
|
|
width="200"
|
|
|
/>
|
|
|
- <el-table-column prop="ainv_fee" label="已开票" width="160" />
|
|
|
- <el-table-column prop="inv_fee" label="开票中" width="160" />
|
|
|
- <el-table-column prop="winv_fee" label="未开票" width="160" />
|
|
|
+
|
|
|
+ <el-table-column prop="ainv_fee" label="已开票" width="120" />
|
|
|
+ <el-table-column prop="inv_fee" label="开票中" width="120" />
|
|
|
+ <el-table-column prop="winv_fee" label="未开票" width="120" />
|
|
|
|
|
|
<el-table-column label="开票金额" width="110">
|
|
|
<template #="{ row }">{{
|