<template> <div class="listPage H100"> <div class="search-container"> <el-form :inline="true" :model="form" onsubmit="return false;"> <el-form-item > <el-input placeholder="请输入版权方名称" v-model="form.nameOrCode" @keyup.enter.native="Search" clearable ></el-input> </el-form-item> <el-form-item > <el-date-picker value-format="yyyy-MM-dd" v-model="value1" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" ></el-date-picker> </el-form-item> <el-form-item> <div class="btn-group"> <el-button type="primary" @click="Search">查询</el-button> <el-button @click="Reset">重置</el-button> </div> </el-form-item> </el-form> <div class="page-tip"> <span class="page-tip-title">页面说明:</span> <span class="page-tips">可对视频版权方信息进行筛选、修改及删除。可新建版权方信息</span> </div> </div> <div class="table-content"> <div class="btn-group"> <el-button type="primary" @click="addPermis()">新建版权方</el-button> </div> <div class="party-table"> <el-table border style="width: 100%;height:100%" height="100%" ref="multipleTable" :data="tableData" @selection-change="handleSelectionChange" > <el-table-column type="index" width="120" label="序号"> <template slot-scope="scope"> <span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span> </template> </el-table-column> <el-table-column show-overflow-tooltip label="版权方名称" prop="name"></el-table-column> <el-table-column show-overflow-tooltip label="视频分类" prop="videoContentCatNames"></el-table-column> <el-table-column label="创建时间" prop="createTime"></el-table-column> <el-table-column label="版权方有效期" prop="expireDateEnd" width="200"> <template slot-scope="scope">{{scope.row.expireDateStart}} 至 {{scope.row.expireDateEnd}}</template> </el-table-column> <el-table-column show-overflow-tooltip label="备注" prop="remarks"></el-table-column> <el-table-column label="操作" header-align="center" align="center"> <template slot-scope="scope" width="220"> <div class="table-btn-group"> <el-tooltip content="修改" placement="top"> <el-button circle @click="openEdit(scope.row)"> <i class="icon-table icon-edit"></i> </el-button> </el-tooltip> <el-tooltip content="删除" placement="top"> <el-button circle @click="handleDelete(scope.row)"> <i class="icon-table icon-del"></i> </el-button> </el-tooltip> </div> </template> </el-table-column> </el-table> </div> <div class="partyt-pagination"> <el-pagination @current-change="handleCurrentChange" :current-page="page.currentPage" :page-size="page.pageSize" layout="prev, pager, next, jumper" :total="page.total" ></el-pagination> </div> </div> </div> </template> <script> export default { data() { var checkIsNull = (rule, value, callback) => { if (value) { if (value.trim() == "") { callback(new Error("不允许只输入空格")); } else { callback(); } } }; return { value1: "", page: { currentPage: 1, pageSize: 10, total: 0 }, tableData: [], FormVisible: false, FormVisible1: false, formLabelWidth: "100px", form: { nameOrCode: "", ownerType: "VIDEO_CONTENT" }, editform: { menuName: "", menuUrl: "", parentId: "", sort: "", id: "" }, permisform: { menuName: "", menuUrl: "", parentId: "", sort: "" }, typeList: [], rules: { sort: [ { required: true, message: "请输入顺序值", trigger: "change" }, { pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" } ], menuName: [ { required: true, message: "请输入菜单名称", trigger: "change" }, { max: 20, message: "不能超过20个字符", trigger: "change" }, { validator: checkIsNull, trigger: "blur" } ], menuUrl: [ { required: true, message: "请输入菜单地址", trigger: "change" }, { validator: checkIsNull, trigger: "blur" } ], parentId: [ { required: true, message: "请输入父级菜单", trigger: "change" } ] }, value: "", name: "" }; }, computed: {}, mounted() { this.onSearch(); // this.getPermis(); }, components: {}, methods: { // 渲染父级权限 getPermis() { let vm = this; vm.$https({ method: "get", url: "menu/getRoleMenu?roleId=" + sessionStorage.getItem("roleId"), authType: this.backToken }).then( res => { let data = res.data; vm.typeList = data.map((e, i) => { return { id: e.id, name: e.menuName.indexOf("-") == -1 ? e.menuName : e.menuName.split("-")[1] }; }); }, error => { console.log(error); } ); }, // 获得数据接口 getTableData(param) { let vm = this; vm.$https( { url: "copyrightOwner/getPageList", method: "post", authType: this.backToken }, vm.$qs.stringify(param) // param ) .then(res => { let data = res.data.data; vm.page.pageSize = data.size; vm.page.total = data.total; vm.tableData = data.records; }) .catch(function(err) { console.log(err); }); }, // 分页 handleCurrentChange(val) { let _this = this; _this.page.currentPage = val; _this.onSearch(); }, onSearch() { let _this = this; let param = _this.getSearchQuery(); _this.getTableData(param); }, // 重置 Reset() { // this.$refs["form"].resetFields(); this.form = { ownerType: "VIDEO_CONTENT" }; this.value1 = [] this.Search(); }, Search() { let _this = this; _this.page.currentPage = 1; let searchObj = { _index: 1, _size: _this.page.pageSize, nameOrCode: _this.form.nameOrCode, ownerType: "VIDEO_CONTENT", startDate: this.value1 ? this.value1[0] : "", endDate: this.value1 ? this.value1[1] : "" }; this.getTableData(searchObj); }, // // 获取当前查询参数 getSearchQuery() { let _this = this; let searchObj = { _index: _this.page.currentPage, _size: _this.page.pageSize }; for (let key in _this.form) { if (_this.form[key]) { searchObj[key] = _this.form[key]; } } return searchObj; }, // 添加 addPermis() { this.$router.push({ path: "videoCopyrightAdd", query: { type: "add" } }); // $('.el-dialog__title').html('新建'); // this.FormVisible1 = true; }, // 添加权限 permisSave() { let _this = this; _this.$refs.permisform.validate(valid => { if (valid) { _this .$https( { url: "menu/add", method: "post", authType: this.backToken }, _this.$qs.stringify(_this.permisform) ) .then( res => { if (res.data.status == 200 || res.data.status == 201) { _this.$message({ type: "success", message: res.data.message }); //跳回用户列表 _this.onSearch(); _this.FormVisible1 = false; for (let key in _this.permisform) { _this.permisform[key] = null; } _this.$refs["permisform"].resetFields(); } else { _this.$message({ type: "error", message: res.data.message }); } }, error => { _this.$message({ type: "error", message: error }); } ); } }); }, // 编辑关闭 close() { this.FormVisible = false; this.$refs["editform"].resetFields(); }, // 新增关闭 close1() { this.FormVisible1 = false; for (let key in this.permisform) { this.permisform[key] = null; } this.$refs["permisform"].resetFields(); }, // 编辑弹框 openEdit(row) { this.$router.push({ path: "videoCopyrightUpdate", query: { type: "Update", id: row.id } }); // alert('编辑') // $('.el-dialog__title').html('编辑'); // let _this=this; // //成功之后清除数据 // for (let key in this.editform) { // _this.editform[key]=null; // } // _this.editform= Object.assign({}, row); // _this.FormVisible = true; }, // 删除 handleDelete(row) { let _this = this; this.$confirm("此操作将永久删除, 是否继续?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }) .then(() => { _this .$https({ method: "delete", url: "copyrightOwner/delete/" + row.id, authType: this.backToken }) .then( res => { if(res.data.resultCode === "200"){ this.$message({ type: "success", message: "删除成功!" }); _this.Search(); }else{ this.$message({ type: "error", message: res.data.message }); } // this.$message({ type: "success", message: "删除成功!" }); // this.msgInfo = { // type: "wait", // des: `删除申请已提交,待审核…`, // }; }, error => { this.$message({ type: "fail", message: "删除失败!" + error.response.data }); } ); }) .catch(() => {}); }, // 保存编辑信息 submitForm() { let _this = this; _this.$refs.editform.validate(valid => { if (valid) { let searchObj = {}; for (let key in _this.editform) { if (this.editform[key]) { searchObj[key] = _this.editform[key]; } } let str = _this.editform.menuName; let index = str.lastIndexOf("-"); str = str.substring(index + 1, str.length); searchObj.menuName = str; _this .$https( { url: "menu/edit", method: "put", authType: this.backToken }, _this.$qs.stringify(searchObj) ) .then( res => { if (res.data.status == 200 || res.data.status == 201) { _this.$message({ type: "success", message: res.data.message }); _this.onSearch(); _this.FormVisible = false; _this.$refs["editform"].resetFields(); } else { _this.$message({ type: "error", message: res.data.message }); } }, error => { _this.$message({ type: "error", message: error }); } ); } }); }, // 批量操作 handleSelectionChange(selection) { let _this = this; _this.selection = selection; } } }; </script> <style lang="less"> // @import "../../../../style/common"; // @import "../../style/list"; @import "../../../../style/table.less"; @import "../../../../style/pagination.less"; </style>