|
|
@@ -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() {
|