| | |
| | | } |
| | | tDriver.setPhone(phone); |
| | | tDriver.setAccount(phone); |
| | | tDriver.setBalance(new BigDecimal(0)); |
| | | tDriver.setCommission(new BigDecimal(0)); |
| | | tDriver.setCouponBalance(new BigDecimal(0)); |
| | | tDriver.setBackgroundBalance(new BigDecimal(0)); |
| | | |
| | | tDriverService.insert(tDriver); |
| | | |
| | | //添加经营业务 |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | |
| | | * @since 2020-06-04 |
| | | */ |
| | | @TableName("t_driver") |
| | | @Data |
| | | public class TDriver extends Model<TDriver> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | * 密码 |
| | | */ |
| | | private String password; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 姓 |
| | | */ |
| | |
| | | * 余额 |
| | | */ |
| | | private BigDecimal balance; |
| | | private BigDecimal commission; |
| | | private BigDecimal backgroundBalance; |
| | | private BigDecimal couponBalance; |
| | | |
| | | /** |
| | | * 活动总收入 |
| | |
| | | |
| | | spring: |
| | | datasource: |
| | | url: jdbc:mysql://192.168.110.80/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 |
| | | username: root |
| | | password: 123456 |
| | | password: HjKbXilb9zajmXbl |
| | | # password: 123456 |
| | | db-name: igotravel #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | |
| | | guns: |
| | | muti-datasource: |
| | | open: false |
| | | url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0 |
| | | username: root |
| | | password: Root2020! |
| | | password: HjKbXilb9zajmXbl |
| | | dataSourceNames: |
| | | - dataSourceGuns |
| | | - dataSourceBiz |
| | |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail2">0</h1> |
| | | <small>出租车订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail3">0</h1> |
| | | <small>跨城出行订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail4">0</h1> |
| | | <small>同城小件物流订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail5">0</h1> |
| | | <small>跨城小件物流订单</small> |
| | | <small>市内小件物流订单</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail21">0</h1> |
| | | <small>出租车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail31">0</h1> |
| | | <small>跨城出行订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail41">0</h1> |
| | | <small>同城小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail51">0</h1> |
| | | <small>跨城小件物流订单数</small> |
| | | <small>市内小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paiceSum1">0</h1> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail22">Loading..</span> |
| | | </h1> |
| | | <small>出租车订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail32">Loading..</span> |
| | | </h1> |
| | | <small>跨城出行订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail42">Loading..</span> |
| | | </h1> |
| | | <small>同城小件物流订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail52">Loading..</span> |
| | | </h1> |
| | | <small>跨城小件物流订单趋势图</small> |
| | | <small>市内小件物流订单趋势图</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="col-sm-8" style="padding: 0px;"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div id="container" style="height: 47em;"></div> |
| | | <div id="map" style="height: 47em;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2" style="padding: 0px; height: 47em; overflow: auto"> |
| | |
| | | </div> |
| | | |
| | | <div class="row content" id="orderDiv"> |
| | | <div class="col-sm-8" style="padding: 0px;"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div id="map1" style="height: 47em;width: 1800px;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" style="height: 80px; padding-top: 20px; background-color: #FFFFFF;margin-bottom: 8px;"> |
| | | <div class="col-sm-12"> |
| | | <div id="container_" style="height: 47em;"></div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1"></script> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1&plugin=AMap.MouseTool"></script> |
| | | <script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/citys.js'></script> |
| | | <script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0&callback=initMap&v=weekly"></script> |
| | | <script src="${ctxPath}/static/home.js"></script> |
| | | <script src="${ctxPath}/static/js/jquery.sparkline 2.1.2.js"></script> |
| | | @} |
| | |
| | | 专车累计在线 <input type="text" id="num4" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num5" class="form-control newWidth" /> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" id="num6" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num7" class="form-control newWidth" /> 元 |
| | |
| | | 跨城出行累计在线 <input type="text" id="num8" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num9" class="form-control newWidth" /> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | @} |
| | | name="zc7" class="form-control newWidth" readonly/> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" @if(isNotEmpty(online2)){ |
| | | value="${online2.online}" |
| | |
| | | @} |
| | | name="zc7" class="form-control newWidth" readonly/> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | @} |
| | | name="zc7" id="num5" class="form-control newWidth"/> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" @if(isNotEmpty(online2)){ |
| | | value="${online2.online}" |
| | |
| | | @} |
| | | name="zc7" id="num9" class="form-control newWidth"/> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | <h4><a href="#" onclick="driverActivityHistory(3,${id3})">领取列表</a></h4> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | |
| | | <h4><a href="#" onclick="driverActivityHistory(3,${id5})">领取列表</a></h4> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>优惠券管理</h5> |
| | | <h5>日常运营数据汇总</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | |
| | | <#SelectCon id="type" name="类别" > |
| | | <option value="1">专车</option> |
| | | <!--<option value="2">出租车</option> |
| | | <option value="3">跨城</option> |
| | | <option value="4">小件物流</option>--> |
| | | <option value="3">跨城</option>--> |
| | | <option value="4">小件物流</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="couponUseType" name="优惠券类型" > |
| | | <option value="">全部</option> |
| | | <option value="0">通用券</option> |
| | | <option value="1">专车券</option> |
| | | <option value="2">出租车券</option> |
| | | <option value="3">跨城出行券</option> |
| | | <option value="">全部</option> |
| | | <option value="0">通用优惠券</option> |
| | | <option value="1">打车优惠券</option> |
| | | <option value="4">包裹优惠券</option> |
| | | <!--<option value="2">出租车券</option>--> |
| | | <!--<option value="3">跨城出行券</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="couponUseType" name="优惠券类型" > |
| | | <option value="">全部</option> |
| | | <option value="0">通用券</option> |
| | | <option value="1">专车券</option> |
| | | <option value="2">出租车券</option> |
| | | <option value="3">跨城出行券</option> |
| | | <option value="0">通用优惠券</option> |
| | | <option value="1">打车优惠券</option> |
| | | <option value="4">包裹优惠券</option> |
| | | <!--<option value="2">出租车券</option>--> |
| | | <!--<option value="3">跨城出行券</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <label class="col-sm-3 control-label">优惠券类型</label> |
| | | <div class="col-sm-9"> |
| | | <select class="form-control" id="couponType" name="couponType" |
| | | onchange="changeType()" |
| | | > |
| | | onchange="changeType()"> |
| | | <option value="1">抵扣券</option> |
| | | <option value="2">满减券</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <#select id="couponUseType" name="服务类型" underline="true"> |
| | | <option value="1">专车券</option> |
| | | <!--<option value="2">出租车券</option> |
| | | <option value="3">跨城出行券</option>--> |
| | | <option value="0">通用券</option> |
| | | <option value="1">打车优惠券</option> |
| | | <!--<option value="2">出租车券</option>--> |
| | | <option value="4">包裹优惠券</option> |
| | | <option value="0">通用优惠券</option> |
| | | </#select> |
| | | <#input id="money" name="金额" underline="true" placeholder="最多4位数字"/> |
| | | <div class="form-group" id="fullMoneys" style="display: none"> |
| | |
| | | <label class="col-sm-3 control-label">发送对象:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | | <div class="radio radio-info radio-inline"> |
| | | <input type="radio" id="sendType1" value="1" name="sendType" checked="" > |
| | | <input type="radio" id="sendType1" value="1" name="sendType" > |
| | | <label for="sendType1"> 全部用户 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | |
| | | </div> |
| | | <div class="col-sm-9 left:50px" style="display: flex;align-items: center;left: 341px;"> |
| | | <div class="radio radio-info radio-inline"> |
| | | <input type="radio" id="sendType3" value="1" name="sendType1" checked="" > |
| | | <label for="sendType1"> 全部司机 </label> |
| | | <input type="radio" id="sendType3" value="1" name="sendType1"> |
| | | <label for="sendType3"> 全部司机 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | | <input type="radio" id="sendType4" value="2" name="sendType1" > |
| | | <label for="sendType2"> 选择司机 </label> |
| | | <label for="sendType4"> 选择司机 </label> |
| | | </div> |
| | | <#button name="选择" icon="fa-plus" clickFun="TAdvertisementInfoDlg.toSelectUserOpt1()"/> |
| | | <div class="form-group"> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <input type="hidden" id="id1" value="${one.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language1"> |
| | | <option value="1">中文</option> |
| | |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <input type="hidden" id="id1" value="${one.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language1"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group" style="display: none;" id="kcModelDiv"> |
| | | <label class="col-sm-3 control-label">跨城出行车型:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> |
| | | <option value="">选择车辆品牌</option> |
| | | @for(obj in brandList){ |
| | |
| | | <#input id="vehicleType" name="车辆类型" /> |
| | | <#input id="ownerName" name="车辆所有人" /> |
| | | <#input id="engineId" name="发动机号" /> |
| | | <!-- |
| | | <#input id="VIN" name="车辆VIN码" /> |
| | | <#input id="certifyDateA" name="车辆注册日期" type="text"/> |
| | | <#input id="fuelType" name="车辆燃料类型" /> |
| | |
| | | <option value="2">巡游出租汽车</option> |
| | | <option value="3">私人小客车合乘</option> |
| | | </#select> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''} onclick="TCarInfoDlg.zcServerClick()"> |
| | | <label for="serverBox1"> 专车 </label> |
| | | </div> |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}> |
| | | <label for="serverBox4"> 市内小件物流 </label> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group" id="kcModelDiv"> |
| | | <label class="col-sm-3 control-label">跨城出行车型:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> |
| | | <option value="">选择车辆品牌</option> |
| | | @for(obj in brandList){ |
| | |
| | | <#input id="vehicleType" name="车辆类型" value="${item.vehicleType}"/> |
| | | <#input id="ownerName" name="车辆所有人" value="${item.ownerName}"/> |
| | | <#input id="engineId" name="发动机号" value="${item.engineId}"/> |
| | | <!-- |
| | | <#input id="VIN" name="车辆VIN码" value="${item.VIN}"/> |
| | | <#input id="certifyDateA" name="车辆注册日期" type="text" value="${item.certifyDateA}"/> |
| | | <#input id="fuelType" name="车辆燃料类型" value="${item.fuelType}"/> |
| | |
| | | <option value="2" ${'2' == item.commercialType ? 'selected=selected' : ''}>巡游出租汽车</option> |
| | | <option value="3" ${'3' == item.commercialType ? 'selected=selected' : ''}>私人小客车合乘</option> |
| | | </#select> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <td><button onclick="deleteSub(this)">移除</button></td> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <!-- <div class="form-group"> |
| | | <label class="col-sm-2 control-label">限登录MAC地址:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | <input type="text" class="form-control" id="mac" name="mac" > |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" onclick="FranchiseeInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" onclick="FranchiseeInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" onclick="FranchiseeInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#label id="mac" name="限登录MAC地址" value="${item.mac}"/> |
| | | <#label id="scopeCode" name="分公司区划代码" value="${item.scopeCode}"/> |
| | | <#label id="detailAddress" name="分公司具体地址" value="${item.detailAddress}"/> |
| | | <#label id="principalPhone" name="负责人电话" value="${item.principalPhone}"/> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" disabled value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} > |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" disabled value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''}> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" disabled value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass" style="text-align: center;"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <!--<td><button onclick="deleteSub(this)">移除</button></td>--> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" disabled value="2" ${1 == item.isTaxi ? 'checked=checked' : ''}> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" disabled value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" disabled value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <td><button onclick="deleteSub(this)">移除</button></td> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | <input type="text" class="form-control" id="mac" name="mac" value="${item.mac}"> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div>--> |
| | | </div> |
| | | <div class="checkbox checkbox-success"> |
| | | <input name="checkbox" id="checkbox3" type="checkbox" value="3" ${1 == item.isCross ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox3()"> |
| | | <label for="checkbox3"> |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | <!--<div class="checkbox checkbox-info"> |
| | | </div>--> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | <input type="hidden" id="roleType" name="roleType" value="${roleType}"> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#input id="name" name="司机姓名" /> |
| | | <#input id="lastName" name="司机姓" /> |
| | | <#input id="firstName" name="司机名" /> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">所属机构:</label> |
| | |
| | | </div> |
| | | |
| | | <#avatar id="headImgUrl" name="头像:" /> |
| | | <#avatar id="faceImgUrl" name="人脸识别照片:" /> |
| | | <!--<#avatar id="faceImgUrl" name="人脸识别照片:" />--> |
| | | <!--<#input id="phone" name="手机号" />--> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">性别:</label> |
| | |
| | | </div> |
| | | </div> |
| | | <#input id="birthday" name="出生日期"/> |
| | | <#input id="email" name="邮箱地址:" type="email"/> |
| | | <#input id="email" name="邮箱地址" type="email"/> |
| | | <#input id="driveCard" name="驾驶证号码"/> |
| | | <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" /> |
| | | <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" /> |
| | | <#input id="driverAge" name="驾龄" /> |
| | | <#input id="idCard" name="身份证号" /> |
| | | <!--<#input id="idCard" name="身份证号" />--> |
| | | <#avatar id="idCardImgUrl1" name="身份证正面照片:" /> |
| | | <#avatar id="idCardImgUrl2" name="身份证背面照片:" /> |
| | | <#input id="driverAddress" name="居住地址" /> |
| | | <#input id="taxiAptitudeCard" name="出租车资格证号" /> |
| | | <!-- |
| | | <#avatar id="networkCarlssueImg" name="网约车资格证照片:" /> |
| | | <#input id="jobNumber" name="工号(选填)" /> |
| | | --> |
| | | <div class="form-group"> |
| | | <fieldset> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div id="lineDiv" style="display: none;"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">关联线路:</label> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | --> |
| | | <#input id="" name="" /> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">手机号运营商</label> |
| | | <div class="col-sm-9"> |
| | | <select class="form-control" id="phoneOperator" name="phoneOperator"> |
| | | <option value="GH-MTN-B2C">MTN</option> |
| | | <option value="GH-TIGO-B2C">TIGO</option> |
| | | <option value="GH-VODAFONE-B2C">VODAFONE</option> |
| | | <option value="GH-AIRTEL-B2C">AIRTEL</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <#input id="phone" name="登录账号【手机号】" /> |
| | | <#input id="password" name="密码" type="password"/> |
| | | <#input id="rePassword" name="确认密码" type="password"/> |
| | | |
| | | <!-- |
| | | <#input id="driverNationality" name="国籍"/> |
| | | <#input id="driverNation" name="民族"/> |
| | | <div class="form-group"> |
| | |
| | | <#input id="emergencyContact" name="紧急联系人"/> |
| | | <#input id="emergencyContactPhone" name="紧急联系电话"/> |
| | | <#input id="emergencyContactAddress" name="紧急联系地址"/> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <input type="hidden" id="roleType" name="roleType" value="${roleType}"> |
| | | <div class="row"> |
| | | <div class="col-sm-11"> |
| | | <#input id="name" name="司机姓名" value="${item.name}"/> |
| | | <#input id="lastName" name="司机姓" value="${item.lastName}"/> |
| | | <#input id="firstName" name="司机名" value="${item.firstName}"/> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">所属机构:</label> |
| | |
| | | </div> |
| | | |
| | | <#avatar id="headImgUrl" name="头像:" avatarImg="${item.headImgUrl}"/> |
| | | <#avatar id="faceImgUrl" name="人脸识别照片:" avatarImg="${item.faceImgUrl}"/> |
| | | <!--<#avatar id="faceImgUrl" name="人脸识别照片:" avatarImg="${item.faceImgUrl}"/>--> |
| | | <!--<#input id="phone" name="手机号" value="${item.phone}"/>--> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">性别:</label> |
| | |
| | | </div> |
| | | </div> |
| | | <#input id="birthday" name="出生日期" value="${item.birthday}"/> |
| | | <#input id="email" name="邮箱地址:" value="${item.email}" type="email"/> |
| | | <#input id="email" name="邮箱地址" value="${item.email}" type="email"/> |
| | | <#input id="driveCard" name="驾驶证号码" value="${item.driveCard}"/> |
| | | <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" avatarImg="${item.driveCardImgUrl1}"/> |
| | | <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" avatarImg="${item.driveCardImgUrl2}"/> |
| | | <#input id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | <#input id="idCard" name="身份证号" value="${item.idCard}"/> |
| | | <!--<#input id="idCard" name="身份证号" value="${item.idCard}"/>--> |
| | | <#avatar id="idCardImgUrl1" name="身份证正面照片:" avatarImg="${item.idCardImgUrl1}"/> |
| | | <#avatar id="idCardImgUrl2" name="身份证背面照片:" avatarImg="${item.idCardImgUrl2}"/> |
| | | <#input id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#input id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#input id="jobNumber" name="工号(选填)" value="${item.jobNumber}"/> |
| | | <!--<#input id="jobNumber" name="工号(选填)" value="${item.jobNumber}"/>--> |
| | | <div class="form-group"> |
| | | <fieldset> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div id="lineDiv" style="display: none;"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">关联线路:</label> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <#input id="phoneOperator" name="手机号运营商" value="${item.phoneOperator}"/> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">手机号运营商</label> |
| | | <div class="col-sm-9"> |
| | | <select class="form-control" id="phoneOperator" name="phoneOperator"> |
| | | <option value="GH-MTN-B2C" ${item.phoneOperator == 'GH-MTN-B2C' ? 'selected' : ''}>MTN</option> |
| | | <option value="GH-TIGO-B2C" ${item.phoneOperator == 'GH-TIGO-B2C' ? 'selected' : ''}>TIGO</option> |
| | | <option value="GH-VODAFONE-B2C" ${item.phoneOperator == 'GH-VODAFONE-B2C' ? 'selected' : ''}>VODAFONE</option> |
| | | <option value="GH-AIRTEL-B2C" ${item.phoneOperator == 'GH-AIRTEL-B2C' ? 'selected' : ''}>AIRTEL</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <#input id="phone" name="登录账号【手机号】" value="${item.phone}"/> |
| | | <#input id="password" name="密码" type="password" /> |
| | | <#input id="rePassword" name="确认密码" type="password" /> |
| | | |
| | | <!-- |
| | | <#input id="driverNationality" name="国籍" value="${item.driverNationality}"/> |
| | | <#input id="driverNation" name="民族" value="${item.driverNation}"/> |
| | | <div class="form-group"> |
| | |
| | | <#input id="emergencyContact" name="紧急联系人" value="${item.emergencyContact}"/> |
| | | <#input id="emergencyContactPhone" name="紧急联系电话" value="${item.emergencyContactPhone}"/> |
| | | <#input id="emergencyContactAddress" name="紧急联系地址" value="${item.emergencyContactAddress}"/> |
| | | |
| | | --> |
| | | |
| | | </div> |
| | | </div> |
| | |
| | | <input type="hidden" id="id" name="id" value="${item.id}"> |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#label id="name" name="姓名" value="${item.name}"/> |
| | | <#label id="name" name="姓" value="${item.lastName}"/> |
| | | <#label id="name" name="名" value="${item.firstName}"/> |
| | | <#label id="phoneOperator" name="手机号运营商" value="${item.phoneOperator}"/> |
| | | <#label id="phone" name="手机号" value="${item.phone}"/> |
| | | <#label id="sexStr" name="性别" value="${item.sexStr}"/> |
| | | <#label id="addTypeStr" name="司机来源" value="${item.addTypeStr}"/> |
| | |
| | | <div class="col-sm-6"> |
| | | <div id="driveCardImgUrlPreId"> |
| | | <div> |
| | | @if(isEmpty(item.driveCardImgUrl)){ |
| | | @if(isEmpty(item.driveCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl}')" src="${item.driveCardImgUrl}" style="max-width:250px;"> |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl1}')" src="${item.driveCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl" value="${item.driveCardImgUrl}"/> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl1" value="${item.driveCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="idCard" name="身份证号码" value="${item.idCard}"/> |
| | | <!--<#label id="idCard" name="身份证号码" value="${item.idCard}"/>--> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证正面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl1PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl1}')" src="${item.idCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl1" name="idCardImgUrl1" value="${item.idCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证背面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl2PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl2)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl2}')" src="${item.idCardImgUrl2}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl2" name="idCardImgUrl2" value="${item.idCardImgUrl2}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#label id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#label id="serverStr" name="服务模式" value="${item.serverStr}"/> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">审核结果:</label> |
| | |
| | | </div> |
| | | <#label id="companyName" name="邮箱地址" value="${item.email}"/> |
| | | <#label id="companyName" name="出生日期" value="${item.birthday}"/> |
| | | <#label id="companyName" name="所属机构" value="${item.companyName}"/> |
| | | <#label id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | </div> |
| | | </div> |
| | |
| | | <input type="hidden" id="id" name="id" value="${item.id}"> |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#label id="name" name="姓名" value="${item.name}"/> |
| | | <#label id="name" name="姓" value="${item.lastName}"/> |
| | | <#label id="name" name="名" value="${item.firstName}"/> |
| | | <#label id="phoneOperator" name="手机号运营商" value="${item.phoneOperator}"/> |
| | | <#label id="phone" name="手机号" value="${item.phone}"/> |
| | | <#label id="sexStr" name="性别" value="${item.sexStr}"/> |
| | | <#label id="addTypeStr" name="司机来源" value="${item.addTypeStr}"/> |
| | |
| | | <div class="col-sm-6"> |
| | | <div id="driveCardImgUrlPreId"> |
| | | <div> |
| | | @if(isEmpty(item.driveCardImgUrl)){ |
| | | @if(isEmpty(item.driveCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl}')" src="${item.driveCardImgUrl}" style="max-width:250px;"> |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl1}')" src="${item.driveCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl" value="${item.driveCardImgUrl}"/> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl1" value="${item.driveCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="idCard" name="身份证号码" value="${item.idCard}"/> |
| | | <!--<#label id="idCard" name="身份证号码" value="${item.idCard}"/>--> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证正面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl1PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl1}')" src="${item.idCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl1" name="idCardImgUrl1" value="${item.idCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证背面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl2PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl2)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl2}')" src="${item.idCardImgUrl2}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl2" name="idCardImgUrl2" value="${item.idCardImgUrl2}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#label id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#label id="serverStr" name="服务模式" value="${item.serverStr}"/> |
| | | <#label id="authStateStr" name="审核结果" value="${item.authStateStr}"/> |
| | | </div> |
| | |
| | | </div> |
| | | <#label id="companyName" name="邮箱地址" value="${item.email}"/> |
| | | <#label id="companyName" name="出生日期" value="${item.birthday}"/> |
| | | <#label id="companyName" name="所属机构" value="${item.companyName}"/> |
| | | <#label id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | </div> |
| | | </div> |
| | |
| | | <#NameCon id="companyName" name="所属分公司/加盟商" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phoneOperator" name="手机号运营商" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="手机号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" name="姓名" /> |
| | | <#NameCon id="lastName" name="姓" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="firstName" name="名" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="addType" name="司机来源" > |
| | |
| | | <#TimeCon id="insertTime" name="添加时间" isTime="false"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="condition" name="省/市/区名称" /> |
| | | <#NameCon id="condition" name="城市名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TOpenCity.search()"/> |
| | |
| | | <div class="form-horizontal" id="openCityForm"> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#select id="provinceId" name="省:" onchange="TOpenCityInfoDlg.provinceChange()"> |
| | | <option value="">选择省</option> |
| | | @for(province in provinceList){ |
| | | <option value="${province.id}">${province.name}</option> |
| | | <#select id="cityId" name="城市:"> |
| | | <option value="">选择城市</option> |
| | | @for(item in city){ |
| | | <option value="${item.id}">${item.chineseName}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="cityId" name="市:" onchange="TOpenCityInfoDlg.cityChange()"> |
| | | <option value="">选择市</option> |
| | | </#select> |
| | | <#select id="areaId" name="区:"> |
| | | <option value="">选择区</option> |
| | | </#select> |
| | | <#select id="isQualifications" name="是否需要网约车资格证:"> |
| | | <option value="">选择是否需要网约车资格证</option> |
| | | <option value="1">是</option> |
| | | <option value="2">否</option> |
| | | </#select> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | <select class="form-control" id="businessType"> |
| | | <option value="">选择经营业务</option> |
| | | <option value="1">专车</option> |
| | | <option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="6">包车</option> |
| | | <option value="4">市内小件物流</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-3" > |
| | |
| | | <input type="hidden" id="id" name="id" value="${item.id}"> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#select id="provinceId" name="省:" onchange="TOpenCityInfoDlg.provinceChange()"> |
| | | <option value="">选择省</option> |
| | | @for(province in provinceList){ |
| | | <option value="${province.id}" ${province.id == item.areaId ? 'selected=selected' : ''}>${province.name}</option> |
| | | <#select id="cityId" name="城市:"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}" ${obj.id == item.cityId ? 'selected=selected' : ''}>${obj.chineseName}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="cityId" name="市:" onchange="TOpenCityInfoDlg.cityChange()"> |
| | | <option value="">选择市</option> |
| | | @for(city in cityList){ |
| | | <option value="${city.id}" ${city.id == item.cityId ? 'selected=selected' : ''}>${city.name}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="areaId" name="区:"> |
| | | <option value="">选择区</option> |
| | | @for(area in areaList){ |
| | | <option value="${area.id}" ${area.id == item.provinceId ? 'selected=selected' : ''}>${area.name}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="isQualifications" name="是否需要网约车资格证:"> |
| | | <option value="">选择是否需要网约车资格证</option> |
| | | <option value="1" ${1 == item.isQualifications ? 'selected=selected' : ''}>是</option> |
| | | <option value="2" ${2 == item.isQualifications ? 'selected=selected' : ''}>否</option> |
| | | </#select> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | <select class="form-control" id="businessType"> |
| | | <option value="">选择经营业务</option> |
| | | <option value="1">专车</option> |
| | | <option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="6">包车</option> |
| | | <option value="4">市内小件物流</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-3" > |
| | |
| | | <option value="">全部</option> |
| | | <option value="1">专车</option> |
| | | <!--<option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="3">跨城出行</option>--> |
| | | <option value="4">市内小件物流</option> |
| | | <!--<option value="5">同城小件物流</option> |
| | | <option value="6">包车</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | |
| | | <#input id="id" name="" underline="true"/> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="driverId" name="司机id" underline="true"/> |
| | | <#input id="orderType" name="1=专车,2=出租车,3=跨城出行,4=跨城小件物流,5=同城小件物流,6=包车"/> |
| | | <#input id="orderType" name="1=专车,4=市内小件物流"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | |
| | | <#input id="id" name="" value="${item.id}" underline="true"/> |
| | | <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> |
| | | <#input id="driverId" name="司机id" value="${item.driverId}" underline="true"/> |
| | | <#input id="orderType" name="1=专车,2=出租车,3=跨城出行,4=跨城小件物流,5=同城小件物流,6=包车" value="${item.orderType}" /> |
| | | <#input id="orderType" name="1=专车,4=市内小件物流" value="${item.orderType}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="type" name="订单类型" > |
| | | <option value="">全部</option> |
| | | <option value="4">同城物流</option> |
| | | <option value="5">跨城物流</option> |
| | | <option value="4">市内小件物流</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <#label id="orderNum" name="订单编号" value="${item.orderNum}"/> |
| | | <#label id="travelTimeStr" name="乘车时间" value="${item.travelTimeStr}"/> |
| | | <#label id="userPhone" name="下单用户手机号" value="${item.userPhone}"/> |
| | | <#label id="passengersPhone" name="收货人手机号" value="${item.passengersPhone}"/> |
| | | <#label id="passengersPhone" name="收货人手机号" value="${item.recipientPhone}"/> |
| | | <#label id="endAddress" name="终点" value="${item.endAddress}"/> |
| | | <#label id="car" name="接单车辆" value="${item.car}"/> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <div class="form-horizontal" id="container" style="margin-left: 50px;width: 100%; height: 500px;"></div> |
| | | <div class="input-card" style="margin-left: 50px;"> |
| | | <h4>轨迹回放控制</h4> |
| | | <div class="input-item"> |
| | | <input type="button" class="btn" value="开始动画" id="start" onclick="startAnimation()"/> |
| | | <input type="button" class="btn" value="暂停动画" id="pause" onclick="pauseAnimation()"/> |
| | | <input type="button" class="btn" value="继续动画" id="resume" onclick="resumeAnimation()"/> |
| | | <input type="button" class="btn" value="停止动画" id="stop" onclick="stopAnimation()"/> |
| | | </div> |
| | | <div class="input-item"> |
| | | </div> |
| | | </div> |
| | | <div class="form-horizontal" id="map" style="margin-left: 50px;width: 100%; height: 500px;"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.8&key=e17d799b2506d05faf7f88320a266803"></script> |
| | | <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script> |
| | | <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0&callback=initMap&v=weekly"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script> |
| | | @} |
| | |
| | | <#NameCon id="name" name="提现人" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="withdrawalType" name="提现方式" > |
| | | <option value="">全部</option> |
| | | <option value="1">银行卡</option> |
| | | <option value="2">线下</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="userType" name="用户类型" > |
| | | <option value="">全部</option> |
| | | <option value="1">用户</option> |
| | |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>管理</h5> |
| | | <h5>报失管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="userId" name="用户id" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流,6=包车)" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,4=市内小件物流)" underline="true"/> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="remark" name="备注" underline="true"/> |
| | | <#input id="image" name="图片"/> |
| | |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="userId" name="用户id" value="${item.userId}" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流,6=包车)" value="${item.orderType}" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,4=市内小件物流)" value="${item.orderType}" underline="true"/> |
| | | <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> |
| | | <#input id="remark" name="备注" value="${item.remark}" underline="true"/> |
| | | <#input id="image" name="图片" value="${item.image}" /> |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">改派设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | name="one" id="one" class="form-control newWidth" /> 元;<br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">积分设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | name="two" id="two" class="form-control newWidth" /> 积分;<br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group" style="height: 70px;"> |
| | | <label class="col-sm-2 control-label">人脸识别:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">专车改派:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | * 提交操作 |
| | | */ |
| | | function setUp() { |
| | | var one = $("#one").val().trim(); |
| | | // var one = $("#one").val().trim(); |
| | | var one = "0.00"; |
| | | var two = $("#two").val().trim(); |
| | | var three = $("input[name='three']:checked").val(); |
| | | var openValue = $("#openValue").val(); |
| | | // var three = $("input[name='three']:checked").val(); |
| | | var three = "2"; |
| | | // var openValue = $("#openValue").val(); |
| | | var openValue = "0"; |
| | | |
| | | var isSpecialCar = $("#isSpecialCar").is(":checked"); |
| | | if (isSpecialCar){ |
| | |
| | | Feng.info("输入框不能为空!"); |
| | | return; |
| | | }else if (1 == three){ |
| | | if ("" == openValue || null == openValue || undefined == openValue){ |
| | | Feng.info("人脸识别分钟数不能为空!"); |
| | | return; |
| | | }else if (!regInt.test(openValue)) { |
| | | Feng.info("人脸识别分钟数格式不正确!"); |
| | | return; |
| | | } |
| | | // if ("" == openValue || null == openValue || undefined == openValue){ |
| | | // Feng.info("人脸识别分钟数不能为空!"); |
| | | // return; |
| | | // }else if (!regInt.test(openValue)) { |
| | | // Feng.info("人脸识别分钟数格式不正确!"); |
| | | // return; |
| | | // } |
| | | } else if (!regDouble.test(one) || !regInt.test(two) |
| | | |
| | | || !regDouble.test(zc1) || !regInt.test(zc2) || !regDouble.test(zc3) |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">选择车型:</label> |
| | | <div class="col-sm-10"> |
| | | <select class="form-control" id="serverCarModelId" name="serverCarModelId" style="width: 200px;"> |
| | | <select class="form-control" id="serverCarModelId" name="serverCarModelId" disabled style="width: 200px;"> |
| | | <option value="">选择车型</option> |
| | | @for(obj in modelList!){ |
| | | <option value="${obj.id}" ${obj.id == item.serverCarModelId ? 'selected=selected' : ''}>${obj.name}</option> |
| | |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="id" name="用户ID" value="${item.id}"/> |
| | | <#label id="email" name="email" value="${item.email}"/> |
| | | <#label id="companyName" name="注册地分公司" value="${item.companyName}"/> |
| | | <#label id="nickName" name="昵称" value="${item.nickName}"/> |
| | | <#label id="emergencyContactNumber" name="紧急联系人电话" value="${item.emergencyContactNumber}"/> |
| | |
| | | <div class="row"> |
| | | <div class="col-sm-6"> |
| | | <#label id="zcNum" name="专车" value="${item.zcNum}"/> |
| | | <#label id="czNum" name="出租车" value="${item.czNum}"/> |
| | | <!--<#label id="czNum" name="出租车" value="${item.czNum}"/>--> |
| | | <#label id="consumptionStr" name="历史消费" value="¥${item.consumptionNum}"/> |
| | | <#label id="integral" name="积分" value="${item.integral}"/> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="kcNum" name="跨城出行" value="${item.kcNum}"/> |
| | | <!--<#label id="kcNum" name="跨城出行" value="${item.kcNum}"/>--> |
| | | <#label id="wlNum" name="小件物流" value="${item.wlNum}"/> |
| | | <#label id="balance" name="钱包余额" value="¥${item.balanceStr}"/> |
| | | @if(item.state == 1){ |
| | |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num4" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num5" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(1)"/> 元专车优惠券 |
| | | <input type="text" name="zc1" id="num5" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(1)"/> 元打车优惠券 |
| | | <br/> |
| | | <!--<br/>--> |
| | | <!--送--> |
| | | <!-- <input type="text" name="zc1" id="num6" class="form-control newWidth" /> 张--> |
| | | <!-- <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(2)"/> 元出租车优惠券--> |
| | | <!--<br/>--> |
| | | <!--<br/>--> |
| | | <!--送--> |
| | | <!-- <input type="text" name="zc1" id="num8" class="form-control newWidth" /> 张--> |
| | | <!-- <input type="text" name="zc1" id="num9" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(3)"/> 元城际优惠券--> |
| | | <!--<br/>--> |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num6" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(2)"/> 元出租车优惠券 |
| | | <br/> |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num8" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num9" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(3)"/> 元城际优惠券 |
| | | <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(4)"/> 元包裹优惠券 |
| | | <br/> |
| | | <br/> |
| | | 有效期 |
| | |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '充值金额', field: 'money', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用券领取总数', field: 'number', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用券使用总数', field: 'useNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用券使用总金额', field: 'useMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '专车券领取总数', field: 'speNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '专车券使用总数', field: 'speUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '专车券使用总金额', field: 'speUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券领取总数', field: 'taxiNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券使用总数', field: 'taxiUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券使用总金额', field: 'taxiUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券领取总数', field: 'intercityNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券使用总数', field: 'intercityUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券使用总金额', field: 'intercityUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用优惠券领取总数', field: 'number', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用优惠券使用总数', field: 'useNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通用优惠券使用总金额', field: 'useMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '打车优惠券领取总数', field: 'speNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '打车优惠券使用总数', field: 'speUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '打车优惠券使用总金额', field: 'speUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券领取总数', field: 'taxiNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券使用总数', field: 'taxiUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券使用总金额', field: 'taxiUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '包裹优惠券领取总数', field: 'intercityNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '包裹优惠券使用总数', field: 'intercityUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '包裹优惠券使用总金额', field: 'intercityUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '', field: 'insertTime', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ''; |
| | |
| | | <th style="width: 250px;">充值金额</th> |
| | | <th style="width: 250px;">有效天数</th> |
| | | <th style="width: 300px;">最高金额</th> |
| | | <th style="width: 300px;">通用券金额</th> |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <th style="width: 300px;">通用优惠券金额</th> |
| | | <th style="width: 300px;">通用优惠卷数量</th> |
| | | <th style="width: 300px;">打车优惠券金额</th> |
| | | <th style="width: 300px;">打车优惠券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <th style="width: 300px;">包裹优惠卷金额</th> |
| | | <th style="width: 300px;">包裹优惠券数量</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | |
| | | |
| | | <input type="text" name="zc1" id="content5Num1" class="form-control newWidth" /> 折 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | | <input type="text" name="zc1" id="content5Num2" class="form-control newWidth" /> 折 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 小件物流活动打折: |
| | | <input type="text" name="zc1" id="content5Num3" class="form-control newWidth" /> 折 |
| | |
| | | @if(isNotEmpty(item1Coupon)){ |
| | | value="${item1Coupon.couponUseType==0?'通用券': |
| | | item1Coupon.couponUseType==1?'专车券': |
| | | item1Coupon.couponUseType==2?'出租券':'跨城出行券'}" |
| | | item1Coupon.couponUseType==2?'出租券':'包裹优惠劵'}" |
| | | @}else{ |
| | | value="" |
| | | @} |
| | |
| | | @if(isNotEmpty(item2Coupon)){ |
| | | value="${item2Coupon.couponUseType==0?'通用券': |
| | | item2Coupon.couponUseType==1?'专车券': |
| | | item2Coupon.couponUseType==2?'出租券':'跨城出行券'}" |
| | | item2Coupon.couponUseType==2?'出租券':'包裹优惠券'}" |
| | | @}else{ |
| | | value="" |
| | | @} |
| | |
| | | <th style="width: 250px;">充值金额</th> |
| | | <th style="width: 250px;">有效天数</th> |
| | | <th style="width: 300px;">最高金额</th> |
| | | <th style="width: 300px;">通用券金额</th> |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <th style="width: 300px;">通用优惠券金额</th> |
| | | <th style="width: 300px;">通用优惠卷数量</th> |
| | | <th style="width: 300px;">打车优惠券金额</th> |
| | | <th style="width: 300px;">打车优惠券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <th style="width: 300px;">包裹优惠卷金额</th> |
| | | <th style="width: 300px;">包裹优惠券数量</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | @for(obj in balanceInfoList){ |
| | | <tr class="timeClass">' + |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="num1" name="num1" value="${obj.money}">${obj.money}</td> |
| | | <td><input type="hidden" id="num10" name="num10" value="${obj.effective}">${obj.effective}</td> |
| | | <td><input type="hidden" id="num11" name="num3" value="${obj.totalPrice}">${obj.totalPrice}</td> |
| | |
| | | <td><input type="hidden" id="num5" name="num5" value="${obj.specialCouponMoney}">${obj.specialCouponMoney}</td> |
| | | <td><input type="hidden" id="num4" name="num4" value="${obj.specialNum}">${obj.specialNum}</td> |
| | | |
| | | <td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td> |
| | | <td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td> |
| | | <!--<td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td>--> |
| | | <!--<td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td>--> |
| | | |
| | | <td><input type="hidden" id="num9" name="num9" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td> |
| | | <td><input type="hidden" id="num8" name="num8" value="${obj.intercityNum}">${obj.intercityNum}</td> |
| | | <td><input type="hidden" id="num9" name="num7" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td> |
| | | <td><input type="hidden" id="num8" name="num6" value="${obj.intercityNum}">${obj.intercityNum}</td> |
| | | </tr> |
| | | @} |
| | | </tbody> |
| | |
| | | @} |
| | | name="zc1" id="content5Num1" class="form-control newWidth" readonly/> |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | |
| | | @} |
| | | name="zc1" id="content5Num2" class="form-control newWidth" readonly/> |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 距离: |
| | | <input type="text" |
| | |
| | | <th style="width: 250px;">充值金额</th> |
| | | <th style="width: 250px;">有效天数</th> |
| | | <th style="width: 300px;">最高金额</th> |
| | | <th style="width: 300px;">通用券金额</th> |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <th style="width: 300px;">通用优惠券金额</th> |
| | | <th style="width: 300px;">通用优惠卷数量</th> |
| | | <th style="width: 300px;">打车优惠券金额</th> |
| | | <th style="width: 300px;">打车优惠券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <th style="width: 300px;">包裹优惠卷金额</th> |
| | | <th style="width: 300px;">包裹优惠券数量</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | @for(obj in balanceInfoList){ |
| | | <tr class="timeClass">' + |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="id1" name="id1" value="${obj.generalCouponId}"><input type="hidden" id="num1" name="num1" value="${obj.money}">${obj.money}</td> |
| | | <td><input type="hidden" id="id2" name="id2" value="${obj.specialCouponId}"><input type="hidden" id="num10" name="num10" value="${obj.effective}">${obj.effective}</td> |
| | | <td><input type="hidden" id="num11" name="num11" value="${obj.totalPrice}">${obj.totalPrice}</td> |
| | |
| | | <td><input type="hidden" id="num5" name="num5" value="${obj.specialCouponMoney}">${obj.specialCouponMoney}</td> |
| | | <td><input type="hidden" id="num4" name="num4" value="${obj.specialNum}">${obj.specialNum}</td> |
| | | |
| | | <td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td> |
| | | <td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td> |
| | | <!-- <td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td>--> |
| | | <!-- <td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td>--> |
| | | |
| | | <td><input type="hidden" id="num9" name="num9" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td> |
| | | <td><input type="hidden" id="num8" name="num8" value="${obj.intercityNum}">${obj.intercityNum}</td> |
| | | <td><input type="hidden" id="num9" name="num7" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td> |
| | | <td><input type="hidden" id="num8" name="num6" value="${obj.intercityNum}">${obj.intercityNum}</td> |
| | | <td><button onclick="deleteSub(this)">移除</button></td> |
| | | </tr> |
| | | @} |
| | |
| | | @} |
| | | name="zc1" id="content5Num1" class="form-control newWidth" /> |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | |
| | | @} |
| | | name="zc1" id="content5Num2" class="form-control newWidth" /> |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 小件物流活动打折: |
| | | <input type="text" |
| | |
| | | server: |
| | | port: 8010 |
| | | |
| | | guns: |
| | | swagger-open: true #是否开启swagger (true/false) |
| | | kaptcha-open: false #是否开启登录时验证码 (true/false) |
| | | spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) |
| | | session-invalidate-time: 1800 #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒 |
| | | session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 |
| | | # file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录) |
| | | # picture-server-address: http://192.168.0.43/resources/ #图片服务器地址 |
| | | file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录) |
| | | picture-server-address: http://139.9.249.67:8080/upload/ #图片服务器地址 |
| | | rest-url: http://139.9.249.67:8080/rest/ #前端接口调用基础路径 |
| | | |
| | | spring: |
| | | profiles: |
| | | active: local |
| | | mvc: |
| | | static-path-pattern: /static/** |
| | | view: |
| | | prefix: /WEB-INF/view |
| | | devtools: |
| | | restart: |
| | | enabled: false |
| | | additional-paths: src/main/java |
| | | exclude: static/**,WEB-INF/view/** |
| | | servlet: |
| | | multipart: |
| | | max-request-size: 100MB |
| | | max-file-size: 100MB |
| | | |
| | | mybatis-plus: |
| | | type-aliases-package: com.stylefeng.guns.modular.system.model |
| | | global-config: |
| | | id-type: 0 #0:数据库ID自增 1:用户输入id 2:全局唯一id(IdWorker) 3:全局唯一ID(uuid) |
| | | db-column-underline: false |
| | | configuration: |
| | | configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射 |
| | | log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置 |
| | | |
| | | logging: |
| | | level.root: error |
| | | level.com.stylefeng: debug |
| | | path: logs/ |
| | | file: guns.log |
| | | |
| | | #eureka: |
| | | # client: |
| | | # service-url: #注册中心地址 |
| | | # defaultZone: http://sinata:sinata@139.9.249.67:8000/eureka #启用身份验证的方式连接 |
| | | # register-with-eureka: true #在注册中心进行注册 |
| | | # fetch-registry: true #从Eureka中获取注册信息。 |
| | | |
| | | |
| | | --- |
| | | |
| | | #spring: |
| | | # profiles: local |
| | | # datasource: |
| | | # url: jdbc:mysql://Rm-wz9rpe0t74ys3b1h8go.mysql.rds.aliyuncs.com:3306/oktravel?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | # username: root |
| | | # password: Root2020! |
| | | # db-name: oktravel #用来搜集数据库的所有表 |
| | | # filters: wall,mergeStat |
| | | |
| | | ################# 测试环境 ################### |
| | | spring: |
| | | profiles: local |
| | | datasource: |
| | | url: jdbc:mysql://192.168.0.80:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: 123456 |
| | | db-name: igotravel #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | |
| | | #多数据源情况的配置 |
| | | guns: |
| | | muti-datasource: |
| | | open: false |
| | | url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: Root2020! |
| | | dataSourceNames: |
| | | - dataSourceGuns |
| | | - dataSourceBiz |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | profiles: produce |
| | | datasource: |
| | | url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: Root2020! |
| | | db-name: mask #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | --- |
| | | |
| | | #filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 |
| | | filePath: C:/orderPostionFile/ #存储订单轨迹文件路径 |
| | | |
| | | |
| | | #交通部推送数据功能开关 |
| | | pushMinistryOfTransport: false |
| | | |
| | | #quartz配置 |
| | | spring: |
| | | quartz: |
| | | properties: |
| | | org: |
| | | quartz: |
| | | scheduler: |
| | | instanceName: MyDefaultQuartzScheduler |
| | | instanceId: AUTO |
| | | jobStore: |
| | | class: org.quartz.impl.jdbcjobstore.JobStoreTX |
| | | driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
| | | tablePrefix: qrtz_ |
| | | isClustered: false |
| | | clusterCheckinInterval: 10000 |
| | | useProperties: false |
| | | threadPool: |
| | | class: org.quartz.simpl.SimpleThreadPool |
| | | threadCount: 10 |
| | | threadPriority: 5 |
| | | threadsInheritContextClassLoaderOfInitializingThread: true |
| | | job-store-type: jdbc |
| | | |
| | | |
| | | active: dev |
| | |
| | | </sql> |
| | | <select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT |
| | | d.`name`,d.phone,h.insertTime,h.money |
| | | CONCAT(d.firstName, ' ', d.lastName) as `name`,d.phone,h.insertTime,h.money |
| | | FROM |
| | | t_driver_activity_history h |
| | | LEFT JOIN t_driver d ON h.driverId = d.id |
| | |
| | | ORDER BY date_format(insertTime, '%Y-%m-%d') DESC |
| | | </select> |
| | | <select id="getList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT |
| | | date_format(startTime, '%Y-%m-%d') times |
| | | FROM |
| | | t_driver_work |
| | | GROUP BY |
| | | date_format(startTime, '%Y-%m-%d') |
| | | ORDER BY |
| | | date_format(startTime, '%Y-%m-%d') DESC |
| | | select |
| | | a.`date` as times, |
| | | a.driverNum, |
| | | b.duration as timeNumber |
| | | from ( |
| | | select `date`, count(driverId) as driverNum from t_driver_online where assessment = 0 group by `date` |
| | | ) as a |
| | | left join ( |
| | | select `date`, sum(duration) as duration from t_driver_online where assessment = 0 group by `date` |
| | | ) as b on (a.date = b.date) |
| | | ORDER BY a.date DESC |
| | | </select> |
| | | <select id="getList2" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT |
| | | w.driverId, |
| | | d. NAME, |
| | | o.timeNumber |
| | | FROM |
| | | t_driver_work w |
| | | LEFT JOIN t_driver d ON d.id = w.driverId |
| | | LEFT JOIN ( |
| | | SELECT |
| | | IFNULL(SUM(o.timeNumber), 0) timeNumber, |
| | | driverId |
| | | FROM |
| | | ( |
| | | SELECT |
| | | TIMESTAMPDIFF( |
| | | MINUTE, |
| | | startTime, |
| | | CASE |
| | | WHEN endTime IS NULL THEN |
| | | NOW() |
| | | ELSE |
| | | endTime |
| | | END |
| | | ) timeNumber, |
| | | driverId |
| | | FROM |
| | | t_driver_work |
| | | WHERE |
| | | date_format(startTime, '%Y-%m-%d') = #{times} |
| | | |
| | | ) o GROUP BY |
| | | driverId |
| | | ) o ON o.driverId = d.id |
| | | WHERE |
| | | date_format(startTime, '%Y-%m-%d') = #{times} |
| | | GROUP BY |
| | | w.driverId |
| | | select |
| | | CONCAT(b.firstName, ' ', b.lastName) as `name`, |
| | | a.duration as timeNumber |
| | | from t_driver_online a |
| | | left join t_driver b on (a.driverId = b.id) |
| | | where a.assessment = 0 and DATE_FORMAT(a.`date`, '%Y-%m-%d') = #{times} |
| | | </select> |
| | | <select id="getTotal" resultType="map"> |
| | | SELECT COUNT(o.driverId) driverNum,SUM(o.timeNumber) timeNumber from (SELECT |
| | | w.driverId, |
| | | d. NAME, |
| | | CONCAT(d.firstName, ' ', d.lastName) as NAME, |
| | | o.timeNumber |
| | | FROM |
| | | t_driver_work w |
| | |
| | | <select id="queryNotInLineShiftDriver" resultType="map"> |
| | | select |
| | | d.id as id, |
| | | CONCAT(d.`name`, '-', d.phone) as `name` |
| | | CONCAT(d.firstName, ' ', d.lastName, '-', d.phone) as `name` |
| | | from t_driver d |
| | | left join t_driver_line dl on (d.id = dl.driverId) |
| | | where d.authState = 2 and d.flag != 3 and dl.lineId in |
| | |
| | | SELECT * FROM (SELECT rr.chineseName as provinceName,aa.* FROM t_advertisement as aa |
| | | LEFT JOIN t_city as rr on rr.id = aa.cityId) as o |
| | | <where> |
| | | 1=1 |
| | | type in (1, 2) |
| | | <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> |
| | | AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | </if> |
| | |
| | | select * from t_advertisement_user where advertisementId =#{id} |
| | | </select> |
| | | <select id="selectTAdvertisementInform" resultMap="BaseResultMap"> |
| | | select * from t_advertisement_inform where advertisementId =#{id} |
| | | select * from t_advertisement_user where advertisementId =#{id} |
| | | </select> |
| | | </mapper> |
| | |
| | | name as name, |
| | | DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i:%s') as insertTime |
| | | from t_car_color where state = 1 |
| | | <if test="null != createTime and '' != createTime"> |
| | | and insertTime between CONCAT(#{createTime}, ' 00:00:00') and CONCAT(#{createTime}, ' 23:59:59') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and insertTime between CONCAT(#{start}, ' 00:00:00') and CONCAT(#{end}, ' 23:59:59') |
| | | </if> |
| | | <if test="null != name and '' != name"> |
| | | and name like CONCAT('%', #{name}, '%') |
| | |
| | | select |
| | | count(1) |
| | | from t_car_color where state = 1 |
| | | <if test="null != createTime and '' != createTime"> |
| | | and insertTime between CONCAT(#{createTime}, ' 00:00:00') and CONCAT(#{createTime}, ' 23:59:59') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and insertTime between CONCAT(#{start}, ' 00:00:00') and CONCAT(#{end}, ' 23:59:59') |
| | | </if> |
| | | <if test="null != name and '' != name"> |
| | | and name like CONCAT('%', #{name}, '%') |
| | |
| | | <result column="GPSInstallDate" property="GPSInstallDate"/> |
| | | <result column="registerDate" property="registerDate"/> |
| | | <result column="commercialType" property="commercialType"/> |
| | | <result column="driverId" property="driverId"/> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | |
| | | |
| | | <!--根据条件查询车辆列表--> |
| | | <select id="getCarList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,dd.`name` as driverName,cc.* from t_car as cc |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,CONCAT(dd.firstName, ' ', dd.lastName) as driverName,cc.* from t_car as cc |
| | | LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId |
| | | LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId |
| | | LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | <where> |
| | |
| | | order by o.id desc |
| | | </select> |
| | | <select id="getCarListAuth" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,dd.`name` as driverName,cc.* from t_car as cc |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat, ifnull(CONCAT(dd.firstName, ' ', dd.lastName), CONCAT(ee.firstName, ' ', ee.lastName)) as driverName,cc.* from t_car as cc |
| | | LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId |
| | | LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId |
| | | LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS ee on ee.id = cc.driverId |
| | | ) as o |
| | | <where> |
| | | o.state = 1 and authState=1 |
| | | <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> |
| | |
| | | |
| | | <!--根据条件查询车辆列表不分页--> |
| | | <select id="getCarListNoPage" resultType="map"> |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,dd.`name` as driverName,cc.* from t_car as cc |
| | | SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,CONCAT(dd.firstName, ' ', dd.lastName) as driverName,cc.* from t_car as cc |
| | | LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId |
| | | LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId |
| | | LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | <where> |
| | |
| | | <select id="getCompanyList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.account,IFNULL(ci.num,0) as franchiseeNum,IFNULL(ca.num,0) as carNumber,IFNULL(di.num,0) as driverNumber, |
| | | CONCAT(case when cc.isSpe = 1 then '专车,' else '' end, |
| | | case when cc.isTaxi = 1 then '出租车,' else '' end, |
| | | case when cc.isCross = 1 then '跨城出行,' else '' end, |
| | | case when cc.isCrossLogistics = 1 then '跨城小件物流,' else '' end, |
| | | case when cc.isSameLogistics = 1 then '同城小件物流,' else '' end, |
| | | case when cc.isCharter = 1 then '包车,' else '' end) as serverStr, |
| | | case when cc.isSameLogistics = 1 then '市内小件物流,' else '' end, |
| | | cc.* FROM t_company as cc |
| | | LEFT JOIN (SELECT * FROM sys_user where roleType = 2) as ui on ui.objectId = cc.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,superiorId FROM t_company where type = 3 and flag != 3 GROUP BY superiorId) as ci on ci.superiorId = cc.id |
| | |
| | | |
| | | <!--根据公司ID获取公司经营区域--> |
| | | <select id="getCompanyScopeById" resultType="map"> |
| | | SELECT CONCAT(case when r1.`name` is not null then r1.`name` else '' end, |
| | | case when r2.`name` is not null then r2.`name` else '' end, |
| | | case when r3.`name` is not null then r3.`name` else '' end) as value,cc.* FROM t_company_city as cc |
| | | LEFT JOIN t_region as r1 on r1.code = cc.provinceCode |
| | | LEFT JOIN t_region as r2 on r2.code = cc.cityCode |
| | | LEFT JOIN t_region as r3 on r3.code = cc.areaCode |
| | | SELECT r1.chineseName as value,cc.* FROM t_company_city as cc |
| | | LEFT JOIN t_city as r1 on r1.id = cc.cityId |
| | | where cc.companyId = #{id} and cc.state = 1 order by id asc |
| | | </select> |
| | | |
| | |
| | | <select id="getFranchiseeList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.account,ci.`name` as companyName,IFNULL(ca.num,0) as carNumber,IFNULL(di.num,0) as driverNumber, |
| | | CONCAT(case when cc.isSpe = 1 then '专车,' else '' end, |
| | | case when cc.isTaxi = 1 then '出租车,' else '' end, |
| | | case when cc.isCross = 1 then '跨城出行,' else '' end, |
| | | case when cc.isCrossLogistics = 1 then '跨城小件物流,' else '' end, |
| | | case when cc.isSameLogistics = 1 then '同城小件物流,' else '' end, |
| | | case when cc.isCharter = 1 then '包车,' else '' end) as serverStr, |
| | | case when cc.isSameLogistics = 1 then '市内小件物流,' else '' end, |
| | | cc.* FROM t_company as cc |
| | | LEFT JOIN (SELECT * FROM sys_user where roleType = 3) as ui on ui.objectId = cc.id |
| | | LEFT JOIN (select * from t_company where type = 2 and flag != 3) as ci on ci.id = cc.superiorId |
| | |
| | | </if> |
| | | group by DATE_FORMAT(insertTime, '%Y-%m-%d') |
| | | union all |
| | | select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, 0, count(a.id) as `online`, 0 as orderNum, 0 as cancelNum, 0 as onlinePay, 0 as offlinePay, 0 as money, 0 as complaint |
| | | select DATE_FORMAT(a.date, '%Y-%m-%d') as time, 0, count(a.id) as `online`, 0 as orderNum, 0 as cancelNum, 0 as onlinePay, 0 as offlinePay, 0 as money, 0 as complaint |
| | | from t_driver_online a |
| | | left join t_driver b on (a.driverId = b.id) |
| | | where 1 = 1 |
| | | where assessment = 0 |
| | | <if test="null != companyId"> |
| | | and if(b.franchiseeId is null or b.franchiseeId = 0, b.companyId = #{companyId}, b.franchiseeId = #{companyId}) |
| | | </if> |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} |
| | | and DATE_FORMAT(a.date, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | | group by DATE_FORMAT(a.insertTime, '%Y-%m-%d') |
| | | group by DATE_FORMAT(a.date, '%Y-%m-%d') |
| | | union all |
| | | <if test="1 == type"> |
| | | select DATE_FORMAT(travelTime, '%Y-%m-%d'), 0, 0, count(id), 0, 0, 0, 0, 0 from t_order_private_car where isDelete = 1 |
| | |
| | | |
| | | <!--根据条件查询投诉列表--> |
| | | <select id="getComplaintList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT di.companyId,di.franchiseeId,ui.nickName as userName,ui.phone as userPhone,di.`name` as driverName,di.phone as driverPhone,si.`name` as handleUserName,cc.* FROM t_complaint as cc |
| | | SELECT * FROM (SELECT di.companyId,di.franchiseeId,ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, ' ', di.lastName) as driverName,di.phone as driverPhone,si.`name` as handleUserName,cc.* FROM t_complaint as cc |
| | | LEFT JOIN (select * from t_user where flag != 3) as ui on ui.id = cc.userId |
| | | LEFT JOIN (select * from t_driver where flag != 3) as di on di.id = cc.driverId |
| | | LEFT JOIN sys_user as si on si.id = cc.handleUserId |
| | |
| | | <result column="account" property="account" /> |
| | | <result column="jobNumber" property="jobNumber" /> |
| | | <result column="phone" property="phone" /> |
| | | <result column="phoneOperator" property="phoneOperator"/> |
| | | <result column="password" property="password" /> |
| | | <result column="name" property="name" /> |
| | | <result column="lastName" property="lastName" /> |
| | | <result column="firstName" property="firstName" /> |
| | | <result column="sex" property="sex" /> |
| | | <result column="idCard" property="idCard" /> |
| | | <result column="companyId" property="companyId" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, account, jobNumber, phone, password, name, sex, idCard, companyId, headImgUrl, faceImgUrl, idCardImgUrl1, idCardImgUrl2, placeOfEmployment, birthday, bankCardNumber, driverNationality, driverNation, driverMaritalStatus, driverLanguageLevel, driverEducation, driverCensus, driverAddress, driverContactAddress, licenseCode, licenselImgUrl, driverAge, driveCard, driveCardImgUrl, driverType, getDriverLicenseDate, driverLicenseOn, driverLicenseOff, taxiDriver, taxiAptitudeCard, networkCarlssueImg, networkCarlssueOrganization, networkCarlssueDate, getNetworkCarProofDate, networkCarProofOn, networkCarProofOff, registerDate, fullTimeDriver, inDriverBlacklist, commercialType, contractCompany, contractOn, contractOff, emergencyContact, emergencyContactPhone, emergencyContactAddress, remark, isPlatCar, carId, authState, state, flag, insertTime, insertUser, updateTime, updateUser, addType,uid,teamId |
| | | id, account, jobNumber, phone, phoneOperator, password, lastName, firstName, sex, idCard, companyId, headImgUrl, faceImgUrl, idCardImgUrl1, idCardImgUrl2, placeOfEmployment, birthday, bankCardNumber, driverNationality, driverNation, driverMaritalStatus, driverLanguageLevel, driverEducation, driverCensus, driverAddress, driverContactAddress, licenseCode, licenselImgUrl, driverAge, driveCard, driveCardImgUrl, driverType, getDriverLicenseDate, driverLicenseOn, driverLicenseOff, taxiDriver, taxiAptitudeCard, networkCarlssueImg, networkCarlssueOrganization, networkCarlssueDate, getNetworkCarProofDate, networkCarProofOn, networkCarProofOff, registerDate, fullTimeDriver, inDriverBlacklist, commercialType, contractCompany, contractOn, contractOff, emergencyContact, emergencyContactPhone, emergencyContactAddress, remark, isPlatCar, carId, authState, state, flag, insertTime, insertUser, updateTime, updateUser, addType,uid,teamId |
| | | </sql> |
| | | |
| | | <!--根据条件查询待审核司机列表--> |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id |
| | | ) as o |
| | | <where> |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end SEPARATOR '、') as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id |
| | | where dd.id = #{driverId} |
| | | </select> |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id |
| | | LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id |
| | | LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id |
| | |
| | | and o.phone LIKE CONCAT('%',#{phone},'%') |
| | | </if> |
| | | <if test="name != null and name != ''"> |
| | | and o.name LIKE CONCAT('%',#{name},'%') |
| | | and o.lastName LIKE CONCAT('%',#{name},'%') or o.firstName LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="addType != null and addType != ''"> |
| | | and o.addType = #{addType} |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = ci.id) as o |
| | | <where> |
| | | o.state = 1 |
| | |
| | | LEFT JOIN ( |
| | | SELECT |
| | | GROUP_CONCAT(case when type = 1 then '专车' |
| | | when type = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 then '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id |
| | | LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id |
| | | LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id |
| | |
| | | select |
| | | concat('user_',id) as id, |
| | | phone as phone, |
| | | IFNULL(name,nickName) as name, |
| | | IFNULL(CONCAT(firstName, ' ', lastName),nickName) as name, |
| | | 1 as uType, |
| | | insertTime as insertTime |
| | | from t_user |
| | |
| | | select |
| | | concat('driver_',id) as id, |
| | | phone as phone, |
| | | name as name, |
| | | CONCAT(firstName, " ", lastName) as name, |
| | | 2 as uType, |
| | | insertTime as insertTime |
| | | from |
| | |
| | | <select id="queryDriverIncomeData" parameterType="com.baomidou.mybatisplus.plugins.Page" resultType="map"> |
| | | SELECT |
| | | td.id as id, |
| | | td.`name` as driverName, |
| | | CONCAT(td.firstName, " ", td.lastName) as driverName, |
| | | tc1.name as companyName, |
| | | tc2.name as franchiseeName, |
| | | <if test="1 == type"> |
| | |
| | | <select id="queryDriverIncomeDataNoPage" resultType="map"> |
| | | SELECT |
| | | td.id as id, |
| | | td.`name` as driverName, |
| | | CONCAT(td.firstName, " ", td.lastName) as driverName, |
| | | tc1.name as companyName, |
| | | tc2.name as franchiseeName, |
| | | <if test="1 == type"> |
| | |
| | | |
| | | <!--根据条件查询用反馈记录列表--> |
| | | <select id="getFeedbackList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT dd.`name` as driverName,dd.phone as driverPhone,uu.`name` as userName,uu.phone as userPhone,su.`name` as handleUserName, |
| | | SELECT * FROM (SELECT CONCAT(dd.firstName, ' ', dd.lastName) as driverName,dd.phone as driverPhone,uu.nickName as userName,uu.phone as userPhone,su.`name` as handleUserName, |
| | | fb.* FROM t_feedback as fb |
| | | LEFT JOIN t_driver as dd on dd.id = fb.userId |
| | | LEFT JOIN t_user as uu on uu.id = fb.userId |
| | |
| | | |
| | | <!--根据条件查询兑换订单列表--> |
| | | <select id="getIntegralOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.nickName as userName,ig.`name` as goodsName,io.* FROM t_integral_order as io |
| | | SELECT * FROM (SELECT ui.nickName as userName,ig.`name` as goodsName,io.id,io.insertTime,io.userId,io.goodsId,io.num,io.consigneeName,io.consigneePhone,io.consigneeAddress,io.state,io.manageRemark as remark FROM t_integral_order as io |
| | | LEFT JOIN t_user as ui on ui.id = io.userId |
| | | LEFT JOIN t_integral_goods as ig on ig.id = io.goodsId) as o |
| | | <where> |
| | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TOpenCity"> |
| | | <id column="id" property="id" /> |
| | | <result column="code" property="code" /> |
| | | <result column="cityId" property="cityId" /> |
| | | <result column="lon" property="lon" /> |
| | | <result column="lat" property="lat" /> |
| | | <result column="isQualifications" property="isQualifications" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, code, lon, lat, isQualifications, areaName, cityName, provinceName, flag, insertTime, insertUser, updateTime, updateUser |
| | | id, cityId, lon, lat, isQualifications, areaName, cityName, provinceName, flag, insertTime, insertUser, updateTime, updateUser |
| | | </sql> |
| | | |
| | | <!--根据条件查询开通城市列表--> |
| | | <select id="getOpenCityList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ocb.str as business,oc.* FROM t_open_city as oc |
| | | SELECT * FROM ( |
| | | SELECT |
| | | ocb.str as business, |
| | | oc.*, |
| | | b.chineseName |
| | | FROM t_open_city as oc |
| | | left join t_city b on (oc.cityId = b.id) |
| | | LEFT JOIN ( |
| | | SELECT GROUP_CONCAT( |
| | | CONCAT((case when businessType = 1 then '专车' |
| | | when businessType = 2 then '出租车' |
| | | when businessType = 3 then '跨城出行' |
| | | when businessType = 4 then '同城小件物流' |
| | | when businessType = 5 then '跨城小件物流' |
| | | when businessType = 6 then '包车' |
| | | when businessType = 4 then '市内小件物流' |
| | | else '' end),' :',sort)) as str,openCityId from t_open_city_business where flag != 3 GROUP BY openCityId |
| | | ) as ocb on ocb.openCityId = oc.id) as o |
| | | ) as ocb on ocb.openCityId = oc.id |
| | | |
| | | <where> |
| | | o.flag != 3 |
| | | oc.flag != 3 |
| | | <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> |
| | | AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | AND (oc.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | </if> |
| | | <if test="condition != null and condition != ''"> |
| | | and (o.areaName LIKE CONCAT('%',#{condition},'%') or o.cityName LIKE CONCAT('%',#{condition},'%') or o.provinceName LIKE CONCAT('%',#{condition},'%')) |
| | | and (b.chineseName LIKE CONCAT('%',#{condition},'%') or b.englishName LIKE CONCAT('%',#{condition},'%') or b.frenchName LIKE CONCAT('%',#{condition},'%')) |
| | | </if> |
| | | </where> |
| | | ) as o |
| | | order by o.id desc |
| | | </select> |
| | | |
| | |
| | | <select id="getBusinessByCityId" resultType="map"> |
| | | SELECT DATE_FORMAT(bb.insertTime,'%Y-%m-%d') as insertTimeStr, |
| | | case when bb.businessType = 1 then '专车' |
| | | when bb.businessType = 2 then '出租车' |
| | | when bb.businessType = 3 then '跨城出行' |
| | | when bb.businessType = 4 then '同城小件物流' |
| | | when bb.businessType = 5 then '跨城小件物流' |
| | | when bb.businessType = 6 then '包车' |
| | | when bb.businessType = 4 then '市内小件物流' |
| | | else '' end as businessTypeStr,bb.* |
| | | FROM t_open_city_business as bb where bb.openCityId = #{openCityId} and bb.flag != 3 |
| | | </select> |
| | |
| | | <!--根据条件查询跨城出行订单列表--> |
| | | <select id="getCrossCityOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM ( |
| | | SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | sc.`name` as serverCarModel,ll.`name` as lineName,ot.* FROM t_order_cross_city as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | |
| | | when ot.payType = 2 then '支付宝' |
| | | when ot.payType = 3 then '余额' else '' end as payTypeStr, |
| | | sc.`name` as serverCarModel, |
| | | CONCAT(di.`name`,'-',di.phone) as driver, |
| | | CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver, |
| | | CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | ll.`name` as lineName, |
| | | cc.`name` as companyName,ot.* |
| | |
| | | |
| | | <!--根据条件查询评价列表--> |
| | | <select id="getOrderEvaluateList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT di.companyId,di.franchiseeId,ui.nickName as userName,ui.phone as userPhone,di.`name` as driverName,di.phone as driverPhone,oe.* FROM t_order_evaluate as oe |
| | | SELECT * FROM (SELECT di.companyId,di.franchiseeId,ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, ' ', di.lastName) as driverName,di.phone as driverPhone,oe.* FROM t_order_evaluate as oe |
| | | LEFT JOIN t_user as ui on ui.id = oe.userId |
| | | LEFT JOIN t_driver as di on di.id = oe.driverId) as o |
| | | <where> |
| | |
| | | |
| | | <!--根据条件查询小件物流订单列表--> |
| | | <select id="getLogisticsOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | ot.* FROM t_order_logistics as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | |
| | | when ot.orderSource = 3 then '小程序下单' |
| | | when ot.orderSource = 4 then '司机下单' |
| | | when ot.orderSource = 5 then '调度下单' else '' end orderSourceStr, |
| | | case when ot.payType = 1 then '微信' |
| | | when ot.payType = 2 then '支付宝' |
| | | when ot.payType = 3 then '余额' else '' end as payTypeStr, |
| | | case when ot.payType = 1 then '手机支付' |
| | | when ot.payType = 2 then '银行卡支付' |
| | | when ot.payType = 3 then '余额支付' else '现金支付' end as payTypeStr, |
| | | ui.nickName as userName,ui.phone as userPhone, |
| | | CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | '市内小件物流' as typeStr, |
| | | dd.name as companyName, |
| | | ot.* FROM t_order_logistics as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | | LEFT JOIN t_car as ci on ci.id= ot.carId |
| | | LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId |
| | | LEFT JOIN t_company as cc on cc.id = ot.companyId |
| | | LEFT JOIN t_company as dd on dd.id = ci.companyId |
| | | where ot.id = #{orderId} |
| | | </select> |
| | | |
| | |
| | | |
| | | <!--根据条件查询专车订单列表--> |
| | | <select id="getPrivateCarOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | |
| | | when ot.orderSource = 4 then '司机下单' |
| | | when ot.orderSource = 5 then '调度下单' else '' end orderSourceStr, |
| | | ui.nickName as userName,ui.phone as userPhone, |
| | | case when ot.payType = 1 then '微信' |
| | | when ot.payType = 2 then '支付宝' |
| | | when ot.payType = 3 then '余额' else '' end as payTypeStr, |
| | | case when ot.payType = 1 then '手机支付' |
| | | when ot.payType = 2 then '银行卡支付' |
| | | when ot.payType = 3 then '余额支付' else '现金支付' end as payTypeStr, |
| | | |
| | | case when ot.isFree = 2 then ot.orderMoney |
| | | when ot.freeMoney > ot.orderMoney then ot.orderMoney else ot.freeMoney end as freeMoney1, |
| | |
| | | case when income1.type = 2 then income1.money else 0 end as companyIncome, |
| | | case when income1.type = 3 then income1.money else 0 end as franchiseeIncome, |
| | | IFNULL(income2.money,0) as driverIncome, |
| | | CONCAT(di.`name`,'-',di.phone) as driver, |
| | | CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver, |
| | | CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | cc.`name` as companyName,ot.* |
| | | FROM t_order_private_car as ot |
| | |
| | | LEFT JOIN t_server_carmodel as sc on sc.id = ot.serverCarModelId |
| | | LEFT JOIN (SELECT ii.money,ii.incomeId,cc.type FROM t_income as ii |
| | | LEFT JOIN t_company as cc on ii.objectId = cc.id |
| | | where ii.userType = 1 and ii.type = 2 and ii.orderType = 1 GROUP BY ii.incomeId) as income1 on income1.incomeId = ot.id |
| | | LEFT JOIN (SELECT * FROM t_income where userType = 2 and type = 2 and orderType = 1 GROUP BY incomeId) as income2 on income2.incomeId = ot.id |
| | | where ii.userType = 1 and ii.type = 2 and ii.orderType = 1) as income1 on income1.incomeId = ot.id |
| | | LEFT JOIN (SELECT incomeId, money FROM t_income where userType = 2 and type = 2 and orderType = 1) as income2 on income2.incomeId = ot.id |
| | | where ot.id = #{orderId} |
| | | </select> |
| | | |
| | | |
| | | <!--根据条件查询专车订单列表noPage--> |
| | | <select id="getPrivateCarOrderListNoPage" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, " ", di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | |
| | | |
| | | <!--根据条件查询出租车订单列表--> |
| | | <select id="getTaxiOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | ot.* FROM t_order_taxi as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | |
| | | case when ot.payType = 1 then '微信' |
| | | when ot.payType = 2 then '支付宝' |
| | | when ot.payType = 3 then '余额' else '' end as payTypeStr, |
| | | CONCAT(di.`name`,'-',di.phone) as driver, |
| | | CONCAT(di.firstName, ' ', di.lastName,'-',di.phone) as driver, |
| | | CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | cc.`name` as companyName,ot.* |
| | | FROM t_order_taxi as ot |
| | |
| | | <where> |
| | | (dd.companyId = #{companyId} or dd.franchiseeId = #{companyId}) and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null) |
| | | <if test="name != null and name != ''"> |
| | | and dd.name LIKE CONCAT('%',#{name},'%') |
| | | and CONCAT(dd.firstName, ' ', dd.lastName) LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and dd.phone LIKE CONCAT('%',#{phone},'%') |
| | |
| | | a.orderType as orderType, |
| | | a.orderId as orderId, |
| | | b.phone as phone, |
| | | b.nickName as nickName, |
| | | b.name as name |
| | | b.nickName as nickName |
| | | from |
| | | t_pub_transaction_details a |
| | | inner join |
| | |
| | | <!--根据条件查询提现列表--> |
| | | <select id="getWithdrawalList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT |
| | | case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName, |
| | | case when pw.userType = 1 then uu.nickName when pw.userType = 2 then CONCAT(dd.firstName, " ", dd.lastName) else '' end as userName, |
| | | case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone, |
| | | pw.* |
| | | FROM t_pub_withdrawal as pw |
| | |
| | | |
| | | <select id="getWithdrawalListNoPage" resultType="map"> |
| | | SELECT * FROM (SELECT |
| | | case when pw.userType = 1 then uu.nickName when pw.userType = 2 then dd.`name` else '' end as userName, |
| | | case when pw.userType = 1 then uu.nickName when pw.userType = 2 then CONCAT(dd.firstName, " ", dd.lastName) else '' end as userName, |
| | | case when pw.userType = 1 then uu.phone when pw.userType = 2 then dd.phone else '' end as userPhone, |
| | | DATE_FORMAT(pw.insertTime, '%Y-%m-%d %H:%i') as applyTime, |
| | | pw.* |
| | |
| | | <!--根据条件查询专车改派订单列表--> |
| | | <select id="getPrivateCarReassignOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT rr.id,rr.insertTime, |
| | | dd1.name as originalDriverName,dd1.phone as originalDriverPhone, |
| | | CONCAT(dd1.name,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(dd1.firstName, " ", dd1.lastName) as originalDriverName,dd1.phone as originalDriverPhone, |
| | | CONCAT(dd1.firstName, " ", dd1.lastName,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(uu1.nickName,'-',uu1.phone) as addOrderUser,opc.travelTime,opc.startAddress,opc.endAddress, |
| | | CONCAT(cb1.`name`,'-',cc1.carLicensePlate) as originalCar,rr.money,opc.state as orderState, |
| | | dd2.name as nowDriverName,dd2.phone as nowDriverPhone, |
| | | CONCAT(dd2.name,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | CONCAT(dd2.firstName, " ", dd2.lastName) as nowDriverName,dd2.phone as nowDriverPhone, |
| | | CONCAT(dd2.firstName, " ", dd2.lastName,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | opc.companyId,rr.state,rr.orderType FROM t_reassign as rr |
| | | LEFT JOIN t_driver as dd1 on dd1.id = rr.originalDriverId |
| | | LEFT JOIN t_order_private_car as opc on opc.id = rr.orderId |
| | |
| | | <where> |
| | | (dd.companyId = #{companyId} or dd.franchiseeId = #{companyId}) and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null) |
| | | <if test="name != null and name != ''"> |
| | | and dd.name LIKE CONCAT('%',#{name},'%') |
| | | and CONCAT(dd.firstName, ' ', dd.lastName) LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and dd.phone LIKE CONCAT('%',#{phone},'%') |
| | |
| | | <where> |
| | | (dd.companyId = #{companyId} or dd.franchiseeId = #{companyId}) and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null) |
| | | <if test="name != null and name != ''"> |
| | | and dd.name LIKE CONCAT('%',#{name},'%') |
| | | and CONCAT(dd.firstName, ' ', dd.lastName) LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and dd.phone LIKE CONCAT('%',#{phone},'%') |
| | |
| | | <select id="getCrossReassignOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT rr.id,rr.insertTime, |
| | | dd1.name as originalDriverName,dd1.phone as originalDriverPhone, |
| | | CONCAT(dd1.name,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(dd1.firstName, ' ', dd1.lastName,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(uu1.nickName,'-',uu1.phone) as addOrderUser,opc.travelTime,opc.startAddress,opc.endAddress, |
| | | CONCAT(cb1.`name`,'-',cc1.carLicensePlate) as originalCar,rr.money,opc.state as orderState, |
| | | dd2.name as nowDriverName,dd2.phone as nowDriverPhone, |
| | | CONCAT(dd2.name,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | CONCAT(dd2.firstName, ' ', dd2.lastName,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | opc.companyId,rr.state,rr.orderType FROM t_reassign as rr |
| | | LEFT JOIN t_driver as dd1 on dd1.id = rr.originalDriverId |
| | | LEFT JOIN t_order_cross_city as opc on opc.id = rr.orderId |
| | |
| | | <!--根据条件查询跨城改派订单列表--> |
| | | <select id="getSmallPieceLogisticsList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT rr.id,rr.insertTime, |
| | | dd1.name as originalDriverName,dd1.phone as originalDriverPhone, |
| | | CONCAT(dd1.name,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(dd1.firstName, " ", dd1.lastName) as originalDriverName,dd1.phone as originalDriverPhone, |
| | | CONCAT(dd1.firstName, " ", dd1.lastName,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum, |
| | | CONCAT(uu1.nickName,'-',uu1.phone) as addOrderUser,opc.travelTime,opc.startAddress,opc.endAddress, |
| | | CONCAT(cb1.`name`,'-',cc1.carLicensePlate) as originalCar,rr.money,opc.state as orderState, |
| | | dd2.name as nowDriverName,dd2.phone as nowDriverPhone, |
| | | CONCAT(dd2.name,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | CONCAT(dd2.firstName, " ", dd2.lastName) as nowDriverName,dd2.phone as nowDriverPhone, |
| | | CONCAT(dd2.firstName, " ", dd2.lastName,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar, |
| | | opc.companyId,rr.state,rr.orderType FROM t_reassign as rr |
| | | LEFT JOIN t_driver as dd1 on dd1.id = rr.originalDriverId |
| | | LEFT JOIN t_order_logistics as opc on opc.id = rr.orderId |
| | |
| | | and a.id in (select driverId from t_line_shift_driver where lineShiftId = #{lineShiftId} and DATE_FORMAT(`day`, '%Y-%m-%d') = DATE_FORMAT(#{time}, '%Y-%m-%d') and laveSeat >= #{num}) |
| | | and a.id != #{driverId} |
| | | <if test="name != null and name != ''"> |
| | | and a.name LIKE CONCAT('%',#{name},'%') |
| | | and CONCAT(a.firstName, ' ', a.lastName) LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and a.phone LIKE CONCAT('%',#{phone},'%') |
| | |
| | | <result column="emergencyContact" property="emergencyContact" /> |
| | | <result column="emergencyContactNumber" property="emergencyContactNumber" /> |
| | | <result column="isAuth" property="isAuth" /> |
| | | <result column="name" property="name" /> |
| | | <result column="lastName" property="lastName" /> |
| | | <result column="firstName" property="firstName" /> |
| | | <result column="idCard" property="idCard" /> |
| | | <result column="idCardFront" property="idCardFront" /> |
| | | <result column="idCardReverse" property="idCardReverse" /> |
| | |
| | | <select id="getUserDetailById" resultType="java.util.Map"> |
| | | SELECT DATE_FORMAT(ui.insertTime,'%Y-%m-%d %H:%i') as insertTimeStr,ci.`name` as companyName, |
| | | case when ui.isAuth = 1 then '否' else '是' end as isAuthStr, |
| | | IFNULL(0,0) as zcNum, |
| | | IFNULL(op.num,0) as zcNum, |
| | | IFNULL(ot.num,0) as czNum, |
| | | IFNULL(0,0) as kcNum, |
| | | IFNULL(0,0) as wlNum, |
| | | IFNULL(ol.num,0) as wlNum, |
| | | IFNULL(td.num,0) as consumptionNum, |
| | | IFNULL(ui.balance,0) as balanceStr, |
| | | ui.* from t_user as ui |
| | | LEFT JOIN (select * from t_company where flag != 3) as ci on ci.id = ui.companyId |
| | | LEFT JOIN (SELECT sum(money) as num,userId from t_pub_transaction_details where userType = 1 and type = 1 and state = 2 GROUP BY userId) as td on td.userId = ui.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,userId from t_order_private_car where FIND_IN_SET(state,'8,9') GROUP BY userId) as op on op.userId = ui.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,userId from t_order_taxi where FIND_IN_SET(state,'8,9') GROUP BY userId) as ot on ot.userId = ui.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,userId from t_order_logistics where FIND_IN_SET(state,'9') GROUP BY userId) as ol on ol.userId = ui.id |
| | | where ui.id = #{userId} |
| | | </select> |
| | | |
| | |
| | | select |
| | | concat('user_',id) as id, |
| | | phone as phone, |
| | | IFNULL(name,nickName) as name, |
| | | IFNULL(CONCAT(firstName, lastName),nickName) as name, |
| | | 1 as uType, |
| | | insertTime as insertTime |
| | | from t_user |
| | |
| | | select |
| | | concat('driver_',id) as id, |
| | | phone as phone, |
| | | name as name, |
| | | CONCAT(firstName, lastName) as name, |
| | | 2 as uType, |
| | | insertTime as insertTime |
| | | from |
| | |
| | | a.startTime as startTime, |
| | | a.endTime as endTime, |
| | | a.remark as remark, |
| | | a.`status` as `status`, |
| | | IF(a.`status` != 3, a.`status`, IF(NOW() < a.startTime, 5, if(now() >= a.startTime and now() < a.endTime, 6, 7))) as `status`, |
| | | ( |
| | | (select count(aa.id) from t_user_red_packet_record aa left join t_user_activity_redenvelope bb on (aa.redPacketActivityId = bb.id) where aa.state = 2 and bb.userActivityId = a.id) + |
| | | (select count(aa.id) from t_user_coupon_record aa left join t_user_activity_registered bb on (aa.couponActivityId = bb.id and aa.activityType = 2) where aa.state = 2 and bb.userActivityId = a.id) + |
| | |
| | | <if test="userPhone != null and userPhone !=''"> |
| | | and u.phone like CONCAT('%',#{userPhone},'%') |
| | | </if> |
| | | <if test="couponActivityId != null and couponActivityId !=''"> |
| | | <if test="couponActivityId != null"> |
| | | and c.couponActivityId=#{couponActivityId} |
| | | </if> |
| | | <if test="state != null and state !=''"> |
| | |
| | | FROM |
| | | t_user_coupon_record r |
| | | WHERE |
| | | r.activityType = 4 AND r.couponUseType=3 |
| | | r.activityType = 4 AND r.couponUseType=4 |
| | | <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> |
| | | and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | </if> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <configuration> |
| | | <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,比如: 如果设置为WARN,则低于WARN的信息都不会输出 --> |
| | | <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true --> |
| | | <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> |
| | | <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> |
| | | <configuration scan="true" scanPeriod="10 seconds"> |
| | | <contextName>logback</contextName> |
| | | |
| | | <!--定义日志存放的位置--> |
| | | <springProperty scope="context" name="gunsLogPath" source="log.path" defaultValue="guns-logs"/> |
| | | <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> |
| | | <property name="log.path" value="/usr/local/server/logs/admin"/> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ****************************** 本地开发只在控制台打印日志 ******************************** --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="local"> |
| | | <!--0. 日志格式和颜色渲染 --> |
| | | <!-- 彩色日志依赖的渲染类 --> |
| | | <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
| | | <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
| | | <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
| | | <!-- 彩色日志格式 --> |
| | | <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
| | | |
| | | <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--encoder 默认配置为PatternLayoutEncoder--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | <!--1. 输出到控制台--> |
| | | <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> |
| | | <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| | | <level>debug</level> |
| | | </filter> |
| | | <encoder> |
| | | <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
| | | <!-- 设置字符集 --> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_error.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | <!-- 日志文件记录级别配置。 |
| | | 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF |
| | | onMatch="ACCEPT" 表示匹配该级别及以上 |
| | | onMatch="DENY" 表示不匹配该级别及以上 |
| | | onMatch="NEUTRAL" 表示该级别及以上的,由下一个filter处理,如果当前是最后一个,则表示匹配该级别及以上 |
| | | onMismatch="ACCEPT" 表示匹配该级别以下 |
| | | onMismatch="NEUTRAL" 表示该级别及以下的,由下一个filter处理,如果当前是最后一个,则不匹配该级别以下的 |
| | | onMismatch="DENY" 表示不匹配该级别以下的 |
| | | --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | <!--2. 输出到文档--> |
| | | <!-- 2.1 level为 DEBUG 日志,时间滚动输出 --> |
| | | <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/debug.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 日志归档 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录debug级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>debug</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <root level="INFO"> |
| | | <appender-ref ref="STDOUT"/> |
| | | <appender-ref ref="FILE"/> |
| | | <!-- 2.2 level为 INFO 日志,时间滚动输出 --> |
| | | <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/info.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 每天日志归档路径以及格式 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录info级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>info</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.3 level为 WARN 日志,时间滚动输出 --> |
| | | <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/warn.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录warn级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>warn</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.4 level为 ERROR 日志,时间滚动输出 --> |
| | | <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/error.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录ERROR级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.5 所有 除了DEBUG级别的其它高于DEBUG的 日志,记录到一个文件 --> |
| | | <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/all.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>DEBUG</level> |
| | | <onMatch>DENY</onMatch> |
| | | <onMismatch>ACCEPT</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- |
| | | <logger>用来设置某一个包或者具体的某一个类的日志打印级别、 |
| | | 以及指定<appender>。<logger>仅有一个name属性, |
| | | 一个可选的level和一个可选的addtivity属性。 |
| | | name:用来指定受此logger约束的某一个包或者具体的某一个类。 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。 |
| | | 如果未设置此属性,那么当前logger将会继承上级的级别。 |
| | | addtivity:是否向上级logger传递打印信息。默认是true。 |
| | | <logger name="org.springframework.web" level="info"/> |
| | | <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/> |
| | | --> |
| | | |
| | | <!-- |
| | | root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 不能设置为INHERITED或者同义词NULL。默认是DEBUG |
| | | 可以包含零个或多个元素,标识这个appender将会添加到这个logger。 |
| | | --> |
| | | |
| | | <!-- 4 最终的策略: |
| | | 基本策略(root级) + 根据profile在启动时, logger标签中定制化package日志级别(优先级高于上面的root级)--> |
| | | <springProfile name="dev"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ********************** 放到服务器上不管在什么环境都只在文件记录日志 ********************** --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="!local"> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_error.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | <!-- 此日志文件只记录error级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>error</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_total.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/total/log-total-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <root level="INFO"> |
| | | <appender-ref ref="FILE_ERROR"/> |
| | | <appender-ref ref="FILE_ALL"/> |
| | | <springProfile name="test"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | </configuration> |
| | | <springProfile name="produce"> |
| | | <root level="info"> |
| | | <!-- 生产环境最好不配置console写文件 --> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | |
| | | </configuration> |
| | |
| | | var uid = $("#3dnzNxplgTiHaddR",top.window.document).val(); |
| | | var markers = []; |
| | | var companyId = ''; |
| | | var mark_last;//记录上一次点击的mark |
| | | |
| | | var Home = { |
| | | id: "VersionTable", //表格id |
| | |
| | | }); |
| | | getData(); |
| | | getCompanyByUid(); |
| | | // setInterval(function () { |
| | | // Home.webSocketClient(null); |
| | | // }, 60000 * 5); |
| | | // setInterval(function () { |
| | | // Home.getAllOrder(); |
| | | // }, 60000 * 5); |
| | | setInterval(function () { |
| | | Home.webSocketClient(null); |
| | | }, 60000 * 5); |
| | | setInterval(function () { |
| | | Home.getAllOrder(); |
| | | }, 60000 * 5); |
| | | }); |
| | | |
| | | |
| | | |
| | | var map = new AMap.Map('container',{ |
| | | resizeEnable: true, |
| | | zoom:10 |
| | | }); |
| | | let map; |
| | | let markers = []; |
| | | |
| | | let map2; |
| | | |
| | | let markers2 = []; |
| | | |
| | | function initMap() { |
| | | // The location of Uluru |
| | | const uluru = { lat: 5.668430499999999, lng: -0.060339 }; |
| | | // The map, centered at Uluru |
| | | map = new google.maps.Map(document.getElementById("map"), { |
| | | zoom: 8, |
| | | center: uluru, |
| | | }); |
| | | |
| | | // The map, centered at Uluru |
| | | map2 = new google.maps.Map(document.getElementById("map1"), { |
| | | zoom: 7, |
| | | center: uluru, |
| | | }); |
| | | } |
| | | |
| | | |
| | | var map_ = new AMap.Map('container_',{ |
| | | resizeEnable: true, |
| | | mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9', |
| | | zoom:10 |
| | | }); |
| | | |
| | | var mouseTool = new AMap.MouseTool(map); |
| | | //监听draw事件可获取画好的覆盖物 |
| | | var overlays = []; |
| | | var name = null; |
| | | var coordinate = '';//存储坐标 |
| | | mouseTool.on('draw',function(e){ |
| | | overlays.push(e.obj); |
| | | console.log(e.obj.getPath()); |
| | | |
| | | switch (name) { |
| | | case 'polyline':{//折线图 |
| | | var polyline = e.obj.getPath(); |
| | | getCoordinate(polyline); |
| | | break; |
| | | } |
| | | case 'polygon':{//多边形 |
| | | var polygon = e.obj.getPath(); |
| | | getCoordinate(polygon); |
| | | break; |
| | | } |
| | | case 'rectangle':{//矩形 |
| | | var rectangle = e.obj.getPath(); |
| | | getCoordinate(rectangle); |
| | | break; |
| | | } |
| | | case 'circle':{//圆行 |
| | | var center = e.obj.getCenter(); |
| | | var radius = e.obj.getRadius(); |
| | | if(radius > 5000){ |
| | | Feng.error("创建电子围栏失败,圆半径不能大于5000米"); |
| | | return; |
| | | } |
| | | coordinate = center.lng + ',' + center.lat + ';' + radius; |
| | | break; |
| | | } |
| | | } |
| | | console.log(coordinate); |
| | | }) |
| | | |
| | | window.initMap = initMap; |
| | | |
| | | function getCompanyByUid() { |
| | | $.ajax({ |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | function clearMarkers() { |
| | | for (let i = 0; i < markers.length; i++) { |
| | | markers[i].setMap(null); |
| | | } |
| | | markers = []; |
| | | } |
| | | |
| | | function clearMarkers1() { |
| | | for (let i = 0; i < markers2.length; i++) { |
| | | markers2[i].setMap(null); |
| | | } |
| | | markers2 = []; |
| | | } |
| | | |
| | | |
| | | |
| | | Home.webSocketClient = function (companyId) { |
| | | $.ajax({ |
| | | url: Feng.ctxPath + '/home/getDriverPosition', |
| | | type: 'POST', |
| | | data: { |
| | | companyId: companyId, |
| | | //暂定修改此处,不改方法 |
| | | state:$("#driverState").val() |
| | | companyId: companyId |
| | | }, |
| | | success: function (res) { |
| | | map.remove(markers); |
| | | markers = []; |
| | | var data = res.driver; |
| | | clearMarkers(); |
| | | var data1 = res.driver1; |
| | | var data2 = res.driver2; |
| | | var order = res.order; |
| | | var d = ''; |
| | | for(var i in data){ |
| | | var driver = data[i].driver; |
| | | var driverId = driver.id |
| | | var state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-error">离</span>'; |
| | | if("2"==driver.state){ |
| | | state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-warning">听</span>'; |
| | | }else if("3"==driver.state){ |
| | | state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-primary">载</span>'; |
| | | } |
| | | d += '<li style="font-size: 12px;" class="list-group-item" ondblclick="Home.dblclickDriver('+i+')" id="' + driverId + '">' + driver.name + '-' + driver.phone +state+ '</li>'; |
| | | if('' != data[i].lon){ |
| | | // 创建 AMap.Icon 实例: |
| | | var icon = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car.png', // Icon的图像 |
| | | // imageOffset: new AMap.Pixel(0, -60), // 图像相对展示区域的偏移量,适于雪碧图等 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | for(var i in data1){ |
| | | var driver = data1[i].driver; |
| | | var driverId = driver.id; |
| | | d += '<li class="list-group-item" id="' + driverId + '">' + driver.firstName + " " + driver.lastName + '-' + driver.phone + '</li>'; |
| | | if('' != data1[i].lon){ |
| | | const image = { |
| | | url: "/static/icon_car@2x.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(16, 15), |
| | | anchor: new google.maps.Point(0, 0), |
| | | }; |
| | | const shape = { |
| | | coords: [1, 1, 1, 20, 18, 20, 18, 1], |
| | | type: "poly", |
| | | }; |
| | | |
| | | var marker = new AMap.Marker({ |
| | | position: new AMap.LngLat(data[i].lon, data[i].lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9] |
| | | offset: new AMap.Pixel(-10, -10), |
| | | icon: icon, // 添加 Icon 实例 |
| | | }); |
| | | marker.setExtData([driverId]) |
| | | marker.on('click', function(){ |
| | | Home.openNetCarInfo(this); |
| | | }); |
| | | //console.log(marker); |
| | | markers.push(marker) |
| | | markers.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(data1[i].lat), lng: parseFloat(data1[i].lon) }, |
| | | map, |
| | | icon: image, |
| | | shape: shape, |
| | | title: driver.name + '-' + driver.phone, |
| | | zIndex: driverId, |
| | | }) |
| | | ) |
| | | } |
| | | } |
| | | |
| | | for(var i in data2){ |
| | | var driver = data2[i].driver; |
| | | var driverId = driver.id; |
| | | d += '<li class="list-group-item" id="' + driverId + '">' + driver.firstName + " " + driver.lastName + '-' + driver.phone + '</li>'; |
| | | if('' != data2[i].lon){ |
| | | const image = { |
| | | url: "/static/car.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(0, 0), |
| | | anchor: new google.maps.Point(0, 50), |
| | | }; |
| | | const shape = { |
| | | coords: [1, 1, 1, 20, 18, 20, 18, 1], |
| | | type: "poly", |
| | | }; |
| | | |
| | | markers.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(data2[i].lat), lng: parseFloat(data2[i].lon) }, |
| | | map, |
| | | icon: image, |
| | | shape: shape, |
| | | title: driver.name + '-' + driver.phone, |
| | | zIndex: driverId, |
| | | }) |
| | | ) |
| | | } |
| | | } |
| | | $('#netcardriver').html(d); |
| | | map.add(markers); |
| | | |
| | | //订单数据 |
| | | var privateCar=order.privateCar; |
| | | var zhuanche = order.zhuanche; |
| | | var kuacheng = order.kuacheng; |
| | | var chuzu = order.chuzu; |
| | | var kuahceng = order.kuahceng; |
| | | var o = ''; |
| | | $('#order').html(o); |
| | | console.log(order); |
| | | |
| | | var zc = '<div class="list-group"><a href="#" class="list-group-item active">专车未接订单</a>' |
| | | for(var i in privateCar){ |
| | | zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + privateCar[i].start + '</p><p class="list-group-item-text">终点:' + privateCar[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + privateCar[i].travelTime + '</p><p class="list-group-item-text">车型:' + privateCar[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + privateCar[i].num + '</p></a>'; |
| | | for(var i in zhuanche){ |
| | | zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + zhuanche[i].startAddress + '</p><p class="list-group-item-text">终点:' + zhuanche[i].endAddress + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + new Date(zhuanche[i].travelTime) + '</p>' + |
| | | '</a>'; |
| | | } |
| | | zc += '</div>'; |
| | | o += zc; |
| | | |
| | | var kc = '<div class="list-group"><a href="#" class="list-group-item active">跨城出行未接订单</a>' |
| | | var kc = '<div class="list-group"><a href="#" class="list-group-item active">市内小件物流未接订单</a>' |
| | | for(var i in kuacheng){ |
| | | kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].start + '</p><p class="list-group-item-text">终点:' + kuacheng[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + kuacheng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuacheng[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + kuacheng[i].num + '</p></a>'; |
| | | kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].startAddress + '</p><p class="list-group-item-text">终点:' + kuacheng[i].endAddress + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + new Date(kuacheng[i].travelTime) + '</p><p class="list-group-item-text">物品类型:' + kuacheng[i].cargoName + '</p>' + |
| | | '<p class="list-group-item-text">数量:' + kuacheng[i].cargoNumber + '</p></a>'; |
| | | } |
| | | |
| | | kc += '</div>'; |
| | | o += kc; |
| | | |
| | | var cz = '<div class="list-group"><a href="#" class="list-group-item active">出租车未接订单</a>' |
| | | for(var i in chuzu){ |
| | | cz += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + chuzu[i].start + '</p><p class="list-group-item-text">终点:' + chuzu[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + chuzu[i].travelTime + '</p><p class="list-group-item-text">车型:' + chuzu[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + chuzu[i].num + '</p></a>'; |
| | | } |
| | | cz += '</div>'; |
| | | o += cz; |
| | | |
| | | var cx = '<div class="list-group"><a href="#" class="list-group-item active">城乡出行未接订单</a>' |
| | | for(var i in kuahceng){ |
| | | cx += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuahceng[i].start + '</p><p class="list-group-item-text">终点:' + kuahceng[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + kuahceng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuahceng[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + kuahceng[i].num + '</p></a>'; |
| | | } |
| | | cx += '</div>'; |
| | | o += cx; |
| | | |
| | | $('#order').html(o); |
| | | } |
| | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + '/home/getAllOrder', |
| | | type: 'POST', |
| | | data: { |
| | | companyId: companyId, |
| | | uid: uid |
| | | }, |
| | | success: function (res) { |
| | | var style = [{ |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png', |
| | | anchor: new AMap.Pixel(6, 6), |
| | | size: new AMap.Size(11, 11) |
| | | }, { |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png', |
| | | anchor: new AMap.Pixel(4, 4), |
| | | size: new AMap.Size(7, 7) |
| | | }, { |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png', |
| | | anchor: new AMap.Pixel(3, 3), |
| | | size: new AMap.Size(5, 5) |
| | | }]; |
| | | |
| | | var mass = new AMap.MassMarks(citys, { |
| | | opacity: 0.8, |
| | | zIndex: 111, |
| | | cursor: 'pointer', |
| | | style: style |
| | | }); |
| | | |
| | | var marker = new AMap.Marker({content: ' ', map: map_}); |
| | | |
| | | mass.on('mouseover', function (e) { |
| | | |
| | | marker.setPosition(e.data.lnglat); |
| | | marker.setLabel({content: e.data.name}) |
| | | }); |
| | | |
| | | var data = []; |
| | | clearMarkers1() |
| | | for(var i in res){ |
| | | var obj = { |
| | | lnglat: [res[i].lon, res[i].lat] |
| | | } |
| | | data.push(obj); |
| | | markers2.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(res[i].lat), lng: parseFloat(res[i].lon) }, |
| | | map: map2, |
| | | }) |
| | | ) |
| | | } |
| | | mass.setData(data); |
| | | mass.setMap(map_); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //双击司机li |
| | | /*Home.dblclickDriver=function (lon,lat) { |
| | | var markerPosition = [lon,lat]; |
| | | map.panTo(markerPosition); |
| | | |
| | | }*/ |
| | | Home.dblclickDriver=function (i) { |
| | | var marker=markers[i]; |
| | | var position=[marker.w.position.lng,marker.w.position.lat]; |
| | | map.panTo(position); |
| | | var iconOld = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car.png', // Icon的图像 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | var iconNew = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car_blue.jpg', // Icon的图像 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | //标记当前这个的样式 |
| | | marker.setIcon(iconNew); |
| | | //还原上一个的样式 |
| | | if(typeof (mark_last) != "undefined"){ |
| | | if(mark_last!=marker){ |
| | | mark_last.setIcon(iconOld); |
| | | } |
| | | |
| | | } |
| | | //记录为最后一个标记的 |
| | | mark_last=marker; |
| | | } |
| | | |
| | | |
| | | function getData1() { |
| | |
| | | if (!defined(timestamp) || isNaN(timestamp)) { |
| | | return 'Invalid date'; |
| | | } |
| | | format = pick(format, '%Y-%m-%d %H:%M:%S'); |
| | | format = pick(format, 'yyyy-MM-dd %H:%M:%S'); |
| | | |
| | | var date = new Date(timestamp - timezoneOffset), |
| | | key, // used in for constuct below |
| | |
| | | if (!defined(timestamp) || isNaN(timestamp)) { |
| | | return 'Invalid date'; |
| | | } |
| | | format = pick(format, '%Y-%m-%d %H:%M:%S'); |
| | | format = pick(format, 'yyyy-MM-dd %H:%M:%S'); |
| | | |
| | | var date = new Date(timestamp), |
| | | key, // used in for constuct below |
| | |
| | | if (!defined(timestamp) || isNaN(timestamp)) { |
| | | return 'Invalid date'; |
| | | } |
| | | format = pick(format, '%Y-%m-%d %H:%M:%S'); |
| | | format = pick(format, 'yyyy-MM-dd %H:%M:%S'); |
| | | |
| | | var date = new Date(timestamp), |
| | | key, // used in for constuct below |
| | |
| | | }else if(type==1 && selected[0].status!=1){ |
| | | Feng.info("当前状态不能审核!"); |
| | | return false; |
| | | }else if(type==2 && selected[0].status!=2){ |
| | | }else if(type==2 && selected[0].status!=2 && new Date()>=new Date(selected[0].startTime.replace(/-/g,"/"))){ |
| | | Feng.info("当前状态不能编辑!"); |
| | | return false; |
| | | } |
| | |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num7").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num9").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | // if (!re.test($("#num7").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | // if (!re.test($("#num9").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | if (!re.test($("#num11").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | // if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test($("#num10").val())) { |
| | | Feng.error("请输入正确单数!"); |
| | | return; |
| | |
| | | ajax.set("num3",$("#num3").val()); |
| | | ajax.set("num4",$("#num4").val()); |
| | | ajax.set("num5",$("#num5").val()); |
| | | ajax.set("num6",$("#num6").val()); |
| | | ajax.set("num7",$("#num7").val()); |
| | | ajax.set("num8",$("#num8").val()); |
| | | ajax.set("num9",$("#num9").val()); |
| | | ajax.set("num6",0); |
| | | ajax.set("num7",0); |
| | | ajax.set("num8",0); |
| | | ajax.set("num9",0); |
| | | ajax.set("num10",$("#num10").val()); |
| | | ajax.set("num11",$("#num11").val()); |
| | | ajax.start(); |
| | |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | var staTime =$("#staTime").val(); |
| | | |
| | | if ($.trim($("#num1").val())=="") { |
| | | Feng.error("名称不能为空!"); |
| | | return; |
| | |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num7").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num9").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | // if (!re.test($("#num7").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | // if (!re.test($("#num9").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | if (!re.test($("#num11").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | // if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test($("#num10").val())) { |
| | | Feng.error("请输入正确单数!"); |
| | | return; |
| | |
| | | Feng.error("请选择活动时间!"); |
| | | return; |
| | | } |
| | | if($.trim($("#staTime").val())==""){ |
| | | if($.trim(staTime)==""){ |
| | | Feng.error("请选择时间!"); |
| | | return; |
| | | } |
| | |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("id",$("#id").val()); |
| | | ajax.set("startTime",$("#startTime").val()); |
| | | ajax.set("staTime",$("#staTime").val()); |
| | | ajax.set("num1",$("#num1").val()); |
| | |
| | | ajax.set("num3",$("#num3").val()); |
| | | ajax.set("num4",$("#num4").val()); |
| | | ajax.set("num5",$("#num5").val()); |
| | | ajax.set("num6",$("#num6").val()); |
| | | ajax.set("num7",$("#num7").val()); |
| | | ajax.set("num8",$("#num8").val()); |
| | | ajax.set("num9",$("#num9").val()); |
| | | ajax.set("num6",0); |
| | | ajax.set("num7",0); |
| | | ajax.set("num8",0); |
| | | ajax.set("num9",0); |
| | | ajax.set("num10",$("#num10").val()); |
| | | ajax.set("num11",$("#num11").val()); |
| | | ajax.set("id",$("#id").val()); |
| | | ajax.start(); |
| | | } |
| | | |
| | |
| | | return [ |
| | | [ |
| | | {field: 'selectItem', radio: true, colspan: 1, rowspan: 2}, |
| | | {title: '主键id', field: 'id', visible: false, align: 'center', valign: 'middle', colspan: 1, rowspan: 2}, |
| | | {title: '日期', field: 'time', visible: true, align: 'center', valign: 'middle',width:'150px',colspan: 1, rowspan: 2}, |
| | | {title: '用户注册数量', field: 'register', visible: true, align: 'center', valign: 'middle',width:'100px',colspan: 1, rowspan: 2}, |
| | | {title: '在线司机数', field: 'online', visible: true, align: 'center', valign: 'middle',width:'100px',colspan: 1, rowspan: 2}, |
| | |
| | | [ |
| | | {title: '下单数量', field: 'orderNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '乘客取消数量', field: 'cancelNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '取消占比', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '取消占比%', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通过平台支付(单)', field: 'onlinePay', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通过其它支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '合计', field: 'total', visible: true, align: 'center', valign: 'middle'}, |
| | |
| | | var table = new BSTable(OperationalData.id, "/report/queryOperationalData", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | table.setQueryParams({ |
| | | type: 2, |
| | | type: $('#type').val(), |
| | | }) |
| | | OperationalData.table = table.init(); |
| | | }); |
| | |
| | | {title: '优惠券类型', field: 'couponUseType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(value==0){ |
| | | return "通用券"; |
| | | return "通用优惠券"; |
| | | }else if(value==1){ |
| | | return "专车券"; |
| | | }else if(value==2){ |
| | | return "出租券"; |
| | | return "打车优惠券"; |
| | | }else if(value==4){ |
| | | return "包裹优惠券"; |
| | | }else if(value==3){ |
| | | return "跨城出行券"; |
| | | }else{ |
| | |
| | | * @param money |
| | | */ |
| | | SysCouponActivityInfoDlg.selectCouponOpt=function(id,couponUseType,couponType,money){ |
| | | $("#couponUseType").val(couponUseType==0?"通用券":couponUseType==1?"专车券":couponUseType==2?"出租券":"跨城出行券"); |
| | | $("#couponUseType").val(couponUseType==0?"通用优惠券":couponUseType==1?"打车优惠券":couponUseType==4?"包裹优惠券":"跨城出行券"); |
| | | $("#couponType").val(couponType==1?"抵扣":"满减"); |
| | | $("#money").val(money); |
| | | $("#activityId").val(id); |
| | |
| | | {title: '优惠券类型', field: 'couponUseType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(value==0){ |
| | | return "通用券"; |
| | | return "通用优惠券"; |
| | | }else if(value==1){ |
| | | return "专车券"; |
| | | }else if(value==2){ |
| | | return "出租券"; |
| | | return "打车优惠券"; |
| | | }else if(value==4){ |
| | | return "包裹优惠券"; |
| | | }else if(value==3){ |
| | | return "跨城出行券"; |
| | | }else{ |
| | |
| | | {title: '优惠券类型', field: 'couponUseType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(value==0){ |
| | | return "通用券"; |
| | | return "通用优惠券"; |
| | | }else if(value==1){ |
| | | return "专车券"; |
| | | }else if(value==2){ |
| | | return "出租券"; |
| | | return "打车优惠券"; |
| | | }else if(value==4){ |
| | | return "包裹优惠券"; |
| | | }else if(value==3){ |
| | | return "跨城出行券"; |
| | | }else{ |
| | |
| | | if(data==4){ |
| | | return '部分用户/部分司机' |
| | | } |
| | | if(data==5){ |
| | | return '所有用户' |
| | | } |
| | | if(data==6){ |
| | | return '部分用户' |
| | | } |
| | | if(data==7){ |
| | | return '所有司机' |
| | | } |
| | | if(data==8){ |
| | | return '部分司机' |
| | | } |
| | | } |
| | | }, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | |
| | | } |
| | | } |
| | | }, |
| | | provinceCode: { |
| | | cityId: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择所属城市' |
| | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var isJump = $('#isJump').val(); |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | if(1 == isJump){ |
| | | var jumpType = $('#jumpType').val(); |
| | | if('' == jumpType){ |
| | | Feng.info("请选择跳转类型"); |
| | | return; |
| | | } |
| | | var jumpUrl = $('#jumpUrl').val(); |
| | | if(1 == jumpType && '' == jumpUrl){ |
| | | Feng.info("请输入外部跳转链接"); |
| | | return; |
| | | } |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if(2 == jumpType && ('' == editor || typeof editor == "undefined")){ |
| | | Feng.info("请输入内部跳转内容"); |
| | | return; |
| | | } |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/add", function(data){ |
| | |
| | | Feng.info("请输入广告标题"); |
| | | return; |
| | | } |
| | | if ("" == editor){ |
| | | Feng.info("请输入发送内容"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | |
| | | }) |
| | | }); |
| | | var sendType = $("input[name='sendType']:checked").val(); |
| | | var sendType1 = $("input[name='sendType1']:checked").val(); |
| | | console.log(sendType) |
| | | if(sendType==2 && subArr.length <= 0){ |
| | | console.log(sendType1) |
| | | if(null == sendType && null == sendType1){ |
| | | Feng.error("请选择发送对象"); |
| | | return; |
| | | } |
| | | if(null != sendType && sendType==2 && subArr.length <= 0){ |
| | | Feng.error("请选择用户"); |
| | | return; |
| | | } |
| | | if(null != sendType1 && sendType1==2 && subArr1.length <= 0){ |
| | | Feng.error("请选择司机"); |
| | | return; |
| | | } |
| | | if(null == sendType){ |
| | | subArr = null; |
| | | } |
| | | if(null == sendType1){ |
| | | subArr1 = null; |
| | | } |
| | | console.log(subArr) |
| | | console.log(subArr1) |
| | |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("userId",JSON.stringify(subArr)) |
| | | ajax.set("driverId",JSON.stringify(subArr1)) |
| | | ajax.set("userId", null == subArr ? '' : JSON.stringify(subArr)) |
| | | ajax.set("driverId", null == subArr1 ? '' : JSON.stringify(subArr1)) |
| | | ajax.set("name",name) |
| | | ajax.set("content",editor) |
| | | ajax.start(); |
| | |
| | | Feng.info("请输入通知标题"); |
| | | return; |
| | | } |
| | | if ("" == editor){ |
| | | Feng.info("请输入发送内容"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | |
| | | }) |
| | | }); |
| | | var sendType = $("input[name='sendType']:checked").val(); |
| | | var sendType1 = $("input[name='sendType1']:checked").val(); |
| | | console.log(sendType) |
| | | if(sendType==2 && subArr.length <= 0){ |
| | | if(null == sendType && null == sendType1){ |
| | | Feng.error("请选择发送对象"); |
| | | return; |
| | | } |
| | | if(null != sendType && sendType==2 && subArr.length <= 0){ |
| | | Feng.error("请选择用户"); |
| | | return; |
| | | } |
| | | console.log(subArr) |
| | | console.log(subArr1) |
| | | if(null != sendType1 && sendType1==2 && subArr1.length <= 0){ |
| | | Feng.error("请选择司机"); |
| | | return; |
| | | } |
| | | if(null == sendType){ |
| | | subArr = null; |
| | | } |
| | | if(null == sendType1){ |
| | | subArr1 = null; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/addInfo1", function(data){ |
| | | Feng.success("添加成功!"); |
| | |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("userId",JSON.stringify(subArr)) |
| | | ajax.set("driverId",JSON.stringify(subArr1)) |
| | | ajax.set("userId", null == subArr ? '' : JSON.stringify(subArr)) |
| | | ajax.set("driverId", null == subArr1 ? '' : JSON.stringify(subArr1)) |
| | | ajax.set("name",name) |
| | | ajax.set("content",editor) |
| | | ajax.start(); |
| | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var isJump = $('#isJump').val(); |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | if(1 == isJump){ |
| | | var jumpType = $('#jumpType').val(); |
| | | if('' == jumpType){ |
| | | Feng.info("请选择跳转类型"); |
| | | return; |
| | | } |
| | | var jumpUrl = $('#jumpUrl').val(); |
| | | if(1 == jumpType && '' == jumpUrl){ |
| | | Feng.info("请输入外部跳转链接"); |
| | | return; |
| | | } |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if(2 == jumpType && ('' == editor || typeof editor == "undefined")){ |
| | | Feng.info("请输入内部跳转内容"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null && row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + ' ' + row.lastName + '" onfocus="TUser.tooltip()">' + row.firstName + ' ' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | var id = selected[0].id; |
| | | var companyName = selected[0].companyName; |
| | | if(companyName==undefined)companyName=""; |
| | | var nickName = selected[0].name; |
| | | var nickName = selected[0].firstName + ' ' + selected[0].lastName; |
| | | var phone = selected[0].phone; |
| | | if ("" == id || null == id || undefined == id){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | |
| | | serverBox.push($(this).val()); |
| | | }); |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | var carPhoto = $("#carPhoto").valueOf(); |
| | |
| | | serverBox.push($(this).val()); |
| | | }); |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | var carPhoto = $("#carPhoto").valueOf(); |
| | |
| | | }); |
| | | if(authState==2){ |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | recordId:$(this).find("input[name*='recordId']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode']").val(), |
| | | areaCode:$(this).find("input[name*='areaCode']").val(), |
| | | cityId:$(this).find("input[name*='cityId']").val(), |
| | | }) |
| | | }); |
| | | if(subArr.length <= 0){ |
| | |
| | | //添加区域 |
| | | TCompanyInfoDlg.addScope = function () { |
| | | var province = $("#province").val(); |
| | | var city = $("#city").val(); |
| | | var area = $("#area").val(); |
| | | if ("" == province){ |
| | | Feng.info("请选择区域"); |
| | | Feng.info("请选择城市"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | recordId:$(this).find("input[name*='recordId']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode']").val(), |
| | | areaCode:$(this).find("input[name*='areaCode']").val(), |
| | | cityId:$(this).find("input[name*='cityId']").val() |
| | | }) |
| | | }); |
| | | for(var i=0;i<subArr.length;i++){ |
| | | var provinceCode = subArr[i].provinceCode; |
| | | var cityCode = subArr[i].cityCode; |
| | | var areaCode = subArr[i].areaCode; |
| | | if (province == provinceCode && city == cityCode && area == areaCode) { |
| | | Feng.info("区域已存在,请重新选择"); |
| | | var provinceCode = subArr[i].cityId; |
| | | if (province == provinceCode) { |
| | | Feng.info("城市已存在,请重新选择"); |
| | | return; |
| | | } |
| | | } |
| | | var provinceValue = $("#province option:selected").text(); |
| | | var cityValue = ""; |
| | | if (city != ""){ |
| | | cityValue = $("#city option:selected").text(); |
| | | } |
| | | var areaValue = ""; |
| | | if (area != ""){ |
| | | areaValue = $("#area option:selected").text(); |
| | | } |
| | | |
| | | var str = '<tr class="timeClass">' + |
| | | '<td><input type="hidden" id="recordId" name="recordId" value="0">' + |
| | | '<input type="hidden" id="provinceCode" name="provinceCode" value="'+province+'">' + |
| | | '<input type="hidden" id="cityCode" name="cityCode" value="'+city+'">' + |
| | | '<input type="hidden" id="areaCode" name="areaCode" value="'+area+'">'+provinceValue+cityValue+areaValue+'</td>' + |
| | | '<td><input type="hidden" id="recordId" name="recordId" value="">' + |
| | | '<input type="hidden" id="cityId" name="cityId" value="' + province + '">'+provinceValue+'</td>' + |
| | | '<td><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#conn").append(str); |
| | | } |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '司机姓名', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | {title: '司机姓', field: 'lastName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.lastName + '" onfocus="TUser.tooltip()">' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '司机名', field: 'firstName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + '" onfocus="TUser.tooltip()">' + row.firstName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', |
| | | {title: '手机号运营商', field: 'phoneOperator', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.sex != '' && row.sex != null) { |
| | | if (row.sex == 1) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="男" onfocus="TUser.tooltip()">男</p>'] |
| | | }else if (row.sex == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="女" onfocus="TUser.tooltip()">女</p>'] |
| | | } |
| | | if(row.phoneOperator != '' && row.phoneOperator != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.phoneOperator + '" onfocus="TUser.tooltip()">' + row.phoneOperator + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | // {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', |
| | | // formatter: function (value, row) { |
| | | // var btn = ""; |
| | | // if(row.sex != '' && row.sex != null) { |
| | | // if (row.sex == 1) { |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="男" onfocus="TUser.tooltip()">男</p>'] |
| | | // }else if (row.sex == 2){ |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="女" onfocus="TUser.tooltip()">女</p>'] |
| | | // } |
| | | // } |
| | | // return btn; |
| | | // } |
| | | // }, |
| | | {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '驾驶证号码', field: 'driveCard', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.driveCard != '' && row.driveCard != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driveCard + '" onfocus="TUser.tooltip()">' + row.driveCard + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | // {title: '驾驶证号码', field: 'driveCard', visible: true, align: 'center', valign: 'middle', |
| | | // formatter: function (value, row) { |
| | | // var btn = ""; |
| | | // if(row.driveCard != '' && row.driveCard != null) { |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driveCard + '" onfocus="TUser.tooltip()">' + row.driveCard + '</p>'] |
| | | // } |
| | | // return btn; |
| | | // } |
| | | // }, |
| | | {title: '驾龄', field: 'driverAge', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '身份证号码', field: 'idCard', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.idCard != '' && row.idCard != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.idCard + '" onfocus="TUser.tooltip()">' + row.idCard + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | // {title: '身份证号码', field: 'idCard', visible: true, align: 'center', valign: 'middle', |
| | | // formatter: function (value, row) { |
| | | // var btn = ""; |
| | | // if(row.idCard != '' && row.idCard != null) { |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.idCard + '" onfocus="TUser.tooltip()">' + row.idCard + '</p>'] |
| | | // } |
| | | // return btn; |
| | | // } |
| | | // }, |
| | | {title: '服务模式', field: 'serverStr', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | .set('account') |
| | | .set('jobNumber') |
| | | .set('phone') |
| | | .set('phoneOperator') |
| | | .set('password') |
| | | .set('name') |
| | | .set('lastName') |
| | | .set('firstName') |
| | | .set('sex') |
| | | .set('idCard') |
| | | .set('companyId') |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | {title: '姓', field: 'lastName', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.lastName + '" onfocus="TUser.tooltip()">' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '名', field: 'firstName', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + '" onfocus="TUser.tooltip()">' + row.firstName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | {title: '手机号运营商', field: 'phoneOperator', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.sex != '' && row.sex != null) { |
| | | if (row.sex == 1) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="男" onfocus="TUser.tooltip()">男</p>'] |
| | | }else if (row.sex == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="女" onfocus="TUser.tooltip()">女</p>'] |
| | | } |
| | | if(row.phoneOperator != '' && row.phoneOperator != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.phoneOperator + '" onfocus="TUser.tooltip()">' + row.phoneOperator + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | // {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | // formatter: function (value, row) { |
| | | // var btn = ""; |
| | | // if(row.sex != '' && row.sex != null) { |
| | | // if (row.sex == 1) { |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="男" onfocus="TUser.tooltip()">男</p>'] |
| | | // }else if (row.sex == 2){ |
| | | // btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="女" onfocus="TUser.tooltip()">女</p>'] |
| | | // } |
| | | // } |
| | | // return btn; |
| | | // } |
| | | // }, |
| | | {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | .set('account') |
| | | .set('jobNumber') |
| | | .set('phone') |
| | | .set('phoneOperator') |
| | | .set('password') |
| | | .set('name') |
| | | .set('lastName') |
| | | .set('firstName') |
| | | .set('sex') |
| | | .set('idCard') |
| | | .set('companyId') |
| | |
| | | return; |
| | | } |
| | | var faceImgUrl = $("#faceImgUrl").val(); |
| | | if ("" == faceImgUrl){ |
| | | Feng.info("请上传人脸识别照片"); |
| | | return; |
| | | } |
| | | // if ("" == faceImgUrl){ |
| | | // Feng.info("请上传人脸识别照片"); |
| | | // return; |
| | | // } |
| | | var driveCardImgUrl1 = $("#driveCardImgUrl1").val(); |
| | | if ("" == driveCardImgUrl1){ |
| | | Feng.info("请上传驾驶证正面照片"); |
| | |
| | | return; |
| | | } |
| | | var faceImgUrl = $("#faceImgUrl").val(); |
| | | if ("" == faceImgUrl){ |
| | | Feng.info("请上传人脸识别照片"); |
| | | return; |
| | | } |
| | | // if ("" == faceImgUrl){ |
| | | // Feng.info("请上传人脸识别照片"); |
| | | // return; |
| | | // } |
| | | var driveCardImgUrl1 = $("#driveCardImgUrl1").val(); |
| | | if ("" == driveCardImgUrl1){ |
| | | Feng.info("请上传驾驶证正面照片"); |
| | |
| | | var networkCarlssueImg = new $WebUpload("networkCarlssueImg"); |
| | | networkCarlssueImg.setUploadBarId("progressBar"); |
| | | networkCarlssueImg.init(); |
| | | var idCardImgUrl1 = new $WebUpload("idCardImgUrl1"); |
| | | idCardImgUrl1.setUploadBarId("progressBar"); |
| | | idCardImgUrl1.init(); |
| | | var idCardImgUrl2 = new $WebUpload("idCardImgUrl2"); |
| | | idCardImgUrl2.setUploadBarId("progressBar"); |
| | | idCardImgUrl2.init(); |
| | | }); |
| | | |
| | | /** |
| | |
| | | {field: 'selectItem',visible: true, radio: true}, |
| | | {title: '日期', field: 'times', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线司机数', field: 'driverNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | {title: '在线时长(秒)', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | |
| | | TIncome.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem',visible: false, radio: true}, |
| | | {title: '司机名称', field: 'NAME', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | {title: '司机名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长(秒)', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '省', field: 'areaName', visible: true, align: 'center', valign: 'middle', |
| | | {title: '城市', field: 'chineseName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.areaName != '' && row.areaName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.areaName + '" onfocus="TUser.tooltip()">' + row.areaName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '市', field: 'cityName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.cityName != '' && row.cityName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.cityName + '" onfocus="TUser.tooltip()">' + row.cityName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '区', field: 'provinceName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.provinceName != '' && row.provinceName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.provinceName + '" onfocus="TUser.tooltip()">' + row.provinceName + '</p>'] |
| | | if(row.chineseName != '' && row.chineseName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.chineseName + '" onfocus="TUser.tooltip()">' + row.chineseName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | labelStr = labelStr.substring(0,labelStr.length-4); |
| | | labelStrs = labelStrs.substring(0,labelStrs.length-5); |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + labelStrs + '" onfocus="TUser.tooltip()">' + labelStr + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '是否需要<br/>网约车资格证', field: 'isQualifications', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.isQualifications != '' && row.isQualifications != null) { |
| | | if (row.isQualifications == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="是" onfocus="TUser.tooltip()">是</p>'] |
| | | } else if (row.isQualifications == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="否" onfocus="TUser.tooltip()">否</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tOpenCity/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TOpenCity.table.refresh(); |
| | | TOpenCityInfoDlg.close(); |
| | | if(data.code == 200){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TOpenCity.table.refresh(); |
| | | TOpenCityInfoDlg.close(); |
| | | }else{ |
| | | Feng.error(data.msg); |
| | | } |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | |
| | | ajax.set("money",$("#orderMoney").val()); |
| | | ajax.start(); |
| | | } |
| | | var map = new AMap.Map("container", { |
| | | resizeEnable: true, |
| | | zoom: 14 |
| | | }); |
| | | |
| | | |
| | | var map; |
| | | |
| | | function initMap() { |
| | | map = new google.maps.Map(document.getElementById("map"), { |
| | | zoom: 14, |
| | | center: { lat: 0, lng: -180 }, |
| | | mapTypeId: "terrain", |
| | | }); |
| | | } |
| | | |
| | | |
| | | $(function() { |
| | | window.initMap = initMap(); |
| | | getTrajectory(); |
| | | }); |
| | | |
| | |
| | | var data = res.data; |
| | | if(data.length > 0){ |
| | | orderTrack(data); |
| | | }/*else{ |
| | | }else{ |
| | | Feng.error("当前订单没有轨迹"); |
| | | }*/ |
| | | } |
| | | }else{ |
| | | Feng.error(res.msg); |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | var marker, lineArr = []; |
| | | |
| | | function orderTrack(data) { |
| | | //重新设置地图中心点 |
| | | map.setCenter({ lat: parseFloat(data[0].lat), lng: parseFloat(data[0].lon) }) |
| | | const image = { |
| | | url: "/car.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(0, 0), |
| | | anchor: new google.maps.Point(30, 40), |
| | | }; |
| | | new google.maps.Marker({ |
| | | map, |
| | | icon: image, |
| | | position: { lat: parseFloat(data[0].lat), lng: parseFloat(data[0].lon) }, |
| | | title: "origin", |
| | | }); |
| | | new google.maps.Marker({ |
| | | map, |
| | | position: { lat: parseFloat(data[data.length - 1].lat), lng: parseFloat(data[data.length - 1].lon) }, |
| | | title: "destination", |
| | | }); |
| | | |
| | | |
| | | const flightPlanCoordinates = []; |
| | | for(var i in data){ |
| | | var waypoints = []; |
| | | var lon = parseFloat(data[i].lon); |
| | | var lat = parseFloat(data[i].lat); |
| | | waypoints.push(lon); |
| | | waypoints.push(lat); |
| | | lineArr.push(waypoints); |
| | | flightPlanCoordinates.push({ |
| | | lat: lat, |
| | | lng: lon |
| | | }) |
| | | } |
| | | |
| | | marker = new AMap.Marker({ |
| | | map: map, |
| | | position: lineArr[0], |
| | | icon: "https://webapi.amap.com/images/car.png", |
| | | offset: new AMap.Pixel(-26, -13), |
| | | autoRotation: true, |
| | | angle:-90, |
| | | const flightPath = new google.maps.Polyline({ |
| | | path: flightPlanCoordinates, |
| | | geodesic: true, |
| | | strokeColor: "#FF0000", |
| | | strokeOpacity: 1.0, |
| | | strokeWeight: 5, |
| | | }); |
| | | |
| | | // 绘制轨迹 |
| | | var polyline = new AMap.Polyline({ |
| | | map: map, |
| | | path: lineArr, |
| | | showDir:true, |
| | | strokeColor: "#28F", //线颜色 |
| | | // strokeOpacity: 1, //线透明度 |
| | | strokeWeight: 6, //线宽 |
| | | // strokeStyle: "solid" //线样式 |
| | | }); |
| | | |
| | | var passedPolyline = new AMap.Polyline({ |
| | | map: map, |
| | | // path: lineArr, |
| | | strokeColor: "#AF5", //线颜色 |
| | | // strokeOpacity: 1, //线透明度 |
| | | strokeWeight: 6, //线宽 |
| | | // strokeStyle: "solid" //线样式 |
| | | }); |
| | | |
| | | |
| | | marker.on('moving', function (e) { |
| | | passedPolyline.setPath(e.passedPath); |
| | | }); |
| | | |
| | | map.setFitView(); |
| | | } |
| | | |
| | | |
| | | function startAnimation () { |
| | | marker.moveAlong(lineArr, 200); |
| | | } |
| | | |
| | | function pauseAnimation () { |
| | | marker.pauseMove(); |
| | | } |
| | | |
| | | function resumeAnimation () { |
| | | marker.resumeMove(); |
| | | } |
| | | |
| | | function stopAnimation () { |
| | | marker.stopMove(); |
| | | } |
| | | flightPath.setMap(map); |
| | | } |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '提现人', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | {title: '提现人', field: 'userName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.userName != '' && row.userName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userName + '" onfocus="TUser.tooltip()">' + row.userName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '银行卡号', field: 'code', visible: true, align: 'center', valign: 'middle', |
| | | {title: '提现手机号', field: 'userPhone', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.code != '' && row.code != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.code + '" onfocus="TUser.tooltip()">' + row.code + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '开户行', field: 'bankName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.bankName != '' && row.bankName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.bankName + '" onfocus="TUser.tooltip()">' + row.bankName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '提现方式', field: 'withdrawalType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.withdrawalType != '' && row.withdrawalType != null) { |
| | | if (row.withdrawalType == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="银行卡" onfocus="TUser.tooltip()">银行卡</p>'] |
| | | } else if (row.withdrawalType == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="线下" onfocus="TUser.tooltip()">线下</p>'] |
| | | } |
| | | if(row.userPhone != '' && row.userPhone != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userPhone + '" onfocus="TUser.tooltip()">' + row.userPhone + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | } else if (row.userType == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="司机" onfocus="TUser.tooltip()">司机</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '提现金额', field: 'money', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.money != '' && row.money != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.money + '" onfocus="TUser.tooltip()">' + row.money + '</p>'] |
| | | }else if (row.withdrawalType == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="0" onfocus="TUser.tooltip()">0</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | } |
| | | }, |
| | | {title: '账户余额', field: 'balance', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.money != '' && row.money != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.money + '" onfocus="TUser.tooltip()">' + row.money + '</p>'] |
| | | }else if (row.withdrawalType == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="0" onfocus="TUser.tooltip()">0</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '提现金额', field: 'money', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.money != '' && row.money != null) { |
| | |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已同意" onfocus="TUser.tooltip()">已同意</p>'] |
| | | }else if (row.state == 3){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已拒绝" onfocus="TUser.tooltip()">已拒绝</p>'] |
| | | }else if (row.state == 4){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待确认转账" onfocus="TUser.tooltip()">待确认转账</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'15%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null && row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + ' ' + row.lastName + '" onfocus="TUser.tooltip()">' + row.firstName + ' ' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'15%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null && row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + ' ' + row.lastName + '" onfocus="TUser.tooltip()">' + row.firstName + ' ' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'15%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.name != '' && row.name != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] |
| | | if(row.lastName != '' && row.lastName != null && row.firstName != '' && row.firstName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.firstName + ' ' + row.lastName + '" onfocus="TUser.tooltip()">' + row.firstName + ' ' + row.lastName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | if (row.state == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="提交申请" onfocus="TUser.tooltip()">提交申请</p>'] |
| | | } else if (row.state == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已支付" onfocus="TUser.tooltip()">已支付</p>'] |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="提交申请" onfocus="TUser.tooltip()">提交申请</p>'] |
| | | } else if (row.state == 3){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已改派" onfocus="TUser.tooltip()">已改派</p>'] |
| | | } else if (row.state == 4){ |
| | |
| | | {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '司机车牌号', field: 'carNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '内容', field: 'remark', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '图片', field: 'image', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '图片', field: 'image', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function(data){ |
| | | if(typeof data != "undefined"){ |
| | | let imgs = data.split(","); |
| | | let htmlStr = ''; |
| | | for (let i = 0; i < imgs.length; i++) { |
| | | htmlStr += '<img src="' + imgs[i] + '" style="height: 100px;" onclick="lookBigImg(\'' + imgs[i] + '\')"/> ' |
| | | } |
| | | return htmlStr; |
| | | } |
| | | } |
| | | }, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function(data){ |
| | | if(data==1){ |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '邮箱', field: 'email', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.email != '' && row.email != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.email + '" onfocus="TUser.tooltip()">' + row.email + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '紧急联系人<br/>姓名', field: 'emergencyContact', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | }else if(couponUseType==2){ |
| | | $("#id3").val(id); |
| | | $("#num7").val(money); |
| | | }else if(couponUseType==3){ |
| | | }else if(couponUseType==4){ |
| | | $("#id4").val(id); |
| | | $("#num9").val(money); |
| | | $("#num7").val(money); |
| | | } |
| | | } |
| | | |
| | |
| | | }if (!re.test(num5)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | }if (!re.test(num7)) { |
| | | }/*if (!re.test(num7)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | }if (!re.test(num9)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | }*/ |
| | | |
| | | if (!/^[1-9]\d*$/.test(num2)) { |
| | | Feng.error("请输入正确张数!"); |
| | |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test(num6)) { |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | }if (!/^[1-9]\d*$/.test(num8)) { |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | }if (!/^[1-9]\d*$/.test(num10)) { |
| | | // if (!/^[1-9]\d*$/.test(num6)) { |
| | | // Feng.error("请输入正确张数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test(num8)) { |
| | | // Feng.error("请输入正确张数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test(num10)) { |
| | | Feng.error("请输入正确天数!"); |
| | | return; |
| | | } |
| | | |
| | | var id1=$("#id1").val(); |
| | | if((null == id1 || '' == id1) && '' != num2){ |
| | | Feng.error("请选择通用优惠券"); |
| | | return; |
| | | } |
| | | var id2=$("#id2").val(); |
| | | if((null == id2 || '' == id2) && '' != num4){ |
| | | Feng.error("请选择专车优惠券"); |
| | | return; |
| | | } |
| | | var id3=$("#id3").val(); |
| | | var id4=$("#id4").val(); |
| | | var obj = $("#obj").val(); |
| | |
| | | {title: '优惠券类型', field: 'couponUseType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(value==0){ |
| | | return "通用券"; |
| | | return "通用优惠券"; |
| | | }else if(value==1){ |
| | | return "专车券"; |
| | | }else if(value==2){ |
| | | return "出租券"; |
| | | return "打车优惠券"; |
| | | }else if(value==4){ |
| | | return "包裹优惠券"; |
| | | }else if(value==3){ |
| | | return "跨城出行券"; |
| | | }else{ |
| | |
| | | }else if(value==2){ |
| | | return "已驳回"; |
| | | }else if(value==3){ |
| | | if(new Date()<new Date(row.startTime.replace(/-/g,"/"))){ |
| | | return "未开始"; |
| | | }else if(new Date()>new Date(row.endTime.replace(/-/g,"/"))){ |
| | | return "已结束"; |
| | | }else{ |
| | | return "进行中"; |
| | | } |
| | | // if(new Date()<new Date(row.startTime.replace(/-/g,"/"))){ |
| | | // return "未开始"; |
| | | // }else if(new Date()>new Date(row.endTime.replace(/-/g,"/"))){ |
| | | // return "已结束"; |
| | | // }else{ |
| | | // return "进行中"; |
| | | // } |
| | | }else if(value==4){ |
| | | return "已暂停"; |
| | | }else if(value==5){ |
| | | return "未开始"; |
| | | }else if(value==6){ |
| | | return "进行中"; |
| | | }else if(value==7){ |
| | | return "已结束"; |
| | | } |
| | | } |
| | | } |
| | |
| | | }else if(type==1 && selected[0].status!=1){ |
| | | Feng.info("当前状态不能审核!"); |
| | | return false; |
| | | }else if(type==2 && selected[0].status!=2){ |
| | | }else if(type==2 && selected[0].status!=2 && new Date()>=new Date(selected[0].startTime.replace(/-/g,"/"))){ |
| | | Feng.info("当前状态不能编辑!"); |
| | | return false; |
| | | } |
| | |
| | | ajax.set("balanceEnable",elem3.checked==true?2:1); |
| | | ajax.set("balanceInfo",JSON.stringify(subArr)); |
| | | ajax.set("discountEnable",elem4.checked==true?2:1); |
| | | ajax.set("discountSpecial",parseFloat(content5Num1)); |
| | | ajax.set("discountTaxi",parseFloat(content5Num2)); |
| | | ajax.set("discountLogistics",parseFloat(content5Num3)); |
| | | ajax.set("discountSpecial",content5Num1); |
| | | ajax.set("discountTaxi",content5Num2); |
| | | ajax.set("discountLogistics",content5Num3); |
| | | ajax.set("discountDistance",content5Num4); |
| | | ajax.set("discountOrderNum",content5Num5); |
| | | ajax.set("redenvelopeId",$("#content6RedId").val()); |
| | |
| | | * @param money |
| | | */ |
| | | UserActivityInfoDlg.selectCouponOpt=function(id,couponUseType,couponType,money,name){ |
| | | $("#content2Num2").val(couponUseType==0?"通用券":couponUseType==1?"专车券":couponUseType==2?"出租券":"跨城出行券"); |
| | | $("#content2Num2").val(couponUseType==0?"通用优惠券":couponUseType==1?"打车优惠券":couponUseType==4?"包裹优惠券":"跨城出行券"); |
| | | $("#content2Num3").val(couponType==1?"抵扣":"满减"); |
| | | $("#content2Num4").val(money); |
| | | $("#content2CouponId").val(id); |
| | |
| | | * @param money |
| | | */ |
| | | UserActivityInfoDlg.selectCouponOpt1=function(id,couponUseType,couponType,money,name){ |
| | | $("#content3Num2").val(couponUseType==0?"通用券":couponUseType==1?"专车券":couponUseType==2?"出租券":"跨城出行券"); |
| | | $("#content3Num2").val(couponUseType==0?"通用优惠券":couponUseType==1?"打车优惠券":couponUseType==4?"包裹优惠券":"跨城出行券"); |
| | | $("#content3Num3").val(couponType==1?"抵扣":"满减"); |
| | | $("#content3Num4").val(money); |
| | | $("#content3CouponId").val(id); |
| | |
| | | '<td><input type="hidden" id="num4" name="num4" value="'+num4+'">' + num4 + '</td>' + |
| | | '<td><input type="hidden" id="num7" name="num7" value="'+num7+'">' + num7 + '</td>' + |
| | | '<td><input type="hidden" id="num6" name="num6" value="'+num6+'">' + num6 + '</td>' + |
| | | '<td><input type="hidden" id="num9" name="num9" value="'+num9+'">' + num9 + '</td>' + |
| | | '<td><input type="hidden" id="num8" name="num8" value="'+num8+'">' + num8 + '</td>' + |
| | | // '<td><input type="hidden" id="num9" name="num9" value="'+num9+'">' + num9 + '</td>' + |
| | | // '<td><input type="hidden" id="num8" name="num8" value="'+num8+'">' + num8 + '</td>' + |
| | | '<td><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#coun").append(str); |
| | | } |
| | |
| | | {title: '领取类型', field: 'couponUseType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(value==0){ |
| | | return "通用券"; |
| | | return "通用优惠券"; |
| | | }else if(value==1){ |
| | | return "专车券"; |
| | | return "打车优惠券"; |
| | | }else if(value==2){ |
| | | return "出租券"; |
| | | }else if(value==3){ |
| | | return "跨城出行券"; |
| | | }else if(value==4){ |
| | | return "包裹优惠券"; |
| | | }else{ |
| | | return ""; |
| | | } |
| | |
| | | if(netcarDriver != ''){ |
| | | str += '' + |
| | | '<tr><td><h4>司机信息:</h4></td><td></td><td></td><td></td></tr>' + |
| | | '<tr><td>司机姓名</td><td>' + netcarDriver.name + '</td><td>司机电话</td><td>' + netcarDriver.phone + '</td></tr>'; |
| | | '<tr><td>司机姓名</td><td>' + netcarDriver.firstName + ' ' + netcarDriver.lastName + '</td><td>司机电话</td><td>' + netcarDriver.phone + '</td></tr>'; |
| | | } |
| | | if(order.length > 0){ |
| | | for(var i in order){ |