liuhj 1 rok temu
rodzic
commit
0582c0a34d

+ 25 - 3
src/components/Finance/FeesPage.vue

@@ -84,9 +84,9 @@
                 </el-table-column>
                 <el-table-column prop="balance" label="剩余尾款" show-overflow-tooltip>
                 </el-table-column>
-                <el-table-column prop="operatorName" label="申请人" width="100" show-overflow-tooltip>
+                <el-table-column prop="operatorName" label="申请人" width="100">
                 </el-table-column>
-                <el-table-column prop="auditOperatorName" label="审核人" width="100" show-overflow-tooltip>
+                <el-table-column prop="auditOperatorName" label="审核人" width="100" >
                 </el-table-column>
                 <el-table-column prop="overBudget" label="超预算比例" show-overflow-tooltip>
                 </el-table-column>
@@ -367,7 +367,8 @@ export default {
         open(val,text) {
             console.log(text)
             this.$alert(val, '费用名称', {
-                dangerouslyUseHTMLString: true
+                dangerouslyUseHTMLString: true,
+                customClass:'message_box_alert'
             });
         }
     },
@@ -439,4 +440,25 @@ export default {
 .fesspage-box .el-table .cell{
     text-align: center;
 }
+.message_box_alert .el-message-box__content{
+    max-height: 300px;
+    overflow-y: auto;
+}
+.message_box_alert .el-message-box__btns{
+    padding: 15px 20px 10px 20px;
+}
+.message_box_alert .el-message-box__content::-webkit-scrollbar {
+    width: 6px;
+}
+.message_box_alert .el-message-box__content::-webkit-scrollbar-track {
+    background: rgb(239, 239, 239);
+    border-radius: 2px;
+}
+.message_box_alert .el-message-box__content::-webkit-scrollbar-thumb {
+    background: #409EFF;
+    border-radius: 10px;
+}
+.message_box_alert .el-message-box__content::-webkit-scrollbar-thumb:hover {
+    background: #409EFF;
+}
 </style>

+ 48 - 14
src/components/OP/HotelReservations.vue

@@ -156,7 +156,24 @@
                             <el-input :rows="1" type="textarea" v-model="RequiredParameters.HotelAddress"></el-input>
                         </el-form-item>
                         <el-form-item label="客人姓名" prop="GuestName">
-                            <el-input :rows="1" type="textarea" v-model="RequiredParameters.GuestName"></el-input>
+                            <el-select
+                            size="medium"
+                            style="width: 100%;"
+                            v-model="RequiredParameters.GuestName"
+                            multiple
+                            filterable
+                            allow-create
+                            default-first-option
+                            @change="selectchg"
+                            placeholder="请选择人员">
+                                <el-option
+                                v-for="item in GuestNamelist"
+                                :key="item.id"
+                                :label="item.lastName+item.firstName"
+                                :value="item.id">
+                                </el-option>
+                            </el-select>
+                            <!-- <el-input :rows="1" type="textarea" v-model="RequiredParameters.GuestName"></el-input> -->
                         </el-form-item>
                         <div class="remcss" style="display: flex;flex-wrap: wrap;">
                             <el-form-item prop="OnTime" style="width:395px ;" label="入住时间" required>
@@ -485,7 +502,8 @@ export default {
             currencySingle: { id: 836, name: 'CNY', remark: '人民币' },
             inifid:0,
             // staydays:1,//入住天数i'an'ting
-
+            GuestNamelist:[],//客人名单
+            GuestNameval:[],
             //必填参数
             RequiredParameters:{
                 TypeGuest:'',//客人类型
@@ -591,7 +609,7 @@ export default {
                     { required: true, message: '请输入酒店地址', trigger: ['blur', 'change'] }
                 ],
                 GuestName: [
-                    { required: true, message: '请输入客人姓名', trigger: ['blur', 'change'] }
+                    { required: true, message: '请输入客人姓名', trigger: ['blur'] }
                 ],
                 OnTime: [
                     { required: true, message: '请选择入住时间', trigger: ['blur', 'change'] }
@@ -731,17 +749,14 @@ export default {
                 that.$message.error("获取酒店表格失败");
             });
         },
+        //选择客人姓名
+        selectchg(){
+            console.log(this.RequiredParameters.GuestName)
+        },
         //酒店预订 基础数据
         PostHotelReservationsBasicsDataInit() {
             var url = "/api/Groups/PostHotelReservationsBasicsDataInit"
             var that = this
-            var data={
-                    portType:1,
-                    userId:that.userId,
-                    pageId:that.pageId,
-                    diId:that.OpHotelReservationsData.diId
-                }
-                console.log(JSON.stringify(data))
             this.$axios({
                 method: 'post',
                 url: url,
@@ -757,6 +772,7 @@ export default {
             }).then(function (res) {
                 console.log(res)
                 if (res.data.code == 200) {
+                    that.GuestNamelist=res.data.data.guestName;
                     that.guestType=res.data.data.guestType;
                     if(that.guestType){
                         that.RequiredParameters.TypeGuest=that.guestType[0].id;//客人类型
@@ -911,7 +927,7 @@ export default {
                             }
                         }
                     }
-
+                    console.log((res.data.data.guestName.split(",")).map(Number))
                     that.RequiredParameters.VoucherNumber=res.data.data.checkNumber;//入住卷号码
                     that.RequiredParameters.BookingWeb=res.data.data.reservationsWebsite;//预订网站
                     that.RequiredParameters.ReservationNumber=res.data.data.reservationsNo;//预订号码
@@ -920,7 +936,7 @@ export default {
                     that.RequiredParameters.HotelName=res.data.data.hotelName;//酒店名称
                     that.RequiredParameters.HotelPhone=res.data.data.hotelTel;//酒店电话
                     that.RequiredParameters.HotelAddress=res.data.data.hotelAddress;//酒店地址
-                    that.RequiredParameters.GuestName=res.data.data.guestName;//客人姓名
+                    that.RequiredParameters.GuestName=(res.data.data.guestName.split(",")).map(Number);//客人姓名
                     that.RequiredParameters.OnTime=new Date(res.data.data.checkInDate);//入住时间
                     that.RequiredParameters.OutTime=new Date(res.data.data.checkOutDate);//离店时间
                     that.RequiredParameters.TypeStay=res.data.data.checkType==0?'':res.data.data.checkType;//入住类型
@@ -989,6 +1005,11 @@ export default {
         },
         //新增修改api
         PostHotelReservationsAddOrEdit() {
+            var guestNametext='';
+            for(let a=0;a<this.RequiredParameters.GuestName.length;a++){
+                guestNametext += this.RequiredParameters.GuestName[a]+','
+            }
+            console.log(guestNametext.substring(0, guestNametext.length - 1))
             this.loading=true;
             var url = "/api/Groups/PostHotelReservationsAddOrEdit"
             var that = this
@@ -1008,7 +1029,7 @@ export default {
                     hotelName:that.RequiredParameters.HotelName,//酒店名称
                     hotelTel:that.RequiredParameters.HotelPhone,//酒店电话
                     hotelAddress:that.RequiredParameters.HotelAddress,//酒店地址
-                    guestName:that.RequiredParameters.GuestName,//客户名称
+                    guestName:guestNametext.substring(0, guestNametext.length - 1),//客户名称
                     checkInDate:that.transferdate(that.RequiredParameters.OnTime),//入住时间
                     checkOutDate:that.transferdate(that.RequiredParameters.OutTime),//离店时间
                     checkType:that.RequiredParameters.TypeStay,//房间入住人类型
@@ -1068,7 +1089,7 @@ export default {
                     hotelName:that.RequiredParameters.HotelName,//酒店名称
                     hotelTel:that.RequiredParameters.HotelPhone,//酒店电话
                     hotelAddress:that.RequiredParameters.HotelAddress,//酒店地址
-                    guestName:that.RequiredParameters.GuestName,//客户名称
+                    guestName:guestNametext.substring(0, guestNametext.length - 1),//客户名称
                     checkInDate:that.transferdate(that.RequiredParameters.OnTime),//入住时间
                     checkOutDate:that.transferdate(that.RequiredParameters.OutTime),//离店时间
                     checkType:that.RequiredParameters.TypeStay,//房间入住人类型
@@ -1129,6 +1150,19 @@ export default {
         },
         //保存
         AddBtn(RequiredParameters) {
+            console.log(this.RequiredParameters.CurrentRate)
+            if(this.RequiredParameters.CurrentRate=="当前团组未设置此币种汇率!"){
+                this.$alert('当前团组未设置此币种汇率,请前往设置!', '警告', {
+                    confirmButtonText: '确定',
+                    callback: action => {
+                        this.$message({
+                        type: 'info',
+                        message: `action: ${ action }`
+                        });
+                    }
+                });
+                return
+            }
             // console.log(this.Paymentinfor.purchaseDate)
             this.CalculateAmount()
             this.$refs[RequiredParameters].validate((valid) => {

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

@@ -1399,7 +1399,7 @@ export default {
     margin-top: 10px;
     display: flex;
     align-items: baseline;
-    justify-content: end;
+    justify-content: flex-end;
 }
 .pickuplist-Upload-box .upload-demo{
     display: flex;

+ 1 - 1
src/components/Resource/InvitationOfficialActivityData.vue

@@ -31,7 +31,7 @@
                         <el-option v-for="item in CreateUserList" :key="item.id" :label="item.cnName" :value="item.id">
                         </el-option>
                     </el-select>
-                    <el-date-picker v-model="InviteTime" type="daterange" align="right" unlink-panels format="yyyy-MM-dd"
+                    <el-date-picker style="width:448px;" v-model="InviteTime" type="daterange" align="right" unlink-panels format="yyyy-MM-dd"
                         value-format="yyyy-MM-dd" range-separator="至" start-placeholder="邀请开始日期" end-placeholder="邀请结束日期"
                         :picker-options="pickerOptions">
                     </el-date-picker>

+ 32 - 29
src/components/home.vue

@@ -16,7 +16,6 @@
           </el-tab-pane>
           <div class="msg-box">
             <div class="read-btn">
-              
               <el-button type="primary" @click="taskclicks(2)"  size="mini" :plain="tasknobtn" >未读</el-button>
               <el-button type="primary" @click="taskclicks(3)" size="mini" :plain="taskbtn" >已读</el-button>
             </div>
@@ -34,8 +33,8 @@
                     <div>发布时间: {{item.releaseTime}}</div>
                   </div>
                   <div class="news-list-btn" >
-                    <el-button @click="DeleMsg(index,item)" v-if="item.isRead==0" type="primary">确认已读</el-button>
-                    <el-button v-if="item.isRead==1" type="info">已读</el-button>
+                    <el-button @click="DeleMsg(index,item)" size="mini" v-if="item.isRead==0" type="primary">确认已读</el-button>
+                    <el-button v-if="item.isRead==1" size="mini" type="info">已读</el-button>
                   </div>
                 </div>
               </div>
@@ -82,7 +81,7 @@
               </div>
             </div>
           </el-tab-pane>
-          <el-tab-pane name="second">
+          <el-tab-pan name="second">
             <span slot="label">
               团组操作通知
               <el-badge :hidden="groupnot==0?true:false" :value='groupnot' :max="9999"></el-badge>
@@ -118,7 +117,7 @@
                 暂无通知
               </div>
             </div>
-          </el-tab-pane> -->
+          </el-tab-pan> e-->
         </el-tabs>
       </el-dialog>
     </div>
@@ -355,6 +354,7 @@ export default {
       readStatus:2,//状态
       msglist:[],//list
       count:0,//list数量
+      panduans:false
     };
   },
   // components: {
@@ -549,8 +549,11 @@ export default {
           console.log(res)
           if(res.data.code==200){
             that.msgtype=res.data.data;
-            that.activeName=that.msgtype[0].name;
-            that.type=that.msgtype[0].id;
+            if(!that.panduans){
+              that.activeName=that.msgtype[0].name;
+              that.type=that.msgtype[0].id;
+            }
+            that.panduans=false
             that.PotsMessagePageList()
           }else{
             that.$message.error(res.data.msg);
@@ -559,9 +562,9 @@ export default {
           that.$message.error("获取消息类型失败!");
       });
     },
-    //消息列表
-    PsotMsgPageList(){
-        var url = "/api/System/PsotMsgPageList"
+    //未读条数
+    PotsMessageUnreadTotalCount(){
+        var url = "/api/System/PotsMessageUnreadTotalCount"
         var that = this
         this.$axios({
             method: 'post',
@@ -570,21 +573,24 @@ export default {
                 Authorization: 'Bearer ' + that.token
             },
             data:{
-              portType:1,
-              pageIndex:1,
-              pageSize:100,
               userId:that.userId
             }
         }).then(function (res) {
-            console.log(res)
             if(res.data.code==200){
-                //初始化
-                
+              that.unReadCount=res.data.data.unreadCount
+              if(that.unReadCount!=JSON.parse(localStorage.getItem('unReadCount'))){
+                that.PotsMsgTypeData();
+                window.localStorage.removeItem('unReadCount');
+                localStorage.setItem('unReadCount', JSON.stringify(that.unReadCount));
+              }else{
+                console.log('没有新通知!')
+              }
+                // return res.data.data.unreadCount;
             }else{
                 that.$message.error(res.data.msg);
             }
         }).catch(function (error) {
-            that.$message.error("获取消息列表失败!");
+            that.$message.error("获取未读条数!");
         });
     },
     //消息确认已读
@@ -612,8 +618,9 @@ export default {
             if(res.data.code==200){
               if(that.type==1020){
                 that.$router.push({ path: "/home/TaskList"});
+                that.dialogVisible=false;
               }
-              that.uplocal();
+              that.panduans=true;
               that.PotsMsgTypeData();
               that.$message({
                 type: 'success',
@@ -638,11 +645,8 @@ export default {
     },
     //修改未读条数
     uplocal(){
-      console.log(this.msgtype.unReadCount);
       window.localStorage.removeItem('unReadCount');
       this.unReadCount--;
-      this.msgtype.unReadCount--;
-      console.log(this.msgtype.unReadCount);
       localStorage.setItem('unReadCount', JSON.stringify(this.unReadCount));
     },
     //任务切换
@@ -733,16 +737,16 @@ export default {
   mounted() {
     this.userId=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
     this.token=JSON.parse(localStorage.getItem('userinif')).token;
-    this.unReadCount=JSON.parse(localStorage.getItem('unReadCount'));
+    // this.unReadCount=JSON.parse(localStorage.getItem('unReadCount'));
     this.removal();
     this.radioChange(false);
     this.ifIndexValue();
     this.getmenu();
-    this.PsotMsgPageList();
+    this.PotsMessageUnreadTotalCount();
     this.PotsMsgTypeData();
     // setTimeout(this.PotsMessagePageList(),500)
     
-    setInterval(this.PsotMsgPageList, 300000);
+    setInterval(this.PotsMessageUnreadTotalCount, 10000);
     // setInterval(this.PsotMsgPageList, 3000);
     // this.chatHub();
   },
@@ -771,11 +775,10 @@ export default {
     }
   },
   watch:{
-    getWsMsg:{
-        handler: function(newVal) {
-            console.log(newVal)
-            alert('接收到webSocket推送'+ newVal)
-        }
+    PotsMessageUnreadTotalCount:{
+      handler(newVal,oldVal) {
+          console.log(newVal,oldVal)
+      }
     }
   }
 };