From d4920f7a0b3146a2218a210d3f93b655ff010eb3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 01 二月 2024 17:14:13 +0800
Subject: [PATCH] 开发业务接口
---
company/src/views/business/taxes.vue | 156 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 103 insertions(+), 53 deletions(-)
diff --git a/company/src/views/business/taxes.vue b/company/src/views/business/taxes.vue
index 79d6e85..52006e9 100644
--- a/company/src/views/business/taxes.vue
+++ b/company/src/views/business/taxes.vue
@@ -19,14 +19,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId">
- <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
+ <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -52,9 +52,9 @@
<span v-if="row.status === 2">骞冲彴鎾ゅ洖</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="companyName" label="鐢宠浼佷笟" min-width="100px"></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>
<el-table-column label="鎶曚繚绫诲瀷" min-width="100px">
<template slot-scope="{row}">
@@ -68,9 +68,15 @@
<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>
+ <img v-if="row.imgurlFull!=null" :src="row.imgurlFull" style="width: 40px;height: 40px">
+ </template>
+ </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">鐢宠璇︽儏</el-button>
</template>
</el-table-column>
@@ -93,64 +99,108 @@
<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'
- export default {
- name: 'Taxes',
- extends: BaseTable,
- components: { TableLayout, Pagination, OperaTaxesWindow },
- data () {
- return {
- // 鎼滅储
- searchForm: {
- status: '',
- companyId: ''
- },
- visible: false
- }
- },
- created () {
- this.config({
- module: '鍙戠エ淇℃伅琛�',
- api: '/business/taxes',
- 'field.id': 'id',
- 'field.main': 'id'
- })
- this.search()
- },
- methods: {
- handleRemove(file, fileList) {
- console.log(file, fileList);
- }
- }
+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'
+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: ''
+ },
+ 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)
+ },
+ 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