From 5c8aaba66c16b1a143fdec27e29ad36eaefd1e3a Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 31 十二月 2024 14:33:25 +0800
Subject: [PATCH] 无源器件检验开发
---
src/components/view/b1-expenses.vue | 63 +++++++++++++++++++++++++++++--
1 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/src/components/view/b1-expenses.vue b/src/components/view/b1-expenses.vue
index 84d70ac..62fd65a 100644
--- a/src/components/view/b1-expenses.vue
+++ b/src/components/view/b1-expenses.vue
@@ -83,10 +83,14 @@
<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
</div>
<div class="search_thing" style="padding-left: 70px;">鎬讳环锛歿{total}}</div>
+ <div class="search_thing" style="padding-left: 70px;">
+ <el-button size="small" type="primary" @click="handleDown" :loading="outLoading" v-if="isExport">瀵煎嚭</el-button>
+ </div>
</div>
<div class="table">
- <ValueTable ref="ValueTable" :url="$api.insOrder.costStatistics" :componentData="componentData" :key="upIndex"
- @handleWeave="handleWeave" />
+ <ValueTable ref="ValueTable" :url="$api.insOrder.costStatistics"
+ :componentData="componentData" :key="upIndex"
+ @handleWeave="handleWeave" :column-min-width="'140'"/>
</div>
</div>
<el-dialog title="鍦ㄧ嚎缂栧埗" :visible.sync="claimVisible" width="70%" :modal-append-to-body="false">
@@ -101,11 +105,9 @@
<script>
import ValueTable from '../tool/value-table.vue'
- import Word from '../tool/word.vue'
export default {
components: {
ValueTable,
- Word,
},
data() {
return {
@@ -196,7 +198,8 @@
},
selectField: {},
requiredAdd: [],
- requiredUp: []
+ requiredUp: [],
+ needSort: ['createTime', 'sample'],
},
entityCopy: {},
upIndex: 0,
@@ -215,6 +218,8 @@
current: -1,
size: -1,
},
+ outLoading:false,
+ isExport:false
}
},
mounted() {
@@ -224,6 +229,50 @@
this.getPower()
},
methods: {
+ handleDown(){
+ let entity = {...this.componentData.entity}
+ // entity.dates = JSON.stringify(entity.dates)
+ delete entity.orderBy
+ this.outLoading = true
+ this.$axios.post(this.$api.insOrder.export,{
+ entity:entity
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ ,responseType: "blob"}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res],{ type: 'application/octet-stream' });
+ //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+ let reader = new FileReader();
+ reader.readAsText(blob, 'utf-8');
+ reader.onload = () => {
+ try {
+ let result = JSON.parse(reader.result);
+ if (result.message) {
+ this.$message.error(result.message);
+ } else {
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ let date = JSON.parse(entity.dates)
+ link.download = (entity.company?entity.company+' ':'')+date[0]+' - '+date[1]+'璐圭敤缁熻.xlsx';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ } catch (err) {
+ console.log(err);
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ let date = JSON.parse(entity.dates)
+ link.download = (entity.company?entity.company+' ':'')+date[0]+' - '+date[1]+'璐圭敤缁熻.xlsx';
+ link.click();
+ this.$message.success('瀵煎嚭鎴愬姛')
+ }
+ }
+ })
+ },
getTotal(){
this.$axios.post(this.$api.insOrder.costStatistics2, {
entity:this.componentData.entity
@@ -305,6 +354,10 @@
if (power[i].menuMethod == 'addInsOrder') {
add = true
}
+ //
+ if (power[i].menuMethod == 'export') {
+ this.isExport = true
+ }
}
if (!up) {
this.componentData.do.splice(4, 1)
--
Gitblit v1.9.3