|
|
|
@ -7,7 +7,7 @@ |
|
|
|
:model="dataForm" |
|
|
|
@keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item label="版本功能说明" |
|
|
|
prop="版本功能说明" |
|
|
|
prop="versionDesc" |
|
|
|
label-width="150px" |
|
|
|
style="display:block"> |
|
|
|
<el-input type="textarea" |
|
|
|
@ -18,17 +18,82 @@ |
|
|
|
placeholder='请输入版本功能说明' |
|
|
|
v-model="dataForm.versionDesc"> |
|
|
|
</el-input> |
|
|
|
<div class="el-upload__tip">小程序版本说明和功能解释</div> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-form-item> |
|
|
|
<el-input v-model="model[column.key]" |
|
|
|
:readonly="column.readonly?column.readonly:false" |
|
|
|
:disabled="column.disabled?column.disabled:false" |
|
|
|
:placeholder="column.placeholder?column.placeholder:column.title" |
|
|
|
:style="{width:column.itemWidth?column.itemWidth:itemWidth}" |
|
|
|
clearable> |
|
|
|
|
|
|
|
<el-form-item label="预览图片" |
|
|
|
label-width="150px" |
|
|
|
style="display:block"> |
|
|
|
<el-upload class="avatar-uploader" |
|
|
|
ref="upload" |
|
|
|
:action="upload_url" |
|
|
|
list-type="picture-card" |
|
|
|
:name="upload_name" |
|
|
|
:on-remove="handleRemove" |
|
|
|
:on-exceed="handleExceed" |
|
|
|
:file-list="ad_url_list" |
|
|
|
:limit="3" |
|
|
|
:http-request="uploadPic"> |
|
|
|
<span class="font-14">选择图片</span> |
|
|
|
<div slot="tip" |
|
|
|
class="el-upload__tip">小程序页面截图,最多3张,每张大小2M以内</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="预览视频" |
|
|
|
label-width="150px" |
|
|
|
style="display:block"> |
|
|
|
<el-upload class="avatar-uploader" |
|
|
|
ref="upload" |
|
|
|
:action="upload_url" |
|
|
|
:name="upload_name" |
|
|
|
:on-remove="handleRemove" |
|
|
|
:on-exceed="handleExceed" |
|
|
|
:file-list="ad_url_list" |
|
|
|
:limit="1" |
|
|
|
:http-request="uploadVedio"> |
|
|
|
<el-button size="small" |
|
|
|
type="primary">选择视频</el-button> |
|
|
|
<div slot="tip" |
|
|
|
class="el-upload__tip">小程序操作录屏,大小2M以内,MP4格式</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item v-if="feedbackShow" |
|
|
|
label="反馈内容" |
|
|
|
prop="feedbackInfo" |
|
|
|
label-width="150px" |
|
|
|
style="display:block"> |
|
|
|
<el-input type="textarea" |
|
|
|
:autosize="{ minRows: 2, maxRows: 4}" |
|
|
|
:rows="3" |
|
|
|
resize="none" |
|
|
|
style="width:300px" |
|
|
|
placeholder='请输入反馈内容' |
|
|
|
v-model="dataForm.feedbackInfo"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> --> |
|
|
|
<div slot="tip" |
|
|
|
class="el-upload__tip">反馈内容,至多200字,只有上个版本被驳回才可填写</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item v-if="feedbackShow" |
|
|
|
label="反馈图片" |
|
|
|
label-width="150px" |
|
|
|
style="display:block"> |
|
|
|
<el-upload class="avatar-uploader" |
|
|
|
ref="upload" |
|
|
|
:action="upload_url" |
|
|
|
list-type="picture-card" |
|
|
|
:name="upload_name" |
|
|
|
:on-remove="handleRemove" |
|
|
|
:on-exceed="handleExceed" |
|
|
|
:file-list="ad_url_list" |
|
|
|
:limit="3" |
|
|
|
:http-request="uploadPic"> |
|
|
|
<span class="font-14">选择图片</span> |
|
|
|
<div slot="tip" |
|
|
|
class="el-upload__tip">大小2M以内</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
<div> |
|
|
|
@ -40,7 +105,6 @@ |
|
|
|
ref="table" |
|
|
|
:header-cell-style="{color:'#000'}" |
|
|
|
:data="tableData" |
|
|
|
:height="tableHeight" |
|
|
|
:style="{width: '100%'}" |
|
|
|
border |
|
|
|
v-loading="loading" |
|
|
|
@ -121,70 +185,39 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import mixinViewModule from '@/mixins/view-module' |
|
|
|
import CDialog from '@c/CDialog' |
|
|
|
import CommitForm from './CommitForm' |
|
|
|
import { mapGetters } from 'vuex' |
|
|
|
export default { |
|
|
|
mixins: [mixinViewModule], |
|
|
|
data () { |
|
|
|
return { |
|
|
|
mixinViewModuleOptions: { |
|
|
|
getDataListURL: '/demo/demo/page', |
|
|
|
getDataListIsPage: true, |
|
|
|
deleteURL: '/demo/demo', |
|
|
|
deleteIsBatch: true, |
|
|
|
exportURL: '/demo/demo/export' |
|
|
|
}, |
|
|
|
loading: false, |
|
|
|
dataForm: { |
|
|
|
versionDesc: '', // 小程序版本说明和功能解释 |
|
|
|
state: '', // 代码状态 |
|
|
|
commitDate: '', // 发布日期 |
|
|
|
submitDate: '' // 审核日期 |
|
|
|
|
|
|
|
previewInfo: { // 预览信息 |
|
|
|
videoIdList: [], |
|
|
|
picIdList: [] |
|
|
|
}, |
|
|
|
feedbackInfo: '', // 反馈内容 |
|
|
|
feedbackStuff: '', // 反馈素材 |
|
|
|
ugcDeclare: [] // 用户生成内容场景(UGC)信息安全声明 |
|
|
|
}, |
|
|
|
previewPicArray: [], |
|
|
|
previewVedioArray: [], |
|
|
|
// 上传素材 |
|
|
|
dialogImageUrl: '', |
|
|
|
dialogVisible: false, |
|
|
|
disabled: false, |
|
|
|
upload_url: '', // 上传URL |
|
|
|
upload_name: '', // 图片或视频名称 |
|
|
|
ad_url: '', // 上传后的图片或视频URL |
|
|
|
ad_url_list: [], // 预览列表 |
|
|
|
|
|
|
|
// 弹出框相关 |
|
|
|
dialog: { |
|
|
|
title: '', |
|
|
|
visible: false |
|
|
|
}, |
|
|
|
// 查询栏下拉框数据 |
|
|
|
optionData: |
|
|
|
{ |
|
|
|
client: [ |
|
|
|
{ |
|
|
|
value: '01', |
|
|
|
label: '市北区' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '02', |
|
|
|
label: '市南区' |
|
|
|
} |
|
|
|
], |
|
|
|
state: [ |
|
|
|
{ |
|
|
|
value: '01', |
|
|
|
label: '提交未审核' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '02', |
|
|
|
label: '审核中' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '03', |
|
|
|
label: '审核成功' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '04', |
|
|
|
label: '审核失败' |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: '05', |
|
|
|
label: '已发布' |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
|
|
|
|
// 列表数据 |
|
|
|
tableData: [ |
|
|
|
@ -218,7 +251,6 @@ export default { |
|
|
|
CDialog, CommitForm |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
|
|
|
|
}, |
|
|
|
computed: { |
|
|
|
tableHeight () { |
|
|
|
@ -227,6 +259,128 @@ export default { |
|
|
|
...mapGetters(['clientHeight']) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
handleExceed: function () { |
|
|
|
this.$message({ |
|
|
|
message: '请先删除选择的图片或视频,再上传', |
|
|
|
type: 'warning' |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleRemove: function (res, file) { |
|
|
|
let self = this |
|
|
|
self.ad_url = '' |
|
|
|
}, |
|
|
|
// 上传视频 |
|
|
|
uploadVedio: function (params) { |
|
|
|
// eslint-disable-next-line |
|
|
|
debugger |
|
|
|
let self = this |
|
|
|
let file = params.file |
|
|
|
let fileType = file.type |
|
|
|
let isVideo = fileType.indexOf('video') !== -1 |
|
|
|
let fileUrl = self.$refs.upload.uploadFiles[0].url |
|
|
|
|
|
|
|
let isLt2M = file.size / 1024 / 1024 < 2 |
|
|
|
if (!isLt2M) { |
|
|
|
this.$message({ |
|
|
|
message: '上传视频大小不能超过 2MB!', |
|
|
|
type: 'error' |
|
|
|
}) |
|
|
|
self.$refs.upload.uploadFiles = [] |
|
|
|
return |
|
|
|
} |
|
|
|
if (!isVideo) { |
|
|
|
this.$message({ |
|
|
|
message: '请选择视频!', |
|
|
|
type: 'error' |
|
|
|
}) |
|
|
|
self.$refs.upload.uploadFiles = [] |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let isMP4 = file.type === 'video/mp4' |
|
|
|
if (!isMP4) { |
|
|
|
this.$message({ |
|
|
|
message: '上传视频只支持 mp4 格式!', |
|
|
|
type: 'error' |
|
|
|
}) |
|
|
|
self.$refs.upload.uploadFiles = [] |
|
|
|
return |
|
|
|
} |
|
|
|
let videoDiv = document.createElement('video') |
|
|
|
videoDiv.src = fileUrl |
|
|
|
|
|
|
|
videoDiv.onloadeddata = function (event) { |
|
|
|
// 视频上传 |
|
|
|
self.upload_url = '你的视频上传URL' |
|
|
|
self.upload_name = 'file_video[]' |
|
|
|
self.uploadFile(file, isVideo, videoDiv) |
|
|
|
} |
|
|
|
}, |
|
|
|
// 上传图片 |
|
|
|
uploadPic: function (params) { |
|
|
|
// eslint-disable-next-line |
|
|
|
debugger |
|
|
|
let self = this |
|
|
|
let file = params.file |
|
|
|
let fileType = file.type |
|
|
|
let isImage = fileType.indexOf('image') !== -1 |
|
|
|
let fileUrl = self.$refs.upload.uploadFiles[0].url |
|
|
|
|
|
|
|
let isLt2M = file.size / 1024 / 1024 < 2 |
|
|
|
if (!isLt2M) { |
|
|
|
this.$message({ |
|
|
|
message: '上传图片大小不能超过 2MB!', |
|
|
|
type: 'error' |
|
|
|
}) |
|
|
|
self.$refs.upload.uploadFiles = [] |
|
|
|
return |
|
|
|
} |
|
|
|
if (!isImage) { |
|
|
|
this.$message({ |
|
|
|
message: '请选择图片!', |
|
|
|
type: 'error' |
|
|
|
}) |
|
|
|
self.$refs.upload.uploadFiles = [] |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
let img = new Image() |
|
|
|
img.src = fileUrl |
|
|
|
img.onload = function () { |
|
|
|
// 图片上传 |
|
|
|
self.upload_url = '你的图片上传URL' |
|
|
|
self.upload_name = 'file_img[]' |
|
|
|
self.uploadFile(file, '', '') |
|
|
|
} |
|
|
|
}, |
|
|
|
uploadFile: function (file, isVideo, videoDiv) { |
|
|
|
let self = this |
|
|
|
let formData = new FormData() |
|
|
|
formData.append(self.upload_name, file) |
|
|
|
|
|
|
|
// axios.post(self.upload_url, formData, { headers: { 'Content-Type': 'multipart/form-data' } }) |
|
|
|
// .then(function (res) { |
|
|
|
// if (res.result === '0000') { |
|
|
|
// self.ad_url = res.data[0] |
|
|
|
// // 创建一个显示video的容器 |
|
|
|
// if (isVideo) { |
|
|
|
// let liItem = document.getElementsByClassName('el-upload-list__item')[0] |
|
|
|
// videoDiv.style.width = '278px' |
|
|
|
// videoDiv.style.height = '415px' |
|
|
|
// liItem.prepend(videoDiv) |
|
|
|
// } |
|
|
|
// return |
|
|
|
// } |
|
|
|
// this.$message({ |
|
|
|
// message: '上传失败,请重新上传', |
|
|
|
// type: 'error' |
|
|
|
// }) |
|
|
|
// self.$refs.upload.uploadFiles = [] |
|
|
|
// }) |
|
|
|
// .catch(function (err) { |
|
|
|
// console.error(err) |
|
|
|
// }) |
|
|
|
}, |
|
|
|
// 上传代码 |
|
|
|
commitCode (id) { |
|
|
|
this.dialog.title = '上传代码' |
|
|
|
@ -239,14 +393,6 @@ export default { |
|
|
|
// 审核撤回 |
|
|
|
submitRecall (id) { |
|
|
|
|
|
|
|
}, |
|
|
|
// 体验版二维码 |
|
|
|
showQRCode (id) { |
|
|
|
|
|
|
|
}, |
|
|
|
// 发布 |
|
|
|
issueCode (id) { |
|
|
|
|
|
|
|
}, |
|
|
|
// 审核失败原因 |
|
|
|
submitFailReason (id) { |
|
|
|
@ -257,17 +403,17 @@ export default { |
|
|
|
this.dialog.visible = false |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
props: { |
|
|
|
feedbackShow: { |
|
|
|
type: Boolean, |
|
|
|
default: false |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
.row_submit { |
|
|
|
float: left; |
|
|
|
flex: 1; |
|
|
|
width: 100%; |
|
|
|
height: 35px; |
|
|
|
margin-top: 10px; |
|
|
|
margin-bottom: 20px; |
|
|
|
text-align: center; |
|
|
|
<style scoped > |
|
|
|
.el-upload__tip { |
|
|
|
color: rgb(155, 155, 155); |
|
|
|
} |
|
|
|
</style> |
|
|
|
|