Browse Source

0528qitakuanxiang

liuhj 1 month ago
parent
commit
bce8caaf71
1 changed files with 105 additions and 36 deletions
  1. 105 36
      src/components/OP/OpDecreasePayments.vue

+ 105 - 36
src/components/OP/OpDecreasePayments.vue

@@ -1,12 +1,23 @@
 <template>
     <div class="car_add" v-loading.fullscreen.lock="fullscreenLoading">
-        <el-dialog class="opdp-dialog" width="500px" title="物资选择" :visible.sync="suppliesVisible"  :close-on-click-modal="false">
-            <el-checkbox-group v-model="checkedCities" @change="handleCheckedDatesChange">
-                <el-checkbox v-for="item in priceNamelist" :label="item.value" :key="item.id">{{item.value}}</el-checkbox>
-            </el-checkbox-group>
-            <div class="supplies-button">
-                <el-button size="mini" @click="suppliesVisible = false">取 消</el-button>
-                <el-button size="mini" type="primary" @click="suppliesclick">确 定</el-button>
+        <el-dialog class="opdp-dialog" width="500px" title="物资选择" :visible.sync="suppliesVisible"
+            :close-on-click-modal="false">
+            <div v-if="!syhIdentification">
+                <el-checkbox-group v-model="checkedCities" @change="handleCheckedDatesChange">
+                    <el-checkbox v-for="item in priceNamelist" :label="item.value"
+                        :key="item.id">{{item.value}}</el-checkbox>
+                </el-checkbox-group>
+                <div class="supplies-button">
+                    <el-button size="mini" @click="suppliesVisible = false">取 消</el-button>
+                    <el-button size="mini" type="primary" @click="suppliesclick">确 定</el-button>
+                </div>
+            </div>
+            <div v-else>
+                <el-cascader style="width:100%" v-model="syhvalue" :options="syhoptions"></el-cascader>
+                <div class="supplies-button">
+                    <el-button size="small" @click="suppliesVisible = false">取 消</el-button>
+                    <el-button size="small" type="primary" @click="syhclick">确 定</el-button>
+                </div>
             </div>
         </el-dialog>
         <div>
@@ -58,22 +69,19 @@
                         </el-form-item>
                     </div> -->
                     <div style="width: 394px;position: relative;">
-                        <el-button @click="suppliesVisible=true" style="position: absolute;right: -72px;top: 1px;" type="primary">选择</el-button>
+                        <el-button @click="xuanzebtn" style="position: absolute;right: -72px;top: 1px;"
+                            type="primary">选择</el-button>
                         <el-form-item label="费用名称:" prop="priceName" label-width="160px">
                             <!-- <el-input placeholder="费用名称" v-model="DecreasePaymentsData.priceName"></el-input> -->
-                            <el-autocomplete
-                            style="width: 100%;"
-                            class="inline-input"
-                            v-model="DecreasePaymentsData.priceName"
-                            :fetch-suggestions="querySearch"
-                            placeholder="请输入内容"
-                            @select="priceNameSelect"
-                            ></el-autocomplete>
+                            <el-autocomplete style="width: 100%;" class="inline-input"
+                                v-model="DecreasePaymentsData.priceName" :fetch-suggestions="querySearch"
+                                placeholder="请输入内容" @select="priceNameSelect"></el-autocomplete>
                         </el-form-item>
                     </div>
                     <div style="width: 394px;">
                         <el-form-item label="费用单价:" prop="currency" label-width="160px">
-                            <el-input-number @blur="Sumup" style="width:56%" :precision="2" placeholder="费用金额" v-model="DecreasePaymentsData.price" :controls='false'>
+                            <el-input-number @blur="Sumup" style="width:56%" :precision="2" placeholder="费用金额"
+                                v-model="DecreasePaymentsData.price" :controls='false'>
                             </el-input-number>
                             <!-- <el-input placeholder="费用单价" v-model="DecreasePaymentsData.price" style="width: 56%;">
                             </el-input> -->
@@ -85,7 +93,8 @@
                     </div>
                     <div style="width: 394px;">
                         <el-form-item label="数量:" prop="quantity" label-width="160px">
-                            <el-input-number @blur="Sumup" style="width:100%" :precision="2" placeholder="数量" v-model="DecreasePaymentsData.quantity" :controls='false'>
+                            <el-input-number @blur="Sumup" style="width:100%" :precision="2" placeholder="数量"
+                                v-model="DecreasePaymentsData.quantity" :controls='false'>
                             </el-input-number>
                             <!-- <el-input placeholder="数量" v-model="DecreasePaymentsData.payee">
                             </el-input> -->
@@ -95,20 +104,17 @@
                         <el-form-item label="供应商全称:" prop="supplierName" label-width="160px">
                             <!-- <el-input placeholder="供应商全称" v-model="DecreasePaymentsData.supplierName">
                             </el-input> -->
-                            <el-autocomplete
-                            style="width: 100%;"
-                            v-model="DecreasePaymentsData.supplierName"
-                            :fetch-suggestions="querySearchAsync"
-                            placeholder="供应商全称"
-                            @select="handleSelect"
-                            ></el-autocomplete>
+                            <el-autocomplete style="width: 100%;" v-model="DecreasePaymentsData.supplierName"
+                                :fetch-suggestions="querySearchAsync" placeholder="供应商全称"
+                                @select="handleSelect"></el-autocomplete>
                         </el-form-item>
                     </div>
                     <div v-if="eventspd" style="width: 394px;">
                         <el-form-item label="供应商类型:" prop="supplierTypeId" label-width="160px">
                             <el-select v-model="DecreasePaymentsData.supplierTypeId" placeholder="供应商类型"
                                 style="width: 100%;">
-                                <el-option v-for="(item,index) in suppliertype" :key="index" :label="item.name" :value="item.id"></el-option>
+                                <el-option v-for="(item,index) in suppliertype" :key="index" :label="item.name"
+                                    :value="item.id"></el-option>
                             </el-select>
                         </el-form-item>
                     </div>
@@ -116,7 +122,8 @@
                         <el-form-item label="供应商地区:" prop="supplierArea" label-width="160px">
                             <el-select v-model="DecreasePaymentsData.supplierArea" placeholder="供应商地区"
                                 style="width: 100%;">
-                                <el-option v-for="(item,index) in supplierRegion" :key="index" :label="item.name" :value="item.id"></el-option>
+                                <el-option v-for="(item,index) in supplierRegion" :key="index" :label="item.name"
+                                    :value="item.id"></el-option>
                             </el-select>
                         </el-form-item>
                     </div>
@@ -163,11 +170,12 @@
                     </div>
                     <div style="width: 394px;">
                         <el-form-item label="费用总价:" label-width="160px">
-                            <el-input-number disabled style="width:56%" :precision="2" placeholder="费用总价" v-model="DecreasePaymentsData.feeTotal" :controls='false'>
+                            <el-input-number disabled style="width:56%" :precision="2" placeholder="费用总价"
+                                v-model="DecreasePaymentsData.feeTotal" :controls='false'>
                             </el-input-number>
                             <el-select disabled v-model="DecreasePaymentsData.currency" style="width: 40%;">
                                 <el-option v-for="item in rateList" :key="item.currencyId" :label="item.currencyCode"
-                                :value="item.currencyId"></el-option>
+                                    :value="item.currencyId"></el-option>
                             </el-select>
                         </el-form-item>
                     </div>
@@ -179,7 +187,7 @@
                             </el-select>
                         </el-form-item>
                     </div>
-                    
+
                     <div style="width: 394px;">
                         <el-form-item label="开户行:" label-width="160px">
                             <el-input placeholder="开户行" v-model="DecreasePaymentsData.otherBankName">
@@ -187,13 +195,13 @@
                         </el-form-item>
                     </div>
                     <div style="width: 394px;">
-                        <el-form-item label="银行卡号:"  label-width="160px">
+                        <el-form-item label="银行卡号:" label-width="160px">
                             <el-input placeholder="银行卡号" v-model="DecreasePaymentsData.otherSideNo">
                             </el-input>
                         </el-form-item>
                     </div>
                     <div style="width: 394px;">
-                        <el-form-item label="对方姓名:"  label-width="160px">
+                        <el-form-item label="对方姓名:" label-width="160px">
                             <el-input placeholder="对方姓名" v-model="DecreasePaymentsData.otherSideName">
                             </el-input>
                         </el-form-item>
@@ -350,7 +358,12 @@ export default {
             Switchwifi:false,
             priceNamelist:[],
             suppliesVisible:false,
-            checkedCities:[]
+            checkedCities:[],
+
+            // 物资选择市运会
+            syhvalue: [],
+            syhoptions:[],
+            syhIdentification:false,
         }   
     },
     watch:{
@@ -473,7 +486,9 @@ export default {
         },
         //点击保存事件
         addBtn:debounce(function() {
-            console.log(this.IsAuditGM);
+            if(this.DecreasePaymentsData.priceName.substr(this.DecreasePaymentsData.priceName.length - 1)=='-'){
+                this.DecreasePaymentsData.priceName = this.DecreasePaymentsData.priceName.substring(0, this.DecreasePaymentsData.priceName.length - 1);
+            }
             this.DecreasePaymentsData.supplierTypeId=this.eventspd?this.DecreasePaymentsData.supplierTypeId:0;
             this.fullscreenLoading=true;
             if (this.IsAuditGM == 1) {
@@ -703,6 +718,13 @@ export default {
             this.projectName = file.name
         },
         QueryRate() {
+            if((this.DiIdSelect ? this.DiIdSelect : this.DiId)==2590){
+                this.syhIdentification=true;
+                this.WorldGamesData();
+            }else{ 
+                this.syhIdentification=false;
+                this.QuerySetData();
+            }
             var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
             var that = this
             this.$axios({
@@ -790,6 +812,16 @@ export default {
         handleCheckedDatesChange(val){
             console.log(val);
         },
+        syhclick(){
+            for (let i = 0; i < this.syhvalue.length; i++) {
+                this.DecreasePaymentsData.priceName += this.syhvalue[i] + '-';
+            }
+            this.suppliesVisible=false;
+        },
+        xuanzebtn(){
+            this.syhvalue=[];
+            this.suppliesVisible=true;
+        },
         suppliesclick(){
             var suppliesarr=[];
             if (this.checkedCities.length==0) {
@@ -860,20 +892,57 @@ export default {
                     });
                     console.log(that.priceNamelist);
                     
+                }
+            })
+        },
+        WorldGamesData() {
+            var url = "/api/Groups/WorldGamesData"
+            var that = this
+            this.$axios({
+                method: 'GET',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    for(let i=0;i<res.data.data.length;i++){
+                        let sytinfo={};
+                        sytinfo.label=res.data.data[i].data.name;
+                        sytinfo.value=res.data.data[i].data.name;
+                        let sytinfoarr=[];
+                        for (let j = 0; j < res.data.data[i].child.length; j++) {
+                            sytinfoarr.push({
+                                label: res.data.data[i].child[j],
+                                value: res.data.data[i].child[j],
+                            })
+                            sytinfo.children=sytinfoarr;
+                        }
+                        // console.log(sytinfo);
+                        that.syhoptions.push(sytinfo);
+                    }
+                    console.log(that.syhoptions);
+                    
                 }
             })
         }
 
     },
 
-    mounted() {
+    mounted() { 
 
         this.DiId = JSON.parse(this.$route.query.DiId);
         this.QueryRate();
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
         this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
         this.AirTicketResSelect();
-        this.QuerySetData();
+        // if(this.DiId==2590){
+        //     this.syhIdentification=true;
+        //     this.WorldGamesData();
+        // }else{ 
+        //     this.syhIdentification=false;
+        //     this.QuerySetData();
+        // }
         this.id = this.$route.query.id
         if (this.id != null && this.id != undefined && this.id != 0) {
             this.QueryDecreasePaymentsById();