fix: 对接发布的接口,修改安装包的字段

This commit is contained in:
张洋川 2024-04-23 16:38:09 +08:00
parent 7c2d763125
commit d6d992ca44
10 changed files with 526 additions and 194 deletions

View File

@ -1,6 +1,12 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { getApplicationId, setApplicationId, removeApplicationId } from '@/utils/application'
import { getInfo, login, logout } from '@/api/login'
import { getToken, removeToken, setToken } from '@/utils/auth'
import {
getApplicationId,
removeApplicationId,
removeApplicationName,
setApplicationId,
setApplicationName
} from '@/utils/application'
const user = {
state: {
@ -10,7 +16,7 @@ const user = {
roles: [],
permissions: [],
applicationId: getApplicationId(),
applicationInfo: {}, // 用户选中的项目/应用
applicationInfo: {} // 用户选中的项目/应用
},
mutations: {
@ -30,10 +36,10 @@ const user = {
state.permissions = permissions
},
SET_APPLICATION: (state, applicationInfo) => {
const { id } = applicationInfo;
state.applicationId = id || '';
state.applicationInfo = applicationInfo;
},
const { id } = applicationInfo
state.applicationId = id || ''
state.applicationInfo = applicationInfo
}
},
actions: {
@ -59,7 +65,7 @@ const user = {
return new Promise((resolve, reject) => {
getInfo().then(res => {
const user = res.user
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
const avatar = (user.avatar == '' || user.avatar == null) ? require('@/assets/images/profile.jpg') : process.env.VUE_APP_BASE_API + user.avatar
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions)
@ -106,11 +112,16 @@ const user = {
// 设置选中的项目应用信息
SetApplication({ commit }, applicationInfo) {
commit('SET_APPLICATION', applicationInfo)
const { id } = applicationInfo || {};
const { id, appName } = applicationInfo || {}
if (id) {
setApplicationId(applicationInfo.id);
setApplicationId(applicationInfo.id)
} else {
removeApplicationId();
removeApplicationId()
}
if (appName) {
setApplicationName(applicationInfo.appName)
} else {
removeApplicationName()
}
}
}

View File

@ -1,6 +1,7 @@
import Cookies from "js-cookie";
import Cookies from 'js-cookie'
const ApplicationKey = "Admin-Application-Id";
const ApplicationKey = 'Admin-Application-Id'
const ApplicationKeywords = 'Admin-Application-Name'
/**
* 获取应用项目ID
@ -8,7 +9,16 @@ const ApplicationKey = "Admin-Application-Id";
* @returns {string} 返回从Cookie中获取的应用项目ID
*/
export function getApplicationId() {
return Cookies.get(ApplicationKey);
return Cookies.get(ApplicationKey)
}
/**
* 获取应用项目ID
* 该函数从Cookie中检索与应用项目相关的关键信息
* @returns {string} 返回从Cookie中获取的应用项目ID
*/
export function getApplicationName() {
return Cookies.get(ApplicationKeywords)
}
/**
@ -17,7 +27,16 @@ export function getApplicationId() {
* @return {boolean|Object} 返回Cookie设置的结果成功则返回true失败则返回设置失败的对象
*/
export function setApplicationId(ApplicationId) {
return Cookies.set(ApplicationKey, ApplicationId);
return Cookies.set(ApplicationKey, ApplicationId)
}
/**
* 设置应用项目名称到Cookie中
* @param {string} ApplicationId - 需要设置的应用项目名称
* @return {boolean|Object} 返回Cookie设置的结果成功则返回true失败则返回设置失败的对象
*/
export function setApplicationName(ApplicationName) {
return Cookies.set(ApplicationKeywords, ApplicationName)
}
/**
@ -26,5 +45,15 @@ export function setApplicationId(ApplicationId) {
* @returns {boolean} 返回删除操作的结果如果删除成功则返回true如果删除失败则返回false
*/
export function removeApplicationId() {
return Cookies.remove(ApplicationKey);
return Cookies.remove(ApplicationKey)
}
/**
* 移除应用Name的Cookie
* 本函数用于删除与应用相关的Name Cookie
* @returns {boolean} 返回删除操作的结果如果删除成功则返回true如果删除失败则返回false
*/
export function removeApplicationName() {
return Cookies.remove(ApplicationKeywords)
}

View File

@ -8,15 +8,15 @@
<el-main>
<div class="form-main">
<el-form ref="elForm" :model="formData" :rules="rules" label-width="100px" size="medium">
<el-form-item label="上传方式" prop="uploadingType">
<el-radio-group v-model="formData.uploadingType" size="medium">
<el-radio v-for="(item, index) in dict.type.sys_apk_uploading_type" :key="index"
:disabled="item.disabled"
:label="item.value"
>{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="上传方式" prop="uploadingType">-->
<!-- <el-radio-group v-model="formData.uploadingType" size="medium">-->
<!-- <el-radio v-for="(item, index) in dict.type.sys_apk_uploading_type" :key="index"-->
<!-- :disabled="item.disabled"-->
<!-- :label="item.value"-->
<!-- >{{ item.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item v-if="activeTabs==='1'" label="安装包名称" prop="sysApkName">
<el-input v-model="formData.sysApkName" :style="{width: '100%'}" clearable placeholder="请输入安装包名称">
</el-input>
@ -26,7 +26,7 @@
</el-input>
</el-form-item>
<el-form-item label="安装包文件" prop="sysApk">
<file-upload v-model="formData.sysApk" :fileType="['apk','hap','ipa']" :limit="1"
<file-upload v-model="formData.sysApk" :fileSize="50" :fileType="['apk','hap','iap','zip']" :limit="1"
@getSize="getSize"
/>
@ -64,7 +64,7 @@ export default {
data() {
return {
formData: {
uploadingType: 'OffLineUploading',
uploadingType: 'OnLineUploading',
sysApkName: undefined,
version: undefined,
sysApk: null,

View File

@ -27,11 +27,11 @@
</el-form-item>
<el-form-item v-if="activeTabs!='1'" label="适用模块:">登录模块</el-form-item>
<el-form-item label="上传时间:">{{ form.createTime }}</el-form-item>
<el-form-item label="上传状态:">
<dict-tag :options="dict.type.uploading_status" :value="form.uploadingStatus"/>
</el-form-item>
<!-- <el-form-item label="上传状态:">-->
<!-- <dict-tag :options="dict.type.uploading_status" :value="form.uploadingStatus"/>-->
<!-- </el-form-item>-->
<el-form-item label="上传人员:">{{ form.created }}</el-form-item>
<el-form-item label="上传日志:">日志日志</el-form-item>
<!-- <el-form-item label="上传日志:"></el-form-item>-->
<el-form-item size="large">
<el-button @click="cancel"> </el-button>
</el-form-item>

View File

@ -8,15 +8,15 @@
<el-main>
<div class="form-main">
<el-form ref="elForm" :model="formData" :rules="rules" label-width="100px" size="medium">
<el-form-item label="上传方式" prop="uploadingType">
<el-radio-group v-model="formData.uploadingType" size="medium">
<el-radio v-for="(item, index) in dict.type.sys_apk_uploading_type" :key="index"
:disabled="item.disabled"
:label="item.value"
>{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="上传方式" prop="uploadingType">-->
<!-- <el-radio-group v-model="formData.uploadingType" size="medium">-->
<!-- <el-radio v-for="(item, index) in dict.type.sys_apk_uploading_type" :key="index"-->
<!-- :disabled="item.disabled"-->
<!-- :label="item.value"-->
<!-- >{{ item.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item v-if="activeTabs==='1'" label="安装包名称" prop="sysApkName">
<el-input v-model="formData.sysApkName" :style="{width: '100%'}" clearable placeholder="请输入安装包名称">
</el-input>
@ -27,8 +27,8 @@
</el-form-item>
<el-form-item label="安装包文件" prop="sysApk">
<file-upload v-model="formData.sysApk" :fileType="['apk','txt']" :limit="1"
:uploadFileUrl="item.uploadingType==='OffLineUploading'?'/system/oss/zip/upload':'/system/oss/upload'"
<file-upload v-model="formData.sysApk" :fileSize="50" :fileType="['apk','hap','iap','zip']" :limit="1"
:uploadFileUrl="formData.uploadingType==='OffLineUploading'?'/system/oss/zip/upload':'/system/oss/upload'"
@getSize="getSize"
/>

View File

@ -1,25 +1,25 @@
<template>
<div class="app-container">
<el-tabs v-model="activeTabs" type="card" @tab-click="handleClickTabs">
<el-tab-pane
v-for="item in packTabs"
:key="item.name"
:label="item.title"
:name="item.name"
>
</el-tab-pane>
</el-tabs>
<!-- <el-tabs v-model="activeTabs" type="card" @tab-click="handleClickTabs">-->
<!-- <el-tab-pane-->
<!-- v-for="item in packTabs"-->
<!-- :key="item.name"-->
<!-- :label="item.title"-->
<!-- :name="item.name"-->
<!-- >-->
<!-- </el-tab-pane>-->
<!-- </el-tabs>-->
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="90px" size="small">
<el-form-item label="上传类型" prop="uploadingType">
<el-select v-model="queryParams.uploadingType" clearable placeholder="请选择上传类型">
<el-option
v-for="dict in dict.type.sys_apk_uploading_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="上传类型" prop="uploadingType">-->
<!-- <el-select v-model="queryParams.uploadingType" clearable placeholder="请选择上传类型">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.sys_apk_uploading_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="安装包名称" prop="sysApkName">
<el-input
v-model="queryParams.sysApkName"
@ -46,16 +46,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="上传状态" prop="uploadingStatus">
<el-select v-model="queryParams.uploadingStatus" clearable placeholder="请选择上传状态">
<el-option
v-for="dict in dict.type.uploading_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="上传状态" prop="uploadingStatus">-->
<!-- <el-select v-model="queryParams.uploadingStatus" clearable placeholder="请选择上传状态">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.uploading_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="创建人" prop="created">
<el-input
v-model="queryParams.created"
@ -99,11 +99,11 @@
<el-table v-loading="loading" :data="INFOList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55"/>
<template v-if="activeTabs=='1'">
<el-table-column align="center" label="上传类型" prop="uploadingType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_apk_uploading_type" :value="scope.row.uploadingType"/>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="上传类型" prop="uploadingType">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.sys_apk_uploading_type" :value="scope.row.uploadingType"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="安装包名称" prop="sysApkName"/>
<el-table-column align="center" label="版本号" prop="version"/>
<el-table-column align="center" label="安装包" prop="sysApk"/>

View File

@ -9,7 +9,7 @@
>
<el-form-item label="安装包名称" prop="installpackName">
<el-input
v-model="queryParams.installpackName"
v-model="queryParams.sysApkName"
clearable
placeholder="请输入安装包名称"
style="width: 240px"
@ -39,14 +39,11 @@
</template>
</el-table-column>
</el-table>
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitAddForm()"> </el-button>-->
<!-- </div>-->
</el-dialog>
</template>
<script>
import { listModule } from '@/api/deployment/module'
import { listINFO } from '@/api/FDS/installList'
export default {
name: 'AddPack',
@ -66,10 +63,9 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
installpackName: undefined
sysApkName: null
}
}
},
created() {
this.getList()
@ -79,7 +75,7 @@ export default {
/** 查询参数列表 */
getList() {
this.loading = true
listModule(this.queryParams).then(response => {
listINFO(this.queryParams).then(response => {
this.moduleList = response.rows
this.total = response.total
this.loading = false
@ -97,10 +93,6 @@ export default {
this.resetForm('queryForm')
this.handleQuery()
},
//
submitAddForm() {
},
/** 新增当前包的按钮 */
addPack(id, version, sysType) {

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="120px" size="small">
<el-form-item label="模块包名称名称" prop="moduleName">
<el-input
v-model="queryParams.moduleName"
@ -84,10 +84,9 @@
<el-table v-loading="loading" :data="moduleList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55"/>
<el-table-column align="center" label="主键" prop="id"/>
<el-table-column align="center" label="模块包名称名称" prop="moduleName"/>
<!-- <el-table-column align="center" label="主键" prop="id"/>-->
<el-table-column align="center" label="模块包名称" prop="moduleName"/>
<el-table-column align="center" label="版本号" prop="version"/>
<el-table-column align="center" label="安装包" prop="moduleUrl"/>
<el-table-column align="center" label="安装包大小" prop="moduleSize"/>
<el-table-column align="center" label="系统类型" prop="sysType">
@ -100,7 +99,7 @@
<dict-tag :options="dict.type.module_type" :value="scope.row.moduleType"/>
</template>
</el-table-column>
<el-table-column align="center" label="上传状态" prop="uploadingStatus"/>
<!-- <el-table-column align="center" label="上传状态" prop="uploadingStatus"/>-->
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
@ -159,14 +158,14 @@
</el-form-item>
<el-form-item label="安装包" prop="moduleUrl">
<file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['apk','hap','iap']"
<file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['apk','hap','iap','zip']"
:limit="1"
uploadFileUrl="/system/oss/upload"
@getSize="getSize"
/>
</el-form-item>
<el-form-item label="安装包大小" prop="moduleSize">
<el-input v-model="form.moduleSize" placeholder="请输入安装包大小"/>
<el-input v-model="form.moduleSize" placeholder="请输入安装包大小" readonly/>
</el-form-item>
<el-form-item label="系统类型" prop="sysType">
<el-select v-model="form.sysType" placeholder="请选择系统类型">
@ -247,11 +246,11 @@
<el-input v-model="form.moduleUrl"/>
</el-form-item>
<el-form-item label="上传时间:">{{ form.createTime }}</el-form-item>
<el-form-item label="上传状态:">
<dict-tag :options="dict.type.uploading_status" :value="form.uploadingStatus"/>
</el-form-item>
<!-- <el-form-item label="上传状态:">-->
<!-- <dict-tag :options="dict.type.uploading_status" :value="form.uploadingStatus"/>-->
<!-- </el-form-item>-->
<el-form-item label="上传人员:">{{ form.created }}</el-form-item>
<el-form-item label="上传日志:"></el-form-item>
<!-- <el-form-item label="上传日志:"></el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
@ -454,6 +453,8 @@ export default {
},
getSize(e) {
console.log(e)
console.log(this.form)
this.form.moduleSize = e[0].size + 'kb'
},

View File

@ -0,0 +1,235 @@
<template>
<el-dialog :modal-append-to-body="false" :title="title" v-bind="$attrs" width="700px"
@close="onClose"
@open="onOpen"
v-on="$listeners"
>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="应用id">
<el-input v-model="form.applyId" placeholder="请输入应用id" readonly/>
</el-form-item>
<el-form-item label="应用name">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/>
</el-form-item>
<el-form-item label="选择系统" prop="grayFlag">
<div class="tag-group">
<el-tag :type="form.systemType=='android'?'':'info'" @click="changeSys('android')">安卓</el-tag>
<el-tag :type="form.systemType=='IOS'?'':'info'" @click="changeSys('IOS')">IOS</el-tag>
<el-tag :type="form.systemType=='HarmonyOS'?'':'info'" @click="changeSys('HarmonyOS')">鸿蒙</el-tag>
</div>
</el-form-item>
<el-form-item v-if="form.systemType!='IOS'" label="安装包" prop="apkId">
<el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly>
<!-- <el-button slot="append" icon="el-icon-search" @click="handlePackOpen"></el-button>-->
</el-input>
<!-- <el-input v-model="form.apkId" placeholder="请输入安装包编号"/>-->
</el-form-item>
<el-form-item v-if="form.systemType=='IOS'" label="app store地址" prop="appStoreAddress">
<el-input v-model="form.appStoreAddress" placeholder="请输入app store地址"/>
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号"/>
</el-form-item>
<el-form-item label="版本说明" prop="versionDesc">
<el-input v-model="form.versionDesc" placeholder="请输入版本说明"/>
</el-form-item>
<el-form-item label="发布环境" prop="publishEnvironment">
<el-radio-group v-model="form.publishEnvironment">
<el-radio
v-for="dict in environmentList"
:key="dict.value"
:label="parseInt(dict.id)"
>{{ dict.name }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发布策略" prop="publishStrategy">
<el-radio-group v-model="form.publishStrategy">
<el-radio
v-for="dict in dict.type.release_strategy"
:key="dict.value"
:label="parseInt(dict.value)"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="结果通知" prop="resultNotify">
<el-switch
v-model="form.resultNotify"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<el-form-item label="公开版" prop="publicVersion">
<el-switch
v-model="form.publicVersion"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<el-form-item label="强制更新" prop="forceUpdate">
<el-switch
v-model="form.forceUpdate"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<el-form-item label="下载验证" prop="downloadVerification">
<el-switch
v-model="form.downloadVerification"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<!-- <el-form-item label="更新对象(-1: 不限制, 白名单id)" prop="updateObject">-->
<el-form-item label="更新对象" prop="updateObject">
<el-radio-group v-model="form.updateObject">
<el-radio
v-for="dict in dict.type.release_user_type"
:key="dict.value"
:label="parseInt(dict.value)"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="有效期开始时间" prop="validityStartTime">
<el-date-picker v-model="form.validityStartTime"
clearable
placeholder="请选择有效期开始时间"
type="date"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
<el-form-item label="有效期结束时间" prop="validityEndTime">
<el-date-picker v-model="form.validityEndTime"
clearable
placeholder="请选择有效期结束时间"
type="date"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="备注" prop="remark">-->
<!-- <el-input v-model="form.remark" placeholder="请输入备注"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="逻辑删除,0:未删除,1:删除" prop="isDelete">-->
<!-- <el-input v-model="form.isDelete" placeholder="请输入逻辑删除,0:未删除,1:删除"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建人" prop="created">-->
<!-- <el-input v-model="form.created" placeholder="请输入创建人"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="更新人" prop="modified">-->
<!-- <el-input v-model="form.modified" placeholder="请输入更新人"/>-->
<!-- </el-form-item>-->
</el-form>
</el-dialog>
</template>
<script>
import { getPublish } from '@/api/deployment/publish'
import { listEnvironment } from '@/api/deployment/environment'
export default {
name: 'AddPack',
dicts: ['sys_yes_no'],
props: {
detailId: {
type: String | Number,
default: ''
},
openDetail: {
type: Boolean,
default: false
}
},
data() {
return {
//
title: '添加安装包',
loading: true,
configName: undefined,
form: {},
moduleList: [],
//
showSearch: true,
total: 0,
environmentList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
sysApkName: null
}
}
},
// computed: {
// cachedViews() {
// return this.$props.openDetail
// }
// },
mounted() {
console.log(this.detailId, 123321)
this.$nextTick(() => {
this.show = false
})
// nextTick(()=>{
// this.configName = this.$route.query.configName
// })
// this.getPublishList(this.detailId)
this.getEnvironmentList()
},
methods: {
/** 查询参数列表 */
getPublishList(id) {
this.loading = true
getPublish(id).then(response => {
this.form = response.data
this.open = true
this.title = '详情'
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = []
this.resetForm('queryForm')
this.handleQuery()
},
/** 查询环境维护列表 */
getEnvironmentList() {
this.loading = true
listEnvironment(this.queryParamsEnvironment).then(response => {
this.environmentList = response.rows
})
},
/** 新增当前包的按钮 */
addPack(id, version, sysType) {
this.$emit('addPack', {
apkId: id,
version: version,
sysType: sysType
})
},
closeModal() {
this.$emit('close')
},
onOpen() {
this.active = this.current
this.key = ''
},
onClose() {
}
}
}
</script>

View File

@ -65,6 +65,19 @@
>修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>批量发布
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['deployment:publish:remove']"
@ -74,18 +87,7 @@
size="mini"
type="danger"
@click="handleDelete"
>删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['deployment:publish:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出
>批量删除
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -93,8 +95,8 @@
<el-table v-loading="loading" :data="publishList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55"/>
<el-table-column align="center" label="APP" prop="applyId"/>
<el-table-column align="center" label="应用name" prop="appName"/>
<el-table-column align="center" label="APP" prop="appName"/>
<!-- <el-table-column align="center" label="应用name" prop="appName"/>-->
<el-table-column align="center" label="版本号" prop="version"/>
<el-table-column align="center" label="系统" prop="systemType"/>
<el-table-column align="center" label="公开版" prop="publicVersion" width="180">
@ -130,6 +132,36 @@
</el-table-column>
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope">
<el-button
icon="el-icon-bottom"
size="mini"
type="text"
@click="handleDown(scope.row)"
>下架
</el-button>
<el-button
icon="el-icon-edit"
size="mini"
type="text"
@click="handlePublish(scope.row)"
>发布
</el-button>
<el-button
icon="el-icon-edit"
size="mini"
type="text"
@click="handleDetail(scope.row)"
>详情
</el-button>
<el-button
icon="el-icon-download"
size="mini"
type="text"
@click="handleDownload(scope.row)"
>下载安装包
</el-button>
<el-button
v-hasPermi="['deployment:publish:edit']"
icon="el-icon-edit"
@ -159,12 +191,16 @@
/>
<!-- 添加或修改发布列表对话框 -->
<el-dialog :title="title" :visible.sync="open" append-to-body width="900px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="应用id" prop="applyId">
<el-input v-model="form.applyId" placeholder="请输入应用id"/>
<el-form-item label="应用id">
<el-input v-model="form.applyId" placeholder="请输入应用id" readonly/>
</el-form-item>
<el-form-item label="应用name">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/>
</el-form-item>
<el-form-item label="选择系统" prop="grayFlag">
<div class="tag-group">
<el-tag :type="form.systemType=='android'?'':'info'" @click="changeSys('android')">安卓</el-tag>
@ -172,10 +208,6 @@
<el-tag :type="form.systemType=='HarmonyOS'?'':'info'" @click="changeSys('HarmonyOS')">鸿蒙</el-tag>
</div>
</el-form-item>
<!-- <el-form-item label="应用name" prop="appName">-->
<!-- <el-input v-model="form.appName" placeholder="请输入应用name"/>-->
<!-- </el-form-item>-->
<el-form-item v-if="form.systemType!='IOS'" label="安装包" prop="apkId">
<el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly>
<el-button slot="append" icon="el-icon-search" @click="handlePackOpen"></el-button>
@ -240,7 +272,8 @@
:inactive-value="0"
/>
</el-form-item>
<el-form-item label="更新对象(-1: 不限制, 白名单id)" prop="updateObject">
<!-- <el-form-item label="更新对象(-1: 不限制, 白名单id)" prop="updateObject">-->
<el-form-item label="更新对象" prop="updateObject">
<el-radio-group v-model="form.updateObject">
<el-radio
v-for="dict in dict.type.release_user_type"
@ -282,11 +315,16 @@
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<AddPack :visible.sync="packOpen" @addPack="addPack" @close="closeAddPack"></AddPack>
<DetailModal :detailId="detailId" :openDetail="openDetail" :visible.sync="openDetail"></DetailModal>
</div>
</template>
@ -294,13 +332,16 @@
import { addPublish, delPublish, getPublish, listPublish, updatePublish } from '@/api/deployment/publish'
import Cookies from 'js-cookie'
import AddPack from '@/views/FDS/publishList/components/addPack.vue'
import DetailModal from './component/detail.vue'
import { listEnvironment } from '@/api/deployment/environment'
import { getApplicationName } from '@/utils/application'
export default {
name: 'Publish',
dicts: ['release_environment', 'sys_yes_no', 'release_strategy', 'release_user_type'],
components: {
AddPack
AddPack,
DetailModal
},
data() {
return {
@ -323,6 +364,8 @@ export default {
//
open: false,
packOpen: false,
openDetail: false,
detailId: '',
environmentList: [],
//
queryParams: {
@ -396,14 +439,16 @@ export default {
//
cancel() {
this.open = false
this.loading = false
this.reset()
},
//
reset() {
this.form = {
id: null,
applyId: Cookies.get('Admin-Application-Id'),
appName: null,
appName: getApplicationName(),
systemType: null,
apkId: null,
appStoreAddress: null,
@ -471,12 +516,14 @@ export default {
delete data.explain
updatePublish(data).then(response => {
this.$modal.msgSuccess('修改成功')
this.loading = false
this.open = false
this.getList()
})
} else {
addPublish(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.loading = false
this.open = false
this.getList()
})
@ -516,6 +563,7 @@ export default {
/** 关闭包选择框*/
closeAddPack() {
this.packOpen = false
},
@ -530,8 +578,24 @@ export default {
//
changeSys(sysType) {
this.form.systemType = sysType
}
},
/**下载安装包*/
handleDownload() {
},
/**下架*/
handleDown() {
},
/**发布*/
handlePublish() {
},
/**详情*/
handleDetail(row) {
this.detailId = row.id
this.openDetail = true
}
}
}
</script>