fix: 对接发布的接口,根据原型调整数据结构
This commit is contained in:
parent
e8ded5cae2
commit
e591a92436
@ -5,19 +5,19 @@
|
||||
<span
|
||||
v-if="item.raw.listClass == 'default' || item.raw.listClass == ''"
|
||||
:key="item.value"
|
||||
:index="index"
|
||||
:class="item.raw.cssClass"
|
||||
>{{ item.label + " " }}</span
|
||||
:index="index"
|
||||
>{{ item.label + ' ' }}</span
|
||||
>
|
||||
<el-tag
|
||||
v-else
|
||||
:disable-transitions="true"
|
||||
:key="item.value"
|
||||
:class="item.raw.cssClass"
|
||||
:disable-transitions="true"
|
||||
:index="index"
|
||||
:type="item.raw.listClass == 'primary' ? '' : item.raw.listClass"
|
||||
:class="item.raw.cssClass"
|
||||
>
|
||||
{{ item.label + " " }}
|
||||
{{ item.label + ' ' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</template>
|
||||
@ -29,61 +29,63 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DictTag",
|
||||
name: 'DictTag',
|
||||
props: {
|
||||
options: {
|
||||
type: Array,
|
||||
default: null,
|
||||
default: null
|
||||
},
|
||||
value: [Number, String, Array],
|
||||
// 当未找到匹配的数据时,显示value
|
||||
showValue: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unmatchArray: [], // 记录未匹配的项
|
||||
unmatchArray: [] // 记录未匹配的项
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
values() {
|
||||
if (this.value !== null && typeof this.value !== "undefined") {
|
||||
return Array.isArray(this.value) ? this.value : [String(this.value)];
|
||||
if (this.value !== null && typeof this.value !== 'undefined') {
|
||||
console.log(this.value)
|
||||
return Array.isArray(this.value) ? this.value : [String(this.value)]
|
||||
} else {
|
||||
return [];
|
||||
return []
|
||||
}
|
||||
},
|
||||
unmatch() {
|
||||
this.unmatchArray = [];
|
||||
if (this.value !== null && typeof this.value !== "undefined") {
|
||||
this.unmatchArray = []
|
||||
if (this.value !== null && typeof this.value !== 'undefined') {
|
||||
// 传入值为非数组
|
||||
if (!Array.isArray(this.value)) {
|
||||
if (this.options.some((v) => v.value == this.value)) return false;
|
||||
this.unmatchArray.push(this.value);
|
||||
return true;
|
||||
if (this.options.some((v) => v.value == this.value)) return false
|
||||
this.unmatchArray.push(this.value)
|
||||
return true
|
||||
}
|
||||
// 传入值为Array
|
||||
this.value.forEach((item) => {
|
||||
if (!this.options.some((v) => v.value == item))
|
||||
this.unmatchArray.push(item);
|
||||
});
|
||||
return true;
|
||||
if (!this.options.some((v) => v.value == item)) {
|
||||
this.unmatchArray.push(item)
|
||||
}
|
||||
})
|
||||
return true
|
||||
}
|
||||
// 没有value不显示
|
||||
return false;
|
||||
},
|
||||
return false
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
handleArray(array) {
|
||||
if (array.length === 0) return "";
|
||||
if (array.length === 0) return ''
|
||||
return array.reduce((pre, cur) => {
|
||||
return pre + " " + cur;
|
||||
return pre + ' ' + cur
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-tag + .el-tag {
|
||||
|
@ -21,16 +21,12 @@
|
||||
<el-input v-model="formData.sysApkName" :style="{width: '100%'}" clearable placeholder="请输入安装包名称">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item v-else label="模块包名称" prop="field107">-->
|
||||
<!-- <el-input v-model="formData.field107" :style="{width: '100%'}" clearable placeholder="请输入模块包名称">-->
|
||||
<!-- </el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="版本号" prop="version">
|
||||
<el-input v-model="formData.version" :style="{width: '100%'}" clearable placeholder="请输入版本号">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="安装包文件" prop="sysApk">
|
||||
<file-upload v-model="formData.sysApk" :fileType="['apk','txt']" :limit="1"
|
||||
<file-upload v-model="formData.sysApk" :fileType="['apk','hap','ipa']" :limit="1"
|
||||
@getSize="getSize"
|
||||
/>
|
||||
|
||||
@ -48,16 +44,6 @@
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item v-if="activeTabs!='1'" label="适用模块" prop="configName">-->
|
||||
<!-- <el-select v-model="formData.field108" clearable placeholder="请选择对应的模块">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.sys_yes_no"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item size="large">
|
||||
<el-button type="primary" @click="submitForm">提交</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
@ -124,6 +110,7 @@ export default {
|
||||
})
|
||||
},
|
||||
getSize(e) {
|
||||
console.log(e)
|
||||
this.formData.sysApkSize = e[0].size + 'kb'
|
||||
},
|
||||
cancel() {
|
||||
|
@ -21,10 +21,6 @@
|
||||
<el-input v-model="formData.sysApkName" :style="{width: '100%'}" clearable placeholder="请输入安装包名称">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item v-else label="模块包名称" prop="field107">-->
|
||||
<!-- <el-input v-model="formData.field107" :style="{width: '100%'}" clearable placeholder="请输入模块包名称">-->
|
||||
<!-- </el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="版本号" prop="version">
|
||||
<el-input v-model="formData.version" :style="{width: '100%'}" clearable placeholder="请输入版本号">
|
||||
</el-input>
|
||||
@ -49,16 +45,6 @@
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item v-if="activeTabs!='1'" label="适用模块" prop="configName">-->
|
||||
<!-- <el-select v-model="formData.field108" clearable placeholder="请选择对应的模块">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.sys_yes_no"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item size="large">
|
||||
<el-button type="primary" @click="submitForm">提交</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
|
@ -21,19 +21,20 @@
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column align="center" label="安装包名称" prop="configId"/>
|
||||
<el-table-column :show-overflow-tooltip="true" align="center" label="版本号" prop="configName"/>
|
||||
<el-table-column :show-overflow-tooltip="true" align="center" label="安装包大小" prop="configName"/>
|
||||
<el-table-column :show-overflow-tooltip="true" align="center" label="适用系统" prop="configValue"/>
|
||||
<el-table-column align="center" label="状态" prop="configType">
|
||||
<el-table v-loading="loading" :data="moduleList">
|
||||
<el-table-column align="center" label="安装包名称" prop="moduleName"/>
|
||||
<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="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" 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"
|
||||
<el-button circle icon="el-icon-plus" size="20" type="primary"
|
||||
@click="addPack(scope.row.appCore,scope.row.version,scope.row.sysType)"
|
||||
></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -45,7 +46,7 @@
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import { listConfig } from '@/api/system/config'
|
||||
import { listModule } from '@/api/deployment/module'
|
||||
|
||||
export default {
|
||||
name: 'AddPack',
|
||||
@ -57,7 +58,7 @@ export default {
|
||||
loading: true,
|
||||
configName: undefined,
|
||||
form: {},
|
||||
dataList: [],
|
||||
moduleList: [],
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
@ -78,12 +79,11 @@ export default {
|
||||
/** 查询参数列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
this.dataList = response.rows
|
||||
listModule(this.queryParams).then(response => {
|
||||
this.moduleList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
}
|
||||
)
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
@ -103,8 +103,12 @@ export default {
|
||||
},
|
||||
|
||||
/** 新增当前包的按钮 */
|
||||
addPack() {
|
||||
|
||||
addPack(id, version, sysType) {
|
||||
this.$emit('addPack', {
|
||||
apkId: id,
|
||||
version: version,
|
||||
sysType: sysType
|
||||
})
|
||||
},
|
||||
|
||||
closeModal() {
|
||||
|
@ -1,32 +1,33 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
|
||||
<el-form-item label="模块包名称名称" prop="moduleName">
|
||||
<el-input
|
||||
v-model="queryParams.moduleName"
|
||||
placeholder="请输入模块包名称名称"
|
||||
clearable
|
||||
placeholder="请输入模块包名称名称"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="version">
|
||||
<el-input
|
||||
v-model="queryParams.version"
|
||||
placeholder="请输入版本号"
|
||||
clearable
|
||||
placeholder="请输入版本号"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="createTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.createTime"
|
||||
<el-date-picker v-model="queryParams.createTime"
|
||||
clearable
|
||||
placeholder="请选择创建时间"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择创建时间">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -34,109 +35,138 @@
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['deployment:module:add']"
|
||||
>新增</el-button>
|
||||
icon="el-icon-plus"
|
||||
plain
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handleAdd"
|
||||
>新增
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['deployment:module:edit']"
|
||||
>修改</el-button>
|
||||
:disabled="single"
|
||||
icon="el-icon-edit"
|
||||
plain
|
||||
size="mini"
|
||||
type="success"
|
||||
@click="handleUpdate"
|
||||
>修改
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['deployment:module:remove']"
|
||||
>删除</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
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['deployment:module:export']"
|
||||
>导出</el-button>
|
||||
icon="el-icon-download"
|
||||
plain
|
||||
size="mini"
|
||||
type="warning"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="moduleList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="主键" align="center" prop="id" />
|
||||
<el-table-column label="模块包名称名称" align="center" prop="moduleName" />
|
||||
<el-table-column label="版本号" align="center" prop="version" />
|
||||
<el-table-column label="安装包" align="center" prop="moduleUrl" />
|
||||
<el-table-column label="安装包大小" align="center" prop="moduleSize" />
|
||||
<el-table-column label="系统类型" align="center" prop="sysType">
|
||||
<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="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">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_apk_type" :value="scope.row.sysType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="模块类型" align="center" prop="moduleType">
|
||||
<el-table-column align="center" label="模块类型" prop="moduleType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.module_type" :value="scope.row.moduleType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上传状态" align="center" prop="uploadingStatus" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<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
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['deployment:module:edit']"
|
||||
>修改</el-button>
|
||||
@click="handleDownLoad(scope.row)"
|
||||
>下载安装包
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-hasPermi="['deployment:module:edit']"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
icon="el-icon-detail"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleDetail(scope.row)"
|
||||
>详情
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-hasPermi="['deployment:module:remove']"
|
||||
>删除</el-button>
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:total="total"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改H5模块包对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-dialog :title="title" :visible.sync="open" append-to-body width="500px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="模块包名称名称" prop="moduleName">
|
||||
<el-input v-model="form.moduleName" placeholder="请输入模块包名称名称" />
|
||||
<el-input v-model="form.moduleName" placeholder="请输入模块包名称名称"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="version">
|
||||
<el-input v-model="form.version" placeholder="请输入版本号" />
|
||||
<el-input v-model="form.version" placeholder="请输入版本号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="安装包" prop="moduleUrl">
|
||||
<el-input v-model="form.moduleUrl" placeholder="请输入安装包" />
|
||||
|
||||
<file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['apk','hap','iap']"
|
||||
: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="请输入安装包大小"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="系统类型" prop="sysType">
|
||||
<el-select v-model="form.sysType" placeholder="请选择系统类型">
|
||||
@ -164,15 +194,80 @@
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<!-- 添加或修改H5模块包对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="openDetail" append-to-body width="500px">
|
||||
<el-form ref="form" :model="form" label-width="120px">
|
||||
<el-form-item label="模块包名称名称" prop="moduleName">
|
||||
{{ form.moduleName }}
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="version">
|
||||
{{ form.version }}
|
||||
</el-form-item>
|
||||
<el-form-item label="安装包" prop="moduleUrl">
|
||||
{{ form.moduleUrl }}
|
||||
<!-- <file-upload v-model="form.moduleUrl" :fileSize="20" :fileType="['apk','hap','iap']"-->
|
||||
<!-- :limit="1"-->
|
||||
<!-- uploadFileUrl="/system/oss/upload"-->
|
||||
<!-- @getSize="getSize"-->
|
||||
<!-- />-->
|
||||
</el-form-item>
|
||||
<el-form-item label="安装包大小" prop="moduleSize">
|
||||
{{ form.moduleSize }}
|
||||
<!-- <el-input v-model="form.moduleSize" placeholder="请输入安装包大小"/>-->
|
||||
</el-form-item>
|
||||
<el-form-item label="系统类型" prop="sysType">
|
||||
{{ form.sysType }}
|
||||
<!-- <el-select v-model="form.sysType" placeholder="请选择系统类型">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.sys_apk_type"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
</el-form-item>
|
||||
<el-form-item label="模块类型" prop="moduleType">
|
||||
|
||||
<dict-tag :options="dict.type.module_type" :value="form.moduleType"/>
|
||||
|
||||
<!-- {{ form.moduleType }}-->
|
||||
<!-- <el-select v-model="form.moduleType" placeholder="请选择模块类型">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.module_type"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="下载地址:">
|
||||
<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="上传人员:">{{ form.created }}</el-form-item>
|
||||
<el-form-item label="上传日志:"></el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancelDetail">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listModule, getModule, delModule, addModule, updateModule } from "@/api/deployment/module";
|
||||
import { addModule, delModule, getModule, listModule, updateModule } from '@/api/deployment/module'
|
||||
|
||||
export default {
|
||||
name: "Module",
|
||||
dicts: ['module_type', 'sys_apk_type'],
|
||||
name: 'Module',
|
||||
dicts: ['module_type', 'sys_apk_type', 'uploading_status'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@ -190,9 +285,10 @@ export default {
|
||||
// H5模块包表格数据
|
||||
moduleList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
title: '',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
openDetail: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
@ -200,48 +296,54 @@ export default {
|
||||
moduleName: null,
|
||||
version: null,
|
||||
uploadingStatus: null,
|
||||
createTime: null,
|
||||
createTime: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
moduleName: [
|
||||
{ required: true, message: "模块包名称名称不能为空", trigger: "blur" }
|
||||
{ required: true, message: '模块包名称名称不能为空', trigger: 'blur' }
|
||||
],
|
||||
version: [
|
||||
{ required: true, message: "版本号不能为空", trigger: "blur" }
|
||||
{ required: true, message: '版本号不能为空', trigger: 'blur' }
|
||||
],
|
||||
sysType: [
|
||||
{ required: true, message: "系统类型不能为空", trigger: "change" }
|
||||
{ required: true, message: '系统类型不能为空', trigger: 'change' }
|
||||
],
|
||||
moduleType: [
|
||||
{ required: true, message: "模块类型不能为空", trigger: "change" }
|
||||
{ required: true, message: '模块类型不能为空', trigger: 'change' }
|
||||
],
|
||||
uploadingStatus: [
|
||||
{ required: true, message: "上传状态不能为空", trigger: "change" }
|
||||
],
|
||||
{ required: true, message: '上传状态不能为空', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询H5模块包列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.loading = true
|
||||
listModule(this.queryParams).then(response => {
|
||||
this.moduleList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
this.moduleList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
|
||||
cancelDetail() {
|
||||
this.openDetail = false
|
||||
this.reset()
|
||||
},
|
||||
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
@ -263,79 +365,101 @@ export default {
|
||||
modified: null,
|
||||
createTime: null,
|
||||
updateTime: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加H5模块包";
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '添加H5模块包'
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
this.reset()
|
||||
const id = row.id || this.ids
|
||||
getModule(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改H5模块包";
|
||||
});
|
||||
this.form = response.data
|
||||
this.open = true
|
||||
this.title = '修改H5模块包'
|
||||
this.type = 'edit'
|
||||
})
|
||||
},
|
||||
/** 详情按钮操作 */
|
||||
handleDetail(row) {
|
||||
this.reset()
|
||||
const id = row.id || this.ids
|
||||
getModule(id).then(response => {
|
||||
this.form = response.data
|
||||
this.openDetail = true
|
||||
this.title = 'H5模块包详情'
|
||||
this.type = 'detail'
|
||||
})
|
||||
},
|
||||
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
let data = Object.assign({},this.form)
|
||||
let data = Object.assign({}, this.form)
|
||||
delete data.explain
|
||||
updateModule(data).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
} else {
|
||||
addModule(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
const ids = row.id || this.ids
|
||||
this.$modal.confirm('是否确认删除H5模块包编号为"' + ids + '"的数据项?').then(function() {
|
||||
return delModule(ids);
|
||||
return delModule(ids)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('deployment/module/export', {
|
||||
...this.queryParams
|
||||
}, `module_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
||||
getSize(e) {
|
||||
this.form.moduleSize = e[0].size + 'kb'
|
||||
},
|
||||
|
||||
handleDownLoad(row) {
|
||||
window.open(row.moduleUrl)
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
@ -1,40 +1,42 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="120px" size="small">
|
||||
<el-form-item label="应用name" prop="appName">
|
||||
<el-input
|
||||
v-model="queryParams.appName"
|
||||
placeholder="请输入应用name"
|
||||
clearable
|
||||
placeholder="请输入应用name"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="version">
|
||||
<el-input
|
||||
v-model="queryParams.version"
|
||||
placeholder="请输入版本号"
|
||||
clearable
|
||||
placeholder="请输入版本号"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期开始时间" prop="validityStartTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.validityStartTime"
|
||||
<el-date-picker v-model="queryParams.validityStartTime"
|
||||
clearable
|
||||
placeholder="请选择有效期开始时间"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择有效期开始时间">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期结束时间" prop="validityEndTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.validityEndTime"
|
||||
<el-date-picker v-model="queryParams.validityEndTime"
|
||||
clearable
|
||||
placeholder="请选择有效期结束时间"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择有效期结束时间">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -42,154 +44,161 @@
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['deployment:publish:add']"
|
||||
>新增</el-button>
|
||||
icon="el-icon-plus"
|
||||
plain
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handleAdd"
|
||||
>新增
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['deployment:publish:edit']"
|
||||
>修改</el-button>
|
||||
:disabled="single"
|
||||
icon="el-icon-edit"
|
||||
plain
|
||||
size="mini"
|
||||
type="success"
|
||||
@click="handleUpdate"
|
||||
>修改
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['deployment:publish:remove']"
|
||||
>删除</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
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['deployment:publish:export']"
|
||||
>导出</el-button>
|
||||
icon="el-icon-download"
|
||||
plain
|
||||
size="mini"
|
||||
type="warning"
|
||||
@click="handleExport"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="publishList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="主键" align="center" prop="id" />
|
||||
<el-table-column label="应用id" align="center" prop="applyId" />
|
||||
<el-table-column label="应用name" align="center" prop="appName" />
|
||||
<el-table-column label="系统类型" align="center" prop="systemType" />
|
||||
<el-table-column label="安装包编号" align="center" prop="apkId" />
|
||||
<el-table-column label="app store地址" align="center" prop="appStoreAddress" />
|
||||
<el-table-column label="版本号" align="center" prop="version" />
|
||||
<el-table-column label="版本说明" align="center" prop="versionDesc" />
|
||||
<el-table-column label="发布环境" align="center" prop="publishEnvironment">
|
||||
<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="版本号" prop="version"/>
|
||||
<el-table-column align="center" label="系统" prop="systemType"/>
|
||||
<el-table-column align="center" label="公开版" prop="publicVersion" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.release_environment" :value="scope.row.publishEnvironment"/>
|
||||
<el-switch v-model="scope.row.publicVersion" :active-value="1" :inactive-value="0" class="drawer-switch"
|
||||
disabled
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发布策略" align="center" prop="publishStrategy">
|
||||
<el-table-column align="center" label="强制更新" prop="forceUpdate" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.release_strategy" :value="scope.row.publishStrategy"/>
|
||||
<el-switch v-model="scope.row.forceUpdate" :active-value="1" :inactive-value="0" class="drawer-switch"
|
||||
disabled
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="通知" align="center" prop="resultNotify" />
|
||||
<el-table-column label="公开版" align="center" prop="publicVersion">
|
||||
<el-table-column align="center" label="上传时间" prop="updateTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.publicVersion"/>
|
||||
<span>{{ parseTime(scope.row.updateTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="强制更新" align="center" prop="forceUpdate">
|
||||
<el-table-column align="center" label="发布环境" prop="publishEnvironment" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.forceUpdate"/>
|
||||
<dict-tag :options="environmentList" :value="scope.row.publishEnvironment"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下载验证" align="center" prop="downloadVerification" />
|
||||
<el-table-column label="更新对象(-1: 不限制, 白名单id)" align="center" prop="updateObject">
|
||||
<el-table-column align="center" label="安装包编号" prop="apkId"/>
|
||||
<el-table-column align="center" label="版本说明" prop="versionDesc"/>
|
||||
<el-table-column align="center" label="公开时间" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.release_user_type" :value="scope.row.updateObject"/>
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="有效期开始时间" align="center" prop="validityStartTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.validityStartTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="有效期结束时间" align="center" prop="validityEndTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.validityEndTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="0:保存,1:已发布,2:已下架" align="center" prop="status" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['deployment:publish:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-hasPermi="['deployment:publish:remove']"
|
||||
>删除</el-button>
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:total="total"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改发布列表对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<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-input v-model="form.applyId" placeholder="请输入应用id"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="应用name" prop="appName">
|
||||
<el-input v-model="form.appName" placeholder="请输入应用name" />
|
||||
|
||||
<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 label="安装包编号" prop="apkId">
|
||||
<el-input v-model="form.apkId" placeholder="请输入安装包编号" />
|
||||
|
||||
<!-- <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>
|
||||
</el-input>
|
||||
<!-- <el-input v-model="form.apkId" placeholder="请输入安装包编号"/>-->
|
||||
</el-form-item>
|
||||
<el-form-item label="app store地址" prop="appStoreAddress">
|
||||
<el-input v-model="form.appStoreAddress" placeholder="请输入app store地址" />
|
||||
<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-input v-model="form.version" placeholder="请输入版本号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本说明" prop="versionDesc">
|
||||
<el-input v-model="form.versionDesc" placeholder="请输入版本说明" />
|
||||
<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 dict.type.release_environment"
|
||||
v-for="dict in environmentList"
|
||||
:key="dict.value"
|
||||
:label="parseInt(dict.value)"
|
||||
>{{dict.label}}</el-radio>
|
||||
:label="parseInt(dict.id)"
|
||||
>{{ dict.name }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="发布策略" prop="publishStrategy">
|
||||
@ -198,32 +207,38 @@
|
||||
v-for="dict in dict.type.release_strategy"
|
||||
:key="dict.value"
|
||||
:label="parseInt(dict.value)"
|
||||
>{{dict.label}}</el-radio>
|
||||
>{{ dict.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知" prop="resultNotify">
|
||||
<el-input v-model="form.resultNotify" placeholder="请输入通知" />
|
||||
<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-radio-group v-model="form.publicVersion">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_yes_no"
|
||||
:key="dict.value"
|
||||
:label="parseInt(dict.value)"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
<el-switch
|
||||
v-model="form.publicVersion"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="强制更新" prop="forceUpdate">
|
||||
<el-radio-group v-model="form.forceUpdate">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_yes_no"
|
||||
:key="dict.value"
|
||||
:label="parseInt(dict.value)"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
<el-switch
|
||||
v-model="form.forceUpdate"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="下载验证" prop="downloadVerification">
|
||||
<el-input v-model="form.downloadVerification" placeholder="请输入下载验证" />
|
||||
<el-switch
|
||||
v-model="form.downloadVerification"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="更新对象(-1: 不限制, 白名单id)" prop="updateObject">
|
||||
<el-radio-group v-model="form.updateObject">
|
||||
@ -231,52 +246,62 @@
|
||||
v-for="dict in dict.type.release_user_type"
|
||||
:key="dict.value"
|
||||
:label="parseInt(dict.value)"
|
||||
>{{dict.label}}</el-radio>
|
||||
>{{ dict.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期开始时间" prop="validityStartTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.validityStartTime"
|
||||
<el-date-picker v-model="form.validityStartTime"
|
||||
clearable
|
||||
placeholder="请选择有效期开始时间"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择有效期开始时间">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期结束时间" prop="validityEndTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.validityEndTime"
|
||||
<el-date-picker v-model="form.validityEndTime"
|
||||
clearable
|
||||
placeholder="请选择有效期结束时间"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择有效期结束时间">
|
||||
>
|
||||
</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-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>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listPublish, getPublish, delPublish, addPublish, updatePublish } from "@/api/deployment/publish";
|
||||
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 { listEnvironment } from '@/api/deployment/environment'
|
||||
|
||||
export default {
|
||||
name: "Publish",
|
||||
name: 'Publish',
|
||||
dicts: ['release_environment', 'sys_yes_no', 'release_strategy', 'release_user_type'],
|
||||
components: {
|
||||
AddPack
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@ -294,9 +319,11 @@ export default {
|
||||
// 发布列表表格数据
|
||||
publishList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
title: '',
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
packOpen: false,
|
||||
environmentList: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
@ -304,74 +331,78 @@ export default {
|
||||
appName: null,
|
||||
version: null,
|
||||
validityStartTime: null,
|
||||
validityEndTime: null,
|
||||
validityEndTime: null
|
||||
},
|
||||
queryParamsEnvironment: {
|
||||
pageNum: 1,
|
||||
pageSize: 999
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
appName: [
|
||||
{ required: true, message: "应用name不能为空", trigger: "blur" }
|
||||
{ required: true, message: '应用name不能为空', trigger: 'blur' }
|
||||
],
|
||||
systemType: [
|
||||
{ required: true, message: "系统类型不能为空", trigger: "change" }
|
||||
{ required: true, message: '系统类型不能为空', trigger: 'change' }
|
||||
],
|
||||
apkId: [
|
||||
{ required: true, message: "安装包编号不能为空", trigger: "blur" }
|
||||
{ required: true, message: '安装包编号不能为空', trigger: 'blur' }
|
||||
],
|
||||
version: [
|
||||
{ required: true, message: "版本号不能为空", trigger: "blur" }
|
||||
{ required: true, message: '版本号不能为空', trigger: 'blur' }
|
||||
],
|
||||
publishEnvironment: [
|
||||
{ required: true, message: "发布环境不能为空", trigger: "change" }
|
||||
{ required: true, message: '发布环境不能为空', trigger: 'change' }
|
||||
],
|
||||
publishStrategy: [
|
||||
{ required: true, message: "发布策略不能为空", trigger: "change" }
|
||||
{ required: true, message: '发布策略不能为空', trigger: 'change' }
|
||||
],
|
||||
publicVersion: [
|
||||
{ required: true, message: "公开版不能为空", trigger: "change" }
|
||||
{ required: true, message: '公开版不能为空', trigger: 'change' }
|
||||
],
|
||||
forceUpdate: [
|
||||
{ required: true, message: "强制更新不能为空", trigger: "change" }
|
||||
{ required: true, message: '强制更新不能为空', trigger: 'change' }
|
||||
],
|
||||
updateObject: [
|
||||
{ required: true, message: "更新对象(-1: 不限制, 白名单id)不能为空", trigger: "change" }
|
||||
{ required: true, message: '更新对象(-1: 不限制, 白名单id)不能为空', trigger: 'change' }
|
||||
],
|
||||
status: [
|
||||
{ required: true, message: "0:保存,1:已发布,2:已下架不能为空", trigger: "change" }
|
||||
{ required: true, message: '0:保存,1:已发布,2:已下架不能为空', trigger: 'change' }
|
||||
],
|
||||
isDelete: [
|
||||
{ required: true, message: "逻辑删除,0:未删除,1:删除不能为空", trigger: "blur" }
|
||||
{ required: true, message: '逻辑删除,0:未删除,1:删除不能为空', trigger: 'blur' }
|
||||
],
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
{ required: true, message: '创建时间不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询发布列表列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.loading = true
|
||||
listPublish(this.queryParams).then(response => {
|
||||
this.publishList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
this.publishList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
applyId: null,
|
||||
applyId: Cookies.get('Admin-Application-Id'),
|
||||
appName: null,
|
||||
systemType: null,
|
||||
apkId: null,
|
||||
@ -394,79 +425,125 @@ export default {
|
||||
modified: null,
|
||||
createTime: null,
|
||||
updateTime: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加发布列表";
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '添加发布列表'
|
||||
this.getEnvironmentList()
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
this.reset()
|
||||
this.getEnvironmentList()
|
||||
const id = row.id || this.ids
|
||||
getPublish(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改发布列表";
|
||||
});
|
||||
this.form = response.data
|
||||
this.open = true
|
||||
this.title = '修改发布列表'
|
||||
})
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
let data = Object.assign({},this.form)
|
||||
let data = Object.assign({}, this.form)
|
||||
delete data.explain
|
||||
updatePublish(data).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
} else {
|
||||
addPublish(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
const ids = row.id || this.ids
|
||||
this.$modal.confirm('是否确认删除发布列表编号为"' + ids + '"的数据项?').then(function() {
|
||||
return delPublish(ids);
|
||||
return delPublish(ids)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('deployment/publish/export', {
|
||||
...this.queryParams
|
||||
}, `publish_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
/** 弹出包选择框*/
|
||||
handlePackOpen() {
|
||||
this.packOpen = true
|
||||
},
|
||||
|
||||
addPack(e) {
|
||||
this.form.apkId = e.apkId
|
||||
this.form.version = e.version
|
||||
this.form.systemType = e.sysType
|
||||
this.packOpen = false
|
||||
},
|
||||
|
||||
/** 关闭包选择框*/
|
||||
|
||||
closeAddPack() {
|
||||
this.packOpen = false
|
||||
},
|
||||
|
||||
/** 查询环境维护列表 */
|
||||
getEnvironmentList() {
|
||||
this.loading = true
|
||||
listEnvironment(this.queryParamsEnvironment).then(response => {
|
||||
this.environmentList = response.rows
|
||||
})
|
||||
},
|
||||
|
||||
// 选择系统做一些逻辑判断
|
||||
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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user