ソースを参照

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

yuanrf 1 ヶ月 前
コミット
164f8ac913

+ 1 - 1
src/components/OP/DepartProcessAdd.vue

@@ -90,7 +90,7 @@
                                             v-model="scope.row.timeRange" type="datetimerange" range-separator="至"
                                             start-placeholder="开始日期" end-placeholder="结束日期" size="mini"
                                             format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
-                                            @change="onTimeRangeChange(scope.$index)">
+                                            @input="onTimeRangeChange(scope.$index)">
                                         </el-date-picker>
                                     </template>
                                 </el-table-column>

+ 44 - 12
src/components/OP/OpInvitationOfficialActivities.vue

@@ -419,7 +419,6 @@ var namearr=['小姐','先生','女士','老师']
 var namewy = (rule, value, callback) => {
     var array=namearr.map((item,index)=>{
         if (value.includes(item)) { 
-            console.log(4123);
             callback(new Error('联系人不能包含先生、女士、小姐等字样'));
             return
         }
@@ -628,7 +627,6 @@ export default {
         },
         //卡类型切换
         cardhandoff(val){
-            console.log(val)
             for(var i=0;i<this.cardTypeData.length;i++){
                 if(val==this.cardTypeData[i].id){
                     this.InvitationOfficialActivities.bankNo=this.cardTypeData[i].remark;
@@ -649,7 +647,6 @@ export default {
             
             }).then(function (res) {
                 if (res.data.code == 200) {
-                    console.log(res)
                     that.payment = res.data.data.payTypeData;
                     that.cardTypeData = res.data.data.cardTypeData;
                     that.costIdentificationData = res.data.data.costIdentificationData;
@@ -741,7 +738,6 @@ export default {
                 }
             }).then(function (res) {
                 if (res.data.code == 200) {
-                    console.log(res)
                     that.delegationInfoList = res.data.data.groupName;
                     that.DiIdSelect = parseInt(that.DiId)
                     for (let index = 0; index < that.delegationInfoList.length; index++) {
@@ -770,7 +766,6 @@ export default {
                 }
             }).then(function (res) {
                 if (res.data.code == 200) {
-                    console.log(res.data.data)
                     that.InvitationOfficialActivities.payDId = res.data.data._CreditCard.payDId;
                     that.InvitationOfficialActivities.orbitalPrivateTransfer = res.data.data._CreditCard.orbitalPrivateTransfer;
                     that.InvitationOfficialActivities.payee = res.data.data._CreditCard.payee;
@@ -838,18 +833,35 @@ export default {
             var inviteRate=0;
             var translateRate=0;
             var sendRate=0;
+            var zongmoney=[];
             for (let h = 0; h < this.rateList.length; h++) {
                 if(this.InvitationOfficialActivities.eventsCurrency==this.rateList[h].currencyId){
                     eventsRate=this.rateList[h].rate;
+                    zongmoney.push({
+                        jine:this.InvitationOfficialActivities.eventsCost,
+                        bizhongs:this.InvitationOfficialActivities.eventsCurrency
+                    })
                 }
                 if(this.InvitationOfficialActivities.inviteCurrency==this.rateList[h].currencyId){
                     inviteRate=this.rateList[h].rate;
+                    zongmoney.push({
+                        jine:this.InvitationOfficialActivities.inviteCost,
+                        bizhongs:this.InvitationOfficialActivities.inviteCurrency
+                    })
                 }
                 if(this.InvitationOfficialActivities.translateCurrency==this.rateList[h].currencyId){
                     translateRate=this.rateList[h].rate;
+                    zongmoney.push({
+                        jine:this.InvitationOfficialActivities.translateCost,
+                        bizhongs:this.InvitationOfficialActivities.translateCurrency
+                    })
                 }
                 if(this.InvitationOfficialActivities.sendCurrency==this.rateList[h].currencyId){
                     sendRate=this.rateList[h].rate;
+                    zongmoney.push({
+                        jine:this.InvitationOfficialActivities.sendCost,
+                        bizhongs:this.InvitationOfficialActivities.sendCurrency
+                    })
                 }
             }
             if(
@@ -858,13 +870,33 @@ export default {
                 ||this.InvitationOfficialActivities.translateCurrency!=this.InvitationOfficialActivities.sendCurrency
                 ||this.InvitationOfficialActivities.sendCurrency!=this.InvitationOfficialActivities.eventsCurrency
                 ){
-                this.InvitationOfficialActivities.paymentCurrency=836
-                this.InvitationOfficialActivities.payMoney=(
-                    this.InvitationOfficialActivities.eventsCost*eventsRate+
-                    this.InvitationOfficialActivities.inviteCost*inviteRate+
-                    this.InvitationOfficialActivities.translateCost*translateRate+
-                    this.InvitationOfficialActivities.sendCost*sendRate
-                );
+                    for (let k = 0; k < zongmoney.length; k++) {
+                        if (zongmoney[k].jine==0) {
+                            zongmoney.splice(k,1)
+                            k--
+                        }
+                    }
+                    var totalss=[];
+                    for(let o = 0; o < zongmoney.length; o++){
+                        totalss.push(zongmoney[o].bizhongs)
+                    }
+                    if(Array.from(new Set(totalss)).length>1){
+                        this.InvitationOfficialActivities.paymentCurrency=836
+                        this.InvitationOfficialActivities.payMoney=(
+                            this.InvitationOfficialActivities.eventsCost*eventsRate+
+                            this.InvitationOfficialActivities.inviteCost*inviteRate+
+                            this.InvitationOfficialActivities.translateCost*translateRate+
+                            this.InvitationOfficialActivities.sendCost*sendRate
+                        );
+                    }else{
+                        this.InvitationOfficialActivities.paymentCurrency=Array.from(new Set(totalss))[0]
+                        this.InvitationOfficialActivities.payMoney=(
+                            this.InvitationOfficialActivities.eventsCost+
+                            this.InvitationOfficialActivities.inviteCost+
+                            this.InvitationOfficialActivities.translateCost+
+                            this.InvitationOfficialActivities.sendCost
+                        );
+                    }
             }else{
                 this.InvitationOfficialActivities.paymentCurrency=this.InvitationOfficialActivities.eventsCurrency
                 this.InvitationOfficialActivities.payMoney=(

+ 122 - 0
src/components/OP/TaskReview.vue

@@ -0,0 +1,122 @@
+<template>
+    <div class="taskreview-all">
+        <el-dialog width="400px" title="AI分析" :visible.sync="taskVisible">
+            <div>
+                <el-select style="width:100px" v-model="value" filterable placeholder="请选择">
+                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                </el-select>
+                <el-date-picker style="width: 250px;" v-model="searchdate" type="daterange" align="right" unlink-panels
+                    range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
+                </el-date-picker>
+            </div>
+            <div style="text-align: right; margin-top: 20px;">
+                <el-button type="primary" @click="taskVisible = false">确 定</el-button>
+            </div>
+        </el-dialog>
+        <div class="taskreview-hade">
+            <div>
+                <el-date-picker style="width: 250px;" v-model="searchdate" type="daterange" align="right" unlink-panels
+                    range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
+                </el-date-picker>
+                <el-select style="width: 200px;" v-model="value" placeholder="请选择">
+                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <el-button type="primary">AI分析</el-button>
+        </div>
+        <div class="taskreview-table">
+            <el-table :data="tableData" border style="width: 100%">
+                <el-table-column prop="date" label="序号" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="公司名称" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="员工" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="入职日期" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="是否转正" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="业务客户量" width="180">
+                </el-table-column>
+                <el-table-column prop="name" label="是否达标" width="180">
+                </el-table-column>
+                <el-table-column prop="address" label="地址">
+                </el-table-column>
+            </el-table>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data () {
+        return {
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+            searchdate: '',
+            value:'',
+            options:[
+                {value:'1',label:'正式员工'},
+                {value:'2',label:'试用期员工'},
+
+            ],
+            tableData:[],
+            taskVisible:true,
+        }
+    },
+    methods: {
+        textset(){
+            var a =[1,2,3];
+            var b =[3,4,5];
+            var ab=new Set([...a,...b]);
+            console.log(Array.from(ab));
+            console.log(...a);
+            console.log(...b);
+        }    
+    },
+    mounted(){
+        this.textset();
+    }
+}
+</script>
+<style>
+.taskreview-all {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    min-height: 830px;
+}
+.taskreview-hade{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-bottom: 10px;
+}
+</style>

+ 1 - 1
src/components/expenseMobile.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="expenseMobile-all">
-        <el-dialog :close-on-click-modal="false" top="20vh" custom-class="selfDialog" width="95%" title="详情" :visible.sync="expenseMobileVisible">
+        <el-dialog  top="20vh" custom-class="selfDialog" width="95%" title="详情" :visible.sync="expenseMobileVisible">
             <div class="dialog-title">详情</div>
             <div class="dialog-info">
                 <div class="dialog-info-ms">费用描述:{{dailydata.instructions}}</div>

+ 1 - 1
src/components/expenseMobileinfo.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="expenseMobileinfo-all" v-loading.fullscreen.lock="fullscreenLoading">
-        <el-dialog :close-on-click-modal="false" top="20vh" custom-class="selfDialog" width="95%" title="详情" :visible.sync="fymxVisible">
+        <el-dialog top="20vh" custom-class="selfDialog" width="95%" title="详情" :visible.sync="fymxVisible">
             <div class="dialog-title">费用明细</div>
             <div class="fymxinfo" v-html="fymx"></div>
             

+ 6 - 0
src/router/index.js

@@ -142,6 +142,7 @@ import ConferenceCost from '@/components/Finance/ConferenceCost'
 import AffairsBackward from '@/components/OP/AffairsBackward';
 import DepartProcessList from '@/components/OP/DepartProcessList'
 import DepartProcessAdd from '@/components/OP/DepartProcessAdd'
+import TaskReview from '@/components/OP/TaskReview'
 
 
 
@@ -850,6 +851,11 @@ export default new Router({
           name: 'DepartProcessAdd',
           component: DepartProcessAdd
         },
+        {
+          path: '/home/TaskReview',
+          name: 'TaskReview',
+          component: TaskReview
+        },
       ]
     },
     {