Parcourir la source

feat:发票上传校验日期格式

snow il y a 1 an
Parent
commit
1f6dcbdcd9

+ 22 - 15
src/components/approval-node/src/uploadInvoice/_template.js

@@ -83,53 +83,60 @@ export const columns = [
         label: '序号',
         width: '70px'
     },
-    {
-        prop: mapFields.invoiceNo,
-        label: '发票申请编号',
-        width: '110px',
-        required: true
-    },
+    // {
+    //     prop: mapFields.invoiceNo,
+    //     label: '发票申请编号',
+    //     width: '110px',
+    //     required: true,
+    // },
     {
         prop: mapFields.invoiceType,
         label: '发票类型',
         width: '120px',
-        required: true
+        required: true,
+        templateData:'增值税普通发票'
     },
     {
         prop: mapFields.invoiceNumber,
         label: '发票号码',
         width: '156px',
-        required: true
+        required: true,
+        templateData:'10000'
     },
     {
         prop: mapFields["invoiceCode"],
         label: '发票代码',
         width: '156px',
-        required: true
+        required: true,
+        templateData:'10000000'
     },
     {
         prop: mapFields["openTime"],
         label: '开票日期',
         width: '180px',
-        required: true
+        required: true,
+        templateData:'2023-01-01'
     },
     {
         prop: mapFields["afterTax"],
         label: '税后金额',
         width: '156px',
-        required: true
+        required: true,
+        templateData: 106
     },
     {
         prop: mapFields["beforeTax"],
         label: '税前金额',
         width: '150px',
-        required: true
+        required: true,
+        templateData: 100
     },
     {
         prop: mapFields["checkNumber"],
         label: '校验码',
         minWidth: '150px',
-        required: false
+        required: false,
+        templateData:'10000'
     },
 ]
 
@@ -141,8 +148,8 @@ export const getTableProperty = (key) => {
     return (columns.find(({label}) => key === label) || {}).prop
 }
 
-export const template = Array(1).fill(1).map(() => columns.slice(2).reduce((prev, {label}) => {
-    prev[label] = ''
+export const template = Array(1).fill(1).map(() => columns.slice(1).reduce((prev, {label,templateData}) => {
+    prev[label] = templateData
     return prev
 }, {}))
 

+ 13 - 4
src/components/approval-node/src/uploadInvoice/xlsxUploadModal.vue

@@ -94,9 +94,18 @@ export default {
             return false
           }
 
-          //转入的日期格式
-          if(property === mapFields.openTime && !Number.isNaN(Number(tableItem[property]))){
-            this.tableData[index][property] = this.formatDate(tableItem[property])
+          if(property === mapFields.openTime){
+            const chunks = (String(tableItem[property]) || "").split("-")
+
+            if(chunks.length !== 3 || (
+              chunks[0].length !== 4 ||
+              chunks[1].length !== 2 ||
+              chunks[2].length !== 2
+            )){
+              this.$message.warning(`第 ${line} 行 : 开票日期格式错误,请使用"2023-01-01"格式上传`)
+              return
+            }
+
           }
 
           //发票相关校验
@@ -150,7 +159,7 @@ export default {
     },
     onSuccess({ results: templateItems, header: templateHeader }) {
       const isHeaderValid = this.validateTableHeader(
-        this.columns.map(({ label }) => label).slice(2),
+        this.columns.map(({ label }) => label).slice(1),
         templateHeader
       )
       if (!isHeaderValid) {

+ 1 - 1
src/components/search/src/store.vue

@@ -13,8 +13,8 @@
     <el-option 
       :key="id" 
       :value="id" 
-      v-for="{ id, store_name, status } in list" 
       :label="store_name" 
+      v-for="{ id, store_name, status } in list" 
       :disabled="openOptionDisbaled && Number(status) === 0"
     />
   </el-select>