|
@@ -0,0 +1,276 @@
|
|
|
+<template>
|
|
|
+ <div class="department-management-container">
|
|
|
+ <vab-query-form>
|
|
|
+ <vab-query-form-left-panel :span="12">
|
|
|
+ <el-button icon="el-icon-plus" type="primary" @click="handleEdit">
|
|
|
+ 添加
|
|
|
+ </el-button>
|
|
|
+ </vab-query-form-left-panel>
|
|
|
+ <!-- <vab-query-form-right-panel :span="12">
|
|
|
+ <el-form :inline="true" :model="queryForm" @submit.native.prevent>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input
|
|
|
+ v-model.trim="queryForm.name"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入名称"
|
|
|
+ @keyup.enter.native="queryData"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button icon="el-icon-search" type="primary" @click="queryData">
|
|
|
+ 查询
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </vab-query-form-right-panel> -->
|
|
|
+ </vab-query-form>
|
|
|
+
|
|
|
+ <el-table
|
|
|
+ v-loading="listLoading"
|
|
|
+ border
|
|
|
+ :data="list"
|
|
|
+ default-expand-all
|
|
|
+ row-key="id"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="发布日期"
|
|
|
+ prop="release_at"
|
|
|
+ show-overflow-tooltip
|
|
|
+ width="120"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="版本号"
|
|
|
+ prop="version_code"
|
|
|
+ show-overflow-tooltip
|
|
|
+ width="120"
|
|
|
+ >
|
|
|
+ <template #default="{ $index, row }">
|
|
|
+ <div v-if="$index == 0">
|
|
|
+ <div>{{ row.version_code }}</div>
|
|
|
+ <div style="font-size: 12px; color: red">(当前版本)</div>
|
|
|
+ </div>
|
|
|
+ <div v-else>{{ row.version_code }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="版本内容"
|
|
|
+ prop="version_content"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div @click="orderTimeList(row.version_content)">
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in row.version_content"
|
|
|
+ :key="index"
|
|
|
+ style="margin-bottom: 5px"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ {{ item }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- <div v-if="row.version_content.length > 3" class="click-more">
|
|
|
+ 点击查看更多
|
|
|
+ <i class="el-icon-d-arrow-right"></i>
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="注意事项"
|
|
|
+ prop="version_note"
|
|
|
+ show-overflow-tooltip
|
|
|
+ width="400"
|
|
|
+ >
|
|
|
+ <template #default="{ row }">
|
|
|
+ <!-- <el-tag v-if="row.version_note" type="danger">
|
|
|
+ {{ row.version_note }}
|
|
|
+ </el-tag>
|
|
|
+ <div v-else>--</div> -->
|
|
|
+ <div>{{ row.version_note }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="更新人员"
|
|
|
+ show-overflow-tooltip
|
|
|
+ width="180"
|
|
|
+ >
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in row.update_admin"
|
|
|
+ :key="index"
|
|
|
+ style="margin-bottom: 5px"
|
|
|
+ >
|
|
|
+ <el-tag>
|
|
|
+ {{ item }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column align="center" label="操作" width="200">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="handleDelete(row)">删除</el-button>
|
|
|
+ <el-button type="text" @click="handleDetail(row)">详情</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <template #empty>
|
|
|
+ <el-image
|
|
|
+ class="vab-data-empty"
|
|
|
+ :src="require('@/assets/empty_images/data_empty.png')"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ :current-page="queryForm.page"
|
|
|
+ :layout="layout"
|
|
|
+ :page-size="queryForm.per_page"
|
|
|
+ :page-sizes="[15, 20, 30, 40, 50, 100]"
|
|
|
+ :total="total"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ />
|
|
|
+ <VersionEdit ref="edit" @fetch-data="getList" />
|
|
|
+ <HandleDetail ref="handle" />
|
|
|
+ <el-dialog
|
|
|
+ destroy-on-close
|
|
|
+ title="版本内容"
|
|
|
+ :visible.sync="dialogFormVisible"
|
|
|
+ width="500px"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in dialogFormVisibleContent"
|
|
|
+ :key="index"
|
|
|
+ style="margin-bottom: 6px"
|
|
|
+ >
|
|
|
+ {{ item }}
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import { getList, doDelete } from './api/index'
|
|
|
+ import HandleDetail from './components/handleDetails.vue'
|
|
|
+ import VersionEdit from './components/versionEdit.vue'
|
|
|
+ export default {
|
|
|
+ name: 'VersionManagement',
|
|
|
+ components: { VersionEdit, HandleDetail },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ list: [],
|
|
|
+ dialogFormVisible: false,
|
|
|
+ listLoading: true,
|
|
|
+ layout: 'total, sizes, prev, pager, next, jumper',
|
|
|
+ total: 0,
|
|
|
+ selectRows: '',
|
|
|
+ queryForm: {
|
|
|
+ page: 1,
|
|
|
+ per_page: 15,
|
|
|
+ },
|
|
|
+ //修改排序
|
|
|
+ editForm: {},
|
|
|
+ oldSort: 0,
|
|
|
+ editStatus: 0, //排序编辑状态 0为正常 1显示输入框
|
|
|
+ flag: false, //是否自动聚焦
|
|
|
+ dialogFormVisibleContent: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //pageSize 改变时会触发
|
|
|
+ handleSizeChange(val) {
|
|
|
+ console.log(val, 'handleSizeChange')
|
|
|
+ this.queryForm.per_page = val
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ // currentPage 改变时会触发
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ console.log(val, 'handleCurrentChange')
|
|
|
+ this.queryForm.page = val
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleEdit(row) {
|
|
|
+ if (row.id) {
|
|
|
+ this.$refs['edit'].showEdit(row)
|
|
|
+ } else {
|
|
|
+ this.$refs['edit'].showEdit()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleDetail(row) {
|
|
|
+ this.$refs['handle'].showEdit(row)
|
|
|
+ },
|
|
|
+ handleDelete(row) {
|
|
|
+ console.log(row)
|
|
|
+ if (row.id) {
|
|
|
+ this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
|
|
+ const { message } = await doDelete({ id: row.id })
|
|
|
+ this.$baseMessage(
|
|
|
+ message,
|
|
|
+ 'success',
|
|
|
+ false,
|
|
|
+ 'vab-hey-message-success'
|
|
|
+ )
|
|
|
+ await this.getList()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ orderTimeList(details) {
|
|
|
+ console.log(details)
|
|
|
+ this.dialogFormVisibleContent = details
|
|
|
+ this.dialogFormVisible = true
|
|
|
+ },
|
|
|
+ // queryData() {
|
|
|
+ // this.queryForm.page = 1
|
|
|
+ // this.getList()
|
|
|
+ // },
|
|
|
+ async getList() {
|
|
|
+ this.listLoading = true
|
|
|
+ const { data } = await getList(this.queryForm)
|
|
|
+ console.log(data.length, '列表')
|
|
|
+ const { list, meta } = data
|
|
|
+ this.list = list
|
|
|
+ this.total = meta.pagination.total
|
|
|
+ this.listLoading = false
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style scoped lang="scss">
|
|
|
+ .click-more {
|
|
|
+ color: #ff8d1a;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ .department-management-container {
|
|
|
+ background: $base-color-white;
|
|
|
+ }
|
|
|
+ /* 修改排序样式 */
|
|
|
+ .edit {
|
|
|
+ display: inline-block;
|
|
|
+ width: 110px;
|
|
|
+ }
|
|
|
+ .input-sort {
|
|
|
+ display: inline-block;
|
|
|
+ width: 80px;
|
|
|
+ margin-right: 10px;
|
|
|
+ margin-left: 10px;
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
+ .sort-num {
|
|
|
+ display: inline-block;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+ .el-icon-edit,
|
|
|
+ .el-icon-circle-check,
|
|
|
+ .el-icon-circle-close {
|
|
|
+ color: #1890ff;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+</style>
|