From 6ef9e5189ac1888b8c4c504d5c5d3f431807ff56 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 15 三月 2025 11:57:40 +0800
Subject: [PATCH] 修改电路试验单位
---
src/components/view/b1-expenses.vue | 85 ++++++++++++++++++++++++++++++++++++------
1 files changed, 73 insertions(+), 12 deletions(-)
diff --git a/src/components/view/b1-expenses.vue b/src/components/view/b1-expenses.vue
index 31ac8d5..d444071 100644
--- a/src/components/view/b1-expenses.vue
+++ b/src/components/view/b1-expenses.vue
@@ -50,9 +50,9 @@
<div>
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;text-align: left;">璐圭敤缁熻</el-col>
- <el-col :span="12" style="text-align: right;">
+ <!-- <el-col :span="12" style="text-align: right;">
<el-button size="small" type="primary">OA鎺ㄩ��</el-button>
- </el-col>
+ </el-col> -->
</el-row>
</div>
<div class="search">
@@ -73,7 +73,7 @@
<el-select @focus="getCompanyOptions" @change="refreshTable()" clearable
size="small" v-model="componentData.entity.company" style="width: 100%">
<el-option v-for="item in companyOptions" :key="item.value"
- :label="item.label" :value="item.value">
+ :label="item.label" :value="item.label">
</el-option>
</el-select>
</div>
@@ -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 {
@@ -114,7 +116,7 @@
company: null,
dates: null,
orderBy: {
- field: 'id,ins_sample_id',
+ field: 'id',
order: 'asc'
}
},
@@ -135,6 +137,14 @@
name: 'entrustCode',
index: 2
},
+ /* {
+ name: 'sample',
+ index: 3
+ },
+ {
+ name: 'model',
+ index: 4
+ }, */
{
name: 'company',
index: 8
@@ -145,8 +155,8 @@
},
],
// 鐗规畩鐨勫悎骞惰锛屾牴鎹甿ain鍜宺ows鐨刵ame鏉ュ悎骞�
- special: {
- main: 'insSampleId',
+ /* special: {
+ main: 'entrustCode',
rows: [{
name: 'sample',
index: 3
@@ -164,7 +174,7 @@
index: 6
},
]
- }
+ } */
},
tagField: {
type: {
@@ -188,7 +198,8 @@
},
selectField: {},
requiredAdd: [],
- requiredUp: []
+ requiredUp: [],
+ needSort: ['createTime', 'sample'],
},
entityCopy: {},
upIndex: 0,
@@ -207,6 +218,8 @@
current: -1,
size: -1,
},
+ outLoading:false,
+ isExport:false
}
},
mounted() {
@@ -216,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
@@ -297,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