k94314517
2025-03-27 80e8fce03fb67ddc17923ca122be33335432b48a
Merge remote-tracking branch 'origin/master'
已修改18个文件
208 ■■■■ 文件已修改
admin/src/components/business/operaVisitsWindow.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/reportRecord.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/OperaBookingsWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/platformGroup.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reserved.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/driver/reservedGuide.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/guidemap/guidemap.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/signin.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staffLogin/login.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorApplication/visitorApplication.vue 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorSubGuide/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/utils/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/HKUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/operaVisitsWindow.vue
@@ -92,7 +92,7 @@
        />
      </el-form-item>
      <el-form-item label="来访事由" prop="reason">
        <el-select v-model="param.reason" placeholder="请选择">
        <el-select v-model="param.reason" placeholder="请选择" @change="changeReason" value-key="id">
          <el-option
            v-for="item in VisitReason"
            :key="item.id"
@@ -101,7 +101,7 @@
          />
        </el-select>
      </el-form-item>
      <el-form-item label="是否施工作业">
<!--      <el-form-item label="是否施工作业">
        <el-switch
          style="width: 200px"
          v-model="param.type"
@@ -109,8 +109,8 @@
          :inactive-value="0"
        >
        </el-switch>
      </el-form-item>
      <el-form-item v-if="param.type == 1" label="施工内容">
      </el-form-item>-->
      <el-form-item v-if="param.type == 2" label="施工内容">
        <el-input
          v-model="param.constructionReason"
          placeholder="请输入施工内容"
@@ -169,7 +169,7 @@
        starttime: [{ required: true, message: '请选择日期', trigger: 'change' }],
        endtime: [{ required: true, message: '请选择日期', trigger: 'change' }],
        reason: [{ required: true, message: '请选择', trigger: 'change' }],
        type: [{ required: true, message: '请选择', trigger: 'change' }],
        // type: [{ required: true, message: '请选择', trigger: 'change' }],
        receptMemberId: [{ required: true, message: '请选择', trigger: 'change' }],
        idcardType: [{ required: true, message: '请选择', trigger: 'change' }],
        faceImgUrl: [{ required: true, message: '请上传', trigger: 'change' }],
@@ -232,6 +232,17 @@
    }
  },
  methods: {
    changeReason (val) {
      console.log(val)
      var obj = this.VisitReason.find(function (i) {
        return i.title === val
      })
      // 在change中获取到整条对象数据
      if(obj){
        this.param.type = obj.constructionType
      }
      console.log(obj)
    },
    close () {
      this.isShowModal = false
      this.$emit('close')
@@ -260,8 +271,8 @@
        }
        const { param } = this
        if(param.carNos){
          param.carNos = param.carNos.replace(/\s*/g,"")
          param.carNos = param.carNos.replace(/[\r\n]/g, "")
          param.carNos = param.carNos.replace(/\s*/g, '')
          param.carNos = param.carNos.replace(/[\r\n]/g, '')
        }
        if (param.starttime.slice(0, 10) !== param.endtime.slice(0, 10)) return this.$tip.error('入园时间和离园时间不可跨天')
        // 调用新建接口
admin/src/views/business/reportRecord.vue
@@ -178,7 +178,6 @@
            this.getList()
          })
      }).catch(() => {
      })
    },
    exportExcel () {
admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -4,7 +4,7 @@
    <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix=":">
      <el-form-item label="关联会议室" prop="roomId">
        <el-select v-model="form.roomId" filterable clearable :disabled="isEdit" placeholder="请选择关联会议室"
          @change="selectRoom">
        >  @change="selectRoom"
          <el-option v-for="item in rooms()" :key="item.id" :value="item.id" :label="item.name" />
        </el-select>
      </el-form-item>
admin/src/views/platform/platformGroup.vue
@@ -28,6 +28,8 @@
          </template>
        </el-table-column>
        <el-table-column prop="waitCallTime" label="叫号等待时间(分钟)" min-width="140px"  align="center"></el-table-column>
        <el-table-column prop="signInNoticeUserNames" label="签到通知人员" min-width=""  align="center"></el-table-column>
        <el-table-column prop="unFinishNoticeUserNames" label="未完成作业通知人员" min-width=" "  align="center"></el-table-column>
        <el-table-column prop="editDate" label="最近更新时间" min-width="150px"  align="center"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:platformgroup:update', 'business:platformgroup:delete'])"
h5/manifest.json
@@ -1,6 +1,6 @@
{
    "name" : "laborVisitors",
    "appid" : "__UNI__BCCF400",
    "appid" : "__UNI__91B8BB7",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
h5/pages/driver/reserved.vue
@@ -113,6 +113,7 @@
            closeOnClickOverlay
            :minDate="new Date().getTime()"
            mode="datetime"
             :formatter="formatter"
            @close="showDatetime = false"
            @cancel="showDatetime = false"
            @confirm="setinDate"
@@ -151,6 +152,24 @@
        this.initData()
    },
    methods: {
        formatter(type, value) {
            if (type === 'year') {
                return `${value}年`
            }
            if (type === 'month') {
                return `${value}月`
            }
            if (type === 'day') {
                return `${value}日`
            }
            if (type === 'hour') {
                return `${value}时`
            }
            if (type === 'minute') {
                return `${value}分`
            }
            return value
        },
        checkSurplus() {
              const { arriveDate, reasonId, totalNum } = this.param
              if(!arriveDate || !reasonId || !totalNum) return
h5/pages/driver/reservedGuide.vue
@@ -1,6 +1,7 @@
<template>
    <view class="box">
        <mp-html :content="content" />
        <!-- <mp-html :content="content" /> -->
        <u-parse :content="content"></u-parse>
    </view>
</template>
h5/pages/guidemap/guidemap.vue
@@ -1,7 +1,8 @@
<template>
  <view class="box">
    <!-- <view v-html="info"></view> -->
        <mp-html :content="info" />
        <!-- <mp-html :content="info" /> -->
        <u-parse :content="info"></u-parse>
  </view>
</template>
<script>
h5/pages/staff/signin.vue
@@ -1,7 +1,8 @@
<template>
  <view class="box">
    <!-- <view v-html="info"></view> -->
        <mp-html :content="info" />
        <!-- <mp-html :content="info" /> -->
        <u-parse :content="info"></u-parse>
  </view>
</template>
<script>
h5/pages/staffLogin/login.vue
@@ -68,7 +68,8 @@
            <view class="modal">
                <!-- <view v-html="htmlText"></view> -->
                <view class="content">
                    <mp-html :content="htmlText" />
                    <!-- <mp-html :content="htmlText" /> -->
                    <u-parse :content="htmlText"></u-parse>
                </view>
            </view>
        </u-popup>
h5/pages/visitorApplication/visitorApplication.vue
@@ -82,7 +82,7 @@
                    </view>
                </view>
            </view> -->
            <view v-if="form1.type == '1'" class="list_item">
            <view v-if="form1.type == 1" class="list_item">
                <view class="list_item_label">
                    <text></text>
                    <text>施工内容</text>
@@ -106,11 +106,11 @@
                </view>
            </view>
        </view>
        <view class="footer">
            <view class="footer_btn" @click="onSubmit">提交</view>
        <view class="footer-box">
            <view class="submit-button" @click="onSubmit">提交</view>
        </view>
        <!-- 入园时间 -->
        <u-datetime-picker :show="show4" :minDate="new Date().getTime()" mode="datetime" :formatter="formatter"
        <u-datetime-picker :show="show4" :minDate="new Date().getTime()" :formatter="formatter" mode="datetime"
            @cancel="show4 = false" @confirm="setstarttime"></u-datetime-picker>
        <!-- 离园时间 -->
        <u-datetime-picker v-if="form1.starttime" :show="show5" :formatter="formatter"
@@ -416,6 +416,15 @@
        },
        methods: {
            formatter(type, value) {
                // if (type === 'year') {
                //     return `${value}年`
                // }
                // if (type === 'month') {
                //     return `${value}月`
                // }
                // if (type === 'day') {
                //     return `${value}日`
                // }
                if (type === 'year') {
                    return `${value}年`
                }
@@ -425,9 +434,15 @@
                if (type === 'day') {
                    return `${value}日`
                }
// <<<<<<< HEAD
                this.$forceUpdate()
                this.closeInput()
                if (type === 'hour') {
                    return `${value}时`
                }
                if (type === 'minute') {
                    return `${value}分`
                }
                // this.$forceUpdate()
                // this.closeInput()
                return value
            },
            closeInput() {
                this.$refs.keyboard.close()
@@ -1362,6 +1377,29 @@
            }
        }
        .footer-box {
            width: 100%;
            position: fixed;
            bottom: 30rpx;
            height: 80rpx;
            display: flex;
            justify-content: center;
            align-items: center;
            .submit-button {
                width: calc(100% - 60rpx);
                height: 88rpx;
                line-height: 88rpx;
                background: #4d99a8;
                border-radius: 4rpx;
                color: #fff;
                border-radius: 44rpx;
                font-size: 32rpx;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
        .head {
            width: 100%;
            padding: 20rpx 30rpx;
h5/pages/visitorSubGuide/index.vue
@@ -1,7 +1,8 @@
<template>
  <view class="box">
    <!-- <view v-html="info"></view> -->
        <mp-html :content="info" />
        <!-- <mp-html :content="info" /> -->
        <u-parse :content="info"></u-parse>
  </view>
</template>
<script>
h5/utils/config.js
@@ -1,8 +1,8 @@
export const baseUrl = 'zhyq_interface/'
// export const baseUrl = 'zhyq_interface/'
// export const baseUrl = 'http://192.168.0.173/gateway_interface/'
// export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/HKUtil.java
@@ -27,6 +27,7 @@
    }
    public static void main(String[] args) throws ParseException {
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -571,7 +571,7 @@
        String[] customBroadcast= new String[]{"/api/ibas/v1/customBroadcast","用于设置广播的自定播放和停止"};//用于设置广播的自定播放和停止
        String[] iccmAppointment= new String[]{"/api/iccm/v2/appointment/","iccm访客登记添加"};//iccm访客登记添加
        String[] iccmUpdateAppointment= new String[]{"/api/iccm/v2/appointment/update","iccm访客登记修改"};//iccm访客登记修改
        String[] iccmCancelAppointment= new String[]{"/api/iccm/v1/appointment/cancel","iccm访客登记修改"};//iccm访客登记修改
        String[] iccmCancelAppointment= new String[]{"/api/iccm/v1/appointment/cancel","iccm访客登记取消"};//iccm访客登记取消
        String[] iccmAppointmentMDJ= new String[]{"/api/iccm/v1/appointment/free/registration","iccm访客预约免登记"};//iccm访客预约免登记
        String[] privilegIccmeGroup= new String[]{"/api/iccm/v1/privilege/groups","查询访客权限组"};//查询访客权限组
        String[] iccmAppointmentRecords= new String[]{"/api/iccm/v2/appointment/records","iccm查询已预约登记"};//iccm查询已预约登记
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -5,6 +5,7 @@
import com.doumee.core.haikang.model.param.request.CarPictureRequest;
import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest;
import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
@@ -39,16 +40,9 @@
        ArtemisConfig.appSecret = "88wFsg3xfn7o8QMsWEO2";
        HKConstants.https = "https://";
        ParkReservationAddRequest request = new ParkReservationAddRequest();
        request.setPlateNo("皖A90LL0");
        request.setParkSyscode("1c4cdb8b66ed4c23bacb385c3fb6c46b");
        request.setPhoneNo("15345690849");
        request.setOwner("施旭辉");
        request.setAllowTimes(Constants.ONE+"");
        request.setIsCharge(Constants.ONE+"");
        request.setStartTime( DateUtil.getISO8601Timestamp2(new Date()) );
        request.setEndTime( "2025-03-27T00:00:00+08:00" );
        String response =  parkAddition(JSONObject.toJSONString(request));
        VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest();
        request.setAppointRecordIds(new String[]{"皖A90LL0"});
        String response =  iccmCancelAppointment(JSONObject.toJSONString(request));
        System.out.println(response);
    /*    CarPictureRequest param = new CarPictureRequest();
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java
@@ -102,4 +102,13 @@
    @ApiModelProperty(value = "计划收货数量(非wms)", example = "1")
    @TableField(exist = false)
    private BigDecimal ortherTotalNum;
    @ApiModelProperty(value = "车辆签到微信通知接收人员主键多个以,分割")
    @TableField(exist = false)
    private String signInNoticeUserNames;
    @ApiModelProperty(value = "作业未完成微信通知接收人员主键多个以,分割")
    @TableField(exist = false)
    private String unFinishNoticeUserNames;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -2,6 +2,10 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.wx.wxPlat.WxPlatConstants;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -21,13 +25,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -40,6 +43,8 @@
    @Autowired
    private PlatformGroupMapper platformGroupMapper;
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Autowired
    private PlatformJoinMapper platformJoinMapper;
@@ -188,7 +193,54 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(platformGroupMapper.selectPage(page, queryWrapper));
        PageData<PlatformGroup> result =PageData.from(platformGroupMapper.selectPage(page, queryWrapper));
        if(result !=null && result.getRecords()!=null){
            List<String > ids0 = new ArrayList<>();
            List<SystemUser> systemUserList ;
            for(PlatformGroup platformGroup : result.getRecords()){
                if( StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers()) || StringUtils.isNotBlank(platformGroup.getUnFinishNoticeUsers())) {
                    if( StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers()) ){
                        ids0.addAll(Arrays.asList(platformGroup.getSignInNoticeUsers().split(",")));
                    }
                    if( StringUtils.isNotBlank(platformGroup.getUnFinishNoticeUsers()) ){
                        ids0.addAll(Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(",")));
                    }
                }
            }
            systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
                    .eq(SystemUser::getDeleted, Constants.ZERO).eq(SystemUser::getStatus, Constants.ZERO).isNotNull(SystemUser::getOpenid)
                    .in(SystemUser::getId,ids0)  );
            if (systemUserList!=null) {
                for(PlatformGroup platformGroup : result.getRecords()){
                    platformGroup.setSignInNoticeUserNames(getUserNameFromList(0,platformGroup,systemUserList));
                    platformGroup.setUnFinishNoticeUserNames(getUserNameFromList(1,platformGroup,systemUserList));
                }
            }
        }
        return result;
    }
    private String getUserNameFromList(int i, PlatformGroup platformGroup, List<SystemUser> systemUserList) {
           String ids = i ==0?platformGroup.getSignInNoticeUsers():platformGroup.getSignInNoticeUsers();
           String name = "";
            if( StringUtils.isNotBlank(ids)) {
                List<String > ids0 = Arrays.asList(ids.split(","));
                if (systemUserList!=null) {
                    for(SystemUser user :systemUserList){
                        for(String s : ids0){
                            if(StringUtils.isNotBlank(name)){
                                name += ",";
                            }
                            if(StringUtils.equals(user.getId().toString(),s)){
                                name += StringUtils.defaultString(user.getRealname(),user.getUsername());
                            }
                        }
                    }
                }
            }
            return  name;
    }
    @Override