Commit f65f4c8f by shz

plugins tospur

parent ba8dedff
......@@ -2,6 +2,7 @@
require_once(PLUGIN_DIR . 'Dao/ContractDao.php');
require_once(PLUGIN_DIR . 'Dao/SearchDao.php');
require_once(PLUGIN_DIR . 'Dao/HouseDao.php');
require_once(PLUGIN_DIR . 'Dao/CommissionDao.php');
class Contract {
public static function init_view(){
......@@ -11,11 +12,55 @@ class Contract {
$context['siteUrl'] = get_site_url();
$context['adminUrl'] = admin_url();
$context['city'] = SearchDao::searchCity();
$context['managers'] = get_users( 'role=editor' );
$context['managers'] = get_users( 'role=jl' );
$context['status'] = SearchDao::searchStatusType(4);
$context['buildProperty'] = SearchDao::searchBuildProperty();
$context['room'] = SearchDao::searchRoom();
if($type==1){
$wpdb->query("START TRANSACTION");
$prefix = "新增";
if(isset($_REQUEST["id"])) {
$prefix = "修改";
}
$result = Contract::doSqlAction();
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
$context["error"] = $result;
echo $result;
echo $prefix."合同失败";
}else{
$wpdb->query("COMMIT");
echo $prefix."合同成功";
}
exit;
}else if(isset($_GET['edit'])){
$id = $_REQUEST["id"];
$context['result'] = ContractDao::searchContract($id);
$context["consultant"] = CommissionDao::search_commission_consultant($id);
$context["commission"] = CommissionDao::search_tospur_commission($id);
$commissionIds = array();
foreach($context["commission"] as $item){
$commissionIds[] = $item->id;
}
$context["commissionLog"] = CommissionDao::search_commission_log(implode(",",$commissionIds));
}
Timber::render("contract.html",$context);
}
private static function formatCommissionParams($params,$contractId,$type){
$commissionParams = array(
"accounts" => $params["accounts"],
"type" => $_REQUEST["businessType"],
"contractId" => $contractId,
"consultantId" => $params["consultantId"],
"ioType" => $type,
"mtime" => $params["mtime"]
);
return $commissionParams;
}
private static function doSqlAction(){
$params = array(
'signedDate' =>$_REQUEST['signedDate'],
'status' =>$_REQUEST['status'],
......@@ -37,22 +82,29 @@ class Contract {
'cMoney' =>$_REQUEST['cMoney'],
'cPayBack' =>$_REQUEST['cPayBack']
);
$wpdb->query("START TRANSACTION");
if($type==1){
$prefix = "新增";
$commissionType = array();
if(isset($_REQUEST["id"])){
$result = ContractDao::update($_REQUEST["id"],$params);
$prefix = "修改";
if(is_numeric($result)){
if(!is_numeric($result)){
return $result;
}
$status = 0;
if($params['status'] == 4) {
if($params['status'] == 4) {//作废
$status = 0;
}else if($params['status'] == 3){
}else if($params['status'] == 3){//成交
$status = 2;
$result = CustomerDao::updateCustomerStatue($_REQUEST['customerNumber'],1);
if(!is_numeric($result)){
return $result;
}
}
$result = HouseDao::updateStatus($status,$_REQUEST['id']);
if(!is_numeric($result)){
return $result;
}
$commissionType['buy'] = $_REQUEST['commissionId_buy'];
$commissionType['sell'] = $_REQUEST['commissionId_sell'];
}else{
$params['business'] = $_REQUEST['businessId'];
$params['houseNumber'] = $_REQUEST['houseNumber'];
......@@ -66,31 +118,56 @@ class Contract {
$params['consultantId'] = get_current_user_id();
$result = ContractDao::insert($params);
if(!is_numeric($result)){
return $result;
}
$pre = "CJCS";
if($_REQUEST['type'] > 1){
$pre = "CJCZ";
}
$contractId = $pre.str_pad($result,6,'0',STR_PAD_LEFT);
$result = ContractDao::setContractId($result,$contractId);
$contractNumber = $pre.str_pad($result,6,'0',STR_PAD_LEFT);
$contractId = $result;
$result = ContractDao::setContractId($result,$contractNumber);
if(!is_numeric($result)){
return $result;
}
//二手房、租房创建合同时修改房源的状态
if(intval($_REQUEST['businessId']) >=1 ){
$result = HouseDao::updateStatus(-1,$params['houseId']);
if(!is_numeric($result)){
return $result;
}
}
$buyCommissionParams = Contract::formatCommissionParams($_REQUEST['buy'],$contractId,0);
$result = CommissionDao::insert_touspur_commission($buyCommissionParams);
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
$context["error"] = $result;
echo $prefix."合同失败";
}else{
$wpdb->query("COMMIT");
echo $prefix."合同成功";
return $result;
}
exit;
}else if(isset($_GET['edit'])){
$id = $_REQUEST["id"];
$context['houseId'] = $id;
$context['result'] = ContractDao::searchContract($id);
$commissionType['buy'] = $result;
$sellCommissionParams = Contract::formatCommissionParams($_REQUEST['sell'],$contractId,1);
$result = CommissionDao::insert_touspur_commission($sellCommissionParams);
if(!is_numeric($result)){
return $result;
}
Timber::render("contract.html",$context);
$commissionType['sell'] = $result;
}
if(isset( $_POST["log"])) {
foreach ($_POST["log"] as $key => $value) {
$commissionId = $commissionType[$key];
foreach($value as $item){
$logParams = array(
"commissionId" => $commissionId,
"time" => $item["time"],
"paid" => $item["paid"]
);
$result = CommissionDao::insert_commission_log($logParams);
if(!is_numeric($result)){
return $result;
}
}
};
}
return $result;
}
}
\ No newline at end of file
......@@ -93,9 +93,9 @@ class Contract_List extends WP_List_Table{
left join tospur_status ts on ts.status_type = 4 and t.status = ts.status_id
where 1=1 ";
//置业顾问显示自己的合同
if(current_user_can("author")){
if(current_user_can("zygw")){
$sql .= " and t.consultantId = ".get_current_user_id();
}elseif(current_user_can("editor")){//经理显示提交给自己的合同,和自己的合同
}else if(current_user_can("htApproval")){//经理显示提交给自己的合同,和自己的合同
$sql .= " and (t.consultantId = ".get_current_user_id()." or t.managerId = ".get_current_user_id().")";
}
$sql .= " order by t.signedDate desc";
......
......@@ -35,13 +35,40 @@ class House extends Tospur_House{
'room_id' => $_POST['baseRoom'],
"location" => $_POST["location"],
"property_money" => $_POST["property_money"],
'community_name' => $_POST["community_name"],
'community_name' => $_POST["community_name"]
);
$wpdb->query("START TRANSACTION");
if(isset($_POST['houseId'])){
$insert_tospur_house_array['status'] = 0;
//首先判断是经理修改还是职业顾问做不同的操作,接着判断置业顾问是否修改了状态
if($_POST["userType"] == 0){
//经理
//通过
if($_POST["status"] != -2){
$insert_tospur_house_array["status"] =$_POST["status"];
$insert_tospur_house_array["approval"] = -2;
}else{
//退回
$insert_tospur_house_array["approval"] = $_POST["status"];
}
}else{
//置业顾问
$currentStatus = SearchDao::getDetailInfo($_POST["userType"]);
//修改了状态
if($currentStatus["result"]->status != $_POST["status"]){
$insert_tospur_house_array["approval"] = $_POST["status"];
}else {
//没有修改状态
//没有申请审批
if($currentStatus["result"]->approval == -2){
$insert_tospur_house_array["approval"] = $currentStatus["result"]->status;
}else{
//申请了审批,没有修改状态,approval保持原来的
$insert_tospur_house_array["approval"] = $currentStatus["result"]->approval;
}
}
}
$result = House::data_update($_POST['houseId'],$insert_tospur_house_array);
if($result != 203){
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
print_r($result);
echo "新房房源修改失败";
......@@ -50,11 +77,12 @@ class House extends Tospur_House{
echo "新房房源修改成功";
}
}else{
$insert_tospur_house_array['status'] = $_POST['status'];
$insert_tospur_house_array["status"] = 0;
$insert_tospur_house_array["approval"] = 1;
$result = House::data_insert($insert_tospur_house_array);
if($result != 200){
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
print_r($result);;
print_r($result);
echo "新增房源失败";
}else{
$wpdb->query("COMMIT");
......@@ -68,9 +96,9 @@ class House extends Tospur_House{
$context["district"] = SearchDao::searchCity($context['result']->city_id);
$context["plate"] = SearchDao::searchCity($context['result']->city_id,$context['result']->district_id);
$context["mark"] = SearchDao::searchHouseTag($_GET['id']);
$context["searchStatus"] = SearchDao::searchStatus($_GET['id'],1);
$context["status"] = searchDao::searchStatusType(1);
}
$context['role'] = House::getCurrentRole();
$context['canApproval'] = House::canApproval();
$context["city"] = SearchDao::searchCity();
$context["buildProperty"] = SearchDao::searchBuildProperty();
$context["room"] = SearchDao::searchRoom();
......@@ -82,8 +110,7 @@ class House extends Tospur_House{
public static function data_update($houseId,$insert_tospur_house_array){
global $wpdb;
$data = $_POST["data"];
$wpdb->update(Config::TOSPUR_HOUSE_TABLE,$insert_tospur_house_array,array("id" => $houseId));
$result = 203;
$result = $wpdb->update(Config::TOSPUR_HOUSE_TABLE,$insert_tospur_house_array,array("id" => $houseId));
$exist_ids = array();
if(isset($_POST['exists'])){
foreach($_POST['exists'] as $id => $item){
......@@ -122,19 +149,19 @@ class House extends Tospur_House{
$wpdb->query("delete from ".Config::A_HOUSE_IMAGE_TABLE." where house_id = {$houseId} and image_id in ({$delete_photo_ids});");
$wpdb->delete(Config::A_HOUSE_RECOMMEND_TABLE,array("house_id" => $houseId));
$res = InsertDao::addRecommend($houseId,$data);
if($res == 504){
$result = $res;
echo "推荐房源修改失败";
$result = InsertDao::addRecommend($houseId,$data);
if(!is_numeric($result)){
return $result;
}
$wpdb->delete(Config::A_HOUSE_USER_TABLE,array("house_id" => $houseId));
$res = InsertDao::addRecConsultant($houseId, $data['recConsultant']);
if($res == 505){
$result = $res;
echo "推荐置业顾问修改失败";
$result = InsertDao::addRecConsultant($houseId, $data['recConsultant']);
if(!is_numeric($result)){
return $result;
}
InsertDao::addHouseTag($_POST['mark'],$houseId);
InsertDao::addHouseTag($houseId, $data['houseTag']);
CustomerTrackingDao::insert($houseId, $_REQUEST);
return $result;
}
......@@ -149,19 +176,31 @@ class House extends Tospur_House{
$res = $wpdb->get_results('SELECT * FROM tospur_house WHERE name="' . $_POST['housename'] . '" and address="' . $_POST['address'] . '" and house_type=0', OBJECT);
if (!$res) {
$houseId = InsertDao::insert_tospur_house($params);
if(is_numeric($houseId)){
$mainImageRes = InsertDao::addMainImage($houseId,$data);
InsertDao::addMainImage($houseId,$data);
$recommendRes = InsertDao::addRecommend($houseId,$data);
InsertDao::addRecommend($houseId,$data);
$recConsultantRes = InsertDao::addRecConsultant($houseId, $data['recConsultant']);
InsertDao::addRecConsultant($houseId, $data['recConsultant']);
InsertDao::addHouseTag($houseId, $data['houseTag']);
InsertDao::addHouseTag($_POST['mark'],$houseId);
$customerTrackRes = CustomerTrackingDao::insert($houseId, $_REQUEST);
if(!is_numeric($mainImageRes)){
return $mainImageRes;
}else if(!is_numeric($recommendRes)){
return $recommendRes;
}else if(!is_numeric($recConsultantRes)){
return $recConsultantRes;
}else if(is_numeric($customerTrackRes)){
return $customerTrackRes;
}
}
return $houseId;
}else{
return 506;
return "房源已存在";
}
return 200;
}
}
\ No newline at end of file
<?php
if (!class_exists('WP_List_Table')) {
require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
}
class QuotaMonthList extends WP_List_Table{
function column_default($item, $column_name)
{
switch($column_name){
case "quota":
return "<input type='text' name='".$item["id"]."' value='".$item["quota"]."'><button type='button' class='button action'>修改</button>";
break;
default:
return $item[$column_name];
}
}
function get_columns()
{
$columns['year'] = '年份';
$columns['month'] = '月份';
$columns['name'] = '姓名';
$columns['quota'] = '目标业绩';
return $columns;
}
function get_views(){
global $wpdb;
$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
$current_url = remove_query_arg( array( 'paged','type'), $current_url );
$sql = "select COUNT(*) as totle,COUNT(NULLIF(quota is not null, false)) as isset,COUNT(NULLIF(quota is null, false)) as unset from ".Config::TOSPUR_CONSULTANT." tc
left join ".Config::TOSPUR_QUOTA_TABLE." tq on tq.consultantId = tc.id and tq.year = %d and tq.month = %d
where subsidiaryId = %d";
$result = $wpdb->get_row($wpdb->prepare($sql,$_REQUEST["year"],$_REQUEST["month"],$_REQUEST["oid"]));
return array(
"all" => '<a href="'.$current_url.'"'.(isset($_REQUEST["type"])?"":'class="current"').'>全部<span class="count">('.$result->totle.')</span></a>',
"isset" => '<a href="'.$current_url.'&type=2" '.($_REQUEST["type"]==2?'class="current"':"").'>已设置业绩<span class="count">('.$result->isset.')</span></a>',
"unset" => '<a href="'.$current_url.'&type=1" '.($_REQUEST["type"]==1?'class="current"':"").'>未设置业绩<span class="count">('.$result->unset.')</span></a>'
);
}
function prepare_items()
{
global $wpdb;
$per_page = 20;
$columns = $this->get_columns();
$hidden = array();
$this->_column_headers = array($columns, $hidden);
$data = array();
if(isset($_REQUEST["year"]) && isset($_REQUEST["month"]) && isset($_REQUEST["oid"])){
$sql = "select tc.id,name,IFNULL(quota,0) as quota from ".Config::TOSPUR_CONSULTANT." tc
left join ".Config::TOSPUR_QUOTA_TABLE." tq on tq.consultantId = tc.id and tq.year = %d and tq.month = %d
where subsidiaryId = %d";
if(isset($_REQUEST['type'])){
$type = $_REQUEST['type'];
$sql .= " and quota is";
if($type == 2){
$sql .= " not";
}
$sql .=" null";
}
$result = $wpdb->get_results($wpdb->prepare($sql,$_REQUEST["year"],$_REQUEST["month"],$_REQUEST["oid"]));
foreach($result as $key => $value){
$data[$key] = array(
'id' => $value->id,
'year' => $_REQUEST["year"],
'month' => $_REQUEST["month"],
'name' => $value->name,
'quota' => $value->quota
);
}
}
$current_page = $this->get_pagenum();
$total_items = count($data);
$data = array_slice($data, (($current_page - 1) * $per_page), $per_page);
$this->items = $data;
$this->set_pagination_args(array(
'total_items' => $total_items, //WE have to calculate the total number of items
'per_page' => $per_page, //WE have to determine how many items to show on a page
'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages
));
}
public static function replaceQuota(){
$result = QuotaDao::replace($_REQUEST["year"],$_REQUEST["month"],$_REQUEST["id"],$_REQUEST["price"]);
$res = array(
"code"=>200,
"msg"=>$result
);
if(!is_numeric($result)){
$res["code"] = 500;
}
wp_send_json($res);
}
}
\ No newline at end of file
<?php
if (!class_exists('WP_List_Table')) {
require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
}
class QuotaYearList extends WP_List_Table
{
function __construct()
{
}
function column_default($item, $column_name)
{
return '<a href="' . admin_url('admin.php?page=quotaList&edit=true&year='. $item['year'] .'&month=' . $item['month'] . '&oid='. $item['oid']) .'&name='. $item['name'] .'">' . $item[$column_name] . '</a>';
}
function get_columns()
{
$columns['year'] = '年份';
$columns['month'] = '月份';
$columns['name'] = '分店名';
$columns['totle'] = '分店总目标';
return $columns;
}
function prepare_items()
{
global $wpdb;
$per_page = 12;
$columns = $this->get_columns();
$hidden = array();
$this->_column_headers = array($columns, $hidden);
$data = array();
if(isset($_REQUEST["year"]) && isset($_REQUEST["organization"])){
$sql = "select *, month,sum(quota) as quota from ".Config::TOSPUR_QUOTA_TABLE." where consultantId in(select id from ".Config::TOSPUR_CONSULTANT."
where subsidiaryId = %d) and year = %d group by year,month;";
$result = $wpdb->get_results($wpdb->prepare($sql,$_REQUEST["organization"],$_REQUEST["year"]));
$name = $wpdb->get_var($wpdb->prepare("select Name from tospur_organization where id = %d;",$_REQUEST["organization"]));
$j = 0;
for($i = 1;$i<=12;$i++){
$item = $result[$j];
$totle = 0;
if($item->month==$i){
$totle = $item->quota;
$j++;
}
$data[$i] = array(
'oid' => $_REQUEST["organization"],
'year' => $_REQUEST["year"],
'month' => $i,
'name' => $name,
'totle' => $totle."元"
);
}
}
$current_page = $this->get_pagenum();
$total_items = count($data);
$data = array_slice($data, (($current_page - 1) * $per_page), $per_page);
$this->items = $data;
$this->set_pagination_args(array(
'total_items' => $total_items, //WE have to calculate the total number of items
'per_page' => $per_page, //WE have to determine how many items to show on a page
'total_pages' => 1 //WE have to calculate the total number of pages
));
}
function showHtml(){
$context = array();
$context['req'] = $_REQUEST;
if(isset($_REQUEST['edit'])){
$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
$current_url = remove_query_arg( array( 'paged'), $current_url );
$context['current_url'] = $current_url;
Timber::render("quotaMonthList.html",$context);
}else{
Timber::render("quotaYearList.html",$context);
}
}
function displayMonthTable(){
$_SERVER['REQUEST_URI'] = remove_query_arg( '_wp_http_referer', $_SERVER['REQUEST_URI'] );
$quotaMonthList = new QuotaMonthList();
$quotaMonthList->prepare_items();
$quotaMonthList->views();
$quotaMonthList->display();
}
function displayYearTable()
{
$_SERVER['REQUEST_URI'] = remove_query_arg( '_wp_http_referer', $_SERVER['REQUEST_URI'] );
$quotaYearList = new QuotaYearList();
$quotaYearList->prepare_items();
$quotaYearList->display();
}
}
\ No newline at end of file
<?php
class Tospur_House{
public static function canApproval(){
return current_user_can("houseApproval");
}
public static function getCurrentRole(){
$current_user = wp_get_current_user();
if ( !($current_user instanceof WP_User) )
......
<?php
if (!class_exists('WP_List_Table')) {
require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
}
class commissionList extends WP_List_Table
{
function __construct()
{
}
public function print_column_headers()
{
echo '<th rowspan="2">部门</th>';
echo '<th rowspan="2">员工</th>';
echo '<th colspan="2">目标业绩</th>';
echo '<th colspan="3">应收业绩</th>';
echo '<th colspan="3">实收业绩</th>';
echo '<th colspan="3">前期未收</th>';
echo '<th rowspan="2">到职日期</th>';
echo '</tr>';
echo '<tr>';
echo '<th>金额(万)</th>';
echo '<th>达成率%</th>';
echo '<th>买卖</th>';
echo '<th>租赁</th>';
echo '<th>合计</th>';
echo '<th>买卖</th>';
echo '<th>租赁</th>';
echo '<th>合计</th>';
echo '<th>买卖</th>';
echo '<th>租赁</th>';
echo '<th>合计</th>';
}
function column_default($item, $column_name)
{
switch ($column_name) {
default:
return $item[$column_name];
}
}
function get_columns()
{
$columns['organization_name'] = '部门';
$columns['consultant_name'] = '员工';
$columns['target_amount'] = '金额(万)';
$columns['achieving_rate'] = '达成率%';
$columns['business'] = '应收业绩买卖';
$columns['lease'] = '应收业绩租赁';
$columns['accounts'] = '应收业绩合计';
$columns['businessPaid'] = '实收业绩买卖';
$columns['leasePaid'] = '实收业绩租赁';
$columns['paid'] = '实收业绩合计';
$columns['unBusinessPaid'] = '前期未收买卖';
$columns['unLeasePaid'] = '实收业绩租赁';
$columns['unPaid'] = '前期未收租赁';
$columns['entry_time'] = '到职日期';
return $columns;
}
function prepare_items()
{
global $wpdb;
$per_page = 10;
$columns = $this->get_columns();
$hidden = array();
$this->_column_headers = array($columns, $hidden);
$year = date('Y');
$month = null;
if (isset($_REQUEST['year']) && $_REQUEST['year'] != -1) {
$year = $_REQUEST['year'];
if (isset($_REQUEST['month']) && $_REQUEST['month'] != -1) {
$month = $_REQUEST['month'];
}
}
$commission_time_sql = " where time >= '" . $year . "-1-1' and time < DATE_SUB('" . $year . "-1-1', INTERVAL -1 YEAR)";
$quota_time_sql = " where year = " . $year;
if ($month != null) {
$quota_time_sql .= " and month = " . $month;
$commission_time_sql = " where time >= '" . $year . "-" . $month . "-1' and time < DATE_SUB('" . $year . "-" . $month . "-1', INTERVAL -1 MONTH)";
}
$sql = "select *,(accounts-paid) as unPaid," .
"(business-businessPaid) as unBusinessPaid," .
"(lease-leasePaid) as unLeasePaid" .
" from (select consultantId,sum(accounts) as accounts,sum(case when t1.type = 0 then accounts else 0 end) business," .
"sum(case when t1.type = 1 then accounts else 0 end) lease from (select consultantId,accounts,tcn.type from tospur_commission tcn" .
" left join tospur_commission_log tcl on tcl.commissionId = tcn.id" .
$commission_time_sql . " group by consultantId ) t1 group by consultantId) should" .
" left join (select consultantId,sum(paid) as paid,sum(case when tcn.type = 0 then paid else 0 end) businessPaid," .
"sum(case when tcn.type = 1 then paid else 0 end) leasePaid from tospur_commission tcn" .
" left join tospur_commission_log tcl on tcl.commissionId = tcn.id" .
$commission_time_sql .
" group by consultantId) actual on actual.consultantId = should.consultantId" .
" left join (select id as consultantId,name as consultant_name,time as entry_time,subsidiaryId from tospur_consultant) tc" .
" on tc.consultantId = should.consultantId" .
" left join (select id as organization_id,name as organization_name from tospur_organization) torg on torg.organization_id = tc.subsidiaryId";
$sql .= " left join (select consultantId,sum(quota) as target_amount from tospur_quota" .
$quota_time_sql .
" group by consultantId) tq on tq.consultantId = should.consultantId where 1 = 1";
if (isset($_REQUEST['organization']) && $_REQUEST['organization'] != -1) {
$sql = $sql . " and torg.organization_id = " . $_REQUEST['organization'];
}
if (isset($_REQUEST['search_consultant_name']) && $_REQUEST['search_consultant_name'] != null) {
$sql = $sql . " and tc.consultant_name like '%" . $_REQUEST['search_consultant_name'] . "%'";
}
$result = $wpdb->get_results($sql);
$data = array();
foreach ($result as $key => $value) {
$target_amount = 0;
$achieving_rate = 0;
if ($value->target_amount) {
$target_amount = $value->target_amount;
$achieving_rate = round((($value->paid) / $target_amount) * 100, 2);
}
$data[$key] = array(
'organization_name' => $value->organization_name,
'consultant_name' => $value->consultant_name,
'target_amount' => round($target_amount / 10000, 2),
'achieving_rate' => $achieving_rate . '%',
'business' => round($value->business / 10000, 2),
'lease' => round($value->lease / 10000, 2),
'accounts' => round($value->accounts / 10000, 2),
'businessPaid' => round($value->businessPaid / 10000, 2),
'leasePaid' => round($value->leasePaid / 10000, 2),
'paid' => round($value->paid / 10000, 2),
'unBusinessPaid' => round($value->unBusinessPaid / 10000, 2),
'unLeasePaid' => round($value->unLeasePaid / 10000, 2),
'unPaid' => round($value->unPaid / 10000, 2),
'entry_time' => $value->entry_time
);
}
$current_page = $this->get_pagenum();
$total_items = count($data);
$total_pages = ceil($total_items / $per_page);
if ($_REQUEST['paged'] > $total_pages) {
$current_page = $total_pages;
}
$data = array_slice($data, (($current_page - 1) * $per_page), $per_page);
$this->items = $data;
$this->set_pagination_args(array(
'total_items' => $total_items, //WE have to calculate the total number of items
'per_page' => $per_page, //WE have to determine how many items to show on a page
'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages
));
}
}
function function_commissionList()
{
$context = array();
$context['req'] = $_REQUEST;
$context['year'] = date('Y');
Timber::render("commissionList.html", $context);
}
function addCommissionTable()
{
$_SERVER['REQUEST_URI'] = remove_query_arg('_wp_http_referer', $_SERVER['REQUEST_URI']);
$commissionList = new commissionList();
$commissionList->prepare_items();
$commissionList->display();
}
?>
<?php
class commissionManage{
function commissionManage_html(){
require_once(PLUGIN_DIR . 'Dao/CommissionDao.php');
class CommissionManage{
public static function commissionManage_html(){
global $wpdb;
$context = array();
$type = $_POST["type"];
if($type == 4){
$commissionParams = array(
"intent" => $_POST["intent"],
"accounts" => $_POST["accounts"],
"type" => $_POST["businessType"],
"contractId" => 1
);
$wpdb->query("START TRANSACTION");
if(isset($_POST['contractId'])){
$res = CommissionManage::commission_update($_POST['contractId']);
if(is_numeric($res)){
$wpdb->query("COMMIT");
echo "收佣管理修改成功";
}else{
$wpdb->query("ROLLBACK");
print_r($res);
echo "收佣管理修改失败";
}
}else{
$res = CommissionManage::commission_insert($commissionParams);
if(is_numeric($res)){
$wpdb->query("COMMIT");
echo "收佣管理录入成功";
}else{
$wpdb->query("ROLLBACK");
print_r($res);
echo "收佣管理录入失败";
}
}
exit;
}else if(isset($_GET["id"])){
$context["id"] = $_GET["id"];
$context["consultant"] = CommissionDao::search_commission_consultant($_GET["id"]);
$context["commission"] = CommissionDao::search_tospur_commission($_GET["id"]);
$context["commissionLog"] = CommissionDao::search_commission_log($context["commission"]->id);
}
$context["city"] = SearchDao::searchCity();
Timber::render("commissionManage.html",$context);
}
public static function commission_insert($comParams){
$data = $_POST["data"];
$log = $_POST["log"];
$comParams["consultantId"] = $data["recConsultant"];
$comRes = CommissionDao::insert_touspur_commission($comParams);
if(is_numeric($comRes)){
if(isset( $_POST["log"])) {
foreach ($log as $value) {
$logParams = array(
"commissionId" => $comRes,
"time" => $value["time"],
"paid" => $value["paid"]
);
$logRes = CommissionDao::insert_commission_log($logParams);
}
return $logRes;
}
}else{
return $comRes;
}
}
public static function commission_update($contractId){
global $wpdb;
$data = $_POST["data"];
$log = $_POST["log"];
$updateParam = array(
"consultanId" => $data["recConsultant"],
"type" => $_POST["businessType"]
);
$updateRes = $wpdb->update(Config::TOSPUR_COMMISSION,$updateParam,array("contractId" => $contractId));
$commission = CommissionDao::search_tospur_commission($contractId);
if(is_numeric($updateRes)){
if(isset( $_POST["log"])) {
foreach ($log as $value) {
$logParams = array(
"commissionId" => $commission->id,
"time" => $value["time"],
"paid" => $value["paid"]
);
$logRes = CommissionDao::insert_commission_log($logParams);
}
return $logRes;
}
}else{
$updateRes = $wpdb->last_error;
return $updateRes;
}
}
}
\ No newline at end of file
......@@ -173,13 +173,6 @@ class consultantScoreList extends WP_List_Table
}
}
function add_consultant_score_menu()
{
add_menu_page('置业顾问评分', '置业顾问评分', 'moderate_comments', 'consultant_score', 'consultant_score_page', 'dashicons-menu', 26);
}
add_action('admin_menu', 'add_consultant_score_menu');
function consultant_score_page()
{
$consultantScoreList = new consultantScoreList();
......
......@@ -94,7 +94,7 @@ class customerList extends WP_List_Table
" left join tospur_consultant tc on tcs.consultant_id = tc.id" .
" left join tospur_organization torg on tc.subsidiaryId = torg.id" .
" where 1 = 1";
if (current_user_can('author')) {
if (current_user_can('zygw')) {
$sql = $sql . " and tcs.consultant_id = " . get_current_user_id();
}
if (isset($_REQUEST['organization']) && $_REQUEST['organization'] != -1) {
......
......@@ -42,7 +42,7 @@ class customerTrackingList extends WP_List_Table
" left join tospur_consultant tc on tct.consultant_id = tc.id" .
" left join tospur_organization torg on tc.subsidiaryId = torg.id" .
" where 1 = 1";
if (current_user_can('author')) {
if (current_user_can('zygw')) {
$sql = $sql . " and tc.id = " . get_current_user_id();
}
if (isset($_REQUEST['organization']) && $_REQUEST['organization'] != -1) {
......
......@@ -25,6 +25,7 @@ class RentHouse extends Tospur_House{
'city_id' => $_POST['baseCity'],
'district_id' => $_POST['baseAreaId'],
'plate_id' => $_POST["basePlateId"],
'room_id' => $_POST['baseRoom'],
'address' => $_POST['address'],
'community_name'=>$_POST['community_name'],
'traffic' => $_POST['traffic'],
......@@ -48,14 +49,43 @@ class RentHouse extends Tospur_House{
"garage"=>$_POST["garage"],
"entrustDay"=>$_POST["entrustDay"],
"deadLine"=>$_POST["deadLine"],
"rent"=>$_POST["rent"]
"rent"=>$_POST["rent"],
"property_money"=>$_POST["property_money"],
"parking_spaces"=>$_POST["parking_spaces"]
);
if($type==3){
$wpdb->query("START TRANSACTION");
if(isset($_POST['houseId'])){
$insert_tospur_house_array['status'] = 0;
//首先判断是经理修改还是职业顾问做不同的操作,接着判断置业顾问是否修改了状态
if($_POST["userType"] == 0){
//经理
//通过
if($_POST["status"] != -2){
$insert_tospur_house_array["status"] =$_POST["status"];
$insert_tospur_house_array["approval"] = -2;
}else{
//退回
$insert_tospur_house_array["approval"] = $_POST["status"];
}
}else{
//置业顾问
$currentStatus = SearchDao::getDetailInfo($_POST["userType"]);
//修改了状态
if($currentStatus["result"]->status != $_POST["status"]){
$insert_tospur_house_array["approval"] = $_POST["status"];
}else {
//没有修改状态
//没有申请审批
if($currentStatus["result"]->approval == -2){
$insert_tospur_house_array["approval"] = $currentStatus["result"]->status;
}else{
//申请了审批,没有修改状态,approval保持原来的
$insert_tospur_house_array["approval"] = $currentStatus["result"]->approval;
}
}
}
$result = RentHouse::data_update($_POST['houseId'],$insert_tospur_house_array);
if($result != 202){
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
print_r($result);;
echo "租房房源修改失败";
......@@ -65,9 +95,10 @@ class RentHouse extends Tospur_House{
}
}else {
$insert_tospur_house_array['status'] = $_POST['status'];
$insert_tospur_house_array["status"] = 0;
$insert_tospur_house_array["approval"] = 1;
$result = RentHouse::rentHouseData_insert($insert_tospur_house_array);
if ($result != 200) {
if (is_numeric($result)) {
$wpdb->query("ROLLBACK");
print_r($result);
echo "租房房源新增失败";
......@@ -83,10 +114,9 @@ class RentHouse extends Tospur_House{
$context["district"] = SearchDao::searchCity($context['result']->city_id);
$context["plate"] = SearchDao::searchCity($context['result']->city_id,$context['result']->district_id);
$context["mark"] = SearchDao::searchHouseTag($_GET['id']);
$context["searchStatus"] = SearchDao::searchStatus($_GET['id'],2);
$context["rent"] = SearchDao::searchRent($_GET['id']);
$context["status"] = searchDao::searchStatusType(2);
}
$context['role'] = RentHouse::getCurrentRole();
$context['canApproval'] = House::canApproval();
$context["city"] = SearchDao::searchCity();
$context["buildProperty"] = SearchDao::searchBuildProperty();
$context["room"] = SearchDao::searchRoom();
......@@ -108,27 +138,42 @@ class RentHouse extends Tospur_House{
$res = $wpdb->get_results('SELECT * FROM tospur_house WHERE address="' .$params['address'] . '" and owner_name="' .$params['owner_name'] . '" and owner_phone="'.$params['owner_phone'].'" and house_type=2', OBJECT);
if(!$res){
$houseId = InsertDao::insert_tospur_house($params);
if(is_numeric($houseId)){
$mainImageRes = InsertDao::addMainImage($houseId,$data);
InsertDao::addMainImage($houseId,$data);
$recommendRes = InsertDao::addRecommend($houseId,$data);
InsertDao::addRecommend($houseId,$data);
$recConsultantRes = InsertDao::addRecConsultant($houseId, $data['recConsultant']);
InsertDao::addRecConsultant($houseId, $data['recConsultant']);
InsertDao::addHouseTag($houseId, $data['houseTag']);
InsertDao::addHouseTag($_POST['mark'],$houseId);
$houseFeatureRes = InsertDao::addHouseFeature($houseId, $data['houseFeature']);
$customerTrackRes = CustomerTrackingDao::insert($houseId, $_REQUEST);
if(!is_numeric($mainImageRes)){
return $mainImageRes;
}else if(!is_numeric($recommendRes)){
return $recommendRes;
}else if(!is_numeric($recConsultantRes)){
return $recConsultantRes;
}else if(is_numeric($customerTrackRes)){
return $customerTrackRes;
}else if(is_numeric($houseFeatureRes)){
return $houseFeatureRes;
}
}
return $houseId;
}else{
return 508;
return "房源已存在";
}
return 200;
}
public static function data_update($houseId,$params){
global $wpdb;
$data = $_POST["data"];
$res = $wpdb->update(Config::TOSPUR_HOUSE_TABLE,$params,array("id" => $houseId));
$result = 202;
$result = $wpdb->update(Config::TOSPUR_HOUSE_TABLE,$params,array("id" => $houseId));
InsertDao::addMainImage($houseId,$data);
$exists_photo_ids = array();
if(isset($_POST['exists_photo'])){
......@@ -148,12 +193,18 @@ class RentHouse extends Tospur_House{
$wpdb->query("delete from ".Config::A_HOUSE_IMAGE_TABLE." where house_id = {$houseId} and image_id in ({$delete_photo_ids});");
$wpdb->delete(Config::A_HOUSE_RECOMMEND_TABLE,array("house_id" => $houseId));
InsertDao::addRecommend($houseId,$data);
$result = InsertDao::addRecommend($houseId,$data);
if(!is_numeric($result)){
return $result;
}
$wpdb->delete(Config::A_HOUSE_USER_TABLE,array("house_id" => $houseId));
InsertDao::addRecConsultant($houseId, $data['recConsultant']);
InsertDao::addHouseTag($_POST['mark'],$houseId);
$result = InsertDao::addRecConsultant($houseId,$data['recConsultant']);
if(!is_numeric($result)){
return $result;
}
InsertDao::addHouseTag($houseId, $data['houseTag']);
CustomerTrackingDao::insert($_POST['houseId'], $_REQUEST);
return $result;
}
}
......
......@@ -13,7 +13,7 @@ class SecHandHouse extends Tospur_House{
'name' => $_POST['housename'],
'total_price' =>$_POST['total_price'],
'average_price' => $_POST['average_price'],
'buildproperty_id'=>$_POST['buildproperty_id'],
'buildproperty_id'=>$_POST['roomNum'],
'covered_area' =>$_POST['covered_area'],
'floor' =>$_POST['floor'],
'faceto'=>$_POST['faceto'],
......@@ -24,6 +24,7 @@ class SecHandHouse extends Tospur_House{
'city_id' => $_POST['baseCity'],
'district_id' => $_POST['baseAreaId'],
'plate_id' => $_POST["basePlateId"],
'room_id' => $_POST['baseRoom'],
'address' => $_POST['address'],
'community_name'=>$_POST['community_name'],
'traffic' => $_POST['traffic'],
......@@ -46,17 +47,47 @@ class SecHandHouse extends Tospur_House{
"matching_facilities"=>$_POST["matching_facilities"],
"garage"=>$_POST["garage"],
"entrustDay"=>$_POST["entrustDay"],
"deadLine"=>$_POST["deadLine"]
"deadLine"=>$_POST["deadLine"],
"property_money"=>$_POST["property_money"],
"mortgage" =>$_POST["mortgage"],
"parking_spaces"=>$_POST["parking_spaces"]
);
if($type==2){
$wpdb->query("START TRANSACTION");
if(isset($_POST['houseId'])){
$insert_tospur_house_array['status'] = 0;
//首先判断是经理修改还是职业顾问做不同的操作,接着判断置业顾问是否修改了状态
if($_POST["userType"] == 0){
//经理
//通过
if($_POST["status"] != -2){
$insert_tospur_house_array["status"] =$_POST["status"];
$insert_tospur_house_array["approval"] = -2;
}else{
//退回
$insert_tospur_house_array["approval"] = $_POST["status"];
}
}else{
//置业顾问
$currentStatus = SearchDao::getDetailInfo($_POST["userType"]);
//修改了状态
if($currentStatus["result"]->status != $_POST["status"]){
$insert_tospur_house_array["approval"] = $_POST["status"];
}else {
//没有修改状态
//没有申请审批
if($currentStatus["result"]->approval == -2){
$insert_tospur_house_array["approval"] = $currentStatus["result"]->status;
}else{
//申请了审批,没有修改状态,approval保持原来的
$insert_tospur_house_array["approval"] = $currentStatus["result"]->approval;
}
}
}
$result = SecHandHouse::data_update($_POST['houseId'],$insert_tospur_house_array);
if($result != 201){
if(!is_numeric($result)){
$wpdb->query("ROLLBACK");
print_r($result);
print_r( $result);;
echo "二手房房源修改失败";
}else{
$wpdb->query("COMMIT");
......@@ -64,11 +95,12 @@ class SecHandHouse extends Tospur_House{
}
}else {
$insert_tospur_house_array['status'] = $_POST['status'];
$insert_tospur_house_array["status"] = 0;
$insert_tospur_house_array["approval"] = 1;
$result = SecHandHouse::secHouseData_insert($insert_tospur_house_array);
if ($result != 200) {
if (!is_numeric($result)) {
$wpdb->query("ROLLBACK");
print_r($result);
print_r( $result);;
echo "二手房房源新增失败";
} else {
$wpdb->query("COMMIT");
......@@ -81,20 +113,13 @@ class SecHandHouse extends Tospur_House{
$context = array_merge($context,SearchDao::getDetailInfo($_GET['id']));
$context["district"] = SearchDao::searchCity($context['result']->city_id);
$context["plate"] = SearchDao::searchCity($context['result']->city_id,$context['result']->district_id);
//$context["mark"] = SearchDao::searchHouseTag($_GET['id']);
//$context["markOld"] = json_encode(SearchDao::searchFeatureOld($_GET['id'], 0));
//$context['featureOld'] = json_encode(SearchDao::searchFeatureOld($_GET['id'], 1));
$context["searchStatus"] = SearchDao::searchStatus($_GET['id'],2);
}
$context['role'] = SecHandHouse::getCurrentRole();
$context['canApproval'] = House::canApproval();
$context["city"] = SearchDao::searchCity();
$context["buildProperty"] = SearchDao::searchBuildProperty();
$context["room"] = SearchDao::searchRoom();
$context["photoType"] = SearchDao::searchPhotoType();
$context["status"] = searchDao::searchStatusType(2);
/*$context["mark"] = searchDao::searchTagOrFeature(0);
$context["feature"] = searchDao::searchTagOrFeature(1);*/
$context["house_type"] = 1;
Timber::render("secHandHouse.html",$context);
......@@ -111,23 +136,36 @@ class SecHandHouse extends Tospur_House{
//获取新房信息,存入tospur_house表
$res = $wpdb->get_results('SELECT * FROM tospur_house WHERE address="' .$params['address'] . '" and owner_name="' .$params['owner_name'] . '" and owner_phone="'.$params['owner_phone'].'" and house_type=1', OBJECT);
if(!$res){
$houseId = InsertDao::insert_tospur_house($params);
InsertDao::addMainImage($houseId,$data);
if(is_numeric($houseId)){
$mainImageRes = InsertDao::addMainImage($houseId,$data);
$recommendRes = InsertDao::addRecommend($houseId,$data);
$recConsultant=InsertDao::addRecConsultant($houseId, $data['recConsultant']);
$recConsultantRes = InsertDao::addRecConsultant($houseId,$data['recConsultant']);
InsertDao::addHouseTag($houseId, $data['houseTag']);
InsertDao::addHouseFeature($houseId, $data['houseFeature']);
$houseFeatureRes = InsertDao::addHouseFeature($houseId, $data['houseFeature']);
$customerTrackRes = CustomerTrackingDao::insert($houseId, $_REQUEST);
if(!is_numeric($mainImageRes)){
return $mainImageRes;
}else if(!is_numeric($recommendRes)){
return $recommendRes;
}else if(!is_numeric($recConsultantRes)){
return $recConsultantRes;
}else if(is_numeric($customerTrackRes)){
return $customerTrackRes;
}else if(is_numeric($houseFeatureRes)){
return $houseFeatureRes;
}
}
return $houseId;
}else{
return 507;
return "房源已存在";
}
return 200;
}
public static function data_update($houseId,$params){
......@@ -156,10 +194,15 @@ class SecHandHouse extends Tospur_House{
$wpdb->query("delete from ".Config::A_HOUSE_IMAGE_TABLE." where house_id = {$houseId} and image_id in ({$delete_photo_ids});");
$wpdb->delete(Config::A_HOUSE_RECOMMEND_TABLE,array("house_id" => $houseId));
InsertDao::addRecommend($houseId,$data);
$result = InsertDao::addRecommend($houseId,$data);
if(!is_numeric($result)){
return $result;
}
$wpdb->delete(Config::A_HOUSE_USER_TABLE,array("house_id" => $houseId));
InsertDao::addRecConsultant($houseId, $data['recConsultant']);
$result = InsertDao::addRecConsultant($houseId, $data['recConsultant']);
if(!is_numeric($result)){
return $result;
}
$wpdb->query(
$wpdb->prepare(
......@@ -170,7 +213,11 @@ class SecHandHouse extends Tospur_House{
);
InsertDao::addHouseTag($houseId, $data['houseTag']);
InsertDao::addHouseFeature($houseId, $data['houseFeature']);
$result = InsertDao::addHouseFeature($houseId, $data['houseFeature']);
if(!is_numeric($result)){
return $result;
}
CustomerTrackingDao::insert($_POST['houseId'], $_REQUEST);
return $result;
}
......
......@@ -21,7 +21,7 @@ class tospurSaleList extends WP_List_Table
{
switch ($column_name) {
case 'community_name':
return '<a href="' . admin_url('admin.php?page=' . $_GET['page'] . '&id=' . $item['id']) . '">' . $item[$column_name] . '</a>';
return '<a href="' . admin_url('admin.php?page=' . $_GET['page'] . '&id=' . $item['id'] . '&cityId=' . $item['cityId']) . '">' . $item[$column_name] . '</a>';
case 'consultant':
$consultant = $item[$column_name] ? $item[$column_name] : '未分配';
return $consultant;
......@@ -113,10 +113,13 @@ class tospurSaleList extends WP_List_Table
} else if ($house_type == 'tospur_sale_rent') {
$house_type = 2;
}
$sql = "SELECT ts.*,dc.cityName,u.display_name FROM tospur_sale ts" .
$sql = "SELECT ts.*,dc.cityName,tc.name as consultant_name FROM tospur_sale ts" .
" left join (SELECT cityId,cityName FROM dic_city group by cityId) dc on ts.cityId = dc.cityId" .
" left join wp_users u on u.ID = ts.consultant_id" .
" left join tospur_consultant tc on tc.id = ts.consultant_id" .
" where ts.house_type = " . $house_type;
if (!current_user_can('fdfw_allot')) {
$sql .= " and tc.id = " . get_current_user_id();
}
$cityId = (int)$_GET['cityId'];
if ($cityId > 0) {
$sql .= " and ts.cityId = " . $cityId;
......@@ -131,6 +134,7 @@ class tospurSaleList extends WP_List_Table
$unit = ($value->house_type == 1) ? '万元' : '元/月';
$data[$key] = array(
'id' => $value->id,
'cityId' => $value->cityId,
'cityName' => $value->cityName,
'community_name' => $value->community_name,
'apartment' => $value->bedroom . '室' . $value->hall . '厅' . $value->kitchen . '厨' . $value->bathroom . '卫',
......@@ -141,7 +145,7 @@ class tospurSaleList extends WP_List_Table
'description' => $value->description,
'phone' => $value->phone,
'submission_date' => $value->submission_date,
'consultant' => $value->display_name,
'consultant' => $value->consultant_name,
'handle' => $value->handle,
'handle_date' => $value->handle_date
);
......@@ -173,15 +177,6 @@ class tospurSaleList extends WP_List_Table
}
}
function add_tospur_sale_menu()
{
add_menu_page('房东服务', '房东服务', 'activate_plugins', 'tospur_sale_secondhand', 'tospur_sale_page', 'dashicons-menu', 28);
add_submenu_page('tospur_sale_secondhand', '出售', '出售', 'activate_plugins', 'tospur_sale_secondhand', 'tospur_sale_page');
add_submenu_page('tospur_sale_secondhand', '出租', '出租', 'activate_plugins', 'tospur_sale_rent', 'tospur_sale_page');
}
add_action('admin_menu', 'add_tospur_sale_menu');
function tospur_sale_page()
{
if ($_GET['id']) {
......
......@@ -8,22 +8,53 @@ if ($page == 'tospur_sale_secondhand') {
} else if ($page == 'tospur_sale_rent') {
$house_type = 2;
}
$detail_sql = "SELECT ts.*,dc.cityName,u.display_name FROM tospur_sale ts" .
$role_flag = current_user_can('fdfw_allot');
global $wpdb;
if (isset($_POST['submit']) && $role_flag) {
$consultant_id = $_POST['data']['recConsultant'][0];
if (isset($consultant_id) && $consultant_id != null) {
$wpdb->update('tospur_sale',
array('consultant_id' => $consultant_id),
array('id' => $house_id)
);
} else {
echo '<script>alert("请选择置业顾问")</script>';
}
} else if (isset($_POST['handle']) && !$role_flag) {
$wpdb->update('tospur_sale',
array(
'handle' => 1,
'handle_date' => current_time('Y-m-d H:i:s'),
),
array('id' => $house_id)
);
}
$detail_sql = "SELECT ts.*,dc.cityName,tc.id as consultant_id,tc.imageUrl,tc.name as consultant_name FROM tospur_sale ts" .
" left join (SELECT cityId,cityName FROM dic_city group by cityId) dc on ts.cityId = dc.cityId" .
" left join wp_users u on u.ID = ts.consultant_id" .
" left join tospur_consultant tc on tc.id = ts.consultant_id" .
" where ts.house_type = " . $house_type . " and ts.id = " . $house_id;
$consultant_sql = 'SELECT u.id,u.display_name FROM wp_users u '
. 'left join wp_usermeta m on u.id=m.user_id where meta_key="wp_user_level" and meta_value=7;';
$result = $wpdb->get_row($detail_sql);
global $wpdb;
$context['detail_result'] = $wpdb->get_row($detail_sql);
$context['consultant_result'] = $wpdb->get_results($consultant_sql);
if ($result->consultant_id && $role_flag) {
$context['consultant'][0] = array(
'id' => $result->consultant_id,
'imageUrl' => $result->imageUrl,
'name' => $result->consultant_name
);
}
$context['detail_result'] = $result;
$context['url'] = home_url();
$context['id'] = $house_id;
$context['cityId'] = $_GET['cityId'];
$context['house_type'] = $house_type;
$context['city'] = SearchDao::searchCity();
$context['role_flag'] = $role_flag;
if (!$role_flag) {
$context['handle'] = (integer)$result->handle;
}
Timber::render('sale_detail.html', $context);
......
......@@ -127,13 +127,6 @@ class viewHouseList extends WP_List_Table
}
}
function add_view_house_menu()
{
add_menu_page('预约列表', '预约列表', 'moderate_comments', 'view_house', 'view_house_page', 'dashicons-menu', 27);
}
add_action('admin_menu', 'add_view_house_menu');
function view_house_page()
{
if ($_GET['id']) {
......
<table class="form-table">
<tbody>
<tr>
<th><label for="periphery">置业顾问</label></th>
<th style="width:11.7%"><label for="periphery" style="margin-left: 30px">置业顾问:</label></th>
<td>
<div id="consultantImg">
</div><br />
</div>
<button type="button" class="button action" data-toggle="modal" data-target="#myConsultant" id="recConsultantBt">
选择置业顾问
</button>
......
<table class="form-table">
<tbody>
<tr>
<th><label for="feature">房源特色</label></th>
<th style="width:11.7%"><label for="feature" style="margin-left: 30px">特色筛选:</label></th>
<td>
<div id="feature" class="row">
</div><br/>
</div>
<button type="button" class="button action" id="addFeatureBtn">
添加特色
</button>
......
<table class="form-table">
<table class="form-table" id="recHouseTable">
<tbody>
<tr>
<th><label for="traffic">推荐房源</label></th>
<th style="width:11.7%"><label for="traffic" style="margin-left: 30px">推荐房源:</label></th>
<td>
<div id="houseImg">
</div><br />
</div>
<button type="button" class="button action" data-toggle="modal" data-target="#myModal" id="recHouseBt">
添加房源
</button>
......@@ -35,7 +35,7 @@
function addRecHouse(data){
var recommendHouse = $("<input>").attr({"type":"hidden","name":"data[recommend][]","value":data.id});
var url = url;
var img = $("<img>").attr({"src":data.path,"height":90,"width":140,"style":"margin-right:50px"});
var img = $("<img>").attr({"src":data.path,"height":90,"width":140,"style":"margin-right:50px;margin-bottom:10px;"});
var cancel = $("<input>").attr({"type":"button","value":"删除"}).addClass("button action imgCancel");
var p = $("<p>").append(img).append(cancel).append(recommendHouse);
$("#houseImg").append(p);
......
<br />
<div class="row">
{% if house_type == 1%}
<div class="col-md-6">
<label for="total_price">总价:</label>
<input name="total_price" id="total_price" type="text" value="{{result.total_price}}" class="form-control"> 万元
<div class="col-md-4 form-group">
<label for="total_price" class="col-sm-5 control-label">总价:</label>
<div class="col-sm-7">
<input name="total_price" id="total_price" type="text" value="{{result.total_price}}" class="form-control" style="width: 70%"> 万元
</div>
</div>
<div class="col-md-8 form-group">
<label for="average_price" class="col-sm-4 control-label">单价:</label>
<div class="col-sm-8">
<input name="average_price" id="average_price" type="text" value="{{result.average_price}}" class="form-control" style="width: 30%">
</div>
<div class="col-md-6">
<label for="average_price">单价:</label>
<input name="average_price" id="average_price" type="text" value="{{result.average_price}}" class="form-control">
</div>
{% elseif house_type== 2 %}
<div class="col-md-6">
<label for="rent">租金:</label>
<input name="rent" id="rent" type="text" value="{{rent.value}}" class="form-control"> 元/月
<div class="col-md-4 form-group">
<label for="rent" class="col-sm-5 control-label">租金:</label>
<div class="col-sm-7">
<input name="rent" id="rent" type="text" value="{{result.rent}}" class="form-control"> 元/月
</div>
</div>
{% else %}
<div class="col-md-6">
<label for="average_price">均价:</label>
<div class="col-md-4 form-group">
<label for="average_price" class="col-sm-5 control-label">均价:</label>
<div class="col-sm-7">
<input name="average_price" id="average_price" type="text" value="{{result.average_price}}" class="form-control">
</div>
</div>
{% endif %}
</div>
\ No newline at end of file
<div class="wrap">
<h2>收佣进度表</h2>
<form method="get">
<input type="hidden" name="page" value="commissionList">
{% include 'selectOrganization.html' %}
<div id="search_form">
<label for="year" class="hidden"></label>
<select name="year" id="year">
<option value="2015">2015</option>
<option value="2016">2016</option>
</select>
<label for="month" class="hidden"></label>
<select name="month" id="month">
<option value="-1">请选择月份</option>
<option value="1">一月</option>
<option value="2">二月</option>
<option value="3">三月</option>
<option value="4">四月</option>
<option value="5">五月</option>
<option value="6">六月</option>
<option value="7">七月</option>
<option value="8">八月</option>
<option value="9">九月</option>
<option value="10">十月</option>
<option value="11">十一月</option>
<option value="12">十二月</option>
</select>
<label for="search_consultant_name" class="hidden"></label>
<input type="text" placeholder="请输入置业顾问" name="search_consultant_name" id="search_consultant_name"
value="{{ req.search_consultant_name }}">
<input type="submit" id="submit" class="button action" value="搜索">
</div>
</form>
{{ function("addCommissionTable") }}
</div>
<script>
$(document).ready(function () {
$('form').submit(function () {
var organization = getOrganization();
var select = $('select[data-depth]:not(.hidden)');
if (select.length > 1 && organization == -1) {
alert('请选择门店');
return false;
} else {
$(this).append('<input type="hidden" name="organization" value="' + organization + '">');
}
});
{% if req %}
$("#year").val('{{ req.year|default(year) }}');
$("#month").val('{{ req.month|default(-1) }}');
{% endif %}
});
</script>
\ No newline at end of file
......@@ -8,3 +8,11 @@ label.my-error-class {
color: #EA5200;
}
p[class^=col-]{
padding: 0;
}
#preview,#addPhotos,#recHouseTable{
border-bottom: 1px solid;
border-bottom: 1px solid #ddd;
}
\ No newline at end of file
<div class="wrap">
<h2>客户列表</h2>
<form method="get" id="search_form">
<form method="get">
<input type="hidden" name="page" value="customerList">
<div>
<div id="search_form">
<input type="hidden" name="hasSearch" value="1"/>
{% include 'selectOrganization.html' %}
<label for="status" class="hidden"></label>
<select name="status" id="status">
<option value="-1">状态</option>
{% set customer_status_array = function('SearchDao::searchStatusType', 5) %}
{% for item in customer_status_array %}
<option {{ item.id == req.status ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% for item in status %}
<option {{ item.id == status_id ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<label for="customer_type" class="hidden"></label>
<select name="customer_type" id="customer_type">
<option value="-1">客户类型</option>
{% set customer_type_array = function('SearchDao::searchStatusType', 6) %}
{% for item in customer_type_array %}
<option {{ item.id == req.customer_type ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% for item in customer_type %}
<option {{ item.id == customer_type_id ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<label for="demand_type" class="hidden"></label>
......@@ -32,80 +29,74 @@
<select id="listCity" name="listCity">
<option value="-1"> 城市</option>
{% for item in city %}
<option {{ item.id == req.listCity ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
<option {{ item.id == cityId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<label for="listDistrict" class="hidden"></label>
<select id="listDistrict" name="listDistrict">
<option value="-1">区域</option>
{% set district = function('SearchDao::searchCity', req.listCity) %}
{% if district %}
{% for item in district %}
<option {{ item.id == req.listDistrict ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
<option {{ item.id == districtId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
<label for="listPlate" class="hidden"></label>
<select id="listPlate" name="listPlate">
<option value="-1">板块</option>
{% set plate = function('SearchDao::searchCity', req.listCity, req.listDistrict) %}
{% if plate %}
{% for item in plate %}
<option {{ item.id == req.listPlate ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
<option {{ item.id == plateId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
<label for="totalPrice" class="hidden"></label>
<select id="totalPrice" name="totalPrice" class="hidden">
<option value="-1">总价</option>
{% set dicTotalPrice = function('SearchDao::searchTotalPrice', req.listCity) %}
<option value="">总价</option>
{% if dicTotalPrice %}
{% for item in dicTotalPrice %}
<option {{ item.value == req.totalPrice ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
<option {{ item.value == totalPrice ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
<label for="rentalPrice" class="hidden"></label>
<select id="rentalPrice" name="rentalPrice" class="hidden">
<option value ="-1">月租</option>
{% set dicRentalPrice = function('SearchDao::searchRentalPrice', req.listCity) %}
<option value ="">月租</option>
{% if dicRentalPrice %}
{% for item in dicRentalPrice %}
<option {{ item.value == req.rentalPrice ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
<option {{ item.value == rentalPrice ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
<label for="buildProperty" class="hidden"></label>
<select id="buildProperty" name="buildProperty">
<option value="-1">房型</option>
{% set buildProperty_array = function('SearchDao::searchBuildProperty') %}
{% for item in buildProperty_array %}
<option {{ item.id == req.buildProperty ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% for item in buildProperty %}
<option {{ item.id == buildPropertyId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<label for="acreage" class="hidden"></label>
<select id="acreage" name="acreage">
<option value="-1">面积</option>
{% set dicArea = function('SearchDao::searchArea', req.listCity) %}
{% if dicArea %}
<option value="">面积</option>
{% if acreage %}
{% for item in dicArea %}
<option {{ item.value == req.acreage ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
<option {{ item.value == acreage ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
</div>
<div style="margin-top: 10px;">
<input type="text" placeholder="请输入姓名" name="search_name" value="{{ req.search_name }}">
<input type="text" placeholder="请输入置业顾问" name="search_consultant_name" value="{{ req.search_consultant_name }}">
<input type="text" placeholder="请输入电话" name="search_phone" value="{{ req.search_phone }}">
<input type="text" placeholder="请输入姓名" name="search_name" value="{{ search_name }}">
<input type="text" placeholder="请输入置业顾问" name="search_consultant_name" value="{{ search_consultant_name }}">
<input type="text" placeholder="请输入电话" name="search_phone" value="{{ search_phone }}">
</div>
<div style="margin-top: 10px;">
<span>日期</span>
<label for="search_min_time" class="hidden"></label>
<input type="date" name="search_min_time" id="search_min_time" value="{{ req.search_min_time }}">
<input type="date" name="search_min_time" id="search_min_time" value="{{ search_min_time }}">
<label for="search_max_time" class="hidden"></label>
<input type="date" name="search_max_time" id="search_max_time" value="{{ req.search_max_time }}">
<input type="date" name="search_max_time" id="search_max_time" value="{{ search_max_time }}">
<input type="submit" id="submit" class="button action" value="搜索">
</div>
</form>
......@@ -119,7 +110,7 @@
<script>
$(document).ready(function () {
var demand_type_select = $('#demand_type');
demand_type_select.val('{{ req.demand_type|default(-1) }}');
demand_type_select.val('{{ demand_type }}');
search_form_set_page();
var acreage = $("#acreage");
......@@ -166,16 +157,5 @@
}
allot_consultant('customerlist');
$('form').submit(function () {
var organization = getOrganization();
var select = $('select[data-depth]:not(.hidden)');
if (select.length > 1 && organization == -1) {
alert('请选择门店');
return false;
} else {
$(this).append('<input type="hidden" name="organization" value="' + organization + '">');
}
});
});
</script>
\ No newline at end of file
<div class="wrap">
<h2>签约-房客跟进</h2>
<form method="get" id="search_form">
<form method="get">
<input type="hidden" name="page" value="customerTrackingList">
<div>
{% include 'selectOrganization.html' %}
<div id="search_form">
<label for="status_type" class="hidden"></label>
<select name="status_type" id="status_type">
<option value="-1">跟进类型</option>
{% for item in status %}
<option
{{ item.id == (req.status_type) ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{{ item.id == status_type ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<label for="search_consultant_name" class="hidden"></label>
<input type="text" placeholder="请输入置业顾问" name="search_consultant_name" id="search_consultant_name"
value="{{ req.search_consultant_name }}">
value="{{ search_consultant_name }}">
<span>日期</span>
<label for="search_min_time" class="hidden"></label>
<input type="date" name="search_min_time" id="search_min_time" value="{{ req.search_min_time }}">
<input type="date" name="search_min_time" id="search_min_time" value="{{ search_min_time }}">
<label for="search_max_time" class="hidden"></label>
<input type="date" name="search_max_time" id="search_max_time" value="{{ req.search_max_time }}">
<input type="date" name="search_max_time" id="search_max_time" value="{{ search_max_time }}">
<input type="submit" id="submit" class="button action" value="搜索">
</div>
</form>
<form method="post">
{{ function("addCustomerTrackingTable") }}
</form>
</div>
<script>
$(document).ready(function () {
search_form_set_page();
$('form').submit(function () {
var organization = getOrganization();
var select = $('select[data-depth]:not(.hidden)');
if (select.length > 1 && organization == -1) {
alert('请选择门店');
return false;
} else {
$(this).append('<input type="hidden" name="organization" value="' + organization + '">');
}
});
});
</script>
\ No newline at end of file
......@@ -4,7 +4,7 @@
margin: 20px 0;
}
</style>
<h2>诚信宣言</h2>
<h2>我的设置</h2>
<p>
<label for="time">入职时间:</label>
<input type="date" id="time" value="{{ time }}">
......
//城市区域联动
function setCity(citySelector,areaSelector,plateSelector){
var cityId = $("#"+citySelector).val();
var baseArea = $("#"+areaSelector);
var basePlate = $("#"+plateSelector);
baseArea.find('option:not(:first-child)').remove();
basePlate.find('option:not(:first-child)').remove();
//城市联动区域
searchCity(cityId,baseArea)
}
//区域联动板块
function setArea(citySelector,areaSelector,plateSelector){
var cityId = $("#"+citySelector).val();
var areaId = $("#"+areaSelector).val();
var basePlate = $("#"+plateSelector);
basePlate.find('option:not(:first-child)').remove();
searchArea(cityId,areaId,basePlate);
}
//搜索城市的方法
function searchCity(cityId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=serachCity&cityId="+cityId,
success:function(json){
addOption(json,optionId);
}
});
}
//搜索区域的方法
function searchArea(cityId,areaId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=serachCity&cityId="+cityId+"&districtId="+areaId,
success:function(json){
addOption(json,optionId);
}
});
}
function existsCancel(){
$("#preview,#houseImg,#feature,#mark").on("click",".existsCancel,.featureCancel",function(){
$(this).parent().remove();
});
}
//租房与二手房中钥匙与车库的选项
function setCheckBox(){
$("input[id='keyCheck']").change(function(){
textDisable("keyCheck","key");
});
$("input[id='garageCheck']").change(function(){
textDisable("garageCheck","garage");
});
}
//控制当二手房租房中钥匙与车库被勾选时,后面的文本域可使用
function textDisable(checkId,textId){
if($('input[id="'+checkId+'"]:checked').length > 0){
$("#"+textId).removeAttr("disabled");
}else{
$("#"+textId).attr("disabled","true");
}
}
//搜索置业顾问的方法
//function searchConsultant(consulCityId,consultantName){
// $.ajax({
// type: "GET",
// url: "/tospur/wp-admin/admin-ajax.php",
// data: "action=searchConsultant&consulCityId="+consulCityId+"&consultantName="+consultantName,
// success:function(json){
// for(var i = 0; i <=json.length-1; i++){
// var name = json[i]["consultantName"];
// var imgUrl = json[i]["imageUrl"];
// var img = $("<img>").attr({"src":imgUrl,"height":100,"width":100,"style":"margin-right:50px"});
// var li = $("<li>").attr("id",json[i]["id"]).append(img).append(name).addClass("consultantImg");
// $("#consultantList").append(li);
// }
// }
// });
//}
//往给定id的select中添加option
function addOption(json,select){
var selectId = select.attr("id");
//select.find('option:not(:first-child)').remove();
for(var i = 0; i <=json.length-1; i++){
var id = json[i]["id"];
var value = json[i]["value"];
if(selectId.indexOf("creage") > -1|| selectId.indexOf("rice") > -1){
id = value;
}
var Option = $("<option>").attr({"value": id}).append(value);
select.append(Option);
}
}
//控制推荐房源与置业顾问的个数
function controlCommand(id,number,type){
var num = $("#"+id+" > p").length;
if(num>number){
if(type==0){
alert("最多只能推荐3个房源");
}else if(type==1){
alert("您只能推荐一位置业顾问");
}
$("#"+id).find("p:last-child").remove();
}
}
function getUrlParmas(){
var href = location.search.substr(1,location.search.length-1);
var params = href.split("&");
var map = {};
for(item in params){
var key = params[item].split("=")[0] || "";
var value = params[item].split("=")[1] || "";
map[key] = value;
}
return map;
}
function setDate(id){
$("#"+id).datepicker({
dateFormat: "yy-mm-dd"
});
}
//建筑年代的下拉框
function setAge(){
for(var i = 1981; i<= 2020; i++){
var option = $("<option>").append(i);
$("#pageAge").append(option);
}
}
//租房二手房中,修改界面下拉框的信息还原
function revertOption(data){
$.each(data,function(i,item){
$("form").find("select[name='"+i+"']").val(item);
});
}
//搜索面积的方法
function searchAcreage(cityId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=searchArea&cityId="+cityId,
success:function(json){
addOption(json,optionId);
}
});
}
//搜索单价的方法
function searchPrice(cityId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=searchUnitPriceRange&cityId="+cityId,
success:function(json){
addOption(json,optionId);
}
});
}
function searchTotalPrice(cityId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=searchTotalPrice&cityId="+cityId,
success:function(json){
addOption(json,optionId);
}
});
}
function searchRentalPrice(cityId,optionId){
$.ajax({
type: "GET",
url: "/tospur/wp-admin/admin-ajax.php",
data: "action=searchRentalPrice&cityId="+cityId,
success:function(json){
addOption(json,optionId);
}
});
}
function search_form_set_page(){
var search_flag = false;
var search_form = $('#search_form');
$('form').submit(function () {
var search_select = search_form.find('select');
var search_input = search_form.find('input[type=text],input[type=date]');
$.each(search_select, function (index, item) {
var search_select_value = $(item).find('option:selected').val();
if (search_select_value != -1) {
search_flag = true;
}
});
$.each(search_input, function (index, item) {
var search_input_value = $(item).val();
if (search_input_value != '') {
search_flag = true;
}
});
if (search_flag) {
$('input[name=paged]').val('1');
}
});
}
function allot_consultant(name) {
//批量操作
$('select[name=action],select[name=action2]').change(function () {
//分配置业顾问
if ($(this).find('option:selected').val() == 'allot') {
//选择房/客源
var checkbox = $('input[name="' + name + '[]"]');
if (checkbox.is(':checked')) {
var array = [];
$('input[name="' + name + '[]"]:checked').map(function () {
var consultant_id = Number($(this).data('consultant'));
if (array.indexOf(consultant_id) == -1) {
array.push(consultant_id);
}
});
var confirmFlag = true;
if (array.length > 1) {
confirmFlag = confirm('当前选择的房/客源置业顾问不同,是否继续');
}
if (confirmFlag) {
$('#myConsultant').modal('show');
}
//未选择房/客源,下拉框显示批量操作
} else {
$(this).find('option:first').attr('selected', 'selected');
alert('请选择房/客源');
return false;
}
}
});
init_modal_myConsultantList(function (data) {
var consultant_id = Number(data.id);
$('#allot_consultant_id').val(consultant_id);
});
$("#myConsultant").on("hide.bs.modal", function () {
var allot_consultant_id = Number($('#allot_consultant_id').val());
if (!allot_consultant_id) {
$('select[name=action],select[name=action2]').find('option:first').attr('selected', 'selected');
}
});
}
{% block listBlock %}
<div class="wrap">
<h2> {% if house_type == 0%}新房列表{% elseif house_type == 1 %}二手房列表{% else %}租房房列表{% endif %}</h2>
<form id="scores-filter" method="GET">
<form id="scores-filter" method="GET" class="form-inline">
<br />
{% include 'selectOrganization.html' %}
<!-- For plugins, we also need to ensure that the form posts back to our current page -->
<div style="margin-bottom: 10px;">
<input type="hidden" name="page" value="{{page}}"/>
<select id="listCity" name="listCity">
<option value="0"> 城市</option>
<select id="listCity" name="listCity" class="form-control">
<option value="-1"> 城市</option>
{% for item in city %}
<option {{ item.id == cityId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<select id="listDistrict" name="listDistrict">
<option value="0">区域</option>
<select id="listDistrict" name="listDistrict" class="form-control">
<option value="-1">区域</option>
{% if district %}
{% for item in district %}
<option {{ item.id == districtId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
{% endif %}
</select>
<select id="listPlate" name="listPlate">
<option value="0">板块</option>
<select id="listPlate" name="listPlate" class="form-control">
<option value="-1">板块</option>
{% if plate %}
{% for item in plate %}
<option {{ item.id == plateId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
......@@ -27,7 +30,7 @@
{% endif %}
</select>
{% if house_type == 2%}
<select id="rentalPrice" name="rentalPrice">
<select id="rentalPrice" name="rentalPrice" class="form-control">
<option value ="">租金</option>
{% if dicRentalPrice %}
{% for item in dicRentalPrice %}
......@@ -35,8 +38,13 @@
{% endfor %}
{% endif %}
</select>
{% elseif house_type == 0 %}
<select id="averagePrice" name="averagePrice" class="form-control">
<option value ="">单价</option>
<!--<option {{ item.value == average_price ?"selected":"" }} value="{{ item.value }}">{{ item.value }}</option>-->
</select>
{% else%}
<select id="totalPrice" name="totalPrice">
<select id="totalPrice" name="totalPrice" class="form-control">
<option value ="">价格</option>
{% if dicTotalPrice %}
{% for item in dicTotalPrice %}
......@@ -46,20 +54,20 @@
</select>
{% endif %}
{% if house_type == 0%}
<select id="room" name="room">
<option value="0">类型</option>
<select id="room" name="room" class="form-control">
<option value="-1">类型</option>
{% for item in room %}
<option {{ item.id == roomId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
{% endif %}
<select id="buildProperty" name="buildProperty">
<option value="0"> 房型</option>
<select id="buildProperty" name="buildProperty" class="form-control">
<option value="-1"> 房型</option>
{% for item in buildProperty %}
<option {{ item.id == buildPropertyId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<select id="acreage" name="acreage">
<select id="acreage" name="acreage" class="form-control">
<option value ="">面积</option>
{% if acreage %}
{% for item in dicArea %}
......@@ -67,19 +75,29 @@
{% endfor %}
{% endif %}
</select>
<select name="status" name="status">
<select name="status" name="status" class="form-control">
<option value="-1">状态</option>
{% for item in status%}
<option {{ item.id == statusId ?"selected":"" }} value="{{ item.id }}">{{ item.value }}</option>
{% endfor %}
</select>
<input type="text" placeholder="请出入楼盘名" name="searchText">
</div>
<div id="organization" style="margin-bottom: 10px;">
<label for="endDate">楼盘名:</label>
<input type="text" name="searchText" class="form-control">
<label for="beginDate" >开始日期:</label>
<input type="date" name="beginDate" class="form-control" {% if req %}value="{{req.beginDate}}"{% endif %}>
<label for="endDate">结束日期:</label>
<input type="date" name="endDate" class="form-control" {% if req %}value="{{req.endDate}}"{% endif %}>
<label for="stuff">员工:</label>
<input type="text" name="stuff" class="form-control" {% if req %}value="{{req.stuff}}"{% endif %}>
<input type="hidden" name="hasSearch" value="1"/>
<input type="hidden" id="house_type" value="{{house_type}}"/>
<input type="submit" id="submit" class="button action" value="搜索">
<!-- Now we can render the completed list table -->
</div>
</form>
<form method="post">
<!-- Now we can render the completed list table -->
{% if house_type == 0 %}
{{function("addNewHouseTable")}}
{% elseif house_type == 1%}
......@@ -98,6 +116,7 @@
var acreage =$("#acreage");
var totalPrice = $("#totalPrice");
var rentalPrice = $("#rentalPrice");
var averagePrice = $("#averagePrice");
$("#listCity").change(function() {
var cityId = $("#listCity").val();
setCity("listCity", "listDistrict", "listPlate");
......@@ -109,7 +128,10 @@
//城市联动房子价格
if ($("#house_type").val() == 2) {
searchRentalPrice(cityId, rentalPrice);
}else{
}else if($("#house_type").val() == 0){
searchPrice(cityId,averagePrice);
}
else{
searchTotalPrice(cityId,totalPrice);
}
});
......@@ -123,6 +145,17 @@
{% elseif house_type == 2 %}
allot_consultant('renthouselist');
{% endif %}
$('form').submit(function () {
var organization = getOrganization();
var select = $('select[data-depth]:not(.hidden)');
if (select.length > 1 && organization == -1) {
alert('请选择门店');
return false;
} else {
$(this).append('<input type="hidden" name="organization" value="' + organization + '">');
}
});
});
})(jQuery);
</script>
......
<div id="preview">
<table class="form-table">
<tbody>
<tr>
<th style="width:11.7%"><label for="traffic" style="margin-left: 30px">主力房源:</label></th>
<td>
<input type="file" name="files[0]" property="0" class = "files form-control"multiple style="width: 30%;">
</td>
</tr>
</tbody>
</table>
{% set exists_ids = "" %}
{% for item in mainImage %}
{% if exists_ids != "" %}
......@@ -7,7 +17,7 @@
{% set exists_ids = exists_ids~item.id %}
<div>
<img src="{{siteUrl}}{{item.path}}" height="90" width="140" style="margin-right: 50px;margin-top:10px">
<select name="exists[{{item.id}}][buildProperty]" style="margin-right: 50px">
<select name="exists[{{item.id}}][buildProperty]" style="margin-right: 50px;width: 10%;display: inline-block" class="form-control">
{% for i in buildProperty %}
<option {{ i.id == item.buildproperty_id?"selected":"" }} value="{{i.id}}">{{i.value}}</option>
{% endfor %}
......@@ -16,9 +26,11 @@
<input type="button" value="删除" class="button action cancel existsCancel" style="margin-top: 30px">
</div>
{% endfor %}
<p></p>
<input type="hidden" name="exists_ids" value="{{exists_ids}}" >
<input type="file" name="files[0]" property="0" class = "files"multiple class="browser button button-hero">
</div>
<script>
......@@ -38,12 +50,12 @@
function mainHouse(input,i){
var reader = new FileReader();
reader.onload = function (e) {
var img = $("<img>").attr({"id":"target","src":e.target.result,"height":90,"width":140,"style":"margin-right:50px;margin-top:10px"});
var img = $("<img>").attr({"id":"target","src":e.target.result,"height":90,"width":140,"style":"margin-right:50px;margin-top:10px;"});
var button = $("<input>").attr({"type":"button","value":"删除","property":+i,"id":+i}).addClass("button action cancel");
var type = $("<input>").attr({"type":"hidden","name":"data["+i+"][type]","value":4,"property":+i});
var mainHousePic = $("<input>").attr({"type":"hidden","name":"data["+i+"][mainHouse]","value":0,"property":+i});
var file = $("<input>").attr({"type":"file","name":"files["+(i+1)+"]","property":+(i+1)}).addClass("files");
var select = $("<select>").attr({"name":"data["+i+"][buildProperty]","style":"margin-right:50px"});
var file = $("<input>").attr({"type":"file","name":"files["+(i+1)+"]","property":+(i+1)}).addClass("files form-control").css("width","20%");
var select = $("<select>").attr({"name":"data["+i+"][buildProperty]","style":"margin-right:50px;width:10%;display:inline-block"}).addClass("form-control");
{% for item in buildProperty %}
select.append($("<option>").attr("value",{{item.id}}).append('{{item.value}}'));
{% endfor%}
......
......@@ -13,18 +13,20 @@
<div class="alert alert-danger" role="alert" id="messageBox1" style="display:none;">
</div>
<form action="" method="POST" enctype="multipart/form-data" id="newHouse" class="form-inline">
<form action="" method="POST" enctype="multipart/form-data" id="newHouse" class="form-horizontal">
<div class="row">
<div class="col-md-11">
<div class="col-xs-10">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#info" aria-controls="info" role="tab" data-toggle="tab">楼盘情况</a></li>
<li role="presentation"><a href="#weixin" aria-controls="weixin" role="tab" data-toggle="tab">微信营销</a></li>
<li role="presentation"><a href="#business" aria-controls="business" role="tab" data-toggle="tab">业务信息</a></li>
<li role="presentation"><a href="#mainHouse" aria-controls="mainHouse" role="tab" data-toggle="tab">主力户型</a></li>
<li role="presentation"><a href="#photos" aria-controls="photos" role="tab" data-toggle="tab">房源相册</a></li>
<li role="presentation"><a href="#addRecHouse" aria-controls="addRecHouse" role="tab" data-toggle="tab">推荐房源</a></li>
<li role="presentation"><a href="#addConsultant" aria-controls="addConsultant" role="tab" data-toggle="tab">置业顾问</a></li>
<li role="presentation" class="active">
<a href="#info" aria-controls="info" role="tab" data-toggle="tab">基本信息</a>
</li>
<li role="presentation">
<a href="#mainHouse" aria-controls="mainHouse" role="tab" data-toggle="tab">图片</a>
</li>
<li role="presentation">
<a href="#customer_tracking" aria-controls="customer_tracking" role="tab" data-toggle="tab">房源跟进</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
......@@ -35,44 +37,52 @@
{% else %}
{% include 'newHouseInfo.html' %}
{% endif %}
</div>
<div role="tabpanel" class="tab-pane" id="weixin">
{% include 'weixin.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="business">
{% include 'business.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="mainHouse">
<br/>
{% include 'mainHouse.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="photos">
<br/>
{% include 'photos.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addRecHouse">
<br/>
{% include 'addRecHouse.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addConsultant">
<br/>
{% include 'addConsultant.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="customer_tracking">
{% include 'save_customer_tracking.html' %}
{% import "macro.html" as macro %}
{{ macro.customer_tracking_list(houseId, 1) }}
</div>
</div>
<input type="text" name="type" value="1" hidden="hidden">
{% if houseId %}
<input type="text" name="houseId" value="{{houseId}}" hidden="hidden">
{% endif %}
</div>
<div class="col-md-1">
{% if (role == 'administrator'or role =='eidtor') %}
<div class="col-xs-2">
<div class="row" style="position: fixed;top:200px;">
<select id="status" name="status">
{% if houseId %}
{% if canApproval %}
{% if result.approval != -2 %}
<select name="status" class="form-control">
<option value="{{result.approval}}">通过</option>
<option value="-2">退回</option>
</select>
<input type="hidden" name="userType" value="0">
{% endif %}
{% else %}
<select name="status" class="form-control">
{% for item in status %}
<option {{ item.id == searchStatus.id?"selected":"" }} value={{item.id}}>{{item.value}}</option>
<option {{ item.id == result.status?"selected":"" }} value={{item.id}}>{{item.value}}</option>
{% endfor %}
</select>
</div>
<input type="hidden" name="userType" value="{{houseId}}">
{% endif %}
{% endif %}
<input type="submit" id="submit" class="button action" style="position: fixed;top:155px">
<input type="submit" id="submit" class="button action" style="float:left">
</div>
</div>
</div>
</form>
......@@ -84,7 +94,9 @@
<!-- 置业顾问弹出层 -->
{% include 'recConsultant.html' %}
{{ block('recConsultant') }}
<!-- 特色房源弹出层 -->
{% include 'addTag.html' %}
{{ block('addTag') }}
<script>
(function($){
......@@ -95,7 +107,6 @@
$("#baseAreaId").change(function(){
setArea("baseCity","baseAreaId","basePlateId");
});
setDate("checkin");
var json = {"decoration":"{{result.decoration}}"};
revertOption(json);
$('#newHouse').validate({
......@@ -109,7 +120,7 @@
community_name:'required',
address:'required',
average_price:'required',
latest_news:'required',
description:'required',
baseCity:{
citySelectcheck: true
},
......@@ -126,7 +137,8 @@
community_name:'请输入小区名称',
address:'请输入地址',
average_price:'请输入均价',
latest_news:'请输入最新动态'
description:'请输入跟进说明'
},
errorContainer: "#messageBox1",
errorLabelContainer: "#messageBox1",
......@@ -135,8 +147,12 @@
alert("请选择房源相册");
return false;
}
if($("#houseImg > p").length == 0){
alert("请选择推荐房源");
if($("#consultantImg > p").length == 0){
alert("请选择置业顾问");
return false;
}
if($("#photosTbody > tr").length == 0){
alert("请选择房源相册");
return false;
}
form.submit();
......
<br />
<div class="row">
<div class="col-md-6">
<label for="owner_name">业主姓名:</label>
<div class="col-md-4 form-group">
<label for="owner_name" class="col-sm-5 control-label">业主姓名:</label>
<div class="col-sm-7">
<input name="owner_name" id="owner_name" type="text" value="" class="form-control">
</div>
<div class="col-md-6">
<label for="owner_phone">业主电话:</label>
</div>
<div class="col-md-8 form-group">
<label for="owner_phone" class="col-sm-4 control-label">业主电话:</label>
<div class="col-sm-8">
<input name="owner_phone" id="owner_phone" type="text" value="" class="form-control">
</div>
</div>
</div>
\ No newline at end of file
<table class="form-table">
<thead>
<tr>
<th>类型</th>
<div class="row" id="addPhotos">
<div class="col-md-12">
<table class="form-table" style="margin-left: 30px">
<thead >
<tr >
<th >类型</th>
<th>相册</th>
<th>设为封面</th>
<th></th>
......@@ -31,15 +33,16 @@
<td>
<input type="button" value="删除" class="button action cancel existsCancel">
</td>
</div>
</tr>
{% endfor %}
</tbody>
</table>
<input type="hidden" name="exists_photo_ids" value="{{exists_photo_ids}}" >
<button type="button" id="housePicture" class="button action" data-toggle="modal" style="margin-top: 10px">
</table>
<input type="hidden" name="exists_photo_ids" value="{{exists_photo_ids}}" >
<button type="button" id="housePicture" class="button action" data-toggle="modal" style="margin-top: 10px;margin-left: 30px">
新增
</button>
</button>
</div>
</div>
<script>
(function($){
......@@ -48,7 +51,7 @@
$("#housePicture").click(function(){
var tr = $("<tr>");
var td = $("<td>");
var select = $("<select>").attr({"name":"data["+i+"][type]"}).addClass("form-control");
var select = $("<select>").attr({"name":"data["+i+"][type]"}).addClass("form-control").css("width","30%");
{% for item in photoType %}
select.append($("<option>").attr("value",{{item.id}}).append('{{item.value}}'));
{% endfor%}
......@@ -60,7 +63,7 @@
var radio = $("<input>").attr({"type":"radio","name":"frontCover","value":i}).addClass("form-control");
var td3 = td.clone().append(radio);
var picDelet = $("<input>").attr({"type":"button","value":"删除"}).addClass("button action existsCancel form-control");
var picDelet = $("<input>").attr({"type":"button","value":"删除"}).addClass("button action existsCancel");
var td4 = td.clone().append(picDelet);
tr.append(td1).append(td2).append(td3).append(td4);
......
<div class="wrap">
<h2>{{req.name}}{{req.year}}年{{req.month}}月业绩列表</h2>
{{function("QuotaYearList::displayMonthTable")}}
</div>
<script>
$(document).ready(function () {
$("#the-list").on("click","td > .button.action",function(){
var price = $(this).prev().val();
var id = $(this).prev().attr("name");
var params = {
action:"replaceQuota",
year:{{req.year}},
month:{{req.month}},
id:id,
price:price
};
$.ajax({
type: "post",
url: "admin-ajax.php",
data: params,
success:function(json){
if(json.code == 200)
alert("设置业绩目标成功");
else
alert(json.msg);
}
});
});
});
</script>
\ No newline at end of file
<div class="wrap">
<h2>业绩列表</h2>
<form method="get">
<input type="hidden" name="page" value="quotaList">
{% include 'selectOrganization.html' %}
<div id="search_form">
<select name="year" id="year">
<option value="2015">2015</option>
<option value="2016">2016</option>
</select>
<input type="submit" id="submit" class="button action" value="搜索">
<!--
<select name="month" id="month">
<option value="1">一月</option>
<option value="2">二月</option>
<option value="3">三月</option>
<option value="4">四月</option>
<option value="5">五月</option>
<option value="6">六月</option>
<option value="7">七月</option>
<option value="8">八月</option>
<option value="9">九月</option>
<option value="10">十月</option>
<option value="11">十一月</option>
<option value="12">十二月</option>
</select>
-->
</div>
</form>
{{function("QuotaYearList::displayYearTable")}}
</div>
<script>
$(document).ready(function () {
{% if req %}
$("#year").val({{req.year}});
{% endif %}
$('form').submit(function () {
var organization = getOrganization();
var select = $('select[data-depth]:not(.hidden)');
if (select.length > 1 && organization == -1) {
alert('请选择门店');
return false;
} else {
$(this).append('<input type="hidden" name="organization" value="' + organization + '">');
}
});
});
</script>
\ No newline at end of file
......@@ -13,61 +13,64 @@
<div class="alert alert-danger" role="alert" id="messageBox1" style="display:none;">
</div>
<form action="" method="POST" enctype="multipart/form-data" id="rentHouse" class="form-inline">
<form action="" method="POST" enctype="multipart/form-data" id="rentHouse" class=" form-horizontal">
<div class="row">
<div class="col-md-11">
<div class="col-xs-10">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#info" aria-controls="info" role="tab" data-toggle="tab">楼盘情况</a></li>
<li role="presentation"><a href="#weixin" aria-controls="weixin" role="tab" data-toggle="tab">微信营销</a></li>
<li role="presentation"><a href="#business" aria-controls="business" role="tab" data-toggle="tab">业务信息</a></li>
{% if not houseId %}
<li role="presentation"><a href="#owner" aria-controls="owner" role="tab" data-toggle="tab">业主信息</a></li>
{% endif %}
<li role="presentation"><a href="#photos" aria-controls="photos" role="tab" data-toggle="tab">房源相册</a></li>
<li role="presentation"><a href="#addRecHouse" aria-controls="addRecHouse" role="tab" data-toggle="tab">推荐房源</a></li>
<li role="presentation"><a href="#addConsultant" aria-controls="addConsultant" role="tab" data-toggle="tab">置业顾问</a></li>
<li role="presentation" class="active">
<a href="#info" aria-controls="info" role="tab" data-toggle="tab">基本信息</a>
</li>
<li role="presentation">
<a href="#photos" aria-controls="photos" role="tab" data-toggle="tab">图片</a>
</li>
<li role="presentation">
<a href="#customer_tracking" aria-controls="customer_tracking" role="tab" data-toggle="tab">房源跟进</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="info">
{% include 'houseInfo.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="weixin">
{% include 'weixin.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="business">
{% include 'business.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="owner">
{% include 'owner.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="photos">
{% include 'photos.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addRecHouse">
{% include 'addRecHouse.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addConsultant">
{% include 'addConsultant.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="customer_tracking">
{% include 'save_customer_tracking.html' %}
{% import "macro.html" as macro %}
{{ macro.customer_tracking_list(houseId, 1) }}
</div>
</div>
<input type="text" name="type" value="3" hidden="hidden">
{% if houseId %}
<input type="text" name="houseId" value="{{houseId}}" hidden="hidden">
{% endif %}
</div>
<div class="col-md-1">
{% if (role == 'administrator'or role =='eidtor') %}
<div class="row" style="position: fixed;top:200px;">
<select id="status" name="status">
<div class="col-xs-2">
<div class="row" style="position: fixed;">
{% if houseId %}
{% if canApproval %}
{% if result.approval != -2 %}
<select name="status" class="form-control">
<option value="{{result.approval}}">通过</option>
<option value="-2">退回</option>
</select>
<input type="hidden" name="userType" value="0">
{% endif %}
{% else %}
<select name="status" class="form-control">
{% for item in status %}
<option {{ item.id == searchStatus.id?"selected":"" }} value={{item.id}}>{{item.value}}</option>
<option {{ item.id == result.status?"selected":"" }} value={{item.id}}>{{item.value}}</option>
{% endfor %}
</select>
</div>
<input type="hidden" name="userType" value="{{houseId}}">
{% endif %}
<input type="submit" id="submit" class="button action" style="position: fixed;top:155px">
{% endif %}
<input type="submit" id="submit" class="button action" style="float:left">
</div>
</div>
</div>
</form>
......@@ -94,9 +97,6 @@
});
setCheckBox();
setAge();
setDate("entrustDay");
setDate("deadLine");
var json = {
"faceto":"{{result.faceto}}",
"age":"{{result.age}}",
......@@ -117,6 +117,7 @@
mark:'required',
rent:'required',
community_name:'required',
description:'required',
baseCity:{
citySelectcheck: true
},
......@@ -144,7 +145,8 @@
owner_name:'请输入业主姓名',
owner_phone:'请输入业主电话',
rent:'请输入租金',
community_name:'请输入小区名称'
community_name:'请输入小区名称',
description:'请输入跟进说明'
},
errorContainer: "#messageBox1",
errorLabelContainer: "#messageBox1",
......
......@@ -34,7 +34,8 @@
{% set unit = '元/月' %}
{% set price = '租金' %}
{% endif %}
<div class="sale_detail">
<form method="post">
<div class="sale_detail">
<h2>房东服务详细</h2>
<ul>
<li>
......@@ -65,17 +66,18 @@
<span>房源描述:</span>
<span>{{ detail_result.description }}</span>
</li>
<li>
<span>置业顾问:</span>
<span>
<select id="consultant">
{% for consultant in consultant_result %}
<option value="{{ consultant.id }}"{% if(house_result.consultant_id == consultant.id) %} selected="selected"{% endif %}>{{ consultant.display_name }}</option>
{% endfor %}
</select>
<label for="consultant"></label>
</span>
</li>
</ul>
</div>
<button id="handle">提交处理</button>
\ No newline at end of file
{% if role_flag %}
{% include 'addConsultant.html' %}
<input type="hidden" name="submit" value="1">
<input type="hidden" id="baseCity" value="{{ cityId }}">
{% include 'recConsultant.html' %}
{{ block('recConsultant') }}
{% else %}
<input type="hidden" name="handle" value="1">
{% endif %}
{% if handle == 0 %}
<input type="submit" id="submit" class="button action" value="提交处理">
{% endif %}
</div>
</form>
\ No newline at end of file
......@@ -16,65 +16,65 @@
</div>
<form action="" method="POST" enctype="multipart/form-data" id="secHouse" class="form-inline">
<form action="" method="POST" enctype="multipart/form-data" id="secHouse" class="form-horizontal">
<div class="row">
<div class="col-md-11">
<div class="col-xs-10">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#info" aria-controls="info" role="tab" data-toggle="tab">楼盘情况</a></li>
<li role="presentation"><a href="#weixin" aria-controls="weixin" role="tab" data-toggle="tab">微信营销</a></li>
<li role="presentation"><a href="#business" aria-controls="business" role="tab" data-toggle="tab">业务信息</a></li>
{% if not houseId %}
<li role="presentation"><a href="#owner" aria-controls="owner" role="tab" data-toggle="tab">业主信息</a></li>
{% endif %}
<li role="presentation"><a href="#photos" aria-controls="photos" role="tab" data-toggle="tab">房源相册</a></li>
<li role="presentation"><a href="#addRecHouse" aria-controls="addRecHouse" role="tab" data-toggle="tab">推荐房源</a></li>
<li role="presentation"><a href="#addFeature" aria-controls="addFeature" role="tab" data-toggle="tab">房源特色</a></li>
<li role="presentation"><a href="#addConsultant" aria-controls="addConsultant" role="tab" data-toggle="tab">置业顾问</a></li>
<li role="presentation" class="active">
<a href="#info" aria-controls="info" role="tab" data-toggle="tab">基本信息</a>
</li>
<li role="presentation">
<a href="#photos" aria-controls="photos" role="tab" data-toggle="tab">图片</a>
</li>
<li role="presentation">
<a href="#customer_tracking" aria-controls="customer_tracking" role="tab" data-toggle="tab">房源跟进</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="info">
{% include 'houseInfo.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="weixin">
{% include 'weixin.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="business">
{% include 'business.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="owner">
{% include 'owner.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="photos">
{% include 'photos.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addRecHouse">
{% include 'addRecHouse.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addFeature">
{% include 'addFeature.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="addConsultant">
{% include 'addConsultant.html' %}
</div>
<div role="tabpanel" class="tab-pane" id="customer_tracking">
{% include 'save_customer_tracking.html' %}
{% import "macro.html" as macro %}
{{ macro.customer_tracking_list(houseId, 1) }}
</div>
</div>
<input type="text" name="type" value="2" hidden="hidden">
{% if houseId %}
<input type="text" name="houseId" value="{{houseId}}" hidden="hidden">
{% endif %}
</div>
<div class="col-md-1">
{% if (role == 'administrator'or role =='eidtor') %}
<div class="col-xs-2">
<div class="row" style="position: fixed;top:200px;">
<select id="status" name="status">
{% if houseId %}
{% if canApproval %}
{% if result.approval != -2 %}
<select name="status" class="form-control">
<option value="{{result.approval}}">通过</option>
<option value="-2">退回</option>
</select>
<input type="hidden" name="userType" value="0">
{% endif %}
{% else %}
<select name="status" class="form-control">
{% for item in status %}
<option {{ item.id == searchStatus.id?"selected":"" }} value={{item.id}}>{{item.value}}</option>
<option {{ item.id == result.status?"selected":"" }} value={{item.id}}>{{item.value}}</option>
{% endfor %}
</select>
</div>
<input type="hidden" name="userType" value="{{houseId}}">
{% endif %}
<input type="submit" id="submit" class="button action" style="position: fixed;top:155px">
{% endif %}
<input type="submit" id="submit" class="button action" style="float:left">
</div>
</div>
</div>
</form>
......@@ -101,8 +101,6 @@
});
setCheckBox();
setAge();
setDate("entrustDay");
setDate("deadLine");
var json = {
"faceto":"{{result.faceto}}",
"age":"{{result.age}}",
......@@ -125,6 +123,7 @@
community_name:'required',
average_price:'required',
latest_news:'required',
description:'required',
baseCity:{
citySelectcheck: true
},
......@@ -152,7 +151,8 @@
owner_phone:'请输入业主电话',
total_price:'请输入售价',
community_name:'请输入小区名称',
average_price:'请输入单价'
average_price:'请输入单价',
description:'请输入跟进说明'
},
errorContainer: "#messageBox1",
errorLabelContainer: "#messageBox1",
......
{% set organization = function('SearchDao::searchOrganization')|json_encode() %}
<div id="organization" style="margin-bottom: 10px;">
<span>门店</span>
<label>部门:</label>
<label for="depth_1" class="hidden"></label>
<select data-depth="1" id="depth_1">
<option value="-1">请选择</option>
......
<br />
<div class="row">
<div class="col-md-12">
<label for="housename">标题:</label>
<div class="row form-group">
<div class="col-xs-4">
<label for="housename" class="col-xs-5 control-label" >微信标题:</label>
<p class="col-xs-7">
<input name="housename" id="housename" type="text" value="{{result.name}}" class="form-control" >
</p>
</div>
{% if house_type == 0 %}
<div class="col-xs-4">
<label for="average_price" class="col-xs-5 control-label">均价:</label>
<p class="col-xs-6">
<input name="average_price" id="average_price" type="text" value="{{result.average_price}}" class="form-control">
</p>
<p class="col-xs-1" style="margin-top: 10px">
&nbsp;
</p>
</div>
{% endif %}
</div>
<br />
<table class="form-table">
<tbody>
<tbody >
<tr>
<th><label for="mark">标签</label></th>
<th style="width:11.9%"><label for="mark" style="margin-left: 42px">标签:</label></th>
<td>
<div id="mark" class="row">
</div><br/>
</div>
<button type="button" class="button action" id="addTagBtn">
标签
</button>
......@@ -30,7 +42,6 @@
addTag(item.tag_id, item.name);
});
{% endif %}
var tagArray = [];
$('#addTagBtn').click(function(){
init_modal_addTag(0, function (id, value) {
......
......@@ -28,6 +28,9 @@ class Config {
const TOSPUR_CUSTOMER_TRACKING_TABLE = 'tospur_customer_tracking';
const TOSPUR_CUSTOMER_TABLE = 'tospur_customer';
const TOSPUR_CONTRACT = 'tospur_contract';
const TOSPUR_COMMISSION = 'tospur_commission';
const TOSPUR_COMMISSION_LOG = 'tospur_commission_log';
const TOSPUR_QUOTA_TABLE = 'tospur_quota';
//sync url
......
<?php
class CommissionDao{
public static function insert_touspur_commission($params){
global $wpdb;
$wpdb->insert(Config::TOSPUR_COMMISSION,$params);
if($wpdb->insert_id){
return $wpdb->insert_id;
}else{
return $wpdb->last_error;
}
}
public static function insert_commission_log($params){
global $wpdb;
$wpdb->insert(Config::TOSPUR_COMMISSION_LOG,$params);
if($wpdb->insert_id){
return $wpdb->insert_id;
}else{
return $wpdb->last_error;
}
}
public static function search_commission_consultant($contractId){
global $wpdb;
$sql = " select consultantId,imageUrl,name,branchName,ioType from ".Config::TOSPUR_COMMISSION." tcom
left join (SELECT tct.id,imageUrl,tct.name,ton.name as branchName from ".Config::TOSPUR_CONSULTANT." tct
left JOIN ".Config::TOSPUR_ORGANIZATION_TABLE." ton on ton.id = tct.subsidiaryId) tc
on tcom.consultantId = tc.id where tcom.contractId = %d order by ioType;";
$result = $wpdb->get_results($wpdb->prepare($sql,$contractId));
return $result;
}
public static function search_commission_log($commissionIds){
global $wpdb;
$sql = " SELECT tcl.id,time,paid,ioType from tospur_commission_log tcl
left join tospur_commission tc on tc.id = tcl.commissionId
where tcl.commissionId in (".$commissionIds.");";
$result = $wpdb->get_results($sql);
return $result;
}
public static function search_tospur_commission($contractId){
global $wpdb;
$sql = "select id,accounts,type from ".Config::TOSPUR_COMMISSION."
where contractId = %d";
$result = $wpdb->get_results($wpdb->prepare($sql,$contractId));
return $result;
}
}
......@@ -4,11 +4,12 @@ class ContractDao {
public static function insert($params){
global $wpdb;
$wpdb->insert(Config::TOSPUR_CONTRACT,$params);
if($wpdb->insert_id){
return $wpdb->insert_id;
}
if($wpdb->last_error){
return $wpdb->last_error;
}
print_r($wpdb->last_error);
return $wpdb->insert_id;
}
public static function setContractId($id,$contractId){
global $wpdb;
......
......@@ -46,6 +46,18 @@ class CustomerDao
$result = $wpdb->get_results($wpdb->prepare($sql, $search,$search));
wp_send_json($result);
}
public static function updateCustomerStatue($id,$status){
global $wpdb;
$result = $wpdb->update(Config::TOSPUR_CUSTOMER_TABLE,array(
'status' => $status,
),array(
'id' => $id
));
if($wpdb->last_error)
return $wpdb->last_error;
return $result;
}
}
?>
\ No newline at end of file
......@@ -42,7 +42,8 @@ class CustomerTrackingDao
' left join (SELECT * FROM ' . Config::TOSPUR_STATUS_TABLE . ' where status_type = 3) as ts on tct.status_type = ts.status_id' .
' left join ' . Config::TOSPUR_CONSULTANT . ' tc on tct.consultant_id = tc.id' .
' where tct.house_id = ' . $house_id . ' and tct.origin = ' . $origin;
return $wpdb->get_results($sql);
$result = $wpdb->get_results($sql);
return $result;
}
public static function search_status()
......
......@@ -3,16 +3,15 @@
class InsertDao{
public static function insert_tospur_house($params){
global $wpdb;
$houseRes = $wpdb->insert(Config::TOSPUR_HOUSE_TABLE, $params);
$wpdb->insert(Config::TOSPUR_HOUSE_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
$houseId = $wpdb->insert_id;
if(!InsertDao::setHouseNumber($houseId,$params['house_type'],$params['city_id'])){
return 510;
return "房源代码生成失败";
}
if($houseRes){
return $houseId;
}else{
return 500;
}
}
public static function setHouseNumber($houseId,$houseType,$cityId){
......@@ -41,52 +40,47 @@ class InsertDao{
public static function insert_tospur_image($params){
global $wpdb;
$imgRes = $wpdb->insert(Config::TOSPUR_IMAGE_TABLE, $params);
$wpdb->insert(Config::TOSPUR_IMAGE_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
$imgId = $wpdb->insert_id;
if($imgRes){
return $imgId;
}else{
return 501;
}
}
public static function insert_a_district_area($params){
global $wpdb;
$districtAreaRes = $wpdb->insert(Config::A_DISTRICT_AREA_TABLE, $params);
if($districtAreaRes){
return $districtAreaRes;
}else{
return 502;
$wpdb->insert(Config::A_DISTRICT_AREA_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
return $wpdb->insert_id;
}
public static function insert_a_house_image($params){
global $wpdb;
$houseImageRes = $wpdb->insert(Config::A_HOUSE_IMAGE_TABLE, $params);
if($houseImageRes){
return $houseImageRes;
}else{
return 503;
$wpdb->insert(Config::A_HOUSE_IMAGE_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
return $wpdb->insert_id;
}
public static function insert_a_house_recommend($params){
global $wpdb;
$houseImageRes = $wpdb->insert(Config::A_HOUSE_RECOMMEND_TABLE, $params);
if($houseImageRes){
return $houseImageRes;
}else{
return 504;
$wpdb->insert(Config::A_HOUSE_RECOMMEND_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
return $wpdb->insert_id;
}
public static function insert_a_house_user($params){
global $wpdb;
$houseUserRes = $wpdb->insert(Config::A_HOUSE_USER_TABLE, $params);
if($houseUserRes){
return $houseUserRes;
}else{
return 505;
$wpdb->insert(Config::A_HOUSE_USER_TABLE, $params);
if($wpdb->last_error){
return $wpdb->last_error;
}
return $wpdb->insert_id;
}
public static function addMainImage($houseId,$data){
......@@ -94,6 +88,7 @@ class InsertDao{
//图片信息
$uploadedfile = $_FILES['files'];
$frontCover = $_POST["frontCover"];
$result = 1;
//主力房源的图片与房子信息关联插入数据库
if(isset($uploadedfile["name"])){
foreach($uploadedfile["name"] as $key=> $value) {
......@@ -128,9 +123,9 @@ class InsertDao{
$imagePath = get_home_path().$url;
Image::makeImage($uploadFileName,$imagePath);
//插入图片表
$imgRes = $wpdb->insert('tospur_image', $insert_image_array);
if (!$imgRes) {
return 501;
$wpdb->insert('tospur_image', $insert_image_array);
if ($wpdb->last_error) {
return $wpdb->last_error;
}
//获取插入图片的id
......@@ -147,9 +142,9 @@ class InsertDao{
"house_area" => $data["$key"]["housearea"],
"image_id" => $imgid
);
$houseTypeAreaRes = $wpdb->insert(Config::A_DISTRICT_AREA_TABLE, $houseTypeArea);
if (!$houseTypeAreaRes) {
return 502;
$wpdb->insert(Config::A_DISTRICT_AREA_TABLE, $houseTypeArea);
if ($wpdb->last_error) {
return $wpdb->last_error;
}
}
//将房源id与图片id储存到关联表中
......@@ -157,9 +152,9 @@ class InsertDao{
'house_id' => $houseId,
'image_id' => $imgid,
);
$houseImgRes = $wpdb->insert(Config::A_HOUSE_IMAGE_TABLE, $house_img_array);
if (!$houseImgRes) {
return 503;
$wpdb->insert(Config::A_HOUSE_IMAGE_TABLE, $house_img_array);
if ($wpdb->last_error) {
return $wpdb->last_error;
}
} else {
return $movefile['error'];
......@@ -168,6 +163,10 @@ class InsertDao{
}
}
$wpdb->update(Config::TOSPUR_HOUSE_TABLE,array("frontCover_id"=>$frontCover),array("id"=>$houseId));
if ($wpdb->last_error) {
return $wpdb->last_error;
}
return $result;
}
public static function addRecommend($houseId,$data){
......@@ -179,12 +178,13 @@ class InsertDao{
"house_id" => $houseId,
"recommend_id" =>$value
);
$a_house_recommendRes = $wpdb->insert(Config::A_HOUSE_RECOMMEND_TABLE, $a_house_recommendArray);
if(!$a_house_recommendRes){
return 504;
$wpdb->insert(Config::A_HOUSE_RECOMMEND_TABLE, $a_house_recommendArray);
if( $wpdb->last_error){
return $wpdb->last_error;
}
}
}
return 1;
}
public static function addRecConsultant($houseId, $consultant){
......@@ -197,14 +197,13 @@ class InsertDao{
"house_id" => $houseId,
"user_type" => 1
);
$a_house_userRes = $wpdb->replace(Config::A_HOUSE_USER_TABLE,$a_house_userArray);
if($a_house_userRes){
return $a_house_userRes;
}else{
$wpdb->replace(Config::A_HOUSE_USER_TABLE,$a_house_userArray);
if( $wpdb->last_error){
return $wpdb->last_error;
}
}
}
return 1;
}
public static function addHouseFeature($houseId,$houseFeature){
......@@ -215,13 +214,13 @@ class InsertDao{
"house_id" => $houseId,
"tag_id" =>$val
);
$a_house_featureRes = $wpdb->insert(Config::A_HOUSE_TAG_TABLE,$a_house_feature);
if(!$a_house_featureRes){
return 506;
$wpdb->insert(Config::A_HOUSE_TAG_TABLE,$a_house_feature);
if( $wpdb->last_error){
return $wpdb->last_error;
}
}
}
return 1;
}
......@@ -234,6 +233,9 @@ class InsertDao{
" left JOIN " . Config::TOSPUR_TAG_TABLE . " tt on aht.tag_id = tt.id) as a" .
" where house_id = %d and a.type = 0);", $house_id)
);
if( $wpdb->last_error){
return $wpdb->last_error;
}
if ($houseTag) {
foreach ($houseTag as $val) {
$a_house_tag = array(
......@@ -241,9 +243,13 @@ class InsertDao{
"tag_id" => $val
);
$wpdb->insert(Config::A_HOUSE_TAG_TABLE, $a_house_tag);
if( $wpdb->last_error){
return $wpdb->last_error;
}
}
}
return 1;
}
public static function arrayToString($array)
{
......@@ -263,6 +269,4 @@ class InsertDao{
}
?>
\ No newline at end of file
<?php
class QuotaDao {
public static function replace($year,$month,$consultantId,$quota){
global $wpdb;
$result = $wpdb->replace(Config::TOSPUR_QUOTA_TABLE,array(
"year" => $year,
"month" => $month,
"consultantId" => $consultantId,
"quota" => $quota
),array(
"%d",
"%d",
"%d",
"%d"
));
if($wpdb->last_error)
return $wpdb->last_error;
return $result;
}
}
\ No newline at end of file
......@@ -131,7 +131,7 @@ class SearchDao
global $wpdb;
$where = " where 1=1 ";
if ($parentId != NULL) {
$where .= " and ParentId =" . $parentId;
$where .= " and ParentId = %d";
}
$result = $wpdb->get_results($wpdb->prepare('select * from ' . Config::TOSPUR_ORGANIZATION_TABLE . $where, $parentId));
return $result;
......@@ -195,7 +195,7 @@ class SearchDao
$orderbySql = " order by th.creattime DESC";
}
$sql = "select th.id,th.house_type,th.name,th.latest_news,th.address,th.average_price,th.community_name,th.covered_area,th.total_price,th.decoration,th.rent,".
"ti.path,dr.literal,th.house_number,dbp.bp_literal,(SELECT GROUP_CONCAT(left(tt.name,3)) from ".Config::A_HOUSE_TAG_TABLE." aht".
"ti.path,dr.literal,th.house_number,dbp.bp_literal,th.owner_name,th.owner_phone,(SELECT GROUP_CONCAT(left(tt.name,3)) from ".Config::A_HOUSE_TAG_TABLE." aht".
" LEFT JOIN ".Config::TOSPUR_TAG_TABLE." tt on tt.id = aht.tag_id".
" where aht.house_id = th.id) as tags from ".Config::TOSPUR_HOUSE_TABLE." th".
$addSql.
......@@ -295,7 +295,9 @@ class SearchDao
public static function searchConsultant($consulCityId = NULL,$consultantName = NULL){
global $wpdb;
$sql = "select id,name,imageUrl from ".Config::TOSPUR_CONSULTANT." where 1=1";
$sql = "select tc.id,tc.name,imageUrl,tor.Name as branchName from ".Config::TOSPUR_CONSULTANT." tc
LEFT JOIN ".Config::TOSPUR_ORGANIZATION_TABLE." tor on tc.subsidiaryId = tor.Id
where 1=1";
$params = array();
if($consulCityId != NULL){
$params[] = $consulCityId;
......@@ -303,7 +305,7 @@ class SearchDao
}
if($consultantName != NULL){
$params[] = '%'.$consultantName.'%';
$sql = $sql." and name like %s";
$sql = $sql." and tc.name like %s";
}
$result = $wpdb->get_results($wpdb->prepare($sql,$params));
return $result;
......@@ -337,12 +339,12 @@ class SearchDao
return $feature;
}
/*public static function searchFeature()
public static function searchFeature()
{
global $wpdb;
$sql = 'select id,name as value from '.Config::TOSPUR_TAG_TABLE.' where type = 1;';
return $wpdb->get_results($sql);
}*/
}
public static function ajax_searchTagOrFeature()
{
......@@ -459,35 +461,6 @@ class SearchDao
$featureSql ="select tag_id,name from a_house_tag aht
LEFT JOIN (select id as tid,name ,type from ".Config::TOSPUR_TAG_TABLE.") tt on aht.tag_id = tt.tid where aht.house_id = %d and tt.type = %d";
$feature = $wpdb->get_results($wpdb->prepare($featureSql,$params));
//print_r($wpdb->last_query);
return $feature;
}
public static function searchStatus($hid,$statusType){
global $wpdb;
$statusSql = "select status_id as id from tospur_house th
left join(select status_type,status_id,status_name from ".Config::TOSPUR_STATUS_TABLE.") ts on th.status = ts.status_id where th.id=".$hid." and status_type=".$statusType;
$status = $wpdb->get_row($statusSql);
return $status;
}
public static function searchRent($hid){
global $wpdb;
$rentSql = "select rent as value from ".Config::TOSPUR_HOUSE_TABLE." where id = %d";
$results = $wpdb->get_row($wpdb->prepare($rentSql,$hid));
return $results;
}
public static function ajax_search_organization()
{
wp_send_json(SearchDao::search_organization());
}
public static function search_organization()
{
global $wpdb;
$rentSql = "SELECT * FROM tospur_organization where ParentId = 0 and Depth = 1;";
$results = $wpdb->get_row($wpdb->prepare($rentSql,$hid));
return $results;
}
}
\ No newline at end of file
<?php
require_once(PLUGIN_DIR . 'Config.php');
class TospurDao
......
......@@ -3,4 +3,29 @@
require_once(PLUGIN_DIR . 'Config.php');
class Core {
function get_week($year) {
$year_start = $year . "-01-01";
$year_end = $year . "-12-31";
$startday = strtotime($year_start);
if (intval(date('N', $startday)) != '1') {
$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
}
$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期
$endday = strtotime($year_end);
if (intval(date('W', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}
$num = intval(date('W', $endday));
for ($i = 1; $i <= $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
$end_day = date("Y-m-d", strtotime("$start_date +6 day"));
$week_array[$i] = array ( $start_date, $end_day );
}
return $week_array;
}
}
\ No newline at end of file
......@@ -22,7 +22,7 @@ class TCSync {
$user = get_user_by( "login", $item['WorkNum'] );
$userdata = array(
'ID' => $user->data->ID,
'role' => 'author',
'role' => 'zygw',
'display_name' => $item['Name']
);
$user_id = wp_update_user( $userdata ) ;
......@@ -30,7 +30,7 @@ class TCSync {
$userdata = array(
'user_login' => $item['WorkNum'],
'user_pass' => $item['WorkNumAndID'], // When creating an user, `user_pass` is expected.
'role' => 'author',
'role' => 'zygw',
'display_name' => $item['Name']
);
$user_id = wp_insert_user( $userdata ) ;
......@@ -70,6 +70,7 @@ class TCSync {
$result = wp_remote_retrieve_body( $response );
$result = json_decode($result,true);
//print_r($result['data']['CityList']);
$wpdb->query("delete from ".Config::DIC_CITY_TABLE." where cityId > -1;");
foreach($result['data']['CityList'] as $item){
$wpdb->query(TCSync::create_insert_update_sql(Config::DIC_CITY_TABLE,$item,array('plateId')));
//print_r(TCSync::create_insert_update_sql(Config::CITY_TABLE,$item,array('plateId')));print_r("<br />");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment