From 9b0a82931d2d4ef6fa877ebba59737a65ba37103 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 07 八月 2024 11:18:53 +0800
Subject: [PATCH] 检验下单-检验项要求值校验修改
---
src/components/view/b1-report-preparation.vue | 103 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 93 insertions(+), 10 deletions(-)
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index ad04cde..4d86d78 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -47,8 +47,11 @@
.btns {
position: absolute;
- right: 100px;
- top: 17px;
+ right: 40px;
+ top: 50%;
+ transform: translate(0, -50%);
+ display: flex;
+ align-items: center;
}
.fullscreen {
@@ -64,7 +67,7 @@
<el-col :span="12" style="padding-left: 20px;text-align: left;">鎶ュ憡缂栧埗</el-col>
</el-row>
</div>
- <div class="search">
+ <div class="search" style="position: relative;">
<div class="search_thing">
<div class="search_label">鎶ュ憡缂栧彿锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
@@ -81,10 +84,28 @@
<el-button size="small" @click="refresh()">閲� 缃�</el-button>
<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
</div>
+ <div class="btns">
+ <el-button size="small" type="primary" @click="handleDowns" :loading="outLoading" style="margin-right: 16px;">鎵归噺涓嬭浇</el-button>
+ <el-upload
+ class="upload-demo"
+ :action="action"
+ :headers="headers"
+ :show-file-list="false"
+ accept=".zip"
+ :limit="1"
+ :before-upload="beforeUpload"
+ :on-success="handleSuccess"
+ ref="upload"
+ :on-error="onError">
+ <el-button size="small" type="primary" :loading="inLoading">鎵归噺涓婁紶</el-button>
+ </el-upload>
+ </div>
</div>
<!-- <input id="input" type="file" accept=".doc,.docx"></input> -->
<div class="table">
- <ValueTable ref="ValueTable" :url="$api.insReport.pageInsReport" :componentData="componentData"
+ <ValueTable ref="ValueTable" :url="$api.insReport.pageInsReport"
+ :isColumnWidth="true"
+ :componentData="componentData"
:key="upIndex" />
</div>
</div>
@@ -107,7 +128,7 @@
<i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
<img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
</div>
- <div style="height: 80vh;">
+ <div style="height: 80vh;" v-if="issuedVisible">
<onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
</div>
<span slot="footer" class="dialog-footer">
@@ -153,12 +174,10 @@
<script>
import ValueTable from '../tool/value-table.vue'
- import Word from '../tool/word.vue'
import onlyoffice from '../tool/onlyoffice.vue'
export default {
components: {
ValueTable,
- Word,
onlyoffice
},
data() {
@@ -173,8 +192,9 @@
}
},
isIndex: true,
- showSelect: false,
- select: false,
+ showSelect: true,
+ select: true,
+ selectMethod: 'handleChange',
do: [
{
id: 'handleWeave',
@@ -279,6 +299,7 @@
},
selectField: {},
requiredAdd: [],
+ needSort: ['createTime', 'state', 'writeTime', 'isExamine', 'examineTime', 'ratifyTime'],
requiredUp: []
},
entityCopy: {},
@@ -297,9 +318,22 @@
value: ``,
reason: '',
currentInfo: null,
- option:null
+ option:null,
+ mutiList:[],
+ outLoading:false,
+ inLoading:false
}
},
+ computed: {
+ headers() {
+ return {
+ 'token': sessionStorage.getItem('token')
+ }
+ },
+ action() {
+ return this.javaApi + this.$api.insReport.upAll
+ }
+ },
mounted() {
this.entityCopy = this.HaveJson(this.componentData.entity)
this.getPower()
@@ -332,6 +366,55 @@
// }
},
methods: {
+ handleChange(arr){
+ this.mutiList = arr
+ },
+ handleDowns(){
+ if(this.mutiList.length==0){
+ this.$message.error('璇烽�夋嫨鎶ュ憡')
+ return
+ }
+ let str = this.mutiList.map(m=>m.id).join(',')
+ this.outLoading = true
+ this.$axios.get(this.$api.insReport.downAll+'?ids='+str).then(res => {
+ this.outLoading = false
+ this.$message.success('瀵煎嚭鎴愬姛')
+ // const blob = new Blob([res],{ type: 'application/octet-stream' });
+ // const url = URL.createObjectURL(blob);
+ // const link = document.createElement('a');
+ // link.href = url;
+ // link.download = '鎶ュ憡.zip';
+ // link.click();
+ const link = document.createElement('a');
+ link.href = this.javaApi + res.message;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
+ })
+ },
+ beforeUpload(file){
+ const isZip = file.type === 'application/zip' || file.name.endsWith('.zip');
+ if (!isZip) {
+ this.$message.error('涓婁紶鏂囦欢鍙兘鏄� ZIP 鏍煎紡!');
+ }
+ if(isZip){
+ this.inLoading = true;
+ }
+ return isZip;
+ },
+ handleSuccess(response,){
+ this.inLoading = false;
+ if (response.code == 200) {
+ this.$message.success('瀵煎叆鎴愬姛')
+ this.refreshTable()
+ }else{
+ this.$message.error(response.message)
+ }
+ },
+ onError(err, file, fileList,type) {
+ this.$message.error('涓婁紶澶辫触')
+ this.$refs.upload.clearFiles()
+ },
refreshTable(e) {
this.$refs['ValueTable'].selectList(e)
},
--
Gitblit v1.9.3