Kaynağa Gözat

发票管理

natasha 2 hafta önce
ebeveyn
işleme
5ef1fb8f99
1 değiştirilmiş dosya ile 120 ekleme ve 55 silme
  1. 120 55
      src/views/finance_manage/InvoiceManager.vue

+ 120 - 55
src/views/finance_manage/InvoiceManager.vue

@@ -59,7 +59,7 @@
                 <span>{{ goodsTypeListCss[scope.row.invoice_type].text }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="invoice_object" label="发票对象" width="90">
+            <el-table-column prop="invoice_object" label="抬头类型" width="90">
               <template slot-scope="scope">
                 <span>{{
                   goodsObjectListCss[scope.row.invoice_object].text
@@ -123,7 +123,8 @@
                     size="small"
                     class="primary-btn"
                     @click.native.prevent="
-                      handleRefund(scope.row, scope.$index)
+                      passId = scope.row.id;
+                      dialogVisiblePass = true;
                     "
                   >
                     通过
@@ -169,37 +170,33 @@
         <b>{{ goodsTypeListCss[ktjeInfo.invoice_type].text }}</b>
       </div>
       <div class="item-info">
-        <label>发票对象:</label>
+        <label>抬头类型:</label>
         <b>{{ goodsObjectListCss[ktjeInfo.invoice_object].text }}</b>
       </div>
       <div class="item-info">
-        <label>金额:</label>
-        <b>{{ ktjeInfo.amount | cutMoneyFiter }}</b>
-      </div>
-      <div class="item-info">
-        <label>名称:</label>
+        <label>抬头名称:</label>
         <b>{{ ktjeInfo.buyer_info_mc }}</b>
       </div>
       <template v-if="ktjeInfo.invoice_object === 1">
         <div class="item-info">
-          <label>税号:</label>
+          <label>单位税号:</label>
           <b>{{ ktjeInfo.buyer_info_sh }}</b>
         </div>
         <div class="item-info">
-          <label>地址:</label>
+          <label>注册地址:</label>
           <b>{{ ktjeInfo.buyer_info_dz }}</b>
         </div>
         <div class="item-info">
-          <label>电话:</label>
+          <label>注册电话:</label>
           <b>{{ ktjeInfo.buyer_info_dh }}</b>
         </div>
         <div class="item-info">
-          <label>账号:</label>
-          <b>{{ ktjeInfo.buyer_info_zh }}</b>
+          <label>开户银行:</label>
+          <b>{{ ktjeInfo.buyer_info_khh }}</b>
         </div>
         <div class="item-info">
-          <label>开户行:</label>
-          <b>{{ ktjeInfo.buyer_info_khh }}</b>
+          <label>银行账号:</label>
+          <b>{{ ktjeInfo.buyer_info_zh }}</b>
         </div>
       </template>
       <template v-else>
@@ -208,6 +205,11 @@
           <b>{{ ktjeInfo.buyer_info_sfzh }}</b>
         </div>
       </template>
+
+      <div class="item-info">
+        <label>金额:</label>
+        <b>{{ ktjeInfo.amount | cutMoneyFiter }}</b>
+      </div>
       <template v-if="ktjeInfo.invoice_file_url">
         <div class="item-info">
           <label>发票地址:</label>
@@ -256,6 +258,36 @@
         >
       </span>
     </el-dialog>
+    <!-- 审核通过 -->
+    <el-dialog
+      title="发票申请审核通过"
+      :visible.sync="dialogVisiblePass"
+      width="500px"
+    >
+      <el-upload
+        class="upload-demo"
+        :action="url"
+        :on-preview="handlePreview"
+        :on-remove="handleRemove"
+        :before-remove="beforeRemove"
+        multiple
+        :limit="1"
+        :on-exceed="handleExceed"
+        :on-success="handleSuccess"
+        :file-list="fileList"
+      >
+        <el-button size="small" type="primary">点击上传发票</el-button>
+        <div slot="tip" class="el-upload__tip">只能上传1个文件</div>
+      </el-upload>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisiblePass = false"
+          >取 消</el-button
+        >
+        <el-button size="small" type="primary" @click="handleRefund"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -375,10 +407,28 @@ export default {
       ktje: [],
       refundId: "",
       ktjeInfo: null,
+      dialogVisiblePass: false,
+      passId: "",
+      fileList: [],
     };
   },
   //计算属性 类似于data概念
-  computed: {},
+  computed: {
+    url() {
+      let userInfor = getToken();
+      let access_token = "";
+      if (userInfor) {
+        let user = JSON.parse(getToken());
+        access_token = user.access_token;
+      }
+      return (
+        process.env.VUE_APP_BASE_API +
+        "/FileServer/WebFileUpload?AccessToken=" +
+        access_token +
+        "&SecurityLevel=High"
+      );
+    },
+  },
   //监控data中数据变化
   watch: {},
   //方法集合
@@ -448,61 +498,52 @@ export default {
     },
     // 拒绝
     handleRefuse(row, index) {
-      this.$confirm("确定拒绝退款吗?", "提示", {
+      this.$prompt("请输入驳回原因", "确定驳回吗?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
       })
-        .then(() => {
-          let Mname =
-            "/ShopServer/Manager/FinanceManager/AuditOrderRefundApply";
+        .then(({ value }) => {
+          let Mname = "/ShopServer/Manager/FinanceManager/AuditInvoiceApply";
           let data = {
             id: row.id,
             is_pass: "false",
+            reject_reason: value,
           };
           getLogin(Mname, data).then((res) => {
             this.$message.success("操作成功");
             this.getList();
           });
         })
-        .catch(() => {});
+        .catch(() => {
+          // this.$message({
+          //   type: "info",
+          //   message: "取消输入",
+          // });
+        });
     },
-    // 退款
-    handleRefund(row, index) {
-      this.ktjeInfo = null;
-      let Mnames =
-        "/ShopServer/Manager/FinanceManager/GetOrderRefundApplyKTJEInfo";
+    // 审核通过
+    handleRefund() {
+      if (this.fileList.length === 0) {
+        this.$message.warning("请上传发票文件");
+        return;
+      }
+      let Mnames = "/ShopServer/Manager/FinanceManager/AuditInvoiceApply";
       let datas = {
-        id: row.id,
+        id: this.passId,
+        is_pass: "true",
+        invoice_file_id: this.fileList[0].file_id,
       };
-      getLogin(Mnames, datas).then((res) => {
-        if (res.status === 1) {
-          this.ktje = res.ktje_info.ktje;
-          this.ktjeInfo = res.ktje_info;
-          this.refundId = row.id;
-          this.dialogVisible = true;
-        }
-      });
-    },
-    // 确定退款
-    sureRefund() {
-      this.$confirm("确定要退款吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(() => {
-        let Mname = "/ShopServer/Manager/FinanceManager/AuditOrderRefundApply";
-        let data = {
-          id: this.refundId,
-          is_pass: "true",
-          refund_amount: this.ktje,
-        };
-        getLogin(Mname, data).then((res) => {
-          this.$message.success("操作成功");
-          this.getList();
-          this.dialogVisible = false;
+      getLogin(Mnames, datas)
+        .then((res) => {
+          if (res.status === 1) {
+            this.$message.success("操作成功");
+            this.getList();
+            this.dialogVisiblePass = false;
+          }
+        })
+        .catch(() => {
+          this.dialogVisiblePass = false;
         });
-      });
     },
     handleSizeChange(val) {
       this.pageSize = val;
@@ -523,6 +564,30 @@ export default {
         this.tableHeight = window.innerHeight - tableH;
       }
     },
+    handleRemove(file, fileList) {
+      this.fileList = [];
+    },
+    handlePreview(file) {
+      console.log(file);
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(
+        `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
+          files.length + fileList.length
+        } 个文件`
+      );
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`);
+    },
+    handleSuccess(response, file, fileList) {
+      if (response.status == 1) {
+        this.fileList = response.file_info_list;
+      } else {
+        this.fileList = [];
+        this.$message.warning(response.msg);
+      }
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {