| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- <template>
- <div class="form-wrap">
- <div class="searchBox">
- <el-form
- ref="form"
- :model="form"
- :inline="true"
- label-width="150px">
- <el-form-item
- label="起始时间"
- prop="createTimeBegin">
- <el-date-picker
- v-model="form.createTimeBegin"
- type="datetime"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
- <el-form-item
- label="截止时间"
- prop="createTimeEnd">
- <el-date-picker
- v-model="form.createTimeEnd"
- type="datetime"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
- <el-form-item
- label="发票渠道"
- prop="channelName">
- <el-select
- v-model="form.channelName"
- filterable>
- <el-option
- v-for="item in channelList"
- :key="item.id"
- :value="item.invoiceSellerName"
- :label="item.invoiceSellerName"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="发票状态"
- prop="status">
- <el-select
- v-model="form.status">
- <el-option
- value=""
- label="全部"></el-option>
- <el-option
- :value="0"
- label="未开票"></el-option>
- <el-option
- :value="1"
- label="已开票"></el-option>
- <el-option
- :value="2"
- label="开票失败"></el-option>
- <el-option
- :value="3"
- label="开票中"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="开票人"
- prop="userId">
- <el-input v-model="form.userId"></el-input>
- </el-form-item>
- <el-form-item
- label="买方名称"
- prop="invoiceBuyerName">
- <el-input v-model="form.invoiceBuyerName"></el-input>
- </el-form-item>
- <el-form-item
- label="买方税号"
- prop="invoiceBuyerTaxNumber">
- <el-input v-model="form.invoiceBuyerTaxNumber"></el-input>
- </el-form-item>
- <el-form-item
- label="买方接收邮箱"
- prop="invoiceBuyerReceiveEmail">
- <el-input v-model="form.invoiceBuyerReceiveEmail"></el-input>
- </el-form-item>
- <el-form-item
- label="买方接收号码"
- prop="invoiceBuyerReceivePhone">
- <el-input v-model="form.invoiceBuyerReceivePhone"></el-input>
- </el-form-item>
- </el-form>
- <div class="btn-wrap">
- <el-button @click="reset">重置</el-button>
- <el-button
- type="primary"
- @click="getList">搜索</el-button>
- <el-button
- type="primary"
- plain
- v-if="canEdit"
- @click="showAddDialog">开票</el-button>
- </div>
- </div>
- <div class="tableBox">
- <!-- <div class="block-title">查询信息</div> -->
- <el-table
- stripe
- :data="tableData"
- v-loading="loading">
- <el-table-column
- label="发票渠道"
- prop="channelName"></el-table-column>
- <el-table-column
- label="开票人"
- prop="userId">
- </el-table-column>
- <el-table-column
- prop="orderCreateTime"
- label="订单下单时间">
- </el-table-column>
- <el-table-column
- prop="price"
- label="开票金额">
- </el-table-column>
- <el-table-column
- prop="invoiceSellerName"
- label="开票卖方">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerName"
- label="买方名称">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerTaxNum"
- label="买方税号">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerAddress"
- label="买方地址">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerPhone"
- label="买方联系方式">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerBank"
- label="买方开户银行">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerAccount"
- label="买方开户行账号">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerReceiveEmail"
- label="买方接收邮箱">
- </el-table-column>
- <el-table-column
- prop="invoiceBuyerReceivePhone"
- label="买方接收号码">
- </el-table-column>
- <el-table-column
- prop="submitTime"
- label="开票提交时间">
- </el-table-column>
- <el-table-column
- prop="completeTime"
- label="开票完成时间">
- </el-table-column>
- <el-table-column
- prop="downloadUrl"
- label="开票下载地址">
- <template slot-scope="scope">
- <a
- v-if="scope.row.downloadUrl"
- :href="scope.row.downloadUrl"
- target="_blank">下载</a>
- </template>
- </el-table-column>
- <el-table-column
- prop="qrcodeUrl"
- label="扫码开票二维码">
- <template slot-scope="scope">
- <img
- v-if="scope.row.qrcodeUrl"
- :src="scope.row.qrcodeUrl"
- alt="二维码"
- style="width:40px;height:40px;" >
- </template>
- </el-table-column>
- <el-table-column
- prop="fpdm"
- label="发票代码">
- </el-table-column>
- <el-table-column
- prop="fphm"
- label="发票号码">
- </el-table-column>
- <el-table-column
- prop="status"
- label="开票状态">
- <template slot-scope="scope">
- <span v-if="scope.row.status === 0">未开票</span>
- <span v-else-if="scope.row.status === 1">已开票</span>
- <span v-else-if="scope.row.status === 2">开票失败</span>
- <span v-else-if="scope.row.status === 3">开票中</span>
- <span v-else>未知</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="remark"
- label="开票备注">
- </el-table-column>
- <el-table-column
- prop="errInfo"
- label="失败原因">
- </el-table-column>
- <el-table-column
- v-if="canEdit"
- width="120"
- label="操作">
- <template slot-scope="scope">
- <el-button
- type="text"
- @click="showDialog('edit', scope.row)">
- <i class="el-icon-edit"></i>
- 编辑
- </el-button>
- <!-- <el-button
- type="text"
- @click="deleteItem(scope.row)">
- <i class="el-icon-delete"></i>
- 删除
- </el-button> -->
- <!-- <el-button
- v-if="scope.row.otaSourceCode==='KS'"
- type="text"
- @click="$refs.KSNewDialogRef.show(scope.row)"
- >
- 同步商品
- </el-button>
- <el-button
- v-if="scope.row.otaSourceCode==='KS' && scope.row.ksProductId"
- type="text"
- @click="$refs.KSUpdateDialogRef.show(scope.row)"
- >
- 同步商品价格库存
- </el-button> -->
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- background
- :current-page.sync="form.pageNum"
- @current-change="getList"
- layout="total, prev, pager, next"
- :total="total">
- </el-pagination>
- </div>
- <ElDialog
- :title="'编辑'"
- width="500px"
- v-model="dialogVisible">
- <el-form
- class="form-wrap"
- label-width="150px">
- <el-form-item label="发票ID">
- <el-input
- v-model="currentItem.id"
- disabled></el-input>
- </el-form-item>
- <el-form-item label="开票备注">
- <el-input
- v-model="currentItem.remark"
- type="area"></el-input>
- </el-form-item>
- </el-form>
- </ElDialog>
- <ElDialog
- :title="'开票'"
- width="800px"
- v-model="addDialogVisible">
- <AddDialog ></AddDialog>
- </ElDialog>
- </div>
- </template>
- <script>
- import { getInvoiceSellerList, getInvoiceList } from '@/api/invoice'
- import ElDialog from '@/components/Dialog'
- import AddDialog from './invoice/Dialog'
- export default {
- components: {
- ElDialog,
- AddDialog
- },
- data () {
- return {
- projectName: localStorage.getItem('otaProject'),
- performList: [],
- dialogType: 'add',
- dialogVisible: false,
- addDialogVisible: false,
- form: {
- pageNum: 1,
- pageSize: 10,
- createTimeBegin: '',
- createTimeEnd: '',
- status: '',
- channelName: '',
- userId: '',
- otaProductId: '',
- invoiceBuyerName: '',
- invoiceBuyerTaxNumber: '',
- invoiceBuyerReceiveEmail: '',
- invoiceBuyerReceivePhone: ''
- },
- loading: false,
- multipleSelection: [], // 批量删除多选数组
- total: 0,
- tableData: [],
- currentItem: {},
- channelList: [],
- otaList: []
- }
- },
- created () {
- this.getChannelList()
- this.getList()
- // this.fetchBatchConfigList()
- // getPerformList(this.projectName).then((res) => {
- // this.performList = res.extraInfo
- // })
- },
- filters: {
- formatXCProductName (time) {
- if (!time) return ''
- const map = {
- '1': '一张一人需要证件',
- '2': '一张一人不需要证件',
- '3': '一单一人需要证件',
- '4': '一单一人不需要证件'
- }
- return map[time] || ''
- }
- },
- computed: {
- canEdit () {
- return true
- // return this.$store.state.user.permissionList.includes('product:pricecode_edit')
- },
- queryClear () {
- return this.$store.state.user.permissionList.includes('stats:clearwx_query')
- }
- },
- methods: {
- handleSelectionChange (val) {
- this.multipleSelection = val
- },
- getChannelList () {
- return getInvoiceSellerList({
- pageNum: 1,
- pageSize: -1
- }).then(res => {
- this.ticketTypeList = res.data.records
- })
- },
- // 获取列表
- getList () {
- this.loading = true
- getInvoiceList(this.form).then(res => {
- this.total = res.data.total
- this.tableData = res.data.records
- this.loading = false
- })
- },
- // 打开编辑对话框
- showDialog (type, item) {
- this.dialogType = type
- this.currentItem = item || {}
- this.dialogVisible = true
- },
- showAddDialog () {
- this.addDialogVisible = true
- },
- reset () {
- this.$refs.form.resetFields()
- }
- }
- }
- </script>
|