<style> @import "../../assets/css/cssReset.css"; .clearfix:after { content: "\0020"; display: block; height: 0; clear: both; } .line_MusicBox .addCompany { width: 200px; } .line_MusicBox .musicList { width: 216px; height: 158px; border-radius: 6px; float: left; font-size: 12px; background-color: #fff; margin: 20px 25px 25px 0; } .line_MusicBox .musictopInfo { width: 100%; height: 68px; background-color: #9cf; position: relative; } .line_MusicBox .musicName { margin: 16px 20px 14px; color: #333333; height: 30px; } .line_MusicBox .leftList { margin-left: 20px; } .line_MusicBox .rightList { margin-right: 20px; float: right; } .line_MusicBox .topList { margin-top: 20px; float: left; width: 100%; color: #fff; } .line_MusicBox .Time { color: #999999; } .line_MusicBox .mask { position: absolute; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.45); top: 0; left: 0; color: #fff; } .line_MusicBox .musicList:hover .mask { background: rgba(0, 0, 0, 0); } .line_MusicBox .mask div { margin-top: 20px; } .line_MusicBox .delIcon { font-size: 18px; cursor: pointer; position: relative; bottom: 3px; color: #dddddd; } .line_MusicBox .musicList .delIcon:hover { color: #e95252; } </style> <template> <div class="flexOne"> <div class="query-box"> <ul> <li> <span> <em>{{$t('system.table_ssLine')}}</em> <el-select filterable v-model='msg.lineID' :placeholder="$t('system.ph_buxian')"> <el-option :label="$t('system.ph_buxian')" value='0'></el-option> <el-option v-for='item in lineList' :label='item.LineName' :value='item.LineID' :key='item.LineID'> </el-option> </el-select> </span> </li> <li> <input type="button" class="hollowFixedBtn" @click="resetPageIndex(),initTableInfo()" :value="$t('pub.searchBtn')" /> <input type="button" class="normalBtn" @click="clearInfo(),outerVisible=true,dialogTitle='新增背景音乐'" :value="$t('pub.addBtn')"/> </li> </ul> </div> <div class="line_MusicBox clearfix" v-loading="loading"> <div class="musicList" v-for="item in tableInfo" :key="item.subCode"> <div class="musictopInfo"> <div class="mask"> <div> <span class="leftList">{{item.LineName}}</span> <span class="rightList">{{item.playCount}}</span> </div> </div> </div> <div> <div class="musicName"> {{item.fileName}} </div> <div> <span class="leftList Time">{{item.UpdateDateStr}}</span> <span class="rightList delIcon"><i class="el-icon-delete" @click="isdelete(item.musicID)"></i></span> </div> </div> </div> </div> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total> </el-pagination> <el-dialog center custom-class='insideDialog' width="100" :title="$t('pub.hintMsg')" :visible.sync="innerVisible" append-to-body> {{this.insideDialogTxt}} <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" type="primary" @click="innerVisible=false">{{$t('pub.cancelBtn')}}</button> <button class="normalBtn" @click="delInfo()">{{$t('pub.sureBtn')}}</button> </div> </el-dialog> <el-dialog custom-class='w500' :title="dialogTitle" :visible.sync="outerVisible" center> <el-form :model="addMsg" ref="addMsg" label-width="120px"> <el-form-item :label="$t('advmanager.v_line')"> <el-select filterable clearable v-model='addMsg.lineID' :placeholder="$t('pub.unlimitedSel')"> <el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <el-option v-for='item in lineList' :label='item.LineName' :value='item.LineID' :key='item.LineID'> </el-option> </el-select> <div class="re-upload"> <el-upload class="upload-demo" :action="AllUrl" :show-file-list="false" name="importfile" :onError="uploadError" :onSuccess="uploadSuccess" :beforeUpload="beforeAvatarUpload" multiple> <el-button size="small" type="primary">{{$t('tips.dianjishanhcuan')}}</el-button> </el-upload> </div> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button> <button class="hollowFixedBtn" @click="outerVisible = false">{{$t('pub.cancelBtn')}}</button> </div> </el-dialog> </div> </template> <script> export default { data() { return { msg: { pageIndex: 1, pageSize: 10, lineID: "0" }, addMsg: { ID: "0", lineID: "0" }, total: 0, currentPage: 1, loading: true, lineList: "", tableInfo: "", outerVisible: false, innerVisible: false, dialogTitle: "", insideDialogTxt: "", deleteID: "", importFileUrl: "api/File/post?cmd=User_post_FileUpload&fileType=1&fileLimit=10", AllUrl: "" }; }, methods: { initTableInfo() { this.loading = true; this.apipost( "linemusic_get_GetPageList", this.msg, res => { this.loading = false; if (res.data.resultCode == 1) { this.tableInfo = res.data.data.pageData; this.total = res.data.data.count; } else { this.innerVisible = true; this.insideDialogTxt = res.data.message; } }, err => {} ); }, getlineList() { //获取线路下拉列表 let msg = {}; this.apipost( "line_post_GetAllList", msg, res => { if (res.data.resultCode == 1) { this.lineList = res.data.data; } else { this.innerVisible = true; this.insideDialogTxt = res.data.message; } }, err => {} ); }, handleCurrentChange(val) { this.msg.pageIndex = val; this.initTableInfo(); }, resetPageIndex() { this.msg.pageIndex = 1; this.currentPage = 1; }, resetCosts() { //新增背景音乐 this.apipost( "linemusic_post_Set", this.addMsg, res => { if (res.data.resultCode == 1) { this.innerVisible = true; this.outerVisible = false; this.insideDialogTxt = res.data.message; this.initTableInfo(); } else { this.innerVisible = true; this.insideDialogTxt = res.data.message; } }, err => {} ); }, updateInfo(ID) { //修改模板信息 let msg = { ID: ID }; this.apipost( "linemusic_get_Get", msg, res => { if (res.data.resultCode == 1) { this.addMsg = res.data.data; } else { this.innerVisible = true; this.insideDialogTxt = res.data.message; } }, err => {} ); }, clearInfo() { this.addMsg = { ID: "0", lineID: "0" }; }, isdelete(id) { this.insideDialogTxt = "是否删除?"; this.innerVisible = true; this.deleteID = id; }, delInfo() { let msg = { ID: this.deleteID }; this.apipost( "linemusic_post_Remove", msg, res => { if (res.data.resultCode == 1) { this.innerVisible = false; this.Success("删除成功!"); this.initTableInfo(); } else { this.Error(res.data.message); } }, err => {} ); }, submitForm(addMsg) { //提交创建、修改表单 let that = this; that.$refs[addMsg].validate(valid => { if (valid) { that.resetCosts(); } else { return false; } }); }, // 上传成功后的回调 uploadSuccess(res, file, fileList) {}, // 上传错误 uploadError(response, file, fileList) {}, // 上传前对文件的大小的判断 beforeAvatarUpload(file) { const extension = file.name.split(".")[1] === "mp3"; const isLt2M = file.size / 1024 / 1024 < 10; if (!extension) { this.Error("上传模板只能是 mp3!"); } if (!isLt2M) { this.Error("上传模板大小不能超过 10MB!"); } return extension && isLt2M; } }, mounted() { this.getlineList(); this.initTableInfo(); let _url = this.domainManager().DomainUrl; this.AllUrl = _url + this.importFileUrl; } }; </script>