|
@@ -59,8 +59,11 @@
|
|
|
margin-top:3px ;
|
|
|
}
|
|
|
span{
|
|
|
- width: 250px;
|
|
|
+ width: 400px;
|
|
|
display: inline-block;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -306,20 +309,22 @@
|
|
|
<img src="@/assets/orderIcon.png" alt="">
|
|
|
</div>
|
|
|
<div class='tip'>
|
|
|
- <p class="greet">订单标题</p>
|
|
|
+ <p class="greet">{{currentOrderInfo.orderTitle}}</p>
|
|
|
<p class="descPosition">
|
|
|
<ul>
|
|
|
<li>
|
|
|
- <span>订单发起人:{{}}</span>
|
|
|
- <span>关联项目:{{}}</span>
|
|
|
+ <span>订单编号:{{currentOrderInfo.orderCode}}</span>
|
|
|
+ <span>订单周期:{{currentOrderInfo.startDate+'~'+currentOrderInfo.endDate}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- <span>创建时间:{{}}</span>
|
|
|
- <span>设计负责人:{{}}</span>
|
|
|
+ <span>订单发起人:{{currentOrderInfo.createBy}}</span>
|
|
|
+ <span>关联项目:{{}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- <span>订单周期:{{}}</span>
|
|
|
+ <span>创建时间:{{currentOrderInfo.createTime}}</span>
|
|
|
+ <span>设计负责人:{{currentOrderInfo.design}}</span>
|
|
|
</li>
|
|
|
+
|
|
|
</ul>
|
|
|
</p>
|
|
|
</div>
|
|
@@ -327,12 +332,10 @@
|
|
|
|
|
|
<div class="optBody">
|
|
|
<div class="btnBody" v-if="role=='designLeader'">
|
|
|
- <a-button type='primary' @click="confirmOrder" :loading='confirmOrderBtnLoading' v-if="currentOrderInfo.orderStatus==1">确认订单</a-button>
|
|
|
+ <a-button type='primary' @click="confirmOrder" :loading='confirmOrderBtnLoading' v-if="currentOrderInfo.orderStatus==0">确认订单</a-button>
|
|
|
<a-popover
|
|
|
- title="Click title"
|
|
|
+ title="驳回"
|
|
|
trigger="click"
|
|
|
- :visible="clicked"
|
|
|
- @visibleChange="handleClickChange"
|
|
|
>
|
|
|
<div slot="content">
|
|
|
<a-textarea
|
|
@@ -342,7 +345,7 @@
|
|
|
/>
|
|
|
<a @click="rejectOrder">确定驳回</a>
|
|
|
</div>
|
|
|
- <a-button type='default' :loading='rejectOrderBtnLoading' v-if="currentOrderInfo.orderStatus==1">驳回订单</a-button>
|
|
|
+ <a-button type='default' :loading='rejectOrderBtnLoading' v-if="currentOrderInfo.orderStatus==0">驳回订单</a-button>
|
|
|
</a-popover>
|
|
|
|
|
|
</div>
|
|
@@ -359,11 +362,12 @@
|
|
|
|
|
|
|
|
|
<a-button type='default' @click="editOrder" :loading='editOrderBtnLoading' v-if="currentOrderInfo.orderStatus==0||currentOrderInfo.orderStatus==2">修改订单</a-button>
|
|
|
+
|
|
|
</div>
|
|
|
<div class="orderInfo">
|
|
|
<div>
|
|
|
<p class="markName">状态</p>
|
|
|
- <p class="big">{{ orderInfo.status || '待确定'}}</p>
|
|
|
+ <p class="big">{{ currentOrderInfo.orderStatus | handlerOrderStatus}}</p>
|
|
|
</div>
|
|
|
<div>
|
|
|
<p class="markName">订单进度</p>
|
|
@@ -383,38 +387,32 @@
|
|
|
<a-steps progress-dot :current="currentStep">
|
|
|
<a-step title="创建订单" >
|
|
|
<div class="description" slot="description" v-if="currentStep>=0">
|
|
|
- <p class="people">吴永前</p>
|
|
|
- <p class="time">2020-10-16 12:20</p>
|
|
|
+ <p class="people">{{currentOrderInfo.createTime}}</p>
|
|
|
+ <p class="time">{{currentOrderInfo.createTime}}</p>
|
|
|
</div>
|
|
|
|
|
|
</a-step>
|
|
|
<a-step title="设计组长接单" >
|
|
|
<div class="description" slot="description" v-if="currentStep>=1">
|
|
|
- <p class="people">王垒</p>
|
|
|
- <p class="time" v-if="currentStep==1">
|
|
|
- <a-button type='link' @click="hurryUp">催一下</a-button>
|
|
|
- </p>
|
|
|
- <p class="time" v-else>2020-10-16 12:20</p>
|
|
|
+ <p class="people">{{currentOrderInfo.createTime}}</p>
|
|
|
+
|
|
|
+ <p class="time" v-if="currentStep>1">{{currentOrderInfo.createTime}}</p>
|
|
|
</div>
|
|
|
|
|
|
</a-step>
|
|
|
<a-step title="素材制作" >
|
|
|
<div class="description" slot="description" v-if="currentStep>=2">
|
|
|
- <p class="people">王垒</p>
|
|
|
- <p class="time" v-if="currentStep==2">
|
|
|
- <a-button type='link' @click="hurryUp">催一下</a-button>
|
|
|
- </p>
|
|
|
- <p class="time" v-else>2020-10-16 12:20</p>
|
|
|
+ <p class="people">{{currentOrderInfo.createTime}}</p>
|
|
|
+
|
|
|
+ <p class="time" v-if="currentStep>2">2020-10-16 12:20</p>
|
|
|
</div>
|
|
|
|
|
|
</a-step>
|
|
|
<a-step title="订单完成" >
|
|
|
<div class="description" slot="description" v-if="currentStep>=3">
|
|
|
<p class="people">吴永前</p>
|
|
|
- <p class="time" v-if="currentStep==3">
|
|
|
- <a-button type='link' @click="checkAccept">待验收</a-button>
|
|
|
- </p>
|
|
|
- <p class="time" v-else>2020-10-16 12:20</p>
|
|
|
+
|
|
|
+ <p class="time" v-if="currentStep==3">{{currentOrderInfo.createTime}}</p>
|
|
|
</div>
|
|
|
|
|
|
</a-step>
|
|
@@ -429,22 +427,22 @@
|
|
|
<div class="top">
|
|
|
<ul>
|
|
|
<li>
|
|
|
- 订单所含物料总数:<span>20</span>
|
|
|
+ 订单所含物料总数:<span>{{currentOrderInfo.materialAmount}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- 真人物料数<span>10</span>
|
|
|
+ 真人物料数:<span>{{currentOrderInfo.realAmount}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- 投放系统<span>安卓</span>
|
|
|
+ 投放系统:<span>{{currentOrderInfo.sysName|handlerSysName}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- 要求日更物料数:<span>4</span>
|
|
|
+ 要求日更物料数:<span>{{currentOrderInfo.materialAmountDay}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- 剪辑物料数:<span>10</span>
|
|
|
+ 剪辑物料数:<span>{{currentOrderInfo.cutAmount}}</span>
|
|
|
</li>
|
|
|
<li>
|
|
|
- APK包<span>https://down.xmiles.cn/down/18205/1873295</span>
|
|
|
+ APK包:<span>{{currentOrderInfo.sysPackage || '未填写'}}</span>
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
@@ -463,19 +461,19 @@
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
|
<h4>备注</h4>
|
|
|
- <p>我是北方的方式发送到发送到发送到地方个梵蒂冈地方滚滚滚的方法滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答滴滴答答</p>
|
|
|
+ <p>{{currentOrderInfo.orderRemark}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
<!-- 素材列表 -->
|
|
|
- <div class="section-item">
|
|
|
- <div class="tabBox">
|
|
|
+ <div class="section-item" v-if="currentOrderInfo.orderStatus==1||currentOrderInfo.orderStatus==3">
|
|
|
+ <!-- <div class="tabBox">
|
|
|
<a-tabs v-model="tabKey" @change="tabChange">
|
|
|
<a-tab-pane :key='1' tab="真人物料"></a-tab-pane>
|
|
|
<a-tab-pane :key='2' tab="剪辑物料"></a-tab-pane>
|
|
|
</a-tabs>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
|
|
|
|
|
|
<div class="section-box">
|
|
@@ -506,12 +504,10 @@
|
|
|
|
|
|
<a href="javascript:;" @click="viewDetails(record)">详情</a>
|
|
|
<a-divider type="vertical" />
|
|
|
- <a href="javascript:;" @click="hurryUp(record)">催一下</a>
|
|
|
- <a-divider type="vertical" />
|
|
|
<a href="javascript:;" @click="viewDetails(record)">通过</a>
|
|
|
<a-divider type="vertical" />
|
|
|
<a href="javascript:;" @click="viewDetails(record)">驳回</a>
|
|
|
- <a-divider type="vertical" />
|
|
|
+ <!-- <a-divider type="vertical" /> -->
|
|
|
|
|
|
<!-- <a-divider type="vertical" />
|
|
|
<a href="javascript:;" @click="recordsRule(record)">计划分析</a>
|
|
@@ -523,18 +519,34 @@
|
|
|
<a href="javascript:;" >删除</a>
|
|
|
</a-popconfirm> -->
|
|
|
</span>
|
|
|
- <span slot="scriptOptions" slot-scope="text,record">
|
|
|
- <a href="javascript:;" @click="viewDetails(record)">预览脚本</a>
|
|
|
+ <span slot="scriptStatus" slot-scope="text,record">
|
|
|
+
|
|
|
+ <span v-if="record.materialStatus==0">
|
|
|
+ <a href="javascript:;" v-if="role=='designLeader'" @click="scriptAssign(record)">指派</a>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ <a href="javascript:;" @click="scriptViewDetails(record)">{{record.plan}}</a>
|
|
|
+ </span>
|
|
|
+
|
|
|
+
|
|
|
</span>
|
|
|
- <span slot="scriptOptions" slot-scope="text,record">
|
|
|
- <a href="javascript:;" @click="viewDetails(record)">预览视频</a>
|
|
|
+ <span slot="videoStatus" slot-scope="text,record">
|
|
|
+ <span v-if="record.materialStatus==0">
|
|
|
+ <a href="javascript:;" v-if="role=='designLeader'" @click="scriptAssign(record)">指派</a>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ <a href="javascript:;" @click="viewDetails(record)">{{record.shot}}</a>
|
|
|
+ </span>
|
|
|
</span>
|
|
|
|
|
|
</a-table>
|
|
|
</div>
|
|
|
+
|
|
|
<a-drawer
|
|
|
- title="素材详情"
|
|
|
- width="640"
|
|
|
+ title="视频详情"
|
|
|
+ width="800"
|
|
|
:placement="placement"
|
|
|
:closable="false"
|
|
|
:visible="visible"
|
|
@@ -552,8 +564,8 @@
|
|
|
</div>
|
|
|
<div class="marterialInfo">
|
|
|
<div class="info-item">
|
|
|
- <span>素材状态:</span>
|
|
|
- <p>未审核</p>
|
|
|
+ <span>视频状态:</span>
|
|
|
+ <p>{{ currentMaterial.videoStatus | handlerVideoStatus }}</p>
|
|
|
</div>
|
|
|
<div class="info-item">
|
|
|
<span>生成水印:</span>
|
|
@@ -589,7 +601,137 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-drawer>
|
|
|
+
|
|
|
+
|
|
|
+ <a-drawer
|
|
|
+ title="脚本详情"
|
|
|
+ width="800"
|
|
|
+ :placement="placement"
|
|
|
+ :closable="false"
|
|
|
+ :visible="scriptVisible"
|
|
|
+ @close="scriptClose"
|
|
|
+ >
|
|
|
+
|
|
|
+ <div class="marterialInfo">
|
|
|
+ <div class="info-item">
|
|
|
+ <span>脚本状态:</span>
|
|
|
+ <p>{{ currentScript.scriptStatus | handlerVideoStatus }}</p>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <span>所属项目:</span>
|
|
|
+ <p>{{currentScript.projectName}}</p>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <span>所属物料:</span>
|
|
|
+ <p>{{currentScript.materialName}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <span>编导:</span>
|
|
|
+ <p>{{currentScript.planName}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <span>脚本:</span>
|
|
|
+
|
|
|
+ <div v-if="currentScript.scriptStatus==0||currentScript.scriptStatus==2">
|
|
|
+
|
|
|
+ <p v-if="currentMaterial.plan==userInfo.id">
|
|
|
+ <a-upload
|
|
|
+ name="file"
|
|
|
+ :multiple="false"
|
|
|
+ :action="uploadAction"
|
|
|
+ :headers="tokenHeader"
|
|
|
+ :showUploadList="false"
|
|
|
+ :beforeUpload="beforeUpload"
|
|
|
+ @change="handleChange"
|
|
|
+ style="margin-right:20px"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-button :disabled="loadDisabled">
|
|
|
+ <a-icon type="upload" />
|
|
|
+ {{loadDisabled?'上传中,请稍后':'文件上传'}}
|
|
|
+ </a-button>
|
|
|
+ </a-upload>
|
|
|
+ </p>
|
|
|
+ <p v-else>
|
|
|
+ <a-upload
|
|
|
+ name="file"
|
|
|
+ :multiple="false"
|
|
|
+ :action="uploadAction"
|
|
|
+ :headers="tokenHeader"
|
|
|
+ :showUploadList="false"
|
|
|
+ :beforeUpload="beforeUpload"
|
|
|
+ @change="handleChange"
|
|
|
+ style="margin-right:20px"
|
|
|
+
|
|
|
+ >
|
|
|
+ <a-button :disabled="true">
|
|
|
+ <a-icon type="upload" />文件上传</a-button>
|
|
|
+ </a-upload>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <a :href="currentScript.url">{{currentScript.scriptName}}</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="bottom-btn">
|
|
|
+ <a-button type='primary' @click="scriptApproved" style="margin-right:20px" v-if="role=='operator'&¤tMaterial.materialStatus==2">通过审核</a-button>
|
|
|
+ <a-button type='default' @click="scriptReject" style="margin-right:20px" v-if="role=='operator'&¤tMaterial.materialStatus==2">驳回</a-button>
|
|
|
+ <a-button type='primary' @click="dowmLoadScript" style="margin-right:20px">下载脚本</a-button>
|
|
|
+ <a-button type='default' @click="scriptClose">关闭</a-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </a-drawer>
|
|
|
+
|
|
|
</div>
|
|
|
+
|
|
|
+ <!-- 指派 -->
|
|
|
+ <a-modal v-model="assignVisible" title="物料指派" width='600px'>
|
|
|
+ <template slot="footer">
|
|
|
+ <a-button key="back" @click="quxiao">取消</a-button>
|
|
|
+ <a-button type="primary" @click="handleOk" :loading="loadingElse">确定</a-button>
|
|
|
+ </template>
|
|
|
+ <a-form-model :model="formPerson" :label-col="labelCol" :wrapper-col="wrapperCol">
|
|
|
+
|
|
|
+ <a-form-model-item label="编导" >
|
|
|
+ <a-select
|
|
|
+ v-model="formPerson.plan"
|
|
|
+ showSearch
|
|
|
+ optionFilterProp="children"
|
|
|
+ :filterOption="filterOption"
|
|
|
+ >
|
|
|
+ <a-select-option :value="item.userId" v-for="item of ascription" :key="item.userId">{{item.userName}}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item label="拍摄" >
|
|
|
+ <a-select
|
|
|
+
|
|
|
+ v-model="formPerson.shot"
|
|
|
+ showSearch
|
|
|
+ optionFilterProp="children"
|
|
|
+ :filterOption="filterOption"
|
|
|
+ >
|
|
|
+ <a-select-option :value="item.userId" v-for="item of ascription" :key="item.userId">{{item.userName}}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item label="剪辑">
|
|
|
+ <a-select
|
|
|
+ v-model="formPerson.clip"
|
|
|
+ showSearch
|
|
|
+ optionFilterProp="children"
|
|
|
+ :filterOption="filterOption"
|
|
|
+ >
|
|
|
+ <a-select-option :value="item.userId" v-for="item of ascription" :key="item.userId">
|
|
|
+ {{item.userName}}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
+ </a-form-model>
|
|
|
+
|
|
|
+ </a-modal>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-spin>
|
|
@@ -599,44 +741,74 @@
|
|
|
<script>
|
|
|
import moment from 'moment';
|
|
|
import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
|
|
|
-
|
|
|
+import Vue from 'vue'
|
|
|
+import {ACCESS_TOKEN} from "@/store/mutation-types"
|
|
|
+const fileSuffix = [
|
|
|
+ 'xls',
|
|
|
+ 'xlt',
|
|
|
+ 'et',
|
|
|
+ 'xlsx',
|
|
|
+ 'xltx',
|
|
|
+ 'csv',
|
|
|
+ 'xlsm',
|
|
|
+ 'xltm',
|
|
|
+ 'doc',
|
|
|
+ 'dot',
|
|
|
+ 'wps',
|
|
|
+ 'wpt',
|
|
|
+ 'docx',
|
|
|
+ 'dotx',
|
|
|
+ 'docm',
|
|
|
+ 'dotm',
|
|
|
+ 'ppt',
|
|
|
+ 'pptx',
|
|
|
+ 'pptm',
|
|
|
+ 'ppsx',
|
|
|
+ 'ppsm',
|
|
|
+ 'pps',
|
|
|
+ 'potx',
|
|
|
+ 'potm',
|
|
|
+ 'dpt',
|
|
|
+ 'dps',
|
|
|
+ 'pdf',
|
|
|
+]
|
|
|
let realColumns=[
|
|
|
{
|
|
|
title: '物料标题',
|
|
|
- dataIndex: 'name',
|
|
|
+ dataIndex: 'materialName',
|
|
|
align: 'center',
|
|
|
- key: 'name',
|
|
|
- scopedSlots: { customRender: 'name' }
|
|
|
+ key: 'materialName',
|
|
|
+ scopedSlots: { customRender: 'materialName' }
|
|
|
},
|
|
|
{
|
|
|
title: '物料编号',
|
|
|
- dataIndex: 'type',
|
|
|
+ dataIndex: 'id',
|
|
|
align: 'center',
|
|
|
- key: 'type',
|
|
|
- scopedSlots: { customRender: 'type' }
|
|
|
+ key: 'id',
|
|
|
+ scopedSlots: { customRender: 'id' }
|
|
|
},
|
|
|
{
|
|
|
title: '物料进度',
|
|
|
- dataIndex: 'status',
|
|
|
+ dataIndex: 'materialStatus',
|
|
|
align: 'center',
|
|
|
- key: 'status',
|
|
|
- scopedSlots: { customRender: 'status' }
|
|
|
+ key: 'materialStatus',
|
|
|
+ scopedSlots: { customRender: 'materialStatus' }
|
|
|
},
|
|
|
{
|
|
|
title: '脚本',
|
|
|
- dataIndex: 'scriptOptions',
|
|
|
+ dataIndex: 'scriptStatus',
|
|
|
align: 'center',
|
|
|
- key: 'options',
|
|
|
+ key: 'scriptStatus',
|
|
|
width:250,
|
|
|
- scopedSlots: { customRender: 'scriptOptions' }
|
|
|
+ scopedSlots: { customRender: 'scriptStatus' }
|
|
|
},
|
|
|
{
|
|
|
title: '视频',
|
|
|
- dataIndex: 'videoOptions',
|
|
|
+ dataIndex: 'videoStatus',
|
|
|
align: 'center',
|
|
|
- key: 'options',
|
|
|
+ key: 'videoStatus',
|
|
|
width:250,
|
|
|
- scopedSlots: { customRender: 'videoOptions' }
|
|
|
+ scopedSlots: { customRender: 'videoStatus' }
|
|
|
},
|
|
|
]
|
|
|
|
|
@@ -674,15 +846,34 @@ let marterialData=[
|
|
|
]
|
|
|
export default {
|
|
|
name:'order-detail',
|
|
|
+
|
|
|
data() {
|
|
|
return {
|
|
|
+ currentScript:{},
|
|
|
+ currentVideo:{},
|
|
|
+
|
|
|
+ tokenHeader: {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)},
|
|
|
+ uploadAction:'',
|
|
|
+
|
|
|
+ loadDisabled:false,
|
|
|
+ labelCol: { span: 4 },
|
|
|
+ wrapperCol: { span: 14 },
|
|
|
+ loadingElse: false,
|
|
|
+ formPerson:{
|
|
|
+ plan:'',
|
|
|
+ shot:'',
|
|
|
+ clip:'',
|
|
|
+ },
|
|
|
+ ascription: [],
|
|
|
+ assignVisible:false,
|
|
|
+
|
|
|
pageSpinning:false,
|
|
|
userInfo:{},
|
|
|
roleCode:'',
|
|
|
tabKey:1,
|
|
|
|
|
|
- columns:[...materialColumns],
|
|
|
- data:[...marterialData],
|
|
|
+ columns:[...realColumns],
|
|
|
+ data:[],
|
|
|
loading:false,
|
|
|
ipagination: {
|
|
|
current: 1,
|
|
@@ -710,6 +901,8 @@ export default {
|
|
|
currentStep:1,
|
|
|
|
|
|
visible: false,
|
|
|
+ scriptVisible:false,
|
|
|
+
|
|
|
placement: 'right',
|
|
|
currentMaterial:{},
|
|
|
|
|
@@ -725,6 +918,12 @@ export default {
|
|
|
rejectOrder:'/platform/designer/reject',
|
|
|
|
|
|
withdrawOrder:'/platform/operator/destroy',
|
|
|
+
|
|
|
+ materialList:'/platform/material/listByOrderCode',
|
|
|
+ assgin:'/platform/designer/assign',
|
|
|
+
|
|
|
+ scriptDetail:'/platform/material/scriptDetail',
|
|
|
+ videoDetail:'/platform/material/videoDetail',
|
|
|
},
|
|
|
|
|
|
confirmOrderBtnLoading:false,
|
|
@@ -738,6 +937,76 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ quxiao(){
|
|
|
+ this.assignVisible=false;
|
|
|
+ },
|
|
|
+
|
|
|
+ getProjectId(id) {
|
|
|
+ this.ascription=[];
|
|
|
+ getAction('/ctop/projectMember/getMemberList', {
|
|
|
+ projectId: id,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ this.ascription = res.result.filter((item) => {
|
|
|
+ if (
|
|
|
+ item.roleCode == 'clip' ||
|
|
|
+ item.roleCode == 'plan' ||
|
|
|
+ item.roleCode == 'designTeamLeader' ||
|
|
|
+ item.roleCode == 'shot' ||
|
|
|
+ item.roleCode == 'plane'
|
|
|
+ ) {
|
|
|
+ return {
|
|
|
+ userId: item.userId,
|
|
|
+ userName: item.userName,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ filterOption(input, option) {
|
|
|
+ return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ },
|
|
|
+ // 脚本指派
|
|
|
+ scriptAssign(record){
|
|
|
+ console.log(record)
|
|
|
+ this.currentMaterial=record;
|
|
|
+ this.assignVisible=true;
|
|
|
+ this.formPerson={
|
|
|
+ plan:'',
|
|
|
+ shot:'',
|
|
|
+ clip:'',
|
|
|
+ },
|
|
|
+ this.getProjectId(record.projectId)
|
|
|
+ },
|
|
|
+ // 视频指派
|
|
|
+ videoAssign(record){
|
|
|
+ console.log(record)
|
|
|
+ this.formPerson={
|
|
|
+ plan:'',
|
|
|
+ shot:'',
|
|
|
+ clip:'',
|
|
|
+ },
|
|
|
+ this.currentMaterial=record;
|
|
|
+ this.assignVisible=true;
|
|
|
+ this.getProjectId(record.projectId)
|
|
|
+ },
|
|
|
+ handleOk(e) {
|
|
|
+ console.log(e);
|
|
|
+ this.loadingElse=true;
|
|
|
+ postAction(this.url.assgin,{
|
|
|
+ id:this.currentMaterial.id,
|
|
|
+ ...this.formPerson
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.success){
|
|
|
+ this.loadingElse=false;
|
|
|
+ this.assignVisible = false;
|
|
|
+ this.$message.success(res.message);
|
|
|
+ this.materialHttp()
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
goPlantForm(){
|
|
|
if(this.$parent.role=='operator'){
|
|
|
this.$parent.currentTabComponent='operatorPlatform'
|
|
@@ -750,7 +1019,10 @@ export default {
|
|
|
// 确认订单
|
|
|
confirmOrder(){
|
|
|
this.confirmOrderBtnLoading=true;
|
|
|
- postAction(this.url.confirmOrder,this.currentOrderInfo).then(res=>{
|
|
|
+ postAction(this.url.confirmOrder,{
|
|
|
+ designPassTime:moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ ...this.currentOrderInfo
|
|
|
+ }).then(res=>{
|
|
|
console.log(res)
|
|
|
this.confirmOrderBtnLoading=false;
|
|
|
if(res.success){
|
|
@@ -809,27 +1081,42 @@ export default {
|
|
|
// 查看详情
|
|
|
viewDetails(record){
|
|
|
console.log(record)
|
|
|
+ this.currentMaterial=record
|
|
|
+ this.currentVideo={};
|
|
|
this.visible = true;
|
|
|
},
|
|
|
-
|
|
|
+ scriptViewDetails(record){
|
|
|
+ console.log(record)
|
|
|
+ this.currentMaterial=record
|
|
|
+ this.currentScript={};
|
|
|
+ if(record.scriptId){
|
|
|
+ getAction(this.url.scriptDetail,{
|
|
|
+ scriptId:record.scriptId
|
|
|
+ }).then(res=>{
|
|
|
+ console.log(res);
|
|
|
+ if(res.success){
|
|
|
+ this.currentScript=res.result;
|
|
|
+ this.scriptVisible = true;
|
|
|
+ }else{
|
|
|
+ this.currentScript={};
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.currentScript=record
|
|
|
+ this.scriptVisible = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
onClose() {
|
|
|
this.visible = false;
|
|
|
},
|
|
|
- // 撤回订单
|
|
|
- withdrawOrder(){
|
|
|
-
|
|
|
+ scriptClose() {
|
|
|
+ this.scriptVisible = false;
|
|
|
},
|
|
|
|
|
|
|
|
|
- // 催一下
|
|
|
- hurryUp(){
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- // 验收
|
|
|
- checkAccept(){
|
|
|
-
|
|
|
- },
|
|
|
+
|
|
|
+
|
|
|
|
|
|
// 上传素材
|
|
|
uploadMaterial(){
|
|
@@ -845,8 +1132,18 @@ export default {
|
|
|
},
|
|
|
// 请求素材
|
|
|
materialHttp(){
|
|
|
- // this.loading=true;
|
|
|
+ this.loading=true;
|
|
|
this.data=[];
|
|
|
+ getAction(this.url.materialList,{
|
|
|
+ orderCode:this.currentOrderInfo.orderCode
|
|
|
+ }).then(res=>{
|
|
|
+ console.log(res);
|
|
|
+ if(res.success){
|
|
|
+ this.data=res.result.records;
|
|
|
+ this.ipagination.total=res.result.total
|
|
|
+ this.loading=false
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
|
|
|
|
|
@@ -854,20 +1151,36 @@ export default {
|
|
|
// tabqiehuan
|
|
|
tabChange(key){
|
|
|
console.log(key);
|
|
|
- if(key==1){
|
|
|
- this.columns=[...materialColumns]
|
|
|
- }else{
|
|
|
- this.columns=[...scriptColumns]
|
|
|
- }
|
|
|
+
|
|
|
},
|
|
|
|
|
|
- // 素材通过审核
|
|
|
- approved(){
|
|
|
-
|
|
|
+ // shipin通过审核
|
|
|
+ approved(record){
|
|
|
+ console.log(record);
|
|
|
+ if(record){
|
|
|
+ this.currentMaterial=record
|
|
|
+ }
|
|
|
},
|
|
|
- // 素材驳回
|
|
|
- reject(){
|
|
|
-
|
|
|
+ // 视频驳回
|
|
|
+ reject(record){
|
|
|
+ console.log(record);
|
|
|
+ if(record){
|
|
|
+ this.currentMaterial=record
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 脚本通过审核
|
|
|
+ scriptApproved(record){
|
|
|
+ console.log(record);
|
|
|
+ if(record){
|
|
|
+ this.currentMaterial=record
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 脚本驳回
|
|
|
+ scriptReject(record){
|
|
|
+ console.log(record);
|
|
|
+ if(record){
|
|
|
+ this.currentMaterial=record
|
|
|
+ }
|
|
|
},
|
|
|
// 生成水印
|
|
|
getWater() {
|
|
@@ -900,10 +1213,28 @@ export default {
|
|
|
this.pageSpinning=false;
|
|
|
if(res.success){
|
|
|
this.currentOrderInfo=res.result;
|
|
|
+ if(res.result.orderStatus){
|
|
|
+ switch(res.result.orderStatus){
|
|
|
+ case 0:
|
|
|
+ this.currentStep=1;
|
|
|
+ break
|
|
|
+ case 1:
|
|
|
+ this.currentStep=2;
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ this.currentStep=0;
|
|
|
+ break
|
|
|
+ case 3:
|
|
|
+ this.currentStep=3;
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.materialHttp()
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- // 请求物料列表数据
|
|
|
+
|
|
|
|
|
|
|
|
|
roleJudgement(role){
|
|
@@ -921,6 +1252,54 @@ export default {
|
|
|
return 4
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ // 下载脚本
|
|
|
+ dowmLoadScript(){
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ beforeUpload(file) {
|
|
|
+ this.uploadAction= `http://192.168.1.43:8098/jeecg-boot/platform/file/uploadScript?materialId=${this.currentMaterial.id}&projectId=${this.currentMaterial.projectId}`
|
|
|
+ this.loadDisabled = true
|
|
|
+ const size = (Number(file.size) / (1024 * 1024)).toFixed(2)
|
|
|
+ const fileName = file.name
|
|
|
+ const fileStrArr = fileName.split('.')
|
|
|
+ const suffix = fileStrArr[fileStrArr.length - 1]
|
|
|
+
|
|
|
+ let result = fileSuffix.some((item) => {
|
|
|
+ return item === suffix
|
|
|
+ })
|
|
|
+
|
|
|
+ if (!result) {
|
|
|
+ this.$message.error('不支持该文件类型')
|
|
|
+ this.loadDisabled = false
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ if (size > 10) {
|
|
|
+ this.$message.error('文件不能大于10MB')
|
|
|
+ this.loadDisabled = false
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ handleChange(info) {
|
|
|
+ if (info.file.status !== 'uploading') {
|
|
|
+ console.log(info.file, info.fileList)
|
|
|
+ }
|
|
|
+ if (info.file.status === 'done') {
|
|
|
+ this.$message.success(`${info.file.name} 上传成功`)
|
|
|
+ this.loadDisabled = false
|
|
|
+ this.scriptVisible=false;
|
|
|
+ this.materialHttp()
|
|
|
+ } else if (info.file.status === 'error') {
|
|
|
+ this.$message.error(`${info.file.name} file upload failed.`)
|
|
|
+ this.loadDisabled = false
|
|
|
+ this.scriptVisible=false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
},
|
|
|
created(){
|
|
|
|
|
@@ -942,12 +1321,82 @@ export default {
|
|
|
console.log(this.$parent.orderId)
|
|
|
this.currentOrderId=this.$parent.orderId;
|
|
|
this.role=this.$parent.role;
|
|
|
-
|
|
|
+ if(this.currentOrderId){
|
|
|
+ this.orderDetailHttp()
|
|
|
+ }
|
|
|
},
|
|
|
activated() {
|
|
|
+ this.currentOrderId=this.$parent.orderId;
|
|
|
+ this.role=this.$parent.role;
|
|
|
if(this.currentOrderId){
|
|
|
this.orderDetailHttp()
|
|
|
}
|
|
|
},
|
|
|
+ filters:{
|
|
|
+ handlerSysName(val){
|
|
|
+ let str='';
|
|
|
+ switch(val){
|
|
|
+
|
|
|
+ case '1':
|
|
|
+ str= 'IOS'
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ str= '安卓'
|
|
|
+ break;
|
|
|
+ case '3':
|
|
|
+ str= '不限'
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ str='出错的'
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return str
|
|
|
+
|
|
|
+ },
|
|
|
+ handlerOrderStatus(val){
|
|
|
+ let str='';
|
|
|
+ switch(val){
|
|
|
+
|
|
|
+ case 0:
|
|
|
+ str= '待确定'
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ str= '制作中'
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ str= '已驳回'
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ str= '已完成'
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ str='出错了'
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return str
|
|
|
+ },
|
|
|
+ handlerVideoStatus(val){
|
|
|
+ let str='';
|
|
|
+ switch(val){
|
|
|
+
|
|
|
+ case 0:
|
|
|
+ str= '待上传'
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ str= '待审核'
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ str= '被驳回'
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ str= '已审核'
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ str='出错了'
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return str
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|