| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/business/appVersion/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // 导åºExcel |
| | | export function exportExcel (data) { |
| | | return request.post('/business/appVersion/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/appVersion/create', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/business/appVersion/updateById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/appVersion/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/business/appVersion/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="50%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="çæ¬å·" prop="versionNum"> |
| | | <el-input v-model="form.versionNum" type="number" placeholder="请è¾å
¥çæ¬å·" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="çæ¬åç§°" prop="versionInfo"> |
| | | <el-input v-model="form.versionInfo" placeholder="请è¾å
¥çæ¬å·" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å®è£
å
" prop="fileUrl"> |
| | | <div style="width: 100%; height: 1px;"></div> |
| | | <el-upload |
| | | class="upload-demo" |
| | | accept=".APK,.apk" |
| | | :limit="1" |
| | | :action="uploadImgUrl" |
| | | :data="uploadData" |
| | | :on-success="handleSuccess" |
| | | :on-error="uploadError" |
| | | :on-remove="handleRemove" |
| | | :on-exceed="uploadExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | <div slot="tip" class="el-upload__tip">æ¯æä¸ä¼ APKæä»¶ï¼å次ä¸ä¼ <2GB</div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æè¿°" prop="content"> |
| | | <el-input type="textarea" :rows="5" maxlength="100" show-word-limit v-model="form.content" placeholder="请è¾å
¥æ´æ°æè¿°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å¼ºå¶æ´æ°" prop="isForce"> |
| | | <el-switch |
| | | v-model="form.isForce" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="1" |
| | | :inactive-value="0"> |
| | | </el-switch> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: 'OperaJkVersionWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload', |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | versionInfo: '', |
| | | fileUrl: '', |
| | | content: '', |
| | | fileSize: '', |
| | | name: '', |
| | | isForce: 1, |
| | | versionNum: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | versionNum: [ |
| | | { required: true, message: '请è¾å
¥çæ¬å·', trigger: 'blur' } |
| | | ], |
| | | versionInfo: [ |
| | | { required: true, message: '请è¾å
¥çæ¬åç§°', trigger: 'blur' } |
| | | ], |
| | | fileUrl: [ |
| | | { required: true, message: '请ä¸ä¼ å®è£
å
', trigger: 'blur' } |
| | | ], |
| | | content: [ |
| | | { required: true, message: '请è¾å
¥æ´æ°æè¿°', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | fileList: [], |
| | | uploadData: { |
| | | folder: 'appFile' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/appversion', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.fileList = [] |
| | | this.form.fileSize = '' |
| | | this.form.name = '' |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | if (this.form.fileUrl) { |
| | | this.fileList.push({ |
| | | name: this.form.name, |
| | | url: target.fullFileUrl |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | handleSuccess(res, file) { |
| | | if (res.code == 200) { |
| | | let { data } = res |
| | | this.form.fileUrl = data.imgaddr |
| | | this.form.fileSize = data.fileSize |
| | | this.form.name = data.originname |
| | | this.fileList.push({ |
| | | name: data.originname, |
| | | url: data.url |
| | | }) |
| | | this.$message.success('ä¸ä¼ æå') |
| | | } else { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | this.form.fileUrl = '' |
| | | this.fileList = [] |
| | | this.form.name = '' |
| | | this.form.fileSize = '' |
| | | } |
| | | }, |
| | | uploadError() { |
| | | this.form.fileUrl = '' |
| | | this.fileList = [] |
| | | this.form.name = '' |
| | | this.form.fileSize = '' |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | }, |
| | | uploadExceed() { |
| | | this.$message.error('æå¤åªè½ä¸ä¼ ä¸ä¸ªæä»¶') |
| | | }, |
| | | handleRemove() { |
| | | this.form.fileUrl = '' |
| | | this.fileList = [] |
| | | this.form.name = '' |
| | | this.form.fileSize = '' |
| | | } |
| | | } |
| | | } |
| | | </script> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:appversion:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="çæ¬å·" prop="versionInfo"> |
| | | <el-input v-model="searchForm.versionInfo" placeholder="请è¾å
¥çæ¬å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å¼ºå¶æ´æ°" prop="isForce"> |
| | | <el-select v-model="searchForm.isForce" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option label="å
¨é¨" value=""></el-option> |
| | | <el-option label="å¦" :value="0"></el-option> |
| | | <el-option label="æ¯" :value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:appversion:create', 'business:appversion:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaAppversionWindow.open('æ°å»ºçæ¬')" icon="el-icon-plus" v-permissions="['business:appversion:create']">æ°å»º</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="versionNum" label="çæ¬å·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="versionInfo" label="çæ¬åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column label="å¹³å°ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type === 0">Android</span> |
| | | <span v-if="row.type === 1">IOS</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="content" label="æ´æ°æè¿°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="å®è£
å
" min-width="100px"></el-table-column> |
| | | <el-table-column label="æä»¶å¤§å°" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | {{row.fileSizeMb}}mb |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ¯å¦å¼ºå¶æ´æ°" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.isForce === 0">å¦</span> |
| | | <span v-if="row.isForce === 1">æ¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createUserName" label="å建è
" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:appversion:update', 'business:appversion:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaAppversionWindow.open('ç¼è¾çæ¬', row)" icon="el-icon-edit" v-permissions="['business:appversion:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:appversion:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaAppversionWindow ref="operaAppversionWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaAppversionWindow from '@/components/business/OperaAppversionWindow' |
| | | export default { |
| | | name: 'JkVersion', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaAppversionWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | versionInfo: '', |
| | | isForce: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '客æ·ç«¯çæ¬ç®¡ç', |
| | | api: '/business/appversion', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | } |
| | | } |
| | | </script> |
| | |
| | | if (orderStatus != null &&orderStatus != undefined ) { |
| | | if( Number(orderStatus) === -2){ |
| | | this.activeTab = 0 |
| | | } else{ |
| | | } else if( Number(orderStatus) !== 0 ){ |
| | | this.activeTab = Number(orderStatus) |
| | | } |
| | | } |