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