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