From 81172472ec22b77e0ee385d08fd4435c396ce10f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 02 二月 2024 18:06:37 +0800
Subject: [PATCH] Mr.Shi
---
company/src/views/enterprise/entrustedInvoicing.vue | 149 ++++++++++++
company/src/components/enterprise/additionSubtractionApplication.vue | 4
company/src/components/enterprise/factoryChange.vue | 6
company/src/components/enterprise/OperaInsuranceApplyWindow.vue | 18
company/src/views/business/taxes.vue | 14
company/src/views/enterprise/directInvoicing.vue | 149 ++++++++++++
company/src/api/business/taxes.js | 7
company/src/components/enterprise/entrustmentHistory.vue | 93 +++++++
company/src/components/enterprise/entrustedInvoicingApplication.vue | 253 +++++++++++++++++++++
company/src/components/enterprise/editFactoryChange.vue | 6
10 files changed, 677 insertions(+), 22 deletions(-)
diff --git a/company/src/api/business/taxes.js b/company/src/api/business/taxes.js
index f73a0fe..5d47b66 100644
--- a/company/src/api/business/taxes.js
+++ b/company/src/api/business/taxes.js
@@ -20,3 +20,10 @@
trim: true
})
}
+
+// 鍒楄〃鏌ヨ
+export function list(data) {
+ return request.post('/business/taxes/list', data, {
+ trim: true
+ })
+}
diff --git a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
index fa9d0fd..0eaba33 100644
--- a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
@@ -24,13 +24,12 @@
<el-date-picker
@change="getTimeVal"
v-model="form.applyStartTime"
- type="datetime"
+ type="date"
class="date_picker"
- default-time="00:00:00"
:disabled="!form.solutionId"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd hh:mm:ss"
- format="yyyy-MM-dd hh:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
@@ -40,10 +39,11 @@
<el-date-picker
disabled
v-model="form.applyEndTime"
- type="datetime"
- default-time="00:00:00"
- value-format="yyyy-MM-dd hh:mm:ss"
- format="yyyy-MM-dd hh:mm:ss"
+ type="date"
+ class="date_picker"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
@@ -319,7 +319,7 @@
startDate: time
}).then(res => {
this.price = res.cyclePrice
- this.form.applyEndTime = res.endDate.substring(0, 10)
+ this.form.applyEndTime = res.endDate
this.tableData.forEach(item => {
item.fee = res.cyclePrice
})
diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 6db50bd..a3982cc 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -19,8 +19,8 @@
v-model="form.applyStartTime"
type="date"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd"
- format="yyyy 骞� MM 鏈� dd 鏃�"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
diff --git a/company/src/components/enterprise/editFactoryChange.vue b/company/src/components/enterprise/editFactoryChange.vue
index 16619aa..aa65bc0 100644
--- a/company/src/components/enterprise/editFactoryChange.vue
+++ b/company/src/components/enterprise/editFactoryChange.vue
@@ -16,10 +16,10 @@
<div style="display: flex; flex-direction: column;">
<el-date-picker
v-model="form.applyStartTime"
- type="datetime"
+ type="date"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd hh:mm:ss"
- format="yyyy-MM-dd hh:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
diff --git a/company/src/components/enterprise/entrustedInvoicingApplication.vue b/company/src/components/enterprise/entrustedInvoicingApplication.vue
new file mode 100644
index 0000000..1406ffc
--- /dev/null
+++ b/company/src/components/enterprise/entrustedInvoicingApplication.vue
@@ -0,0 +1,253 @@
+<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);">{{total}}</div>
+ </div>
+ <div class="info_list_item" style="width: 100%;">
+ <div class="info_list_item_label">鎺ユ敹鏂瑰紡锛�</div>
+ <div class="info_list_item_val">鐢靛瓙鍙戠エ</div>
+<!-- <div v-if="model.type === 1" class="info_list_item_val">绾歌川鍙戠エ</div>-->
+ </div>
+ </div>
+ <el-table
+ :data="form.list"
+ border
+ show-summary
+ :summary-method="getSummaries"
+ 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="code"
+ label="淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ align="center"
+ label="閲戦">
+ <template slot-scope="{row}">
+ <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalPrice}}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { mapState } from 'vuex'
+ export default {
+ name: 'entrustedInvoicingApplication',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ form: {
+ id: null,
+ backInfo:'',
+ list: []
+ },
+ rules: {
+ backInfo: [
+ { required: true, message: '璇疯緭鍏ラ��鍥炶鏄�' }
+ ]
+ }
+ }
+ },
+ created () {
+ console.log(this.userInfo)
+ this.config({
+ api: '/business/taxes',
+ 'field.id': 'id'
+ })
+ },
+ computed: {
+ ...mapState(['userInfo']),
+ total () {
+ let price = 0
+ this.form.list.forEach(item => {
+ price += item.totalPrice
+ })
+ return price;
+ }
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ })
+ },
+ getSummaries (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.totalPrice
+ })
+ sums[index] = price
+ }
+ })
+ }
+ }
+ }
+</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);
+ }
+ }
+ /* ::v-deep .el-table__header-wrapper th:first-child .cell{
+ color:rgba(249, 86, 1, 0.996078431372549) !important
+ }
+ ::v-deep table:first-of-type th:first-child .cell{
+ //color:rgba(249, 86, 1, 0.996078431372549) !important
+ }
+ ::v-deep .el-table--border th:first-child .cell {
+ &:nth-child(2) {
+ color:rgba(249, 86, 1, 0.996078431372549);
+ }
+ }*/
+
+
+ .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;
+ .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
new file mode 100644
index 0000000..f4eda21
--- /dev/null
+++ b/company/src/components/enterprise/entrustmentHistory.vue
@@ -0,0 +1,93 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div style="width: 100%; display: flex; align-items: center; margin-bottom: 20px;">
+ 淇濋櫓鏂规锛歿{form.solutionsName}} <div style="width: 20px;"></div> 淇濆崟鍙凤細{{form.code || '-'}}
+ </div>
+ <el-table
+ :data="list"
+ border
+ ref="table"
+ style="width: 100%">
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="solutionName"
+ label="鐢宠寮�绁ㄦ椂闂�">
+ </el-table-column>
+ <el-table-column
+ prop="bdCode"
+ label="寮�绁ㄧ姸鎬�">
+ </el-table-column>
+ <el-table-column
+ prop="applyChangeId"
+ label="寮�绁ㄩ噾棰濓紙鍏冿級">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="鎺ユ敹鏂瑰紡">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="{row}">
+ <el-button type="text">鐢宠璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { list } from '@/api/business/taxes'
+ export default {
+ name: 'entrustmentHistory',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ form: {
+ id: null,
+ solutionsName: '',
+ code: ''
+ },
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/dispatchUnit',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.getList()
+ })
+ },
+ getList() {
+ list({ insuranceApplyId: this.form.id })
+ .then(res => {
+ console.log(res)
+ this.list = res
+ })
+ }
+ }
+ }
+</script>
diff --git a/company/src/components/enterprise/factoryChange.vue b/company/src/components/enterprise/factoryChange.vue
index cf2bfb7..6ccf5e1 100644
--- a/company/src/components/enterprise/factoryChange.vue
+++ b/company/src/components/enterprise/factoryChange.vue
@@ -16,10 +16,10 @@
<div style="display: flex; flex-direction: column;">
<el-date-picker
v-model="form.applyStartTime"
- type="datetime"
+ type="date"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd hh:mm:ss"
- format="yyyy-MM-dd hh:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
diff --git a/company/src/views/business/taxes.vue b/company/src/views/business/taxes.vue
index 068797d..dd2edea 100644
--- a/company/src/views/business/taxes.vue
+++ b/company/src/views/business/taxes.vue
@@ -19,7 +19,7 @@
end-placeholder="缁撴潫鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId">
+ <el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId" v-if="userInfo.type === 0">
<el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
<el-option
v-for="item in companyList"
@@ -54,7 +54,7 @@
<span v-if="row.status === 3">宸插啿绾�</span>
</template>
</el-table-column>
- <el-table-column prop="companyName" label="鐢宠浼佷笟" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="鐢宠浼佷笟" min-width="100px" v-if="userInfo.type === 0"></el-table-column>
<el-table-column prop="createDate" label="鐢宠寮�绁ㄦ椂闂�" min-width="100px"></el-table-column>
<el-table-column prop="creatorName" label="鐢宠浜�" min-width="100px"></el-table-column>
<el-table-column prop="price" label="寮�绁ㄩ噾棰濓紙鍏冿級" min-width="100px"></el-table-column>
@@ -82,9 +82,9 @@
</el-table-column>
<el-table-column label="鎿嶄綔" min-width="180px">
<template slot-scope="{row}">
- <el-button v-if="row.status==0" type="text" @click="$refs.OperaTaxesUploadWindow.open('涓婁紶鍙戠エ',row)">涓婁紶鍙戠エ</el-button>
- <el-button v-if="row.status ==1 " type="text" @click="$refs.OperaTaxesUploadWindow.open('淇敼鍙戠エ',row)">淇敼鍙戠エ</el-button>
- <el-button type="text" @click="$refs.OperaTaxesWindow.open('鐢宠璇︽儏',row)">鐢宠璇︽儏</el-button>
+ <el-button v-if="row.status == 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('涓婁紶鍙戠エ',row)">涓婁紶鍙戠エ</el-button>
+ <el-button v-if="row.status == 1 && userInfo.type === 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('淇敼鍙戠エ',row)">淇敼鍙戠エ</el-button>
+ <el-button type="text" @click="$refs.OperaTaxesWindow.open('鐢宠璇︽儏',row)">鐢宠璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
@@ -136,6 +136,7 @@
import { pageAll as companyAll } from '@/api/business/company'
import { doneApply } from '@/api/business/taxes'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
+import { mapState } from 'vuex'
export default {
name: 'Taxes',
extends: BaseTable,
@@ -157,6 +158,9 @@
visible: false
}
},
+ computed: {
+ ...mapState(['userInfo'])
+ },
created () {
this.config({
module: '鍙戠エ淇℃伅琛�',
diff --git a/company/src/views/enterprise/directInvoicing.vue b/company/src/views/enterprise/directInvoicing.vue
new file mode 100644
index 0000000..399b0a0
--- /dev/null
+++ b/company/src/views/enterprise/directInvoicing.vue
@@ -0,0 +1,149 @@
+<template>
+ <TableLayout>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <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"
+ >
+ <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>
+ </template>
+ </el-table-column>
+ <el-table-column prop="statusInfo" label="鐘舵��"></el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规"></el-table-column>
+ <el-table-column prop="code" label="淇濆崟鍙�"></el-table-column>
+ <el-table-column label="浜х敓璐圭敤锛堝厓锛�">
+ <template slot-scope="{row}">
+ <span>{{row.currentFee}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="宸插紑绁ㄨ垂鐢紙鍏冿級">
+ <template slot-scope="{row}">
+ <span>{{row.taxesMoney}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="fee" label="鏈紑绁ㄨ垂鐢紙鍏冿級">
+ <template slot-scope="{row}">
+ <span>{{row.currentFee - row.taxesMoney}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taxesLast" label="涓婃寮�绁ㄦ椂闂�"></el-table-column>
+ <el-table-column prop="startTime" label="鎶曚繚鐢熸晥鏃ユ湡"></el-table-column>
+ <el-table-column prop="endTime" label="鎶曚繚澶辨晥鏃ユ湡"></el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="180px">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.entrustmentHistory.open('寮�绁ㄥ巻鍙�', row)">寮�绁ㄥ巻鍙�</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鐢宠 -->
+ <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" />
+ <!-- 寮�绁ㄥ巻鍙� -->
+ <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" />
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication'
+ import entrustmentHistory from '@/components/enterprise/entrustmentHistory'
+ export default {
+ name: 'directInvoicing',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory },
+ data () {
+ return {
+ searchForm: {
+ type: 0
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '鎶曚繚鐢宠淇℃伅琛�',
+ api: '/business/insuranceApply',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ 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>
+
+<style lang="scss" scoped>
+ .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/views/enterprise/entrustedInvoicing.vue b/company/src/views/enterprise/entrustedInvoicing.vue
new file mode 100644
index 0000000..4298144
--- /dev/null
+++ b/company/src/views/enterprise/entrustedInvoicing.vue
@@ -0,0 +1,149 @@
+<template>
+ <TableLayout>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <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"
+ >
+ <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>
+ </template>
+ </el-table-column>
+ <el-table-column prop="statusInfo" label="鐘舵��"></el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规"></el-table-column>
+ <el-table-column prop="code" label="淇濆崟鍙�"></el-table-column>
+ <el-table-column label="浜х敓璐圭敤锛堝厓锛�">
+ <template slot-scope="{row}">
+ <span>{{row.currentFee}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="宸插紑绁ㄨ垂鐢紙鍏冿級">
+ <template slot-scope="{row}">
+ <span>{{row.taxesMoney}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="fee" label="鏈紑绁ㄨ垂鐢紙鍏冿級">
+ <template slot-scope="{row}">
+ <span>{{row.currentFee - row.taxesMoney}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taxesLast" label="涓婃寮�绁ㄦ椂闂�"></el-table-column>
+ <el-table-column prop="startTime" label="鎶曚繚鐢熸晥鏃ユ湡"></el-table-column>
+ <el-table-column prop="endTime" label="鎶曚繚澶辨晥鏃ユ湡"></el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="180px">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.entrustmentHistory.open('寮�绁ㄥ巻鍙�', row)">寮�绁ㄥ巻鍙�</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鐢宠 -->
+ <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" />
+ <!-- 寮�绁ㄥ巻鍙� -->
+ <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" />
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication'
+ import entrustmentHistory from '@/components/enterprise/entrustmentHistory'
+ export default {
+ name: 'entrustedInvoicing',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory },
+ data () {
+ return {
+ searchForm: {
+ type: 1
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '鎶曚繚鐢宠淇℃伅琛�',
+ api: '/business/insuranceApply',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ 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>
+
+<style lang="scss" scoped>
+ .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>
--
Gitblit v1.9.3