From eb82684152ffb0acddf67da92e4533a0190eb258 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 10 十月 2025 18:27:31 +0800 Subject: [PATCH] 对接口 --- admin/src/components/business/OperaJkVersionWindow.vue | 153 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 107 insertions(+), 46 deletions(-) diff --git a/admin/src/components/business/OperaJkVersionWindow.vue b/admin/src/components/business/OperaJkVersionWindow.vue index 101b354..83a120b 100644 --- a/admin/src/components/business/OperaJkVersionWindow.vue +++ b/admin/src/components/business/OperaJkVersionWindow.vue @@ -1,52 +1,43 @@ <template> <GlobalWindow :title="title" + width="50%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-form :model="form" ref="form" :rules="rules"> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="form.info" placeholder="璇疯緭鍏ュ娉�" v-trim/> - </el-form-item> <el-form-item label="鐗堟湰鍙�" prop="versionInfo"> <el-input v-model="form.versionInfo" placeholder="璇疯緭鍏ョ増鏈彿" v-trim/> </el-form-item> - <el-form-item label="瀹夎鍖呰矾寰�" prop="fileUrl"> - <el-input v-model="form.fileUrl" placeholder="璇疯緭鍏ュ畨瑁呭寘璺緞" v-trim/> - </el-form-item> - <el-form-item label="瀹夎鐗堝悕绉�" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ畨瑁呯増鍚嶇О" v-trim/> + <el-form-item label="瀹夎鍖�" prop="fileUrl"> + <div style="width: 100%; height: 1px;"></div> + <el-upload + class="upload-demo" + accept=".APK,.apk" + :limit="1" + :action="uploadImgUrl" + :data="uploadData" + :on-success="handleSuccess" + :on-error="uploadError" + :on-remove="handleRemove" + :on-exceed="uploadExceed" + :file-list="fileList"> + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + <div slot="tip" class="el-upload__tip">鏀寔涓婁紶APK鏂囦欢锛屽崟娆′笂浼�<2GB</div> + </el-upload> </el-form-item> <el-form-item label="鏇存柊鎻忚堪" prop="content"> - <el-input v-model="form.content" placeholder="璇疯緭鍏ユ洿鏂版弿杩�" v-trim/> + <el-input type="textarea" :rows="5" maxlength="100" show-word-limit v-model="form.content" placeholder="璇疯緭鍏ユ洿鏂版弿杩�" v-trim/> </el-form-item> - <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏍囬" prop="title"> - <el-input v-model="form.title" placeholder="璇疯緭鍏ユ洿鏂版爣棰�" v-trim/> - </el-form-item> - <el-form-item label="鏄惁寮哄埗鏇存柊 0鍚� 1鏄�" prop="isForce"> - <el-input v-model="form.isForce" placeholder="璇疯緭鍏ユ槸鍚﹀己鍒舵洿鏂� 0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="骞冲彴绫诲瀷 0Android 1IOS" prop="type"> - <el-input v-model="form.type" placeholder="璇疯緭鍏ュ钩鍙扮被鍨� 0Android 1IOS" v-trim/> + <el-form-item label="鏄惁寮哄埗鏇存柊" prop="isForce"> + <el-switch + v-model="form.isForce" + active-color="#13ce66" + inactive-color="#ff4949" + :active-value="1" + :inactive-value="0"> + </el-switch> </el-form-item> </el-form> </GlobalWindow> @@ -61,26 +52,32 @@ components: { GlobalWindow }, data () { return { + uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload', // 琛ㄥ崟鏁版嵁 form: { id: null, - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', versionInfo: '', fileUrl: '', - name: '', content: '', - sortnum: '', - title: '', - isForce: '', - type: '' + fileSize: '', + name: '', + isForce: 1 }, // 楠岃瘉瑙勫垯 rules: { + versionInfo: [ + { required: true, message: '璇疯緭鍏ョ増鏈彿', trigger: 'blur' } + ], + fileUrl: [ + { required: true, message: '璇蜂笂浼犲畨瑁呭寘', trigger: 'blur' } + ], + content: [ + { required: true, message: '璇疯緭鍏ユ洿鏂版弿杩�', trigger: 'blur' } + ] + }, + fileList: [], + uploadData: { + folder: 'appFile' } } }, @@ -89,6 +86,70 @@ api: '/business/jkVersion', 'field.id': 'id' }) + }, + methods: { + open (title, target) { + this.title = title + this.fileList = [] + this.form.fileSize = '' + this.form.name = '' + this.visible = true + // 鏂板缓 + if (target == null) { + this.$nextTick(() => { + this.$refs.form.resetFields() + this.form[this.configData['field.id']] = null + }) + return + } + // 缂栬緫 + this.$nextTick(() => { + for (const key in this.form) { + this.form[key] = target[key] + } + if (this.form.fileUrl) { + this.fileList.push({ + name: this.form.name, + url: target.fullFileUrl + }) + } + }) + }, + handleSuccess(res, file) { + if (res.code == 200) { + let { data } = res + this.form.fileUrl = data.imgaddr + this.form.fileSize = data.fileSize + this.form.name = data.originname + this.fileList.push({ + name: data.originname, + url: data.url + }) + this.$message.success('涓婁紶鎴愬姛') + } else { + this.$message.error('涓婁紶澶辫触') + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + } + }, + uploadError() { + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + this.$message.error('涓婁紶澶辫触') + }, + uploadExceed() { + this.$message.error('鏈�澶氬彧鑳戒笂浼犱竴涓枃浠�') + }, + handleRemove() { + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + } } } </script> -- Gitblit v1.9.3