123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- <template>
- <div class="m-container">
- <h2>
- <div class="squrt"></div>版本控制
- </h2>
- <div class="m-core">
- <!-- -->
- <div class="newBand"
- @click="createEdi"
- v-permission="'appVersionInfo/add'">新建</div>
- <el-form :inline="true"
- :model="searchForm">
- <el-form-item label="客户端">
- <el-select clearable
- v-model="searchForm.search">
- <el-option v-for="(item,index) in sectionList"
- :key='index'
- :value="item.value"
- :label="item.label"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="danger"
- @click="search">搜索</el-button>
- </el-form-item>
- </el-form>
- <div class="tableWrap">
- <el-table :data="tableList"
- :header-cell-style="{background:'#EDEEF0',color:'#444'}">
- <el-table-column align="center"
- prop="id"
- label="编号"></el-table-column>
- <el-table-column align="center"
- prop="platform"
- label="客户端">
- <template slot-scope="scope">
- <div>{{ scope.row.platform|editionFilter }}</div>
- </template>
- </el-table-column>
- <el-table-column align="center"
- prop="version"
- label="版本号"></el-table-column>
- <el-table-column align="center"
- prop="isForceUpdate"
- label="强制更新">
- <template slot-scope="scope">
- <div>{{ scope.row.isForceUpdate?'是':'否'}}</div>
- </template>
- </el-table-column>
- <el-table-column align="center"
- prop="status"
- label="状态">
- <template slot-scope="scope">
- <div>{{scope.row.status | statusFilter}}</div>
- </template>
- </el-table-column>
- <el-table-column align="center"
- prop="description"
- label="描述"></el-table-column>
- <el-table-column align="center"
- prop="downloadUrl"
- width="120"
- label="下载链接">
- <template slot-scope="scope">
- <overflow-text width="120px" :text="scope.row.downloadUrl"></overflow-text>
- </template>
- </el-table-column>
- <el-table-column align="center"
- label="操作">
- <template slot-scope="scope">
- <div>
- <el-button v-permission="'appVersionInfo/update'"
- type="text"
- @click="resetEdit(scope.row)">修改</el-button>
- </div>
- </template>
- </el-table-column>
- </el-table>
- <pagination :total="rules.total"
- :page.sync="rules.page"
- :limit.sync="rules.limit"
- :page-sizes="rules.page_size"
- @pagination="getList" />
- </div>
- </div>
- <!-- v-if="sectionVisible" -->
- <el-dialog title="版本修改"
- width="400px"
- :visible.sync="sectionVisible"
- :before-close="resetForm">
- <el-form :model="sectionForm"
- ref="sectionForm"
- :rules="sectionRules"
- label-position="right"
- label-width="80px"
- :inline="true"
- v-if="sectionVisible">
- <el-form-item label="客户端"
- prop="platform"
- v-if="isNew">
- <el-select v-model="sectionForm.platform"
- clearable>
- <el-option v-for="(item,index) in sectionList"
- :key="index"
- :label="item.label"
- :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="版本号"
- prop="version"
- v-if="isNew">
- <el-input v-model.trim="sectionForm.version"
- @mousewheel.native.prevent></el-input>
- </el-form-item>
- <el-form-item label="强制更新"
- prop="isForceUpdate">
- <el-select clearable
- v-model="sectionForm.isForceUpdate">
- <el-option label="是"
- :value="true"></el-option>
- <el-option label="否"
- :value="false"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="状态"
- prop="status">
- <el-select clearable
- v-model="sectionForm.status">
- <el-option label="最新"
- value="newest"></el-option>
- <el-option label="历史"
- value="history"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="下载链接"
- prop="downloadUrl">
- <el-input v-model.trim="sectionForm.downloadUrl"
- type="textarea"></el-input>
- </el-form-item>
- <el-form-item label="描述"
- prop="description">
- <el-input type="textarea"
- v-model="sectionForm.description"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer"
- class="dialog-footer">
- <el-button @click="sectionVisible = false">取 消</el-button>
- <el-button v-if="isNew"
- type="primary"
- @click="createEdition">确 定</el-button>
- <el-button v-if="!isNew"
- type="primary"
- @click="resetEdition">确 定</el-button>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- import { appVersionInfo, addAppVersionInfo, resetAppVersionInfo } from "@/api/systemManage";
- import pagination from "@/components/Pagination/index";
- export default {
- components: {
- pagination
- },
- data () {
- return {
- sectionVisible: false,
- tableList: [],
- rules: {
- // 分页规则
- limit: 10, // 限制显示条数
- page: 1, // 当前页
- total: 0, // 总条数
- page_size: [10, 20, 40, 50] // 选择限制显示条数
- },
- searchForm: {
- search: null
- },
- sectionList: [{ value: 'ios-teacher', label: '苹果-老师端' },
- { value: 'ios-student', label: '苹果-学生端' }, { value: 'ios-education', label: '苹果-教务端' }, { value: 'android-teacher', label: '安卓-老师端' },
- { value: 'android-student', label: '安卓-学生端' }, { value: 'android-education', label: '安卓-教务端' }],
- sectionForm: {
- platform: '',
- version: '',
- isForceUpdate: '',
- downloadUrl: '',
- status: '',
- id: ''
- },
- sectionRules: {
- platform: [
- { required: true, message: "请选择客户端", trigger: "blur" }
- ],
- version: [
- { required: true, message: "请输入版本号", trigger: "blur" }
- ],
- isForceUpdate: [
- { required: true, message: "请选择是否强更", trigger: "blur" }
- ],
- status: [
- { required: true, message: "请选择版本状态", trigger: "blur" }
- ],
- },
- isNew: false
- };
- },
- activated () {
- this.init();
- },
- created () {
- this.init();
- },
- methods: {
- search () {
- this.rules.page = 1;
- this.getList()
- },
- init () {
- this.getList();
- },
- getList () {
- this.searchForm.search ? this.searchForm.search : this.searchForm.search = null;
- appVersionInfo({
- search: this.searchForm.search,
- page: this.rules.page,
- rows: this.rules.limit,
- }).then(res => {
- if (res.code == 200) {
- this.tableList = res.data.rows;
- this.rules.total = res.data.total;
- }
- });
- },
- createEdi () {
- this.isNew = true;
- this.sectionVisible = true;
- },
- createEdition () {
- this.$refs.sectionForm.validate(v => {
- if (v) {
- addAppVersionInfo(this.sectionForm).then(res => {
- if (res.code == 200) {
- this.$message.success('新增成功')
- this.sectionVisible = false;
- this.getList()
- }
- })
- }
- })
- },
- resetEdit (row) {
- this.isNew = false;
- this.sectionForm = row;
- this.sectionVisible = true;
- },
- resetEdition () {
- // 修改
- resetAppVersionInfo(this.sectionForm).then(res => {
- if (res.code == 200) {
- this.$message.success('修改成功')
- this.sectionVisible = false;
- this.getList()
- }
- })
- },
- resetForm () {
- this.sectionForm = {
- platform: '',
- version: '',
- isForceUpdate: '',
- downloadUrl: '',
- status: '',
- id: ''
- }
- // console.log(this.sectionForm.status)
- this.$refs.sectionForm.resetFields();
- this.sectionVisible = false;
- }
- },
- filters: {
- statusFilter (val) {
- if (val == "newest") {
- return "最新";
- }
- if (val == "history") {
- return "历史";
- }
- return "";
- }
- }
- };
- </script>
- <style lang="sass">
- </style>
|