From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
company/src/views/business/taxes.vue | 211 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 142 insertions(+), 69 deletions(-)
diff --git a/company/src/views/business/taxes.vue b/company/src/views/business/taxes.vue
index be106cb..d4cbb21 100644
--- a/company/src/views/business/taxes.vue
+++ b/company/src/views/business/taxes.vue
@@ -7,18 +7,21 @@
<el-option label="寰呭鐞�" value="0"></el-option>
<el-option label="宸插紑绁�" value="1"></el-option>
<el-option label="骞冲彴鎾ゅ洖" value="2"></el-option>
+ <el-option label="宸插啿绾�" value="3"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鐢宠鏃ユ湡" prop="status">
+ <el-form-item label="鐢宠鏃ユ湡" prop="time">
<el-date-picker
- v-model="searchForm.status"
+ v-model="searchForm.time"
+ @change="changeTime"
type="daterange"
+ value-format="yyyy-MM-dd"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
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"
@@ -47,19 +50,25 @@
</el-table-column>
<el-table-column label="寮�绁ㄧ姸鎬�" min-width="100px">
<template slot-scope="{row}">
- <span v-if="row.status === 0">寰呭鐞�</span>
- <span v-if="row.status === 1">宸插紑绁�</span>
- <span v-if="row.status === 2">骞冲彴鎾ゅ洖</span>
+ <span :class="'tax-status'+row.status" v-if="row.status === 0">寰呭鐞�</span>
+ <span :class="'tax-status'+row.status" v-if="row.status === 1">宸插紑绁�</span>
+ <span :class="'tax-status'+row.status" v-if="row.status === 2">骞冲彴鎾ゅ洖</span>
+ <span :class="'tax-status'+row.status" v-if="row.status === 3">宸插啿绾�</span>
</template>
</el-table-column>
- <el-table-column prop="companyId" label="鐢宠浼佷笟" min-width="100px"></el-table-column>
- <el-table-column prop="companyId" label="鐢宠寮�绁ㄦ椂闂�" min-width="100px"></el-table-column>
- <el-table-column prop="companyId" label="鐢宠浜�" min-width="100px"></el-table-column>
- <el-table-column prop="price" 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 label="寮�绁ㄩ噾棰濓紙鍏冿級" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.applyType === 0">-</span>
+ <span v-else>{{row.price}}</span>
+ </template>
+ </el-table-column>
<el-table-column label="鎶曚繚绫诲瀷" min-width="100px">
<template slot-scope="{row}">
- <span v-if="row.applyType === 0">濮旀墭寮�绁�</span>
- <span v-if="row.applyType === 1">鐩翠繚</span>
+ <span v-if="row.applyType === 0">濮旀墭鎶曚繚</span>
+ <span v-if="row.applyType === 1">鐩存帴鎶曚繚</span>
</template>
</el-table-column>
<el-table-column prop="type" label="鎺ユ敹鏂瑰紡" min-width="100px">
@@ -68,10 +77,21 @@
<span v-if="row.type === 1">绾歌川鍙戠エ</span>
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" min-width="100px">
+ <el-table-column prop="type" label="鍙戠エ鐢靛瓙鐗�" min-width="100px">
<template slot-scope="{row}">
- <el-button type="text">涓婁紶鍙戠エ</el-button>
- <el-button type="text">鐢宠璇︽儏</el-button>
+ <el-image
+ v-if="row.imgurlFull!=null"
+ style="width: 40px; height: 40px"
+ :src="row.imgurlFull"
+ :preview-src-list="[row.imgurlFull]">
+ </el-image>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="180px">
+ <template slot-scope="{row}">
+ <el-button v-if="row.status == 0 && userInfo.type === 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>
@@ -93,78 +113,131 @@
<div class="form_item">
<div class="form_item_label">鍙戠エ鍙凤細</div>
<div class="form_item_val">
- <input type="text" placeholder="璇疯緭鍏�" />
+ <input v-model="form.doneCode" type="text" placeholder="璇疯緭鍏�" />
</div>
</div>
<div class="form_item">
<div class="form_item_label">涓婁紶鍙戠エ锛�</div>
<div class="form_item_val">
- <el-upload
- action="https://jsonplaceholder.typicode.com/posts/"
- list-type="picture-card"
- :on-remove="handleRemove">
- <i class="el-icon-plus"></i>
- </el-upload>
+ <UploadAvatarImage :uploadData="{ folder: 'taxes' }" :file="form.file" @uploadSuccess="result3" />
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="visible = false">鎻� 浜�</el-button>
+ <el-button type="primary" @click="doneApplyDo">鎻� 浜�</el-button>
</span>
</el-dialog>
<OperaTaxesWindow ref="OperaTaxesWindow" @success="handlePageChange"/>
+ <OperaTaxesUploadWindow ref="OperaTaxesUploadWindow" @success="handlePageChange"/>
</TableLayout>
</template>
<script>
- import BaseTable from '@/components/base/BaseTable'
- import TableLayout from '@/layouts/TableLayout'
- import Pagination from '@/components/common/Pagination'
- import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
- import {all as solutionAll} from "@/api/business/solutions";
- import {pageAll as companyAll} from "@/api/business/company";
- export default {
- name: 'Taxes',
- extends: BaseTable,
- components: { TableLayout, Pagination, OperaTaxesWindow },
- data () {
- return {
- // 鎼滅储
- companyList:[],
- searchForm: {
- status: '',
- companyId: ''
- },
- visible: false
- }
- },
- created () {
- this.config({
- module: '鍙戠エ淇℃伅琛�',
- api: '/business/taxes',
- 'field.id': 'id',
- 'field.main': 'id'
- })
- this.search()
- this.loadSelectList()
- },
- methods: {
- handleRemove(file, fileList) {
- console.log(file, fileList);
- },
- loadSelectList() {
- solutionAll({dataType:0}).then(res => {
- this.solutionList = res
- }).catch(err => {
- })
- companyAll({}).then(res => {
- this.companyList = res
- }).catch(err => {
- })
- }
- }
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
+import OperaTaxesUploadWindow from '@/components/business/OperaTaxesUploadWindow'
+import { all as solutionAll } from '@/api/business/solutions'
+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,
+ components: { TableLayout, Pagination, OperaTaxesWindow, OperaTaxesUploadWindow, UploadAvatarImage },
+ data () {
+ return {
+ // 鎼滅储
+ form: {
+ id: null,
+ doneCode: null,
+ imgurl: null,
+ file:{ },
+ },
+ companyList: [],
+ searchForm: {
+ status: '',
+ companyId: '',
+ startDate: '',
+ endDate: '',
+ time: '',
+ },
+ visible: false
}
+ },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ created () {
+ this.config({
+ module: '鍙戠エ淇℃伅琛�',
+ api: '/business/taxes',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ this.loadSelectList()
+ },
+ methods: {
+ reset () {
+ this.$refs.searchForm.resetFields()
+ this.searchForm.startDate = ''
+ this.searchForm.endDate = ''
+ this.search()
+ },
+ changeTime(e) {
+ if (e.length > 0) {
+ this.searchForm.startDate = e[0] + ' 00:00:00'
+ this.searchForm.endDate = e[1] + ' 23:59:59'
+ } else {
+ this.searchForm.startDate = ''
+ this.searchForm.endDate = ''
+ }
+ this.search()
+ },
+ handleRemove (file, fileList) {
+ console.log(file, fileList)
+ },
+ uploadImg (row) {
+ this.form = {
+ id: row.id,
+ doneCode: row.doneCode,
+ imgurl:null
+ },
+ this.form.file= {imgurl: row.imgurl, imgurlfull: row.imgurlFull }
+ this.visible = true
+ },
+ result3 (data) {
+ this.form.imgurl = null
+ this.form.imgurl = data.imgurl
+ },
+ doneApplyDo () {
+ doneApply(this.form)
+ .then(response => {
+ this.visible = false
+ this.search()
+ }).catch(err => {
+ console.log(err)
+ this.$tip.apiFailed(err)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ },
+ loadSelectList () {
+ solutionAll({ dataType: 0 }).then(res => {
+ this.solutionList = res
+ }).catch(err => {
+ })
+ companyAll({}).then(res => {
+ this.companyList = res
+ }).catch(err => {
+ })
+ }
+ }
+}
</script>
<style lang="scss" scoped>
--
Gitblit v1.9.3