north 7 tahun lalu
induk
melakukan
ca28700c58

+ 33 - 6
www/protected/controllers/HouseKeepingController.php

@@ -12,11 +12,16 @@ class HouseKeepingController extends AdminController
     public function actionIndex()
     {
         $status_option = CommonFn::getComboboxData(HouseKeeping::$status_option, 1, true, 100);
-        $type_option = CommonFn::getComboboxData(HouseKeeping::$status_option, 1, true, 100);
-        $cart_options = CommonFn::getComboboxData(HouseKeeping::$status_option, 1, true, 100);
-        $status_option = CommonFn::getComboboxData(HouseKeeping::$status_option, 1, true, 100);
+        $type_option = CommonFn::getComboboxData(HouseKeeping::$type_option, 1, true, 100);
+        $cart_options = CommonFn::getComboboxData(HouseKeeping::$cart_options, 1, true, 100);
+        $skill_options = CommonFn::getComboboxData(HouseKeeping::$skill_options, 1, true, 100);
+        $contract_option = CommonFn::getComboboxData(HouseKeeping::$contract_option, 1, true, 100);
         $this->render('index', [
-            'status_option' => $status_option
+            'status_option' => $status_option,
+            'type_option' => $type_option,
+            'cart_options' => $cart_options,
+            'skill_options' => $skill_options,
+            'contract_option' => $contract_option,
         ]);
     }
 
@@ -38,9 +43,9 @@ class HouseKeepingController extends AdminController
             $criteria->status('==', $status);
         }
 
-        $cursor = Advisory::model()->findAll($criteria);
+        $cursor = HouseKeeping::model()->findAll($criteria);
         $rows = CommonFn::getRowsFromCursor($cursor);
-        $parsedRows = Advisory::model()->parse($rows);
+        $parsedRows = HouseKeeping::model()->parse($rows);
         $total = $cursor->count();
 
         echo CommonFn::composeDatagridData($parsedRows, $total);
@@ -66,4 +71,26 @@ class HouseKeepingController extends AdminController
 
     }
 
+    public function actionAdd()
+    {
+        $h = new HouseKeeping();
+        $h->user_name = '1';
+        $h->mobile = '15600266816';
+        $h->type = 1;
+        $h->cart = 1;
+        $h->address = '1dsfafsdf';
+        $h->server_start_time = time();
+        $h->server_end_time = time();
+        $h->skill = 1;
+        $h->yc_time = time();
+        $h->age = 18;
+        $h->desc = 'fasdf1';
+        $h->status = 1;
+        $h->status_time = time();
+        $h->tech = '12asdf';
+        $h->contract = 1;
+        $h->time = time();
+        $h->save();
+    }
+
 }

TEMPAT SAMPAH
www/protected/modules/moonclub/controllers/1.xlsx


+ 47 - 0
www/protected/modules/moonclub/controllers/POrderController.php

@@ -296,4 +296,51 @@ class POrderController extends AdminController
         $res=Service::factory('ExcelToArrayService')->push($data,$name,'total');
         echo "导出成功";
     }
+
+    public function actionImportExcel()
+    {
+        $excelFile = __DIR__.'/1.xlsx';//获取文件名
+        Yii::$enableIncludePath = false;
+        Yii::import('application.extensions.PHPExcel.PHPExcel', 1);
+        $phpexcel = new PHPExcel;
+        $excelReader = PHPExcel_IOFactory::createReader('Excel2007');
+        $phpexcel = $excelReader->load($excelFile)->getSheet(0);//载入文件并获取第一个sheet
+
+        $total_line = $phpexcel->getHighestRow();
+        $total_column = $phpexcel->getHighestColumn();
+
+        for ($row = 2; $row <= $total_line; $row++) {
+            $data = array();
+            for ($column = 'A'; $column <= $total_column; $column++) {
+                $data[] = trim($phpexcel->getCell($column . $row)->getValue());
+            }
+            var_dump($data);
+            echo '<br/>';
+            $order = new POrder();
+
+            $criteria = new EMongoCriteria();
+
+            $criteria->user_name('==',$service_employer);
+            $userInfo = Employe::model()->find($criteria);
+            //获取服务人员信息
+            if ($userInfo) {
+                $order->service_employer = $userInfo->_id;//服务人员Id
+            } else {
+                CommonFn::requestAjax(false, '服务人员信息不存在');exit;
+            }
+
+            $order->order_time = intval($order_time);//服务日期
+            $order->address['floor'] = $floor;//楼号
+            $order->address['room'] = $room;//房号
+            $order->service_standards = $package;//服务标准
+            $order->status = 0;//已派单
+            $order->in_room_time = 0;
+            $order->out_room_time = 0;
+
+            $result = $order->save();
+        }
+
+
+    }
+
 }

TEMPAT SAMPAH
www/protected/modules/moonclub/controllers/~$1.xlsx


+ 2 - 0
www/protected/modules/o2o/models/HouseKeeping.php

@@ -11,6 +11,7 @@
  {
      public $_id;
      public $user_id;
+     public $user_name;
      public $mobile;//手机号
      public $address;//服务地址
      public $type;//服务类型 0-钟点工;1-月嫂;2-育婴师;3-护理老人;4-全套家务
@@ -92,6 +93,7 @@
          $newRow['id'] = (string)$row['_id'];
 
          $newRow['user_id'] = CommonFn::get_val_if_isset($row,'user_id','');
+         $newRow['user_name'] = CommonFn::get_val_if_isset($row,'user_name','');
          $newRow['mobile'] = CommonFn::get_val_if_isset($row,'mobile','');
          $newRow['address'] = CommonFn::get_val_if_isset($row,'address','');
          $newRow['type'] = CommonFn::get_val_if_isset($row,'type','');

+ 568 - 0
www/protected/views/houseKeeping/index.php

@@ -0,0 +1,568 @@
+<style>
+  .f_label {width: 90px;}
+  .accordion-body {padding: 0;}
+  #view_select_position {
+    display:inline-block;
+    padding:1px 4px 1px 4px;
+    border:1px solid #999999;
+    text-decoration:none;
+    color:#333333;
+  }
+</style>
+
+<div id="main">
+  <div region="west" border="false" id="west_panel">
+    <table id="dg_content"></table>
+    <div id="tb_content">
+
+      <div class="tb_line">
+        <span class="tb_label">状态: </span>
+        <input id="filter_status" />
+
+      </div>
+
+
+    </div>
+  </div>
+  <div id="acc_container" class="accordion" region="center" >
+    <div region="center" title="预约详细信息" data-options="iconCls:'icon-save',selected:true">
+      <div class="easyui-layout detail_layout">
+        <div data-options="region:'center'" class="detail_center">
+          <div class="detail_main">
+            <form id="content_form" method="post">
+              <ul>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>ID: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input type="hidden" name="id" id="id"/>
+                      <span id="id_str"></span>
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>姓名: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <!--                                            <input type="text" name="mobile" id="edit_denomination" value='' />-->
+                      <span id="user_name"></span>
+                    </div>
+                  </div>
+                </li>
+
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>联系方式: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <!--                                            <input type="text" name="mobile" id="edit_denomination" value='' />-->
+                      <span id="mobile"></span>
+                    </div>
+                  </div>
+                </li>
+
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>地址: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <span id="address"></span>
+                      <!--                                            <textarea name="area" id="area" style="width: 250px;min-height: 100px"></textarea>-->
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>预约状态:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="setStatus" name="status" />
+                    </div>
+                  </div>
+                </li>
+
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>签约状态:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="setContract" name="contract" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>服务类型:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="type" name="type" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>服务形式:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="cart" name="cart" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>技能:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="skill" name="skill" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>年龄:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="age" name="age" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>服务人员:</span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="tech" name="tech" />
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>备注:</span>
+                    </div>
+                    <area class="box_flex f_content">
+                    <textarea id="desc" name="desc"></textarea>
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>服务开始时间: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="server_start_time" type="text" name="server_start_time">
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>服务结束时间: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="server_end_time" type="text" name="server_end_time">
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                      <span>预产期: </span>
+                    </div>
+                    <div class="box_flex f_content">
+                      <input id="yc_time" type="text" name="yc_time" >
+                    </div>
+                  </div>
+                </li>
+                <li class="f_item">
+                  <div class="box">
+                    <div class="f_label">
+                    </div>
+                    <div class="box_flex f_content">
+                      <span id="action_info" style="color:green;"></span>
+                    </div>
+                  </div>
+                </li>
+
+              </ul>
+            </form>
+          </div>
+          <div data-options="region:'south'" class="detail_south">
+            <div class="detail_toolbar">
+              <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="save_content();return false;">保存</a>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+<div style="display:none;">
+  <div id="refund_tip_dialog" style="padding: 30px 0;">
+    <div style="text-align:center;"><span id="refund_tip"></span></div>
+  </div>
+</div>
+<script language="javascript" type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/coolautosuggest/jquery.coolautosuggest.js"></script>
+<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/coolautosuggest/jquery.coolautosuggest.css" />
+<script type="text/javascript">
+  var jq_dg_content = $('#dg_content');
+  var jq_content_form = $('#content_form');
+  var jq_filter_status = $('#filter_status');
+  var jq_setStatus_add = $('#setStatus_add');
+  var module_router = site_root + '/index.php?r=HouseKeeping';
+  var status_data = <?php echo json_encode($status_option); ?>;
+  var type_option = <?php echo json_encode($type_option); ?>;
+  var cart_options = <?php echo json_encode($cart_options); ?>;
+  var skill_options = <?php echo json_encode($skill_options); ?>;
+  var contract_option = <?php echo json_encode($contract_option); ?>;
+  var jq_setStatus = $('#setStatus');
+  var jq_setContract = $('#setContract');
+  var jq_type = $('#type');
+  var jq_cart = $('#cart');
+  var jq_skill = $('#skill');
+  var w_width = $(window).width();
+  var w_height = $(window).height();
+  var jq_ss = $('#ss');
+  var jq_action_info = $('#action_info');
+
+  var jq_add_dialog = $('#add_dialog');
+  var jq_add_form = $('#add_form');
+
+
+  var jq_set_precedence = $('#set_precedence');
+
+
+  var jq_acc = $('#acc_container');
+
+  $(function(){
+
+    jq_acc.accordion({
+      height: w_height - 18,
+      onSelect: function(title) {
+
+      }
+    });
+    $('#server_start_time').datetimebox({
+      required: false,
+      showSeconds:false,
+    });
+    $('#server_end_time').datetimebox({
+      required: false,
+      showSeconds:false,
+    });
+    $('#yc_time').datetimebox({
+      required: false,
+      showSeconds:false,
+    });
+
+
+
+    var buttons = $.extend([], $.fn.datebox.defaults.buttons);
+    buttons[0].text = '确定';
+
+    jq_setStatus.combobox({
+      editable: false,
+      data: status_data
+    });
+
+
+    jq_setStatus_add.combobox({
+      editable: false,
+      data: (function () {
+        var status_data_temp = new Array();
+        $.extend(status_data_temp, status_data);
+        status_data_temp.shift();
+
+        return status_data_temp;
+      })()
+    });
+
+
+
+
+
+
+
+    var p_width = parseInt(w_width / 2);
+    if (p_width < 520){
+      p_width = 520;
+    }
+    var d_width = p_width - 10;
+    $('#west_panel').css({width : p_width});
+    $('#main').css({width: w_width - 25, height: w_height - 18}).layout();
+
+    jq_ss.searchbox({
+      width: 130,
+      searcher:function(value){
+        search_content();
+      },
+      prompt: '请输入关键字'
+    });
+
+    jq_setStatus.combobox({
+      editable: false,
+      data: status_data
+    });
+    jq_setContract.combobox({
+      editable: false,
+      data: contract_option
+    });
+    jq_type.combobox({
+      editable: false,
+      data: type_option
+    });
+    jq_cart.combobox({
+          editable: false,
+          data: cart_options
+    });
+    jq_skill.combobox({
+          editable: false,
+          data: skill_options
+    });
+
+
+    jq_dg_content.datagrid({
+      url: module_router + '/list',
+      title: '预约列表',
+      width: d_width,
+      height: w_height - 18,
+      fitColumns: true,
+      autoRowHeight: true,
+      striped: true,
+      toolbar: '#tb_content',
+      singleSelect: true,
+      selectOnCheck: false,
+      checkOnSelect: false,
+      rowStyler: function(index,row){
+        if (row.status==1){
+          //return 'color:red;';
+        }else if(row.status==-3){
+          return 'color:green;';
+        }
+      },
+      pagination: true,
+      pageList: [20, 30, 50],
+      pageSize: 20,
+      nowrap: false,
+      idField: 'id',
+      sortName: 'order_time',
+      sortOrder: 'desc',
+      queryParams: get_param_obj(),
+      frozenColumns:[[
+        {field:'ck',checkbox:true}
+      ]],
+      columns:[[
+        {field:'user_name', title:'姓名', width:25,sortable:false},
+        {field:'mobile', title:'联系方式', width:50, sortable: true},
+        {field:'address', title:'地址', width:50, sortable: false},
+        {field:'status_str', title:'预约状态', width:50, sortable: true},
+        {field:'contract_str', title:'签约状态', width:50, sortable: true},
+        {field:'type_str', title:'服务类型', width:50, sortable: true},
+        {field:'cart_str', title:'服务形式', width:50, sortable: true},
+        {field:'skill_str', title:'技能', width:50, sortable: true},
+        {field:'age', title:'年龄', width:50, sortable: true},
+        {field:'desc', title:'备注', width:50, sortable: true},
+        {field:'tech', title:'服务人员', width:50, sortable: true},
+        {field:'server_start_time', title:'服务开始时间', width:70,sortable:true,formatter: function(value, row){
+          var now=new Date(value*1000);
+
+          var   month=now.getMonth()+1;
+          var   date=now.getDate();
+          var   hour = now.getHours();
+          return   month+"月"+date+"日"+hour+":00";
+        }
+        },
+        {field:'server_end_time', title:'服务结束时间', width:70,sortable:true,formatter: function(value, row){
+          var now=new Date(value*1000);
+
+          var   month=now.getMonth()+1;
+          var   date=now.getDate();
+          var   hour = now.getHours();
+          return   month+"月"+date+"日"+hour+":00";
+        }
+        },
+        {field:'time', title:'创建时间', width:70,sortable:true,formatter: function(value, row){
+          var now=new Date(value*1000);
+
+          var   month=now.getMonth()+1;
+          var   date=now.getDate();
+          var   hour = now.getHours();
+          return   month+"月"+date+"日"+hour+":00";
+        }
+        },
+        {field:'yc_time', title:'预产期', width:70,sortable:true,formatter: function(value, row){
+          var now=new Date(value*1000);
+
+          var   month=now.getMonth()+1;
+          var   date=now.getDate();
+          var   hour = now.getHours();
+          return   month+"月"+date+"日"+hour+":00";
+        }
+        },
+      ]],
+
+      onSelect: function(index, row){
+        var data = $.extend({}, row);
+        $('#id_str').html(data.id);
+        $('#id').html(data.id);
+        $('#user_name').html(data.user_name);
+        $('#server_start_time').datetimebox('setValue', parse_time(data,'server_start_time'));
+        $('#server_end_time').datetimebox('setValue', parse_time(data,'server_end_time'));
+        $('#yc_time').datetimebox('setValue', parse_time(data,'yc_time'));
+        $('#mobile').html(data.mobile);
+        $('#address').html(data.address);
+        $('#age').val(data.age);
+        $('#tech').val(data.tech);
+        $('#desc').val(data.desc);
+        console.log(data)
+        jq_content_form.form('load', data);
+        $('#admins_edit_info').html('');
+        if (data['action_user'] != ''){
+          jq_action_info.html('信息已被编辑: ' + data['action_user'] + ' ' + data['action_time']);
+        } else {
+          jq_action_info.html('');
+        }
+
+      }
+
+    });
+
+    jq_filter_status.combobox({
+      width: 100,
+      data: status_data,
+      editable: false,
+      onSelect: function(){
+        search_content();
+      }
+    });
+
+
+
+
+    jq_content_form.form({
+      url: module_router + '/edit',
+      onSubmit: function(param){
+        if ($('#order_id').val() == ""){
+          return false;
+        }
+        var isValid = $(this).form('validate');
+        if (!isValid){
+          $.messager.progress('close');
+        }
+        return isValid;
+      },
+      success: function(res){
+        $.messager.progress('close');
+        var res = JSON.parse(res);
+
+        if (res.success){
+          jq_dg_content.datagrid('reload');
+        }
+        if(res.success){
+          $.messager.show({
+            title: '提示',
+            msg: '保存成功',
+            timeout: 3500,
+            showType: 'slide'
+          });
+
+          $('#technician_id').val(0);
+        }else{
+          $.messager.show({
+            title: '提示',
+            msg: res.message,
+            timeout: 3500,
+            showType: 'slide'
+          });
+        }
+      }
+    });
+
+    jq_add_form.form({
+      url : module_router + '/add',
+      onSubmit : function (param) {
+        var isValid = $(this).form('validate');
+        if (!isValid){
+          $.messager.progress('close');
+        }
+        return isValid;
+      },
+      success : function (res) {
+        $.messager.progress('close');
+        var res = JSON.parse(res);
+
+        if (res.success) {
+          $.messager.show({
+            title : '提示',
+            msg : '保存成功',
+            timeout : 3500,
+            showType : 'slide'
+          });
+          jq_add_dialog.dialog('close');
+          jq_dg_content.datagrid('reload');
+        } else {
+          $.messager.show({
+            title : '提示',
+            msg : res.message,
+            timeout : 3500,
+            showType : 'slide'
+          });
+        }
+      }
+    });
+
+
+  });
+
+  function save_content(){
+    if ($('#recharge_id').val() == ""){
+      return false;
+    }
+    $.messager.progress();
+    jq_content_form.submit();
+  }
+  function search_content(){
+
+    var filter_status = jq_filter_status.combobox('getValue');
+
+    jq_dg_content.datagrid({
+      pageNum: 1,
+      queryParams: {
+        status : filter_status
+      }
+    });
+
+  };
+  function parse_time(data,attr){
+    if(data[attr]){
+      var d=new Date(data[attr]*1000);
+      return formatDate(d);
+    }else{
+      return '';
+    }
+  }
+  function   formatDate(now){
+    var   year=now.getFullYear();
+    var   month=now.getMonth()+1;
+    var   date=now.getDate();
+    var  hour = now.getHours();
+    var  minute = now.getMinutes();
+    return   year+"-"+month+"-"+date+" "+hour+":"+minute;
+  }
+
+
+</script>

+ 0 - 5
www/protected/views/rOrder/index.php

@@ -781,11 +781,6 @@ $('#order_time_add').datetimebox({
 $('#deal_time').datetimebox({
   required: false,
   showSeconds:false,
-  //buttons:buttons_deal,
-  // onSelect: function(date){
-  //     console.log(date);
-  //     $('#deal_time_str').val(date.getTime()/1000);
-  // }
 });
 
 $('#main_products').combobox({