<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="versionInfo">
|
<el-input v-model="form.versionInfo" placeholder="请输入版本号" v-trim/>
|
</el-form-item>
|
<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 type="textarea" :rows="5" maxlength="100" show-word-limit v-model="form.content" placeholder="请输入更新描述" v-trim/>
|
</el-form-item>
|
<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>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
export default {
|
name: 'OperaJkVersionWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow },
|
data () {
|
return {
|
uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload',
|
// 表单数据
|
form: {
|
id: null,
|
versionInfo: '',
|
fileUrl: '',
|
content: '',
|
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'
|
}
|
}
|
},
|
created () {
|
this.config({
|
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>
|