From d9dfe81a9e819d9da2d41cb57d674eff894c6605 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 05 九月 2023 11:36:21 +0800
Subject: [PATCH] 场地类型管理、场地管理、课包类型管理、教练管理、教练类型管理、福利视频分类管理、体测预约

---
 cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js |  614 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 508 insertions(+), 106 deletions(-)

diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
index efb9b57..3c90189 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -5,26 +5,33 @@
     id: "TSiteTable",	//表格id
     seItem: null,		//选中的条目
     table: null,
-    layerIndex: -1
+    layerIndex: -1,
+    picture:"",
+    fileUrl:"",
+    img:"",
+    plan:"",
+    goodsPicArray:[],
+    validateFields: {
+    }
 };
-
+var objectType =$("#objectType").val()
 /**
  * 初始化表格的列
  */
 TSite.initColumn = function () {
     return [
-        {field: 'selectItem', radio: true},
+        {field: 'selectItem', checkbox: true},
         {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'},
-        {title: '省', field: 'insertTime', visible: true, align: 'center', valign: 'middle',width:'20%',
+        {title: '省', field: 'province', visible: objectType==1?true:false, align: 'center', valign: 'middle',width:'20%',
         },
-        {title: '市', field: 'name', visible: true, align: 'center', valign: 'middle',
+        {title: '市', field: 'city', visible: objectType==1?true:false, align: 'center', valign: 'middle',
         },
-        {title: '门店名称', field: 'insertUserId', visible: false, align: 'center', valign: 'middle'},
-        {title: '场地类型', field: 'insertUser', visible: true, align: 'center', valign: 'middle',
+        {title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'},
+        {title: '场地类型', field: 'siteTypeName', visible: true, align: 'center', valign: 'middle',
         },
-        {title: '场地名称', field: 'province', visible: true, align: 'center', valign: 'middle',
+        {title: '场地名称', field: 'name', visible: true, align: 'center', valign: 'middle',
         },
-        {title: '场地责任险有效期', field: 'lineNum', visible: true, align: 'center', valign: 'middle',
+        {title: '场地责任险有效期', field: 'insuranceEndTime', visible: true, align: 'center', valign: 'middle',
         },
         {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
             formatter:function (data) {
@@ -47,149 +54,544 @@
         return true;
     }
 };
-TSite.oneChange = function (e) {
-    var oneId=$(e).val();
-    var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){
-        if(data!=null){
-            if(language==1){
-                var content='<option value="">选择市</option>';
-            }else if(language==2){
-                var content='<option value="">Choose your franchisee</option>';
-            }else {
-                var content='<option value="">Pilih franchisee Anda</option>';
+/**
+ * 上架
+ */
+
+TSite.onShelf = function () {
+    if (this.check()){
+        var selected = $('#' + this.id).bootstrapTable('getSelections');
+        const data1 = {
+            siteIds:[],
+            type:null
+        };
+        selected.forEach(function(obj) {
+            var id = obj.id;
+            data1.siteIds.push(id);
+        });
+        data1.type = 1;
+
+        $.ajax({
+            url: Feng.ctxPath + "/tSite/changeState",
+            type: "POST",
+            contentType: "application/json", // 设置请求头的 Content-Type
+            data: JSON.stringify(data1), // 将数据转换为 JSON 字符串
+            success: function(response) {
+                Feng.success("上架成功!");
+                TSite.search();
+            },
+            error: function(xhr, status, error) {
+                var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
+                Feng.error("您的网络异常!");
             }
+        });
+    }
+};
+/**
+ * 下架
+ */
+TSite.offShelf = function () {
+    if (this.check()){
+        var selected = $('#' + this.id).bootstrapTable('getSelections');
+        const data1 = {
+            siteIds:[],
+            type:null
+        };
+        selected.forEach(function(obj) {
+            var id = obj.id;
+            data1.siteIds.push(id);
+        });
+        data1.type = 2;
+        $.ajax({
+            url: Feng.ctxPath + "/tSite/changeState",
+            type: "POST",
+            contentType: "application/json", // 设置请求头的 Content-Type
+            data: JSON.stringify(data1), // 将数据转换为 JSON 字符串
+            success: function(response) {
+                Feng.success("下架成功!");
+                TSite.search();
+            },
+            error: function(xhr, status, error) {
+                var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!";
+                Feng.error("您的网络异常!");
+            }
+        });
+    }
+};
+TSite.uploadFile = function(){
+    var elementById = document.getElementById("uploadFile");
+    var file = elementById.files[0];
+    var formData = new FormData();
+    formData.append('file',file);
+        $.ajax({
+            url: Feng.ctxPath + "/tCouponManage/uploadPic" ,
+            type: "POST",
+            data: formData,
+            contentType: false, // 设置为false,让浏览器自动识别并设置请求头
+            processData: false, // 设置为false,不处理发送的数据(因为FormData对象已经包含了文件数据)
+            success: function (response) {
+                TSite.fileUrl = response;
+                console.log(TSite.fileUrl);
+                Feng.success("文件上传成功");
+            },
+            error: function (xhr, status, error) {
+                Feng.error("文件上传失败!" + error);
+            }
+        });
+};
+TSite.getChange = function(e){
+    var oneId=$(e).val();
+    var selectedValue = e.value;
+    var citySelect = document.getElementById("cCode");
+
+    var ajax = new $ax(Feng.ctxPath + "/tSite/getChange", function(data){
+        if(data!=null){
+            var content='<option value="">选择市</option>';
             $.each(data, function(k,v) {
-                content += "<option value='"+v.code+"'>"+v.name+"</option>";
+                content += "<option value='"+v.name+"'>"+v.name+"</option>";
             });
             $("#cCode").empty().append(content);
         }
     });
+    if (selectedValue === ""){
+        citySelect.innerHTML = '<option value="">请先选择省</option>';
+    }
+    ajax.set("province",oneId);
+    ajax.start();
+};
+// 场地管理首页 选择对应的省市
+// 传1是场地管理首页 传2是场地管理添加页面
+TSite.oneChange = function (e) {
+    var selectElement = document.getElementById('store');
+    var startTime = document.getElementById('start-time');
+    var endTime = document.getElementById('end-time');
+    if (startTime!==null){
+        startTime.disabled = true;
+        endTime.disabled = true;
+        selectElement.addEventListener('change',function () {
+            if (selectElement.value !== ''){
+                startTime.disabled = false;
+                endTime.disabled = false;
+            }else{
+                startTime.disabled = true;
+                endTime.disabled = true;
+            }
+        });
+    }
+
+    var province = $('#pCode option:selected').text();
+    var val = $('#pCode option:selected').val();
+
+    var citySelect = document.getElementById("cCode");
+    var accountSelect = document.getElementById("account");
+    var storeSelect = document.getElementById("store");
+    var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){
+        if(data!=null){
+                var content='<option value="">选择市</option>';
+            $.each(data, function(k,v) {
+                content += "<option value='"+v.city+"'>"+v.city+"</option>";
+            });
+            $("#cCode").empty().append(content);
+        }
+    });
+    if (val === ""){
+        citySelect.innerHTML = '<option value="">请先选择省</option>';
+
+    }
+    if (e===2){
+        accountSelect.innerHTML = '<option value="">请先选择省/市</option>';
+        storeSelect.innerHTML = '<option value="">请先选择省/市</option>';
+    }
+    if (val === ""){
+        startTime.disabled = true;
+        endTime.disabled = true;
+    }
+
+    ajax.set("province",province);
+    ajax.start();
+};
+
+TSite.oneChangeNext = function (e) {
+    var startTime = document.getElementById('start-time');
+    var endTime = document.getElementById('end-time');
+
+    var oneId=$(e).val();
+    var citySelect = document.getElementById("account");
+    var storeSelect = document.getElementById("store");
+    var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){
+        if(data!=null){
+            var content='<option value="">选择账号</option>';
+            $.each(data, function(k,v) {
+                content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>";
+            });
+            $("#account").empty().append(content);
+        }
+    });
+    if (oneId === ""){
+        citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>';
+        storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>';
+        startTime.disabled = true;
+        endTime.disabled = true;
+    }
     ajax.set("oneId",oneId);
     ajax.start();
-}
+
+    var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){
+        if(data!=null && data.length !== 0){
+            var content='<option value="">选择门店</option>';
+            $.each(data, function(k,v) {
+                content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>";
+            });
+            $("#store").empty().append(content);
+        }else {
+            storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>';
+        }
+    });
+    ajax1.set("oneId",oneId);
+    ajax1.start();
+};
 /**
- * 点击添加跨城站点管理
+ * 跳转添加场地页面
  */
 TSite.openAddTSite = function () {
+
     var index = layer.open({
         type: 2,
-        title: language==1?'添加':(language==2?'Add':'Tambahkan'),
+        title: "添加场地",
         area: ['100%', '100%'], //宽高
         fix: false, //不固定
         maxmin: true,
-        content: Feng.ctxPath + '/tSite/tSite_add'
+        content: Feng.ctxPath + '/tSite/add'
     });
     this.layerIndex = index;
 };
-
 /**
- * 打开查看跨城站点管理详情
+ * 跳转锁定场地页面
  */
-TSite.openTSiteDetail = function () {
+TSite.lock = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length >1 ){
+        Feng.info("只能选择一个场地进行锁定!");
+    }else {
+        if (this.check()) {
+            var index = layer.open({
+                type: 2,
+                title: "锁定场地",
+                area: ['100%', '100%'], //宽高
+                fix: false, //不固定
+                maxmin: true,
+                content: Feng.ctxPath + '/tSite/lockSite/' + TSite.seItem.id
+            });
+            this.layerIndex = index;
+        }
+    }
+};
+/**
+ * 打开场地管理查看详情
+ */
+TSite.openInfo = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length >1 ){
+        Feng.info("只能选择一个问题进行编辑!");
+    }else {
+        if (this.check()) {
+            var index = layer.open({
+                type: 2,
+                title: "查看详情",
+                area: ['100%', '100%'], //宽高
+                fix: false, //不固定
+                maxmin: true,
+                content: Feng.ctxPath + '/tSite/openInfoTSite/' + TSite.seItem.id
+            });
+            this.layerIndex = index;
+        }
+    }
+};
+/**
+ * 打开场地管理编辑
+ */
+TSite.openEditTSite = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length >1 ){
+        Feng.info("只能选择一个问题进行编辑!");
+    }else {
     if (this.check()) {
         var index = layer.open({
             type: 2,
-            title: language==1?'编辑':(language==2?'Edit':'Edit'),
+            title: "编辑场地",
             area: ['100%', '100%'], //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tSite/tSite_update/' + TSite.seItem.id
+            content: Feng.ctxPath + '/tSite/openEditTSite/' + TSite.seItem.id
         });
         this.layerIndex = index;
     }
-};
-
-/**
- * 操作跨城站点管理
- */
-TSite.opt = function (type) {
-    if (this.check()) {
-        var name = TSite.seItem.name;
-        if (name == "" || name == null || name == undefined) {
-            name = "该站点";
-        } else {
-            name = "【" + name + "】";
-        }
-        var str = "";
-        var text = "请谨慎操作!";
-        var title = "请谨慎操作!";
-        if (1 == type){
-            str = "删除";
-            title = "您是否确认删除"+name+"?";
-            text = "请谨慎操作,删除后数据无法恢复!";
-        } else if (2 == type){
-            str = "冻结";
-            title = "您是否确认冻结"+name+"?";
-        } else if (3 == type){
-            str = "解冻";
-            title = "您是否确认解冻"+name+"?";
-        }
-        if (1 == type){
-            if (TSite.seItem.lineNum != "" && TSite.seItem.lineNum != null && TSite.seItem.lineNum > 0) {
-                swal("删除失败", "该站点还有关联线路!", "warning");
-                return;
-            }
-        }
-        if(2 == type){
-            if (TSite.seItem.state != 1) {
-                swal("冻结失败", "【正常】状态下才能执行此操作!", "warning");
-                return;
-            }
-        }
-        if (3 == type){
-            if (TSite.seItem.state != 2){
-                swal("解冻失败", "【冻结】状态下才能执行此操作!", "warning");
-                return;
-            }
-        }
-
-        swal({
-            title: title,
-            text: text,
-            type: "warning",
-            showCancelButton: true,
-            confirmButtonColor: "#DD6B55",
-            confirmButtonText: str,
-            closeOnConfirm: true
-        }, function () {
-            var ajax = new $ax(Feng.ctxPath + "/tSite/opt", function (data) {
-                swal(str+"成功", "您已经"+str+"了" + name + "。", "success");
-                TSite.table.refresh();
-            }, function (data) {
-                swal(str+"失败", data.responseJSON.message + "!", "warning");
-            });
-            ajax.set("tSiteId",TSite.seItem.id);
-            ajax.set("optType", type);
-            ajax.start();
-        });
     }
 };
-
 /**
- * 查询跨城站点管理列表
+ * 关闭此对话框
  */
+TSite.close = function() {
+    parent.layer.close(window.parent.TSite.layerIndex);
+}
+
+var sh = ""; // 门店经营开始时间:小时
+var sm = "";// 门店经营开始时间:分钟
+var eh = "";// 门店经营结束时间:小时
+var em = "";// 门店经营结束时间:分钟
+
+TSite.addSubmit = function(){
+
+    var data = {
+        province:"",
+        city:"",
+        cityManagerId:"",
+        storeId:"",
+        siteTypeId:null,
+        appointmentStartTime:"",
+        appointmentEndTime:"",
+        cashPrice:null,
+        playPaiCoin:null,
+        insuranceEndTime:"",
+        name:"",
+        insuranceImg:"",
+        managementPlan:""
+    };
+    data.province            = $("#pCode").val()
+    data.city                = $("#cCode").val()
+    data.cityManagerId       = $("#account").val()
+    data.storeId             = $("#store").val()
+    data.siteTypeId          = $("#siteTypeId").val()
+    data.appointmentStartTime= $("#start-time").val()
+    data.appointmentEndTime  = $("#end-time").val()
+    data.cashPrice           = $("#cashPrice").val()
+    data.playPaiCoin         = $("#playPaiCoin").val()
+    data.insuranceEndTime    = $("#insuranceEndTime").val()
+    data.name                = $("#name").val()
+    data.insuranceImg        = $("#img").val()
+    data.managementPlan      = $('#courseVideo').val()
+    var sh =data.appointmentStartTime.split(':')[0];
+    var sm =data.appointmentStartTime.split(':')[1];
+    var eh =data.appointmentEndTime.split(':')[0];
+    var em =data.appointmentEndTime.split(':')[1];
+
+    if($("#pCode").val()==''){
+        Feng.info("请选择省")
+        return;
+    }
+    if($("#cCode").val()==''){
+        Feng.info("请选择市")
+        return;
+    }
+    if($("#account").val()=='' ){
+        Feng.info("请选择账号")
+        return;
+    }
+    if($("#store").val()=='' ){
+        Feng.info("请选择门店")
+        return;
+    }
+    if($("#siteTypeId").val()=='' ){
+        Feng.info("请选择场地类型")
+        return;
+    }
+    if($("#name").val()==''){
+        Feng.info("请输入场地名称")
+        return;
+    }
+    if($("#start-time").val()=='' ){
+        Feng.info("请输入可预约时间段 开始时间")
+        return;
+    }
+    if($("#end-time").val()==''){
+        Feng.info("请输入可预约时间段 结束时间")
+        return;
+    }
+    if($("#cashPrice").val()==''){
+        Feng.info("请输入现金价格")
+        return;
+    }
+    if($("#playPaiCoin").val()==''){
+        Feng.info("请输入玩湃币价格")
+        return;
+    }
+    if($("#insuranceEndTime").val()==''){
+        Feng.info("请输入场地责任险有效期")
+        return;
+    }
+
+    if($("#img").val()==''){
+        Feng.info("请上传场地责任有效期图片")
+        return;
+    }
+    if($('#courseVideo').val()==''){
+        Feng.info("请上传消防及应急管理方案")
+        return;
+    }
+    var sTime = document.getElementById("start-time"); //获取输入的开始时间
+    var eTime  = document.getElementById("end-time"); // 获取输入的结束时间
+    var rStime = ""; //门店的经营开始时间
+    var rEtime = ""; //门店的经营结束时间
+    var selectedText = $('#store option:selected').text();
+    $.ajax({
+        url: Feng.ctxPath + "/tSite/getTime/" + selectedText,
+        type: "GET",
+        contentType: "application/json", // 设置请求头的 Content-Type
+        success: function (response) {
+            rStime = response.startTime;
+            sh = rStime.split(':')[0];// 门店经营开始时间:小时
+            sm = rStime.split(':')[1];// 门店经营开始时间:分钟
+
+            rEtime = response.endTime;
+            eh = rEtime.split(':')[0];// 门店经营结束时间:小时
+            em = rEtime.split(':')[1];// 门店经营结束时间:分钟
+
+            var start = sTime.value;
+            var startHour = start.split(':')[0];  // 输入的可预约开始时间:小时
+            var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟
+            if (Number(sh)>Number(startHour)){
+                Feng.error("预约的开始时间不应小于营业开始时间!")
+                return false;
+            }else if(Number(sh) === Number(startHour) ){
+                if (Number(sm)>Number(startMinute)){
+                    Feng.error("预约的开始时间不应大于营业开始时间!")
+                    return false;
+                }
+            }else if (Number(eh)<Number(startHour)){
+                Feng.error("预约的开始时间不应大于营业结束时间!")
+                return false;
+            }else if(Number(eh)===Number(startHour)){
+                Feng.error("预约的开始时间不应大于等于营业结束时间!")
+                return false;
+            }
+            var end = eTime.value;
+            var endHour = end.split(':')[0];  // 输入的可预约结束时间:小时
+            var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟
+            if (Number(eh)<Number(endHour)){
+                Feng.error("预约的结束时间不应大于营业结束时间!")
+                return ;
+            }else if(Number(eh) === Number(endHour) ){
+                if (Number(em)<Number(endMinute)){
+                    Feng.error("预约的开始时间不应大于开始营业时间!")
+                    return ;
+                }
+            }else if(Number(sh)>Number(endHour)){
+                Feng.error("预约的结束时间不应小于营业开始时间!")
+                return ;
+            }
+            if (Number(endHour)===Number(sh)){
+                if(Number(endMinute) < Number(sm)){
+                    Feng.error("预约结束时间不应小于营业开始时间");
+                    return;
+                }
+            }
+            if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){
+                Feng.error("至少预约半个小时");
+                return;
+            }
+            $.ajax({
+                url: Feng.ctxPath + "/tSite/addSite" ,
+                type: "POST",
+                data: JSON.stringify(data),
+                contentType: "application/json",
+                success: function (response) {
+                    Feng.success("添加成功");
+                    TSite.search();
+                },
+                error: function (xhr, status, error) {
+                    Feng.error("添加失败!" + error);
+                }
+            });
+        },
+        error: function (xhr, status, error) {
+            var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
+            Feng.error("您的网络异常!");
+            return false;
+        }
+    });
+};
+
 TSite.search = function () {
     var queryData = {};
-    queryData['insertTime'] = $("#insertTime").val();
+    queryData['province'] = $("#pCode").val();
+    queryData['city'] = $("#cCode").val();
+    queryData['siteTypeId'] = $("#sCode").val();
+    // 场地名称
     queryData['name'] = $("#name").val();
-    queryData['insertUser'] = $("#insertUser").val();
-    queryData['city'] = $("#city").val();
-    queryData['state'] = $("#state").val();
+    // 门店名称
+    queryData['storeName'] = $("#storeName").val();
     TSite.table.refresh({query: queryData});
 };
 
 TSite.resetSearch = function () {
-    $("#insertTime").val("");
+    $("#pCode").val("");
+    $("#cCode").val("");
+    $("#store").val("");
+    $("#sCode").val("");
+    $("#storeName").val("");
+    $("#siteTypeId").val("");
     $("#name").val("");
-    $("#insertUser").val("");
-    $("#city").val("");
-    $("#state").val("");
+    $("#insuranceEndTime").val("");
     TSite.search();
 };
 
+function UploadFileFn(){
+    $('#upFile').click();
+}
+
 $(function () {
+    // 限制分钟选项为 0 和 30
+    var timeInputs = document.querySelectorAll('input[type="time"]');
+    timeInputs.forEach(function(input) {
+        input.addEventListener('change', function() {
+            var selectedTime = input.value;
+            var hour = selectedTime.split(':')[0];
+            var minute = selectedTime.split(':')[1];
+            if (minute < 30 &&minute>0) {
+                minute = '30';
+            } else if (minute >30) {
+                hour++;
+                minute = '00';
+                if (hour<10){
+                    hour = '0'+hour;
+                }
+            }
+                input.value = hour + ':' + minute;
+        });
+    });
+
+
     var defaultColunms = TSite.initColumn();
-    var table = new BSTable(TSite.id, "/tSite/list", defaultColunms);
-    table.setPaginationType("server");
+    var type =$("#type").val();
+    if (type !== 1){
+        var table1 = new BSTable(TSite.id, "/tSite/listExipre", defaultColunms);
+        table1.setPaginationType("client");
+        TSite.table = table1.init();
+    }
+    var table = new BSTable(TSite.id, "/tSite/listAll", defaultColunms);
+    table.setPaginationType("client");
     TSite.table = table.init();
+    Feng.initValidator("carInfoForm", TSite.validateFields);
+    var carPhoto = new $WebUpload("img");
+    carPhoto.setUploadBarId("progressBar");
+    carPhoto.init();
+    $('#upFile').on('change', function () {
+        var formData = new FormData()  //创建一个forData
+        formData.append('file', $('#upFile')[0].files[0]) //把file添加进去  name命名为img
+        layer.load(); //上传loading
+        $.ajax({
+            url: Feng.ctxPath + '/mgr/uploadFile',
+            data: formData,
+            type: "POST",
+            async: true,
+            cache: false,
+            contentType: false,
+            processData: false,
+            success: function(res) {
+                layer.closeAll('loading'); //关闭loading
+                $('#upFile').val('');
+                $('#courseVideo').val(res);
+            }
+        })
+    });
 });

--
Gitblit v1.7.1