| | |
| | | <packaging>jar</packaging> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>com.google.cloud</groupId> |
| | | <artifactId>libraries-bom</artifactId> |
| | | <version>26.42.0</version> |
| | | <type>pom</type> |
| | | <scope>import</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.stylefeng</groupId> |
| | | <artifactId>guns-core</artifactId> |
| | |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-all</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.cloud</groupId> |
| | | <artifactId>google-cloud-texttospeech</artifactId> |
| | | <version>2.46.0</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | |
| | |
| | | import com.stylefeng.guns.core.util.ExcelExportUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.controller.util.PushUtil; |
| | | import com.stylefeng.guns.modular.system.controller.util.TextToSpeechUtil; |
| | | import com.stylefeng.guns.modular.system.dao.OrderCancelMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TSystemPriceMapper; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.BufferedReader; |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | |
| | | orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用 |
| | | //添加已收入明细 |
| | | TCompany company = companyService.selectById(orderPrivateCar.getCompanyId()); |
| | | TDriver tDriver = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | Double taxi = company.getSpeMoney().doubleValue(); |
| | | BigDecimal d = null;//企业收入 |
| | | BigDecimal c = null;//司机收入 |
| | |
| | | driver.setFrozenMoney(driver.getFrozenMoney().add(c)); |
| | | driverService.updateById(driver); |
| | | }else{ |
| | | |
| | | TDriver driver = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | |
| | | driver.setFrozenMoney(driver.getFrozenMoney().subtract(c)); |
| | | driverService.updateById(driver); |
| | | } |
| | | if (orderPrivateCar.getIsFrozen() == 1){ |
| | | // 冻结订单需要给司机播报一个语音内容 |
| | | Integer language1 = tDriver.getLanguage(); |
| | | String text = ""; |
| | | switch (language1){ |
| | | case 1: |
| | | text = "" ; |
| | | break; |
| | | case 2: |
| | | text = ""; |
| | | break; |
| | | case 3: |
| | | text = ""; |
| | | break; |
| | | } |
| | | TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar; |
| | | String audioUrl = ""; |
| | | try { |
| | | audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | //定时任务删除语音文件 |
| | | new Timer().schedule(new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | Process process = null; |
| | | try { |
| | | process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + finalOrderPrivateCar.getDriverId() + ".mp3"); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | if (process != null) { |
| | | process.destroy(); |
| | | } |
| | | } |
| | | }, 30000); |
| | | |
| | | String finalAudioUrl = audioUrl; |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | pushUtil.pushOrderState(2, finalOrderPrivateCar.getDriverId(), finalOrderPrivateCar.getId(), 1, 2, 0, finalAudioUrl); |
| | | } |
| | | }).start(); |
| | | } |
| | | orderPrivateCar.setIsFrozen(orderPrivateCar.getIsFrozen()==1?2:1); |
| | | orderPrivateCar.setState(7); |
| | | tOrderPrivateCarService.updateAllColumnById(orderPrivateCar); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | @Autowired |
| | | private PushUtil pushUtil; |
| | | @Resource |
| | | private TSystemPriceMapper systemPriceMapper; |
| | | public TOrderPrivateCar setMoney(TOrderPrivateCar orderPrivateCar, Double parkingFee, Double crossingFee) throws Exception { |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.util; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | |
| | | import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; |
| | | import com.stylefeng.guns.modular.system.util.RedisUtil; |
| | | |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.LinkedMultiValueMap; |
| | | import org.springframework.util.MultiValueMap; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * socket推单处理类 |
| | | */ |
| | | @Component |
| | | public class PushUtil { |
| | | |
| | | @Autowired |
| | | private RestTemplate internalRestTemplate; |
| | | |
| | | @Autowired |
| | | private RedisUtil redisUtil; |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | private GDMapElectricFenceUtil gdMapElectricFenceUtil; |
| | | |
| | | |
| | | |
| | | private Map<String, JSONObject> pushMap = new HashMap<>();//存储需要定时推送的数据 |
| | | |
| | | private Map<String, Timer> taskMap = new HashMap<>();//存储定时推送的定时器 |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 推送订单状态 |
| | | * @param type 1=用户,2=司机 |
| | | * @param uid 对象id |
| | | * @param orderId 订单id |
| | | * @param orderType 订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * @param state 订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付) |
| | | */ |
| | | public void pushOrderState(Integer type, Integer uid, Integer orderId, Integer orderType, Integer state, Integer time, String audioUrl){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "ORDER_STATUS"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | map.put("state", state); |
| | | map.put("time", time); |
| | | map.put("audioUrl", audioUrl); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 推单完成后,没有司机接单的推送提醒 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | */ |
| | | public void pushEndPush(Integer type, Integer uid, Integer orderId, Integer orderType){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "END_PUSH"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 司机超时提醒 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | */ |
| | | public void pushDriverTimeOut(Integer type, Integer uid, Integer orderId, Integer orderType){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "DRIVER_TIME_OUT"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改目的地推送通知 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | * @param status 1=申请,2=同意,3=拒绝 |
| | | */ |
| | | public void pushModifyAddress(Integer type, Integer uid, Integer orderId, Integer orderType, Integer status, String audioUrl){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "MODIFY_ADDRESS"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | map.put("status", status); |
| | | map.put("audioUrl", audioUrl); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 推送强迫下线 |
| | | * @param id |
| | | * @param type |
| | | */ |
| | | public void pushOffline(Integer id, Integer type){ |
| | | JSONObject msg = new JSONObject(); |
| | | msg.put("code", 200); |
| | | msg.put("msg", "SUCCESS"); |
| | | msg.put("method", "OFFLINE"); |
| | | msg.put("data", new Object()); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", msg.toJSONString()); |
| | | params.add("id", id.toString()); |
| | | params.add("type", type.toString()); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 摆渡抢单成功后推单 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | * @param state |
| | | */ |
| | | public void pushFerryOrderState(Integer type, Integer uid, Integer orderId, Integer orderType, Integer state){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "FERRY"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | map.put("state", state); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 删除定时任务 |
| | | * @param orderId |
| | | */ |
| | | public void removeTask(Integer orderId, Integer orderType){ |
| | | Timer timer = taskMap.get(orderId + "_" + orderType); |
| | | if (null != timer){ |
| | | timer.cancel(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 线下支付数据推送 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | */ |
| | | public void pushOfflinePayment(Integer type, Integer uid, Integer orderId, Integer orderType){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "OFFLINE_PAYMENT"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 小件物流差价支付的推送 |
| | | * @param type |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | * @param money |
| | | * @param status 1=申请,2=同意,3=拒绝 |
| | | */ |
| | | public void pushPayDifference(Integer type, Integer uid, Integer orderId, Integer orderType, Double money, Integer status, String audioUrl){ |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", 200); |
| | | jsonObject.put("msg", "SUCCESS"); |
| | | jsonObject.put("method", "DIFFERENCE"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("orderId", orderId); |
| | | map.put("orderType", orderType); |
| | | map.put("money", money); |
| | | map.put("status", status); |
| | | map.put("audioUrl", audioUrl); |
| | | jsonObject.put("data", map); |
| | | |
| | | //调用推送 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 以表单的方式提交 |
| | | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| | | //将请求头部和参数合成一个请求 |
| | | MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); |
| | | params.add("msg", jsonObject.toJSONString()); |
| | | params.add("id", String.valueOf(uid)); |
| | | params.add("type", String.valueOf(type)); |
| | | HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); |
| | | String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); |
| | | JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); |
| | | if(jsonObject1.getIntValue("code") != 200){ |
| | | System.err.println(jsonObject1.getString("msg")); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.util; |
| | | |
| | | |
| | | |
| | | import com.google.cloud.texttospeech.v1.*; |
| | | import com.google.protobuf.ByteString; |
| | | |
| | | import java.io.FileOutputStream; |
| | | import java.io.OutputStream; |
| | | |
| | | /** |
| | | * Google语音合成工具 |
| | | * @author zhibing.pu |
| | | * @Date 2024/7/11 9:09 |
| | | */ |
| | | public class TextToSpeechUtil { |
| | | |
| | | |
| | | /** |
| | | * 合成音频文件 |
| | | * @param languageCode 语言编号 |
| | | * @param text 合成文本 |
| | | * @param fileName 音频文件名称 |
| | | * @throws Exception |
| | | */ |
| | | public static String create(String languageCode, String text, String fileName) throws Exception { |
| | | // Instantiates a client |
| | | try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) { |
| | | // Set the text input to be synthesized |
| | | SynthesisInput input = SynthesisInput.newBuilder().setText(text).build(); |
| | | |
| | | // Build the voice request, select the language code ("en-US") and the ssml voice gender |
| | | // ("neutral") |
| | | VoiceSelectionParams voice = |
| | | VoiceSelectionParams.newBuilder() |
| | | .setLanguageCode(languageCode) |
| | | .setSsmlGender(SsmlVoiceGender.MALE) |
| | | .build(); |
| | | |
| | | // Select the type of audio file you want returned |
| | | AudioConfig audioConfig = |
| | | AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build(); |
| | | |
| | | // Perform the text-to-speech request on the text input with the selected voice parameters and |
| | | // audio file type |
| | | SynthesizeSpeechResponse response = |
| | | textToSpeechClient.synthesizeSpeech(input, voice, audioConfig); |
| | | |
| | | // Get the audio contents from the response |
| | | ByteString audioContents = response.getAudioContent(); |
| | | |
| | | // Write the response to the output file. |
| | | try (OutputStream out = new FileOutputStream("/usr/local/nginx/html/files/audio/" + fileName)) { |
| | | out.write(audioContents.toByteArray()); |
| | | return "http://182.160.16.251:81/files/audio/" + fileName; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | |
| | | <select id="query" resultType="map"> |
| | | select |
| | | a.id as id, |
| | | CONCAT('邀请', if(a.`type` = 1, '司机', '用户'), '注册奖励', a.money, '元') as content, |
| | | CONCAT('邀请', if(a.`type` = 1, '司机', '用户'), '注册奖励', a.money, 'GHS') as content, |
| | | a.money as money |
| | | from t_driver_activity_registered a |
| | | left join t_driver_activity b on (a.driverActivityId = b.id) |
| | |
| | | */ |
| | | private String password; |
| | | |
| | | |
| | | /** |
| | | * 语言(1=简体中文,2=英语,3=法语) |
| | | */ |
| | | @TableField("language") |
| | | private Integer language; |
| | | |
| | | /** |
| | | * 姓 |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="noVipUnlockNum">${noVipUnlockNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="noVipUnlockMoney">${noVipUnlockMoneyToDay}</span>元</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="noVipUnlockMoney">${noVipUnlockMoneyToDay}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="vipUnlockNum">${vipUnlockNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="vipUnlockMoney">${vipUnlockMoneyToDay}</span>元</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="vipUnlockMoney">${vipUnlockMoneyToDay}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="allIncomeNum">${allIncomeNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="allIncomeMoney">${allIncomeMoneyToDay}</span>元</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="allIncomeMoney">${allIncomeMoneyToDay}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">新增数<span style="margin-left: 50px;font-size: 28px;" id="addVipNum">${addVipNumToDay}</span>位</h1> |
| | | <h1 class="sp-col" style="width: 100%;">新增收益<span style="margin-left: 50px;font-size: 28px;" id="addVipMoney">${addVipMoneyToDay}</span>元</h1> |
| | | <h1 class="sp-col" style="width: 100%;">新增收益<span style="margin-left: 50px;font-size: 28px;" id="addVipMoney">${addVipMoneyToDay}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="sendActiveNum">${sendActiveNumDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="sendActiveMoney">${sendActiveMoneyToDay}</span>元</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="sendActiveMoney">${sendActiveMoneyToDay}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <h3>历史总营收</h3> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;">${historyIncomeMoney}</span>元</h1> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;">${historyIncomeMoney}</span>GHS</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="money" name="奖励金额(元)" underline="true"/> |
| | | <#input id="money" name="奖励金额(GHS)" underline="true"/> |
| | | <#input id="end" name="每天结束时间(23:59)" underline="true"/> |
| | | <#input id="endTime" name="活动结束时间" underline="true"/> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="money" name="奖励金额(元)" value="${item.money}" underline="true"/> |
| | | <#input id="money" name="奖励金额(GHS)" value="${item.money}" underline="true"/> |
| | | <#input id="end" name="每天结束时间(23:59)" value="${item.end}" underline="true"/> |
| | | <#input id="endTime" name="活动结束时间" value="${item.endTime}" underline="true"/> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">总金额</label> |
| | | <div class="col-sm-5"> |
| | | <input id="totalMoney" style="width: 170px;height: 35px;" placeholder="最多8位数"> 元 |
| | | <input id="totalMoney" style="width: 170px;height: 35px;" placeholder="最多8位数"> GHS |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">每个红包金额</label> |
| | | <div class="col-sm-5"> |
| | | <input id="money" style="width: 170px;height: 35px;" placeholder="最多3位数"> 元 |
| | | <input id="money" style="width: 170px;height: 35px;" placeholder="最多3位数"> GHS |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">每个红包金额范围</label> |
| | | <div class="col-sm-5"> |
| | | <input id="startMoney" style="width: 80px;height: 35px;"> - |
| | | <input id="endMoney" style="width: 80px;height: 35px;"> 元 |
| | | <input id="endMoney" style="width: 80px;height: 35px;"> GHS |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | value="${item.speMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.taxiMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.sameLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.crossLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="zcMoney" name="zcMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="czMoney" name="czMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="tcxMoney" name="tcxMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="kcxMoney" name="kcxMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="zcMoney" name="zcMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="czMoney" name="czMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="tcxMoney" name="tcxMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div style="position: relative;top: -8px;"> |
| | | <span>按固定金额抽成,每笔订单抽取</span> |
| | | <input style="width: 50%;display: inline-block;" type="text" class="form-control" id="kcxMoney" name="kcxMoney"> |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.speMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.taxiMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.sameLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.crossLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.speMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.taxiMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.sameLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.crossLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.speMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.taxiMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.sameLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.crossLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.speMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.taxiMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.sameLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | value="${item.crossLogisticsMoney}" |
| | | @} |
| | | > |
| | | <span>元</span> |
| | | <span>GHS</span> |
| | | </div> |
| | | </label> |
| | | </div> |
| | |
| | | <div class="form-group" id="fixedDiv"> |
| | | <label class="col-sm-2 control-label">固定计价:</label> |
| | | <div class="col-sm-10"> |
| | | 单人价格: <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" /> 元; |
| | | 包车价格: <input type="text" oninput="checkIsYuan(this)" name="num2" id="num2" class="form-control newWidth" /> 元;<br><br> |
| | | 单人价格: <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" /> GHS; |
| | | 包车价格: <input type="text" oninput="checkIsYuan(this)" name="num2" id="num2" class="form-control newWidth" /> GHS;<br><br> |
| | | 五座系数: <input type="text" oninput="checkIsXiShu(this)" name="num3" id="num3" class="form-control newWidth" /> ; |
| | | 七座系数: <input type="text" oninput="checkIsXiShu(this)" name="num4" id="num4" class="form-control newWidth" /> ; |
| | | </div> |
| | |
| | | <div class="form-group" id="floatDiv" style="display: none;"> |
| | | <label class="col-sm-2 control-label">浮动计价:</label> |
| | | <div class="col-sm-10"> |
| | | 参考费用: <input type="text" oninput="checkIsYuan(this)" name="num11" id="num11" class="form-control newWidth" /> 元; |
| | | 参考费用: <input type="text" oninput="checkIsYuan(this)" name="num11" id="num11" class="form-control newWidth" /> GHS; |
| | | 参考里程: <input type="text" oninput="checkIsYuan(this)" name="num12" id="num12" class="form-control newWidth" /> 公里;<br><br> |
| | | 基础单价: <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" /> 元; |
| | | 基础单价: <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" /> GHS; |
| | | 优惠系数: <input type="text" oninput="checkIsXiShu(this)" name="num14" id="num14" class="form-control newWidth" /> ;<br><br> |
| | | 包车系数: <input type="text" oninput="checkIsXiShu(this)" name="num15" id="num15" class="form-control newWidth" /> ; |
| | | 五座系数: <input type="text" oninput="checkIsXiShu(this)" name="num16" id="num16" class="form-control newWidth" /> ;<br><br> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsXiShu(obj){ |
| | |
| | | <div class="form-group" id="fixedDiv"> |
| | | <label class="col-sm-2 control-label">固定计价:</label> |
| | | <div class="col-sm-10"> |
| | | 单人价格: <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" /> 元; |
| | | 包车价格: <input type="text" oninput="checkIsYuan(this)" name="num2" id="num2" class="form-control newWidth" /> 元;<br><br> |
| | | 单人价格: <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" /> GHS; |
| | | 包车价格: <input type="text" oninput="checkIsYuan(this)" name="num2" id="num2" class="form-control newWidth" /> GHS;<br><br> |
| | | 五座系数: <input type="text" oninput="checkIsXiShu(this)" name="num3" id="num3" class="form-control newWidth" /> ; |
| | | 七座系数: <input type="text" oninput="checkIsXiShu(this)" name="num4" id="num4" class="form-control newWidth" /> ; |
| | | </div> |
| | |
| | | <div class="form-group" id="floatDiv" style="display: none;"> |
| | | <label class="col-sm-2 control-label">浮动计价:</label> |
| | | <div class="col-sm-10"> |
| | | 参考费用: <input type="text" oninput="checkIsYuan(this)" name="num11" id="num11" class="form-control newWidth" /> 元; |
| | | 参考费用: <input type="text" oninput="checkIsYuan(this)" name="num11" id="num11" class="form-control newWidth" /> GHS; |
| | | 参考里程: <input type="text" oninput="checkIsYuan(this)" name="num12" id="num12" class="form-control newWidth" /> 公里;<br><br> |
| | | 基础单价: <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" /> 元; |
| | | 基础单价: <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" /> GHS; |
| | | 优惠系数: <input type="text" oninput="checkIsXiShu(this)" name="num14" id="num14" class="form-control newWidth" /> ;<br><br> |
| | | 包车系数: <input type="text" oninput="checkIsXiShu(this)" name="num15" id="num15" class="form-control newWidth" /> ; |
| | | 五座系数: <input type="text" oninput="checkIsXiShu(this)" name="num16" id="num16" class="form-control newWidth" /> ;<br><br> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsXiShu(obj){ |
| | |
| | | <div class="row"> |
| | | @if(isNotEmpty(item.orderMoney) && item.orderMoney > 0){ |
| | | <div class="col-sm-6 b-r"> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}元"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}元"/> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}GHS"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}GHS"/> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | @if(isNotEmpty(item.payMoney)){ |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}GHS"/> |
| | | @}else{ |
| | | <#label id="payMoney" name="实际支付费用" value="0.00元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="0.00GHS"/> |
| | | @} |
| | | <#label id="payTypeStr" name="支付方式" value="${item.payTypeStr}"/> |
| | | </div> |
| | |
| | | <div class="row"> |
| | | @if(isNotEmpty(item.orderMoney) && item.orderMoney > 0){ |
| | | <div class="col-sm-6 b-r"> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}元"/> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}GHS"/> |
| | | @if(isNotEmpty(item.payMoney)){ |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}GHS"/> |
| | | @}else{ |
| | | <#label id="payMoney" name="实际支付费用" value="0.00元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="0.00GHS"/> |
| | | @} |
| | | @if(isNotEmpty(item.couponMoney)){ |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}元"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}GHS"/> |
| | | @}else{ |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="0.00元"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="0.00GHS"/> |
| | | @} |
| | | @if(isNotEmpty(item.redPacketMoney)){ |
| | | <#label id="redPacketMoney" name="红包抵扣费用" value="${item.redPacketMoney}GHS"/> |
| | | @}else{ |
| | | <#label id="redPacketMoney" name="红包抵扣费用" value="0.00GHS"/> |
| | | @} |
| | | </div> |
| | | <div class="col-sm-6"> |
| | |
| | | <div class="row"> |
| | | @if(isNotEmpty(item.orderMoney) && item.orderMoney > 0){ |
| | | <div class="col-sm-6"> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}元"/> |
| | | <#label id="abnormalMoney" name="异常金额" value="${item.abnormalMoney}元"/> |
| | | <#label id="travelMoney" name="起步价" value="${item.startMoney}元------起步里程(${item.startMileage})公里"/> |
| | | <#label id="travelMoney" name="里程费" value="${item.mileageMoney}元------里程公里(${item.mileageKilometers})公里"/> |
| | | <#label id="durationMoney" name="时长费" value="${item.durationMoney}元------时长分钟(${item.duration})分钟"/> |
| | | <#label id="waitMoney" name="等待费" value="${item.waitMoney}元------等待分钟(${item.wait})分钟"/> |
| | | <#label id="parkMoney" name="停车费" value="${item.parkMoney}元"/> |
| | | <#label id="roadTollMoney" name="过路费" value="${item.roadTollMoney}元"/> |
| | | <#label id="longDistanceMoney" name="远途费" value="${item.longDistanceMoney}元------远途(${item.longDistance})公里"/> |
| | | <#label id="tipMoney" name="首单免费" value="${item.freeMoney1}元"/> |
| | | <#label id="orderMoney" name="订单总价" value="${item.orderMoney}GHS"/> |
| | | <#label id="abnormalMoney" name="异常金额" value="${item.abnormalMoney}GHS"/> |
| | | <#label id="travelMoney" name="起步价" value="${item.startMoney}GHS------起步里程(${item.startMileage})公里"/> |
| | | <#label id="travelMoney" name="里程费" value="${item.mileageMoney}GHS------里程公里(${item.mileageKilometers})公里"/> |
| | | <#label id="durationMoney" name="时长费" value="${item.durationMoney}GHS------时长分钟(${item.duration})分钟"/> |
| | | <#label id="waitMoney" name="等待费" value="${item.waitMoney}GHS------等待分钟(${item.wait})分钟"/> |
| | | <#label id="parkMoney" name="停车费" value="${item.parkMoney}GHS"/> |
| | | <#label id="roadTollMoney" name="过路费" value="${item.roadTollMoney}GHS"/> |
| | | <#label id="longDistanceMoney" name="远途费" value="${item.longDistanceMoney}GHS------远途(${item.longDistance})公里"/> |
| | | <#label id="tipMoney" name="首单免费" value="${item.freeMoney1}GHS"/> |
| | | @if(isNotEmpty(item.discountMoney)){ |
| | | <#label id="discountMoney" name="折扣优惠金额" value="${item.discountMoney}元------折扣(${item.discount}折)"/> |
| | | <#label id="discountMoney" name="折扣优惠金额" value="${item.discountMoney}GHS------折扣(${item.discount}折)"/> |
| | | @} |
| | | @if(isNotEmpty(item.payMoney)){ |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="${item.payMoney}GHS"/> |
| | | @}else{ |
| | | <#label id="payMoney" name="实际支付费用" value="0.00元"/> |
| | | <#label id="payMoney" name="实际支付费用" value="0.00GHS"/> |
| | | @} |
| | | |
| | | <#label id="payTypeStr" name="支付方式" value="${item.payTypeStr}"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}元"/> |
| | | <#label id="redPacketMoney" name="红包抵扣金额" value="${item.redPacketMoney}元"/> |
| | | <#label id="couponMoney" name="优惠券抵扣费用" value="${item.couponMoney}GHS"/> |
| | | <#label id="redPacketMoney" name="红包抵扣金额" value="${item.redPacketMoney}GHS"/> |
| | | </div> |
| | | <!--<div class="col-sm-3"> |
| | | <#label id="startMileage" name="起步里程" value="${item.startMileage}"/> |
| | |
| | | |
| | | </div>--> |
| | | <div class="col-sm-6"> |
| | | <#label id="platIncome" name="平台收益" value="${item.platIncome}元"/> |
| | | <#label id="companyIncome" name="分公司收益" value="${item.companyIncome}元"/> |
| | | <#label id="franchiseeIncome" name="加盟商收益" value="${item.franchiseeIncome}元"/> |
| | | <#label id="driverIncome" name="司机收益" value="${item.driverIncome}元"/> |
| | | <#label id="platIncome" name="平台收益" value="${item.platIncome}GHS"/> |
| | | <#label id="companyIncome" name="分公司收益" value="${item.companyIncome}GHS"/> |
| | | <#label id="franchiseeIncome" name="加盟商收益" value="${item.franchiseeIncome}GHS"/> |
| | | <#label id="driverIncome" name="司机收益" value="${item.driverIncome}GHS"/> |
| | | </div> |
| | | @}else{ |
| | | <h4 style="margin-left: 10%">暂无费用明细</h4> |
| | |
| | | <label class="col-sm-3 control-label">车型价格范围为:</label> |
| | | <div class="col-sm-9"> |
| | | <input type="text" oninput="checkIsYuan(this)" name="one" id="one" class="form-control newWidth" /> |
| | | 至 <input type="text" oninput="checkIsYuan(this)" name="two" id="two" class="form-control newWidth" /> 元 |
| | | 至 <input type="text" oninput="checkIsYuan(this)" name="two" id="two" class="form-control newWidth" /> GHS |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】格式不正确,保留两位小数"); |
| | | layer.msg("【GHS】格式不正确,保留两位小数"); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <label class="col-sm-3 control-label">车型价格范围为:</label> |
| | | <div class="col-sm-9"> |
| | | <input type="text" oninput="checkIsYuan(this)" name="one" id="one" class="form-control newWidth" value="${price1}"/> |
| | | 至 <input type="text" oninput="checkIsYuan(this)" name="two" id="two" class="form-control newWidth" value="${price2}"/> 元 |
| | | 至 <input type="text" oninput="checkIsYuan(this)" name="two" id="two" class="form-control newWidth" value="${price2}"/> GHS |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】格式不正确,保留两位小数"); |
| | | layer.msg("【GHS】格式不正确,保留两位小数"); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="one" id="one" class="form-control newWidth" /> 元;<br/> |
| | | name="one" id="one" class="form-control newWidth" /> GHS;<br/> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">积分设置:</label> |
| | | <div class="col-sm-10"> |
| | | 消费一元积 <input type="text" oninput="checkIsInt(this)" |
| | | 消费一GHS积 <input type="text" oninput="checkIsInt(this)" |
| | | @if(isNotEmpty(integral)){ |
| | | value="${integral.integral}" |
| | | @}else{ |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num101" id="num101" class="form-control newWidth" /> 元/件<br/> |
| | | name="num101" id="num101" class="form-control newWidth" /> GHS/件<br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num102" id="num102" class="form-control newWidth" /> 元/件<br/> |
| | | name="num102" id="num102" class="form-control newWidth" /> GHS/件<br/> |
| | | </div> |
| | | </div> |
| | | --> |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num2" id="num2" class="form-control newWidth" />元/件 <br/> |
| | | name="num2" id="num2" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num5" id="num5" class="form-control newWidth" />元/件 <br/> |
| | | name="num5" id="num5" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num8" id="num8" class="form-control newWidth" />元/件 <br/> |
| | | name="num8" id="num8" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num11" id="num11" class="form-control newWidth" />元/件 <br/> |
| | | name="num11" id="num11" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num13" id="num13" class="form-control newWidth" />元/件 <br/> |
| | | name="num13" id="num13" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num16" id="num16" class="form-control newWidth" />元/件 <br/> |
| | | name="num16" id="num16" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num19" id="num19" class="form-control newWidth" />元/件 <br/> |
| | | name="num19" id="num19" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @}else{ |
| | | value="" |
| | | @} |
| | | name="num22" id="num22" class="form-control newWidth" />元/件 <br/> |
| | | name="num22" id="num22" class="form-control newWidth" />GHS/件 <br/> |
| | | </div> |
| | | </div> |
| | | --> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsGongLi(obj){ |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">起步价设置:</label> |
| | | <div class="col-sm-10"> |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 起步包含 <input type="text" oninput="checkIsGongLi(this)" name="num2" id="num2" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | <input type="text" oninput="checkIsMinute(this)" name="num3" id="num3" class="form-control newWidth" placeholder="最多3位数"/> 分钟 |
| | | <br/> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">里程费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">时长费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">等待费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 司机到达预约地点 <input type="text" oninput="checkIsMinute(this)" name="num6" id="num6" class="form-control newWidth" placeholder="最多3位数"/> 分钟过后开始收取等待费, |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" class="form-control newWidth" placeholder="最多3位数"/> 元/分,不足一分钟按照一分钟计算 |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" class="form-control newWidth" placeholder="最多3位数"/> GHS/分,不足一分钟按照一分钟计算 |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | 总里程超过 <input type="text" oninput="checkIsGongLi(this)" name="num8" id="num8" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num9" id="num9" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num11" id="num11" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num12" id="num12" class="form-control newWidth" placeholder="最多3位数"/> 公里时, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num14" id="num14" class="form-control newWidth" placeholder="最多3位数"/> 公里以后, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num16" id="num16" class="form-control newWidth" placeholder="选择时间"/> 点为夜间行驶时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num20" id="num20" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num21" id="num21" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num23" id="num23" oninput="checkDate(this)" class="form-control newWidth" placeholder="选择时间段"/> |
| | | 和 <input type="text" name="num24" id="num24" class="form-control newWidth" placeholder="选择时间段"/> 为高峰期行车时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num28" id="num28" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num29" id="num29" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">起步价设置:</label> |
| | | <div class="col-sm-10"> |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" value="${json.num1}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" value="${json.num1}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 起步包含 <input type="text" oninput="checkIsGongLi(this)" name="num2" id="num2" value="${json.num2}" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | <input type="text" oninput="checkIsMinute(this)" name="num3" id="num3" value="${json.num3}" class="form-control newWidth" placeholder="最多3位数"/> 分钟 |
| | | <br/> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">里程费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" value="${json.num4}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" value="${json.num4}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">时长费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" value="${json.num5}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" value="${json.num5}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">等待费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 司机到达预约地点 <input type="text" oninput="checkIsMinute(this)" name="num6" id="num6" value="${json.num6}" class="form-control newWidth" placeholder="最多3位数"/> 分钟过后开始收取等待费, |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" value="${json.num7}" class="form-control newWidth" placeholder="最多3位数"/> 元/分,不足一分钟按照一分钟计算 |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" value="${json.num7}" class="form-control newWidth" placeholder="最多3位数"/> GHS/分,不足一分钟按照一分钟计算 |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | 总里程超过 <input type="text" oninput="checkIsGongLi(this)" name="num8" id="num8" value="${json.num8}" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num9" id="num9" value="${json.num9}" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" value="${json.num10}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" value="${json.num10}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num11" id="num11" value="${json.num11}" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num12" id="num12" value="${json.num12}" class="form-control newWidth" placeholder="最多3位数"/> 公里时, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" value="${json.num13}" id="num13" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" value="${json.num13}" id="num13" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num14" id="num14" value="${json.num14}" class="form-control newWidth" placeholder="最多3位数"/> 公里以后, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" value="${json.num15}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" value="${json.num15}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num16" id="num16" value="${json.num16}" class="form-control newWidth" placeholder="选择时间"/> 点为夜间行驶时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" value="${json.num17}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" value="${json.num17}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" value="${json.num18}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" value="${json.num19}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" value="${json.num18}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" value="${json.num19}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num20" id="num20" value="${json.num20}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num21" id="num21" value="${json.num21}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" value="${json.num22}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" value="${json.num22}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num23" id="num23" value="${json.num23}" class="form-control newWidth" placeholder="选择时间段"/> |
| | | 和 <input type="text" name="num24" id="num24" value="${json.num24}" class="form-control newWidth" placeholder="选择时间段"/> 为高峰期行车时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" value="${json.num25}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" value="${json.num25}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" value="${json.num26}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" value="${json.num27}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" value="${json.num26}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" value="${json.num27}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num28" id="num28" value="${json.num28}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num29" id="num29" value="${json.num29}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" value="${json.num30}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" value="${json.num30}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsGongLi(obj){ |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">起步价设置:</label> |
| | | <div class="col-sm-10"> |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 起步包含 <input type="text" oninput="checkIsGongLi(this)" name="num2" id="num2" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | <input type="text" oninput="checkIsMinute(this)" name="num3" id="num3" class="form-control newWidth" placeholder="最多3位数"/> 分钟 |
| | | <br/> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">里程费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">时长费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">等待费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 司机到达预约地点 <input type="text" oninput="checkIsMinute(this)" name="num6" id="num6" class="form-control newWidth" placeholder="最多3位数"/> 分钟过后开始收取等待费, |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" class="form-control newWidth" placeholder="最多3位数"/> 元/分,不足一分钟按照一分钟计算 |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" class="form-control newWidth" placeholder="最多3位数"/> GHS/分,不足一分钟按照一分钟计算 |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | 总里程超过 <input type="text" oninput="checkIsGongLi(this)" name="num8" id="num8" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num9" id="num9" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num11" id="num11" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num12" id="num12" class="form-control newWidth" placeholder="最多3位数"/> 公里时, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" id="num13" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num14" id="num14" class="form-control newWidth" placeholder="最多3位数"/> 公里以后, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num16" id="num16" class="form-control newWidth" placeholder="选择时间"/> 点为夜间行驶时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num20" id="num20" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num21" id="num21" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num23" id="num23" class="form-control newWidth" placeholder="选择时间段"/> |
| | | 和 <input type="text" name="num24" id="num24" class="form-control newWidth" placeholder="选择时间段"/> 为高峰期行车时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num28" id="num28" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num29" id="num29" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsGongLi(obj){ |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">起步价设置:</label> |
| | | <div class="col-sm-10"> |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" value="${json.num1}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 起步价为 <input type="text" oninput="checkIsYuan(this)" name="num1" id="num1" value="${json.num1}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 起步包含 <input type="text" oninput="checkIsGongLi(this)" name="num2" id="num2" value="${json.num2}" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | <input type="text" oninput="checkIsMinute(this)" name="num3" id="num3" value="${json.num3}" class="form-control newWidth" placeholder="最多3位数"/> 分钟 |
| | | <br/> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">里程费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" value="${json.num4}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步里程后每公里 <input type="text" oninput="checkIsYuan(this)" name="num4" id="num4" value="${json.num4}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">时长费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" value="${json.num5}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超过起步时长后每分钟 <input type="text" oninput="checkIsYuan(this)" name="num5" id="num5" value="${json.num5}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">等待费设置:</label> |
| | | <div class="col-sm-10"> |
| | | 司机到达预约地点 <input type="text" oninput="checkIsMinute(this)" name="num6" id="num6" value="${json.num6}" class="form-control newWidth" placeholder="最多3位数"/> 分钟过后开始收取等待费, |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" value="${json.num7}" class="form-control newWidth" placeholder="最多3位数"/> 元/分,不足一分钟按照一分钟计算 |
| | | 为 <input type="text" oninput="checkIsYuan(this)" name="num7" id="num7" value="${json.num7}" class="form-control newWidth" placeholder="最多3位数"/> GHS/分,不足一分钟按照一分钟计算 |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | 总里程超过 <input type="text" oninput="checkIsGongLi(this)" name="num8" id="num8" value="${json.num8}" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num9" id="num9" value="${json.num9}" class="form-control newWidth" placeholder="最多3位数"/> 公里, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" value="${json.num10}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num10" id="num10" value="${json.num10}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num11" id="num11" value="${json.num11}" class="form-control newWidth" placeholder="最多3位数"/> 公里 |
| | | 不足 <input type="text" oninput="checkIsGongLi(this)" name="num12" id="num12" value="${json.num12}" class="form-control newWidth" placeholder="最多3位数"/> 公里时, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" value="${json.num13}" id="num13" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num13" value="${json.num13}" id="num13" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | <br> |
| | | 超过 <input type="text" disabled oninput="checkIsGongLi(this)" name="num14" id="num14" value="${json.num14}" class="form-control newWidth" placeholder="最多3位数"/> 公里以后, |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" value="${json.num15}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 超出部分每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num15" id="num15" value="${json.num15}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num16" id="num16" value="${json.num16}" class="form-control newWidth" placeholder="选择时间"/> 点为夜间行驶时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" value="${json.num17}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num17" id="num17" value="${json.num17}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" value="${json.num18}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" value="${json.num19}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num18" id="num18" value="${json.num18}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num19" id="num19" value="${json.num19}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num20" id="num20" value="${json.num20}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num21" id="num21" value="${json.num21}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" value="${json.num22}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num22" id="num22" value="${json.num22}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-10"> |
| | | <input type="text" name="num23" id="num23" value="${json.num23}" class="form-control newWidth" placeholder="选择时间段"/> |
| | | 和 <input type="text" name="num24" id="num24" value="${json.num24}" class="form-control newWidth" placeholder="选择时间段"/> 为高峰期行车时间, |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" value="${json.num25}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 起步价变为 <input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" value="${json.num25}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" value="${json.num26}" class="form-control newWidth" placeholder="最多3位数"/> 元, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" value="${json.num27}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 里程费为每公里 <input type="text" oninput="checkIsYuan(this)" name="num26" id="num26" value="${json.num26}" class="form-control newWidth" placeholder="最多3位数"/> GHS, |
| | | 时长费为每分钟 <input type="text" oninput="checkIsYuan(this)" name="num27" id="num27" value="${json.num27}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br> |
| | | <br> |
| | | 远途费为每公里加收 <input type="text" oninput="checkIsYuan(this)" name="num28" id="num28" value="${json.num28}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num29" id="num29" value="${json.num29}" class="form-control newWidth" placeholder="最多3位数"/> |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" value="${json.num30}" class="form-control newWidth" placeholder="最多3位数"/> 元 |
| | | 、 <input type="text" oninput="checkIsYuan(this)" name="num30" id="num30" value="${json.num30}" class="form-control newWidth" placeholder="最多3位数"/> GHS |
| | | <br/> |
| | | </div> |
| | | </div> |
| | |
| | | function checkIsYuan(obj){ |
| | | var num = $(obj).val(); |
| | | if(!regDouble.test(num)){ |
| | | layer.msg("【元】输入框不能超过3位数,保留两位小数"); |
| | | layer.msg("【GHS】输入框不能超过3位数,保留两位小数"); |
| | | } |
| | | } |
| | | function checkIsGongLi(obj){ |
| | |
| | | <input type="hidden" id="id2"> |
| | | <input type="hidden" id="id3"> |
| | | <input type="hidden" id="id4"> |
| | | 充值: <input type="text" name="zc1" id="num1" class="form-control newWidth" /> 元 |
| | | 充值: <input type="text" name="zc1" id="num1" class="form-control newWidth" /> GHS |
| | | <br/> |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num2" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num3" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(0)"/> 元通用优惠券 |
| | | <input type="text" name="zc1" id="num3" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(0)"/> GHS通用优惠券 |
| | | <br/> |
| | | <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)"/> GHS打车优惠券 |
| | | <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)"/> 元出租车优惠券--> |
| | | <!-- <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(2)"/> GHS出租车优惠券--> |
| | | <!--<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="num9" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(3)"/> GHS城际优惠券--> |
| | | <!--<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(4)"/> 元包裹优惠券 |
| | | <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(4)"/> GHS包裹优惠券 |
| | | <br/> |
| | | <br/> |
| | | 有效期 |
| | | <input type="text" name="zc1" id="num10" class="form-control newWidth" /> 天, |
| | | 最高金额 |
| | | <input type="text" name="zc1" id="num11" class="form-control newWidth" /> 元 |
| | | <input type="text" name="zc1" id="num11" class="form-control newWidth" /> GHS |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | num1: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num4: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num5: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num7: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num10: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num13: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num15: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | // num17: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num18: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num19: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num20: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num21: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num22: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | |
| | | num25: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num26: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num27: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num28: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num29: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num30: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | } |
| | |
| | | num1: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num4: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num5: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num7: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num10: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num13: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | num15: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | |
| | | // num17: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num18: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num19: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num20: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num21: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num22: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // message: '【GHS】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | |
| | | num25: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num26: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num27: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num28: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num29: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num30: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | message: '【GHS】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | message: '【GHS】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | } |