4 changed files with 668 additions and 0 deletions
@ -0,0 +1,30 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/invoicerecords/listPage', |
|||
method: 'post', |
|||
data: params, |
|||
}) |
|||
}, |
|||
|
|||
// 获取订单详情
|
|||
getOrderDetails: function(params) { |
|||
return request({ |
|||
url: '/empsreservoorder/OrderDetailsNew/'+params, |
|||
method: 'get' |
|||
}) |
|||
}, |
|||
|
|||
// 审核发票
|
|||
toExamine: function(params) { |
|||
return request({ |
|||
url: '/invoicerecords/toExamine', |
|||
method: 'post', |
|||
data: params, |
|||
}) |
|||
}, |
|||
} |
@ -0,0 +1,614 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="发票列表" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="发票抬头"> |
|||
<el-input v-model="queryParams.params.name" placeholder="" clearable /> |
|||
</el-form-item> |
|||
|
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" |
|||
@click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" |
|||
@click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">发票列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"> |
|||
<!-- <el-table-column fixed width="50" type="selection" align="center" /> --> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column label="操作" align="center" width="120"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">审核</el-button> |
|||
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> --> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="nick" label="提交人" width="150" align="center" /> |
|||
<el-table-column prop="mobile" label="联系电话" width="150" align="center" /> |
|||
<el-table-column prop="createTime" label="提交时间" width="180" align="center" /> |
|||
<el-table-column label="订单编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" |
|||
@click="showOrder(scope.row.orderSid)">{{ scope.row.outTradeNo }}</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="invoiceType" label="发票类型" width="150" align="center" /> |
|||
<el-table-column prop="headingType" label="抬头类型" width="150" align="center" /> |
|||
<el-table-column prop="invoiceHeader" label="发票抬头" align="center" /> |
|||
<el-table-column prop="totalTee" label="发票金额" width="150" align="center" /> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> --> |
|||
|
|||
<el-dialog title="审核发票" :visible.sync="dialogVisible" :before-close="handleClose"> |
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -40px;":model="itemInfo"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">发票类型</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.invoiceType}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">抬头类型</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.headingType}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">发票抬头</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.invoiceHeader}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">税号</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.dutyParagraph}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">开户银行</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.bankOfDeposit}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">银行账号</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.bankAccount}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">企业地址</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.enterpriseAddress}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">企业电话</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.enterprisePhone}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">发票金额</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{itemInfo.totalTee}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">订单编号</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item class="trightb_item"> |
|||
<span style="color: #1890FF; text-decoration: underline ;" |
|||
@click="showOrder(itemInfo.orderSid)">{{itemInfo.outTradeNo}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
</el-form> |
|||
<el-form ref="dataForm2" class="formadd" :model="formobj"> |
|||
<el-row class="first_row"> |
|||
<el-col :span="8" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">审核结果</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-radio-group v-model="formobj.state" size="small" @change="changeTheme"> |
|||
<el-radio :label="2">同意</el-radio> |
|||
<el-radio :label="3">拒绝</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">审核意见</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-input v-model="formobj.remarks" placeholder="请填写审核意见" class="addinputw" |
|||
style="width:100%" clearable /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
|
|||
|
|||
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;"> |
|||
<el-button type="primary" style="margin-top: 20px;" @click="saveExamine">确 定</el-button> |
|||
</div> |
|||
|
|||
</el-dialog> |
|||
|
|||
|
|||
|
|||
<el-dialog title="订单详情" :visible.sync="dialogVisible2" :before-close="handleClose2"> |
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -40px;" :model="orderInfo"> |
|||
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px"> |
|||
<div>订单信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">订单编号</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{orderInfo.outTradeNo}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">下单时间</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{orderInfo.createTime}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">付款时间</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{orderInfo.payTime}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">支付方式</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{orderInfo.payType}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">实付金额</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{orderInfo.meet}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-collapse v-model="activeNames" style="margin-top: 20px;"> |
|||
<el-collapse-item name="1" title="商品列表"> |
|||
<!-- <template slot="title"> |
|||
商品列表<span class="span" @click.stop="add()">添加</span> |
|||
</template> --> |
|||
<el-table v-loading="listLoading" :data="orderInfo.ordOrderDetails" border style="width: 100%;" |
|||
:row-style="{height: '40px'}"> |
|||
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> |
|||
<el-table-column label="商品图片" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-popover placement="left" trigger="click" width="300"> |
|||
<img :src="scope.row.picUrl" width="100%" /> |
|||
<img slot="reference" :src="scope.row.picUrl" :alt="scope.row.picUrl" |
|||
style="max-height: 70px;max-width: 70px; padding: 5px" /> |
|||
</el-popover> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="商品名称" prop="goodsName" align="center" /> |
|||
<el-table-column label="份数" prop="partNumber" align="center" /> |
|||
<el-table-column label="单价" prop="priceUnit" align="center" /> |
|||
<el-table-column label="单位" prop="specificationUnit" align="center" /> |
|||
<el-table-column label="规格" prop="unitName" align="center" /> |
|||
<el-table-column label="金额" prop="pricePart" align="center" /> |
|||
</el-table> |
|||
|
|||
</el-collapse-item> |
|||
</el-collapse> |
|||
|
|||
</el-form> |
|||
|
|||
|
|||
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;"> |
|||
<el-button type="primary" style="margin-top: 20px;" @click="handleClose2">确 定</el-button> |
|||
</div> |
|||
|
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/invoiceReview/invoiceReview.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
// import divAdd from './appletNoticeAdd.vue' |
|||
export default { |
|||
name: 'SupplierBankInfoIndex', |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
// divAdd |
|||
}, |
|||
data() { |
|||
return { |
|||
activeNames: ['1'], |
|||
listLoading: false, |
|||
formobj: { |
|||
sid: "", |
|||
state: "", //2申请通过 3不通过 |
|||
remarks: '' |
|||
}, |
|||
dialogVisible: false, |
|||
dialogVisible2: false, |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [ |
|||
// { |
|||
// type: 'primary', |
|||
// size: 'small', |
|||
// icon: 'plus', |
|||
// btnKey: 'toAdd', |
|||
// btnLabel: '新增' |
|||
// }, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
itemInfo: {}, |
|||
orderInfo: {} |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
toAdd() { |
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showAdd() |
|||
}, |
|||
|
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
toRelevancy(row) { |
|||
this.dialogVisible = true |
|||
this.formobj.sid = row.sid |
|||
this.itemInfo = row |
|||
}, |
|||
changeTheme(val) { |
|||
|
|||
}, |
|||
handleClose() { |
|||
this.dialogVisible = false |
|||
}, |
|||
handleClose2() { |
|||
this.dialogVisible2 = false |
|||
}, |
|||
saveExamine() { |
|||
console.log("saveExamine", this.formobj); |
|||
|
|||
if (this.formobj.state == '') { |
|||
this.$message({ |
|||
type: 'warning', |
|||
message: '请选择审核结果', |
|||
showClose: true |
|||
}) |
|||
|
|||
return |
|||
} |
|||
|
|||
if (this.formobj.state == 2 && this.formobj.remarks == '') { |
|||
this.$message({ |
|||
type: 'warning', |
|||
message: '请填写审核意见', |
|||
showClose: true |
|||
}) |
|||
|
|||
return |
|||
} |
|||
|
|||
req.toExamine(this.formobj).then((resp) => { |
|||
|
|||
this.$message({ |
|||
type: 's', |
|||
message: '审核完成', |
|||
showClose: true |
|||
}) |
|||
|
|||
this.loadList() |
|||
this.formobj = { |
|||
sid: "", |
|||
state: "", |
|||
remarks: '' |
|||
} |
|||
this.dialogVisible = false |
|||
}).catch(e => { |
|||
|
|||
}) |
|||
|
|||
|
|||
}, |
|||
toRelevancyInfo(row) { |
|||
const tip = '请确认是否删除所选商品?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteGoods(row.sid).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
showOrder(sid) { |
|||
console.log("showOrder", sid); |
|||
|
|||
if (sid != this.orderInfo.sid) { |
|||
req.getOrderDetails(sid).then((resp) => { |
|||
|
|||
this.orderInfo = resp.data |
|||
|
|||
this.tableLoading = false |
|||
|
|||
this.dialogVisible2 = true |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
|
|||
} else { |
|||
this.dialogVisible2 = true |
|||
} |
|||
|
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.trightb { |
|||
display: flex; |
|||
align-items: center; |
|||
text-align: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.trightb_item { |
|||
padding-top: 5px; |
|||
} |
|||
|
|||
/deep/.el-form {} |
|||
|
|||
/deep/.el-collapse-item__header { |
|||
height: 40px; |
|||
padding: 10px; |
|||
font-weight: bold; |
|||
font-size: 20px; |
|||
text-align: left; |
|||
color: #ffffff; |
|||
background-color: #0294d7; |
|||
} |
|||
|
|||
/deep/.el-collapse-item__content { |
|||
padding-bottom: 0; |
|||
} |
|||
</style> |
Loading…
Reference in new issue