From 8f44a2085cfdf82f3fdcf608cda85e9bb2c13ccf Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期二, 02 一月 2024 15:04:46 +0800 Subject: [PATCH] 修订版本1.0 --- src/components/tool/value-table.vue | 96 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 86 insertions(+), 10 deletions(-) diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue index 2d1868f..e787e0b 100644 --- a/src/components/tool/value-table.vue +++ b/src/components/tool/value-table.vue @@ -16,6 +16,20 @@ text-align: right; margin-top: 10px; } + + .down-left { + width: 50%; + display: flex; + align-items: center; + justify-content: center; + } + + .down-right { + width: 50%; + display: flex; + align-items: center; + justify-content: center; + } </style> <template> @@ -59,10 +73,10 @@ <el-col :span="5" style="text-align: right;">{{a.value}}锛�</el-col> <el-col :span="17" :offset="1"> <el-input v-model="upData[a.label]" size="small" clearable - v-if="showType(a.label, data.tagField) == null"></el-input> - <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.tagField) != null" + v-if="showType(a.label, data.selectField) == null"></el-input> + <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" style="width: 100%;"> - <el-option v-for="(b, bi) in data.tagField[a.label].select" :key="bi" :value="b.value" + <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" :label="b.label"></el-option> </el-select> </el-col> @@ -74,15 +88,15 @@ </span> </el-dialog> <el-dialog title="鏂板" :visible.sync="addDia" width="500px"> - <div class="body" v-if="addDia"> + <div class="body" v-if="addDia" style="max-height: 600px;overflow-y: auto;"> <el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> - <el-col :span="5" style="text-align: right;">{{a.value}}锛�</el-col> - <el-col :span="17" :offset="1"> + <el-col :span="6" style="text-align: right;">{{a.value}}锛�</el-col> + <el-col :span="16" :offset="1"> <el-input v-model="upData[a.label]" size="small" clearable :placeholder="`璇疯緭鍏�${a.value}`" - v-if="showType(a.label, data.tagField) == null"></el-input> - <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.tagField) != null" + v-if="showType(a.label, data.selectField) == null"></el-input> + <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :placeholder="`璇烽�夋嫨${a.value}`"> - <el-option v-for="(b, bi) in data.tagField[a.label].select" :key="bi" :value="b.value" + <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" :label="b.label"></el-option> </el-select> </el-col> @@ -92,6 +106,16 @@ <el-button @click="addDia = false">鍙� 娑�</el-button> <el-button type="primary" @click="saveAddData" :loading="addLoad">纭� 瀹�</el-button> </span> + </el-dialog> + <el-dialog title="瀵煎嚭" :visible.sync="downDia" width="400px"> + <div style="display: flex;width: 100%;height: 100px;"> + <div class="down-left" @click="downFile(true)"> + <el-button>鏈〉瀵煎嚭</el-button> + </div> + <div class="down-right" @click="downFile(false)"> + <el-button>鍏ㄩ儴瀵煎嚭</el-button> + </div> + </div> </el-dialog> </div> </template> @@ -111,6 +135,10 @@ default: () => null }, delUrl: { + type: String, + default: () => null + }, + downUrl: { type: String, default: () => null }, @@ -190,7 +218,8 @@ addDia: false, addUrl: null, addLoad: false, - dataCopy: {} + dataCopy: {}, + downDia: false } }, watch: { @@ -375,6 +404,11 @@ this.upHead = this.HaveJson(this.tableHead) this.upHead = this.upHead.filter(a => a.label != 'createTime' && a.label != 'updateTime') var val = this.data.do.filter(a => a.id == 'update')[0] + if (val == undefined) { + val = { + field: [] + } + } val.field.forEach(a => { if (JSON.stringify(this.upData[a]) == undefined) { this.upHead.push({ @@ -416,6 +450,48 @@ this.addDia = false this.addLoad = false }) + }, + openDownDia() { + this.downDia = true + }, + downFile(type) { + if (this.downUrl == null) { + this.$message.error('璇风粰瀵煎嚭璇锋眰鍦板潃') + return + } + var page = this.HaveJson(this.page) + if (!type) { + page.current = 0 + page.size = this.total + } + this.loading = true + this.$axios.post(this.downUrl, { + page: page, + entity: this.data.entity + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code === 201) { + this.loading = false + return + } + this.downDia = false + this.loading = false + this.$message.success('瀵煎嚭鎴愬姛') + let eleLink = document.createElement('a') + eleLink.style.display = 'none' + eleLink.download = res.data + eleLink.href = this.javaApi + '/outPath/' + res.data + document.body.appendChild(eleLink) + eleLink.click() + document.body.removeChild(eleLink) + }).catch(e => { + console.log(e); + this.loading = false + this.$message.error('璇峰埛鏂伴〉闈㈠啀灏濊瘯') + }) } } } -- Gitblit v1.9.3