|
@@ -43,8 +43,8 @@ const formData = reactive({
|
|
|
});
|
|
|
|
|
|
|
|
|
-const isFull = computed(() => {
|
|
|
- return Number( scanInvType.value) === 31 || Number(scanInvType.value) === 32
|
|
|
+const isFull = computed(() => {
|
|
|
+ return Number(scanInvType.value) === 31 || Number(scanInvType.value) === 32
|
|
|
});
|
|
|
|
|
|
|
|
@@ -52,11 +52,16 @@ function handleSaveStatus() {
|
|
|
formRef.value.validate(isValid => {
|
|
|
if (!isValid) return;
|
|
|
const { input_type: _, subtotal_fee, checkCode, ...otherParams } = formData;
|
|
|
+
|
|
|
+ const now = dayjs(new Date()).format('YYYY-MM-DD');
|
|
|
+ if (formData.open_date && !dayjs(formData.open_date).isSame(dayjs(now)) && !dayjs(formData.open_date).isBefore(dayjs(now))) {
|
|
|
+ return ElMessage.error("开票日期不能超过当前日期");
|
|
|
+ }
|
|
|
+
|
|
|
let params: Record<string, string> | null = null;
|
|
|
|
|
|
const type = map[scanInvType.value];
|
|
|
|
|
|
- console.log(type, props.invType)
|
|
|
if (scanInvType.value && String(props.invType) !== String(type)) {
|
|
|
return ElMessage.error("扫描识别的发票类型与开票类型不一致");
|
|
|
}
|
|
@@ -65,7 +70,7 @@ function handleSaveStatus() {
|
|
|
params = {
|
|
|
status: "3",
|
|
|
// subtotal_fee: subtotal_fee.toFixed(2),
|
|
|
- ...(isFull.value ? { total_fee: subtotal_fee.toFixed(2) } : { subtotal_fee:subtotal_fee.toFixed(2) }),
|
|
|
+ ...(isFull.value ? { total_fee: subtotal_fee.toFixed(2) } : { subtotal_fee: subtotal_fee.toFixed(2) }),
|
|
|
...(checkCode ? { checkCode } : {}),
|
|
|
...otherParams
|
|
|
};
|
|
@@ -129,112 +134,60 @@ watchEffect(() => {
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <el-form
|
|
|
- ref="formRef"
|
|
|
- :model="formData"
|
|
|
- :rules="rules"
|
|
|
- label-width="90px"
|
|
|
- class="demo-ruleForm"
|
|
|
- size="small"
|
|
|
- status-icon
|
|
|
- >
|
|
|
+ <el-form ref="formRef" :model="formData" :rules="rules" label-width="90px" class="demo-ruleForm" size="small"
|
|
|
+ status-icon>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="输入类型" prop="input_type">
|
|
|
- <el-select
|
|
|
- v-model="formData.input_type"
|
|
|
- style="width: 100%"
|
|
|
- placeholder="菜单类型"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(si, sii) in input_type_list"
|
|
|
- :key="'type' + si.value + sii"
|
|
|
- :label="si.label"
|
|
|
- :value="si.value"
|
|
|
- />
|
|
|
+ <el-select v-model="formData.input_type" style="width: 100%" placeholder="菜单类型">
|
|
|
+ <el-option v-for="(si, sii) in input_type_list" :key="'type' + si.value + sii" :label="si.label"
|
|
|
+ :value="si.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col
|
|
|
- :span="24"
|
|
|
- style="padding: 12px 12px 12px 16px"
|
|
|
- v-if="formData.input_type === '1'"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- clearable
|
|
|
- v-model="scanInputValue"
|
|
|
- :rows="3"
|
|
|
- type="textarea"
|
|
|
- placeholder="扫码枪输入处"
|
|
|
- @keydown="handleScanKeydown"
|
|
|
- />
|
|
|
+ <el-col :span="24" style="padding: 12px 12px 12px 16px" v-if="formData.input_type === '1'">
|
|
|
+ <el-input clearable v-model="scanInputValue" :rows="3" type="textarea" placeholder="扫码枪输入处"
|
|
|
+ @keydown="handleScanKeydown" />
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="发票类型">
|
|
|
<el-select style="width: 100%" v-model="scanInvType" disabled>
|
|
|
- <el-option
|
|
|
- v-for="inv in xs_inv_type_list"
|
|
|
- :key="inv.scanValue"
|
|
|
- :value="inv.scanValue"
|
|
|
- :label="inv.label"
|
|
|
- />
|
|
|
+ <el-option v-for="inv in xs_inv_type_list" :key="inv.scanValue" :value="inv.scanValue" :label="inv.label" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="发票号码" prop="invNum">
|
|
|
- <el-input
|
|
|
- v-model="formData.invNum"
|
|
|
- placeholder="发票号码"
|
|
|
- :disabled="disabled"
|
|
|
- />
|
|
|
+ <el-input v-model="formData.invNum" placeholder="发票号码" :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8" v-if="!isFull">
|
|
|
<el-form-item label="发票代码" prop="invCode">
|
|
|
- <el-input
|
|
|
- v-model="formData.invCode"
|
|
|
- placeholder="发票代码"
|
|
|
- :disabled="disabled"
|
|
|
- />
|
|
|
+ <el-input v-model="formData.invCode" placeholder="发票代码" :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="开票日期" prop="open_date">
|
|
|
- <el-date-picker
|
|
|
- style="width:100%"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- v-model="formData.open_date"
|
|
|
- :disabled="disabled"
|
|
|
- />
|
|
|
+ <el-date-picker style="width:100%" value-format="YYYY-MM-DD HH:mm:ss" v-model="formData.open_date"
|
|
|
+ :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item :label="isFull ? '税后金额' : '税前金额'" prop="subtotal_fee">
|
|
|
- <el-input-number
|
|
|
- v-model="formData.subtotal_fee"
|
|
|
- :precision="2"
|
|
|
- style="width: 100%"
|
|
|
- :max="100000000"
|
|
|
- :min="0"
|
|
|
- :disabled="disabled"
|
|
|
- />
|
|
|
+ <el-input-number v-model="formData.subtotal_fee" :precision="2" style="width: 100%" :max="100000000" :min="0"
|
|
|
+ :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8" v-if="!isFull">
|
|
|
<el-form-item label="校验码" prop="checkCode">
|
|
|
- <el-input
|
|
|
- placeholde="请输入校验码"
|
|
|
- v-model="formData.checkCode"
|
|
|
- :disabled="disabled"
|
|
|
- />
|
|
|
+ <el-input placeholde="请输入校验码" v-model="formData.checkCode" :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|