魏志佳 4 роки тому
батько
коміт
bbf998fd2d

BIN
public/noImg.png


Різницю між файлами не показано, бо вона завелика
+ 1429 - 0
src/views/modules/earlyWarningSys/configRules.vue


+ 15 - 0
src/views/modules/earlyWarningSys/index.vue

@@ -0,0 +1,15 @@
+<template>
+    <div>
+
+    </div>
+</template>
+
+<script>
+    export default {
+        
+    }
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 33 - 0
src/views/modules/workBench/designLeader/index.vue

@@ -0,0 +1,33 @@
+<template>
+    <keep-alive>
+        <component v-bind:is="currentTabComponent"></component>
+    </keep-alive>
+    
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+
+export default {
+    components:{
+        designleaderPlatform: () => import('./platForm'),
+        orderList: () => import('../orderList'), 
+        orderDetail: () => import('../orderDetail'), 
+        materialList: () => import('../materialList'), 
+
+    },
+
+    data() {
+        return {
+            currentTabComponent:'designleaderPlatform',
+            orderStatus:undefined,//跳转到订单详情时需要里面的参数  status订单参数 role 当前角色
+            role:'designLeader',
+            materialStatus:undefined,
+            orderId:undefined,
+        }
+    },
+   
+}
+
+</script>

+ 35 - 122
src/views/modules/workBench/index.vue

@@ -14,10 +14,6 @@
                         <span>华北地区-头条事业部</span>
                     </p>
                 </div>
-                <a-button type='primary' class="mybtn" @click="sendOrder">
-                    <a-icon type="plus" />
-                    发起订单
-                </a-button>
             </div>
         </div>
         <div class="section">
@@ -28,152 +24,77 @@
                             我的工作内容
                         </div>
                         <div class="zhanshiBox">
-                           
-                            <div class="item" v-if="isOperator()">
-                                <router-link to="/workBench/orderList?status=1">
-                                <div class="title">
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>我发起的订单</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div>
-                            <div class="item" v-if="isOperator()">
-                                <router-link to="/workBench/orderList?status=2">
-                                <div class="title">
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>待审核的物料</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div>
-                            <div class="item" v-if="isDesignLeader()">
-                                <router-link to="/workBench/orderList?status=3">
+                            <div class="item" @click="goOrderList(1)">                                
                                 <div class="title">
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>待确定的订单</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                               
                             </div>
-                            <div class="item" v-if="isDesignLeader()">
-                                <router-link to="/workBench/orderList?status=4">
+                            <div class="item" @click="goOrderList(2)">                               
                                 <div class="title">
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>待指派的订单</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                               
                             </div>
                             
-                            <div class="item" v-if="isDesignLeader()">
-                                <router-link to="/workBench/orderList">
+                            <div class="item" @click="goMaterialList(1)">                                
                                 <div class="title">
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>我参与的物料</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div>
-                            <div class="item" v-if="isDesign()">
-                                <router-link to="/workBench/orderList">
-                                <div class="title">
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>指派给我的物料</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                               
                             </div>
-                            <!-- <div class="item" v-if="isDesign()">
-                                <router-link to="/workBench/orderList">
+                            
+                            <div class="item" @click="goMaterialList(2)">                                
                                 <div class="title">
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>被驳回的物料</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                                
                             </div>
-                            <div class="item" v-if="isOperator() || isDesignLeader()">
-                                <router-link to="/workBench/orderList">
+                            <div class="item" @click="goOrderList(3)">                               
                                 <div class="title">                                   
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>已完成的订单</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div>
-                            <div class="item" v-if="isOperator()">
-                                <router-link to="/workBench/orderList">
-                                <div class="title">                                   
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>被驳回的订单</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                              
                             </div>
-                            <div class="item">
-                                <router-link to="/workBench/orderList">
+                           
+                            <div class="item" @click="goOrderList(4)">                               
                                 <div class="title">
                                     <img src="@/assets/work.png" alt="" class="iconImg">
                                     <span>全部订单</span>
                                 </div>
                                 <div class="itemBody">
                                     <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div>
-                            <div class="item">
-                                <router-link to="/workBench/orderList">
-                                <div class="title">
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>已完成的物料</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count">60 <span>个</span></p>
-                                </div>
-                                </router-link>
+                                </div>                               
                             </div>
-                            <div class="item">
-                                <router-link to="/workBench/orderList">
-                                <div class="title">
-                                    <img src="@/assets/work.png" alt="" class="iconImg">
-                                    <span>全部物料</span>
-                                </div>
-                                <div class="itemBody">
-                                    <p class="count" >60 <span>个</span></p>
-                                </div>
-                                </router-link>
-                            </div> -->
+                            
+                            
                         </div>  
                     </div>
                     <div class="leftBottom">
                         <div class="sectionHead">
                             订单进度
-                             <a-button type="link" class="allOrder" @click="allOrder">全部订单</a-button>
+                             <a-button type="link" class="allOrder" @click="goOrderList(4)">全部订单</a-button>
                         </div>
                         <div class="orderProgress">
                             <ul class="orderProgress-list">
                                 <li v-for="(item,index) in orderProgressList" :key="index"  >
-                                    <router-link to="/workBench/orderDetail" style="display:block;width:100%">
-                                    <div style="display:flex;align-items: center;" class="orderProgress-list-item">
+                                    
+                                    <div style="display:flex;align-items: center;" class="orderProgress-list-item" @click="orderDetail(item)">
                                         <div style="display:flex;width:80%; align-items: center;" >
                                             <span class="item-icon"></span>
                                             <div class="content">
@@ -187,7 +108,7 @@
                                             <span style="margin-left:15px">75%</span>
                                         </div>
                                     </div>
-                                    </router-link>
+                                    
                                 </li>
                             </ul>
                             <!-- hideOnSinglePage -->
@@ -260,6 +181,7 @@ import moment from 'moment';
 import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
 
 export default {
+    name:'designlearder-platform',
     data() {
         return {
             touxiang:'@/assets/touxiang.png',
@@ -284,27 +206,21 @@ export default {
         }
     },
     methods: {
-        // 判断是否是运营
-        isOperator(){
-            if(this.roleCode.indexOf('operator')!=-1||this.roleCode.indexOf('Operation')!=-1||this.roleCode.indexOf('operation')!=-1||this.roleCode=='admin'){
-                return true
-            }else {
-                return false
-            }
+        orderDetail(item){
+            console.log(item)
+            this.$parent.currentTabComponent='orderDetail';
+            this.$parent.orderId=item.id
         },
-        isDesignLeader(){
-            if(this.roleCode=='designTeamLeader'||this.roleCode=='admin'){
-                return true
-            }else {
-                return false
-            }
+        goOrderList(val){
+            console.log(val);
+            // console.log(this.$parent)
+            this.$parent.currentTabComponent='orderList';
+            this.$parent.orderStatus=val
+            
         },
-        isDesign(){
-            if(this.roleCode=='planeLeader'||this.roleCode=='production'||this.roleCode=='designTeamLeader'||this.roleCode=='plane'||this.roleCode=='shot'||this.roleCode=='clip'||this.roleCode=='plan'||this.roleCode=='admin'){
-                return true
-            }else {
-                return false
-            }
+        goMaterialList(val){
+            this.$parent.currentTabComponent='materialList';
+            this.$parent.materialStatus=val
         },
         // 分页页码改变
         pageChange(page, pageSize){
@@ -314,10 +230,7 @@ export default {
         allOrder() {
             this.$router.push('/workBench/orderList')
         },
-        // 发起订单
-        sendOrder(){
-            this.$router.push('/workBench/placeOrder')
-        },
+        
     },
     mounted(){
         let userInfo=localStorage.getItem('pro__Login_Userinfo');

+ 32 - 0
src/views/modules/workBench/designPeople/index.vue

@@ -0,0 +1,32 @@
+<template>
+    <keep-alive>
+        <component v-bind:is="currentTabComponent"></component>
+    </keep-alive>
+    
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+
+export default {
+    components:{
+        designrPlatform: () => import('./platForm'), 
+        orderList: () => import('../orderList'), 
+        orderDetail: () => import('../orderDetail'), 
+        materialList: () => import('../materialList'), 
+    },
+
+    data() {
+        return {
+            currentTabComponent:'designrPlatform',
+            orderStatus:undefined,//跳转到订单详情时需要里面的参数  status订单参数 role 当前角色
+            role:'design',
+            materialStatus:undefined,
+            orderId:undefined,
+        }
+    },
+   
+}
+
+</script>

+ 495 - 0
src/views/modules/workBench/designPeople/platForm.vue

@@ -0,0 +1,495 @@
+<template>
+    <div class="workBench">
+        <div class="topBody">
+            <p class="breadcrumb">工作台</p>
+            <div class="bottom">
+                <div class="touxiang">
+                    <img src="@/assets/touxiang.png"  alt="">
+                </div>  
+                <div class='tip'>
+                    <p class="greet">早安,{{userInfo.username}},祝你开心每一天!</p>
+                    <p class="descPosition">
+                        <span>运营经理</span>
+                        <a-divider type="vertical" />
+                        <span>华北地区-头条事业部</span>
+                    </p>
+                </div>
+            </div>
+        </div>
+        <div class="section">
+            <div class="sectionBody">
+                <div class="sectionLeftBox">
+                    <div class="leftTop">
+                        <div class="sectionHead">
+                            我的工作内容
+                        </div>
+                        <div class="zhanshiBox">
+                            <div class="item" @click="goMaterialList(1)">
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>指派给我的物料</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>
+                                
+                            </div>
+                            <div class="item" @click="goMaterialList(2)">                               
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>被驳回的物料</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>                                
+                            </div>
+                            
+                            <div class="item" @click="goMaterialList(3)">                                
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>已完成的物料</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>                              
+                            </div>
+                            <div class="item" @click="goMaterialList(4)">                                
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>全部物料</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count" >60 <span>个</span></p>
+                                </div>                                
+                            </div>
+                        </div>  
+                    </div>
+                    <div class="leftBottom">
+                        <div class="sectionHead">
+                            订单进度
+                             <a-button type="link" class="allOrder" @click="allOrder">全部订单</a-button>
+                        </div>
+                        <div class="orderProgress">
+                            <ul class="orderProgress-list">
+                                <li v-for="(item,index) in orderProgressList" :key="index"  >
+                                    <router-link to="/workBench/orderDetail" style="display:block;width:100%">
+                                    <div style="display:flex;align-items: center;" class="orderProgress-list-item">
+                                        <div style="display:flex;width:80%; align-items: center;" >
+                                            <span class="item-icon"></span>
+                                            <div class="content">
+                                                <p class="name">我是一个任务名称嗷嗷嗷啊</p>
+                                                <p class="desc">这是对这个任务的简介,所以得好好寻…</p>
+                                            </div>
+                                        </div>
+                                        
+                                        <div class="progress">
+                                            <a-progress type="circle" :percent="75" :width='30' :showInfo='false'  :strokeWidth='10' />
+                                            <span style="margin-left:15px">75%</span>
+                                        </div>
+                                    </div>
+                                    </router-link>
+                                </li>
+                            </ul>
+                            <!-- hideOnSinglePage -->
+                            <a-pagination size="small" :total="totalPage" :current='currentPage' class="fenye" :change='pageChange'  show-size-changer show-quick-jumper hideOnSinglePage />
+                        </div>
+                    </div>
+                </div>
+                <div class="sectionRightBox">
+                    <div class="rightTop">
+                        <div class="sectionHead">
+                            操作记录
+                        </div>
+                        <div class="optionRecordList">
+                            <a-timeline>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                
+                            </a-timeline>
+                        </div>
+                    </div>
+                    <div class="rightBottom">
+                        <div class="sectionHead">
+                            本周项目燃尽图
+                        </div>
+                        <div class="burnDown">
+                             <a-progress type="circle" :percent="75"  :width='150' :strokeWidth='6' />
+                             <div class="tip">
+                                <p class="done">
+                                    <span class="item-icon"></span>
+                                    <span>已完成订单:{{}}个</span>
+                                </p>
+                                <p class="all">
+                                    <span class="item-icon"></span>
+                                    <span>未完成订单:{{}}个</span>
+                                </p>
+                             </div>
+                        </div>
+                    </div>
+                </div>
+                
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+
+export default {
+    name:'design-platform',
+    data() {
+        return {
+            touxiang:'@/assets/touxiang.png',
+            // 订单进度
+            orderProgressList:[
+                {},
+                {},
+                {}
+            ],
+
+            // 操作记录
+            optionRecord:[],
+
+            // 本周项目燃尽图
+            burnDownChart:[],
+
+            // 分页参数
+            totalPage:0,
+            currentPage:1,
+            userInfo:{},
+            roleCode:''
+        }
+    },
+    methods: {
+         goOrderList(val){
+            console.log(val);
+            // console.log(this.$parent)
+            this.$parent.currentTabComponent='orderList';
+            this.$parent.orderStatus=val
+            
+        },
+        goMaterialList(val){
+            this.$parent.currentTabComponent='materialList';
+            this.$parent.materialStatus=val
+        },
+        // 分页页码改变
+        pageChange(page, pageSize){
+
+        },
+        // 全部订单
+        allOrder() {
+            this.$router.push('/workBench/orderList')
+        },
+        // 发起订单
+        sendOrder(){
+            this.$router.push('/workBench/placeOrder')
+        },
+    },
+    mounted(){
+        let userInfo=localStorage.getItem('pro__Login_Userinfo');
+        if(userInfo){
+            this.userInfo=JSON.parse(userInfo).value
+        }
+        this.roleCode=localStorage.getItem('roleCode')
+        
+        
+    }
+}
+
+</script>
+
+<style lang="scss" scoped>
+.workBench{
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+    width: 100%;
+    .topBody{
+        width: 100%;
+        height: 146px;
+        background: #FFFFFF;
+        margin-bottom: 12px;
+        padding: 20px;
+        box-sizing: border-box;
+        .breadcrumb{
+            width: 42px;
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .bottom{
+            display: flex;
+            position: relative;
+            // padding: 20px;
+            .touxiang{
+                width: 72px;
+                height: 72px;
+                margin-right: 20px;
+                border-radius: 50%;
+                overflow: hidden;
+                img{
+                    width: 100%;
+                    height: 100%;
+                    border-radius: 50%;
+                }
+            }
+            .tip{
+                .greet{
+                    height: 28px;
+                    font-size: 20px;
+                    font-family: PingFangSC-Medium, PingFang SC;
+                    font-weight: 500;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 28px;
+                }
+                .descPosition{
+                    height: 22px;
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.45);
+                    line-height: 22px;
+                }
+
+            }
+            .mybtn{
+                position: absolute;
+                // top: 50%;
+                // margin-left: -18px;
+                right: 0;
+            }
+        }
+
+    }
+    .section{
+        .sectionBody{
+            display: flex;
+            .sectionHead{
+                padding: 15px 20px;
+                // height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: rgba(0, 0, 0, 0.85);
+                line-height: 24px;
+                border-bottom: 1px solid  #E9E9E9;;
+                position: relative;
+                .allOrder{
+                    position: absolute;
+                    right: 5px;
+                }
+            }
+            .sectionLeftBox{
+                width: 70%;
+               
+                .leftTop{
+                    overflow: hidden;
+                    background: white;
+                }
+                .zhanshiBox{
+                    display: flex;
+                    flex-wrap: wrap;
+                    .item{
+                        width: 33.33%;
+                        // background: brown;
+                        padding: 20px ;
+                        border-right: 1px solid #E9E9E9;
+                        border-bottom: 1px solid #E9E9E9;
+                        .title{
+                            padding-bottom: 34px;
+                            color: #000000;
+                            .iconImg{
+                                width: 24px;
+                                margin-right: 8px;
+                            }
+                        }
+                        .itemBody{
+                            text-align: center;
+                            .count{
+                                
+                                font-size: 24px;
+                                font-family: PingFangSC-Medium, PingFang SC;
+                                font-weight: 500;
+                                color: #000000;
+                                line-height: 32px;
+                                cursor: pointer;
+                                span{
+                                    font-size: 16px;
+                                    cursor: pointer;
+                                }
+                            }
+                            .count:hover{                                
+                                color: #1890FF;
+                            }
+                        }
+                    }
+                    .item:nth-child(3n){
+                        border-right: 0;
+                    }
+                }
+                .leftBottom{
+                    margin-top: 12px;
+                    background: white;
+                    .orderProgress{
+                        padding: 0 20px;
+                        .orderProgress-list-item{
+                            padding: 10px 0;
+                            display: flex;
+                            align-items: center;
+                            border-bottom: 1px solid  #E9E9E9;;
+                            justify-content:space-between;
+                            cursor: pointer;
+                            .item-icon{
+                                width: 8px;
+                                height: 8px;
+                                background: #3BA0FF;
+                                margin-right: 15px;
+                                display: inline-block;
+                                border-radius: 50%;
+                            }
+                            .content{
+                                width: 70%;
+                                overflow: hidden;
+                                font-size: 14px;
+                                font-family: PingFangSC-Regular, PingFang SC;
+                                font-weight: 400;
+                                .name{
+                                    height: 22px;                                    
+                                    color: rgba(0, 0, 0, 0.65);
+                                    line-height: 22px;
+                                    text-overflow: ellipsis;
+                                    white-space: nowrap;
+                                    overflow: hidden;
+                                    margin-bottom: 0px;
+                                }
+                                .desc{
+                                    height: 22px;
+                                    color: rgba(0, 0, 0, 0.25);
+                                    line-height: 22px;
+                                    text-overflow: ellipsis;
+                                    white-space: nowrap;
+                                    overflow: hidden;
+                                     margin-bottom: 0px;
+                                }
+                            }
+                            .progress{
+                                float: right;
+                            }
+                        }
+                        .fenye{
+                            padding: 20px 0;
+                            text-align: right;
+                        }
+                    }
+                }
+            }
+            .sectionRightBox{
+                width: 29.5%;
+                // background: white;
+                margin-left: 12px;
+                .rightTop{
+                    height: 370px;
+                     background: white;
+                     .optionRecordList{
+                         padding: 20px;
+                         p{
+                             width: 100%;
+                         }
+                        .content-item{
+                            width: 80%;
+                            display: inline-block;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            white-space: nowrap;
+                        }
+                        .time{
+                            width: 20%;
+                            display: inline-block;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            white-space: nowrap;
+                        }
+                     }
+                }
+                .rightBottom{
+                    margin-top: 12px;
+                     background: white;
+                    .burnDown{
+                         padding: 30px 20px;
+                         text-align: center;
+                         .tip{
+                            margin-top: 40px;
+                            display: flex;
+                            justify-content: space-around;
+                             
+                            height: 22px;
+                            font-size: 14px;
+                            font-family: PingFangSC-Regular, PingFang SC;
+                            font-weight: 400;
+                            color: rgba(0, 0, 0, 0.65);
+                            line-height: 22px;
+                             .done{
+                                .item-icon{
+                                     width: 8px;
+                                    height: 8px;
+                                    background: #3BA0FF;
+                                    margin-right: 15px;
+                                    display: inline-block;
+                                    border-radius: 50%;
+                                }
+                             }
+                             .all{
+                                .item-icon{
+                                    width: 8px;
+                                    height: 8px;
+                                    background: #F0F2F5;
+                                    margin-right: 15px;
+                                    display: inline-block;
+                                    border-radius: 50%;
+                                } 
+                             }
+                         }
+                    }
+
+                }
+            }
+        }
+    }
+}
+</style>
+
+<style lang="less">
+    .workBench{
+        .ant-timeline-item-head{
+            background: rgb(240,242,245);
+        }
+    }
+</style>

+ 773 - 0
src/views/modules/workBench/materialList.vue

@@ -0,0 +1,773 @@
+
+<style lang="scss" scoped>
+.orderDetail{
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+   
+    width: 100%;
+    .topBody{
+        width: 100%;
+        background: #FFFFFF;
+        margin-bottom: 12px;
+        padding: 20px;
+        box-sizing: border-box;
+        .breadcrumb{
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .bottom{
+            display: flex;
+            position: relative;
+            justify-content: space-between;
+            // padding: 20px;
+            .orderIcon{
+                width: 28px;
+                height: 28px;
+                margin-right: 15px;
+                img{
+                    width: 100%;
+                }
+            }
+            .tip{
+                .greet{
+                    width: 300px;
+                    height: 28px;
+                    font-size: 20px;
+                    font-family: PingFangSC-Medium, PingFang SC;
+                    font-weight: 500;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 28px;
+                    margin-bottom: 5px;
+                }
+                .descPosition{
+                    
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.45);
+                    overflow: hidden;
+                    margin-bottom: 0;
+                    li{
+                        height: 22px;
+                        line-height: 22px;
+                        margin-top:3px ;
+                    }
+                    span{
+                        width: 250px;
+                        display: inline-block;
+                    }
+                }
+
+            }
+            .optBody{
+                width: 200px;
+                flex-shrink:0;
+                // justify-content: flex-end;
+                text-align: right;
+                .btnBody{
+                    margin-bottom: 10px;
+                }
+                .orderInfo{
+                    display: flex;
+                    justify-content: space-between;
+                    text-align: right;
+                    p{
+                        margin-bottom: 0;
+                    }
+                    
+                    .markName{                        
+                        height: 22px;
+                        font-size: 14px;
+                        font-family: PingFangSC-Regular, PingFang SC;
+                        font-weight: 400;
+                        color: rgba(0, 0, 0, 0.45);
+                        line-height: 22px;
+                    }
+                    .big{                                               
+                        height: 28px;
+                        font-size: 20px;
+                        font-family: PingFangSC-Regular, PingFang SC;
+                        font-weight: 400;
+                        color: rgba(0, 0, 0, 0.85);
+                        line-height: 28px;
+                    }
+                }
+
+            }
+        }
+
+    }
+    .section{
+        background: white;
+        padding:20px ;
+        .breadcrumb{
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .sectionBody{
+            
+            p{
+                margin-bottom: 0;
+            }
+            .section-item{
+                background: white;
+                margin-bottom: 20px;
+            }
+            .tabBox{
+                padding: 15px 20px 0;
+                display: flex;
+                flex-wrap: wrap;
+                position: relative;
+                .search-item{
+                    margin-bottom: 12px;
+                    width: 30%;
+                }
+                .opt-item{
+                    position: absolute;
+                    right: 20px;
+                    top: 16px;
+                }
+            }
+            .sectionHead{
+                padding: 15px 20px;
+                // height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: rgba(0, 0, 0, 0.85);
+                line-height: 24px;
+                border-bottom: 1px solid  #E9E9E9;;
+                .allOrder{
+                    float: right;
+                }
+            }
+            .section-box{
+                margin-top: 30px;
+                padding: 20px 20px;
+                border: 1px solid #E9E9E9;
+                .description{
+                    margin-top: 10px;
+                    .time{
+                        height: 32px;
+                        line-height: 32px;
+                    }
+                }
+                ul{
+                    display: flex;
+                    flex-wrap: wrap;
+                    // justify-content: space-around;
+                }
+                li{
+                    
+                    width: 30%;
+                    height: 22px;
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 22px;
+                    text-align: left;
+                    margin-bottom: 15px;
+                }
+                .top{
+                    margin-bottom: 25px;
+                }
+                .bottom{
+                    h4{
+                        
+                        font-size: 15px;
+                        font-family: PingFangSC-Medium, PingFang SC;
+                        font-weight: 600;
+                        color: rgba(0, 0, 0, 0.85);
+                        margin-bottom: 25px;
+                    }
+                }
+                .shenhe{
+                    width: 6px;
+                    height: 6px;
+                    display: inline-block;
+                    background: #52C41A;
+                    border-radius: 50%;
+                    position: relative;
+                    top: -2px;
+
+                }
+                .wancheng{
+                    width: 6px;
+                    height: 6px;
+                     display: inline-block;
+                    background: #1890FF;
+                    border-radius: 50%;
+                    // margin-right: 3px;
+                    position: relative;
+                    top: -2px;
+                }
+                .bohui{
+                    width: 6px;
+                    height: 6px;
+                    display: inline-block;
+                    background: #F5222D;
+                    border-radius: 50%;
+                    position: relative;
+                    top: -2px;
+                }
+            }
+            
+        }
+    }
+}
+.videoBox{
+    width: 320px;
+    height: 180px;
+}
+.imgBox{
+    width: 100%;
+    height: 180px;
+}
+.marterialInfo{
+    
+    p{margin-bottom: 0;}
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+    .info-item{
+        margin-bottom: 20px;
+        display: flex;
+        // justify-content: center;
+        align-items: center;
+        span{
+            display: inline-block;
+            width: 70px;
+            text-align: left;
+        }
+        .ant-tag{
+            width: auto;
+            min-width: 50px;
+            text-align: center;
+        }
+    }
+    .info{
+        ul{
+            display: flex;
+            justify-content: space-between;
+            flex-wrap: wrap;
+        }
+        li{
+            width: 33.3%;
+            margin-bottom: 20px;
+        }
+        margin-bottom: 0;
+    }
+    .bottom-btn{
+        width: 100%;
+        text-align: center;
+        position: absolute;
+        bottom: 20px;
+        left: 0;
+
+    }
+}
+</style>
+
+<style lang="less">
+    .orderDetail{
+        .ant-timeline-item-head{
+            background: rgb(240,242,245);
+        }
+        .muen{
+            cursor: pointer;
+        }
+        .muen:hover{
+            color: #1890ff;
+        }
+    }
+    
+    
+</style>
+<template>
+    <div class="orderDetail ">
+        
+        <div class="section">
+             <p class="breadcrumb">
+                <a-breadcrumb style="display:block;width:100%">
+                    <a-breadcrumb-item ><span class="muen" @click="goPlantForm()">工作台</span></a-breadcrumb-item>
+                    <a-breadcrumb-item>订单列表</a-breadcrumb-item>
+                    <a-breadcrumb-item>物料列表</a-breadcrumb-item>
+                </a-breadcrumb>
+            </p>
+            <div class="sectionBody">
+                <div class="tabBody">
+                    <a-tabs v-model="activeKey" @change='tabChange'>
+                        <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title"  >
+                            <!-- {{ pane.content }}{{pane.role+'-'+roleCode}} -->
+                        </a-tab-pane>
+                    </a-tabs>
+                </div>
+                <!-- 素材列表 -->
+                <div class="section-item">
+                    <div class="tabBox">
+                        
+                        <div class="search-item">
+                            <span>订单名称:</span>
+                            <a-input placeholder="请输入订单名称" allow-clear v-model="orderName" style="width:300px" />
+                        </div>
+                        <div class="search-item">
+                            <span>订单编号:</span>
+                            <a-input placeholder="请输入订单编号" allow-clear v-model="orderId" style="width:300px" />
+                        </div>
+                        
+
+                        <div class="search-item">
+                            <span>发起的人:</span>
+                            <a-input placeholder="请输入订单发起人" allow-clear v-model="orderSponsor" style="width:300px" />
+                        </div>
+                        <div class="opt-item">
+                            <a-button type='primary' @click="search" style="margin-right:20px">查询</a-button>
+                            <a-button type='default' @click="reset">查询</a-button>
+                        </div>
+                    </div>
+                        
+                    
+                    <div class="section-box">
+                         <a-table
+                            size="middle"
+                            :columns="columns"
+                            :dataSource="data"
+                            id="outTable"
+                            :pagination="ipagination"
+                            :loading="loading"
+                            @change="sort"
+                            style="word-break: break-all;"
+                            >
+                            <div slot="orderStatus" slot-scope="text" >
+                                <span class="wancheng" v-if="text==3"> </span>
+                                <span class="bohui" v-else-if="text==2||text==-1"> </span>
+                                <span class="shenhe" v-else> </span>
+                                {{text | handleMaterialStatus}}
+                            </div>
+                            <span slot="options" slot-scope="text,record">
+                                <a href="javascript:;" @click="viewDetails(record)">详情</a>
+                            </span>
+
+                        </a-table>
+                    </div>
+                    <a-drawer
+                    title="素材详情"
+                    width="640"
+                    :placement="placement"
+                    :closable="false"
+                    :visible="visible"
+                    @close="onClose"
+                    >
+                        <div class="videoBody">
+                            <div class="videoBox">
+                                <video :src="currentMaterial.src" ></video>
+                            </div>
+                            
+                            <div class="imgBox">
+                                <img src="" alt="">
+                                <img src="" alt="">
+                            </div>
+                        </div>
+                        <div class="marterialInfo">
+                            <div class="info-item">
+                                <span>素材状态:</span>
+                                <p>未审核</p>
+                            </div>
+                            <div class="info-item">
+                                <span>生成水印:</span>
+                                <a-select :defaultValue="4" v-model="size" style="width:70%;">
+                                    <a-select-option :value="item.id" :key="item.id" v-for="item of sizeType">{{
+                                        item.name
+                                    }}</a-select-option>
+                                </a-select>
+                                
+                            </div>
+                            <div class="info-item">
+                                <span>视频标签:</span>
+                                <a-tag>Tag 1</a-tag>
+                                <a-tag>Tag 1</a-tag>
+                            </div>
+                            <div class="info-item info">
+                                <ul>
+                                    <li><span>视频时长:</span> 17秒 </li>
+                                    <li><span>视频尺寸:</span> 1080*1920 </li>
+                                    <li><span>视频大小:</span> 31.42M </li>
+                                    <li><span>策划:</span> 吴永前 </li>
+                                    <li><span>拍摄:</span> 吴永前 </li>
+                                    <li><span>剪辑:</span> 吴永前 </li>                                    
+                                </ul>
+                            </div>
+                            <div class="info-item">
+                                <span>广告语:</span>
+                                <p>14354534324454354水电费水电费方式手动</p>
+                            </div>
+                            <div class="bottom-btn">
+                                <a-button type='primary' @click="approved" style="margin-right:20px">通过审核</a-button>
+                                <a-button type='default' @click="reject">驳回</a-button>
+                            </div>
+                        </div>
+                    </a-drawer>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+import qs from 'qs'
+
+let listColumns=[
+    {
+        title: '订单名称',
+        dataIndex: 'orderTitle',
+        align: 'center',        
+        key: 'orderTitle',
+        scopedSlots: { customRender: 'orderTitle' }
+    },
+    {
+        title: '订单编号',
+        dataIndex: 'id',
+        align: 'center',        
+        key: 'tag',
+        scopedSlots: { customRender: 'id' }
+    },
+    {
+        title: '订单发起人',
+        dataIndex: 'status',
+        align: 'center',        
+        key: 'status',
+        scopedSlots: { customRender: 'status' }
+    },
+    {
+        title: '订单状态',
+        dataIndex: 'orderStatus',
+        align: 'center',        
+        key: 'orderStatus',
+        scopedSlots: { customRender: 'orderStatus' }
+    },
+    {
+        title: '更新时间',
+        dataIndex: 'materialFinishTime',
+        align: 'center',        
+        key: 'materialFinishTime',
+        scopedSlots: { customRender: 'materialFinishTime' }
+    },
+    {
+        title: '操作',
+        dataIndex: 'options',
+        align: 'center',        
+        key: 'options',
+        width:250,
+        scopedSlots: { customRender: 'options' }
+    },
+]
+
+
+export default {
+    name:'order-list',
+    data() {
+        const operatorPanes = [           
+            { title: '待审核的', content: '', key: 1 , },           
+            { title: '已完成的', content: '', key: 2 ,},
+        ];
+        const designLeaderPanes=[           
+            { title: '我参与的', content: '', key: 1 , },
+            { title: '被驳回的', content: '', key: 2 , },
+            { title: '已完成的', content: '', key: 3 ,},
+            { title: '全部物料', content: '', key: 3 ,},
+            
+        ]
+        const designPanes=[           
+            { title: '指派给我', content: '', key: 1 , },
+            { title: '被驳回的', content: '', key: 2 , },
+            { title: '已完成的', content: '', key: 3 ,},
+            { title: '全部物料', content: '', key: 3 ,},
+            
+        ]
+        return {
+            operatorPanes,
+            designLeaderPanes,
+            designPanes,
+            userInfo:{},
+            roleCode:'',
+
+            panes:[],
+            activeKey: '4',
+            orderInfo:{ },
+
+            columns:[...listColumns],
+            data:[],
+            loading:false,
+            ipagination: {
+                current: 1,
+                pageSize: 10,
+                //   pageSizeOptions: ['10', '20', '30'],
+                showTotal: (total, range) => {
+                    return range[0] + "-" + range[1] + " 共" + total + "条"
+                },
+                showQuickJumper: true,
+                showSizeChanger:true,
+                pageSizeOptions: ['10', '30', '50'],
+                total: 0,
+                onChange: (current, pageSize) => {
+                    // 切换分页时的回调,
+                    // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+                    this.ipagination.current = current;
+                    this.ipagination.pageSize= pageSize;
+                }
+            },
+            // 订单进度
+            orderName:'',
+            orderId:'',
+            orderStatus:'',
+            orderParticipants:"",
+            orderSponsor:'',
+
+            visible: false,
+            placement: 'right',
+            currentMaterial:{},
+
+
+            sizeType:[],
+            size: "4",
+        }
+    },
+    methods: {
+        goPlantForm(){
+            if(this.$parent.role=='operator'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }else if(this.$parent.role=='designLeader'){
+                this.$parent.currentTabComponent='designleaderPlatform'
+            }else if(this.$parent.role=='design'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }
+        },
+        tabChange(key){
+            console.log(key)
+            this.tableHttp(key)
+        },
+        handleChange(value) {
+            console.log(`selected ${value}`);
+        },
+        
+        filterOption(input, option) {
+            return (
+                option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+            );
+        },
+
+        // 查看详情
+        viewDetails(record){
+            console.log(record)
+            this.$router.push(`/workBench/orderDetail?orderId=${record.id}`)
+        },
+        
+        
+        // 撤回订单
+        withdrawOrder(){
+
+        },
+        // 更多操作
+        handleMenuClick(e) {
+            console.log('click', e);
+        },
+
+        // 催一下
+        hurryUp(record){
+            console.log(record)
+        },
+
+        // 验收
+        checkAccept(record){
+            console.log(record)
+        },
+        onClose() {
+            this.visible = false;
+        },
+        // 上传素材
+        uploadMaterial(){
+
+        },
+
+        sort(pagination, filters, sorter, { currentDataSource }){
+        
+            this.ipagination.current=pagination.current;
+
+            this.ipagination.pageSize=pagination.pageSize;
+            this.materialHttp()
+        },
+        // 请求素材
+        materialHttp(){
+            // this.loading=true;           
+            this.data=[];
+        },
+
+        
+
+        
+
+        // 素材通过审核
+        approved(){
+
+        },
+        // 素材驳回
+        reject(){
+
+        },
+        
+        search(){
+
+        },
+        reset(){
+            this.orderName='';
+            this.orderId='';
+            this.orderStatus='';
+            this.orderParticipants="";
+            this.orderSponsor='';
+        },
+
+        tableHttp(type){
+            let  params=this.handlerParams(type)
+            params={
+                ...params,
+                pageNo:this.ipagination.current,
+                pageSize:this.ipagination.pageSize
+            }
+            getAction('/platform/order/listByCreatorOrDesignLeader',params).then(res=>{
+                console.log(res);
+                if(res.success){
+                    this.data=res.result.records;
+                    this.ipagination.total=res.result.total;
+
+                }
+            })
+        },
+
+        handlerParams(status){
+            if(this.$parent.role=='operator'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        createBy:this.userInfo.id
+                    }
+                }
+            }else if(this.$parent.role=='designLeader'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        design:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        materialStatus:1,
+                        design:this.userInfo.id
+                    }
+                }
+            }else if(this.$parent.role=='design'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        design:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        materialStatus:1,
+                        design:this.userInfo.id
+                    }
+                }else if(status==3){
+                    return {
+                        materialStatus:3,
+                        design:this.userInfo.id
+                    }
+                }else if(status==4){
+                    return {
+                        design:this.userInfo.id
+                    }
+                }
+            }
+           
+        },
+        handlerParamsRole(role){
+            if(this.$parent.role=='operator'){
+                this.panes=this.operatorPanes
+            }else if(this.$parent.role=='designLeader'){
+                this.panes=this.designLeaderPanes
+            }
+        }
+    },
+    mounted(){
+        
+        let userInfo=localStorage.getItem('pro__Login_Userinfo');
+        if(userInfo){
+            this.userInfo=JSON.parse(userInfo).value
+        }
+        this.roleCode=localStorage.getItem('roleCode')
+        console.log(this.$parent.materialStatus)
+    },
+    activated() {
+        if(this.$parent.role=='operator'){
+            this.panes=this.operatorPanes
+        }else if(this.$parent.role=='designLeader'){
+            this.panes=this.designLeaderPanes
+        }else if(this.$parent.role=='design'){
+            this.panes=this.designPanes
+        }
+        this.activeKey=this.$parent.materialStatus
+        this.tableHttp(this.$parent.materialStatus)
+    },
+    filters:{
+        handleMaterialStatus(val){
+            let text
+            switch (val) {
+                case 0:
+                    text='待指派'
+                    break;
+                case 1:
+                    text='脚本已上传'
+                    break;
+                case 2:
+                    text='脚本待审核'
+                    break;
+                case 3:
+                    text='视频待上传'
+                    break;
+                case 4:
+                    text='脚本被驳回'
+                    break;
+                case 5:
+                    text='视频待审核'
+                    break;
+                case 6:
+                    text='视频被驳回'
+                    break;
+                case 7:
+                    text='物料已完成'
+                    break;
+                case -1:
+                    text='已作废'
+                    break;
+            
+                default:
+                    text='出错'
+                    break;
+            }
+            return text
+        }
+    },
+
+}
+</script>

+ 41 - 0
src/views/modules/workBench/operator/index.vue

@@ -0,0 +1,41 @@
+<template>
+
+        <component v-bind:is="currentTabComponent">
+
+        </component>
+    
+    
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+export default {
+    name:'index',
+    data() {
+        return {
+            currentTabComponent:'operatorPlatform',
+            orderStatus:undefined,//跳转到订单详情时需要里面的参数  status订单参数 role 当前角色
+            role:'operator',
+            materialStatus:undefined,
+            orderId:undefined,
+        }
+    },
+    components:{   
+        operatorPlatform: () => import('./platForm'), 
+        orderList: () => import('../orderList'), 
+        materialList: () => import('./materialList'), 
+        orderDetail: () => import('../orderDetail'), 
+        placeOrder: () => import('../placeOrder'), 
+    },
+
+    mounted(){
+       this.currentTabComponent='operatorPlatform' 
+    },
+    beforeDestroy() {
+        this.currentTabComponent='operatorPlatform' 
+    },
+   
+}
+
+</script>

+ 836 - 0
src/views/modules/workBench/operator/materialList.vue

@@ -0,0 +1,836 @@
+
+<style lang="scss" scoped>
+.orderDetail{
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+   
+    width: 100%;
+    .topBody{
+        width: 100%;
+        background: #FFFFFF;
+        margin-bottom: 12px;
+        padding: 20px;
+        box-sizing: border-box;
+        .breadcrumb{
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .bottom{
+            display: flex;
+            position: relative;
+            justify-content: space-between;
+            // padding: 20px;
+            .orderIcon{
+                width: 28px;
+                height: 28px;
+                margin-right: 15px;
+                img{
+                    width: 100%;
+                }
+            }
+            .tip{
+                .greet{
+                    width: 300px;
+                    height: 28px;
+                    font-size: 20px;
+                    font-family: PingFangSC-Medium, PingFang SC;
+                    font-weight: 500;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 28px;
+                    margin-bottom: 5px;
+                }
+                .descPosition{
+                    
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.45);
+                    overflow: hidden;
+                    margin-bottom: 0;
+                    li{
+                        height: 22px;
+                        line-height: 22px;
+                        margin-top:3px ;
+                    }
+                    span{
+                        width: 250px;
+                        display: inline-block;
+                    }
+                }
+
+            }
+            .optBody{
+                width: 200px;
+                flex-shrink:0;
+                // justify-content: flex-end;
+                text-align: right;
+                .btnBody{
+                    margin-bottom: 10px;
+                }
+                .orderInfo{
+                    display: flex;
+                    justify-content: space-between;
+                    text-align: right;
+                    p{
+                        margin-bottom: 0;
+                    }
+                    
+                    .markName{                        
+                        height: 22px;
+                        font-size: 14px;
+                        font-family: PingFangSC-Regular, PingFang SC;
+                        font-weight: 400;
+                        color: rgba(0, 0, 0, 0.45);
+                        line-height: 22px;
+                    }
+                    .big{                                               
+                        height: 28px;
+                        font-size: 20px;
+                        font-family: PingFangSC-Regular, PingFang SC;
+                        font-weight: 400;
+                        color: rgba(0, 0, 0, 0.85);
+                        line-height: 28px;
+                    }
+                }
+
+            }
+        }
+
+    }
+    .section{
+        background: white;
+        padding:20px ;
+        .breadcrumb{
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .sectionBody{
+            
+            p{
+                margin-bottom: 0;
+            }
+            .section-item{
+                background: white;
+                margin-bottom: 20px;
+            }
+            .tabBox{
+                padding: 15px 20px 0;
+                display: flex;
+                flex-wrap: wrap;
+                position: relative;
+                .search-item{
+                    margin-bottom: 12px;
+                    width: 30%;
+                }
+                .opt-item{
+                    position: absolute;
+                    right: 20px;
+                    top: 16px;
+                }
+            }
+            .sectionHead{
+                padding: 15px 20px;
+                // height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: rgba(0, 0, 0, 0.85);
+                line-height: 24px;
+                border-bottom: 1px solid  #E9E9E9;;
+                .allOrder{
+                    float: right;
+                }
+            }
+            .section-box{
+                margin-top: 30px;
+                padding: 20px 20px;
+                border: 1px solid #E9E9E9;
+                .description{
+                    margin-top: 10px;
+                    .time{
+                        height: 32px;
+                        line-height: 32px;
+                    }
+                }
+                ul{
+                    display: flex;
+                    flex-wrap: wrap;
+                    // justify-content: space-around;
+                }
+                li{
+                    
+                    width: 30%;
+                    height: 22px;
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 22px;
+                    text-align: left;
+                    margin-bottom: 15px;
+                }
+                .top{
+                    margin-bottom: 25px;
+                }
+                .bottom{
+                    h4{
+                        
+                        font-size: 15px;
+                        font-family: PingFangSC-Medium, PingFang SC;
+                        font-weight: 600;
+                        color: rgba(0, 0, 0, 0.85);
+                        margin-bottom: 25px;
+                    }
+                }
+                .shenhe{
+                    width: 6px;
+                    height: 6px;
+                    display: inline-block;
+                    background: #52C41A;
+                    border-radius: 50%;
+                    position: relative;
+                    top: -2px;
+
+                }
+                .wancheng{
+                    width: 6px;
+                    height: 6px;
+                     display: inline-block;
+                    background: #1890FF;
+                    border-radius: 50%;
+                    // margin-right: 3px;
+                    position: relative;
+                    top: -2px;
+                }
+                .bohui{
+                    width: 6px;
+                    height: 6px;
+                    display: inline-block;
+                    background: #F5222D;
+                    border-radius: 50%;
+                    position: relative;
+                    top: -2px;
+                }
+            }
+            
+        }
+    }
+}
+.videoBox{
+    width: 320px;
+    height: 180px;
+}
+.imgBox{
+    width: 100%;
+    height: 180px;
+}
+.marterialInfo{
+    
+    p{margin-bottom: 0;}
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+    .info-item{
+        margin-bottom: 20px;
+        display: flex;
+        // justify-content: center;
+        align-items: center;
+        span{
+            display: inline-block;
+            width: 70px;
+            text-align: left;
+        }
+        .ant-tag{
+            width: auto;
+            min-width: 50px;
+            text-align: center;
+        }
+    }
+    .info{
+        ul{
+            display: flex;
+            justify-content: space-between;
+            flex-wrap: wrap;
+        }
+        li{
+            width: 33.3%;
+            margin-bottom: 20px;
+        }
+        margin-bottom: 0;
+    }
+    .bottom-btn{
+        width: 100%;
+        text-align: center;
+        position: absolute;
+        bottom: 20px;
+        left: 0;
+
+    }
+}
+</style>
+
+<style lang="less">
+    .orderDetail{
+        .ant-timeline-item-head{
+            background: rgb(240,242,245);
+        }
+        .muen{
+            cursor: pointer;
+        }
+        .muen:hover{
+            color: #1890ff;
+        }
+    }   
+    
+</style>
+<template>
+    <div class="orderDetail ">
+        
+        <div class="section">
+             <p class="breadcrumb">
+                <a-breadcrumb style="display:block;width:100%">
+                    <a-breadcrumb-item ><span class="muen" @click="goPlantForm()">工作台</span></a-breadcrumb-item>
+                    <a-breadcrumb-item>物料列表</a-breadcrumb-item>
+                </a-breadcrumb>
+            </p>
+            <div class="sectionBody">
+                <!-- <div class="tabBody">
+                    <a-tabs v-model="activeKey" @change='tabChange'>
+                        <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title"  >
+                            
+                        </a-tab-pane>
+                    </a-tabs>
+                </div> -->
+                <!-- 素材列表 -->
+                <div class="section-item">
+                    <div class="tabBox">
+                        
+                        <div class="search-item">
+                            <span>名称:</span>
+                            <a-input placeholder="请输入订单名称" allow-clear v-model="materialName" style="width:300px" />
+                        </div>
+                        <div class="search-item">
+                            <span>编号:</span>
+                            <a-input placeholder="请输入订单编号" allow-clear v-model="materialId" style="width:300px" />
+                        </div>
+                        
+
+                        <div class="search-item">
+                            <span>所属订单:</span>
+                            <a-input placeholder="所属订单" allow-clear v-model="orderSponsor" style="width:300px" />
+                        </div>
+                        <div class="opt-item">
+                            <a-button type='primary' @click="search" style="margin-right:20px">查询</a-button>
+                            <a-button type='default' @click="reset">查询</a-button>
+                        </div>
+                    </div>
+                        
+                    
+                    <div class="section-box">
+                         <a-table
+                            size="middle"
+                            :columns="columns"
+                            :dataSource="data"
+                            id="outTable"
+                            :pagination="ipagination"
+                            :loading="loading"
+                            @change="sort"
+                            style="word-break: break-all;"
+                            >
+                            <div slot="materialStatus" slot-scope="text" >
+                                <span class="wancheng" v-if="text==7"> </span>
+                                <span class="bohui" v-else-if="text==6||text==4"> </span>
+                                <span class="shenhe" v-else> </span>
+                                {{text | handleMaterialStatus}}
+                            </div>
+                            <div slot="scriptStatus" slot-scope="text,record">
+                                <div v-if="text==0||text==2">脚本未上传</div>
+                                <div v-if="text==1">
+                                    <a href="javascript:;" @click="scriptViewDetails(record)">预览</a>
+                                    <a-divider type="vertical" />
+                                    <a href="javascript:;" @click="scriptApproved(record)">通过</a>
+                                    <a-divider type="vertical" />
+                                    <a href="javascript:;" @click="scriptReject(record)">驳回</a>
+                                </div>
+                                <div v-if="text==3">
+                                     <a href="javascript:;" @click="scriptViewDetails(record)">预览</a>
+                                </div>
+                            </div>
+                            <div slot="videoStatus" slot-scope="text,record">
+                                <div v-if="text==0||text==2">视频未上传</div>
+                                <div v-if="text==1">
+                                    <a href="javascript:;" @click="viewDetails(record)">预览</a>
+                                    <a-divider type="vertical" />
+                                    <a href="javascript:;" @click="approved(record)">通过</a>
+                                    <a-divider type="vertical" />
+                                    <a href="javascript:;" @click="reject(record)">驳回</a>
+                                </div>
+                                <div v-if="text==3">
+                                     <a href="javascript:;" @click="viewDetails(record)">预览</a>
+                                </div>
+                            </div>
+                           
+
+                        </a-table>
+                    </div>
+                    <a-drawer
+                    title="视频详情"
+                    width="640"
+                    :placement="placement"
+                    :closable="false"
+                    :visible="visible"
+                    @close="onClose"
+                    >
+                        <div class="videoBody">
+                            <div class="videoBox">
+                                <video :src="currentMaterial.src" ></video>
+                            </div>
+                            
+                            <div class="imgBox">
+                                <img src="" alt="">
+                                <img src="" alt="">
+                            </div>
+                        </div>
+                        <div class="marterialInfo">
+                            <div class="info-item">
+                                <span>素材状态:</span>
+                                <p>未审核</p>
+                            </div>
+                            <div class="info-item">
+                                <span>生成水印:</span>
+                                <a-select :defaultValue="4" v-model="size" style="width:70%;">
+                                    <a-select-option :value="item.id" :key="item.id" v-for="item of sizeType">{{
+                                        item.name
+                                    }}</a-select-option>
+                                </a-select>
+                                
+                            </div>
+                            <div class="info-item">
+                                <span>视频标签:</span>
+                                <a-tag>Tag 1</a-tag>
+                                <a-tag>Tag 1</a-tag>
+                            </div>
+                            <div class="info-item info">
+                                <ul>
+                                    <li><span>视频时长:</span> 17秒 </li>
+                                    <li><span>视频尺寸:</span> 1080*1920 </li>
+                                    <li><span>视频大小:</span> 31.42M </li>
+                                    <li><span>策划:</span> 吴永前 </li>
+                                    <li><span>拍摄:</span> 吴永前 </li>
+                                    <li><span>剪辑:</span> 吴永前 </li>                                    
+                                </ul>
+                            </div>
+                            <div class="info-item">
+                                <span>广告语:</span>
+                                <p>14354534324454354水电费水电费方式手动</p>
+                            </div>
+                            <div class="bottom-btn">
+                                <a-button type='primary' @click="approved" style="margin-right:20px">通过审核</a-button>
+                                <a-button type='default' @click="reject">驳回</a-button>
+                            </div>
+                        </div>
+                    </a-drawer>
+                    <a-drawer
+                    title="脚本详情"
+                    width="640"
+                    :placement="placement"
+                    :closable="false"
+                    :visible="scriptVisible"
+                    @close="scriptClose"
+                    >
+                        <div class="videoBody">
+                            <div class="videoBox">
+                                <video :src="currentMaterial.src" ></video>
+                            </div>
+                            
+                            <div class="imgBox">
+                                <img src="" alt="">
+                                <img src="" alt="">
+                            </div>
+                        </div>
+                        <div class="marterialInfo">
+                            <div class="info-item">
+                                <span>素材状态:</span>
+                                <p>未审核</p>
+                            </div>
+                            <div class="info-item">
+                                <span>生成水印:</span>
+                                <a-select :defaultValue="4" v-model="size" style="width:70%;">
+                                    <a-select-option :value="item.id" :key="item.id" v-for="item of sizeType">{{
+                                        item.name
+                                    }}</a-select-option>
+                                </a-select>
+                                
+                            </div>
+                            <div class="info-item">
+                                <span>视频标签:</span>
+                                <a-tag>Tag 1</a-tag>
+                                <a-tag>Tag 1</a-tag>
+                            </div>
+                            <div class="info-item info">
+                                <ul>
+                                    <li><span>视频时长:</span> 17秒 </li>
+                                    <li><span>视频尺寸:</span> 1080*1920 </li>
+                                    <li><span>视频大小:</span> 31.42M </li>
+                                    <li><span>策划:</span> 吴永前 </li>
+                                    <li><span>拍摄:</span> 吴永前 </li>
+                                    <li><span>剪辑:</span> 吴永前 </li>                                    
+                                </ul>
+                            </div>
+                            <div class="info-item">
+                                <span>广告语:</span>
+                                <p>14354534324454354水电费水电费方式手动</p>
+                            </div>
+                            <div class="bottom-btn">
+                                <a-button type='primary' @click="approved" style="margin-right:20px">通过审核</a-button>
+                                <a-button type='default' @click="reject">驳回</a-button>
+                            </div>
+                        </div>
+                    </a-drawer>
+                </div>
+            </div>
+        </div>
+    </div>
+
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+import qs from 'qs'
+
+let columns=[
+    {
+        title: '物料名称',
+        dataIndex: 'orderTitle',
+        align: 'center',        
+        key: 'orderTitle',
+        scopedSlots: { customRender: 'orderTitle' }
+    },
+    {
+        title: '物料编号',
+        dataIndex: 'id',
+        align: 'center',        
+        key: 'tag',
+        scopedSlots: { customRender: 'id' }
+    },
+    {
+        title: '物料状态',
+        dataIndex: 'materialStatus',
+        align: 'center',        
+        key: 'materialStatus',
+        scopedSlots: { customRender: 'materialStatus' }
+    },
+    {
+        title: '脚本',
+        dataIndex: 'scriptStatus',
+        align: 'center',        
+        key: 'scriptStatus',
+        scopedSlots: { customRender: 'scriptStatus' }
+    },
+     {
+        title: '视频',
+        dataIndex: 'videoStatus',
+        align: 'center',        
+        key: 'videoStatus',
+        width:250,
+        scopedSlots: { customRender: 'videoStatus' }
+    },
+    {
+        title: '所属订单',
+        dataIndex: 'materialFinishTime',
+        align: 'center',        
+        key: 'materialFinishTime',
+        scopedSlots: { customRender: 'materialFinishTime' }
+    },
+   
+]
+
+
+
+export default {
+    name:'material-list',
+    data() {
+        const panes = [
+            { title: '脚本列表', content: '', key: 1 , },
+            { title: '视频列表', content: '', key: 2 , },           
+        ];
+        return {
+            
+            userInfo:{},
+            roleCode:'',
+
+            panes,
+            activeKey: 1,
+            orderInfo:{ },
+
+            columns,
+            data:[],
+            loading:false,
+            ipagination: {
+                current: 1,
+                pageSize: 10,
+                //   pageSizeOptions: ['10', '20', '30'],
+                showTotal: (total, range) => {
+                    return range[0] + "-" + range[1] + " 共" + total + "条"
+                },
+                showQuickJumper: true,
+                showSizeChanger:true,
+                pageSizeOptions: ['10', '30', '50'],
+                total: 0,
+                onChange: (current, pageSize) => {
+                    // 切换分页时的回调,
+                    // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+                    this.ipagination.current = current;
+                    this.ipagination.pageSize= pageSize;
+                }
+            },
+            // 订单进度
+            materialName:'',
+            materialId:'',
+            orderStatus:'',
+            orderParticipants:"",
+            orderSponsor:'',
+
+            visible: false,
+            scriptVisible:false,
+            placement: 'right',
+            currentMaterial:{},
+
+
+            sizeType:[],
+            size: "4",
+        }
+    },
+    methods: {
+        goPlantForm(){
+            if(this.$parent.role=='operator'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }else if(this.$parent.role=='designLeader'){
+                this.$parent.currentTabComponent='designleaderPlatform'
+            }else if(this.$parent.role=='design'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }
+        },
+        tabChange(key){
+            console.log(key)
+           
+            this.tableHttp(key)
+        },
+        handleChange(value) {
+            console.log(`selected ${value}`);
+        },
+        
+        filterOption(input, option) {
+            return (
+                option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+            );
+        },
+
+        // 查看详情
+        viewDetails(record){
+            console.log(record)
+           this.visible=true;
+        },
+        // 查看详情
+        scriptViewDetails(record){
+            console.log(record)
+            this.scriptVisible=true;
+            // this.$router.push(`/workBench/orderDetail?orderId=${record.id}`)
+        },
+        
+        
+        // 撤回订单
+        withdrawOrder(){
+
+        },
+        // 更多操作
+        handleMenuClick(e) {
+            console.log('click', e);
+        },
+
+        
+
+        // 验收
+        checkAccept(record){
+            console.log(record)
+        },
+        onClose() {
+            this.visible = false;
+        },
+        scriptClose() {
+            this.scriptVisible = false;
+        },
+        // 上传素材
+        uploadMaterial(){
+
+        },
+
+        sort(pagination, filters, sorter, { currentDataSource }){
+        
+            this.ipagination.current=pagination.current;
+
+            this.ipagination.pageSize=pagination.pageSize;
+            this.materialHttp()
+        },
+        // 请求素材
+        materialHttp(){
+            // this.loading=true;           
+            this.data=[];
+        },
+
+        
+
+        
+
+        // 视频通过审核
+        approved(){
+
+        },
+        // 视频驳回
+        reject(){
+
+        },
+        
+        search(){
+
+        },
+        reset(){
+            this.materialName='';
+            this.materialId='';
+            this.orderStatus='';
+            this.orderParticipants="";
+            this.orderSponsor='';
+        },
+
+        tableHttp(type){
+            let  params=this.handlerParams(type)
+            params={
+                ...params,
+                pageNo:this.ipagination.current,
+                pageSize:this.ipagination.pageSize
+            }
+            console.log(params)
+            getAction('/platform/designer/listByOperatorUserId',params).then(res=>{
+                console.log(res);
+                if(res.success){
+                    this.data=res.result.records;
+                    this.ipagination.total=res.result.total;
+
+                }
+            })
+        },
+
+        handlerParams(status){
+            if(this.$parent.role=='operator'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        createBy:this.userInfo.id
+                    }
+                }
+            }else if(this.$parent.role=='designLeader'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        design:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        materialStatus:1,
+                        design:this.userInfo.id
+                    }
+                }
+            }else if(this.$parent.role=='design'){
+                if(status==1){
+                    return {
+                        materialStatus:0,
+                        design:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        materialStatus:1,
+                        design:this.userInfo.id
+                    }
+                }else if(status==3){
+                    return {
+                        materialStatus:3,
+                        design:this.userInfo.id
+                    }
+                }else if(status==4){
+                    return {
+                        design:this.userInfo.id
+                    }
+                }
+            }
+           
+        },
+        
+    },
+    mounted(){
+        
+        let userInfo=localStorage.getItem('pro__Login_Userinfo');
+        if(userInfo){
+            this.userInfo=JSON.parse(userInfo).value
+        }
+        this.roleCode=localStorage.getItem('roleCode')
+        console.log(this.$parent.materialStatus)
+    },
+    activated() {
+        
+        this.activeKey=this.$parent.materialStatus
+        this.tableHttp(this.$parent.materialStatus)
+    },
+    filters:{
+        handleMaterialStatus(val){
+            let text
+            switch (val) {
+                case 0:
+                    text='待指派'
+                    break;
+                case 1:
+                    text='脚本已上传'
+                    break;
+                case 2:
+                    text='脚本待审核'
+                    break;
+                case 3:
+                    text='视频待上传'
+                    break;
+                case 4:
+                    text='脚本被驳回'
+                    break;
+                case 5:
+                    text='视频待审核'
+                    break;
+                case 6:
+                    text='视频被驳回'
+                    break;
+                case 7:
+                    text='物料已完成'
+                    break;
+                case -1:
+                    text='已作废'
+                    break;
+            
+                default:
+                    text='出错'
+                    break;
+            }
+            return text
+        }
+    },
+
+}
+</script>

+ 511 - 0
src/views/modules/workBench/operator/platForm.vue

@@ -0,0 +1,511 @@
+<template>
+    <div class="workBench">
+        <div class="topBody">
+            <p class="breadcrumb">工作台</p>
+            <div class="bottom">
+                <div class="touxiang">
+                    <img src="@/assets/touxiang.png"  alt="">
+                </div>  
+                <div class='tip'>
+                    <p class="greet">早安,{{userInfo.username}},祝你开心每一天!</p>
+                    <p class="descPosition">
+                        <span>运营经理</span>
+                        <a-divider type="vertical" />
+                        <span>华北地区-头条事业部</span>
+                    </p>
+                </div>
+                <a-button type='primary' class="mybtn" @click="sendOrder">
+                    <a-icon type="plus" />
+                    发起订单
+                </a-button>
+            </div>
+        </div>
+        <div class="section">
+            <div class="sectionBody">
+                <div class="sectionLeftBox">
+                    <div class="leftTop">
+                        <div class="sectionHead">
+                            我的工作内容
+                        </div>
+                        <div class="zhanshiBox">
+                           
+                            <div class="item" @click="goOrderList(1)">                               
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>我发起的订单</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>
+                            </div>
+                            <div class="item" @click="goMaterialList(1)">                                
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>待审核的物料</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>                              
+                            </div>
+                           
+                            <div class="item" @click="goOrderList(2)">                               
+                                <div class="title">                                   
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>已完成的订单</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>
+                            </div>
+                            <div class="item" @click="goOrderList(3)">                                
+                                <div class="title">                                   
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>被驳回的订单</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>
+                            </div>
+                            <div class="item" @click="goOrderList(4)">                                
+                                <div class="title">
+                                    <img src="@/assets/work.png" alt="" class="iconImg">
+                                    <span>全部订单</span>
+                                </div>
+                                <div class="itemBody">
+                                    <p class="count">60 <span>个</span></p>
+                                </div>                                
+                            </div>
+                        </div>  
+                    </div>
+                    <div class="leftBottom">
+                        <div class="sectionHead">
+                            订单进度
+                             <a-button type="link" class="allOrder" @click="goOrderList(4)">全部订单</a-button>
+                        </div>
+                        <div class="orderProgress">
+                            <ul class="orderProgress-list">
+                                <li v-for="(item,index) in orderProgressList" :key="index"  >
+                                    <!-- <span  style="display:block;width:100%"> -->
+                                    <div style="display:flex;align-items: center;" class="orderProgress-list-item" @click="orderDetail(item)">
+                                        <div style="display:flex;width:80%; align-items: center;" >
+                                            <span class="item-icon"></span>
+                                            <div class="content">
+                                                <p class="name">我是一个任务名称嗷嗷嗷啊</p>
+                                                <p class="desc">这是对这个任务的简介,所以得好好寻…</p>
+                                            </div>
+                                        </div>
+                                        
+                                        <div class="progress">
+                                            <a-progress type="circle" :percent="75" :width='30' :showInfo='false'  :strokeWidth='10' />
+                                            <span style="margin-left:15px">75%</span>
+                                        </div>
+                                    </div>
+                                    <!-- </span> -->
+                                </li>
+                            </ul>
+                            <!-- hideOnSinglePage -->
+                            <a-pagination size="small" :total="totalPage" :current='currentPage' class="fenye" :change='pageChange'  show-size-changer show-quick-jumper hideOnSinglePage />
+                        </div>
+                    </div>
+                </div>
+                <div class="sectionRightBox">
+                    <div class="rightTop">
+                        <div class="sectionHead">
+                            操作记录
+                        </div>
+                        <div class="optionRecordList">
+                            <a-timeline>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                <a-timeline-item color='#F0F2F5' style="height:30px">
+                                   <p style="margin-bottom:0px">
+                                    <span class="content-item">Create a services site 2015-09-01</span> 
+                                    <span class="time">1分钟前</span>
+                                   </p>
+                                </a-timeline-item>
+                                
+                            </a-timeline>
+                        </div>
+                    </div>
+                    <div class="rightBottom">
+                        <div class="sectionHead">
+                            本周项目燃尽图
+                        </div>
+                        <div class="burnDown">
+                             <a-progress type="circle" :percent="75"  :width='150' :strokeWidth='6' />
+                             <div class="tip">
+                                <p class="done">
+                                    <span class="item-icon"></span>
+                                    <span>已完成订单:{{}}个</span>
+                                </p>
+                                <p class="all">
+                                    <span class="item-icon"></span>
+                                    <span>未完成订单:{{}}个</span>
+                                </p>
+                             </div>
+                        </div>
+                    </div>
+                </div>
+                
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+import moment from 'moment';
+import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
+
+export default {
+    name:'operator-platform',
+    data() {
+        return {
+            touxiang:'@/assets/touxiang.png',
+            // 订单进度
+            orderProgressList:[
+                {},
+                {},
+                {}
+            ],
+
+            // 操作记录
+            optionRecord:[],
+
+            // 本周项目燃尽图
+            burnDownChart:[],
+
+            // 分页参数
+            totalPage:0,
+            currentPage:1,
+            userInfo:{},
+            roleCode:''
+        }
+    },
+    methods: {
+        goOrderList(val){
+            console.log(val);
+            // console.log(this.$parent)
+            this.$parent.currentTabComponent='orderList';
+            this.$parent.orderStatus=val
+            
+        },
+        goMaterialList(val){
+            this.$parent.currentTabComponent='materialList';
+            this.$parent.materialStatus=val
+        },
+        orderDetail(item){
+            console.log(item)
+            this.$parent.currentTabComponent='orderDetail';
+            this.$parent.orderId=item.id
+        },
+        // 分页页码改变
+        pageChange(page, pageSize){
+
+        },
+        
+        // 发起订单
+        sendOrder(){
+            this.$parent.currentTabComponent='placeOrder';
+            
+        },
+    },
+    mounted(){
+        let userInfo=localStorage.getItem('pro__Login_Userinfo');
+        if(userInfo){
+            this.userInfo=JSON.parse(userInfo).value
+        }
+        this.roleCode=localStorage.getItem('roleCode')
+        
+        
+    }
+}
+
+</script>
+
+<style lang="scss" scoped>
+.workBench{
+    ul,li{
+        margin: 0;
+        padding: 0;
+    }
+    width: 100%;
+    .topBody{
+        width: 100%;
+        height: 146px;
+        background: #FFFFFF;
+        margin-bottom: 12px;
+        padding: 20px;
+        box-sizing: border-box;
+        .breadcrumb{
+            width: 42px;
+            height: 22px;
+            font-size: 12px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #000000;
+            line-height: 22px;
+        }
+        .bottom{
+            display: flex;
+            position: relative;
+            // padding: 20px;
+            .touxiang{
+                width: 72px;
+                height: 72px;
+                margin-right: 20px;
+                border-radius: 50%;
+                overflow: hidden;
+                img{
+                    width: 100%;
+                    height: 100%;
+                    border-radius: 50%;
+                }
+            }
+            .tip{
+                .greet{
+                    height: 28px;
+                    font-size: 20px;
+                    font-family: PingFangSC-Medium, PingFang SC;
+                    font-weight: 500;
+                    color: rgba(0, 0, 0, 0.85);
+                    line-height: 28px;
+                }
+                .descPosition{
+                    height: 22px;
+                    font-size: 14px;
+                    font-family: PingFangSC-Regular, PingFang SC;
+                    font-weight: 400;
+                    color: rgba(0, 0, 0, 0.45);
+                    line-height: 22px;
+                }
+
+            }
+            .mybtn{
+                position: absolute;
+                // top: 50%;
+                // margin-left: -18px;
+                right: 0;
+            }
+        }
+
+    }
+    .section{
+        .sectionBody{
+            display: flex;
+            .sectionHead{
+                padding: 15px 20px;
+                // height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Medium, PingFang SC;
+                font-weight: 500;
+                color: rgba(0, 0, 0, 0.85);
+                line-height: 24px;
+                border-bottom: 1px solid  #E9E9E9;;
+                position: relative;
+                .allOrder{
+                    position: absolute;
+                    right: 5px;
+                }
+            }
+            .sectionLeftBox{
+                width: 70%;
+               
+                .leftTop{
+                    overflow: hidden;
+                    background: white;
+                }
+                .zhanshiBox{
+                    display: flex;
+                    flex-wrap: wrap;
+                    .item{
+                        width: 33.33%;
+                        // background: brown;
+                        padding: 20px ;
+                        border-right: 1px solid #E9E9E9;
+                        border-bottom: 1px solid #E9E9E9;
+                        .title{
+                            padding-bottom: 34px;
+                            color: #000000;
+                            .iconImg{
+                                width: 24px;
+                                margin-right: 8px;
+                            }
+                        }
+                        .itemBody{
+                            text-align: center;
+                            .count{
+                                
+                                font-size: 24px;
+                                font-family: PingFangSC-Medium, PingFang SC;
+                                font-weight: 500;
+                                color: #000000;
+                                line-height: 32px;
+                                cursor: pointer;
+                                span{
+                                    font-size: 16px;
+                                    cursor: pointer;
+                                }
+                            }
+                            .count:hover{                                
+                                color: #1890FF;
+                            }
+                        }
+                    }
+                    .item:nth-child(3n){
+                        border-right: 0;
+                    }
+                }
+                .leftBottom{
+                    margin-top: 12px;
+                    background: white;
+                    .orderProgress{
+                        padding: 0 20px;
+                        .orderProgress-list-item{
+                            padding: 10px 0;
+                            display: flex;
+                            align-items: center;
+                            border-bottom: 1px solid  #E9E9E9;;
+                            justify-content:space-between;
+                            cursor: pointer;
+                            .item-icon{
+                                width: 8px;
+                                height: 8px;
+                                background: #3BA0FF;
+                                margin-right: 15px;
+                                display: inline-block;
+                                border-radius: 50%;
+                            }
+                            .content{
+                                width: 70%;
+                                overflow: hidden;
+                                font-size: 14px;
+                                font-family: PingFangSC-Regular, PingFang SC;
+                                font-weight: 400;
+                                .name{
+                                    height: 22px;                                    
+                                    color: rgba(0, 0, 0, 0.65);
+                                    line-height: 22px;
+                                    text-overflow: ellipsis;
+                                    white-space: nowrap;
+                                    overflow: hidden;
+                                    margin-bottom: 0px;
+                                }
+                                .desc{
+                                    height: 22px;
+                                    color: rgba(0, 0, 0, 0.25);
+                                    line-height: 22px;
+                                    text-overflow: ellipsis;
+                                    white-space: nowrap;
+                                    overflow: hidden;
+                                     margin-bottom: 0px;
+                                }
+                            }
+                            .progress{
+                                float: right;
+                            }
+                        }
+                        .fenye{
+                            padding: 20px 0;
+                            text-align: right;
+                        }
+                    }
+                }
+            }
+            .sectionRightBox{
+                width: 29.5%;
+                // background: white;
+                margin-left: 12px;
+                .rightTop{
+                    height: 370px;
+                     background: white;
+                     .optionRecordList{
+                         padding: 20px;
+                         p{
+                             width: 100%;
+                         }
+                        .content-item{
+                            width: 80%;
+                            display: inline-block;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            white-space: nowrap;
+                        }
+                        .time{
+                            width: 20%;
+                            display: inline-block;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            white-space: nowrap;
+                        }
+                     }
+                }
+                .rightBottom{
+                    margin-top: 12px;
+                     background: white;
+                    .burnDown{
+                         padding: 30px 20px;
+                         text-align: center;
+                         .tip{
+                            margin-top: 40px;
+                            display: flex;
+                            justify-content: space-around;
+                             
+                            height: 22px;
+                            font-size: 14px;
+                            font-family: PingFangSC-Regular, PingFang SC;
+                            font-weight: 400;
+                            color: rgba(0, 0, 0, 0.65);
+                            line-height: 22px;
+                             .done{
+                                .item-icon{
+                                     width: 8px;
+                                    height: 8px;
+                                    background: #3BA0FF;
+                                    margin-right: 15px;
+                                    display: inline-block;
+                                    border-radius: 50%;
+                                }
+                             }
+                             .all{
+                                .item-icon{
+                                    width: 8px;
+                                    height: 8px;
+                                    background: #F0F2F5;
+                                    margin-right: 15px;
+                                    display: inline-block;
+                                    border-radius: 50%;
+                                } 
+                             }
+                         }
+                    }
+
+                }
+            }
+        }
+    }
+}
+</style>
+
+<style lang="less">
+    .workBench{
+        .ant-timeline-item-head{
+            background: rgb(240,242,245);
+        }
+    }
+</style>

+ 141 - 27
src/views/modules/workBench/orderDetail.vue

@@ -263,14 +263,21 @@
         .ant-timeline-item-head{
             background: rgb(240,242,245);
         }
+        .muen{
+            cursor: pointer;
+        }
+        .muen:hover{
+            color: #1890ff;
+        }
     }
 </style>
 <template>
     <div class="orderDetail ">
+        <a-spin :spinning="pageSpinning">
         <div class="topBody">
             <p class="breadcrumb">
                 <a-breadcrumb style="display:block;width:100%">
-                    <a-breadcrumb-item><router-link to="/workBench">工作台</router-link></a-breadcrumb-item>
+                    <a-breadcrumb-item ><span class="muen" @click="goPlantForm()">工作台</span></a-breadcrumb-item>
                     <a-breadcrumb-item>订单详情</a-breadcrumb-item>
                 </a-breadcrumb>
             </p>
@@ -300,12 +307,39 @@
                 </div>
                
                 <div class="optBody">
-                    <div class="btnBody">
-                        <a-button type='primary' @click="confirmOrder" v-if="roleCode=='designTeamLeader'|| roleCode=='admin'">确认订单</a-button>
-                        <!-- <a-button type='primary' style="margin-right:15px" @click="withdrawOrder" v-if="roleCode=='designTeamLeader'|| roleCode=='admin'">撤回订单</a-button> -->
-                        <a-button type='default'  @click="withdrawOrder" v-if="roleCode=='designTeamLeader'|| roleCode=='admin'">驳回订单</a-button>
-                        <!-- <a-button type='primary' style="margin-right:15px" @click="withdrawOrder" v-if="roleCode=='designTeamLeader'|| roleCode=='admin'">修改订单</a-button> -->
+                    <div class="btnBody" v-if="role=='designLeader'">
+                        <a-button type='primary' @click="confirmOrder" :loading='confirmOrderBtnLoading' v-if="currentOrderInfo.orderStatus==1">确认订单</a-button>
+                        <a-popover
+                            title="Click title"
+                            trigger="click"
+                            :visible="clicked"
+                            @visibleChange="handleClickChange"
+                            >
+                            <div slot="content">
+                               <a-textarea
+                                v-model="orderAdvice"
+                                placeholder="请填写驳回理由"
+                                :auto-size="{ minRows: 3, maxRows: 5 }"
+                                />
+                                <a @click="rejectOrder">确定驳回</a>
+                            </div>
+                             <a-button type='default'   :loading='rejectOrderBtnLoading' v-if="currentOrderInfo.orderStatus==1">驳回订单</a-button>
+                        </a-popover>
+                       
+                    </div>
+                    <div class="btnBody" v-if="role=='operator'">
+                        <a-popconfirm
+                            title="确定要撤回订单吗?"
+                            ok-text="撤回"
+                            cancel-text="取消"
+                            @confirm="withdrawOrderConfirm"
+                            @cancel="withdrawOrderCancel"
+                        >
+                            <a-button type='default' :loading='withdrawOrderBtnLoading' v-if="currentOrderInfo.orderStatus==0">撤回订单</a-button>
+                        </a-popconfirm>
+                        
                         
+                        <a-button type='default'  @click="editOrder" :loading='editOrderBtnLoading' v-if="currentOrderInfo.orderStatus==0||currentOrderInfo.orderStatus==2">修改订单</a-button>
                     </div>
                     <div class="orderInfo">
                         <div>
@@ -525,6 +559,7 @@
                 </div>
             </div>
         </div>
+        </a-spin>
     </div>
 </template>
 
@@ -654,8 +689,10 @@ let marterialData=[
     },
 ]
 export default {
+    name:'order-detail',
     data() {
         return {
+            pageSpinning:false,
             userInfo:{},
             roleCode:'',
             tabKey:1,
@@ -699,25 +736,92 @@ export default {
             currentOrderId:'',
             currentOrderInfo:{},
             url:{
-                orderDetail:'',
+                orderDetail:'/platform/order/queryById',
                 confirmOrder:'/platform/designer/accept',
-                rejectOrder:'/platform/designer/reject'
-            }
+                rejectOrder:'/platform/designer/reject',
+
+                withdrawOrder:'/platform/operator/destroy',
+            },
+
+            confirmOrderBtnLoading:false,
+            rejectOrderBtnLoading:false,
+            withdrawOrderBtnLoading:false,
+            editOrderBtnLoading:false,
+
+            orderAdvice:'',//驳回理由
+
+            role:'',
         }
     },
     methods: {
+        goPlantForm(){
+            if(this.$parent.role=='operator'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }else if(this.$parent.role=='designLeader'){
+                this.$parent.currentTabComponent='designleaderPlatform'
+            }else if(this.$parent.role=='design'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }
+        },
         // 确认订单
         confirmOrder(){
-            postAction(this.url.confirmOrder,{
-                id:this.currentOrderId.id,
-                orderCode:this.currentOrderInfo.orderCode,
-            }).then(res=>{
+            this.confirmOrderBtnLoading=true;
+            postAction(this.url.confirmOrder,this.currentOrderInfo).then(res=>{
+                console.log(res)
+                this.confirmOrderBtnLoading=false;
+                if(res.success){
+                    this.$message.success(res.messgae)
+                    this.orderDetailHttp()
+                }else{
+                    this.$message.error(res.message)
+                }
+            })
+        },
+        // 驳回订单
+        rejectOrder(){
+            if(this.orderAdvice){
+                this.rejectOrderBtnLoading=true;
+                let params={
+                    ...this.currentOrderInfo,
+                    orderAdvice:this.orderAdvice
+                }
+                postAction(this.url.rejectOrder,params).then(res=>{
+                    console.log(res)
+                    this.rejectOrderBtnLoading=false;
+                    if(res.success){
+                        this.$message.success(res.messgae)
+                        this.orderDetailHttp()
+                    }else{
+                        this.$message.error(res.message)
+                    }
+                })
+            }else{
+                this.$message.error('请填写驳回理由')
+            }
+            
+        },
+
+        // 撤回订单
+        withdrawOrderConfirm(){
+            this.withdrawOrderBtnLoading=true;
+            let params={
+                ...this.currentOrderInfo,               
+            }
+            postAction(this.url.withdrawOrder,params).then(res=>{
                 console.log(res)
+                this.withdrawOrderBtnLoading=false;
                 if(res.success){
+                    this.$message.success(res.messgae)
                     this.orderDetailHttp()
+                }else{
+                    this.$message.error(res.message)
                 }
             })
         },
+        withdrawOrderCancel(e) {
+            console.log(e);
+            // this.$message.error('');
+        },
         // 查看详情
         viewDetails(record){
             console.log(record)
@@ -804,11 +908,15 @@ export default {
 
         // 请求order详情数据
         orderDetailHttp(){
-
+            this.pageSpinning=true;
             getAction(this.url.orderDetail,{
                 id:this.currentOrderId
             }).then(res=>{
                 console.log(res)
+                this.pageSpinning=false;
+                if(res.success){
+                    this.currentOrderInfo=res.result;
+                }
             })
         },
         // 请求物料列表数据
@@ -831,25 +939,31 @@ export default {
         },
     },
     created(){
-        let userInfo=localStorage.getItem('pro__Login_Userinfo');
-        if(userInfo){
-            this.userInfo=JSON.parse(userInfo).value
-        }
-        this.roleCode=localStorage.getItem('roleCode')
+        
         getAction('/ctop/videoWatermarkTemplate/list').then(res => {
             if (res.success) {
                 this.sizeType = res.result.records
             }
         });
-        console.log(this.$route.query.orderId)
-        this.currentOrderId=this.$route.query.orderId;
-        if(this.currentOrderId){
-            postAction(this.url.orderDetail,{
 
-            }).then(res=>{
-
-            })
+        
+        
+    },
+    mounted() {
+       let userInfo=localStorage.getItem('pro__Login_Userinfo');
+        if(userInfo){
+            this.userInfo=JSON.parse(userInfo).value
         }
-    }
+        this.roleCode=localStorage.getItem('roleCode')
+        console.log(this.$parent.orderId)
+        this.currentOrderId=this.$parent.orderId;
+        this.role=this.$parent.role;  
+        
+    },
+    activated() {
+        if(this.currentOrderId){
+            this.orderDetailHttp()
+        } 
+    },
 }
 </script>

+ 151 - 78
src/views/modules/workBench/orderList.vue

@@ -135,7 +135,7 @@
                 .opt-item{
                     position: absolute;
                     right: 20px;
-                    top: 60px;
+                    top: 16px;
                 }
             }
             .sectionHead{
@@ -285,7 +285,15 @@
         .ant-timeline-item-head{
             background: rgb(240,242,245);
         }
+        .muen{
+            cursor: pointer;
+        }
+        .muen:hover{
+            color: #1890ff;
+        }
     }
+    
+    
 </style>
 <template>
     <div class="orderDetail ">
@@ -293,14 +301,14 @@
         <div class="section">
              <p class="breadcrumb">
                 <a-breadcrumb style="display:block;width:100%">
-                    <a-breadcrumb-item><router-link to="/workBench">工作台</router-link></a-breadcrumb-item>
+                    <a-breadcrumb-item ><span class="muen" @click="goPlantForm()">工作台</span></a-breadcrumb-item>
                     <a-breadcrumb-item>订单列表</a-breadcrumb-item>
                 </a-breadcrumb>
             </p>
             <div class="sectionBody">
                 <div class="tabBody">
                     <a-tabs v-model="activeKey" @change='tabChange'>
-                        <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title" v-if="pane.role=='all'||pane.role==roleCode||roleCode=='admin'" >
+                        <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title"  >
                             <!-- {{ pane.content }}{{pane.role+'-'+roleCode}} -->
                         </a-tab-pane>
                     </a-tabs>
@@ -317,31 +325,8 @@
                             <span>订单编号:</span>
                             <a-input placeholder="请输入订单编号" allow-clear v-model="orderId" style="width:300px" />
                         </div>
-                        <div class="search-item">
-                            <span>订单状态:</span>
-                            <a-select
-                                show-search
-                                placeholder="选择订单状态"
-                                option-filter-prop="children"
-                                style="width: 300px"
-                                :filter-option="filterOption"
-                                @change="handleChange"
-                            >
-                                <a-select-option value="jack">
-                                Jack
-                                </a-select-option>
-                                <a-select-option value="lucy">
-                                Lucy
-                                </a-select-option>
-                                <a-select-option value="tom">
-                                Tom
-                                </a-select-option>
-                            </a-select>
-                        </div>
-                        <div class="search-item">
-                            <span>参与的人:</span>
-                            <a-input placeholder="请输入订单参与人" allow-clear v-model="orderParticipants" style="width:300px" />
-                        </div>
+                        
+
                         <div class="search-item">
                             <span>发起的人:</span>
                             <a-input placeholder="请输入订单发起人" allow-clear v-model="orderSponsor" style="width:300px" />
@@ -358,34 +343,22 @@
                             size="middle"
                             :columns="columns"
                             :dataSource="data"
-                            id="outTable"
                             :pagination="ipagination"
                             :loading="loading"
                             @change="sort"
                             style="word-break: break-all;"
                             >
-                            <div slot="status" slot-scope="text" >
-                                <!-- <a-spin :spinning="record.spin" size="small" >
-                                    <div class="spin-content">
-                                        <a-switch size="default" :checked=text  @change="switchChange(text,record)"/>
-                                    </div>
-                                </a-spin>
-                                <a-switch size="default" :checked=text  @change="switchChange(text,record)"/> -->
-                               
-                                <span class="shenhe" v-if="text=='待审核'"> </span>
-                                <span class="wancheng" v-else-if="text=='已完成'"> </span>
-                                <span class="bohui" v-else> </span>
-                                {{text}}
+                            <div slot="orderStatus" slot-scope="text" >
+                                <span class="wancheng" v-if="text==3"> </span>
+                                <span class="bohui" v-else-if="text==2||text==-1"> </span>
+                                <span class="shenhe" v-else> </span>
+                                {{text | handleOrderStatus}}
                             </div>
                             <span slot="options" slot-scope="text,record">
-                                <a href="javascript:;" @click="viewDetails(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 href="javascript:;" @click="viewDetails(record)">详情</a>                                                           
+                            </span>
+                            <span slot="materialFinishTime" slot-scope="text">
+                                {{text||'-'}}                                                    
                             </span>
 
                         </a-table>
@@ -458,6 +431,7 @@ import moment from 'moment';
 import { getAction, postAction, downFile, downFilePost } from '@/api/manage';
 import qs from 'qs'
 
+
 let listColumns=[
     {
         title: '订单名称',
@@ -506,27 +480,31 @@ let listColumns=[
 
 
 export default {
+    name:'order-list',
     data() {
-        const panes = [
-            { title: '全部订单', content: '', key: '9' , role:'all' },
-            { title: '我发起的', content: '', key: '1' , role:'operate' },
-            { title: '待确定的', content: '', key: '2' , role:'designLeader' },
-            { title: '待指派的', content: '', key: '3' , role:'designLeader' },
-            { title: '我参与的', content: '', key: '4' , role:'all' },
-            { title: '待审核的', content: '', key: '5' , role:'all' },
-            { title: '已完成的', content: '', key: '6' , role:'all' },
-            { title: '被驳回的', content: '', key: '7' , role:'all' },
+        const operatorPanes = [
+            { title: '全部订单', content: '', key: 4 , },
+            { title: '我发起的', content: '', key: 1 , },           
+            { title: '已完成的', content: '', key: 2 ,},
+            { title: '被驳回的', content: '', key: 3 , },
 
         ];
+        const designLeaderPanes=[
+            { title: '全部订单', content: '', key: 4 , },
+            { title: '待确定的', content: '', key: 1 , },
+            { title: '待指派的', content: '', key: 2 , },
+            { title: '已完成的', content: '', key: 3 ,},
+            
+        ]
         return {
+            operatorPanes,
+            designLeaderPanes,
             userInfo:{},
             roleCode:'',
 
-            panes,
-            activeKey: panes[0].key,
-            orderInfo:{
-
-            },
+            panes:[],
+            activeKey: '4',
+            orderInfo:{ },
 
             columns:[...listColumns],
             data:[],
@@ -566,9 +544,18 @@ export default {
         }
     },
     methods: {
+        goPlantForm(){
+            if(this.$parent.role=='operator'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }else if(this.$parent.role=='designLeader'){
+                this.$parent.currentTabComponent='designleaderPlatform'
+            }else if(this.$parent.role=='design'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }
+        },
         tabChange(key){
             console.log(key)
-
+            this.tableHttp(key)
         },
         handleChange(value) {
             console.log(`selected ${value}`);
@@ -583,7 +570,9 @@ export default {
         // 查看详情
         viewDetails(record){
             console.log(record)
-            this.$router.push(`/workBench/orderDetail?orderId=${record.id}`)
+            // this.$router.push(`/workBench/orderDetail?orderId=${record.id}`)
+            this.$parent.currentTabComponent='orderDetail';
+            this.$parent.orderId=record.id
         },
         
         
@@ -652,6 +641,7 @@ export default {
 
         tableHttp(type){
             let  params=this.handlerParams(type)
+            this.loading=true;
             params={
                 ...params,
                 pageNo:this.ipagination.current,
@@ -659,6 +649,7 @@ export default {
             }
             getAction('/platform/order/listByCreatorOrDesignLeader',params).then(res=>{
                 console.log(res);
+                this.loading=false;
                 if(res.success){
                     this.data=res.result.records;
                     this.ipagination.total=res.result.total;
@@ -668,29 +659,111 @@ export default {
         },
 
         handlerParams(status){
-            if(status==1){
-
-            }else if(status==2){
-
-            }else if(status==3){
-                return {
-                    orderStatus:0,
-                    design:this.userInfo.id
+            if(this.$parent.role=='operator'){
+                if(status==1){
+                    return {
+                        orderStatus:0,
+                        createBy:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        orderStatus:3,
+                        createBy:this.userInfo.id
+                    }
+                }else if(status==3){
+                    return {
+                        orderStatus:2,
+                        createBy:this.userInfo.id
+                    }
+                }else if(status==4){
+                    return {
+                        createBy:this.userInfo.id
+                    }
+                }   
+            }else if(this.$parent.role=='designLeader'){
+                if(status==1){
+                    return {
+                        orderStatus:0,
+                        design:this.userInfo.id
+                    }
+                }else if(status==2){
+                    return {
+                        orderStatus:1,
+                        design:this.userInfo.id
+                    }
+                }else if(status==3){
+                    return {
+                        orderStatus:3,
+                        design:this.userInfo.id
+                    }
+                }else if(status==4){
+                    return {
+                        design:this.userInfo.id
+                    }
                 }
-            }     
+            }
+           
+        },
+        handlerParamsRole(role){
+            if(this.$parent.role=='operator'){
+                this.panes=this.operatorPanes
+            }else if(this.$parent.role=='designLeader'){
+                this.panes=this.designLeaderPanes
+            }
         }
     },
     mounted(){
+        
         let userInfo=localStorage.getItem('pro__Login_Userinfo');
         if(userInfo){
             this.userInfo=JSON.parse(userInfo).value
         }
         this.roleCode=localStorage.getItem('roleCode')
-        console.log(this.$route.query.status)
-        this.activeKey=this.$route.query.status
-        this.tableHttp(this.$route.query.status)
+        console.log(this.$parent.orderStatus)
+        if(this.$parent.role=='operator'){
+            this.panes=this.operatorPanes
+        }else if(this.$parent.role=='designLeader'){
+            this.panes=this.designLeaderPanes
+        }
+        this.activeKey=this.$parent.orderStatus
 
 
-    }
+    },
+    filters:{
+        handleOrderStatus(val){
+            let text
+            switch (val) {
+                case 0:
+                    text='待接单'
+                    break;
+                case 1:
+                    text='已接单'
+                    break;
+                case 2:
+                    text='已驳回'
+                    break;
+                case 3:
+                    text='已完成'
+                    break;
+                case -1:
+                    text='已作废'
+                    break;
+            
+                default:
+                    text='出错'
+                    break;
+            }
+            return text
+        }
+    },
+    activated() {
+        if(this.$parent.role=='operator'){
+            this.panes=this.operatorPanes
+        }else if(this.$parent.role=='designLeader'){
+            this.panes=this.designLeaderPanes
+        }
+        this.activeKey=this.$parent.orderStatus
+        this.tableHttp(this.$parent.orderStatus)
+    },
 }
 </script>

+ 16 - 1
src/views/modules/workBench/placeOrder.vue

@@ -166,6 +166,12 @@
             text-align: center;
             
         }
+        .muen{
+            cursor: pointer;
+        }
+        .muen:hover{
+            color: #1890ff;
+        }
     }
 </style>
 <template>
@@ -173,7 +179,7 @@
         <div class="topBody">
              <p class="breadcrumb">
                 <a-breadcrumb style="display:block;width:100%">
-                    <a-breadcrumb-item><router-link to="/workBench">工作台</router-link></a-breadcrumb-item>
+                    <a-breadcrumb-item ><span class="muen" @click="goPlantForm()">工作台</span></a-breadcrumb-item>
                     <a-breadcrumb-item>素材下单</a-breadcrumb-item>
                 </a-breadcrumb>
             </p>
@@ -446,6 +452,15 @@ export default {
         }
     },
     methods: {
+        goPlantForm(){
+            if(this.$parent.role=='operator'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }else if(this.$parent.role=='designLeader'){
+                this.$parent.currentTabComponent='designleaderPlatform'
+            }else if(this.$parent.role=='design'){
+                this.$parent.currentTabComponent='operatorPlatform'
+            }
+        },
         disabledDate(current) {
             return current && current < moment().subtract(1,'days')
         },

+ 3 - 3
vue.config.js

@@ -68,7 +68,7 @@ module.exports = {
     open : true,
     proxy: {
       '/jeecg-boot': {
-         target: 'http://192.168.1.8:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        //  target: 'http://192.168.1.8:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.0.59:8088', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.188:8088', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
@@ -79,10 +79,10 @@ module.exports = {
         // target: 'http://192.168.0.252:8098', //请求本地 需要jeecg-boot后台项目  毕洁泉
         
 
-        target: 'http://192.168.1.219:8080', //请求本地 需要jeecg-boot后台项目  赵西安
+        // target: 'http://192.168.1.219:8080', //请求本地 需要jeecg-boot后台项目  赵西安
 
 
-        //  target: 'http://api.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目
+         target: 'http://api.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目
         // target: 'https://trac.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目
         // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目
         //  target: 'http://adsp.tjyourong.com.cn/', //请求本地 需要jeecg-boot后台项目