소스 검색

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

wangh 2 년 전
부모
커밋
be33578cd3

+ 153 - 60
src/components/Finance/DailyFeePayment.vue

@@ -4,29 +4,29 @@
             <div class="search-li">
                 <div class="feeType-box">
                     <label>费用类型: </label>
-                    <el-select filterable placeholder="请输入费用类型">
+                    <el-select  v-model="feeTypValue" filterable placeholder="请选择费用类型"  @change="filtersub()">
                         <el-option
-                        v-for="item in GMAudit"
-                        :key="item.value"
-                        :label="item.groupName"
-                        :value="item.value">
+                        v-for="item in feeTypeData"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
                 <div class="feeType-box">
                     <label>费用子类型: </label>
-                    <el-select filterable placeholder="请输入费用子类型">
+                    <el-select @change="postPageDailyPaymentList()" :disabled="banned" v-model="feeSubTypeValue" filterable placeholder="请选择费用子类型">
                         <el-option
-                        v-for="item in GMAudit"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                        v-for="item in feeSubTypeData"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
                 <div class="feeType-box">
                     <label>财务审核: </label>
-                    <el-select v-model="financialValue" filterable placeholder="请输入财务审核状态">
+                    <el-select @change="postPageDailyPaymentList()" v-model="financialValue" filterable placeholder="请输入财务审核状态">
                         <el-option
                         v-for="item in financialAudit"
                         :key="item.value"
@@ -37,7 +37,7 @@
                 </div>
                 <div class="feeType-box">
                     <label>总经理审核: </label>
-                    <el-select v-model="GMValue" filterable placeholder="请输入总经理审核状态">
+                    <el-select @change="postPageDailyPaymentList()" v-model="GMValue" filterable placeholder="请输入总经理审核状态">
                         <el-option
                         v-for="item in GMAudit"
                         :key="item.value"
@@ -52,12 +52,12 @@
                 </div> -->
                 <div class="feeType-box">
                     <label>申请人: </label>
-                    <el-select v-model="GMValue" filterable placeholder="请输入申请人">
+                    <el-select @change="postPageDailyPaymentList()" v-model="userNameValue" filterable placeholder="请选择申请人">
                         <el-option
-                        v-for="item in GMAudit"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                        v-for="item in userNameData"
+                        :key="item.id"
+                        :label="item.cnName"
+                        :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
@@ -71,10 +71,10 @@
             <el-button type="primary">批量生成</el-button>
             <el-button type="primary">新增数据</el-button>
           </el-row>
-        <div class="form-box">
+        <div class="dailyment-box">
             <template>
                 <el-table
-                :data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)"
+                :data="tableData"
                 border
                 style="width: 100%">
                     <el-table-column
@@ -109,7 +109,7 @@
                     <el-table-column
                         prop="createTime"
                         label="申请时间"
-                        width="150">
+                        width="200">
                     </el-table-column>
                     <el-table-column
                         prop="fAuditDesc"
@@ -124,9 +124,9 @@
                     <el-table-column
                         prop="Id"
                         label="操 作">
-                        <el-link type="primary">生成</el-link>
-                        <el-link type="primary">详细</el-link>
-                        <el-link type="danger">删除</el-link>
+                        <el-link type="primary">生 成</el-link>
+                        <el-link type="primary">详 细</el-link>
+                        <el-link type="danger">删 除</el-link>
                     </el-table-column>
                 </el-table>
             </template>
@@ -146,57 +146,81 @@
 </template>
 
 <script>
+import { el } from '@fullcalendar/core/internal-common';
 export default {
     data() {
         return {
+            banned:true,
             input: '',
-            financialValue:"-1",
+            financialValue:-1,
             financialAudit:[
                 {
-                    value: '-1',
+                    value: -1,
                     label: '全部'
                 },
                 {
-                    value: '0',
+                    value: 0,
                     label: '未审核'
                 },
                 {
-                    value: '1',
+                    value: 1,
                     label: '已通过'
                 },
                 {
-                    value: '2',
+                    value: 2,
                     label: '未通过'
                 },
             ],
-            GMValue:"-1",
+            GMValue:-1,
             GMAudit:[
                 {
-                    value: '-1',
+                    value: -1,
                     label: '全部'
                 },
                 {
-                    value: '0',
+                    value: 0,
                     label: '未审核'
                 },
                 {
-                    value: '1',
+                    value: 1,
                     label: '已通过'
                 },
                 {
-                    value: '2',
+                    value: 2,
                     label: '未通过'
                 },
             ],
+            feeTypeData:[
+                {
+                    id: -1,
+                    name: "全部"
+                },
+            ],
+            feeTypValue:-1,
+            userNameData:[
+                {
+                    cnName: "全部",
+                    id:-1
+                }
+            ],
+            userNameValue:-1,
+            feeSubType:[],
+            feeSubTypeData:[
+                {
+                    id: -1,
+                    name: "全部",
+                    sTid:'-1'
+                }
+            ],
+            feeSubTypeValue:-1,
             formInline:{
                 feeDesc:""
             },
             tableData: [],
             tableDataLength: 0, // 数据总条数
             currentPage: 1,     // 当前页码
-            pageSize: 5 ,       // 每页的数据条数
-            currentPageUser: 1, // 当前页码
-            pageSizeUser: 5 ,   // 每页的数据条数
+            pageSize: 10 ,       // 每页的数据条数
+           
             multipleTable:[],
             token:''
         }
@@ -206,20 +230,23 @@ export default {
         handleSizeChange(val) {
             this.currentPage = 1;
             this.pageSize = val;
+            this.postPageDailyPaymentList()
         },
         //当前页改变时触发 跳转其他页
         handleCurrentChange(val) {
+            console.log(val)
             this.currentPage = val;
+            this.postPageDailyPaymentList()
         },
-        //每页条数改变时触发 选择一页显示多少行
-        handleSizeChanges(val) {
-            this.currentPageUser = 1;
-            this.pageSizeUser = val;
-        },
-        //当前页改变时触发 跳转其他页
-        handleCurrentChanges(val) {
-            this.currentPageUser = val;
-        },
+        // //每页条数改变时触发 选择一页显示多少行
+        // handleSizeChanges(val) {
+        //     this.currentPageUser = 1;
+        //     this.pageSizeUser = val;
+        // },
+        // //当前页改变时触发 跳转其他页
+        // handleCurrentChanges(val) {
+        //     this.currentPageUser = val;
+        // },
         handleSelectionChange(val) {
             this.multipleSelection = val;
             console.log(this.multipleSelection)
@@ -231,7 +258,8 @@ export default {
             return parseFloat(row[column.property]).toFixed(2);
         },
         async postPageDailyPaymentList() {
-            var url = "/api/Financial/PostPageDailyPaymentList"
+            console.log(this.feeTypValue)
+            var url = "/api/Financial/PostPageSearchDailyPaymentList"
             var that = this
             this.$axios({
                 method: 'post',
@@ -244,27 +272,87 @@ export default {
                     pageIndex: that.currentPage,
                     pageSize: that.pageSize,
                     companyId: -1,
-                    financialAuditStatus: -1,
-                    managerAuditStatus: -1,
-                    feeTypeId: -1,
-                    feeSubTypeId: -1,
-                    feeDesc: '',
-                    createUserId: -1
+                    financialAuditStatus: that.financialValue,//财务审核
+                    managerAuditStatus: that.GMValue,  //总经理审核
+                    feeTypeId: that.feeTypValue,           //费用类型
+                    feeSubTypeId: that.feeSubTypeValue,       //费用子类型
+                    feeDesc: '',    //描述
+                    createUserId: that.userNameValue //申请人
                 }
             }).then(function (res) {
                 console.log(res)
                 if (res.data.code == 200) {
-                    that.tableData = res.data.data;
-                    that.tableDataLength = res.data.count;
+                    that.tableData = res.data.data.dataList;
+                    that.tableDataLength = res.data.data.dataCount;
                 }
+                console.log(that.tableData);
             })
         },
+        getTypeData() {
+            var url = "/api/Financial/PostPageSearchDailyPaymentPriceTypeData"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType: 1,
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    for(var u=0;u<res.data.data.userNameData.length;u++){
+                        that.userNameData.push(res.data.data.userNameData[u])
+                    }
+                    // that.userNameData=res.data.data.userNameData;
+                    for(var l=0;l<res.data.data.feeTypeData.length;l++){
+                        that.feeTypeData.push(res.data.data.feeTypeData[l])
+                    }
+                    // that.feeTypeData=res.data.data.feeTypeData;
+                    that.feeSubType=res.data.data.feeSubTypeData;
+                    console.log(that.userNameData)
+                }
+            })
+        },
+        filtersub(){
+            this.feeSubTypeData=[
+                {
+                    id: -1,
+                    name: "全部",
+                    sTid:'-1'
+                }
+            ];
+            this.feeSubTypeValue=-1;
+            for(var i=0;i<this.feeSubType.length;i++){
+                if(this.feeSubType[i].sTid==this.feeTypValue){
+                    this.feeSubTypeData.push(this.feeSubType[i])
+                }
+            }
+            console.log(this.feeTypValue)
+            if(this.feeSubTypeData.length==1){
+                this.banned=true
+            }else{
+                this.banned=false
+            }
+            this.postPageDailyPaymentList()
+        }
     },
     mounted() {
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
-        // this.getgroupsname();
         this.postPageDailyPaymentList();
+        this.getTypeData();
         
+    },
+    watch:{
+        'feeSubTypeData.length': {
+        handler(newValue, oldValue) {
+            if (newValue !== oldValue) {
+                // this.banned=false
+            }
+        }
+    }
     }
 }
 </script>
@@ -284,8 +372,6 @@ export default {
         justify-content: end;
     }*/
     .search-ul{
-        display: flex;
-        justify-content: space-between;
         margin-bottom: 10px;
     }
     .search-li label{
@@ -293,17 +379,18 @@ export default {
     }
     .search-li{
         display: flex;
+        justify-content: space-between;
     }
     .search-li>div{
         margin-right: 10px;
     }
-    .form-box .el-table th.el-table__cell>.cell{
+    .dailyment-box .el-table th.el-table__cell>.cell{
         text-align: center;
     }
-    .form-box .el-table td.el-table__cell div{
+    .dailyment-box .el-table td.el-table__cell div{
         text-align: center;
     }
-    .form-box .block{
+    .dailyment-box .block{
         margin-top: 10px;
     }
     .visa-box .el-row{
@@ -344,4 +431,10 @@ export default {
         justify-content: space-between;
         align-items: center;
     }
+    .dailyment-box .el-link{
+        margin: 0 8px;
+    }
+    .search-li .feeType-box{
+        margin-right: 0;
+    }
 </style>

+ 239 - 4
src/components/Finance/DailyFeeedit.vue

@@ -1,13 +1,248 @@
 <template>
-    <div>
-        
+    <div class="dailyedit-box">
+        <div class="dailyedit-title">
+            新增日常费用付款申请款项
+        </div>
+        <el-form :model="ruleForm" :rules="rules" ref="ruleForm"  class="demo-ruleForm">
+            <div class="dailyedit-set">
+                <el-form-item label="费用标识:" label-width="85px" prop="identification">
+                    <el-select v-model="ruleForm.identification" placeholder="请选择费用标识">
+                        <el-option v-for="(item,index) in identificationset" :key="index" :label="item.title" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="费用类型:" prop="type" label-width="85px">
+                    <el-select v-model="ruleForm.type" placeholder="请选择费用类型">
+                        <el-option v-for="(item,index) in typeset" :key="index" :label="item.title" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="费用名称:" prop="name" label-width="85px">
+                    <el-select v-model="ruleForm.name" placeholder="请选择费用名称">
+                        <el-option v-for="(item,index) in nameset" :key="index" :label="item.title" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="申请公司:" prop="company" label-width="85px">
+                    <el-select v-model="ruleForm.company" placeholder="请选择申请公司">
+                        <el-option v-for="(item,index) in companyset" :key="index" :label="item.title" :value="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+            </div>
+            <el-form-item label="申请说明:" label-width="85px" prop="desc">
+                <el-input type="textarea" v-model="ruleForm.desc"></el-input>
+            </el-form-item>
+            <div class="dailyfrom-title">
+                <div>录入具体费用</div>
+                <el-form-item>
+                    <el-button size="mini" @click="AddForm()" type="primary">新 增</el-button>
+                </el-form-item>
+            </div>
+            <div class="items-form">
+                <div v-for="(item,index) in itemsArr" :key="index" class="items-li">
+                    <el-form  :model="item" class="demo-form-inline" label-width="85px">
+                        <el-form-item label="费用项目:">
+                            <el-input v-model="item.expenseItems" placeholder="费用项目名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="数量:">
+                            <template>
+                                <el-input-number min="1" v-model="item.num"></el-input-number>
+                            </template>
+                            <!-- <el-input v-model="item.num" placeholder="数量"></el-input> -->
+                        </el-form-item>
+                        <el-form-item label="单价(RNB):">
+                            <el-input-number :controls="false" v-model="item.price" :precision="2"></el-input-number>
+                            <!-- <el-input v-model="item.price" placeholder="单价">
+                                <i slot="suffix" style="font-style:normal;margin-right: 10px;">RNB</i>
+                            </el-input> -->
+                        </el-form-item>
+                        <el-form-item label="备注:">
+                            <el-input v-model="item.remark" placeholder="备注"></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button
+                              size="mini"
+                              type="danger"
+                              :disabled="itemsArr.length<=1"
+                              @click="deleteRow(index,itemsArr )"><i class="el-icon-delete"></i></el-button>
+                          </el-form-item>
+                    </el-form>
+                </div>
+            </div>
+            <el-form-item style="margin-left: 0px;">
+                <el-button type="primary" @click="submitForm('ruleForm')">保 存</el-button>
+                <el-button @click="resetForm('ruleForm')">返 回</el-button>
+            </el-form-item>
+        </el-form>
     </div>
 </template>
 <script>
 export default {
-    
+    data(){
+        return{
+            ruleForm: {
+                identification: '',
+                type: '',
+                name: '',
+                company: '',
+                desc:''
+            },
+            itemsArr:[
+                {
+                    expenseItems:"",
+                    num:'',
+                    price:"",
+                    remark:""
+                }
+            ],
+            rules: {
+                identification: [
+                    { required: true, message: '请选择费用标识', trigger: 'change' }
+                ],
+                type: [
+                    { required: true, message: '请选择费用类型', trigger: 'change' }
+                ],
+                name: [
+                    { required: true, message: '请选择费用名称', trigger: 'change' }
+                ],
+                company: [
+                    { required: true, message: '请选择申请公司', trigger: 'change' }
+                ],
+                desc: [
+                    { required: true, message: '请填写申请说明', trigger: 'change' }
+                ],
+            },
+            identificationset:[
+                {
+                    id:'0',
+                    title:'公转'
+                },
+                {
+                    id:'1',
+                    title:'私转'
+                },
+                {
+                    id:'2',
+                    title:'刷卡'
+                },
+            ],
+            typeset:[
+                {
+                    id:'0',
+                    title:'人员费用'
+                },
+                {
+                    id:'1',
+                    title:'办公费用'
+                },
+                {
+                    id:'2',
+                    title:'销售费用'
+                },
+                {
+                    id:'3',
+                    title:'其他费用'
+                },
+                {
+                    id:'4',
+                    title:'大运会'
+                },
+            ],
+            nameset:[
+                {
+                    id:'0',
+                    title:'员工工资'
+                },
+                {
+                    id:'1',
+                    title:'员工社保'
+                },
+                {
+                    id:'2',
+                    title:'员工福利'
+                },
+            ],
+            companyset:[
+                {
+                    id:'0',
+                    title:'成都泛美商务有限公司'
+                },
+                {
+                    id:'1',
+                    title:'四川泛美交流有限公司'
+                },
+                {
+                    id:'2',
+                    title:'成都纽茵教育科技有限公司'
+                },
+                {
+                    id:'3',
+                    title:'成都鸿企中元科技有限公司'
+                },
+            ],
+        }
+    },
+    methods:{
+        submitForm(formName) {
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    alert('submit!');
+                    console.log(this.itemsArr)
+                } else {
+                    console.log('error submit!!');
+                    return false;
+                }
+            });
+        },
+        resetForm(formName) {
+            this.$refs[formName].resetFields();
+        },
+        AddForm(){
+            this.itemsArr.push(
+                {expenseItems: '', num: '', price:'', remark: ''}
+            )
+        },
+        deleteRow(index, rows) {
+            rows.splice(index, 1);
+        },
+    }
 }
 </script>
 <style>
-    
+    .dailyedit-box{
+        background-color: #fff;
+        padding: 10px;
+        box-shadow: 0 0 5px #0005;
+        border-radius: 10px;
+    }
+    .dailyedit-title{
+        font-size: 17px;
+        font-weight: 600;
+        color: #555;
+        margin-bottom: 30px;
+    }
+    .dailyedit-set{
+        display: flex;
+        justify-content: space-between;
+    }
+    .items-li{
+        border-bottom: 1px #DCDFE6 solid;
+        margin-bottom: 12px;
+    }
+    .items-li .demo-form-inline{
+        display: flex;
+        justify-content: space-between;
+    }
+    .dailyfrom-title{
+        font-size: 14px;
+        font-weight: 600;
+        color: #555;
+        margin-bottom: 30px;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+    }
+    .dailyfrom-title .el-form-item{
+        margin: 0;
+    }
+    .items-li .el-form-item{
+        margin-bottom: 10px;
+    }
 </style>

+ 12 - 12
src/components/Login.vue

@@ -16,10 +16,10 @@
             <div class="login-box">
                 <div class="login-title">泛美国际 - AI智能办公系统</div>
                 <div class="login-input">
-                    <el-input class="accounts" placeholder="请输入您的账户" v-model="usernum">
+                    <el-input @keyup.enter.native="Login()" class="accounts" placeholder="请输入您的账户" v-model="usernum">
                         <i slot="prefix" class="el-input__icon icon-zhanghu"></i>
                     </el-input>
-                    <el-input class="passwords" placeholder="请输入您的密码" show-password v-model="password">
+                    <el-input @keyup.enter.native="Login()" class="passwords" placeholder="请输入您的密码" show-password v-model="password">
                         <i slot="prefix" class="el-input__icon icon-mima"></i>
                     </el-input>
                     <div class="el-input remembers">
@@ -33,7 +33,7 @@
                         </div>
                     </div>
                     <div class="loginbtn-box">
-                        <el-button @keyup.enter.native="Login()" @click="Login()" class="loginbtn"
+                        <el-button  @click="Login()" class="loginbtn"
                             v-loading.fullscreen.lock="fullscreenLoading" round>登 录</el-button>
                     </div>
                 </div>
@@ -121,15 +121,15 @@ export default {
         console.log(process.env.API_HOST);
 
         document.querySelector(".login-all").style.height = window.innerHeight + "px";
-        let that = this
-        document.onkeydown = function (e) {
-            e = window.event || e
-            //保证是在登录页面发出的enter事件
-            if (e.code === 'Enter' || e.code === 'enter' || e.code === 'NumpadEnter') {
-                //调用登录函数
-                that.Login();
-            }
-        }
+        // let that = this
+        // document.onkeydown = function (e) {
+        //     e = window.event || e
+        //     //保证是在登录页面发出的enter事件
+        //     if (e.code === 'Enter' || e.code === 'enter' || e.code === 'NumpadEnter') {
+        //         //调用登录函数
+        //         that.Login();
+        //     }
+        // }
     }
 }
 </script>

+ 326 - 0
src/components/MCR/MarketCustomerResourcesHome.vue

@@ -0,0 +1,326 @@
+<template>
+    <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
+        <div class="job-box">
+            <div class="job-head">
+                <!-- 预计出团量 -->
+                <div style="display: flex;margin-bottom: 10px;">
+                    <div style="width:24%">
+                        预计出团:<span>{{ preDele }}</span>
+                    </div>
+                    <div style="width:24%">
+                        预计出团总量:<span>{{ groupNumber.preDeleAll }}</span>
+                    </div>
+                    <div style="width:24%">
+                        已出团:<span>{{ finlishedDele }}</span>
+                    </div>
+                    <div style="width:24%">
+                        已出团总量:<span>{{ groupNumber.finlishedDeleAll }}</span>
+                    </div>
+                </div>
+
+
+                <div>
+                    <el-select v-model="principalSel" clearable placeholder="负责人">
+                        <el-option v-for="item in principalList" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-select v-model="territorySel" clearable placeholder="省 域">
+                        <el-option v-for="item in territoryList" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-select v-model="clientLvSel" clearable placeholder="客户级别">
+                        <el-option v-for="item in clientLvList" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-select v-model="clientTypeSel" clearable placeholder="客户类别">
+                        <el-option v-for="item in clientTypeList" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                    </el-select>
+                    <el-select v-model="businessClassSel" clearable placeholder="业务分类">
+                        <el-option v-for="item in businessClassList" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                    </el-select>
+
+                </div>
+                <!-- textbox框 -->
+                <div style="display: flex;margin-top: 10px;">
+                    <div style="width: 29%;">
+                        <el-input v-model="inputLXR" placeholder="联系人"></el-input>
+                    </div>
+                    &nbsp;
+                    <div style="width: 29%;">
+                        <el-input v-model="inputDQ" placeholder="地区"></el-input>
+                    </div>
+                    &nbsp;
+                    <div style="width: 29%;">
+                        <el-input v-model="inputDW" placeholder="单位"></el-input>
+                    </div>
+                    &nbsp;
+                    <div style="margin-left: 50px;">
+                        <el-button type="primary" @click="QueryData">查 询</el-button>
+                    </div>
+                </div>
+
+            </div>
+            <div class="job-table">
+                <el-table :data="PageList" border @select="handleSelect" style="width: 100%">
+                    <el-table-column prop="client" label="单位" width="140">
+                    </el-table-column>
+                    <el-table-column prop="contact" label="联系人">
+                    </el-table-column>
+                    <el-table-column prop="job" label="职位">
+                    </el-table-column>
+                    <el-table-column prop="telephone" label="手机号">
+                    </el-table-column>
+                    <el-table-column prop="phone" label="座机号">
+                    </el-table-column>
+                    <el-table-column prop="location" label="所在区域">
+                    </el-table-column>
+                    <el-table-column prop="birthday" label="生日">
+                    </el-table-column>
+                    <el-table-column prop="weight" label="权重">
+                    </el-table-column>
+                    <el-table-column prop="ascribedDepartment" label="业务归属">
+                        <template slot-scope="scope">
+                            <el-tooltip class="item" effect="dark" placement="top">
+                                <span style="color:royalblue">查看</span>
+                                <div slot="content">
+                                    <div v-for="yw in scope.row.ascribedDepartment"
+                                        style="text-align: center; width: 100px;padding: 5px;">
+                                        {{ yw.name }}
+                                    </div>
+                                </div>
+                            </el-tooltip>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="ascribedUser" label="负责人">
+                        <template slot-scope="scope">
+                            <el-tooltip class="item" effect="dark" placement="top">
+                                <span style="color:royalblue">查看</span>
+                                <div slot="content">
+                                    <div v-for="yw in scope.row.ascribedUser"
+                                        style="text-align: center; width: 100px;padding: 5px;">
+                                        {{ yw.cnName }}
+                                    </div>
+                                </div>
+                            </el-tooltip>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="remark" label="备注">
+                        <template slot-scope="scope">
+                            <div id="remark">
+                                <el-tooltip v-show="scope.row.remark != ''" class="item" effect="dark"
+                                    :content="scope.row.remark" placement="top">
+                                    <span
+                                        v-if="scope.row.remark.length > 10">{{ scope.row.remark.slice(0, 10) + "..." }}</span>
+                                    <span v-else>{{ scope.row.remark }}</span>
+                                    <div slot="content">
+                                        <div style="width: 300px;">
+                                            {{ scope.row.remark }}
+                                        </div>
+                                    </div>
+                                </el-tooltip>
+                            </div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="preDele" label="预计出团">
+                    </el-table-column>
+                    <el-table-column prop="finlishedDele" label="已出团">
+                    </el-table-column>
+                    <el-table-column label="操作">
+                        <template slot-scope="scope">
+                            <el-button type="primary" size="mini" @click="Edit(scope.row)">编
+                                辑</el-button>
+                            <br>
+                            <br>
+                            <el-button type="danger" size="mini" @click="Del(scope.row)">删
+                                除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <div class="block">
+                    <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                        :current-page="currentPage" :page-sizes="[10, 20]" :page-size="pageSize"
+                        layout="total, sizes, prev, pager, next" :total="total">
+                    </el-pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+
+
+export default {
+    data() {
+        return {
+            total: 0, //总行数
+            principalSel: '',
+            principalList: [],//负责人数据
+            territorySel: '',
+            territoryList: [],//省域数据
+            clientLvSel: '',
+            clientLvList: [],//客户级别数据
+            clientTypeSel: '',
+            clientTypeList: [],//客户类别数据]
+            businessClassSel: '',
+            businessClassList: [],//业务分类
+            PageList: [],    //页面数据
+            currentPage: 1, // 当前页码
+            pageSize: 10,// 每页的数据条数
+            loading: true,
+            inputLXR: '', //联系人
+            inputDQ: '', //地区
+            inputDW: '', //单位
+            pageloadData: {
+                "portType": 1,
+                "pageIndex": 1,
+                "pageSize": 10,
+                "contact": "",
+                "location": "",
+                "client": "",
+                "userid": "",
+                "lvlid": 0,
+                "business": "",
+                "Range": 0,
+                "Category": 0
+            },
+            groupNumber: {
+                preDeleAll: '',
+                finlishedDeleAll: ''
+            }
+        }
+    },
+    methods: {
+        //每页条数改变时触发 选择一页显示多少行
+        handleSizeChange(val) {
+            this.currentPage = 1;
+            this.pageSize = val;
+            this.pageloadData.pageIndex = val;
+            this.pageloadData.pageSize = this.pageSize;
+            this.pageload();
+        },
+        //当前页改变时触发 跳转其他页
+        handleCurrentChange(val) {
+            this.loading = true;
+            this.pageloadData.pageIndex = val;
+            this.pageloadData.pageSize = this.pageSize;
+            this.pageload();
+        },
+        //多选框选中方法
+        handleSelect(selection, row) {
+
+        },
+        pageload() {
+            var that = this;
+            //初始化界面数据
+            this.$axios.post('/api/MarketCustomerResources/QueryNewClientData', this.pageloadData, {
+                headers: {
+                    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',
+                }
+            }).then(resp => {
+                if (resp.data.code == 200) {
+                    console.log(resp.data);
+                    if (resp.data.data == null) {
+                        that.PageList = [];
+                        that.total = 0;
+                        this.$message.error(resp.data.msg);
+                    } else {
+                        that.principalList = resp.data.data.users; //负责人
+                        that.clientLvList = resp.data.data.level;//客户级别
+                        that.clientTypeList = resp.data.data.customerClass;//客户类别
+                        that.territoryList = resp.data.data.province; //省域数据
+                        that.businessClassList = resp.data.data.serviceClass; //业务归属
+                        that.PageList = resp.data.data.clientTableData.pageSource; //table数据
+                        that.total = resp.data.data.clientTableData.pageCount; //总数
+                        that.groupNumber = resp.data.data.groupNumber; //团组出团总数
+                    }
+                    that.loading = false;
+                }
+
+            }).catch(err => {
+                this.$message.error('网络异常!');
+                this.loading = false;
+            })
+        },
+        //保存权限
+        saveData() {
+            var that = this;
+        },
+        QueryData() {
+            this.pageloadData.pageIndex = this.currentPage;
+            this.pageloadData.pageSize = this.pageSize;
+            this.pageloadData.location = this.inputDQ; //地区
+            this.pageloadData.client = this.inputDW;  //单位
+            this.pageloadData.contact = this.inputLXR; //联系人
+            this.pageloadData.userid = this.principalSel.toString(); //负责人
+            this.pageloadData.Range = this.territorySel;//省域
+            this.pageload();
+        },
+        Edit(row) {
+            this.$router.push("/home/MCROper");
+        },
+        Del(row) {
+            console.log(row.id);
+        }
+    },
+    mounted() {
+        this.pageload();
+    },
+    computed: {
+        preDele() {
+            var number = 0;
+            this.PageList.forEach(element => {
+                number += element.preDele;
+            });
+            return number;
+        },
+        finlishedDele() {
+            var number = 0;
+            this.PageList.forEach(element => {
+                number += element.finlishedDele;
+            });
+            return number;
+        }
+    }
+}
+</script>
+<style>
+body {
+    margin: 0;
+    padding: 0;
+}
+
+.job-head {}
+
+.job-box {
+    background-color: #fff;
+    padding: 10px;
+    border-radius: 10px;
+}
+
+.job-table {
+    margin-top: 10px;
+}
+
+.job-table .block {
+    margin-top: 10px;
+}
+
+.job-table .el-table--enable-row-transition .el-table__body td.el-table__cell {
+    text-align: center;
+}
+
+.job-table .el-table--border .el-table__cell:first-child .cell {
+    text-align: center;
+}
+
+.job-input {
+    display: flex;
+}
+
+.job-input .el-select {
+    margin-right: 5px;
+}
+</style>

+ 24 - 0
src/components/MCR/MarketCustomerResourcesOperation.vue

@@ -0,0 +1,24 @@
+<template>
+    <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
+        <div class="operationMCR-Box">
+
+        </div>
+    </div>
+</template>
+
+<script>
+
+
+export default {
+    data() {
+        return {
+        }
+    },
+}
+</script>
+<style>
+body {
+    margin: 0;
+    padding: 0;
+}
+</style>

+ 13 - 0
src/router/index.js

@@ -42,10 +42,13 @@ import SetData from '@/components/system/SetData';
 import CustomerCompany from '@/components/Crm/CustomerCompany';
 import DeleClient from '@/components/Crm/DeleClient';
 import Cost from '@/components/Finance/Cost';
+import MCR from '@/components/MCR/MarketCustomerResourcesHome';
+import MCROper from '@/components/MCR/MarketCustomerResourcesOperation';
 import OCRIdentify from '@/components/OP/OCRIdentify';
 import GroupsTaskAssignment from '@/components/OP/GroupsTaskAssignment';
 import DailyFeePayment from '@/components/Finance/DailyFeePayment';
 import DailyFeeedit from '@/components/Finance/DailyFeeedit';
+
 Vue.use(Router)
 
 export default new Router({
@@ -243,6 +246,16 @@ export default new Router({
           name: 'Cost',
           component: Cost
         },
+        {
+          path: '/home/MCR',
+          name: 'MCR',
+          component: MCR
+        },
+        {
+          path: '/home/MCROper',
+          name: 'MCROper',
+          component: MCROper
+        },
         {
           path: '/home/OCRIdentify',
           name: 'Cost',