From 7617ab95d74747e8fa784b207dcfcf7c77393a94 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期日, 04 二月 2024 14:36:54 +0800
Subject: [PATCH] Mr.Shi
---
company/src/components/common/GlobalWindow.vue | 2
company/src/components/enterprise/directInvoicingApplication.vue | 395 ++++++++++++++++++++++++++
company/src/views/enterprise/directInvoicing.vue | 42 --
company/src/api/business/taxes.js | 12
company/src/components/enterprise/entrustmentHistory.vue | 59 +++
company/src/assets/style/variables.scss | 2
company/src/components/enterprise/directInsuranceDetails.vue | 363 ++++++++++++++++++++++++
company/.env.development | 4
8 files changed, 837 insertions(+), 42 deletions(-)
diff --git a/company/.env.development b/company/.env.development
index ae6d1e8..ae9fca5 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -2,13 +2,13 @@
NODE_ENV = 'development'
# 浼佷笟绔�-浠佸悍
-#VUE_APP_API = 'http://192.168.0.134:10025/'
+VUE_APP_API = 'http://192.168.0.134:10025/'
# 骞冲彴绔�-浠佸悍
# VUE_APP_API = 'http://192.168.0.134:10023/'
# 骞冲彴绔�-钀嶅
- VUE_APP_API = 'http://192.168.0.103:10023/'
+# VUE_APP_API = 'http://192.168.0.103:10023/'
# VUE_APP_API = 'http://localhost:10023/'
# VUE_APP_API = 'http://localhost:10023/'
diff --git a/company/src/api/business/taxes.js b/company/src/api/business/taxes.js
index 5d47b66..953bfb7 100644
--- a/company/src/api/business/taxes.js
+++ b/company/src/api/business/taxes.js
@@ -27,3 +27,15 @@
trim: true
})
}
+
+// 鑾峰彇鐩翠繚鏁版嵁淇℃伅
+export function getDirectTaxes (id) {
+ return request.get(`/business/taxes/getDirectTaxes?id=${id}`)
+}
+
+// 鎻愪氦鐩存墭鎶曟姤寮�绁�
+export function directInvoicing(data) {
+ return request.post('/business/taxes/directInvoicing', data, {
+ trim: true
+ })
+}
diff --git a/company/src/assets/style/variables.scss b/company/src/assets/style/variables.scss
index d982769..b7a84b0 100644
--- a/company/src/assets/style/variables.scss
+++ b/company/src/assets/style/variables.scss
@@ -10,7 +10,7 @@
// 澶撮儴楂樺害
$header-height: 60px;
// 鑿滃崟瀹藉害
-$menu-width: 208px;
+$menu-width: 250px;
// 椤甸潰鏈�灏忓搴�
$page-min-width: 1000px;
diff --git a/company/src/components/common/GlobalWindow.vue b/company/src/components/common/GlobalWindow.vue
index f973e7c..298b468 100644
--- a/company/src/components/common/GlobalWindow.vue
+++ b/company/src/components/common/GlobalWindow.vue
@@ -78,7 +78,7 @@
$input-height: 32px;
.global-window {
top: 80px !important;
- left: 218px !important;
+ left: 250px !important;
// 澶撮儴鏍囬
::v-deep .el-drawer__header {
padding: 0 10px 0 0;
diff --git a/company/src/components/enterprise/directInsuranceDetails.vue b/company/src/components/enterprise/directInsuranceDetails.vue
new file mode 100644
index 0000000..d6ac55c
--- /dev/null
+++ b/company/src/components/enterprise/directInsuranceDetails.vue
@@ -0,0 +1,363 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="info">
+ <div class="info_list">
+ <div class="info_list_item">
+ <div class="info_list_item_label">寮�绁ㄥ悕绉帮細</div>
+ <div class="info_list_item_val">{{userInfo.company.name}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
+ <div class="info_list_item_val">{{userInfo.company.code}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">寮�鎴疯锛�</div>
+ <div class="info_list_item_val">{{userInfo.company.taxBank}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">璐﹀彿锛�</div>
+ <div class="info_list_item_val">
+ {{userInfo.company.taxAccount}}
+ </div>
+ </div>
+ <div class="info_list_item" style="width: 100%;">
+ <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
+ <div class="info_list_item_val">{{userInfo.company.invoiceAddr}} {{userInfo.company.phone}}</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);">{{totalPrice}}</div>
+ </div>
+ <div class="list" style="width: 100%;" v-if="form.type === 0">
+ <div class="list_label">
+ 鎺ユ敹鏂瑰紡锛氱數瀛愬彂绁�
+ </div>
+ <div class="list_val">
+ <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+ <div class="list_val_info">{{form.addr}}</div>
+ </div>
+ </div>
+ <div class="list" style="width: 100%;" v-else>
+ <div class="list_label">
+ 鎺ユ敹鏂瑰紡锛氱焊璐ㄥ彂绁�
+ </div>
+ <div class="list_val">
+ <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+ <div class="list_val_info">{{form.addr}}</div>
+ </div>
+ </div>
+ </div>
+ <!-- 鍔犲噺淇� -->
+ <el-table
+ :data="list1"
+ border
+ show-summary
+ :summary-method="getSummaries1"
+ style="width: 100%; margin-bottom: 20px;">
+ <el-table-column
+ label="搴忓彿"
+ align="center"
+ width="80">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="solutionName"
+ label="淇濋櫓鏂规">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="applyCode"
+ label="淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ label="閲戦">
+ <template slot-scope="{row}">
+ <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalFee}}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鍐茬孩鍗� -->
+ <el-table
+ :data="list2"
+ border
+ show-summary
+ :summary-method="getSummaries2"
+ style="width: 100%; margin-bottom: 20px;">
+ <el-table-column
+ label="鍐茬孩鍗�"
+ align="center"
+ width="80">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="solutionsName"
+ label="淇濋櫓鏂规">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="downCode"
+ label="鍙戠エ鍙�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="createTime"
+ label="鐢宠寮�绁ㄦ椂闂�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ label="閲戦">
+ <template slot-scope="{row}">
+ <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalFee}}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <template v-slot:footer>
+ <el-button @click="close">杩斿洖</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { getDetail } from '@/api/business/taxes'
+ import { mapState } from 'vuex'
+ export default {
+ name: 'directInsuranceDetails',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ list1: [],
+ list2: [],
+ totalPrice: 0,
+ form: {
+ id: null,
+ type: '',
+ addr: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/taxes',
+ 'field.id': 'id'
+ })
+ },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.list1 = []
+ this.list2 = []
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.getData()
+ })
+ },
+ close () {
+ this.visible = false
+ },
+ getData() {
+ getDetail(this.form.id)
+ .then(res => {
+ let price = 0
+ this.list1 = res.applyList
+ this.list2 = res.delTaxList
+ if (this.list1 && this.list1.length > 0) {
+ this.list1.forEach(item => {
+ price += item.totalFee
+ })
+ }
+ if (this.list2 && this.list2.length > 0) {
+ this.list2.forEach(row => {
+ price += row.totalFee
+ })
+ }
+ this.totalPrice = price
+ })
+ },
+ getSummaries1 (param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣'
+ } else if (index == 4) {
+ let price = 0
+ data.forEach(item => {
+ price += item.totalFee
+ })
+ sums[index] = price
+ }
+ })
+ return sums;
+ },
+ getSummaries2 (param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣'
+ } else if (index == 5) {
+ let price = 0
+ data.forEach(item => {
+ price += item.totalFee
+ })
+ sums[index] = price
+ }
+ })
+ return sums;
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ ::v-deep .el-table__footer-wrapper tbody td {
+ cursor: pointer;
+ text-align: center;
+ &:nth-child(5) {
+ color:rgba(249, 86, 1, 0.996078431372549);
+ }
+ }
+ .red {
+ color: red;
+ }
+ .info {
+ width: 100%;
+ .info_label {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ font-weight: 500;
+ color: #000000;
+ }
+ }
+ .info_list {
+ width: 100%;
+ display: flex;
+ align-items: left;
+ flex-wrap: wrap;
+ .list::v-deep {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 15px;
+ .el-radio__label {
+ color: black;
+ font-size: 14px;
+ }
+ .list_label {
+ color: black;
+ font-size: 14px;
+ margin-right: 20px;
+ }
+ .list_val {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ .list_val_label {
+ font-size: 14px;
+ color: black;
+ flex-shrink: 0;
+ margin-right: 15px;
+ }
+ .list_val_info {
+ flex: 1;
+ font-size: 14px;
+ color: black;
+ }
+ }
+ }
+ .info_list_item {
+ width: 50%;
+ display: flex;
+ align-items: start;
+ font-size: 14px;
+ margin-bottom: 20px;
+ .info_list_item_label {
+ width: 150px;
+ flex-shrink: 0;
+ }
+ .info_list_item_val {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ .image {
+ width: 100px;
+ height: 100px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+ img {
+ width: 100%;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .form {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ .form_item_label {
+ width: 100px;
+ flex-shrink: 0;
+ font-size: 14px;
+ color: black;
+ }
+ .form_item_val {
+ flex: 1;
+ min-height: 35px;
+ display: flex;
+ align-items: center;
+ input {
+ width: 100%;
+ height: 100%;
+ font-size: 14px;
+ color: black;
+ padding: 5px 10px;
+ outline: none;
+ box-sizing: border-box;
+ border: 1px solid #ececec;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/enterprise/directInvoicingApplication.vue b/company/src/components/enterprise/directInvoicingApplication.vue
new file mode 100644
index 0000000..f5dbcc1
--- /dev/null
+++ b/company/src/components/enterprise/directInvoicingApplication.vue
@@ -0,0 +1,395 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="info">
+ <div class="info_list">
+ <div class="info_list_item">
+ <div class="info_list_item_label">寮�绁ㄥ悕绉帮細</div>
+ <div class="info_list_item_val">{{userInfo.company.name}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
+ <div class="info_list_item_val">{{userInfo.company.code}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">寮�鎴疯锛�</div>
+ <div class="info_list_item_val">{{userInfo.company.taxBank}}</div>
+ </div>
+ <div class="info_list_item">
+ <div class="info_list_item_label">璐﹀彿锛�</div>
+ <div class="info_list_item_val">
+ {{userInfo.company.taxAccount}}
+ </div>
+ </div>
+ <div class="info_list_item" style="width: 100%;">
+ <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
+ <div class="info_list_item_val">{{userInfo.company.invoiceAddr}} {{userInfo.company.phone}}</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);">{{totalPrice}}</div>
+ </div>
+ <div class="list" style="width: 100%;">
+ <el-radio v-model="type" label="0">鐢靛瓙鍙戠エ</el-radio>
+ <div class="list_val">
+ <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+ <el-input v-model="val" :disabled="type === '1'" placeholder="111222333@qq.com"></el-input>
+ </div>
+ </div>
+ <div class="list" style="width: 100%;">
+ <el-radio v-model="type" label="1">绾歌川鍙戠エ</el-radio>
+ <div class="list_val">
+ <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+ <el-input v-model="val1" :disabled="type === '0'" placeholder="瀹夊窘鐪佸悎鑲ュ競缁忔祹鎶�鏈紑鍙戝尯鑾茶姳璺互涓溿�佺煶闂ㄨ矾浠ュ崡鑾茶姳璺�1锛� 0551-63450845"></el-input>
+ </div>
+ </div>
+ </div>
+ <!-- 鍔犲噺淇� -->
+ <el-table
+ :data="list1"
+ border
+ show-summary
+ :summary-method="getSummaries1"
+ style="width: 100%; margin-bottom: 20px;">
+ <el-table-column
+ label="搴忓彿"
+ align="center"
+ width="80">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="solutionsName"
+ label="淇濋櫓鏂规">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="insuranceCode"
+ label="淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ label="閲戦">
+ <template slot-scope="{row}">
+ <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.amount}}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鍐茬孩鍗� -->
+ <el-table
+ :data="list2"
+ border
+ show-summary
+ :summary-method="getSummaries2"
+ @selection-change="handleSelectionChange"
+ style="width: 100%; margin-bottom: 20px;">
+ <el-table-column type="selection" fixed="left" width="55"></el-table-column>
+ <el-table-column
+ label="鍐茬孩鍗�"
+ align="center"
+ width="80">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="solutionsName"
+ label="淇濋櫓鏂规">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="downCode"
+ label="鍙戠エ鍙�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ prop="createTime"
+ label="鐢宠寮�绁ㄦ椂闂�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ label="閲戦">
+ <template slot-scope="{row}">
+ <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.amount}}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { getDirectTaxes, directInvoicing } from '@/api/business/taxes'
+ import { mapState } from 'vuex'
+ export default {
+ name: 'directInvoicingApplication',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ list1: [],
+ list2: [],
+ form: {
+ id: null
+ },
+ setectData: [],
+ type: '0',
+ val: '',
+ val1: '',
+ rules: {
+ backInfo: [
+ { required: true, message: '璇疯緭鍏ラ��鍥炶鏄�' }
+ ]
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/taxes',
+ 'field.id': 'id'
+ })
+ },
+ computed: {
+ ...mapState(['userInfo']),
+ totalPrice() {
+ let price = 0
+ this.list1.forEach(item => {
+ price += item.amount
+ })
+ this.setectData.forEach(item => {
+ this.list2.forEach(row => {
+ if (item.id === row.id) {
+ price += row.amount
+ }
+ })
+ })
+ return price
+ }
+ },
+ watch: {
+ type: {
+ handler(news) {
+ this.val = ''
+ this.val1 = ''
+ }
+ }
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.list1 = []
+ this.list2 = []
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.getData()
+ })
+ },
+ confirm () {
+ if (!this.val && !this.val1) {
+ this.$message.warning('璇疯緭鍏ユ帴鏀跺湴鍧�')
+ return
+ }
+ if (this.setectData.length === 0) {
+ this.$message.warning('鑷冲皯鍕鹃�変竴椤瑰啿绾㈠崟鏁版嵁')
+ return
+ }
+ this.isWorking = true
+ directInvoicing({
+ address: this.val1 || this.val,
+ id: this.form.id,
+ invoicingDetailDTOList: this.setectData.map(item => item.id),
+ invoicingMoney: this.totalPrice,
+ type: this.type
+ }).then(res => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ },
+ handleSelectionChange(e) {
+ this.setectData = e
+ },
+ getData() {
+ getDirectTaxes(this.form.id)
+ .then(res => {
+ res.forEach(item => {
+ if (item.type === 2) {
+ this.list2.push(item)
+ } else {
+ this.list1.push(item)
+ }
+ })
+ })
+ },
+ getSummaries1 (param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣'
+ } else if (index == 4) {
+ let price = 0
+ data.forEach(item => {
+ price += item.amount
+ })
+ sums[index] = price
+ }
+ })
+ return sums;
+ },
+ getSummaries2 (param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣'
+ } else if (index == 5) {
+ let price = 0
+ data.forEach(item => {
+ price += item.amount
+ })
+ sums[index] = price
+ }
+ })
+ return sums;
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ ::v-deep .el-table__footer-wrapper tbody td {
+ cursor: pointer;
+ text-align: center;
+ &:nth-child(5) {
+ color:rgba(249, 86, 1, 0.996078431372549);
+ }
+ }
+ .red {
+ color: red;
+ }
+ .info {
+ width: 100%;
+ .info_label {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ font-weight: 500;
+ color: #000000;
+ }
+ }
+ .info_list {
+ width: 100%;
+ display: flex;
+ align-items: left;
+ flex-wrap: wrap;
+ .list::v-deep {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 15px;
+ .el-radio__label {
+ color: black;
+ font-size: 14px;
+ }
+ .list_val {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ .list_val_label {
+ font-size: 14px;
+ color: black;
+ flex-shrink: 0;
+ margin-right: 15px;
+ }
+ }
+ }
+ .info_list_item {
+ width: 50%;
+ display: flex;
+ align-items: start;
+ font-size: 14px;
+ margin-bottom: 20px;
+ .info_list_item_label {
+ width: 150px;
+ flex-shrink: 0;
+ }
+ .info_list_item_val {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ .image {
+ width: 100px;
+ height: 100px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+ img {
+ width: 100%;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .form {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ .form_item_label {
+ width: 100px;
+ flex-shrink: 0;
+ font-size: 14px;
+ color: black;
+ }
+ .form_item_val {
+ flex: 1;
+ min-height: 35px;
+ display: flex;
+ align-items: center;
+ input {
+ width: 100%;
+ height: 100%;
+ font-size: 14px;
+ color: black;
+ padding: 5px 10px;
+ outline: none;
+ box-sizing: border-box;
+ border: 1px solid #ececec;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/enterprise/entrustmentHistory.vue b/company/src/components/enterprise/entrustmentHistory.vue
index f4eda21..50c2ca9 100644
--- a/company/src/components/enterprise/entrustmentHistory.vue
+++ b/company/src/components/enterprise/entrustmentHistory.vue
@@ -20,28 +20,50 @@
</template>
</el-table-column>
<el-table-column
- prop="solutionName"
+ prop="createDate"
label="鐢宠寮�绁ㄦ椂闂�">
</el-table-column>
<el-table-column
- prop="bdCode"
label="寮�绁ㄧ姸鎬�">
+ <template slot-scope="{row}">
+ <span v-if="row.status === 1">宸插紑绁�</span>
+ <span v-else-if="row.status === 2">骞冲彴鎾ゅ洖</span>
+ <span v-else-if="row.status === 3">宸插啿绾�</span>
+ <span v-else>寰呭鐞�</span>
+ </template>
</el-table-column>
<el-table-column
- prop="applyChangeId"
+ prop="price"
label="寮�绁ㄩ噾棰濓紙鍏冿級">
</el-table-column>
<el-table-column
- prop="duName"
label="鎺ユ敹鏂瑰紡">
+ <template slot-scope="{row}">
+ <span v-if="row.type === 1">绾歌川鍙戠エ</span>
+ <span v-else>鐢靛瓙鍙戠エ</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐢靛瓙鍙戠エ">
+ <template slot-scope="{row}">
+ <el-image
+ style="width: 50px; height: 50px"
+ :src="row.imgurlFull"
+ :preview-src-list="[row.imgurlFull]">
+ </el-image>
+ </template>
</el-table-column>
<el-table-column
label="鎿嶄綔">
<template slot-scope="{row}">
- <el-button type="text">鐢宠璇︽儏</el-button>
+ <el-button type="text" @click="see(row)">鐢宠璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
+ <template v-slot:footer>
+ <el-button @click="close">杩斿洖</el-button>
+ </template>
+ <directInsuranceDetails ref="directInsuranceDetails" />
</GlobalWindow>
</template>
@@ -49,10 +71,11 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { list } from '@/api/business/taxes'
+ import directInsuranceDetails from '@/components/enterprise/directInsuranceDetails'
export default {
name: 'entrustmentHistory',
extends: BaseOpera,
- components: { GlobalWindow },
+ components: { GlobalWindow, directInsuranceDetails },
data () {
return {
form: {
@@ -72,6 +95,7 @@
methods: {
open (title, target) {
this.title = title
+ this.list = []
this.visible = true
// 缂栬緫
this.$nextTick(() => {
@@ -81,13 +105,34 @@
this.getList()
})
},
+ see(row) {
+ let info = ''
+ if (row.status === 1) {
+ info = '宸插紑绁�'
+ } else if (row.status === 2) {
+ info = '骞冲彴鎾ゅ洖'
+ } else if (row.status === 3) {
+ info = '宸插啿绾�'
+ } else {
+ info = '寰呭鐞�'
+ }
+ this.$refs.directInsuranceDetails.open(`寮�绁ㄨ鎯咃紙${info}锛塦, row)
+ },
getList() {
list({ insuranceApplyId: this.form.id })
.then(res => {
- console.log(res)
this.list = res
})
+ },
+ close () {
+ this.visible = false
}
}
}
</script>
+
+<style>
+ .el-image-viewer__wrapper {
+ z-index: 3000 !important;
+ }
+</style>
diff --git a/company/src/views/enterprise/directInvoicing.vue b/company/src/views/enterprise/directInvoicing.vue
index 399b0a0..759def1 100644
--- a/company/src/views/enterprise/directInvoicing.vue
+++ b/company/src/views/enterprise/directInvoicing.vue
@@ -4,15 +4,12 @@
<template v-slot:table-wrap>
<ul style="margin-bottom: 30px;width: 100%;display: flex;align-items: center;justify-content: space-between;">
<li style="font-size: 18px;font-weight: bold;">鐢宠寮�绁�</li>
- <li><el-button type="primary" @click="apply">鎻愪氦寮�绁�</el-button></li>
</ul>
<el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
>
- <el-table-column type="selection" fixed="left" width="55"></el-table-column>
<el-table-column label="搴忓彿" width="80px">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
@@ -42,18 +39,19 @@
<el-table-column label="鎿嶄綔" min-width="180px">
<template slot-scope="{row}">
<el-button type="text" @click="$refs.entrustmentHistory.open('寮�绁ㄥ巻鍙�', row)">寮�绁ㄥ巻鍙�</el-button>
+ <el-button type="text" @click="$refs.directInvoicingApplication.open('寮�绁ㄧ敵璇�', row)">鐢宠寮�绁�</el-button>
</template>
</el-table-column>
</el-table>
<pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
>
</pagination>
</template>
<!-- 鐢宠 -->
- <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" />
+ <directInvoicingApplication ref="directInvoicingApplication" @success="handlePageChange" />
<!-- 寮�绁ㄥ巻鍙� -->
<entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" />
</TableLayout>
@@ -63,12 +61,12 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
- import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication'
+ import directInvoicingApplication from '@/components/enterprise/directInvoicingApplication'
import entrustmentHistory from '@/components/enterprise/entrustmentHistory'
export default {
name: 'directInvoicing',
extends: BaseTable,
- components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory },
+ components: { TableLayout, Pagination, directInvoicingApplication, entrustmentHistory },
data () {
return {
searchForm: {
@@ -86,25 +84,7 @@
this.search()
},
methods: {
- apply() {
- if (this.tableData.selectedRows.length === 0) {
- this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
- return
- }
- for (let i = 0; i < this.tableData.selectedRows.length; i++) {
- if (this.tableData.selectedRows[i].currentFee - this.tableData.selectedRows[i].taxesMoney === 0) {
- this.$message.warning(`绗�${i + 1}椤瑰彲寮�绁ㄩ噾棰濅负0锛屼笉鑳借繘琛屽紑绁紒`)
- return
- }
- }
- let obj = {}
- obj.list = JSON.parse(JSON.stringify(this.tableData.selectedRows))
- obj.list.forEach(item => {
- item.totalPrice = item.currentFee - item.taxesMoney
- })
- console.log(obj.list)
- this.$refs.entrustedInvoicingApplication.open('鐢宠寮�绁�', obj)
- }
+
}
}
</script>
--
Gitblit v1.9.3