Commit 0c7ef795 authored by Your Name's avatar Your Name

展板内容管理修改

parent 9d815ae5
<template> <template>
<div class="listPage H100"> <div class="listPage H100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form" ref="form" onsubmit="return false;"> <el-form :inline="true" :model="form" ref="form" onsubmit="return false;">
<el-form-item label> <el-form-item label>
<el-input <el-input
placeholder="请输入展板名称或提交人" placeholder="请输入展板名称或提交人"
v-model="form.name" v-model="form.name"
@keyup.enter.native="Search" @keyup.enter.native="Search"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="form.status" placeholder="请选择审核状态"> <el-select v-model="form.status" placeholder="请选择审核状态">
<el-option label="待初审" value="TBC"></el-option> <el-option label="待初审" value="TBC"></el-option>
<el-option label="已驳回" value="REFUSED"></el-option> <el-option label="已驳回" value="REFUSED"></el-option>
<el-option label="待复审" value="TBCA"></el-option> <el-option label="待复审" value="TBCA"></el-option>
<el-option label="通过" value="APPROVED_FINAL"></el-option> <el-option label="通过" value="APPROVED_FINAL"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button type="primary" @click="Search">查询</el-button> <el-button type="primary" @click="Search">查询</el-button>
<el-button @click="Reset">重置</el-button> <el-button @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看展板待审核的所有内容,可根据审核类别进行筛选</span> <span class="page-tips">可查看展板待审核的所有内容,可根据审核类别进行筛选</span>
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="party-table noAdd"> <div class="party-table noAdd">
<el-table <el-table
border border
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
height="100%" height="100%"
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="index" width="120" label="序号"> <el-table-column type="index" width="120" label="序号">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span> <span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="展板名称" prop="content"></el-table-column> <el-table-column label="展板名称" prop="content"></el-table-column>
<el-table-column label="提交人" prop="userName"></el-table-column> <el-table-column label="提交人" prop="userName"></el-table-column>
<el-table-column label="提交日期" prop="createTime"></el-table-column> <el-table-column label="提交日期" prop="createTime"></el-table-column>
<el-table-column label="审核项" prop="operation"> <el-table-column label="审核项" prop="operation">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="input-item">{{keyMap[scope.row.operation]}}</span> <span class="input-item">{{keyMap[scope.row.operation]}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核状态" prop="status"> <el-table-column label="审核状态" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status === 'TBC'">待初审</span> <span v-if="scope.row.status === 'TBC'">待初审</span>
<span v-else-if="scope.row.status === 'REFUSED'">已驳回</span> <span v-else-if="scope.row.status === 'REFUSED'">已驳回</span>
<span v-else-if="scope.row.status === 'TBCA'">待复审</span> <span v-else-if="scope.row.status === 'TBCA'">待复审</span>
<span v-else-if="scope.row.status === 'APPROVED_FINAL'">通过</span> <span v-else-if="scope.row.status === 'APPROVED_FINAL'">通过</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" width="220">
<div class="table-btn-group"> <div class="table-btn-group">
<el-tooltip content="详情" placement="top"> <el-tooltip content="详情" placement="top">
<el-button <el-button
:disabled=" :disabled="
scope.row.operation === 'REMOVE' && scope.row.operation === 'REMOVE' &&
scope.row.status === 'APPROVED_FINAL' scope.row.status === 'APPROVED_FINAL'
" "
circle circle
@click="openDetails(scope.row)" @click="openDetails(scope.row)"
> >
<i class="icon-table icon-detail"></i> <i class="icon-table icon-detail"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核" width="220" header-align="center" align="center"> <el-table-column label="审核" width="220" header-align="center" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 管理员、初审员、复审员 --> <!-- 管理员、初审员、复审员 -->
<div v-if="((scope.row.one)&&(scope.row.two))" class="table-btn-group"> <div v-if="((scope.row.one)&&(scope.row.two))" class="table-btn-group">
<el-button round class="passed" :disabled="scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button> <el-button round class="passed" :disabled="scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button>
<el-button round class="rejected" :disabled="scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button> <el-button round class="rejected" :disabled="scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button>
</div> </div>
<div v-else-if="((scope.row.one === true)&&(scope.row.two === false))" class="table-btn-group"> <div v-else-if="((scope.row.one === true)&&(scope.row.two === false))" class="table-btn-group">
<el-button round class="passed" :disabled="scope.row.status === 'TBCA'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button> <el-button round class="passed" :disabled="scope.row.status === 'TBCA'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button>
<el-button round class="rejected" :disabled="scope.row.status === 'TBCA'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button> <el-button round class="rejected" :disabled="scope.row.status === 'TBCA'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button>
</div> </div>
<div v-else-if="((scope.row.one === false)&&(scope.row.two === true))" class="table-btn-group"> <div v-else-if="((scope.row.one === false)&&(scope.row.two === true))" class="table-btn-group">
<el-button round class="passed" :disabled="scope.row.status === 'TBC'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button> <el-button round class="passed" :disabled="scope.row.status === 'TBC'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="adopt(scope.row)">通过</el-button>
<el-button round class="rejected" :disabled="scope.row.status === 'TBC'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button> <el-button round class="rejected" :disabled="scope.row.status === 'TBC'||scope.row.status === 'REFUSED' ||scope.row.status === 'APPROVED_FINAL'" @click="reject(scope.row)">驳回</el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <div class="partyt-pagination">
<el-pagination <el-pagination
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="page.currentPage" :current-page="page.currentPage"
:page-size="page.pageSize" :page-size="page.pageSize"
layout="prev, pager, next, jumper" layout="prev, pager, next, jumper"
:total="page.total" :total="page.total"
></el-pagination> ></el-pagination>
</div> </div>
</div> </div>
<!--新增弹框--> <!--新增弹框-->
<el-dialog <el-dialog
title="新建" title="新建"
custom-class="party-dialog" custom-class="party-dialog"
width="468px" width="468px"
:visible.sync="FormVisible1" :visible.sync="FormVisible1"
:before-close="close1" :before-close="close1"
> >
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="classForm" :model="classForm"
ref="classForm" ref="classForm"
label-width="80px" label-width="80px"
label-position="top" label-position="top"
:rules="rules" :rules="rules"
id="ruleo" id="ruleo"
class="party-form" class="party-form"
> >
<el-form-item label="驳回原因:"> <el-form-item label="驳回原因:">
<el-input type="textarea" v-model="classForm.remarks"></el-input> <el-input type="textarea" v-model="classForm.remarks"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="permisSave">确定</el-button> <el-button size="mini" type="primary" @click="permisSave">确定</el-button>
<!-- <el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button> --> <!-- <el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button> -->
<el-button size="mini" @click="close1">取 消</el-button> <el-button size="mini" @click="close1">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--请填写驳回原因--> <!--请填写驳回原因-->
<el-dialog <el-dialog
custom-class="party-dialog" custom-class="party-dialog"
title="展板详情" title="展板详情"
width="468px" width="468px"
:visible.sync="FormVisible" :visible.sync="FormVisible"
:before-close="close" :before-close="close"
> >
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="editForm" :model="editForm"
disabled disabled
class="party-form demo-form-inline" class="party-form demo-form-inline"
ref="editForm" ref="editForm"
label-width="80px" label-width="80px"
label-position="top" label-position="top"
:rules="rules" :rules="rules"
> >
<el-form-item label="展板名称" :label-width="formLabelWidth"> <el-form-item label="展板名称" :label-width="formLabelWidth">
<el-input size="small" v-model="editForm.name" auto-complete="off"></el-input> <el-input size="small" v-model="editForm.name" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方" :label-width="formLabelWidth"> <el-form-item label="版权方" :label-width="formLabelWidth">
<el-input <el-input
size="small" size="small"
v-model="editForm.boardCopyrightOwnerName" v-model="editForm.boardCopyrightOwnerName"
auto-complete="off" auto-complete="off"
clearable clearable
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')" onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="宣传图" :label-width="formLabelWidth"> <el-form-item label="宣传图" :label-width="formLabelWidth">
<img class="imgSize" :src="editForm.cover" alt /> <img class="imgSize" :src="editForm.cover" alt />
</el-form-item> </el-form-item>
<el-form-item label="二维码" :label-width="formLabelWidth"> <el-form-item label="二维码" :label-width="formLabelWidth">
<img class="imgSize" :src="editForm.qrcodeUrl" alt /> <img class="imgSize" :src="editForm.qrcodeUrl" alt />
</el-form-item> </el-form-item>
<el-form-item label="简介" :label-width="formLabelWidth"> <el-form-item label="简介" :label-width="formLabelWidth">
<el-input type="textarea" v-model="editForm.remarks"></el-input> <el-input type="textarea" v-model="editForm.remarks"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="展板视频" :label-width="formLabelWidth"> <el-form-item label="展板视频" :label-width="formLabelWidth">
<div class="video-box" @contextmenu.prevent> <div class="video-box" @contextmenu.prevent>
<div class="video-item" v-for="(item, index) in editForm.videoList" :key="index"> <div class="video-item" v-for="(item, index) in editForm.videoList" :key="index">
<video :poster="item.thumbnail" :src="item.fileUrl" controls controlsList='nodownload noremote footbar' /> <video :poster="item.thumbnail" :src="item.fileUrl" controls controlsList='nodownload noremote footbar' />
<span>{{ item.fileName }}</span> <span>{{ item.fileName }}</span>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="展板音频" :label-width="formLabelWidth"> <el-form-item label="展板音频" :label-width="formLabelWidth">
<div class="audio-box"> <div class="audio-box">
<div class="audio-item" v-for="(item, index) in editForm.audioList" :key="index"> <div class="audio-item" v-for="(item, index) in editForm.audioList" :key="index">
<audio :src="item.fileUrl" controls /> <audio :src="item.fileUrl" controls controlsList='nodownload' oncontextmenu="return false"/>
<span>{{ item.fileName }}</span> <span>{{ item.fileName }}</span>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close">关闭</el-button> <el-button size="mini" type="primary" @click="close">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
let Base64 = require('js-base64').Base64 let Base64 = require('js-base64').Base64
export default { export default {
data() { data() {
var checkIsNull = (rule, value, callback) => { var checkIsNull = (rule, value, callback) => {
if (value) { if (value) {
if (value.trim() == "") { if (value.trim() == "") {
callback(new Error("不允许只输入空格")); callback(new Error("不允许只输入空格"));
} else { } else {
callback(); callback();
} }
} }
}; };
const keyMap = { const keyMap = {
ADD: "新增", ADD: "新增",
EDIT: "修改", EDIT: "修改",
REMOVE: "删除", REMOVE: "删除",
DISABLE: "禁用", DISABLE: "禁用",
ENABLE: "启用", ENABLE: "启用",
UPPER: "上架", UPPER: "上架",
LOWER: "下架" LOWER: "下架"
}; };
return { return {
keyMap: keyMap, keyMap: keyMap,
type: true, type: true,
value1: "", value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 }, page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [], tableData: [],
FormVisible: false, FormVisible: false,
FormVisible1: false, FormVisible1: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
name: "", name: "",
type: "EXHIBITION_BOARD" type: "EXHIBITION_BOARD"
}, },
editForm: { editForm: {
name: "", name: "",
cover: "", cover: "",
sort: "" sort: ""
}, },
classForm: { classForm: {
status: "", status: "",
remarks: "", remarks: "",
id: "" id: ""
}, },
typeList: [], typeList: [],
rules: { rules: {
sort: [ sort: [
{ required: true, message: "请输入顺序值", trigger: "change" }, { required: true, message: "请输入顺序值", trigger: "change" },
{ pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" } { pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" }
], ],
menuName: [ menuName: [
{ required: true, message: "请输入菜单名称", trigger: "change" }, { required: true, message: "请输入菜单名称", trigger: "change" },
{ max: 20, message: "不能超过20个字符", trigger: "change" }, { max: 20, message: "不能超过20个字符", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" } { validator: checkIsNull, trigger: "blur" }
], ],
menuUrl: [ menuUrl: [
{ required: true, message: "请输入菜单地址", trigger: "change" }, { required: true, message: "请输入菜单地址", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" } { validator: checkIsNull, trigger: "blur" }
], ],
parentId: [ parentId: [
{ required: true, message: "请输入父级菜单", trigger: "change" } { required: true, message: "请输入父级菜单", trigger: "change" }
] ]
}, },
value: "", value: "",
name: "" name: ""
}; };
}, },
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
// this.getPermis(); // this.getPermis();
}, },
components: {}, components: {},
methods: { methods: {
// 渲染父级权限 // 渲染父级权限
getPermis() { getPermis() {
let vm = this; let vm = this;
vm.$https({ vm.$https({
method: "get", method: "get",
url: "menu/getRoleMenu?roleId=" + sessionStorage.getItem("roleId"), url: "menu/getRoleMenu?roleId=" + sessionStorage.getItem("roleId"),
authType: this.backToken authType: this.backToken
}).then( }).then(
res => { res => {
let data = res.data; let data = res.data;
vm.typeList = data.map((e, i) => { vm.typeList = data.map((e, i) => {
return { return {
id: e.id, id: e.id,
name: name:
e.menuName.indexOf("-") == -1 e.menuName.indexOf("-") == -1
? e.menuName ? e.menuName
: e.menuName.split("-")[1] : e.menuName.split("-")[1]
}; };
}); });
}, },
error => { error => {
console.log(error); console.log(error);
} }
); );
}, },
// 获得数据接口 // 获得数据接口
getTableData(param) { getTableData(param) {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: "audit/getPageAllList", url: "audit/getPageAllList",
method: "get", method: "get",
authType: this.backToken authType: this.backToken
}, },
// vm.$qs.stringify(param) // vm.$qs.stringify(param)
param param
) )
.then(res => { .then(res => {
let data = res.data.data; let data = res.data.data;
vm.page.pageSize = data.size; vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
}) })
.catch(function(err) { .catch(function(err) {
console.log(err); console.log(err);
}); });
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
let _this = this; let _this = this;
_this.page.currentPage = val; _this.page.currentPage = val;
_this.onSearch(); _this.onSearch();
}, },
onSearch() { onSearch() {
let _this = this; let _this = this;
let param = _this.getSearchQuery(); let param = _this.getSearchQuery();
_this.getTableData(param); _this.getTableData(param);
}, },
Search() { Search() {
let _this = this; let _this = this;
_this.page.currentPage = 1; _this.page.currentPage = 1;
let searchObj = { let searchObj = {
_index: 1, _index: 1,
_size: _this.page.pageSize, _size: _this.page.pageSize,
name: _this.form.name, name: _this.form.name,
status: _this.form.status, status: _this.form.status,
type: "EXHIBITION_BOARD" type: "EXHIBITION_BOARD"
}; };
this.getTableData(searchObj); this.getTableData(searchObj);
}, },
// 重置 // 重置
Reset() { Reset() {
// this.$refs["form"].resetFields(); // this.$refs["form"].resetFields();
this.form = { type: "EXHIBITION_BOARD" }; this.form = { type: "EXHIBITION_BOARD" };
this.Search(); this.Search();
}, },
// // 获取当前查询参数 // // 获取当前查询参数
getSearchQuery() { getSearchQuery() {
let _this = this; let _this = this;
let searchObj = { let searchObj = {
_index: _this.page.currentPage, _index: _this.page.currentPage,
_size: _this.page.pageSize _size: _this.page.pageSize
}; };
for (let key in _this.form) { for (let key in _this.form) {
if (_this.form[key]) { if (_this.form[key]) {
searchObj[key] = _this.form[key]; searchObj[key] = _this.form[key];
} }
} }
return searchObj; return searchObj;
}, },
// 添加 // 添加
addPermis() { addPermis() {
// this.$router.push({ path: "videoContentAdd", query: { type: "add" } }); // this.$router.push({ path: "videoContentAdd", query: { type: "add" } });
$(".el-dialog__title").html("新建"); $(".el-dialog__title").html("新建");
this.FormVisible1 = true; this.FormVisible1 = true;
this.type = true; this.type = true;
}, },
// 请填写驳回原因视频分类确认保存 // 请填写驳回原因视频分类确认保存
permisEdit() { permisEdit() {
let _this = this; let _this = this;
_this.$refs.classForm.validate(valid => { _this.$refs.classForm.validate(valid => {
if (valid) { if (valid) {
_this _this
.$https( .$https(
{ {
url: "videoContentCat/update", url: "videoContentCat/update",
method: "put", method: "put",
authType: this.backToken authType: this.backToken
}, },
_this.$qs.stringify(_this.classForm) _this.$qs.stringify(_this.classForm)
// _this.classForm // _this.classForm
) )
.then( .then(
res => { res => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode == 200 || res.data.resultCode == 201) {
_this.$message({ _this.$message({
type: "success", type: "success",
message: "新建成功!" message: "新建成功!"
}); });
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.FormVisible1 = false;
for (let key in _this.classForm) { for (let key in _this.classForm) {
_this.classForm[key] = null; _this.classForm[key] = null;
} }
_this.$refs["classForm"].resetFields(); _this.$refs["classForm"].resetFields();
} else { } else {
_this.$message({ _this.$message({
type: "error", type: "error",
message: res.data.msg message: res.data.msg
}); });
} }
}, },
error => { error => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error
}); });
} }
); );
} }
}); });
}, },
// 请填写驳回原因关闭 // 请填写驳回原因关闭
close() { close() {
this.editForm = {}; this.editForm = {};
this.FormVisible = false; this.FormVisible = false;
// for (let key in this.classForm) { // for (let key in this.classForm) {
// this.classForm[key] = null; // this.classForm[key] = null;
// } // }
// this.$refs["classForm"].resetFields(); // this.$refs["classForm"].resetFields();
// this.FormVisible = false; // this.FormVisible = false;
// this.$refs["editForm"].resetFields(); // this.$refs["editForm"].resetFields();
}, },
// 新增关闭 // 新增关闭
close1() { close1() {
this.FormVisible1 = false; this.FormVisible1 = false;
for (let key in this.classForm) { for (let key in this.classForm) {
this.classForm[key] = null; this.classForm[key] = null;
} }
this.$refs["classForm"].resetFields(); this.$refs["classForm"].resetFields();
}, },
// 通过 // 通过
adopt(row) { adopt(row) {
this.classForm.id = row.id; this.classForm.id = row.id;
this.classForm.status = "APPROVED_FINAL"; this.classForm.status = "APPROVED_FINAL";
this.classForm.remarks = ""; this.classForm.remarks = "";
this.permisSave("classForm"); this.permisSave("classForm");
}, },
// 请填写驳回原因弹框 // 请填写驳回原因弹框
reject(row) { reject(row) {
this.type = false; this.type = false;
$(".el-dialog__title").html("请填写驳回原因"); $(".el-dialog__title").html("请填写驳回原因");
let _this = this; let _this = this;
_this.classForm.id = row.id; _this.classForm.id = row.id;
_this.classForm.status = "REFUSED"; _this.classForm.status = "REFUSED";
_this.FormVisible1 = true; _this.FormVisible1 = true;
}, },
// 驳回原因保存 // 驳回原因保存
permisSave() { permisSave() {
let _this = this; let _this = this;
_this _this
.$https( .$https(
{ {
url: "audit/updateAuditAllById", url: "audit/updateAuditAllById",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
method: "put", method: "put",
authType: this.backToken authType: this.backToken
}, },
// _this.$qs.stringify(_this.classForm) // _this.$qs.stringify(_this.classForm)
_this.classForm _this.classForm
) )
.then( .then(
res => { res => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode == 200 || res.data.resultCode == 201) {
_this.$message({ _this.$message({
type: "success", type: "success",
message: "操作成功!" message: "操作成功!"
}); });
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.FormVisible1 = false;
for (let key in _this.classForm) { for (let key in _this.classForm) {
_this.classForm[key] = null; _this.classForm[key] = null;
} }
_this.$refs["classForm"].resetFields(); _this.$refs["classForm"].resetFields();
} else { } else {
_this.$message({ _this.$message({
type: "error", type: "error",
message: res.data.msg message: res.data.msg
}); });
} }
}, },
error => { error => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error
}); });
} }
); );
// _this.$refs.classForm.validate(valid => { // _this.$refs.classForm.validate(valid => {
// if (valid) { // if (valid) {
// } // }
// }); // });
}, },
// 获取视频分类详情 // 获取视频分类详情
getAssetTypeInfo(id) { getAssetTypeInfo(id) {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: "videoContentCat/get/" + id, url: "videoContentCat/get/" + id,
method: "get", method: "get",
authType: this.backToken authType: this.backToken
} }
// param // param
) )
.then(res => { .then(res => {
let data = res.data.data; let data = res.data.data;
this.classForm = data; this.classForm = data;
}) })
.catch(function(err) { .catch(function(err) {
console.log(err); console.log(err);
}); });
}, },
openDetails(row) { openDetails(row) {
let _this = this; let _this = this;
_this.FormVisible = true; _this.FormVisible = true;
if(row.operation === 'EDIT'){ if(row.operation === 'EDIT'){
// 参照后台更改文档审核记录的"operation"为"EDIT"时,调用的详情接口 // 参照后台更改文档审核记录的"operation"为"EDIT"时,调用的详情接口
this.getInfo(row.id,"exhibitionBoard/getAudit/") this.getInfo(row.id,"exhibitionBoard/getAudit/")
}else{ }else{
this.getInfo(row.refItemId,"exhibitionBoard/get/"); this.getInfo(row.refItemId,"exhibitionBoard/get/");
} }
$(".el-dialog__title").html(row.name + "展板详情"); $(".el-dialog__title").html(row.name + "展板详情");
}, },
// 获取版权方详情 // 获取版权方详情
getInfo(id,url) { getInfo(id,url) {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: url + id, url: url + id,
method: "get", method: "get",
authType: this.backToken authType: this.backToken
} }
// param // param
) )
.then(res => { .then(res => {
let resData = res.data.data; let resData = res.data.data;
const videos = res.data.data.videoList const videos = res.data.data.videoList
for(var i=0;i<videos.length;i++){ for(var i=0;i<videos.length;i++){
videos[i].fileUrl = Base64.decode(videos[i].intro) videos[i].fileUrl = Base64.decode(videos[i].intro)
} }
this.editForm = resData; this.editForm = resData;
this.editForm.videoList = videos this.editForm.videoList = videos
}) })
.catch(function(err) { .catch(function(err) {
console.log(err); console.log(err);
}); });
}, },
// 删除 // 删除
handleDelete(row) { handleDelete(row) {
let _this = this; let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", { this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
_this _this
.$https({ .$https({
method: "delete", method: "delete",
url: "videoContentCat/delete/" + row.id, url: "videoContentCat/delete/" + row.id,
authType: this.backToken authType: this.backToken
}) })
.then( .then(
res => { res => {
this.$message({ type: "success", message: "删除成功!" }); this.$message({ type: "success", message: "删除成功!" });
_this.Search(); _this.Search();
}, },
error => { error => {
this.$message({ this.$message({
type: "fail", type: "fail",
message: "删除失败!" + error.response.data message: "删除失败!" + error.response.data
}); });
} }
); );
}) })
.catch(() => {}); .catch(() => {});
}, },
// // 保存请填写驳回原因信息 // // 保存请填写驳回原因信息
// submitForm() { // submitForm() {
// let _this = this; // let _this = this;
// _this.$refs.editForm.validate(valid => { // _this.$refs.editForm.validate(valid => {
// if (valid) { // if (valid) {
// let searchObj = {}; // let searchObj = {};
// for (let key in _this.editForm) { // for (let key in _this.editForm) {
// if (this.editForm[key]) { // if (this.editForm[key]) {
// searchObj[key] = _this.editForm[key]; // searchObj[key] = _this.editForm[key];
// } // }
// } // }
// let str = _this.editForm.menuName; // let str = _this.editForm.menuName;
// let index = str.lastIndexOf("-"); // let index = str.lastIndexOf("-");
// str = str.substring(index + 1, str.length); // str = str.substring(index + 1, str.length);
// searchObj.menuName = str; // searchObj.menuName = str;
// _this // _this
// .$https( // .$https(
// { // {
// url: "menu/edit", // url: "menu/edit",
// method: "put", // method: "put",
// authType: this.backToken // authType: this.backToken
// }, // },
// _this.$qs.stringify(searchObj) // _this.$qs.stringify(searchObj)
// ) // )
// .then( // .then(
// res => { // res => {
// if (res.data.status == 200 || res.data.status == 201) { // if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({ // _this.$message({
// type: "success", // type: "success",
// message: res.data.message // message: res.data.message
// }); // });
// _this.onSearch(); // _this.onSearch();
// _this.FormVisible = false; // _this.FormVisible = false;
// _this.$refs["editForm"].resetFields(); // _this.$refs["editForm"].resetFields();
// } else { // } else {
// _this.$message({ // _this.$message({
// type: "error", // type: "error",
// message: res.data.message // message: res.data.message
// }); // });
// } // }
// }, // },
// error => { // error => {
// _this.$message({ // _this.$message({
// type: "error", // type: "error",
// message: error // message: error
// }); // });
// } // }
// ); // );
// } // }
// }); // });
// }, // },
// 批量操作 // 批量操作
handleSelectionChange(selection) { handleSelectionChange(selection) {
let _this = this; let _this = this;
_this.selection = selection; _this.selection = selection;
}, },
getMultipleSelect() { getMultipleSelect() {
let _this = this; let _this = this;
let arr = []; let arr = [];
let str = ""; let str = "";
if (_this.selection) { if (_this.selection) {
_this.selection.forEach(function(e) { _this.selection.forEach(function(e) {
arr.push(e.id); arr.push(e.id);
}); });
str = arr.join(","); str = arr.join(",");
} else { } else {
str = ""; str = "";
} }
return str; return str;
}, },
// 批量删除 // 批量删除
multipleDelete() { multipleDelete() {
let _this = this; let _this = this;
let str = _this.getMultipleSelect(); let str = _this.getMultipleSelect();
if (str) { if (str) {
this.$confirm("此操作将删除选中菜单, 是否继续?", "提示", { this.$confirm("此操作将删除选中菜单, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}).then(() => { }).then(() => {
_this _this
.$https({ .$https({
url: "menu/batchDel?menuIds=" + str, url: "menu/batchDel?menuIds=" + str,
method: "DELETE", method: "DELETE",
authType: this.backToken authType: this.backToken
}) })
.then( .then(
res => { res => {
if (res.data.status == 201 || res.data.status == 200) { if (res.data.status == 201 || res.data.status == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "删除成功!" message: "删除成功!"
}); });
} }
//重新查询数据 //重新查询数据
_this.onSearch(); _this.onSearch();
}, },
error => {} error => {}
); );
}); });
} else { } else {
this.$message({ this.$message({
type: "info", type: "info",
message: "请至少选择一个选项!" message: "请至少选择一个选项!"
}); });
} }
} }
} }
}; };
</script> </script>
<style lang="less"> <style lang="less">
.imgSize { .imgSize {
width: 160px; width: 160px;
height: 100px; height: 100px;
} }
.iconImg { .iconImg {
height: 32px; height: 32px;
width: 32px; width: 32px;
margin-right: 8px; margin-right: 8px;
} }
// @import "../../../../style/common"; // @import "../../../../style/common";
// @import "../../style/list"; // @import "../../style/list";
@import "../../../style/dialog.less"; @import "../../../style/dialog.less";
@import "../../../style/table.less"; @import "../../../style/table.less";
@import "../../../style/pagination.less"; @import "../../../style/pagination.less";
.video-box { .video-box {
width: 100%; width: 100%;
.video-item { .video-item {
width: 100%; width: 100%;
} }
video { video {
width: 100%; width: 100%;
height: 200px; height: 200px;
} }
} }
audio:focus { audio:focus {
outline: none; outline: none;
} }
</style> </style>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="展板名称" prop="name" class="w100"> <el-form-item label="展板名称" prop="name" class="w100">
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input> <el-input oninput="value = value.trim()" v-model="ruleForm.name" maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="展板版权方" class="w50" prop="boardCopyrightOwnerId"> <el-form-item label="展板版权方" class="w50" prop="boardCopyrightOwnerId">
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<upload-qrcode :fileList="ruleForm.qrcodeList" @qrcodeUrl="qrcodeUrl" ></upload-qrcode> <upload-qrcode :fileList="ruleForm.qrcodeList" @qrcodeUrl="qrcodeUrl" ></upload-qrcode>
</el-form-item> </el-form-item>
<el-form-item label="展板简介" style="width:100%" prop="remarks"> <el-form-item label="展板简介" style="width:100%" prop="remarks">
<el-input type="textarea" v-model="ruleForm.remarks"></el-input> <el-input type="textarea" v-model="ruleForm.remarks" maxlength="2000"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
...@@ -200,7 +200,7 @@ export default { ...@@ -200,7 +200,7 @@ export default {
rules: { rules: {
name: [ name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" }, { required: true, message: "请输入版权方名称", trigger: "blur" },
{ min: 1, max: 20, message: "请输入1到20个字" }, { min: 1, max: 30, message: "请输入1到30个字" },
], ],
boardCopyrightOwnerId: [ boardCopyrightOwnerId: [
{ required: true, message: "请选择展板版权方", trigger: "change" } { required: true, message: "请选择展板版权方", trigger: "change" }
...@@ -208,15 +208,15 @@ export default { ...@@ -208,15 +208,15 @@ export default {
exhibitionBoardCatId: [ exhibitionBoardCatId: [
{ required: true, message: "请选择展板分类", trigger: "change" } { required: true, message: "请选择展板分类", trigger: "change" }
], ],
videoContentCopyrightOwnerId: [ // videoContentCopyrightOwnerId: [
{ required: true, message: "请选择视频版权方", trigger: "change" } // { required: true, message: "请选择视频版权方", trigger: "change" }
], // ],
videoContentCatId: [ // videoContentCatId: [
{ required: true, message: "请选择视频分类", trigger: "change" } // { required: true, message: "请选择视频分类", trigger: "change" }
], // ],
videoContentId: [ // videoContentId: [
{ required: true, message: "请选择视频", trigger: "change" } // { required: true, message: "请选择视频", trigger: "change" }
], // ],
audioIdList:[ audioIdList:[
{ required: true, message: "请上传音频", trigger: "blur" } { required: true, message: "请上传音频", trigger: "blur" }
], ],
...@@ -313,6 +313,11 @@ export default { ...@@ -313,6 +313,11 @@ export default {
submitForm(formName) { submitForm(formName) {
// console.log(this.ruleForm) // console.log(this.ruleForm)
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (this.ruleForm.videoContentCopyrightOwnerId !== '' && this.ruleForm.videoContentCatId === '') {
this.$message({type: "error", message: '请选择视频分类!' })
}else if(this.ruleForm.videoContentCopyrightOwnerId !== '' && this.ruleForm.videoContentCatId !== '' && this.ruleForm.videoContentId ==='') {
this.$message({type: "error", message: '请选择视频!' })
}else{
if (valid) { if (valid) {
this.$https( this.$https(
{ {
...@@ -322,6 +327,7 @@ export default { ...@@ -322,6 +327,7 @@ export default {
}, },
this.$qs.stringify(this.ruleForm) this.$qs.stringify(this.ruleForm)
).then(res => { ).then(res => {
if(res.data.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "新增展板申请已提交,待审核!" }); this.$message({ type: "success", message: "新增展板申请已提交,待审核!" });
history.go(-1); history.go(-1);
...@@ -331,7 +337,7 @@ export default { ...@@ -331,7 +337,7 @@ export default {
}).catch(function(err) { }).catch(function(err) {
console.log(err); console.log(err);
}); });
} }}
}); });
}, },
// 修改 // 修改
......
<template> <template>
<div class="info info-board"> <div class="info info-board">
<div class="info-header">展板内容详情</div> <div class="info-header">展板内容详情</div>
<div class="page-tip"> <div class="page-tip">
<span class="tip-title">页面说明:</span> <span class="tip-title">页面说明:</span>
<span <span
>可查看某块展板包含的所有文字及文件信息,视频及文档材料可下载到本地观看。</span >可查看某块展板包含的所有文字及文件信息,视频及文档材料可下载到本地观看。</span
> >
</div> </div>
<div class="info-container"> <div class="info-container">
<div class="info-wrapper"> <div class="info-wrapper">
<el-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<el-collapse-item title="审核意见" name="1"> <el-collapse-item title="审核意见" name="1">
<el-form <el-form
class="demo-form-inline" class="demo-form-inline"
:inline="true" :inline="true"
:model="reviewData" :model="reviewData"
label-position="top" label-position="top"
> >
<el-form-item label="审核层级" class="w100"> <el-form-item label="审核层级" class="w100">
<span class="w50 l-float"> <span class="w50 l-float">
<strong>初审:</strong>{{ reviewData.firstTime }} <strong>初审:</strong>{{ reviewData.firstTime }}
</span> </span>
<span class="w50"> <span class="w50">
<strong>复审:</strong>{{ reviewData.secondTime }} <strong>复审:</strong>{{ reviewData.secondTime }}
</span> </span>
</el-form-item> </el-form-item>
<el-form-item label="审核结果" class="w50">{{ <el-form-item label="审核结果" class="w50">{{
keyMap[reviewData.status] keyMap[reviewData.status]
}}</el-form-item> }}</el-form-item>
<el-form-item <el-form-item
label="驳回原因" label="驳回原因"
v-if="reviewData.status === 'REFUSED'" v-if="reviewData.status === 'REFUSED'"
>{{ >{{
reviewData.firstRemarks || reviewData.secondRemarks reviewData.firstRemarks || reviewData.secondRemarks
}}</el-form-item }}</el-form-item
> >
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
<el-collapse-item title="展板基本信息" name="2"> <el-collapse-item title="展板基本信息" name="2">
<el-form <el-form
class="demo-form-inline" class="demo-form-inline"
:inline="true" :inline="true"
:model="contentData" :model="contentData"
label-position="top" label-position="top"
> >
<el-form-item label="版权方" class="w50">{{ <el-form-item label="版权方" class="w50">{{
contentData.boardCopyrightOwnerName contentData.boardCopyrightOwnerName
}}</el-form-item> }}</el-form-item>
<el-form-item label="创建时间">{{ <el-form-item label="创建时间">{{
contentData.createTime contentData.createTime
}}</el-form-item> }}</el-form-item>
<el-form-item label="展板分类" class="w50">{{ <el-form-item label="展板分类" class="w50">{{
contentData.createTime contentData.createTime
}}</el-form-item> }}</el-form-item>
<el-form-item label="上架情况">{{ <el-form-item label="上架情况">{{
contentData.published ? "已上架" : "未上架" contentData.published ? "已上架" : "未上架"
}}</el-form-item> }}</el-form-item>
<el-form-item label="审核情况" class="w50">{{ <el-form-item label="审核情况" class="w50">{{
keyMap[contentData.auditStatus] keyMap[contentData.auditStatus]
}}</el-form-item> }}</el-form-item>
<el-form-item label="展板图片" class="w50"> <el-form-item label="展板图片" class="w50">
<img class="imgSize" :src="contentData.cover" /> <img class="imgSize" :src="contentData.cover" />
</el-form-item> </el-form-item>
<el-form-item label="展板二维码" class=""> <el-form-item label="展板二维码" class="">
<img class="imgSize" :src="contentData.qrcodeUrl" /> <img class="imgSize" :src="contentData.qrcodeUrl" />
</el-form-item> </el-form-item>
<el-form-item label="展板简介" class="w100">{{ <el-form-item label="展板简介" class="w100">{{
contentData.remarks contentData.remarks
}}</el-form-item> }}</el-form-item>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
<el-collapse-item title="展板影音信息" name="3"> <el-collapse-item title="展板影音信息" name="3">
<el-form <el-form
class="demo-form-inline" class="demo-form-inline"
:inline="true" :inline="true"
:model="contentData" :model="contentData"
label-position="top" label-position="top"
> >
<el-form-item label="展板视频" class="w100"> <el-form-item label="展板视频" class="w100">
<div v-if="contentData.videoList.length" @contextmenu.prevent> <div v-if="contentData.videoList.length" @contextmenu.prevent>
<span <span
class="file-box" class="file-box"
v-for="(s, i) in contentData.videoList" v-for="(s, i) in contentData.videoList"
:key="i" :key="i"
> >
<video <video
controls controls
width="100%" width="100%"
height="100%" height="100%"
poster="images/applets/video.png" poster="images/applets/video.png"
controlsList='nodownload noremote footbar' controlsList='nodownload noremote footbar'
> >
<source :src="s.fileUrl" /> <source :src="s.fileUrl" />
</video> </video>
<span>{{ s.fileName }}</span> <span>{{ s.fileName }}</span>
</span> </span>
</div> </div>
<div v-else>暂无数据</div> <div v-else>暂无数据</div>
</el-form-item> </el-form-item>
<el-form-item label="展板音频"> <el-form-item label="展板音频">
<div v-if="contentData.audioList.length"> <div v-if="contentData.audioList.length">
<span <span
class="" class=""
v-for="(s, i) in contentData.audioList" v-for="(s, i) in contentData.audioList"
:key="i" :key="i"
> >
<audio <audio
style="float:left;" style="float:left;"
controls controls
width="100%" width="100%"
height="100%" height="100%"
poster="images/applets/audio.png" poster="images/applets/audio.png"
> controlsList='nodownload'
<source :src="s.fileUrl" /> oncontextmenu="return false"
</audio> >
<span style="float:left;display:inline-block;margin:10px 0px 20px 20px;">{{ s.fileName }}</span> <source :src="s.fileUrl" />
</span> </audio>
</div> <span style="float:left;display:inline-block;margin:10px 0px 20px 20px;">{{ s.fileName }}</span>
<div v-else>暂无数据</div> </span>
</el-form-item> </div>
<el-form-item label="展板图片" class="w100"> <div v-else>暂无数据</div>
<div v-if="contentData.imagesList.length"> </el-form-item>
<span <el-form-item label="展板图片" class="w100">
class="file-box" <div v-if="contentData.imagesList.length">
v-for="(s, i) in contentData.imagesList" <span
:key="i" class="file-box"
> v-for="(s, i) in contentData.imagesList"
<img class="imgSize" :src="s.fileUrl" alt /> :key="i"
<span>{{ s.fileName }}</span> >
</span> <img class="imgSize" :src="s.fileUrl" alt />
</div> <span>{{ s.fileName }}</span>
<div v-else>暂无数据</div> </span>
</el-form-item> </div>
<el-form-item label="展板文档(可点击查看或下载查看)" class="w100"> <div v-else>暂无数据</div>
<div v-if="contentData.dirList.length"> </el-form-item>
<span <el-form-item label="展板文档(可点击查看或下载查看)" class="w100">
class="dir-box" <div v-if="contentData.dirList.length">
v-for="(s, i) in contentData.dirList" <span
:key="i" class="dir-box"
@click="reviewFile(s)" v-for="(s, i) in contentData.dirList"
> :key="i"
<img @click="reviewFile(s)"
v-if="s.fileExtName === 'pdf'" >
src="@/assets/pdf-icon.png" <img
alt="" v-if="s.fileExtName === 'pdf'"
/> src="@/assets/pdf-icon.png"
<img alt=""
v-if="s.fileExtName === 'pptx'" />
src="@/assets/ppt-icon.png" <img
alt="" v-if="s.fileExtName === 'pptx'"
/> src="@/assets/ppt-icon.png"
<img alt=""
v-if="s.fileExtName === 'docx'" />
src="@/assets/doc-icon.png" <img
alt="" v-if="s.fileExtName === 'docx'"
/> src="@/assets/doc-icon.png"
<img alt=""
v-if="s.fileExtName === 'mp4'" />
src="@/assets/video-icon.png" <img
alt="" v-if="s.fileExtName === 'mp4'"
/> src="@/assets/video-icon.png"
<img alt=""
v-if="s.fileExtName === 'mp3'" />
src="@/assets/audio-icon.png" <img
alt="" v-if="s.fileExtName === 'mp3'"
/> src="@/assets/audio-icon.png"
<img alt=""
v-if="s.fileExtName === 'xls'" />
src="@/assets/excel-icon.png" <img
alt="" v-if="s.fileExtName === 'xls'"
/> src="@/assets/excel-icon.png"
<span><a target="_blank" :href="s.fileUrl">{{ s.fileName }}</a></span> alt=""
</span> />
</div> <span><a target="_blank" :href="s.fileUrl">{{ s.fileName }}</a></span>
<div v-else>暂无数据</div> </span>
</el-form-item> </div>
</el-form> <div v-else>暂无数据</div>
</el-collapse-item> </el-form-item>
</el-collapse> </el-form>
</div> </el-collapse-item>
</div> </el-collapse>
<div class="info-footer"> </div>
<div class="btn-group"> </div>
<!-- 确定、取消 --> <div class="info-footer">
<el-button <div class="btn-group">
size="mini" <!-- 确定、取消 -->
type="primary" <el-button
class="btn_form_search" size="mini"
@click="close" type="primary"
>关闭</el-button class="btn_form_search"
> @click="close"
</div> >关闭</el-button
</div> >
</div> </div>
</template> </div>
</div>
<script> </template>
let Base64 = require('js-base64').Base64
export default { <script>
data() { let Base64 = require('js-base64').Base64
const keyMap = { export default {
TBC: "待初审", data() {
REFUSED: "已驳回", const keyMap = {
TBCA: "待复审", TBC: "待初审",
APPROVED_FINAL: "通过", REFUSED: "已驳回",
}; TBCA: "待复审",
return { APPROVED_FINAL: "通过",
id: "", };
activeNames: ["1", "2", "3"], return {
keyMap: keyMap, id: "",
contentData: { activeNames: ["1", "2", "3"],
imagesList:[], keyMap: keyMap,
dirList:[], contentData: {
videoList:[], imagesList:[],
audioList:[] dirList:[],
}, videoList:[],
reviewData: {}, audioList:[]
}; },
}, reviewData: {},
mounted() { };
this.id = this.$route.query.id; },
this.getReviewById(); mounted() {
this.getContentById(); this.id = this.$route.query.id;
}, this.getReviewById();
methods: { this.getContentById();
getContentById() { },
let vm = this; methods: {
vm.$https({ getContentById() {
url: "exhibitionBoard/get/" + this.id, let vm = this;
method: "get", vm.$https({
authType: this.backToken, url: "exhibitionBoard/get/" + this.id,
}) method: "get",
.then((res) => { authType: this.backToken,
if (res.data.resultCode === "200") { })
vm.contentData = res.data.data; .then((res) => {
// console.log(vm.contentData.videoList) if (res.data.resultCode === "200") {
const videos = vm.contentData.videoList vm.contentData = res.data.data;
for(var i=0;i<videos.length;i++){ // console.log(vm.contentData.videoList)
videos[i].fileUrl = Base64.decode(videos[i].intro) const videos = vm.contentData.videoList
} for(var i=0;i<videos.length;i++){
vm.contentData.videoList = videos videos[i].fileUrl = Base64.decode(videos[i].intro)
vm.contentData.imagesList = []; }
vm.contentData.dirList = []; vm.contentData.videoList = videos
vm.contentData.datumList.forEach((item) => { vm.contentData.imagesList = [];
if (item.fileType === "IMAGE") { vm.contentData.dirList = [];
vm.contentData.imagesList.push(item); vm.contentData.datumList.forEach((item) => {
} else { if (item.fileType === "IMAGE") {
vm.contentData.dirList.push(item); vm.contentData.imagesList.push(item);
} } else {
}); vm.contentData.dirList.push(item);
} else { }
this.$message.error(res.data.message); });
} } else {
}) this.$message.error(res.data.message);
.catch(function (err) { }
console.log(err); })
}); .catch(function (err) {
}, console.log(err);
getReviewById() { });
let vm = this; },
const param = { getReviewById() {
id: this.id, let vm = this;
type: "EXHIBITION_BOARD", const param = {
}; id: this.id,
vm.$https( type: "EXHIBITION_BOARD",
{ };
url: "audit/getById", vm.$https(
method: "get", {
authType: this.backToken, url: "audit/getById",
}, method: "get",
param authType: this.backToken,
) },
.then((res) => { param
if (res.data.resultCode === "200") { )
vm.reviewData = res.data.data || {}; .then((res) => {
} else { if (res.data.resultCode === "200") {
this.$message.error(res.data.message); vm.reviewData = res.data.data || {};
} } else {
}) this.$message.error(res.data.message);
.catch(function (err) { }
console.log(err); })
}); .catch(function (err) {
}, console.log(err);
reviewFile() { });
console.log("点击预览。。。"); },
}, reviewFile() {
close() { console.log("点击预览。。。");
this.$router.go(-1); },
}, close() {
}, this.$router.go(-1);
}; },
</script> },
<style lang="less" scoped> };
.info-board { </script>
.file-box { <style lang="less" scoped>
display: inline-block; .info-board {
width: 180px; .file-box {
height: 180px; display: inline-block;
margin: 0 10px; width: 180px;
} height: 180px;
.info-container { margin: 0 10px;
height: calc(100% - 250px); }
} .info-container {
/deep/.el-collapse-item__wrap { height: calc(100% - 250px);
padding: 16px; }
} /deep/.el-collapse-item__wrap {
/deep/.el-collapse-item__header { padding: 16px;
position: relative; }
padding-left: 20px; /deep/.el-collapse-item__header {
font-size: 18px; position: relative;
color: #333; padding-left: 20px;
&::before { font-size: 18px;
content: ""; color: #333;
position: absolute; &::before {
top: 14px; content: "";
left: 0px; position: absolute;
width: 4px; top: 14px;
height: 18px; left: 0px;
background: #000; width: 4px;
} height: 18px;
} background: #000;
.page-tip { }
width: 640px; }
background: #f7f5f2; .page-tip {
border-radius: 8px; width: 640px;
padding: 16px 20px; background: #f7f5f2;
margin: 20px auto; border-radius: 8px;
font-size: 14px; padding: 16px 20px;
color: #333333; margin: 20px auto;
.tip-title { font-size: 14px;
font-weight: 700; color: #333333;
margin-right: 5px; .tip-title {
} font-weight: 700;
} margin-right: 5px;
.dir-box { }
display: block; }
width: 100%; .dir-box {
height: 96px; display: block;
img { width: 100%;
width: 96px; height: 96px;
height: 96px; img {
vertical-align: middle; width: 96px;
} height: 96px;
span { vertical-align: middle;
margin-left: 10px; }
line-height: 96px; span {
} margin-left: 10px;
} line-height: 96px;
} }
}
}
</style> </style>
\ No newline at end of file
...@@ -221,7 +221,7 @@ export default { ...@@ -221,7 +221,7 @@ export default {
.then(res => { .then(res => {
let data = res.data.data; let data = res.data.data;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
}) })
.catch(function(err) { .catch(function(err) {
console.log(err); console.log(err);
......
...@@ -21,8 +21,11 @@ ...@@ -21,8 +21,11 @@
<el-form-item label="学习内容名称" prop="name" class="w50" style="padding-right: 100px"> <el-form-item label="学习内容名称" prop="name" class="w50" style="padding-right: 100px">
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input> <el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="适用范围"> <el-form-item label="适用范围" prop="applicableScope">
<span v-show="userType === '1'">全平台</span> <!-- <span v-show="userType === '1'" value="ALL_PLAT">全平台</span> -->
<el-radio-group v-show="userType === '1'" v-model="ruleForm.applicableScope">
<el-radio v-show="userType === '1'" label="ALL_PLAT">全平台</el-radio>
</el-radio-group>
<el-radio-group v-show="userType !== '1'" v-model="ruleForm.applicableScope"> <el-radio-group v-show="userType !== '1'" v-model="ruleForm.applicableScope">
<el-radio label="THIS_ORGAN">仅本单位</el-radio> <el-radio label="THIS_ORGAN">仅本单位</el-radio>
<el-radio label="THIS_ORGAN_SUB">本单位及下属单位</el-radio> <el-radio label="THIS_ORGAN_SUB">本单位及下属单位</el-radio>
...@@ -218,7 +221,7 @@ export default { ...@@ -218,7 +221,7 @@ export default {
tableData: [], tableData: [],
ruleForm: { ruleForm: {
name: "", //学习内容名称 name: "", //学习内容名称
applicableScope: "ALL_PLAT", //适用范围 applicableScope: "", //适用范围
cover: "", //宣传图 cover: "", //宣传图
projectId: '', projectId: '',
learningProjectId: "", //所属学习项目 learningProjectId: "", //所属学习项目
...@@ -231,6 +234,12 @@ export default { ...@@ -231,6 +234,12 @@ export default {
{ required: true, message: "请输入学习内容名称", trigger: "blur" }, { required: true, message: "请输入学习内容名称", trigger: "blur" },
{ min: 1, max: 20, message: "请输入1到20个字" }, { min: 1, max: 20, message: "请输入1到20个字" },
], ],
applicableScope: [
{
required: true,
message: "请选择适用范围"
}
],
cover: [ cover: [
{ {
required: true, required: true,
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
<el-collapse-item title="展板列表" name="3"> <el-collapse-item title="展板列表" name="10">
<!-- {{tableData}} --> <!-- {{tableData}} -->
<div class="party-table"> <div class="party-table">
<!-- {{tableData[0]}} --> <!-- {{tableData[0]}} -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment