|
@@ -18,6 +18,15 @@
|
|
|
.role-item .ant-form-item {
|
|
|
margin-bottom: 0;
|
|
|
}
|
|
|
+.ant-list-item {
|
|
|
+ align-items: flex-start;
|
|
|
+}
|
|
|
+#only-des .ant-list-item-content-single {
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+#only-des .ant-comment-content-author {
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
</style>
|
|
|
<style lang="scss" scoped>
|
|
|
.home-item {
|
|
@@ -48,7 +57,7 @@
|
|
|
// width:70%
|
|
|
// }
|
|
|
// } /*>=1100的设备*/
|
|
|
-@media (min-width: 1600px) {
|
|
|
+@media (min-width: 1450px) {
|
|
|
.home-item {
|
|
|
border-style: solid;
|
|
|
border-width: 1px;
|
|
@@ -164,7 +173,9 @@ a {
|
|
|
<a-form layout="inline">
|
|
|
<a-row :gutter="24">
|
|
|
<a-col :md="8" :sm="8">
|
|
|
- <selectTable :projectId.sync="queryParam.projectId"></selectTable>
|
|
|
+ <a-form-item label="剧本名称">
|
|
|
+ <a-input placeholder="请输入剧本名称" v-model="queryParam.dramaName"></a-input>
|
|
|
+ </a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="8" :sm="8">
|
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
@@ -194,9 +205,9 @@ a {
|
|
|
</div>
|
|
|
|
|
|
<div v-if="dataSource.length > 0">
|
|
|
- <a-checkbox-group @change="onChangeCheck" v-model="checkArr" class="home-card">
|
|
|
- <div class="home-item" v-for="(items, index) in dataSource" :key="index" @click="showDetail(items)">
|
|
|
- <div class="home-right">
|
|
|
+ <div class="home-card">
|
|
|
+ <div class="home-item" v-for="(items, index) in dataSource" :key="index">
|
|
|
+ <div class="home-right" @click="showDetail(items)">
|
|
|
<span
|
|
|
@click.stop
|
|
|
style="color: #999; fontSize: 16px;padding-bottom:10px;display:block;width:100%;overflow: hidden;text-overflow: ellipsis;"
|
|
@@ -216,12 +227,11 @@ a {
|
|
|
<div class="bh">字数:0 </div> -->
|
|
|
<span style="color: black; fontSize: 16px;padding-top:10px;display:block;width:100%" @click.stop>
|
|
|
{{ items.createTime }}
|
|
|
- <a style="float:right" @click.stop="addRole(items)"> 添加角色</a>
|
|
|
- <a style="float:right;margin-right:15px" @click.stop="writeScript(items)"> 编写剧本</a>
|
|
|
+ <a style="float:right;" @click.stop="writeScript(items)"> 编写剧本</a>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </a-checkbox-group>
|
|
|
+ </div>
|
|
|
<a-pagination
|
|
|
size="small"
|
|
|
:showTotal="ipagination.showTotal"
|
|
@@ -326,50 +336,46 @@ a {
|
|
|
</a-form-item>
|
|
|
</a-form>
|
|
|
</a-modal>
|
|
|
- <a-modal title="脚本内容" v-model="visibleScript" :maskClosable="false" :width="800">
|
|
|
+ <a-modal title="脚本内容" v-model="visibleScript" :maskClosable="false" :width="800" class="role-item">
|
|
|
<template slot="footer">
|
|
|
<a-button key="back" @click="closeScript">取消</a-button>
|
|
|
<a-button key="submit" type="primary" @click="handleOkScript">
|
|
|
确定
|
|
|
</a-button>
|
|
|
</template>
|
|
|
- <a-list
|
|
|
- v-if="comments.length"
|
|
|
- :dataSource="comments"
|
|
|
- :header="`${comments.length} ${comments.length > 1 ? 'replies' : 'reply'}`"
|
|
|
- itemLayout="horizontal"
|
|
|
- >
|
|
|
- <a-list-item slot="renderItem" slot-scope="item">
|
|
|
- <a-comment :author="item.author" :avatar="item.avatar" :content="item.content" :datetime="item.datetime">
|
|
|
- </a-comment>
|
|
|
+ <a-list v-if="comments.length" :dataSource="comments" itemLayout="horizontal">
|
|
|
+ <a-list-item slot="renderItem" slot-scope="item, index" v-if="item.author == '情节描述'" id="only-des">
|
|
|
+ <a-comment :author="item.author" :content="item.content"> </a-comment>
|
|
|
+ <!-- <a slot="actions" @click="editAction(item, index)">修改</a> -->
|
|
|
+ <a slot="actions" @click="deleteAction(item, index)">删除</a>
|
|
|
+ </a-list-item>
|
|
|
+ <a-list-item slot="renderItem" slot-scope="item" v-else>
|
|
|
+ <a-comment :author="item.author" :avatar="item.avatar" :content="item.content"> </a-comment>
|
|
|
+ <!-- <a slot="actions" @click="editAction(item, index)">修改</a> -->
|
|
|
+ <a slot="actions" @click="deleteAction(item, index)">删除</a>
|
|
|
</a-list-item>
|
|
|
</a-list>
|
|
|
<a-comment>
|
|
|
- <a-select v-model="author" slot="avatar" placeholder="请选择审核状态">
|
|
|
- <a-select-option value="情节描述">情节描述</a-select-option>
|
|
|
- <a-select-option value="角色1">角色1</a-select-option>
|
|
|
- </a-select>
|
|
|
+ <div slot="avatar">
|
|
|
+ <a-select v-model="author" @change="getAuthor" style="width:100px">
|
|
|
+ <a-select-option v-for="(item, index) of roleList" :key="index" :value="item.buttonType">{{
|
|
|
+ item.name
|
|
|
+ }}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div slot="content">
|
|
|
<a-form-item>
|
|
|
<a-textarea :rows="4" @change="handleChange" :value="value"></a-textarea>
|
|
|
</a-form-item>
|
|
|
<a-form-item>
|
|
|
<a-button htmlType="submit" :loading="submitting" @click="handleSubmit" type="primary">
|
|
|
- Add Comment
|
|
|
+ 添加对话
|
|
|
</a-button>
|
|
|
</a-form-item>
|
|
|
</div>
|
|
|
</a-comment>
|
|
|
- <a-form :form="form"> </a-form>
|
|
|
- </a-modal>
|
|
|
- <a-modal title="添加角色" v-model="visibleRole" :maskClosable="false" :width="1000" class="role-item">
|
|
|
- <template slot="footer">
|
|
|
- <a-button key="back" @click="visibleRole = false">取消</a-button>
|
|
|
- <a-button key="submit" type="primary" @click="visibleRole = false">
|
|
|
- 确定
|
|
|
- </a-button>
|
|
|
- </template>
|
|
|
- <a-form :form="formRole">
|
|
|
+ <a-form :form="formRole" v-if="repeat">
|
|
|
<a-row :gutter="24" style="border-bottom:1px solid #f2f2f2">
|
|
|
<a-col :span="6">
|
|
|
<a-form-item
|
|
@@ -389,12 +395,14 @@ a {
|
|
|
:wrapper-col="{ xs: { span: 24 }, sm: { span: 17 } }"
|
|
|
label="性别"
|
|
|
>
|
|
|
- <a-input
|
|
|
- placeholder="请输入性别"
|
|
|
+ <a-select
|
|
|
v-decorator="[
|
|
|
'sex' // 给表单赋值或拉取表单时,该input对应的key
|
|
|
]"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <a-select-option :value="1">男</a-select-option>
|
|
|
+ <a-select-option :value="2">女</a-select-option>
|
|
|
+ </a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="18">
|
|
@@ -421,14 +429,30 @@ a {
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
</a-form>
|
|
|
- <a-list itemLayout="horizontal" :dataSource="listData">
|
|
|
- <a-list-item slot="renderItem" slot-scope="item">
|
|
|
- <a-list-item-meta :description="item.introduction">
|
|
|
- <a slot="title">{{ item.name }}</a>
|
|
|
- <a-avatar slot="avatar" src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
|
|
|
- </a-list-item-meta>
|
|
|
- </a-list-item>
|
|
|
- </a-list>
|
|
|
+ </a-modal>
|
|
|
+ <a-modal title="内容展示" v-model="visibleScriptShow" :footer="null" :width="800" class="role-item">
|
|
|
+ <div id="printTest" v-if="inforDetail">
|
|
|
+ <h3 style="text-align:center">{{ inforDetail.dramaName }}</h3>
|
|
|
+ <p style="text-align:center">
|
|
|
+ 类型:{{ inforDetail.category }} 创作者:{{
|
|
|
+ inforDetail.userName
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ <P
|
|
|
+ v-for="(item, index) of comments"
|
|
|
+ :key="index"
|
|
|
+ style="font-size:16px"
|
|
|
+ :style="{ fontWeight: item.author == '情节描述' ? '300' : '700' }"
|
|
|
+ >
|
|
|
+ <span style="display:inline-block;">{{ item.author == '情节描述' ? '' : item.author + ':' }}</span>
|
|
|
+ <span>
|
|
|
+ {{ item.author == '情节描述' ? '【' + item.content + '】' : item.content }}
|
|
|
+ </span>
|
|
|
+ </P>
|
|
|
+ </div>
|
|
|
+ <a-button v-print="'#printTest'" type="primary">
|
|
|
+ 打印
|
|
|
+ </a-button>
|
|
|
</a-modal>
|
|
|
</a-card>
|
|
|
</template>
|
|
@@ -437,7 +461,6 @@ a {
|
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
|
import JEllipsis from '@/components/jeecg/JEllipsis'
|
|
|
import UploadToAli from '@femessage/upload-to-ali'
|
|
|
-import { fileCheck, fileInsert, fileEdit } from '@/api/actor'
|
|
|
import { getAction, postAction, postFile, deleteAction } from '@/api/manage'
|
|
|
import qs from 'qs'
|
|
|
import { mapGetters } from 'vuex'
|
|
@@ -445,29 +468,28 @@ import moment from 'moment'
|
|
|
import JTreeSelect from '@/components/jeecg/JTreeSelect'
|
|
|
import selectTable from '@/views/modules/Statistics/components/selecTable.vue'
|
|
|
|
|
|
-import BMF from 'browser-md5-file'
|
|
|
import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl'
|
|
|
-import accountCheck from './accountCheck'
|
|
|
export default {
|
|
|
name: 'YardList',
|
|
|
mixins: [JeecgListMixin],
|
|
|
components: {
|
|
|
JEllipsis,
|
|
|
UploadToAli,
|
|
|
- accountCheck,
|
|
|
selectTable,
|
|
|
JTreeSelect
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
return {
|
|
|
- author: '情节描述',
|
|
|
+ author: 'scence',
|
|
|
comments: [],
|
|
|
+ roleList: [],
|
|
|
submitting: false,
|
|
|
value: '',
|
|
|
projectId: '',
|
|
|
inputVisible: false,
|
|
|
visibleScript: false,
|
|
|
+ visibleScriptShow: false,
|
|
|
visibleRole: false,
|
|
|
inputValue: '',
|
|
|
labelCol: {
|
|
@@ -489,12 +511,6 @@ export default {
|
|
|
noImgUrl: require('@/assets/img/noImg.png'),
|
|
|
queryParam: {},
|
|
|
dataElse: [],
|
|
|
- ascription: {
|
|
|
- clipId: [], //剪辑人id
|
|
|
- shotId: [], //拍摄人id
|
|
|
- planId: [], //策划id
|
|
|
- planeId: [] //平面id
|
|
|
- },
|
|
|
show: true,
|
|
|
visible: false,
|
|
|
visibleDetail: false,
|
|
@@ -506,30 +522,10 @@ export default {
|
|
|
formRole: this.$form.createForm(this),
|
|
|
listData: [],
|
|
|
tags: [],
|
|
|
- refuseFile: [],
|
|
|
- refuseReason: '',
|
|
|
- creativeCopywriter: '',
|
|
|
- customDomain: '',
|
|
|
- region: 'oss-cn-beijing',
|
|
|
- bucket: 'ctop-media',
|
|
|
- acceptVideo: 'video/mpeg,video/mp4',
|
|
|
- acceptImage: 'image/jpeg,image/jpg,image/png',
|
|
|
- accessKeyId: 'LTAIbNbqWzSOklQV',
|
|
|
- accessKeySecret: '1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
|
|
|
- checkArr: [],
|
|
|
- checkAll: false,
|
|
|
- showUrl: '',
|
|
|
- showUrlWater: '',
|
|
|
- materialName: '',
|
|
|
- materialDescribe: '',
|
|
|
name: '',
|
|
|
detail: null,
|
|
|
add: true,
|
|
|
id: '',
|
|
|
- role: {
|
|
|
- roleCode: '',
|
|
|
- roleName: ''
|
|
|
- },
|
|
|
key: '0',
|
|
|
mediaId: null,
|
|
|
sizeType: [],
|
|
@@ -537,7 +533,8 @@ export default {
|
|
|
repeat: false,
|
|
|
excellent: 0,
|
|
|
code: '',
|
|
|
- dramaId: null
|
|
|
+ dramaId: null,
|
|
|
+ inforDetail: null
|
|
|
}
|
|
|
},
|
|
|
filters: {
|
|
@@ -555,11 +552,50 @@ export default {
|
|
|
created() {
|
|
|
this.ipagination.pageSize = 8
|
|
|
},
|
|
|
- updated() {
|
|
|
- stopOtherVideo()
|
|
|
- },
|
|
|
watch: {},
|
|
|
methods: {
|
|
|
+ deleteAction(item, index) {
|
|
|
+ postAction('/ctop/dramaItemInfo/delete', { id: item.id }).then(res => {
|
|
|
+ if (res.success) {
|
|
|
+ this.comments.splice(index, 1)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ editAction(item, index) {
|
|
|
+ // postAction('/ctop/dramaItemInfo/edit', { id: item.id }).then(res => {
|
|
|
+ // if (res.success) {
|
|
|
+ // this.comments.splice(index, 1)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ showDetail(item) {
|
|
|
+ this.visibleScriptShow = true
|
|
|
+ this.inforDetail = item
|
|
|
+ getAction('/ctop/dramaInfo/detail', { dramaId: item.id }).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if (res.success) {
|
|
|
+ this.comments = res.itemInfos.map(v => {
|
|
|
+ return {
|
|
|
+ ...v,
|
|
|
+ author: v.type == 'scence' ? '情节描述' : v.roleName,
|
|
|
+ avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png',
|
|
|
+ content: v.content,
|
|
|
+ edit: false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.roleList = res.roleInfos
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getAuthor(e) {
|
|
|
+ console.log(e)
|
|
|
+ if (e == 'createRole') {
|
|
|
+ this.author = ''
|
|
|
+ this.repeat = true
|
|
|
+ } else {
|
|
|
+ this.repeat = false
|
|
|
+ }
|
|
|
+ },
|
|
|
handleSubmit() {
|
|
|
if (!this.value) {
|
|
|
return
|
|
@@ -567,37 +603,67 @@ export default {
|
|
|
|
|
|
this.submitting = true
|
|
|
|
|
|
- setTimeout(() => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ postAction('/ctop/dramaItemInfo/add', {
|
|
|
+ dramaId: this.dramaId,
|
|
|
+ content: this.value,
|
|
|
+ buttonType: this.author
|
|
|
+ }).then(res => {
|
|
|
+ console.log(res)
|
|
|
this.submitting = false
|
|
|
- this.comments = [
|
|
|
- ...this.comments,
|
|
|
- {
|
|
|
- author: this.author,
|
|
|
- avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png',
|
|
|
- content: this.value,
|
|
|
- datetime: moment().fromNow()
|
|
|
- }
|
|
|
- ]
|
|
|
- this.value = ''
|
|
|
- }, 1000)
|
|
|
+ if (res.success) {
|
|
|
+ this.comments = [
|
|
|
+ ...this.comments,
|
|
|
+ {
|
|
|
+ author: this.roleList.filter(item => {
|
|
|
+ return this.author == item.buttonType
|
|
|
+ })[0].name,
|
|
|
+ avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png',
|
|
|
+ content: this.value,
|
|
|
+ datetime: moment().fromNow(),
|
|
|
+ edit: false
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ this.value = ''
|
|
|
+ } else {
|
|
|
+ this.$message.error('添加失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ // }, 1000)
|
|
|
},
|
|
|
handleChange(e) {
|
|
|
this.value = e.target.value
|
|
|
},
|
|
|
writeScript(item) {
|
|
|
this.visibleScript = true
|
|
|
+ this.dramaId = item.id
|
|
|
+ this.author = 'scence'
|
|
|
+ getAction('/ctop/dramaInfo/detail', { dramaId: item.id }).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if (res.success) {
|
|
|
+ this.comments = res.itemInfos.map(v => {
|
|
|
+ return {
|
|
|
+ ...v,
|
|
|
+ author: v.type == 'scence' ? '情节描述' : v.roleName,
|
|
|
+ avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png',
|
|
|
+ content: v.content,
|
|
|
+ edit: false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.roleList = res.roleInfos
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
addRole(item) {
|
|
|
this.visibleRole = true
|
|
|
this.dramaId = item.id
|
|
|
- this.roleList()
|
|
|
+ this.getRoleList()
|
|
|
},
|
|
|
- roleList() {
|
|
|
- getAction('/ctop/dramaRoleInfo/list', { dramaId: this.dramaId }).then(res => {
|
|
|
+ getRoleList() {
|
|
|
+ getAction('/ctop/dramaInfo/detail', { dramaId: this.dramaId }).then(res => {
|
|
|
if (res.success) {
|
|
|
- this.listData = res.result.records
|
|
|
- } else {
|
|
|
- this.listData = []
|
|
|
+ this.roleList = res.roleInfos
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -606,9 +672,10 @@ export default {
|
|
|
if (err) {
|
|
|
// 这里做逻辑处理
|
|
|
} else {
|
|
|
- postAction('/ctop/dramaRoleInfo/list', params).then(res => {
|
|
|
+ var params = { ...values, dramaId: this.dramaId }
|
|
|
+ postAction('/ctop/dramaRoleInfo/add', params).then(res => {
|
|
|
if (res.success) {
|
|
|
- this.roleList()
|
|
|
+ this.getRoleList()
|
|
|
}
|
|
|
})
|
|
|
// this.listData.push({ name: values.name, sex: values.sex, introduction: values.introduction })
|
|
@@ -715,8 +782,6 @@ export default {
|
|
|
},
|
|
|
getDataSource(page, pageSize) {
|
|
|
this.ipagination.current = page
|
|
|
- this.checkArr = []
|
|
|
- this.checkAll = false
|
|
|
this.loadData()
|
|
|
}
|
|
|
}
|