From b79c78fedb367570ca2f17a87fbc244a8dadb793 Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期三, 27 三月 2024 17:29:04 +0800 Subject: [PATCH] 替换保存在数据库的模型中的图片的url前缀和token值,页面回显模型时,再替换回去。(因为url前缀和token是随环境变换的值,不能存在数据库中) --- web/src/views/modules/sysPictureBase/SysPictureBase-AddOrUpdate.vue | 85 +++++++++++++++++++++++++++++++----------- 1 files changed, 62 insertions(+), 23 deletions(-) diff --git a/web/src/views/modules/sysPictureBase/SysPictureBase-AddOrUpdate.vue b/web/src/views/modules/sysPictureBase/SysPictureBase-AddOrUpdate.vue index 09ca888..6ae2af8 100644 --- a/web/src/views/modules/sysPictureBase/SysPictureBase-AddOrUpdate.vue +++ b/web/src/views/modules/sysPictureBase/SysPictureBase-AddOrUpdate.vue @@ -1,28 +1,27 @@ <template> <zt-dialog ref="dialog" @confirm="formSubmit"> <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> - <zt-form-item label="绫诲瀷" prop="type"> - <el-input v-model="dataForm.type"></el-input> - </zt-form-item> - <zt-form-item label="瀛愮被鍨�" prop="subType"> - <el-input v-model="dataForm.subType"></el-input> - </zt-form-item> + <zt-form-item label="鍥剧墖鍚嶇О" prop="name" rules="required"> <el-input v-model="dataForm.name"></el-input> </zt-form-item> - <zt-form-item label="妫�绱㈠叧閿瓧" prop="contentType" > + <zt-form-item label="浜у搧绫诲瀷" prop="productType" rules="required"> + <zt-dict v-model="dataForm.productType" dict="product"></zt-dict> + </zt-form-item> + <zt-form-item label="鏄惁榛樿" prop="isDefault" rules="required"> + <zt-dict v-model="dataForm.isDefault" dict="is_or_not"></zt-dict> + </zt-form-item> + <zt-form-item label="妫�绱㈠叧閿瓧" prop="contentType"> <el-input v-model="dataForm.contentType"></el-input> - </zt-form-item> - <zt-form-item label="绯荤粺鏍囪瘑" prop="systemMark" rules="required"> - <zt-dict v-model="dataForm.systemMark" dict="product"></zt-dict> - </zt-form-item> - <zt-form-item label="鎺掑簭" prop="sortNo"> - <el-input v-model="dataForm.sortNo" :readonly="readonly" @input=""></el-input> </zt-form-item> <div class="el-flex img-src" style="height: 20px"> <el-form-item class="marginTopAndMarginBottom" style="width: 100%"> - <config-uploader :lineHeight="true" busi-type="sys_picture" model-name="dataForm" :dataForm="dataForm" - v-model="dataForm.files"/> + <!--<config-uploader :lineHeight="true" busi-type="sys_picture" model-name="dataForm" :dataForm="dataForm" + v-model="dataForm.files"/>--> + <el-upload :limit="1" :http-request="httpRequest" :before-upload="beforeUpload" :on-exceed="handleExceed"> + <el-button slot="trigger" size="small" type="primary">閫夊彇鏂囦欢</el-button> + </el-upload> + <el-image v-if="dataForm.id" :src="url+dataForm.id" style="height: 50px;width: 50px"></el-image> </el-form-item> </div> </el-form> @@ -30,37 +29,76 @@ </template> <script> + import Cookies from "js-cookie"; + export default { data() { return { + url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getProductImg?token=${Cookies.get('token')}&id=`, + fileList: [], dataForm: { id: '', - type: '', - subType: '', + isDefault: '', name: '', contentType: '', - systemMark: '', - sortNo: '', + productType: '', remark: '' }, - readonly:{ + readonly: { type: Boolean, default: false }, } }, methods: { + httpRequest(option) { + this.fileList.length = 0 + this.fileList.push(option) + }, + // 涓婁紶鍓嶅鐞� + beforeUpload(file) { + let fileSize = file.size + const FIVE_M = 5 * 1024 * 1024; + //澶т簬5M锛屼笉鍏佽涓婁紶 + if (fileSize > FIVE_M) { + this.$message.error("鏈�澶т笂浼�5M") + return false + } + }, + // 鏂囦欢鏁伴噺杩囧鏃舵彁閱� + handleExceed() { + this.$message({type: 'error', message: '鏈�澶氭敮鎸�1涓檮浠朵笂浼�'}) + }, // 鑾峰彇淇℃伅 async getInfo() { - let res = await this.$http.get(`/sysPictureBase/SysPictureBase/${this.dataForm.id}`) + let res = await this.$http.get(`/sysPictureBase/${this.dataForm.id}`) this.dataForm = { ...this.dataForm, ...res.data } + console.log(this.dataForm, 'async getInfo()') }, // 琛ㄥ崟鎻愪氦 async formSubmit() { - let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/sysPictureBase/SysPictureBase/', this.dataForm) + console.log(this.dataForm, 'async formSubmit()') + // 浣跨敤form琛ㄥ崟鐨勬暟鎹牸寮� + const params = new FormData() + // 灏嗕笂浼犳枃浠舵暟缁勪緷娆℃坊鍔犲埌鍙傛暟paramsData涓� + this.fileList.forEach((x) => { + params.append('file', x.file) + }); + // 灏嗚緭鍏ヨ〃鍗曟暟鎹坊鍔犲埌params琛ㄥ崟涓� + if (!this.dataForm.id){ + this.dataForm.id = 0 + } + params.append('id', this.dataForm.id) + params.append('isDefault', this.dataForm.isDefault) + params.append('name', this.dataForm.name) + params.append('contentType', this.dataForm.contentType) + params.append('productType', this.dataForm.productType) + params.append('remark', this.dataForm.remark) + console.log(params, 'async formSubmit()') + let res = await this.$http.post('/sysPictureBase/save', params) if (res.success) { await this.$tip.success() this.$refs.dialog.close() @@ -74,7 +112,8 @@ .img-sc > .el-form-item > .el-form-item__content { width: 100%; } - .marginTopAndMarginBottom { + + .marginTopAndMarginBottom { margin-top: 10px !important; margin-bottom: 0 !important; } -- Gitblit v1.9.1