Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujun
tl_estate
Commits
b261408e
Commit
b261408e
authored
Aug 24, 2018
by
xishifeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
跟进详情调整
parent
35d91bb7
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
419 additions
and
6 deletions
+419
-6
Index.php
application/app_broker/controller/Index.php
+5
-0
customer_genjin_detail_pc.html
...tion/app_broker/view/index/customer_genjin_detail_pc.html
+30
-0
route.php
application/route.php
+1
-0
customer_genjin_detail_pc.css
public/app/css/customer_genjin_detail_pc.css
+16
-0
customer_genjin_detail_pc.js
public/app/js/customer_genjin_detail_pc.js
+366
-0
main.js
public/app/js/main.js
+1
-6
No files found.
application/app_broker/controller/Index.php
View file @
b261408e
...
@@ -183,6 +183,11 @@ class Index
...
@@ -183,6 +183,11 @@ class Index
return
view
(
'index/shop_detail_pc'
);
return
view
(
'index/shop_detail_pc'
);
}
}
public
function
customer_genjin_detail_pc
()
{
return
view
(
'index/customer_genjin_detail_pc'
);
}
public
function
customerinfo_details_new
()
public
function
customerinfo_details_new
()
{
{
return
view
(
'index/customerinfo_details_new'
);
return
view
(
'index/customerinfo_details_new'
);
...
...
application/app_broker/view/index/customer_genjin_detail_pc.html
0 → 100644
View file @
b261408e
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
同联商业
</title>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
/>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<meta
name=
"Keywords"
content=
""
/>
<meta
name=
"Description"
content=
""
/>
</head>
<body
style=
"display: none;"
>
<div
id=
"app"
>
<nav
class=
"oh"
>
<div
class=
"main-btn-box fl"
>
<a>
客户详情/跟进
</a>
<a>
约带看
</a>
</div>
<div
class=
"step-btn-box fl"
>
<a>
上一条客户
</a>
<a>
下一条客户
</a>
</div>
</nav>
</div>
<script
src=
"/app/js/libs/require.min.js"
data-js=
"/app/js/customer_genjin_detail_pc.js"
data-main=
"/app/js/main"
data-norem=
"yes"
defer
async=
"true"
></script>
</body>
</html>
\ No newline at end of file
application/route.php
View file @
b261408e
...
@@ -46,6 +46,7 @@ Route::group('app_broker', [
...
@@ -46,6 +46,7 @@ Route::group('app_broker', [
'customerinfo_genjin'
=>
[
'app_broker/index/customerinfo_genjin'
,
[
'method'
=>
'get'
]
],
'customerinfo_genjin'
=>
[
'app_broker/index/customerinfo_genjin'
,
[
'method'
=>
'get'
]
],
'timeline_pc'
=>
[
'app_broker/index/timeline_pc'
,
[
'method'
=>
'get'
]
],
'timeline_pc'
=>
[
'app_broker/index/timeline_pc'
,
[
'method'
=>
'get'
]
],
'shop_detail_pc'
=>
[
'app_broker/index/shop_detail_pc'
,
[
'method'
=>
'get'
]
],
'shop_detail_pc'
=>
[
'app_broker/index/shop_detail_pc'
,
[
'method'
=>
'get'
]
],
'customer_genjin_detail_pc'
=>
[
'app_broker/index/customer_genjin_detail_pc'
,
[
'method'
=>
'get'
]
],
'bargaininfo_detail_pc'
=>
[
'app_broker/index/bargaininfo_detail_pc'
,
[
'method'
=>
'get'
]
],
'bargaininfo_detail_pc'
=>
[
'app_broker/index/bargaininfo_detail_pc'
,
[
'method'
=>
'get'
]
],
'customerinfo_customer_add'
=>
[
'app_broker/index/customerinfo_customer_add'
,
[
'method'
=>
'get'
]
],
'customerinfo_customer_add'
=>
[
'app_broker/index/customerinfo_customer_add'
,
[
'method'
=>
'get'
]
],
'customerinfo_details_new'
=>
[
'app_broker/index/customerinfo_details_new'
,
[
'method'
=>
'get'
]
],
'customerinfo_details_new'
=>
[
'app_broker/index/customerinfo_details_new'
,
[
'method'
=>
'get'
]
],
...
...
public/app/css/customer_genjin_detail_pc.css
0 → 100644
View file @
b261408e
@charset
"utf-8"
;
body
{
background-color
:
white
;
font-size
:
14px
;
}
nav
{
}
.main-btn-box
>
a
{
background-image
:
-webkit-gradient
(
linear
,
left
0
,
left
100%
,
from
(
#fff
),
to
(
#e6e6e6
));
border-color
:
#ccc
;
color
:
#333
;
padding
:
6px
12px
;
}
public/app/js/customer_genjin_detail_pc.js
0 → 100644
View file @
b261408e
'use strict'
;
require
([
'vue'
,
'css!style/customer_genjin_detail_pc.css'
,
'jquery0325'
,
'common'
],
function
(
Vue
,
VConsole
)
{
var
shop_id
=
getUrlParam
(
'shop_id'
);
var
user_info_obj
=
JSON
.
parse
(
decodeURIComponent
(
localStorage
.
getItem
(
'pcUserInfo'
)));
//读取缓存
console
.
log
(
user_info_obj
);
var
vm
=
new
Vue
({
el
:
'#app'
,
data
:
{
user_info_obj
,
dataCode
:
''
,
modalShow2
:
false
,
//第二个弹出框是否显示
modalShow1
:
false
,
//第一个弹出框是否显示
isCallFlag
:
false
,
//是否正在拨打
isGenjinSave
:
false
,
//是否正在保存跟进
selectPhone
:
''
,
//所选中的号码
telHide
:
''
,
//拨打隐号返回的号码
tempFollowId
:
''
,
//临时的跟进id
activeLandlord
:
''
,
//当前点击的房东
content
:
''
,
//跟进的内容,填写
d
:
{}
},
created
:
function
()
{
var
_this
=
this
;
$
.
ajax
({
type
:
'get'
,
url
:
'/broker/getShopDetail'
,
data
:
{
'id'
:
shop_id
,
'site_area'
:
4
,
//pc后台固定传4
'AuthToken'
:
_this
.
user_info_obj
.
AuthToken
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{},
success
:
function
(
_data
)
{
document
.
body
.
style
.
display
=
'block'
;
if
(
typeof
_data
===
'object'
)
{
_this
.
dataCode
=
_data
[
'code'
];
if
(
_data
[
'code'
]
==
'200'
)
{
_this
.
d
=
_data
.
data
;
}
else
{
layerTipsX
(
_data
[
'msg'
]);
}
}
else
{
layerTipsX
(
'数据错误'
);
};
},
error
:
function
()
{
layerTipsX
(
'enter error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
if
(
textStatus
===
'timeout'
)
{
//处理超时的逻辑
layerTipsX
(
'请求超时,请重试'
);
};
}
});
},
mounted
:
function
()
{
var
_thisV
=
this
;
_thisV
.
$nextTick
(
function
(){
$
(
'#call_modal_phone_self'
).
val
(
user_info_obj
.
phone
);
//拨打电话模态框,获取电话列表
_thisV
.
user_info_obj
.
id
&&
$
.
ajax
({
type
:
'GET'
,
url
:
ServerHostTempC
+
'/broker/agentsPhone'
,
data
:
{
'AuthToken'
:
_thisV
.
user_info_obj
.
AuthToken
,
'agents_id'
:
_thisV
.
user_info_obj
.
id
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{},
success
:
function
(
data
)
{
if
(
typeof
data
===
'object'
)
{
if
(
data
.
code
==
200
)
{
var
_htmlTemp
=
''
;
$
.
each
(
data
[
'data'
],
function
(
i
,
item
)
{
_htmlTemp
+=
'<li class="{0}"><input placeholder="请输入本机手机号" maxlength="11" type="tel" value="{1}" {2} /><div class="call-edit-icon">完成</div><div class="call-submit-ing-icon">提交中ing</div><div class="call-select-icon"><img src="/app/images/ic_duigou_gre.png" /></div></li>'
.
stringFormatObj
({
'0'
:
''
,
'1'
:
item
[
'phone'
],
'2'
:
'readonly'
,
});
});
$
(
'.call-modal-main>ol'
).
append
(
_htmlTemp
);
}
else
{
layerTipsX
(
data
[
'msg'
]);
};
}
else
{
layerTipsX
(
'数据错误'
);
};
},
error
:
function
()
{
layerTipsX
(
'error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
if
(
textStatus
===
'timeout'
)
{
layerTipsX
(
'请求超时'
);
};
}
});
var
_doc
=
$
(
document
);
var
_genjinCloseBtn
=
$
(
'#close_btn'
),
//跟进模态框关闭按钮
_addPhoneBtn
=
$
(
'#add_phone_btn'
),
//添加电话按钮
_addPhoneListObj
=
$
(
'#call_modal_phone_list'
);
//添加电话列表对象dom
//输入手机号,点完成的事件
_doc
.
on
(
'click'
,
'#call_modal_phone_list>li>.call-edit-icon'
,
function
(
e
)
{
e
.
preventDefault
();
e
.
stopPropagation
();
var
_this
=
$
(
this
),
_phoneTemp
=
$
.
trim
(
_this
.
prev
().
val
());
if
(
!
is_mobile
(
_phoneTemp
))
{
layerTipsX
(
'请输入正确的手机号码'
);
return
false
;
};
$
.
ajax
({
type
:
'POST'
,
url
:
ServerHostTempC
+
'/broker/agentsPhone'
,
data
:
{
'AuthToken'
:
_thisV
.
user_info_obj
.
AuthToken
,
'agents_id'
:
_thisV
.
user_info_obj
.
id
,
'phone'
:
_phoneTemp
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{
_this
.
hide
();
_this
.
next
().
show
();
},
success
:
function
(
data
)
{
if
(
typeof
data
===
'object'
)
{
if
(
data
.
code
==
200
)
{
_this
.
prev
().
attr
(
'readonly'
,
'readonly'
).
parent
().
removeClass
(
'call-add'
).
addClass
(
'call-select'
).
siblings
().
removeClass
(
'call-select'
);
_addPhoneBtn
.
show
();
}
else
{
layerTipsX
(
data
[
'msg'
]);
};
}
else
{
layerTipsX
(
'数据错误'
);
};
},
error
:
function
()
{
layerTipsX
(
'error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
_this
.
next
().
hide
();
_this
.
parent
().
hasClass
(
'call-add'
)
&&
_this
.
show
();
if
(
textStatus
===
'timeout'
)
{
layerTipsX
(
'请求超时'
);
};
}
});
});
//选中当前行的电话的事件
_doc
.
on
(
'click'
,
'#call_modal_phone_list>li'
,
function
(
e
)
{
e
.
preventDefault
();
e
.
stopPropagation
();
var
_this
=
$
(
this
);
if
(
_this
.
find
(
'input'
)[
0
].
readOnly
)
{
if
(
!
_this
.
hasClass
(
'call-select'
))
{
_this
.
addClass
(
'call-select'
).
siblings
().
removeClass
(
'call-select'
);
};
};
});
//点击添加手机号的事件
_addPhoneBtn
.
click
(
function
(
e
)
{
e
.
preventDefault
();
e
.
stopPropagation
();
if
(
_addPhoneListObj
.
find
(
'li'
).
length
>=
3
)
{
layerTipsX
(
'可添加的号码最多为3'
);
return
false
;
}
else
{
_addPhoneBtn
.
hide
();
_addPhoneListObj
.
append
(
'<li class="call-add"><input placeholder="请输入本机手机号" maxlength="11" type="tel" /><div class="call-edit-icon">完成</div><div class="call-submit-ing-icon">提交中ing</div><div class="call-select-icon"><img src="/app/images/ic_duigou_gre.png" /></div></li>'
).
find
(
'.call-add>input'
).
focus
();
};
});
});
},
methods
:
{
hidePhone
(
t
)
{
return
hideTel
(
t
);
},
signRule
()
{
let
_this
=
this
;
return
'付'
+
_this
.
d
.
payment_month
+
'押'
+
_this
.
d
.
deposit_month
+
' '
+
_this
.
d
.
age_limit
+
'年'
;
},
showModal1
(
t
)
{
let
_this
=
this
;
_this
.
activeLandlord
=
t
;
_this
.
modalShow1
=
true
;
},
//点击拨打,调用隐号接口
showModal2
()
{
let
_this
=
this
;
if
(
_this
.
isCallFlag
)
{
return
false
;
};
_this
.
$nextTick
(
function
(){
var
_beizhuObj
=
$
(
'#content'
);
//跟进的备注内容
var
_selectObj
=
$
(
'.call-select'
);
if
(
_selectObj
.
length
!=
1
)
{
layerTipsX
(
'选择出错'
);
return
false
;
}
else
{
_this
.
selectPhone
=
$
.
trim
(
_selectObj
.
find
(
'input'
).
val
());
};
$
.
ajax
({
type
:
'post'
,
url
:
ServerHostTempC
+
'/broker/bindAXB'
,
//url: '/index/bindAXB',
data
:
{
'phone_a'
:
_this
.
selectPhone
,
'phone_b'
:
_this
.
activeLandlord
.
phone
,
'AuthToken'
:
_this
.
user_info_obj
.
AuthToken
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{
_this
.
isCallFlag
=
true
;
},
success
:
function
(
_data
)
{
if
(
_data
[
'code'
]
==
'200'
)
{
_this
.
telHide
=
_data
.
data
.
phone
;
_this
.
tempFollowId
=
_data
.
data
.
follow_id
;
console
.
log
(
_this
.
telHide
);
_this
.
modalShow1
=
false
;
_this
.
modalShow2
=
true
;
_beizhuObj
.
val
(
''
);
//清空跟进输入框内容
}
else
{
layerTipsX
(
_data
[
'msg'
]);
}
},
error
:
function
()
{
layerTipsX
(
'enter error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
_this
.
isCallFlag
=
false
;
if
(
textStatus
===
'timeout'
)
{
//处理超时的逻辑
layerTipsX
(
'请求超时,请重试'
);
};
}
});
});
},
saveGenjin
()
{
let
_this
=
this
;
if
(
!
_this
.
isGenjinSave
){
if
(
_this
.
content
==
''
){
layerTipsX
(
'跟进内容为空'
);
return
false
;
};
/***
agent_id true int 经纪人id
agent_phone true string 经纪人手机号
agent_name true string 经纪人名
house_id true int 楼盘id
follow_up_info true string 跟进内容
landlord_phone false string 房东手机号
landlord_name false string 备注
*****/
$
.
ajax
({
type
:
'post'
,
url
:
ServerHostTempC
+
'/broker/addShopFollowUp'
,
data
:
{
'AuthToken'
:
_this
.
user_info_obj
.
AuthToken
,
'agent_id'
:
_this
.
user_info_obj
.
id
,
'agent_phone'
:
_this
.
user_info_obj
.
phone
,
'agent_name'
:
_this
.
user_info_obj
.
name
,
'house_id'
:
_this
.
d
.
id
,
'follow_id'
:
_this
.
tempFollowId
,
'follow_up_info'
:
_this
.
content
,
'landlord_phone'
:
_this
.
activeLandlord
.
phone
,
'landlord_name'
:
_this
.
activeLandlord
.
name
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{
_this
.
isGenjinSave
=
true
;
},
success
:
function
(
_data
)
{
if
(
_data
[
'code'
]
==
'200'
)
{
alert
(
'保存成功'
);
_this
.
modalShow2
=
false
;
}
else
{
layerTipsX
(
_data
[
'msg'
]);
}
},
error
:
function
()
{
layerTipsX
(
'enter error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
_this
.
isGenjinSave
=
false
;
if
(
textStatus
===
'timeout'
)
{
//处理超时的逻辑
layerTipsX
(
'请求超时,请重试'
);
};
}
});
}
},
//点击未打通,释放号码的接口
releaseTel
()
{
let
_this
=
this
;
$
.
ajax
({
type
:
'post'
,
url
:
'/index/agentsUnBind'
,
data
:
{
'phone_a'
:
_this
.
selectPhone
,
//经纪人手机号
'phone_b'
:
_this
.
activeLandlord
.
phone
,
//客户手机号
'phone_x'
:
_this
.
telHide
,
//中间号
'AuthToken'
:
_this
.
user_info_obj
.
AuthToken
},
timeout
:
30000
,
dataType
:
'json'
,
beforeSend
:
function
()
{},
success
:
function
(
_data
)
{
if
(
_data
[
'code'
]
==
'200'
)
{
//_this.modalShow2 = false;
}
else
{
layerTipsX
(
_data
[
'msg'
]);
}
},
error
:
function
()
{
layerTipsX
(
'enter error'
);
},
complete
:
function
(
xhr
,
textStatus
)
{
if
(
textStatus
===
'timeout'
)
{
//处理超时的逻辑
layerTipsX
(
'请求超时,请重试'
);
};
}
});
}
},
computed
:
{
dealPrice
:
function
()
{
let
_this
=
this
;
if
(
_this
.
d
.
rent_type
==
'1'
)
{
return
'租金均价 :'
+
_this
.
d
.
rent_price
+
'元/月'
;
}
else
if
(
_this
.
d
.
rent_type
==
'2'
)
{
return
'营业额扣点 :'
+
_this
.
d
.
rent_price
+
'%'
;
}
else
{
return
'租金均价 :'
+
_this
.
d
.
rent_price
+
'元/天/m²'
;
}
},
dealArea
:
function
()
{
let
_this
=
this
;
if
(
_this
.
d
.
shop_type
)
{
//街铺
return
_this
.
d
.
shop_area_start
+
'㎡'
;
}
else
{
//商场
return
_this
.
d
.
shop_area_start
+
'㎡—'
+
_this
.
d
.
shop_area_end
+
'㎡'
;
}
}
}
});
});
\ No newline at end of file
public/app/js/main.js
View file @
b261408e
...
@@ -10,18 +10,13 @@ require.config({
...
@@ -10,18 +10,13 @@ require.config({
'common'
:
'js/common'
,
'common'
:
'js/common'
,
'style'
:
'css'
,
'style'
:
'css'
,
'doT'
:
'js/libs/doT'
,
'doT'
:
'js/libs/doT'
,
'layer'
:
'js/layer'
,
'layer'
:
'js/layer'
'bootstrapJs'
:
'js/libs/bootstrap.min'
,
},
},
'shim'
:
{
'shim'
:
{
'jquery0325'
:
{
'jquery0325'
:
{
'deps'
:
[
'css!js/need/layer.css'
],
'deps'
:
[
'css!js/need/layer.css'
],
'exports'
:
'jquery0325'
'exports'
:
'jquery0325'
},
},
'bootstrapJs'
:
{
'deps'
:
[
'jquery0325'
,
'css!style/bootstrap.css'
,
'css!style/bootstrap-theme.min.css'
],
'exports'
:
'bootstrapJs'
},
'doT'
:
{
'doT'
:
{
'exports'
:
'doT'
'exports'
:
'doT'
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment