Kaynağa Gözat

上传发票功能

yanliming 4 yıl önce
ebeveyn
işleme
1bcdd6f373

+ 38 - 2
src/views/base/billDetail-list.vue

@@ -89,7 +89,13 @@
                 prop="payStatusN"
                 prop="payStatusN"
                 label="支付状态"
                 label="支付状态"
             ></el-table-column>
             ></el-table-column>
-            <el-table-column label="操作" >
+            <el-table-column prop="isTicketUrl" label="是否上传发票">
+                <template slot-scope="{ row }">
+                    <span v-if="row.isTicketUrl">已上传</span>
+                    <span v-else>未上传</span>
+                </template>
+            </el-table-column>
+            <el-table-column label="操作"  width="250" >
                 <template slot-scope="{ row }">
                 <template slot-scope="{ row }">
                     <el-button v-if="row.payStatus!=20" size="mini" type="warning" @click="handleEdit(row)"
                     <el-button v-if="row.payStatus!=20" size="mini" type="warning" @click="handleEdit(row)"
                         >编辑</el-button
                         >编辑</el-button
@@ -97,6 +103,19 @@
                     <el-button v-if="row.payStatus!=20" size="mini" type="danger" @click="handleDelete(row)"
                     <el-button v-if="row.payStatus!=20" size="mini" type="danger" @click="handleDelete(row)"
                         >删除</el-button
                         >删除</el-button
                     >
                     >
+                    <el-upload
+                        class="avatar-uploader"
+                        name="uploadFile"
+                        :action="uploadUrl"
+                        :show-file-list="false"
+                        :headers="headers"
+                        :data="uploadData"
+                        :on-success="handleAvatarSuccess"
+                    >
+                        <el-button v-if="row.payStatus==20" size="mini" type="primary" @click="handleLoad(row)"
+                            >发票上传</el-button
+                        >
+                    </el-upload>
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
             </el-table>
             </el-table>
@@ -198,6 +217,10 @@ export default {
             batchImportVisible: false,
             batchImportVisible: false,
             batchImportFileList: [],
             batchImportFileList: [],
             uploadUrlXls: Constant.serverUrl + "/base/billDetail/importXls",
             uploadUrlXls: Constant.serverUrl + "/base/billDetail/importXls",
+            uploadUrl: Constant.serverUrl + "/base/billDetail/uploadTicket",
+            uploadData: {
+                subFolder: "billDetail",
+            },
             uploadXlsData: {
             uploadXlsData: {
                 billId: this.businessKey,
                 billId: this.businessKey,
             },
             },
@@ -376,7 +399,20 @@ export default {
                     }
                     }
                 });
                 });
             });
             });
-        }
+        },
+        handleLoad(row){
+            this.uploadData["id"] = row.id;
+        },
+        handleAvatarSuccess(res, file) {
+            this.loading = false;
+            var self = this;
+            self.changePage(self.pageIndex);
+            self.$message({
+                type: "success",
+                message: "发票上传成功!",
+            });
+        },
+
     },
     },
     mounted: function () {
     mounted: function () {
         this.changePage(1);
         this.changePage(1);

+ 1 - 1
src/views/base/billInfo-detail.vue

@@ -83,7 +83,7 @@ export default {
             //上传图片start
             //上传图片start
             uploadUrl: Constant.serverUrl + "/uploadPicture",
             uploadUrl: Constant.serverUrl + "/uploadPicture",
             uploadData: {
             uploadData: {
-                subFolder: "biillInfo",
+                subFolder: "billInfo",
             },
             },
             fileUrl: "",
             fileUrl: "",
             headers: {
             headers: {