Kaynağa Gözat

联想及ai绩效添加功能

liuhj 1 hafta önce
ebeveyn
işleme
d3f13b11ce

+ 1 - 1
src/components/Finance/FeesPage.vue

@@ -107,7 +107,7 @@
                 <el-table-column prop="payType" label="支付方式" width="80" >
                 </el-table-column>
                 <el-table-column prop="cardType" label="卡类型" width="80" >
-                    <template slot-scope="scope">z
+                    <template slot-scope="scope">
                         {{scope.row.payType!="刷卡"?'-':scope.row.cardType}}
                     </template>
                 </el-table-column>

+ 38 - 6
src/components/Finance/Overspend.vue

@@ -5,9 +5,9 @@
                 <div class="head-ipt">
                     <div class="name-ipt">
                         <label>团组名称:</label>
-                        <el-select @change="changegroup" style="width:250px" v-model="diId" filterable
+                        <el-select @change="changegroup"  remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" style="width:250px" v-model="diId" filterable
                             placeholder="请选择">
-                            <el-option v-for="item in options" :key="item.id" :label="item.teamName" :value="item.id">
+                            <el-option v-for="item in optionsS" :key="item.id" :label="item.teamName" :value="item.id">
                             </el-option>
                         </el-select>
                         <span style="color: red;">&nbsp;&nbsp;&nbsp;*&nbsp;额外超支额度:{{reservetwo(extOver.limit)}} {{extOver.currencyName}} 、 当前已用额度:{{reservetwo(groupExtraPrice.usedAmount)}} {{groupExtraPrice.remainingCurrencyName}} 、剩余可用额度:{{reservetwo(groupExtraPrice.remainingAmount)}} {{groupExtraPrice.remainingCurrencyName}}</span>
@@ -171,6 +171,8 @@ export default {
             diId: 0,
             tableData: [],
             options: [],
+            optionsS: [],
+            selectLoading:false,
             headtitle: {},
             priceNameExists: [
                 '退餐费(地接导入)',
@@ -187,10 +189,41 @@ export default {
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+1015 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.optionsS = res.data.data;
+                    }else{
+                        that.optionsS=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.optionsS=this.options;
+            }
+        },
+
+
+
         reservetwo(value) {
             // 截取当前数据到小数点后两位
-            let realVal = new Decimal(value).toFixed(2)
-            return realVal
+            if (value) {
+                
+                let realVal = new Decimal(value).toFixed(2)
+                return realVal
+            }
         },
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
@@ -264,6 +297,7 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
                     that.options = res.data.data;
+                    that.optionsS = that.options;
                     if (that.diId == 0) {
                         if (that.DiId != that.DiId) {
                             that.diId = that.options[0].id;
@@ -506,8 +540,6 @@ export default {
             })
         },
         rowClassName({ row, rowIndex }) {
-            console.log(row, rowIndex);
-            
             if (rowIndex % 2 === 0) {
                 return 'warning-row';
             }else{

+ 31 - 2
src/components/Finance/Overspendedit.vue

@@ -4,9 +4,9 @@
             <div class="overspendedit-form">
                 <el-form ref="form" :rules="rules" :model="form" label-width="100px">
                     <el-form-item label="团队名称">
-                        <el-select filterable @change="getheadtitle" :disabled="disableds" v-model="DiId"
+                        <el-select filterable @change="getheadtitle" remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" :disabled="disableds" v-model="DiId"
                             placeholder="请选择团队名称">
-                            <el-option v-for="(item, index) in cTablelist" :key="index" :label="item.teamName"
+                            <el-option v-for="(item, index) in cTablelists" :key="index" :label="item.teamName"
                                 :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
@@ -137,6 +137,8 @@ export default {
             cardType: [],
             currencyType: [],
             cTablelist: [],
+            cTablelists:[],
+            selectLoading:false,
             rules: {
                 priceName: [
                     { required: true, message: '请输入费用名称', trigger: 'blur' },
@@ -181,6 +183,32 @@ export default {
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+1015 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.cTablelists = res.data.data;
+                    }else{
+                        that.cTablelists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.cTablelists=this.cTablelist;
+            }
+        },
+
         onSubmit() {
             this.datetime(this.form.priceDt)
         },
@@ -357,6 +385,7 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
                     that.cTablelist = res.data.data;
+                    that.cTablelists = that.cTablelist;
                     that.getheadtitle();
                 } else {
                     that.$message({

+ 33 - 3
src/components/OP/Customers.vue

@@ -7,12 +7,11 @@
                     <div>保险费用录入</div>
                 </div>
                 <div style="display: flex;justify-content: space-between;">
-
                     <div style="width: 80%;display: flex;">
                         <div style="width: 25%;">
-                            <el-select v-model="DiId" placeholder="团组选择" clearable filterable @change="VisaSelectChange"
+                            <el-select v-model="DiId"  remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" placeholder="团组选择" clearable filterable @change="VisaSelectChange"
                                 style="width: 100%;">
-                                <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                <el-option v-for="item in delegationInfoLists" :key="item.id" :label="item.teamName"
                                     :value="item.id">
                                 </el-option>
                             </el-select>
@@ -108,10 +107,40 @@ export default {
             VisaSelectList: [],
             VisaClient: '',
             delegationInfoList: [],
+            delegationInfoLists: [],
+            selectLoading:false,
             delegationInfo: {},
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+82 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.delegationInfoLists = res.data.data;
+                    }else{
+                        that.delegationInfoLists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.delegationInfoLists=this.delegationInfoList;
+                
+            }
+        },
+
+
         //保留两位小数
         townum(val) {
             return val.toFixed(2)
@@ -142,6 +171,7 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
                     that.delegationInfoList = res.data.data.groupName;
+                    that.delegationInfoLists = that.delegationInfoList;
                     that.DiId = that.$route.query.diId
                     if (that.DiId == undefined) {
                         that.delegationInfo = that.delegationInfoList[0]

+ 33 - 2
src/components/OP/DecreasePayments.vue

@@ -8,8 +8,8 @@
                 </div>
                 <div class="dphade" style="display: flex;">
                     <div style="width: 50%;">
-                        <el-select style="width:300px" v-model="DiId" placeholder="团组选择" clearable filterable @change="DecreasePaymentsChange">
-                            <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                        <el-select style="width:300px" v-model="DiId" remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" placeholder="团组选择" clearable filterable @change="DecreasePaymentsChange">
+                            <el-option v-for="item in delegationInfoLists" :key="item.id" :label="item.teamName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
@@ -115,11 +115,41 @@ export default {
             userId: 0,
             DiId: '',
             delegationInfoList: [],
+            delegationInfoLists: [],
+            selectLoading:false,
             delegationInfo: {},
             fileList:[],
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+98 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.delegationInfoLists = res.data.data;
+                    }else{
+                        that.delegationInfoLists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.delegationInfoLists=this.delegationInfoList;
+                
+            }
+        },
+
+
         //保留两位小数
         townum(val){
             return val.toFixed(2)
@@ -151,6 +181,7 @@ export default {
                 if (res.data.code == 200) {
                     console.log(that.DiId)
                     that.delegationInfoList = res.data.data.groupName;
+                    that.delegationInfoLists = that.delegationInfoList;
                     if(that.DiId!=that.DiId){
                         that.DiId = that.delegationInfoList[0].id;
                         that.delegationInfo = that.delegationInfoList[0];

+ 33 - 2
src/components/OP/OpCustomers.vue

@@ -43,9 +43,9 @@
                 <div style="display: flex;flex-wrap: wrap;">
                     <div style="width: 390px;">
                         <el-form-item label="团组名称:" label-width="160px">
-                            <el-select v-model="OpCustomersData.diId" clearable filterable placeholder="团组选择"
+                            <el-select v-model="OpCustomersData.diId" remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" clearable filterable placeholder="团组选择"
                                 :disabled="isShow" @change="DiIdSelectChange">
-                                <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                <el-option v-for="item in delegationInfoLists" :key="item.id" :label="item.teamName"
                                     :value="item.id">
                                 </el-option>
                             </el-select>
@@ -326,6 +326,8 @@ export default {
             DelfileName: "",
             delegationInfo: {},
             delegationInfoList: [],//团组下拉框
+            delegationInfoLists: [],//团组下拉框
+            selectLoading:false,
             insuranceCostList: [],//保险类型下拉框
             Balance: 0,//保险余额
             currencyList: [],//币种下拉框
@@ -416,6 +418,34 @@ export default {
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+82 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.delegationInfoLists = res.data.data;
+                    }else{
+                        that.delegationInfoLists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.delegationInfoLists=this.delegationInfoList;
+                
+            }
+        },
+
+
         //拼音
         pinyingxing(val) {
             return pinyin(val, { toneType: 'none' }).toUpperCase();
@@ -444,6 +474,7 @@ export default {
                 console.log('DecreasePaymentsSelect', res.data.data);
                 if (res.data.code == 200) {
                     that.delegationInfoList = res.data.data.groupName; //团组列表
+                    that.delegationInfoLists = that.delegationInfoList; //团组列表
                     that.PostTourClientListByDiId();
                     that.payment = res.data.data.payment; //支付方式
                     for (let index = 0; index < that.delegationInfoList.length; index++) {

+ 31 - 2
src/components/OP/OpDecreasePayments.vue

@@ -31,9 +31,9 @@
                 <div style="display: flex;flex-wrap: wrap;">
                     <div style="width: 394px;">
                         <el-form-item label="团组名称:" label-width="160px">
-                            <el-select v-model="DiIdSelect" clearable filterable placeholder="团组选择"
+                            <el-select v-model="DiIdSelect" remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" clearable filterable placeholder="团组选择"
                                 @change="DecreasePaymentsChange" :disabled="isShow" style="width: 100%;">
-                                <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                                <el-option v-for="item in delegationInfoLists" :key="item.id" :label="item.teamName"
                                     :value="item.id">
                                 </el-option>
                             </el-select>
@@ -269,6 +269,8 @@ export default {
             DiIdSelect: '',
             delegationInfo: {},
             delegationInfoList: [],//团组下拉框
+            delegationInfoLists: [],//团组下拉框
+            selectLoading:false,
             payment: [],//支付方式下拉框
             DecreasePaymentsData: {
                 status: 0,//操作状态 1 添加 2 修改
@@ -380,6 +382,32 @@ export default {
         },
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/GroupFeeKeywordSearch/" +this.userId+'/'+98 +'/'+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.delegationInfoLists = res.data.data;
+                    }else{
+                        that.delegationInfoLists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.delegationInfoLists=this.delegationInfoList;
+            }
+        },
+
         // 验证特殊字符
         validateSpecialChars(rule, value, callback) {
             console.log(value);
@@ -417,6 +445,7 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
                     that.delegationInfoList = res.data.data.groupName;
+                    that.delegationInfoLists = that.delegationInfoList;
                     that.DiIdSelect = parseInt(that.DiId)
                     for (let index = 0; index < that.delegationInfoList.length; index++) {
                         if (that.delegationInfoList[index].id == that.DiIdSelect) {

+ 32 - 2
src/components/OP/SharedFile.vue

@@ -13,9 +13,9 @@
                 </div>
                 <div v-if="filetype == 1412" class="sharedsile-Groups-li">
                     <label>团组名称:</label>
-                    <el-select  size="small" @change="QuerySharedFilegroup" v-model="diIdselect" clearable filterable placeholder="团组选择"
+                    <el-select  size="small" @change="QuerySharedFilegroup" remote :remote-method="GroupFeeKeywordSearch" :loading="selectLoading" v-model="diIdselect" clearable filterable placeholder="团组选择"
                         style="width: 300px;">
-                        <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
+                        <el-option v-for="item in delegationInfoLists" :key="item.id" :label="item.teamName"
                             :value="item.id">
                         </el-option>
                     </el-select>
@@ -182,6 +182,8 @@ export default {
         return {
             diIdselect: '',
             delegationInfoList: [],
+            delegationInfoLists: [],
+            selectLoading:false,
             filetype: '',
             filetypelist: [],
             pageloadData: {
@@ -214,6 +216,32 @@ export default {
         }
     },
     methods: {
+        //联想
+        GroupFeeKeywordSearch(query) {
+            if (query !== '') {
+                this.selectLoading=true;
+                var url = "/api/search/?keyword="+query
+                var that = this
+                this.$axios({
+                    method: 'get',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.delegationInfoLists = res.data.data;
+                    }else{
+                        that.delegationInfoLists=[];
+                    }
+                }).finally(()=>{
+                    that.selectLoading=false;
+                })
+            }else{
+                this.delegationInfoLists=this.delegationInfoList;
+            }
+        },
+
         //处理时间
         disposeTime(val){
             var date = new Date(val);
@@ -235,6 +263,7 @@ export default {
             }).then(function (res) {
                 if (res.data.code == 200) {
                     that.delegationInfoList = res.data.data.dropDownGroupList;
+                    that.delegationInfoLists = that.delegationInfoList;
                     that.filetypelist = res.data.data.dropDownType;
                     that.filetype = that.filetypelist[0].id;
                     that.isMarketingDepartment=res.data.data.isMarketingDepartment;
@@ -319,6 +348,7 @@ export default {
             obj = this.delegationInfoList.find(function (i) {
                 return i.id === val
             });
+            this.delegationInfoLists=this.delegationInfoList;
             this.EnterExitCostFileOwner(obj.provinceId);
             this.QuerySharedFile();
         },

Dosya farkı çok büyük olduğundan ihmal edildi
+ 377 - 325
src/components/OP/performanceanalysis.vue