Browse Source

修改发票审核

谢立 4 years ago
parent
commit
55162d0a8a

File diff suppressed because it is too large
+ 702 - 100
package-lock.json


+ 90 - 2
src/apps/mobile/views/payment-bank/audit-invoice/components/detaisDialog.vue

@@ -48,7 +48,7 @@
             </div>
         </div>-->
         <div class="MaintenanceTable">
-            <el-form :model="ruleData" ref="ruleData">
+            <el-form :model="ruleData" ref="ruleData" :rules="checkFormRules">
                 <el-row>
                     <el-col :span="12">
                         <el-form-item label="发票种类:" style="margin-left:10px;">
@@ -132,6 +132,20 @@
                         </el-form-item>
                     </el-col>
                 </el-row>
+
+                <el-row v-if="isChecking">
+                    <el-col :span="12">
+                        <el-form-item label="发票代码:" prop="dm">
+                            <el-input v-model="ruleData.dm" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="发票号码:" prop="hm">
+                            <el-input  v-model="ruleData.hm" />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
             </el-form>
             <el-table
                 ref="multipleTable"
@@ -146,7 +160,12 @@
                 <el-table-column prop="xmsl" label="数量" :show-overflow-tooltip="true"></el-table-column>
                 <el-table-column prop="xmdj" label="单价" :show-overflow-tooltip="true"></el-table-column>
                 <el-table-column prop="xmze" label="金额" :show-overflow-tooltip="true"></el-table-column>
-                <el-table-column prop="sl" label="税率(%)" :show-overflow-tooltip="true"></el-table-column>
+                <el-table-column label="税率(%)" :show-overflow-tooltip="true">
+                    <template slot-scope="scope">
+                        <span v-if="!isChecking">{{scope.row.sl}}</span>
+                        <el-input v-else v-model="tableData[0].sl" />
+                    </template>
+                </el-table-column>
                 <el-table-column prop="se" label="税额" :show-overflow-tooltip="true"></el-table-column>
                 <el-table-column prop="createTime" label="创建时间" :show-overflow-tooltip="true">
                     <template slot-scope="scope">
@@ -159,6 +178,13 @@
                     <span>价税合计: {{formData.jshj | pricePipe(2, '¥', true) }}</span>
                 </div>
             </div>
+            <div v-if="isChecking" slot="footer" class="dialog-footer" style="text-align: right;">
+                <el-button @click="close()">取 消</el-button>
+                <el-button
+                    type="primary"
+                    @click="submitForm"
+                >通 过</el-button>
+            </div>
         </div>
     </el-dialog>
 </template>
@@ -173,6 +199,15 @@ export default {
             detailsVisible: false,
             tableData: [],
             formData: {},
+            isChecking: false,
+            checkFormRules: {
+                dm: [
+                    { required: true, message: '请输入发票代码', trigger: 'blur' },
+                ],
+                hm: [
+                    { required: true, message: '请输入发票号码', trigger: 'blur' },
+                ]
+            }
         };
     },
     methods: {
@@ -185,6 +220,8 @@ export default {
         close() {
             this.formData = {};
             this.tableData = [];
+            this.ruleData.sl = '';
+            this.$refs['ruleData'].resetFields();
             this.detailsVisible = false;
         },
         getDetails() {
@@ -195,6 +232,57 @@ export default {
                 })
                 .catch();
         },
+        submitForm() {
+            this.$refs.ruleData.validate(valid => {
+                if (valid) {
+                    let flag = true
+                    for(let i=0;i<this.tableData.length;i++) {
+                        let item = this.tableData[i]
+                        if(item.sl == '' || isNaN(item.sl)) {
+                            flag = false
+                            break
+                        }
+                    }
+                    if(!flag) {
+                        this.$message.error('请输入税率')
+                        return false
+                    }
+                    let params = {
+                        id: this.ruleData.id,
+                        dm: this.ruleData.dm,
+                        hm: this.ruleData.hm,
+                        invoiceItem: this.tableData.map(item=> {
+                            return {
+                                id: item.id,
+                                se: item.sl
+                            }
+                        }),
+                        checkFlag: 1
+                    };
+                    this.$emit('onSubmit', params)
+                    this.close()
+
+                    // let formData = {
+                    //     ...this.addEditDialogForm,
+                    //     field: 'reward',
+                    //     tableName: 'reward_setting',
+                    // };
+                    // let message = '新增成功';
+                    // if (this.type === 'add') {
+                    //     console.log(formData);
+                    //     addDictionary(formData)
+                    //         .then(res => {
+                    //             this.completeOperation(message);
+                    //         })
+                    //         .catch(() => {
+                    //             this.submitBtndisabled = false;
+                    //         });
+                    // }
+                } else {
+                    return false;
+                }
+            });
+        },
     },
 };
 </script>

+ 20 - 18
src/apps/mobile/views/payment-bank/audit-invoice/index.vue

@@ -143,14 +143,14 @@
                                 type="primary"
                                 plain
                                 round
-                                @click="detailsFormShow(scope.row)"
+                                @click="detailsFormShow(scope.row, 1)"
                             >查看</el-button>
                             <el-button
                                 size="mini"
                                 type="primary"
                                 plain
                                 round
-                                @click="pass(scope.row.id)"
+                                @click="detailsFormShow(scope.row, 2)"
                                 :disabled="scope.row.checkFlag != 2"
                             >通过</el-button>
                             <el-button
@@ -174,7 +174,7 @@
                 </div>
             </div>
         </div>
-        <detailsDialog ref="detailsDialog"></detailsDialog>
+        <detailsDialog ref="detailsDialog" @onSubmit="approval"></detailsDialog>
         <!-- 驳回弹窗 -->
         <RejectDialog @isReject="isReject" ref="regectDialog"></RejectDialog>
         <TaxRateDialog ref="taxRateDialog" @queryListData="queryListData"></TaxRateDialog>
@@ -224,8 +224,10 @@ export default {
             this[dialogVisibleName] = false;
             this.detailsForm = {};
         },
-        detailsFormShow(data) {
+        //详情、审核框  type 1.查看 2.审核
+        detailsFormShow(data, type) {
             this.$refs.detailsDialog.open({ id: data.id, ruleData: data });
+            this.$refs.detailsDialog.isChecking = type == 2 ? true : false
         },
         queryListData() {
             // this.listLoading = true;
@@ -305,20 +307,20 @@ export default {
         },
         // 通过
         pass(id) {
-            // this.$refs.taxRateDialog.open(id);
-            this.$confirm('是否通过审批?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning',
-            })
-                .then(() => {
-                    let obj = {
-                        id,
-                        checkFlag: 1,
-                    };
-                    this.approval(obj);
-                })
-                .catch(() => {});
+            this.$refs.taxRateDialog.open(id);
+            // this.$confirm('是否通过审批?', '提示', {
+            //     confirmButtonText: '确定',
+            //     cancelButtonText: '取消',
+            //     type: 'warning',
+            // })
+            //     .then(() => {
+            //         let obj = {
+            //             id,
+            //             checkFlag: 1,
+            //         };
+            //         this.approval(obj);
+            //     })
+            //     .catch(() => {});
         },
 
         // 驳回弹框