fix: 对接发布的接口,修改安装包的字段,修改二维码显示

This commit is contained in:
张洋川 2024-04-24 09:09:11 +08:00
parent bd3a791ab0
commit 7c5b4657e1
6 changed files with 425 additions and 342 deletions

View File

@ -1,90 +1,91 @@
{
"name": "ruoyi",
"version": "3.8.6",
"description": "SAC管理系统",
"author": "SAC",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"repository": {
"type": "git",
"url": "https://gitee.com/y_project/RuoYi-Vue.git"
},
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
"element-ui": "2.15.13",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0",
"quill": "1.3.7",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6",
"babel-eslint": "10.1.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "4.1.0",
"compression-webpack-plugin": "5.0.2",
"connect": "3.6.6",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.13",
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
{
"name": "ruoyi",
"version": "3.8.6",
"description": "SAC管理系统",
"author": "SAC",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"repository": {
"type": "git",
"url": "https://gitee.com/y_project/RuoYi-Vue.git"
},
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
"element-ui": "2.15.13",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0",
"quill": "1.3.7",
"react-copy-to-clipboard": "^5.1.0",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6",
"babel-eslint": "10.1.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "4.1.0",
"compression-webpack-plugin": "5.0.2",
"connect": "3.6.6",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.13",
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}

View File

@ -42,17 +42,19 @@ export function delPublish(id) {
method: 'delete'
})
}
// 发布
export function publish(id) {
return request({
url: '/deployment/publish/' + id,
url: '/deployment/publish/publish/' + id,
method: 'get'
})
}
// 下架
export function delPublish(id) {
export function soldPublish(id) {
return request({
url: '/deployment/sold/out/' + id,
url: '/deployment/publish/sold/out/' + id,
method: 'get'
})
}

View File

@ -1,5 +1,6 @@
<template>
<el-dialog :modal-append-to-body="false" :title="title" v-bind="$attrs" width="700px"
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :modal-append-to-body="false" :title="title"
:visible.sync="open" v-bind="$attrs" width="700px"
@close="onClose"
@open="onOpen"
v-on="$listeners"
@ -22,19 +23,19 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="moduleList">
<el-table-column align="center" label="安装包名称" prop="moduleName"/>
<el-table-column align="center" label="安装包名称" prop="sysApkName"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="版本号" prop="version"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="安装包大小" prop="moduleSize"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="安装包大小" prop="sysApkSize"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="适用系统" prop="sysType"/>
<el-table-column align="center" label="状态" prop="uploadingStatus">
<template slot-scope="scopeA">
<dict-tag :options="dict.type.sys_yes_no" :value="scopeA.row.type"/>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="状态" prop="uploadingStatus">-->
<!-- <template slot-scope="scopeA">-->
<!-- <dict-tag :options="dict.type.sys_yes_no" :value="scopeA.row.type"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="50">
<template slot-scope="scope">
<el-button circle icon="el-icon-plus" size="20" type="primary"
@click="addPack(scope.row.appCore,scope.row.version,scope.row.sysType)"
@click="addPack(scope.row.appId,scope.row.version,scope.row.sysType)"
></el-button>
</template>
</el-table-column>
@ -59,11 +60,14 @@ export default {
//
showSearch: true,
total: 0,
open: true,
//
queryParams: {
pageNum: 1,
pageSize: 10,
sysApkName: null
sysApkName: null,
appCode: '000000',
sysType: ''
}
}
},

View File

@ -158,7 +158,7 @@
</el-form-item>
<el-form-item label="安装包" prop="moduleUrl">
<file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['apk','hap','iap','zip']"
<file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['zip']"
:limit="1"
uploadFileUrl="/system/oss/upload"
@getSize="getSize"
@ -243,7 +243,12 @@
</el-form-item>
<el-form-item label="下载地址:">
<el-input v-model="form.moduleUrl"/>
<el-input v-model="form.moduleUrl" class="input-with-select" readonly>
<el-button slot="append" @click="copyIt(form.moduleUrl)">复制</el-button>
</el-input>
</el-form-item>
<el-form-item label="上传时间:">{{ form.createTime }}</el-form-item>
<!-- <el-form-item label="上传状态:">-->
@ -460,6 +465,10 @@ export default {
handleDownLoad(row) {
window.open(row.moduleUrl)
},
copyIt(url) {
navigator.clipboard.writeText(url)
this.$message.success('复制成功')
}
}
}

View File

@ -1,128 +1,137 @@
<template>
<el-dialog :modal-append-to-body="false" :title="title" v-bind="$attrs" width="700px"
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :modal-append-to-body="false" :title="title"
:visible.sync="open"
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 label="Appid">
<el-input v-model="form.applyId" placeholder="请输入APPid" readonly/>
</el-form-item>
<el-form-item label="应用name">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/>
<el-form-item label="APP名称">
<el-input v-model="form.appName" placeholder="请输入APP名称" 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-radio-group v-model="form.systemType">
<el-radio-button label="android">android</el-radio-button>
<el-radio-button label="IOS">IOS</el-radio-button>
<el-radio-button label="HarmonyOS">HarmonyOS</el-radio-button>
</el-radio-group>
<!-- <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="请输入安装包编号"/>-->
{{ form.apkId }}
<!-- <el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly>-->
<!-- </el-input>-->
</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地址"/>
{{ form.appStoreAddress }}
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号"/>
{{ form.version }}
</el-form-item>
<el-form-item label="版本说明" prop="versionDesc">
<el-input v-model="form.versionDesc" placeholder="请输入版本说明"/>
{{ form.versionDesc }}
</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-select v-model="form.publishEnvironment" disabled>
<el-option
v-for="dict in environmentList"
:key="dict.id"
:label="dict.name"
:value="parseInt(dict.id)"
/>
</el-select>
</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-select v-model="form.publishStrategy" disabled>
<el-option
v-for="dict in dict.type.release_strategy"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item label="结果通知" prop="resultNotify">
<el-switch
v-model="form.resultNotify"
:active-value="1"
:inactive-value="0"
v-model="form.resultNotify"
:active-value="1"
:inactive-value="0"
disabled
/>
</el-form-item>
<el-form-item label="公开版" prop="publicVersion">
<el-switch
v-model="form.publicVersion"
:active-value="1"
:inactive-value="0"
v-model="form.publicVersion"
:active-value="1"
:inactive-value="0"
disabled
/>
</el-form-item>
<el-form-item label="强制更新" prop="forceUpdate">
<el-switch
v-model="form.forceUpdate"
:active-value="1"
:inactive-value="0"
v-model="form.forceUpdate"
:active-value="1"
:inactive-value="0"
disabled
/>
</el-form-item>
<el-form-item label="下载验证" prop="downloadVerification">
<el-switch
v-model="form.downloadVerification"
:active-value="1"
:inactive-value="0"
v-model="form.downloadVerification"
:active-value="1"
:inactive-value="0"
disabled
/>
</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 label="更新对象" prop="updateObject">-->
<!-- <el-select v-model="form.publishStrategy" disabled>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.release_user_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="parseInt(dict.value)"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="有效期" prop="validityStartTime">
{{ form.validityStartTime }}{{ form.validityEndTime }}
</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 label="备注" prop="remark">
{{ form.remark }}
</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 label="下载地址:">
<el-input v-model="form.moduleUrl" class="input-with-select" readonly>
<el-button slot="append" @click="copyIt(form.moduleUrl)">复制</el-button>
</el-input>
</el-form-item>
<el-form-item label="创建人" prop="created">
{{ form.created }}
</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>
@ -133,7 +142,7 @@ import { listEnvironment } from '@/api/deployment/environment'
export default {
name: 'AddPack',
dicts: ['sys_yes_no'],
dicts: ['release_environment', 'sys_yes_no', 'release_strategy', 'release_user_type'],
props: {
detailId: {
type: String | Number,
@ -155,32 +164,34 @@ export default {
//
showSearch: true,
total: 0,
open: true,
detailIds: '',
environmentList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
sysApkName: null
},
queryParamsEnvironment: {
pageNum: 1,
pageSize: 999
}
}
},
// computed: {
// cachedViews() {
// return this.$props.openDetail
// }
// },
watch: {
detailId: {
handler: function(val, oldVal) {
if (val) {
this.detailIds = val
this.getPublishList(val)
this.getEnvironmentList()
}
},
immediate: true
}
},
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: {
@ -221,15 +232,30 @@ export default {
})
},
closeModal() {
this.$emit('close')
},
onOpen() {
this.active = this.current
this.key = ''
},
onClose() {
this.$emit('close')
},
//
changeSys(sysType) {
this.form.systemType = sysType
}
}
}
</script>
<style lang="scss" scoped>
.tag-group {
.el-tag {
cursor: pointer;
}
}
.el-tag + .el-tag {
margin-left: 10px
}
</style>

View File

@ -1,20 +1,20 @@
<template>
<div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="120px" size="small">
<el-form-item label="应用name" prop="appName">
<el-form-item label="APP名称" prop="appName">
<el-input
v-model="queryParams.appName"
clearable
placeholder="请输入应用name"
@keyup.enter.native="handleQuery"
v-model="queryParams.appName"
clearable
placeholder="请输入APP名称"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input
v-model="queryParams.version"
clearable
placeholder="请输入版本号"
@keyup.enter.native="handleQuery"
v-model="queryParams.version"
clearable
placeholder="请输入版本号"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="有效期开始时间" prop="validityStartTime">
@ -44,49 +44,49 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
v-hasPermi="['deployment:publish:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
v-hasPermi="['deployment:publish:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['deployment:publish:edit']"
:disabled="single"
icon="el-icon-edit"
plain
size="mini"
type="success"
@click="handleUpdate"
v-hasPermi="['deployment:publish:edit']"
:disabled="single"
icon="el-icon-edit"
plain
size="mini"
type="success"
@click="handleUpdate"
>修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
: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']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
v-hasPermi="['deployment:publish:remove']"
:disabled="multiple"
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="handleDelete"
>批量删除
</el-button>
</el-col>
@ -95,8 +95,7 @@
<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="appName"/>
<!-- <el-table-column align="center" label="应用name" prop="appName"/>-->
<el-table-column align="center" label="APP名称" 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,52 +129,84 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
label="二维码"
min-width="80"
>
<template slot-scope="scope">
<el-image
v-if="scope.row.quickMark"
:preview-src-list="[scope.row.quickMark]"
:src="scope.row.quickMark"
style="width: 80px; height: 80px"
>
</el-image>
<div v-else>/</div>
<!-- <el-popover-->
<!-- v-if="scope.row.qrCode && scopeC.row.status !== '20'"-->
<!-- ref="popver"-->
<!-- trigger="click"-->
<!-- width="200"-->
<!-- >-->
<!-- <div class="table-img">-->
<!-- <img :src="'data:image/jpg;base64,'+ scope.row.qrCode">-->
<!-- <p v-if="scopeC.row.verifyCode">密码:{{ scope.row.verifyCode }}</p>-->
<!-- </div>-->
<!-- </el-popover>-->
<!-- <div v-else>-</div>-->
</template>
</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)"
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)"
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)"
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)"
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"
size="mini"
type="text"
@click="handleUpdate(scope.row)"
v-hasPermi="['deployment:publish:edit']"
icon="el-icon-edit"
size="mini"
type="text"
@click="handleUpdate(scope.row)"
>修改
</el-button>
<el-button
v-hasPermi="['deployment:publish:remove']"
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row)"
v-hasPermi="['deployment:publish:remove']"
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row)"
>删除
</el-button>
</template>
@ -183,30 +214,30 @@
</el-table>
<pagination
v-show="total>0"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
v-show="total>0"
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
<!-- 添加或修改发布列表对话框 -->
<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">
<el-input v-model="form.applyId" placeholder="请输入应用id" readonly/>
<el-form-item label="APPid">
<el-input v-model="form.applyId" placeholder="请输入Appid" readonly/>
</el-form-item>
<el-form-item label="应用name">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/>
<el-form-item label="APP名称">
<el-input v-model="form.appName" placeholder="请输入APP名称" 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-radio-group v-model="form.systemType">
<el-radio-button label="android">android</el-radio-button>
<el-radio-button label="IOS">IOS</el-radio-button>
<el-radio-button label="HarmonyOS">HarmonyOS</el-radio-button>
</el-radio-group>
</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>
@ -224,65 +255,68 @@
<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-select v-model="form.publishEnvironment">
<el-option
v-for="dict in environmentList"
:key="dict.value"
:label="dict.name"
:value="parseInt(dict.id)"
/>
</el-select>
</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-select v-model="form.publishStrategy">
<el-option
v-for="dict in dict.type.release_strategy"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item label="结果通知" prop="resultNotify">
<el-switch
v-model="form.resultNotify"
:active-value="1"
:inactive-value="0"
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"
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"
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"
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="updateObject">-->
<!-- <el-select v-model="form.publishStrategy">-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.release_user_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="parseInt(dict.value)"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="有效期开始时间" prop="validityStartTime">
<el-date-picker v-model="form.validityStartTime"
clearable
@ -301,18 +335,10 @@
>
</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-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -323,13 +349,22 @@
</el-dialog>
<AddPack :visible.sync="packOpen" @addPack="addPack" @close="closeAddPack"></AddPack>
<DetailModal :detailId="detailId" :openDetail="openDetail" :visible.sync="openDetail"></DetailModal>
<AddPack v-if="packOpen" @addPack="addPack" @close="closeAddPack"></AddPack>
<DetailModal v-if="openDetail" :detailId="detailId" :openDetail="openDetail" @close="closeDetailModal"
></DetailModal>
</div>
</template>
<script>
import { addPublish, delPublish, getPublish, listPublish, updatePublish } from '@/api/deployment/publish'
import {
addPublish,
delPublish,
getPublish,
listPublish,
publish,
soldPublish,
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'
@ -569,7 +604,6 @@ export default {
/** 查询环境维护列表 */
getEnvironmentList() {
this.loading = true
listEnvironment(this.queryParamsEnvironment).then(response => {
this.environmentList = response.rows
})
@ -584,17 +618,24 @@ export default {
},
/**下架*/
handleDown() {
handleDown(row) {
soldPublish(row.id).then(response => {
this.getList()
})
},
/**发布*/
handlePublish() {
handlePublish(row) {
publish(row.id).then(response => {
this.getList()
})
},
/**详情*/
handleDetail(row) {
this.detailId = row.id
this.openDetail = true
},
closeDetailModal() {
this.openDetail = false
}
}
}