MrShi
2024-03-08 d2bc6e096f0806b78ea92d4b90a21d3627d406c7
company/src/components/business/OperaTaxesWindow.vue
@@ -46,16 +46,18 @@
                    <div class="info_list_item_label">接收地址:</div>
                    <div class="info_list_item_val">{{ model.addr }}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">开票金额:</div>
                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{ model.price }}</div>
                </div>
<!--                <div class="info_list_item" style="width: 100%;">-->
<!--                    <div class="info_list_item_label">开票金额:</div>-->
<!--                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{ model.price }}</div>-->
<!--                </div>-->
            </div>
            <el-table v-if="model.type ==0"
<!--            show-summary-->
<!--            :summary-method="getSummaries1"-->
            <el-table
                v-if="model.applyType ==0"
                :data="tableData"
                border
                show-summary
                :summary-method="getSummaries"
                style="width: 100%; margin-bottom: 20px;">
                <el-table-column
                    label="序号"
@@ -75,26 +77,23 @@
                    prop="applyCode"
                    label="保单号">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="createDate"
                    label="申请开票时间">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="fee"
                    label="金额">
                  <template slot-scope="{row}">
                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
                  </template>
                </el-table-column>
<!--                <el-table-column-->
<!--                    align="center"-->
<!--                    prop="fee"-->
<!--                    label="金额">-->
<!--                  <template slot-scope="{row}">-->
<!--                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>-->
<!--                  </template>-->
<!--                </el-table-column>-->
            </el-table>
          <el-table v-if="model.type ==1"
                    :data="tableData1"
                    border
                    show-summary
                    :summary-method="getSummaries"
                    style="width: 100%; margin-bottom: 20px;">
<!--            show-summary-->
<!--            :summary-method="getSummaries"-->
          <el-table
            v-if="model.applyType ==1"
            :data="tableData1"
            border
            style="width: 100%; margin-bottom: 20px;">
            <el-table-column
                label="保单"
                align="center"
@@ -109,29 +108,34 @@
                label="保险方案">
            </el-table-column>
            <el-table-column
                v-if="model.applyType == 1"
                align="center"
                prop="applyCode"
                label="保单号">
            </el-table-column>
            <el-table-column
                align="center"
                prop="changApplyCode"
                label="批单号">
                <template slot-scope="{row}">
                    <span>{{row.changApplyCode ? row.changApplyCode : '-'}}</span>
                </template>
            </el-table-column>
            <el-table-column
                align="center"
                prop="fee"
                label="金额">
              <template slot-scope="{row}">
                <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
              </template>
            </el-table-column>
<!--            <el-table-column-->
<!--                align="center"-->
<!--                prop="fee"-->
<!--                label="金额">-->
<!--              <template slot-scope="{row}">-->
<!--                <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>-->
<!--              </template>-->
<!--            </el-table-column>-->
          </el-table>
            <el-table v-if="model.type == 1"
<!--            show-summary-->
<!--            :summary-method="getSummaries"-->
            <el-table
                v-if="model.applyType == 1"
                :data="tableData2"
                border
                show-summary
                :summary-method="getSummaries"
                style="width: 100%; margin-bottom: 20px;">
                <el-table-column
                    label="冲红单"
@@ -156,16 +160,17 @@
                    prop="taxCreateDate"
                    label="申请开票时间">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="fee"
                    label="发票金额">
                  <template slot-scope="{row}">
                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
                  </template>
                </el-table-column>
<!--                <el-table-column-->
<!--                    align="center"-->
<!--                    prop="fee"-->
<!--                    label="发票金额">-->
<!--                  <template slot-scope="{row}">-->
<!--                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>-->
<!--                  </template>-->
<!--                </el-table-column>-->
            </el-table>
        </div>
        <span style="font-size: 14px;" v-if="model.status === 2">退回原因:{{model.cancelInfo}} 开票员-{{model.cancelUserId}} {{model.cancelUserName}}</span>
      <el-dialog
          title="上传发票"
          :visible.sync="visible1"
@@ -192,8 +197,8 @@
            </span>
      </el-dialog>
      <template v-slot:footer>
        <el-button v-if="model.status ==0 && !visible1" type="danger" @click="visible1=true">退回申请</el-button>
        <el-button @click="visible=false">取消</el-button>
        <el-button v-if="userInfo.type !== 1 && model.status ==0 && !visible1" type="danger" @click="visible1 = true">退回申请</el-button>
        <el-button @click="visible = false">取消</el-button>
      </template>
    </GlobalWindow>
</template>
@@ -202,6 +207,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { getDetail,backApply } from '@/api/business/taxes'
import { mapState } from 'vuex'
export default {
  name: 'OperaCompanyWindow',
  extends: BaseOpera,
@@ -225,6 +231,9 @@
      tableData2: []
    }
  },
    computed: {
      ...mapState(['userInfo'])
    },
  created () {
    this.config({
      api: '/business/taxes',
@@ -266,15 +275,40 @@
    getDetails  () {
      getDetail(this.model.id).then(res => {
        this.model = res
        if (res.type == 0) {
        if (res.applyType == 0) {
          this.tableData=(res.applyList)
        } else {
            console.log(res.applyList)
            console.log(res.delTaxList)
          this.tableData1=(res.applyList)
          this.tableData2=(res.delTaxList)
        }
        console.log(this.tableData)
      }).catch(err => {
      })
    },
    getSummaries1 (param) {
        const { columns, data } = param
        const sums = []
        columns.forEach((column, index) => {
            if (index === 0) {
                sums[index] = '合计'
            } else {
                if (index == 3) {
                    const values = data.map(item => Number(item[column.property]))
                    if (!values.every(value => isNaN(value))) {
                        sums[index] = values.reduce((prev, curr) => {
                            const value = Number(curr)
                            if (!isNaN(value)) {
                                return prev + curr
                            } else {
                                return prev
                            }
                        }, 0)
                    }
                }
            }
        })
        return  sums
    },
    getSummaries (param) {
      const { columns, data } = param
@@ -351,7 +385,7 @@
                font-size: 14px;
                margin-bottom: 20px;
                .info_list_item_label {
                    width: 150px;
                    width: 100px;
                    flex-shrink: 0;
                }
                .info_list_item_val {