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

@ -50,6 +50,7 @@
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"quill": "1.3.7", "quill": "1.3.7",
"react-copy-to-clipboard": "^5.1.0",
"screenfull": "5.0.2", "screenfull": "5.0.2",
"sortablejs": "1.10.2", "sortablejs": "1.10.2",
"vue": "2.6.12", "vue": "2.6.12",

View File

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

View File

@ -1,5 +1,6 @@
<template> <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" @close="onClose"
@open="onOpen" @open="onOpen"
v-on="$listeners" v-on="$listeners"
@ -22,19 +23,19 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="loading" :data="moduleList"> <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="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 :show-overflow-tooltip="true" align="center" label="适用系统" prop="sysType"/>
<el-table-column align="center" label="状态" prop="uploadingStatus"> <!-- <el-table-column align="center" label="状态" prop="uploadingStatus">-->
<template slot-scope="scopeA"> <!-- <template slot-scope="scopeA">-->
<dict-tag :options="dict.type.sys_yes_no" :value="scopeA.row.type"/> <!-- <dict-tag :options="dict.type.sys_yes_no" :value="scopeA.row.type"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="50"> <el-table-column align="center" class-name="small-padding fixed-width" label="操作" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button circle icon="el-icon-plus" size="20" type="primary" <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> ></el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -59,11 +60,14 @@ export default {
// //
showSearch: true, showSearch: true,
total: 0, total: 0,
open: true,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sysApkName: null sysApkName: null,
appCode: '000000',
sysType: ''
} }
} }
}, },

View File

@ -158,7 +158,7 @@
</el-form-item> </el-form-item>
<el-form-item label="安装包" prop="moduleUrl"> <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" :limit="1"
uploadFileUrl="/system/oss/upload" uploadFileUrl="/system/oss/upload"
@getSize="getSize" @getSize="getSize"
@ -243,7 +243,12 @@
</el-form-item> </el-form-item>
<el-form-item label="下载地址:"> <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>
<el-form-item label="上传时间:">{{ form.createTime }}</el-form-item> <el-form-item label="上传时间:">{{ form.createTime }}</el-form-item>
<!-- <el-form-item label="上传状态:">--> <!-- <el-form-item label="上传状态:">-->
@ -460,6 +465,10 @@ export default {
handleDownLoad(row) { handleDownLoad(row) {
window.open(row.moduleUrl) window.open(row.moduleUrl)
},
copyIt(url) {
navigator.clipboard.writeText(url)
this.$message.success('复制成功')
} }
} }
} }

View File

@ -1,128 +1,137 @@
<template> <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" @close="onClose"
@open="onOpen" @open="onOpen"
v-on="$listeners" v-on="$listeners"
> >
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="应用id"> <el-form-item label="Appid">
<el-input v-model="form.applyId" placeholder="请输入应用id" readonly/> <el-input v-model="form.applyId" placeholder="请输入APPid" readonly/>
</el-form-item> </el-form-item>
<el-form-item label="应用name"> <el-form-item label="APP名称">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/> <el-input v-model="form.appName" placeholder="请输入APP名称" readonly/>
</el-form-item> </el-form-item>
<el-form-item label="选择系统" prop="grayFlag"> <el-form-item label="选择系统" prop="grayFlag">
<div class="tag-group">
<el-tag :type="form.systemType=='android'?'':'info'" @click="changeSys('android')">安卓</el-tag> <el-radio-group v-model="form.systemType">
<el-tag :type="form.systemType=='IOS'?'':'info'" @click="changeSys('IOS')">IOS</el-tag> <el-radio-button label="android">android</el-radio-button>
<el-tag :type="form.systemType=='HarmonyOS'?'':'info'" @click="changeSys('HarmonyOS')">鸿蒙</el-tag> <el-radio-button label="IOS">IOS</el-radio-button>
</div> <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>
<el-form-item v-if="form.systemType!='IOS'" label="安装包" prop="apkId"> <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>--> {{ form.apkId }}
</el-input>
<!-- <el-input v-model="form.apkId" placeholder="请输入安装包编号"/>--> <!-- <el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly>-->
<!-- </el-input>-->
</el-form-item> </el-form-item>
<el-form-item v-if="form.systemType=='IOS'" label="app store地址" prop="appStoreAddress"> <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>
<el-form-item label="版本号" prop="version"> <el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号"/> {{ form.version }}
</el-form-item> </el-form-item>
<el-form-item label="版本说明" prop="versionDesc"> <el-form-item label="版本说明" prop="versionDesc">
<el-input v-model="form.versionDesc" placeholder="请输入版本说明"/> {{ form.versionDesc }}
</el-form-item> </el-form-item>
<el-form-item label="发布环境" prop="publishEnvironment"> <el-form-item label="发布环境" prop="publishEnvironment">
<el-radio-group v-model="form.publishEnvironment">
<el-radio <el-select v-model="form.publishEnvironment" disabled>
v-for="dict in environmentList" <el-option
:key="dict.value" v-for="dict in environmentList"
:label="parseInt(dict.id)" :key="dict.id"
>{{ dict.name }} :label="dict.name"
</el-radio> :value="parseInt(dict.id)"
</el-radio-group> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="发布策略" prop="publishStrategy"> <el-form-item label="发布策略" prop="publishStrategy">
<el-radio-group v-model="form.publishStrategy">
<el-radio <el-select v-model="form.publishStrategy" disabled>
v-for="dict in dict.type.release_strategy" <el-option
:key="dict.value" v-for="dict in dict.type.release_strategy"
:label="parseInt(dict.value)" :key="dict.value"
>{{ dict.label }} :label="dict.label"
</el-radio> :value="parseInt(dict.value)"
</el-radio-group> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="结果通知" prop="resultNotify"> <el-form-item label="结果通知" prop="resultNotify">
<el-switch <el-switch
v-model="form.resultNotify" v-model="form.resultNotify"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
disabled
/> />
</el-form-item> </el-form-item>
<el-form-item label="公开版" prop="publicVersion"> <el-form-item label="公开版" prop="publicVersion">
<el-switch <el-switch
v-model="form.publicVersion" v-model="form.publicVersion"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
disabled
/> />
</el-form-item> </el-form-item>
<el-form-item label="强制更新" prop="forceUpdate"> <el-form-item label="强制更新" prop="forceUpdate">
<el-switch <el-switch
v-model="form.forceUpdate" v-model="form.forceUpdate"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
disabled
/> />
</el-form-item> </el-form-item>
<el-form-item label="下载验证" prop="downloadVerification"> <el-form-item label="下载验证" prop="downloadVerification">
<el-switch <el-switch
v-model="form.downloadVerification" v-model="form.downloadVerification"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
disabled
/> />
</el-form-item> </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-form-item label="更新对象" prop="updateObject">-->
<el-radio-group v-model="form.updateObject">
<el-radio <!-- <el-select v-model="form.publishStrategy" disabled>-->
v-for="dict in dict.type.release_user_type" <!-- <el-option-->
:key="dict.value" <!-- v-for="dict in dict.type.release_user_type"-->
:label="parseInt(dict.value)" <!-- :key="dict.value"-->
>{{ dict.label }} <!-- :label="dict.label"-->
</el-radio> <!-- :value="parseInt(dict.value)"-->
</el-radio-group> <!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="有效期" prop="validityStartTime">
{{ form.validityStartTime }}{{ form.validityEndTime }}
</el-form-item> </el-form-item>
<el-form-item label="有效期开始时间" prop="validityStartTime">
<el-date-picker v-model="form.validityStartTime" <el-form-item label="备注" prop="remark">
clearable {{ form.remark }}
placeholder="请选择有效期开始时间"
type="date"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="有效期结束时间" prop="validityEndTime">
<el-date-picker v-model="form.validityEndTime" <el-form-item label="下载地址:">
clearable <el-input v-model="form.moduleUrl" class="input-with-select" readonly>
placeholder="请选择有效期结束时间" <el-button slot="append" @click="copyIt(form.moduleUrl)">复制</el-button>
type="date" </el-input>
value-format="yyyy-MM-dd" </el-form-item>
>
</el-date-picker> <el-form-item label="创建人" prop="created">
{{ form.created }}
</el-form-item> </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-form>
</el-dialog> </el-dialog>
</template> </template>
@ -133,7 +142,7 @@ import { listEnvironment } from '@/api/deployment/environment'
export default { export default {
name: 'AddPack', name: 'AddPack',
dicts: ['sys_yes_no'], dicts: ['release_environment', 'sys_yes_no', 'release_strategy', 'release_user_type'],
props: { props: {
detailId: { detailId: {
type: String | Number, type: String | Number,
@ -155,32 +164,34 @@ export default {
// //
showSearch: true, showSearch: true,
total: 0, total: 0,
open: true,
detailIds: '',
environmentList: [], environmentList: [],
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sysApkName: null sysApkName: null
},
queryParamsEnvironment: {
pageNum: 1,
pageSize: 999
} }
} }
}, },
// computed: { watch: {
// cachedViews() { detailId: {
// return this.$props.openDetail handler: function(val, oldVal) {
// } if (val) {
// }, this.detailIds = val
this.getPublishList(val)
this.getEnvironmentList()
}
},
immediate: true
}
},
mounted() { 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: { methods: {
@ -221,15 +232,30 @@ export default {
}) })
}, },
closeModal() {
this.$emit('close')
},
onOpen() { onOpen() {
this.active = this.current this.active = this.current
this.key = '' this.key = ''
}, },
onClose() { onClose() {
this.$emit('close')
},
//
changeSys(sysType) {
this.form.systemType = sysType
} }
} }
} }
</script> </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> <template>
<div class="app-container"> <div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="120px" size="small"> <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 <el-input
v-model="queryParams.appName" v-model="queryParams.appName"
clearable clearable
placeholder="请输入应用name" placeholder="请输入APP名称"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="版本号" prop="version"> <el-form-item label="版本号" prop="version">
<el-input <el-input
v-model="queryParams.version" v-model="queryParams.version"
clearable clearable
placeholder="请输入版本号" placeholder="请输入版本号"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="有效期开始时间" prop="validityStartTime"> <el-form-item label="有效期开始时间" prop="validityStartTime">
@ -44,49 +44,49 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['deployment:publish:add']" v-hasPermi="['deployment:publish:add']"
icon="el-icon-plus" icon="el-icon-plus"
plain plain
size="mini" size="mini"
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
>新增 >新增
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['deployment:publish:edit']" v-hasPermi="['deployment:publish:edit']"
:disabled="single" :disabled="single"
icon="el-icon-edit" icon="el-icon-edit"
plain plain
size="mini" size="mini"
type="success" type="success"
@click="handleUpdate" @click="handleUpdate"
>修改 >修改
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
:disabled="multiple" :disabled="multiple"
icon="el-icon-delete" icon="el-icon-delete"
plain plain
size="mini" size="mini"
type="danger" type="danger"
@click="handleDelete" @click="handleDelete"
>批量发布 >批量发布
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
v-hasPermi="['deployment:publish:remove']" v-hasPermi="['deployment:publish:remove']"
:disabled="multiple" :disabled="multiple"
icon="el-icon-delete" icon="el-icon-delete"
plain plain
size="mini" size="mini"
type="danger" type="danger"
@click="handleDelete" @click="handleDelete"
>批量删除 >批量删除
</el-button> </el-button>
</el-col> </el-col>
@ -95,8 +95,7 @@
<el-table v-loading="loading" :data="publishList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="publishList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55"/> <el-table-column align="center" type="selection" width="55"/>
<el-table-column align="center" label="APP" 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="version"/>
<el-table-column align="center" label="系统" prop="systemType"/> <el-table-column align="center" label="系统" prop="systemType"/>
<el-table-column align="center" label="公开版" prop="publicVersion" width="180"> <el-table-column align="center" label="公开版" prop="publicVersion" width="180">
@ -130,52 +129,84 @@
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </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="操作"> <el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
icon="el-icon-bottom" icon="el-icon-bottom"
size="mini" size="mini"
type="text" type="text"
@click="handleDown(scope.row)" @click="handleDown(scope.row)"
>下架 >下架
</el-button> </el-button>
<el-button <el-button
icon="el-icon-edit" icon="el-icon-edit"
size="mini" size="mini"
type="text" type="text"
@click="handlePublish(scope.row)" @click="handlePublish(scope.row)"
>发布 >发布
</el-button> </el-button>
<el-button <el-button
icon="el-icon-edit" icon="el-icon-edit"
size="mini" size="mini"
type="text" type="text"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情 >详情
</el-button> </el-button>
<el-button <el-button
icon="el-icon-download" icon="el-icon-download"
size="mini" size="mini"
type="text" type="text"
@click="handleDownload(scope.row)" @click="handleDownload(scope.row)"
>下载安装包 >下载安装包
</el-button> </el-button>
<el-button <el-button
v-hasPermi="['deployment:publish:edit']" v-hasPermi="['deployment:publish:edit']"
icon="el-icon-edit" icon="el-icon-edit"
size="mini" size="mini"
type="text" type="text"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>修改 >修改
</el-button> </el-button>
<el-button <el-button
v-hasPermi="['deployment:publish:remove']" v-hasPermi="['deployment:publish:remove']"
icon="el-icon-delete" icon="el-icon-delete"
size="mini" size="mini"
type="text" type="text"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
>删除 >删除
</el-button> </el-button>
</template> </template>
@ -183,30 +214,30 @@
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:total="total" :total="total"
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改发布列表对话框 --> <!-- 添加或修改发布列表对话框 -->
<el-dialog :title="title" :visible.sync="open" append-to-body width="900px"> <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 ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="应用id"> <el-form-item label="APPid">
<el-input v-model="form.applyId" placeholder="请输入应用id" readonly/> <el-input v-model="form.applyId" placeholder="请输入Appid" readonly/>
</el-form-item> </el-form-item>
<el-form-item label="应用name"> <el-form-item label="APP名称">
<el-input v-model="form.appName" placeholder="请输入应用名称" readonly/> <el-input v-model="form.appName" placeholder="请输入APP名称" readonly/>
</el-form-item> </el-form-item>
<el-form-item label="选择系统" prop="grayFlag"> <el-form-item label="选择系统" prop="grayFlag">
<div class="tag-group"> <el-radio-group v-model="form.systemType">
<el-tag :type="form.systemType=='android'?'':'info'" @click="changeSys('android')">安卓</el-tag> <el-radio-button label="android">android</el-radio-button>
<el-tag :type="form.systemType=='IOS'?'':'info'" @click="changeSys('IOS')">IOS</el-tag> <el-radio-button label="IOS">IOS</el-radio-button>
<el-tag :type="form.systemType=='HarmonyOS'?'':'info'" @click="changeSys('HarmonyOS')">鸿蒙</el-tag> <el-radio-button label="HarmonyOS">HarmonyOS</el-radio-button>
</div> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="form.systemType!='IOS'" label="安装包" prop="apkId"> <el-form-item v-if="form.systemType!='IOS'" label="安装包" prop="apkId">
<el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly> <el-input v-model="form.apkId" class="input-with-select" placeholder="请选择包" readonly>
@ -224,65 +255,68 @@
<el-input v-model="form.versionDesc" placeholder="请输入版本说明"/> <el-input v-model="form.versionDesc" placeholder="请输入版本说明"/>
</el-form-item> </el-form-item>
<el-form-item label="发布环境" prop="publishEnvironment"> <el-form-item label="发布环境" prop="publishEnvironment">
<el-radio-group v-model="form.publishEnvironment">
<el-radio <el-select v-model="form.publishEnvironment">
v-for="dict in environmentList" <el-option
:key="dict.value" v-for="dict in environmentList"
:label="parseInt(dict.id)" :key="dict.value"
>{{ dict.name }} :label="dict.name"
</el-radio> :value="parseInt(dict.id)"
</el-radio-group> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="发布策略" prop="publishStrategy"> <el-form-item label="发布策略" prop="publishStrategy">
<el-radio-group v-model="form.publishStrategy">
<el-radio <el-select v-model="form.publishStrategy">
v-for="dict in dict.type.release_strategy" <el-option
:key="dict.value" v-for="dict in dict.type.release_strategy"
:label="parseInt(dict.value)" :key="dict.value"
>{{ dict.label }} :label="dict.label"
</el-radio> :value="parseInt(dict.value)"
</el-radio-group> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="结果通知" prop="resultNotify"> <el-form-item label="结果通知" prop="resultNotify">
<el-switch <el-switch
v-model="form.resultNotify" v-model="form.resultNotify"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
/> />
</el-form-item> </el-form-item>
<el-form-item label="公开版" prop="publicVersion"> <el-form-item label="公开版" prop="publicVersion">
<el-switch <el-switch
v-model="form.publicVersion" v-model="form.publicVersion"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
/> />
</el-form-item> </el-form-item>
<el-form-item label="强制更新" prop="forceUpdate"> <el-form-item label="强制更新" prop="forceUpdate">
<el-switch <el-switch
v-model="form.forceUpdate" v-model="form.forceUpdate"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
/> />
</el-form-item> </el-form-item>
<el-form-item label="下载验证" prop="downloadVerification"> <el-form-item label="下载验证" prop="downloadVerification">
<el-switch <el-switch
v-model="form.downloadVerification" v-model="form.downloadVerification"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
/> />
</el-form-item> </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-form-item label="更新对象" prop="updateObject">-->
<el-radio-group v-model="form.updateObject">
<el-radio <!-- <el-select v-model="form.publishStrategy">-->
v-for="dict in dict.type.release_user_type" <!-- <el-option-->
:key="dict.value" <!-- v-for="dict in dict.type.release_user_type"-->
:label="parseInt(dict.value)" <!-- :key="dict.value"-->
>{{ dict.label }} <!-- :label="dict.label"-->
</el-radio> <!-- :value="parseInt(dict.value)"-->
</el-radio-group> <!-- />-->
</el-form-item> <!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="有效期开始时间" prop="validityStartTime"> <el-form-item label="有效期开始时间" prop="validityStartTime">
<el-date-picker v-model="form.validityStartTime" <el-date-picker v-model="form.validityStartTime"
clearable clearable
@ -301,18 +335,10 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<!-- <el-form-item label="备注" prop="remark">--> <el-form-item label="备注" prop="remark">
<!-- <el-input v-model="form.remark" placeholder="请输入备注"/>--> <el-input v-model="form.remark" placeholder="请输入备注"/>
<!-- </el-form-item>--> </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-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -323,13 +349,22 @@
</el-dialog> </el-dialog>
<AddPack :visible.sync="packOpen" @addPack="addPack" @close="closeAddPack"></AddPack> <AddPack v-if="packOpen" @addPack="addPack" @close="closeAddPack"></AddPack>
<DetailModal :detailId="detailId" :openDetail="openDetail" :visible.sync="openDetail"></DetailModal> <DetailModal v-if="openDetail" :detailId="detailId" :openDetail="openDetail" @close="closeDetailModal"
></DetailModal>
</div> </div>
</template> </template>
<script> <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 Cookies from 'js-cookie'
import AddPack from '@/views/FDS/publishList/components/addPack.vue' import AddPack from '@/views/FDS/publishList/components/addPack.vue'
import DetailModal from './component/detail.vue' import DetailModal from './component/detail.vue'
@ -569,7 +604,6 @@ export default {
/** 查询环境维护列表 */ /** 查询环境维护列表 */
getEnvironmentList() { getEnvironmentList() {
this.loading = true
listEnvironment(this.queryParamsEnvironment).then(response => { listEnvironment(this.queryParamsEnvironment).then(response => {
this.environmentList = response.rows 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) { handleDetail(row) {
this.detailId = row.id this.detailId = row.id
this.openDetail = true this.openDetail = true
},
closeDetailModal() {
this.openDetail = false
} }
} }
} }