Kaynağa Gözat

不上漏掉的html文件

qzyReal 2 yıl önce
ebeveyn
işleme
98f3de74ae

+ 2 - 1
app/manifest.json

@@ -82,13 +82,14 @@
     "uniStatistics" : {
         "enable" : false
     },
-    "vueVersion" : "2",
+    "vueVersion" : "3",
     "h5" : {
         "router" : {
             "base" : "/h5/",
             "mode" : "history"
         },
         "devServer" : {
+            "port" : 8080,
             "https" : true
         }
     }

+ 168 - 0
sp-admin/sa-view/tb-business-car/tb-business-car-add.html

@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>-添加/修改</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+    <!-- 所有的 css js 资源 -->
+    <link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+    <link rel="stylesheet" href="../../static/sa.css">
+    <script src="../../static/kj/vue.min.js"></script>
+    <script src="../../static/kj/element-ui/index.js"></script>
+    <script src="../../static/kj/httpVueLoader.js"></script>
+    <script src="../../static/kj/jquery.min.js"></script>
+    <script src="../../static/kj/layer/layer.js"></script>
+    <script src="../../static/sa.js"></script>
+    <script src="../../static/kj/upload-util.js"></script>
+    <style type="text/css">
+        .c-panel .el-form .c-label {
+            width: 7em !important;
+        }
+
+        .c-panel .el-form .el-input,
+        .c-panel .el-form .el-textarea__inner {
+            width: 250px;
+        }
+
+        .china-car-size .el-input__inner {
+            width: 130px;
+        }
+    </style>
+</head>
+<body>
+<div class="vue-box" :class="{sbot: id}" style="display: none;" :style="'display: block;'">
+    <!-- ------- 内容部分 ------- -->
+    <div class="s-body">
+        <div class="c-panel">
+            <div class="c-title" v-if="id == 0">数据添加</div>
+            <div class="c-title" v-else>数据修改</div>
+            <el-form v-if="m">
+                <sa-item type="text" name="车牌号" v-model="m.carNo" br></sa-item>
+                <div class="c-item">
+                    <label class="c-label"><span style="color: red;">*</span>车辆规格:</label>
+                    <el-input-number class="china-car-size" v-model="m.carSize" controls-position="right"
+                                     :min="4.2" :max="50"></el-input-number>
+                </div>
+                <div class="c-item">
+                    <label class="c-label">车牌颜色:</label>
+                    <el-select v-model="m.color" placeholder="请选择">
+                        <el-option v-for="item in colorList" :label="item.carNoColor"
+                                   :value="item.carNoColor"></el-option>
+                    </el-select>
+                </div>
+                <!--						<div class="c-item">-->
+                <!--							<label class="c-label">联系人:</label>-->
+                <!--							<el-input v-model="m.driverName" placeholder="联系人" readonly>-->
+                <!--							</el-input>-->
+                <!--						</div>-->
+                <!--						<div class="c-item">-->
+                <!--							<label class="c-label">联系号码:</label>-->
+                <!--							<el-input v-model="m.driverPhone" placeholder="联系人号码" readonly>-->
+                <!--							</el-input>-->
+                <!--						</div>-->
+                <div class="c-item">
+                    <label class="c-label">入场时间:</label>
+                    <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
+                                    v-model="m.realInTime"></el-date-picker>
+                </div>
+                <sa-item type="img" name="入场图片" v-model="m.inImage" br></sa-item>
+
+                <div class="c-item">
+                    <label class="c-label">离场时间:</label>
+                    <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
+                                    v-model="m.realOutTime"></el-date-picker>
+                </div>
+                <sa-item type="img" name="出场图片" v-model="m.outImage" br></sa-item>
+                <sa-item name="" class="s-ok" br>
+                    <el-button type="primary" icon="el-icon-plus" @click="ok()">保存</el-button>
+                </sa-item>
+            </el-form>
+        </div>
+    </div>
+    <!-- ------- 底部按钮 ------- -->
+    <div class="s-foot">
+        <el-button type="primary" @click="ok()">确定</el-button>
+        <el-button @click="sa.closeCurrIframe()">取消</el-button>
+    </div>
+</div>
+<script>
+    var app = new Vue({
+        components: {
+            "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue')
+        },
+        el: '.vue-box',
+        data: {
+            colorList: [],
+            id: sa.p('id', 0), // 获取超链接中的id参数(0=添加,非0=修改)
+            m: {
+                id: '', //
+
+                carNo: '', //
+                carSize: '', //
+                driverName: '', //
+                money: '', //
+                driverPhone: '', //
+                image: '',
+                realInTime: '',
+                realOutTime: '',
+                pay: '',
+                isLock: '',
+                inImage: '',
+                outImage: '',
+            }, // 实体对象
+        },
+        methods: {
+            getCadNoColor() {
+                sa.ajax('/TbCarNoColor/getList', function (resp) {
+                    this.colorList = resp.data;
+                }.bind(this))
+            },
+            // 提交数据
+            ok: function () {
+                // 表单校验
+                let m = this.m;
+                sa.checkNull(m.carNo, '请输入 [车牌号]');
+                // let phone = m.driverPhone;
+                // if (phone && !sa.isPhone(phone)) {
+                // 	sa.error('联系号码不正确')
+                // 	return;
+                // }
+
+                // 开始增加或修改
+                if (this.id <= 0) { // 添加
+                    sa.ajax('/TbBusinessCar/addCarRecord', m, function (res) {
+                        sa.alert('增加成功', this.clean);
+                    }.bind(this));
+                } else { // 修改
+                    sa.ajax('/TbBusinessCar/updateCarRecord', m, function (res) {
+                        sa.alert('修改成功', this.clean);
+                    }.bind(this));
+                }
+            },
+            // 添加/修改 完成后的动作
+            clean: function () {
+                if (this.id == 0) {
+                    this.m = this.createModel();
+                } else {
+                    parent.app.f5(); // 刷新父页面列表
+                    sa.closeCurrIframe(); // 关闭本页
+                }
+            }
+        },
+        mounted: function () {
+            this.getCadNoColor();
+            // 初始化数据
+            if (this.id > 0) {
+                sa.ajax('/TbBusinessCar/getById?id=' + this.id, function (res) {
+                    this.m = res.data;
+                    if (res.data == null) {
+                        sa.alert('未能查找到 id=' + this.id + " 详细数据");
+                    }
+                }.bind(this))
+            }
+        }
+    })
+</script>
+</body>
+</html>

+ 1 - 1
sp-admin/static/sa.js

@@ -22,7 +22,7 @@ var sa = {
 		api_url: 'https://dxkaa1.gxbtka.com/pro',
 		web_url: 'http://www.baidu.com'
 	}
-	sa.cfg = cfg_test; // 最终环境 , 上线前请选择正确的环境
+	sa.cfg = cfg_prod; // 最终环境 , 上线前请选择正确的环境
 })();
 
 

+ 4 - 1
sp-server/src/main/java/com/pj/api/jh/service/JhService.java

@@ -17,6 +17,7 @@ import com.pj.api.wx.service.WxService;
 import com.pj.current.config.JhConfig;
 import com.pj.current.config.MyConfig;
 import com.pj.current.config.PartConfig;
+import com.pj.current.config.WxConfig;
 import com.pj.current.task.TaskService;
 import com.pj.project.tb_order.TbOrder;
 import com.pj.project.tb_order.TbOrderService;
@@ -53,6 +54,8 @@ public class JhService {
     PartConfig partConfig;
     @Resource
     WxService wxService;
+    @Resource
+    private WxConfig wxConfig;
 
     @Resource
     JhHttpUtils jhHttpUtils;
@@ -78,7 +81,7 @@ public class JhService {
         Attach atchMap = new Attach();
         atchMap.setC(c).setB(businessId).setA(a);
         String attchStr = JSONUtil.toJsonStr(atchMap);
-        TbOrder dbOrder = tbOrderService.find30Seconds(attchStr, LocalDateTime.now().minusSeconds(30).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        TbOrder dbOrder = tbOrderService.find30Seconds(attchStr, LocalDateTime.now().minusSeconds(wxConfig.getLimitPaySeconds()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         if (dbOrder!=null&&!StrUtil.equals(dbOrder.getOpenid(),openid)){
             throw new Exception("其他人正在付款....");
         }

+ 1 - 0
sp-server/src/main/java/com/pj/current/config/WxConfig.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Component;
 @Component
 @Data
 public class WxConfig {
+    private long limitPaySeconds;
     private String title;
     private String appId;
     private String machId;

+ 1 - 0
sp-server/src/main/resources/application-dev.yml

@@ -61,6 +61,7 @@ car:
     max-length: 20
     max-weight: 990000
 wx-config:
+    limit-pay-seconds: 30
     title: 场站管理系统
     flush-second: 12000 #token刷新时间 秒
     app-id: wxd40a34141872bf0c

+ 6 - 6
sp-server/src/main/resources/logback.xml

@@ -3,14 +3,14 @@
     <contextName>pco</contextName>
     <property name="LOG_PATH" value="logs"/>
     <property name="APP_DIR" value="pco"/>
-    <property name="log.maxFileSize" value="1MB"/>
-    <property name="log.maxFileCnt" value="30"/>
-    <property name="log.totalSizeCap" value="5GB"/>
+    <property name="log.maxFileSize" value="10MB"/>
+    <property name="log.maxFileCnt" value="90"/>
+    <property name="log.totalSizeCap" value="10GB"/>
 
     <appender name="FILE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${LOG_PATH}/${APP_DIR}/log_debug.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_PATH}/${APP_DIR}/debug/debug-%d{yyyy-MM-dd HH-mm-ss}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APP_DIR}/debug/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
             <maxFileSize>${log.maxFileSize}</maxFileSize>
             <maxHistory>${log.maxFileCnt}</maxHistory>
             <totalSizeCap>${log.totalSizeCap}</totalSizeCap>
@@ -30,7 +30,7 @@
     <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${LOG_PATH}/${APP_DIR}/log_info.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_PATH}/${APP_DIR}/info/info-%d{yyyy-MM-dd HH-mm-ss}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APP_DIR}/info/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
             <maxFileSize>${log.maxFileSize}</maxFileSize>
             <maxHistory>${log.maxFileCnt}</maxHistory>
             <totalSizeCap>${log.totalSizeCap}</totalSizeCap>
@@ -87,7 +87,7 @@
     <appender name="SXFX_info_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${LOG_PATH}/${APP_DIR}/SxFx_info.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_PATH}/${APP_DIR}/SxFx/SxFx_info-%d{yyyy-MM-dd HH-mm-ss}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APP_DIR}/SxFx/SxFx_info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
             <maxFileSize>${log.maxFileSize}</maxFileSize>
             <maxHistory>${log.maxFileCnt}</maxHistory>
             <totalSizeCap>${log.totalSizeCap}</totalSizeCap>