Эх сурвалжийг харах

提交开发票增加初始回显逻辑及必填项调整

wenmenghao321 6 сар өмнө
parent
commit
8443ea860d

+ 60 - 26
src/web/templates/pc/invoice.html

@@ -108,16 +108,16 @@
                     <el-form-item label="单位税号:" prop="taxpayer_identnum">
                     <el-form-item label="单位税号:" prop="taxpayer_identnum">
                       <el-input placeholder="请输入单位税号" v-model="ruleForm.taxpayer_identnum"></el-input>
                       <el-input placeholder="请输入单位税号" v-model="ruleForm.taxpayer_identnum"></el-input>
                     </el-form-item>
                     </el-form-item>
-                    <el-form-item style="min-height: 36px;height: auto;" label="单位地址:" :rules="[{ required: ruleForm.invoice_variety == '电子专用发票', message: '请输入单位地址', trigger: 'blur' }]" prop="company_address">
+                    <el-form-item style="min-height: 36px;height: auto;" label="单位地址:" :rules="[{ required: false, message: '请输入单位地址', trigger: 'blur' }]" prop="company_address">
                       <el-input ref="company_address" :style="{height: addressHeight + 'px'}" type="textarea" :rows="1" placeholder="请输入单位地址" v-model="ruleForm.company_address"></el-input>
                       <el-input ref="company_address" :style="{height: addressHeight + 'px'}" type="textarea" :rows="1" placeholder="请输入单位地址" v-model="ruleForm.company_address"></el-input>
                     </el-form-item>
                     </el-form-item>
-                    <el-form-item label="电话号码:" prop="company_phone" :rules="[{ required: ruleForm.invoice_variety == '电子专用发票', message: '请输入电话号码', trigger: 'blur' }, { validator: validateTelPhone, trigger: 'blur' }]">
+                    <el-form-item label="电话号码:" prop="company_phone" :rules="[{ required: false, message: '请输入电话号码', trigger: 'blur' }, { validator: validateTelPhone, trigger: 'blur' }]">
                       <el-input placeholder="请输入电话号码" v-model="ruleForm.company_phone"></el-input>
                       <el-input placeholder="请输入电话号码" v-model="ruleForm.company_phone"></el-input>
                     </el-form-item>
                     </el-form-item>
-                    <el-form-item label="开户银行:" prop="bank_name" :rules="[{ required: ruleForm.invoice_variety == '电子专用发票', message: '请输入开户银行', trigger: 'blur' }]">
+                    <el-form-item label="开户银行:" prop="bank_name" :rules="[{ required: false, message: '请输入开户银行', trigger: 'blur' }]">
                       <el-input placeholder="请输入开户银行" v-model="ruleForm.bank_name"></el-input>
                       <el-input placeholder="请输入开户银行" v-model="ruleForm.bank_name"></el-input>
                     </el-form-item>
                     </el-form-item>
-                    <el-form-item label="银行账号:" prop="bank_account" :rules="[{ required: ruleForm.invoice_variety == '电子专用发票', message: '请输入银行账号', trigger: 'blur' }, { validator: validateBankAccount, trigger: 'blur' }]">
+                    <el-form-item label="银行账号:" prop="bank_account" :rules="[{ required: false, message: '请输入银行账号', trigger: 'blur' }, { validator: validateBankAccount, trigger: 'blur' }]">
                       <el-input placeholder="请输入银行账号" v-model="ruleForm.bank_account"></el-input>
                       <el-input placeholder="请输入银行账号" v-model="ruleForm.bank_account"></el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item style="min-height: 36px;height: auto;" class="invoice_desc" label="开票备注:">
                     <el-form-item style="min-height: 36px;height: auto;" class="invoice_desc" label="开票备注:">
@@ -348,15 +348,29 @@
             // 发票信息回显
             // 发票信息回显
             invouceInfoEcho () {
             invouceInfoEcho () {
               const url = '/jypay/invoice/newShow'
               const url = '/jypay/invoice/newShow'
-              const params = {
+              if(this.urlParams.type === 'again' || this.urlParams.type === 'replace'){ // 换开重开 回显
+                const params = {
                 stype: 2,
                 stype: 2,
                 code: this.urlParams.invoiceid
                 code: this.urlParams.invoiceid
               }
               }
               this.ajaxComponent(url, params).then((res) => {
               this.ajaxComponent(url, params).then((res) => {
-                if(res) {
+                if(res.data && res.data.invoice) {
                   this.echoFun(res.data.invoice)
                   this.echoFun(res.data.invoice)
                 }
                 }
               })
               })
+                
+              } else { // 开发票初始回显上一次填过的内容
+                const params = {
+                stype: 1,
+                code: this.ruleForm.order_code
+              }
+              this.ajaxComponent(url, params).then((res) => {
+                if(res.data.showData) {
+                  this.echoFun(res.data.showData)
+                }
+              })
+                
+              }
             },
             },
             echoFun(data) {
             echoFun(data) {
               const { only_Identifying, invoice_type, invoice_variety, invoice_content, mail, phone, remark, company_name, taxpayer_identnum, company_address, company_phone, bank_name, bank_account } = data
               const { only_Identifying, invoice_type, invoice_variety, invoice_content, mail, phone, remark, company_name, taxpayer_identnum, company_address, company_phone, bank_name, bank_account } = data
@@ -402,15 +416,26 @@
             validateTelPhone: (rule, value, callback) => {
             validateTelPhone: (rule, value, callback) => {
               // const regPhone = /^1[3-9]\d{9}$/; // 手机号正则
               // const regPhone = /^1[3-9]\d{9}$/; // 手机号正则
               // const regTel = /^0\d{2,3}-?\d{7,8}$/ // 座机号码正则
               // const regTel = /^0\d{2,3}-?\d{7,8}$/ // 座机号码正则
-              if(invoiceNode.ruleForm.invoice_variety === '电子专用发票') {
-                if (regExpPhone.test(value)) {
-                  return callback()
-                } else {
-                  return callback(new Error('电话号码格式不正确'))
-                }
-              } else {
-                // 电子普通发票,电话号码非必填,不输入不校验,输入需校验
-                if(!value) {
+              // if(invoiceNode.ruleForm.invoice_variety === '电子专用发票') { 专用发票也调整为为非必填
+              //   if (regExpPhone.test(value)) {
+              //     return callback()
+              //   } else {
+              //     return callback(new Error('电话号码格式不正确'))
+              //   }
+              // } else {
+              //   // 电子普通发票,电话号码非必填,不输入不校验,输入需校验
+              //   if(!value) {
+              //     return callback()
+              //   } else {
+              //     if(regExpPhone.test(value)) {
+              //       return callback()
+              //     } else {
+              //       return callback(new Error('电话号码格式不正确'))
+              //     }
+              //   }
+              // }
+              //不输入不校验,输入需校验
+               if(!value) {
                   return callback()
                   return callback()
                 } else {
                 } else {
                   if(regExpPhone.test(value)) {
                   if(regExpPhone.test(value)) {
@@ -419,19 +444,29 @@
                     return callback(new Error('电话号码格式不正确'))
                     return callback(new Error('电话号码格式不正确'))
                   }
                   }
                 }
                 }
-              }
             },
             },
             validateBankAccount: (rule, value, callback) => {
             validateBankAccount: (rule, value, callback) => {
               const regAccount = /^\d+$/;
               const regAccount = /^\d+$/;
-              if(invoiceNode.ruleForm.invoice_variety === '电子专用发票') {
-                if (regAccount.test(value)) {
-                  return callback()
-                } else {
-                  return callback(new Error('请输入正确的银行账号'))
-                }
-              } else {
-                // 电子普通发票,银行账号非必填,不输入不校验,输入需校验
-                if(!value) {
+              // if(invoiceNode.ruleForm.invoice_variety === '电子专用发票') { 专用发票也调整为为非必填
+              //   if (regAccount.test(value)) {
+              //     return callback()
+              //   } else {
+              //     return callback(new Error('请输入正确的银行账号'))
+              //   }
+              // } else {
+              //   // 电子普通发票,银行账号非必填,不输入不校验,输入需校验
+              //   if(!value) {
+              //     return callback()
+              //   } else {
+              //     if (regAccount.test(value)) {
+              //       return callback()
+              //     } else {
+              //       return callback(new Error('请输入正确的银行账号'))
+              //     }
+              //   }
+              // }
+              // 不输入不校验,输入需校验
+              if(!value) {
                   return callback()
                   return callback()
                 } else {
                 } else {
                   if (regAccount.test(value)) {
                   if (regAccount.test(value)) {
@@ -440,7 +475,6 @@
                     return callback(new Error('请输入正确的银行账号'))
                     return callback(new Error('请输入正确的银行账号'))
                   }
                   }
                 }
                 }
-              }
             },
             },
             validateMail: (rule, value, callback) => {
             validateMail: (rule, value, callback) => {
               const regEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
               const regEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/