注释语句

0 个父辈
正在显示 1000 个修改的文件 包含 4828 行增加0 行删除

要显示的修改太多。

为保证性能只显示 1000 of 1000+ 个文件。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_151">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>zzhnc</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>
eclipse.preferences.version=1
encoding//src/com/w1hd/zzhnc/service/ActivityService.java=UTF-8
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="zzhnc">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="zzhnc"/>
<property name="java-output-path" value="/zzhnc/build/classes"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v7.0"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
Window
\ No newline at end of file
Manifest-Version: 1.0
Class-Path:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-4.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.8.0.xsd">
<!-- ActiveMQ 连接工厂 -->
<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
<!-- 如果连接网络:tcp://ip:61616;未连接网络:tcp://localhost:61616 以及用户名,密码 -->
<amq:connectionFactory id="amqConnectionFactory"
brokerURL="tcp://119.23.153.87:61616" userName="admin" password="admin" />
<!-- Spring Caching连接工厂 -->
<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
<bean id="connectionFactory"
class="org.springframework.jms.connection.CachingConnectionFactory">
<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
<property name="targetConnectionFactory" ref="amqConnectionFactory"></property>
<!-- 同上,同理 -->
<!-- <constructor-arg ref="amqConnectionFactory" /> -->
<!-- Session缓存数量 -->
<property name="sessionCacheSize" value="100" />
</bean>
<!-- Spring JmsTemplate 的消息生产者 start -->
<!-- 定义JmsTemplate的Queue类型 -->
<bean id="jmsQueueTemplate" class="org.springframework.jms.core.JmsTemplate">
<constructor-arg ref="connectionFactory" />
<property name="pubSubDomain" value="false" />
</bean>
<!-- 定义JmsTemplate的Topic类型 -->
<bean id="jmsTopicTemplate" class="org.springframework.jms.core.JmsTemplate">
<constructor-arg ref="connectionFactory" />
<property name="pubSubDomain" value="true" />
</bean>
<!-- 定义Topic监听器 -->
<jms:listener-container destination-type="topic"
container-type="default" connection-factory="connectionFactory"
acknowledge="auto">
<jms:listener destination="zzhnc.topic" ref="zzhncTopicReceiver" />
</jms:listener-container>
<!-- 消息消费者 end -->
</beans>
\ No newline at end of file
jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc\:mysql\://127.0.0.1\:3306/interact?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
jdbc.url=jdbc\:mysql\://120.76.158.63\:3306/mini_zzhnc?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true&useSSL=false&allowMultiQueries=true
jdbc.username=dvtest
jdbc.password=dvtest_w1hd.com
#pool settings
jdbc.pool.init=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
#jdbc.testSql=SELECT 'x'
jdbc.testSql=SELECT 'x' FROM DUAL
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<appender name="application.log" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/interact/application.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss} [%-5p][%t][%c{1}] %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO" />
<param name="levelMax" value="FATAL" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p: %m%n" />
<!-- "%-5p: [%t] [%c{3}.%M(%L)] | %m%n" -->
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="trace" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
<appender name="project.log" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/interact/project.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss} [%-5p][%t][%c{1}] %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO" />
<param name="levelMax" value="FATAL" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="exception.log" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/interact/exception.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss} [%-5p][%t][%c{1}] %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="ERROR" />
<param name="levelMax" value="FATAL" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss} [%-5p][%t][%c{1}] %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="console" />
<appender-ref ref="stdout" />
<appender-ref ref="application.log" />
<appender-ref ref="exception.log" />
</root>
</log4j:configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.AutoreplyDao">
<select id="findByKeys" resultType="com.w1hd.zzhnc.model.Autoreply">
SELECT * FROM autoreply
<where>
1=1 AND deleted = 0
<if test="keys != null">
<foreach item="item" collection="keys" separator="" open=""
close="" index="">
and concat('|' ,keyWords,'|') LIKE '%|${item}|%'
</foreach>
</if>
<if test="projectId != null ">
AND project_id = #{projectId}
</if>
</where>
ORDER BY sort DESC
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.CalllogDao">
<select id="getCalllogList" resultType="com.w1hd.zzhnc.vo.Calllog_Vo">
select a.*,b.nickname,b.logo,c.name as salename from calllog a
left join fans b on a.fansid=b.id
LEFT JOIN sales c on a.salesid=c.id
<where>
<if test="keyword !=null and keyword!='' ">
and (b.nickname like CONCAT(CONCAT('%',#{keyword}),'%')
or
c.name like CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</where>
order by a.createdtime desc
limit #{0},#{1}
</select>
<select id="getCalllogCount" resultType="java.lang.Integer">
select count(a.id) from calllog a
left join fans b on a.fansid=b.id
LEFT JOIN sales c on a.salesid=c.id
<where>
<if test="keyword !=null and keyword!='' ">
and (b.nickname like CONCAT(CONCAT('%',#{keyword}),'%')
or
c.name like CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</where>
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.ChatlogDao">
<select id="getChatlogList" resultType="com.w1hd.zzhnc.vo.Chatlog_Vo">
select a.*,b.nickName,b.logo,c.name as salename,c.isvanker from
chatlog a
left join fans b on a.fansid=b.id
left join sales c on
a.salesid=c.id
<where>
<if test="replytype != null and replytype>0">
and a.replytype=#{replytype}
</if>
<if test="keyword !=null and keyword!='' ">
and (a.ask like CONCAT(CONCAT('%',#{keyword}),'%')
or
a.reply like CONCAT(CONCAT('%',#{keyword}),'%')
or b.nickname like
CONCAT(CONCAT('%',#{keyword}),'%')
or c.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
<if test="date1 != null and date1!=''">
and a.askTime <![CDATA[ >= ]]>
#{date1}
</if>
<if test="date2 != null and date2!=''">
and a.askTime <![CDATA[ <= ]]>
#{date2}
</if>
</where>
order by a.askTime desc
limit #{0},#{1}
</select>
<select id="getChatlogCount" resultType="java.lang.Integer">
select count(a.id) from
chatlog a
left join fans b on a.fansid=b.id
left
join sales c on a.salesid=c.id
<where>
<if test="replytype != null and replytype>0">
and a.replytype=#{replytype}
</if>
<if test="keyword !=null and keyword!='' ">
and (a.ask like CONCAT(CONCAT('%',#{keyword}),'%')
or
a.reply like CONCAT(CONCAT('%',#{keyword}),'%')
or b.nickname like
CONCAT(CONCAT('%',#{keyword}),'%')
or c.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
<if test="date1 != null and date1!=''">
and a.askTime <![CDATA[ >= ]]>
#{date1}
</if>
<if test="date2 != null and date2!=''">
and a.askTime <![CDATA[ <= ]]>
#{date2}
</if>
</where>
</select>
<select id="getChatLogListBySalesId" resultType="com.w1hd.zzhnc.vo.Chatlog_Vo">
<!-- select a.*,b.nickName,b.logo,c.name as salename,c.isvanker from
chatlog a
left join fans b on a.fansid=b.id
left join sales c on
a.salesid=c.id -->
select a.* FROM chatlog a
<where>
1=1
<if test="ids != null">
and a.salesid in
<foreach item="item" collection="ids" separator="," open="("
close=")" index="">
#{item, jdbcType=NUMERIC}
</foreach>
</if>
<if test="fansid != null ">
and a.fansid = #{fansid}
</if>
</where>
ORDER BY a.id desc
limit #{0},#{1}
</select>
<select id="getChatlogCountBySalesId" resultType="java.lang.Integer">
select count(a.id) from
chatlog a
<where>
1=1
<if test="salesid != null">
and salesid = #{salesid}
</if>
<if test="fansid != null and fansid>0">
and a.fansid=#{fansid}
</if>
and a.readed = 1
</where>
</select>
<select id="getChatFansIdBySalesId" resultType="java.lang.Integer">
SELECT DISTINCT fansid FROM chatlog
<where>
1=1
<if test="salesid != null">
and salesid = #{salesid}
</if>
</where>
</select>
<select id="getChatListDistinctFansIdIn" resultType="com.w1hd.zzhnc.vo.ChatLog_DistinctFansIdVO">
select
a.fansid,b.nickname,b.logo,b.salesId,c.num,d.askTime,e.ask,e.reply,e.replyType
from
(select distinct fansid from chatlog where salesid IN
<foreach item="item" collection="ids" separator="," open="("
close=")" index="">
#{item, jdbcType=NUMERIC}
</foreach>
and ask not like '%进入会话:%' ) a
left join fans b on a.fansid=b.id
left join
(select fansid,count(*) num from chatlog
where salesid IN
<foreach item="item" collection="ids" separator="," open="("
close=")" index="">
#{item, jdbcType=NUMERIC}
</foreach>
and readed=0 group by fansid ) c on
a.fansid=c.fansid
left join
( select fansid,substring_index(group_concat(asktime order by asktime
desc),",",1) as asktime from chatlog group by fansid) d on
a.fansid=d.fansid
left join chatlog e on d.fansid=e.fansid and d.askTime=e.askTime
order by d.askTime desc
</select>
<select id="getFansListForSale" resultType="com.w1hd.zzhnc.vo.ChatLog_DistinctFansIdVO">
select a.fansid,b.nickname,b.logo,b.salesId,c.num,a.askTime,d.ask,d.reply,d.replyType
from
(select fansid,max(askTime) as askTime from chatlog where salesid =#{salesid} and replyType > 0 group by fansid) a
left join fans b on a.fansid=b.id
left join (select fansid,count(*) num from chatlog where salesid =#{salesid} and readed=0 and replyType>0 group by fansid) c on a.fansid=c.fansid
left join chatlog d on a.fansid=d.fansid and a.askTime=d.askTime and d.replyType > 0
order by d.askTime desc;
</select>
<select id="getFansListForVanker" resultType="com.w1hd.zzhnc.vo.ChatLog_DistinctFansIdVO">
select a.fansid,b.nickname,b.logo,b.salesId,c.num,a.askTime,d.ask,d.reply,d.replyType
from
(select fansid,max(askTime) as askTime from chatlog where salesid in (#{salesid},0) and replyType > 0 group by fansid) a
left join fans b on a.fansid=b.id
left join (select fansid,count(*) num from chatlog where salesid in (#{salesid},0) and readed=0 and replyType>0 group by fansid) c on a.fansid=c.fansid
left join chatlog d on a.fansid=d.fansid and a.askTime=d.askTime and d.replyType > 0
order by d.askTime desc;
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.FansDao">
<select id="getFansList" resultType="com.w1hd.zzhnc.vo.Fans_Vo">
select a.*,b.nickName as parentfans,c.name as salesname from fans a
LEFT JOIN fans b on a.parentFansId=b.id
LEFT JOIN sales c on a.salesId=c.id
<where>
<if test="keyword !=null and keyword!='' ">
and (a.nickname like CONCAT(CONCAT('%',#{keyword}),'%')
or b.nickname like
CONCAT(CONCAT('%',#{keyword}),'%')
or c.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</where>
order by a.createdTime desc
limit #{0},#{1}
</select>
<select id="getFansCount" resultType="java.lang.Integer">
select count(a.id) from fans a
LEFT JOIN fans b on a.parentFansId=b.id
LEFT JOIN sales c on a.salesId=c.id
<where>
<if test="keyword !=null and keyword!='' ">
and (a.nickname like CONCAT(CONCAT('%',#{keyword}),'%')
or b.nickname like
CONCAT(CONCAT('%',#{keyword}),'%')
or c.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</where>
</select>
<select id="getFansListForChat" resultType="com.w1hd.zzhnc.vo.ChatLog_DistinctFansIdVO">
select id as fansid,case when remark_name is null or remark_name='' then nickname else remark_name end as nickname,logo,salesId,case when readed then 0 else 1 end as num,last_ask_time as askTime,last_ask_msg as ask,'' as reply,2 as replyType
from fans
where salesId=#{salesid} and last_ask_time is not null
order by last_ask_time desc
limit #{0},#{1}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.FansPortraitDao">
<select id="findByKeyWord" resultType="com.w1hd.zzhnc.model.Fans">
SELECT * from fans
WHERE id IN (
SELECT fans_id FROM fans_portrait
WHERE sale_id = #{salesid}
AND (
remark_info LIKE concat('%',#{keyword},'%') or
remark_name LIKE concat('%',#{keyword},'%') or
concat('|',tag,'|') like concat('%|',#{keyword},'|%')
)
)
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.LotteryLogDao">
<select id="getLotteryLogList" resultType="com.w1hd.zzhnc.vo.Lotterylog_Vo">
select a.*,b.nickname,b.logo from lotterylog a
left join fans b on a.fansid=b.id
<where>
<if test="status != null">
and a.status=#{status}
</if>
<if test="keyword !=null and keyword!='' ">
and b.nickname like CONCAT(CONCAT('%',#{keyword}),'%')
</if>
<if test="turn != null and turn>0">
and a.turn=#{turn}
</if>
</where>
ORDER BY a.createdtime desc
limit #{0},#{1}
</select>
<select id="getLotteryLogCount" resultType="java.lang.Integer">
select count(*) from lotterylog
<where>
<if test="status != null">
and status=#{status}
</if>
<if test="turn != null and turn>0">
and turn=#{turn}
</if>
</where>
</select>
<select id="getSumMny" resultType="java.math.BigDecimal">
select sum(mny) from lotterylog
<where>
<if test="status != null">
and status=#{status}
</if>
<if test="turn != null and turn>0">
and turn=#{turn}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.RemarksDao">
<select id="getRemarksList" resultType="com.w1hd.zzhnc.vo.Remarks_Vo">
select a.*,b.nickname,b.logo from remarks a
left join fans b on
a.fansid=b.id
<where>
a.deleted=0
<if test="estateid != null and estateid>0">
and a.estateid=#{estateid}
</if>
<choose>
<when test="fansId != null and fansId > 0">
and (a.fansid= #{fansId} or (a.fansid!= #{fansId}
and status = #{status}))
</when>
<otherwise>
<if test="status != null">
and status = #{status}
</if>
</otherwise>
</choose>
</where>
ORDER BY createdtime desc limit #{0},#{1}
</select>
<select id="getRemarksCount" resultType="java.lang.Integer">
select count(a.id)
from remarks a
left join fans b on a.fansid=b.id
<where>
a.deleted=0
<if test="estateid != null and estateid>0">
and a.estateid=#{estateid}
</if>
<choose>
<when test="fansId != null and fansId > 0">
and (a.fansid= #{fansId} or (a.fansid!= #{fansId}
and status = #{status}))
</when>
<otherwise>
<if test="status != null">
and status = #{status}
</if>
</otherwise>
</choose>
</where>
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.w1hd.zzhnc.dao.SalesDao">
<select id="getSalesList" resultType="com.w1hd.zzhnc.vo.Sales_Vo">
select a.*,b.name as projectname from sales a
LEFT JOIN projects b on
a.projectId=b.id
where a.deleted=0
<if test="projectid != null and projectid>0">
and a.projectid=#{projectid}
</if>
<if test="isvanker != null">
and a.isvanker=#{isvanker}
</if>
<if test="keyword !=null and keyword!='' ">
and (a.name like CONCAT(CONCAT('%',#{keyword}),'%')
or
a.phone like CONCAT(CONCAT('%',#{keyword}),'%')
or b.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
order by a.updatedtime desc
limit #{0},#{1}
</select>
<select id="getSalesCount" resultType="java.lang.Integer">
select count(a.id) from sales a
LEFT JOIN projects b on
a.projectId=b.id
where a.deleted=0
<if test="projectid != null and projectid>0">
and a.projectid=#{projectid}
</if>
<if test="isvanker != null">
and a.isvanker=#{isvanker}
</if>
<if test="keyword !=null and keyword!='' ">
and (a.name like CONCAT(CONCAT('%',#{keyword}),'%')
or
a.phone like CONCAT(CONCAT('%',#{keyword}),'%')
or b.name like
CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</select>
<select id="getSalesReportList" resultType="com.w1hd.zzhnc.vo.SalesReport_Vo">
select a.id,a.name,e.name as projectname,
IFNULL(b.fanscount,0) as fanscount,
IFNULL(c.callcount,0)as callcount,
IFNULL(d.chatcount,0)as chatcount
from sales a
left join(
select count(id) as fanscount,salesid from fans group by salesId
) as b on a.id=b.salesid
left JOIN(
select count(id) callcount,salesid from calllog GROUP BY salesid
)as c on a.id=c.salesid
left join(
select count(id) chatcount,salesid from chatlog GROUP BY salesid
)as d on a.id=d.salesid
left join projects as e on a.projectId=e.id
where a.deleted=0
<if test="keyword !=null and keyword!='' ">
and (a.name like CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
ORDER BY d.chatcount desc,b.fanscount desc
limit #{0},#{1}
</select>
<select id="getSalesReportCount" resultType="java.lang.Integer">
select count(a.id) from sales a
where a.deleted=0
<if test="keyword !=null and keyword!='' ">
and (a.name like CONCAT(CONCAT('%',#{keyword}),'%'))
</if>
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--配置全局属性-->
<settings>
<!--使用jdbc的getGeneratekeys获取自增主键值-->
<setting name="useGeneratedKeys" value="true"/>
<!--使用列别名替换别名  默认true
select name as title form table;
-->
<setting name="useColumnLabel" value="true"/>
<!--开启驼峰命名转换Table:create_time到 Entity(createTime)-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>
login_account=admin
login_pwd=W1hd.com_mini_1212
redis.ip=119.23.153.87
redis.port=7000
redis.password=wykjlcc1404_nmamtf_7000
redis.max_active=500
redis.max_idle=50
redis.max_wait=10000
redis.timeout=10000
redis.projectname=zzhnc171027
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--1.配置数据库相关参数 -->
<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>
<util:properties id="pclogin" location="classpath:pclogin.properties" />
<!--2.配置连接池属性 -->
<!-- 数据源配置, 使用 BoneCP 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<!-- 数据源驱动类可不写,Druid默认会自动根据URL识别DriverClass -->
<property name="driverClassName" value="${jdbc.driver}" />
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="${jdbc.pool.init}" />
<property name="minIdle" value="${jdbc.pool.minIdle}" />
<property name="maxActive" value="${jdbc.pool.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="${jdbc.testSql}" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用) -->
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize"
value="20" />
<!-- 配置监控统计拦截的filters -->
<property name="filters" value="stat" />
</bean>
<!-- <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="shutdown">
<property name="driverClassName" value="${jdbc.driver}" /> <property name="jdbcUrl"
value="${jdbc.url}" /> <property name="username" value="${jdbc.username}"
/> <property name="password" value="${jdbc.password}" /> 连接只读数据库时配置为true,
保证安全 <property name="readOnly" value="false" /> 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException,
缺省:30秒 <property name="connectionTimeout" value="30000" /> 一个连接idle状态的最大时长(毫秒),超时则被释放(retired),缺省:10分钟
<property name="idleTimeout" value="600000" /> 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,参考MySQL
wait_timeout参数(show variables like '%timeout%';) <property name="maxLifetime"
value="1800000" /> 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)
<property name="maximumPoolSize" value="120" /> <property name="minimumIdle"
value="10" /> </bean> -->
<!--3.配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--注入数据库连接池 -->
<property name="dataSource" ref="dataSource" />
<!--配置mybatis全局配置文件:mybatis-config.xml -->
<property name="configLocation" value="classpath:mybatis-config.xml" />
<!-- &lt;!&ndash;扫描entity包,使用别名,多个用;隔开&ndash;&gt; <property name="typeAliasesPackage"
value="org.seckill.entity"/> -->
<!--扫描sql配置文件:mapper需要的xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml" />
</bean>
<!--4:配置扫描Dao接口包,动态实现DAO接口,注入到spring容器 -->
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<!--注入SqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<!-- 给出需要扫描的Dao接口 -->
<property name="basePackage" value="com.w1hd.zzhnc.dao" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--配置springmvc -->
<!--1:开始SpringMVC注解模式 -->
<context:annotation-config />
<!-- 自动扫描且只扫描@Controller -->
<context:component-scan
base-package="com.w1hd.zzhnc.*.controller;org.theyeasy.weixin.controller;org.theyeasy.weixin.util;"
use-default-filters="false">
</context:component-scan>
<context:component-scan base-package="com.w1hd.zzhnc.config" />
<util:properties id="wxProperties" location="classpath:wx.open.properties" />
<util:properties id="wxPayProperties" location="classpath:wx.pay.properties" />
<context:component-scan base-package="org.theyeasy.weixin.model"></context:component-scan>
<context:component-scan base-package="org.theyeasy.weixin.service"></context:component-scan>
<context:component-scan base-package="org.theyeasy.weixin.handler"></context:component-scan>
<mvc:annotation-driven
content-negotiation-manager="contentNegotiationManager">
<mvc:message-converters register-defaults="true">
<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="prettyPrint" value="true" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- REST中根据URL后缀自动判定Content-Type及相应的View -->
<bean id="contentNegotiationManager"
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="application/json" />
<property name="mediaTypes">
<value>
json=application/json
xml=application/xml
</value>
</property>
</bean>
<!--简化配置: -->
<!--1)自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter -->
<!--2)提供一些列:数据绑定,数字和日期的format @NumberFormat @DataTimeFormart,xml,json 默认读写支持。 -->
<mvc:annotation-driven />
<!--2.静态资源默认servlet配置 -->
<!-- 1).加入对静态资源处理:js,gif,png 2).允许使用 "/" 做整体映射 -->
<mvc:default-servlet-handler />
<!--3:配置JSP 显示ViewResolver -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd -->
<mvc:resources mapping="/res/**" location="/WEB-INF/res/" />
<!--4:扫描web相关的bean -->
<context:component-scan base-package="com.w1hd.zzhnc" />
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8" />
<!-- 指定所上传文件的总大小不能超过2000KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
<property name="maxUploadSize" value="200000000" />
</bean>
<bean id="jsonConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
</bean>
<!-- pc登录拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/autoreply/*" />
<mvc:mapping path="/poster/*" />
<mvc:mapping path="/project/*" />
<mvc:mapping path="/report/*" />
<mvc:mapping path="/sale/*" />
<mvc:mapping path="/vanker/*" />
<mvc:mapping path="/home/*" />
<mvc:exclude-mapping path="/sale/chatlogList" />
<mvc:exclude-mapping path="/sale/cleanCatlogList" />
<mvc:exclude-mapping path="/sale/checkChatStatus" />
<mvc:exclude-mapping path="/sale/checkoutStatus" />
<mvc:exclude-mapping path="/sale/sendProudct" />
<mvc:exclude-mapping path="/upload/*" />
<bean class="com.w1hd.zzhnc.interceptor.UserInterceptor">
<property name="allowUrls">
<list>
<value>/login</value>
</list>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<!-- <task:annotation-driven /> -->
<aop:aspectj-autoproxy proxy-target-class="true" />
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true" />
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.max_idle}" />
<property name="blockWhenExhausted" value="true" />
<property name="maxWaitMillis" value="${redis.max_wait}" />
<property name="testOnBorrow" value="true" />
</bean>
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.ip}" />
<property name="port" value="${redis.port}" />
<property name="poolConfig" ref="jedisPoolConfig" />
<property name="usePool" value="true" />
<property name="password" value="${redis.password}" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="keySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
</property>
<property name="hashKeySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashValueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
</property>
</bean>
</beans>
\ No newline at end of file
#使用的是hfyg@theyeasy.com帐号下的名称为【微信小程序】的第三方平台
#wx_open_redirect_uri=http://www.w1hd.com/theyeasy_pingtai/theyeasy_shanghu/jsp/_activity/pulick.html
wx_open_token=w1hd_theyeasy_mini
wx_open_aeskey=adqwergtsdfsdfeyrtjyukul9ioluikydddds888sfd
wx_open_redirect_uri=http://mini.weiyisz.com/res/authRedirect.html
wx_open_verify_ticket=ticket@@@vcMrsXQHS3NDYAKNw_iANYNjAyNp2NGb2jB9E37xiBlfxQHnOvy0T268NiYy-IT2BPd5lkWupWavihpO82QEZQ
#使用的是hfyg@theyeasy.com帐号下的名称为【微信小程序平台】的第三方平台
wx_open_appid=wxce99a8296784e3cc
wx_oepn_appsecret=135185ba37714baddabad5c54c190732
mch_appid = wx64e56457ec5c6338
mchid = 1493581312
key = Bnzihl9t8zId5qKL70bmKDuUpPklMpXB
spbill_create_ip=127.0.0.1
cert_file=/theyeasy/weixin_cert/zzhnc_apiclient_cert.p12
#cert_file=C:\\weixin_cert\\zzhnc_apiclient_cert.p12
\ No newline at end of file
/* 前后端通信相关的配置,注释只允许使用多行方式 */
{
/* 上传图片配置项 */
"imageActionName": "uploadimage", /* 执行上传图片的action名称 */
"imageFieldName": "upfile", /* 提交的图片表单名称 */
"imageMaxSize": 2048000, /* 上传大小限制,单位B */
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
"imageCompressEnable": true, /* 是否压缩图片,默认是true */
"imageCompressBorder": 1600, /* 图片压缩最长边限制 */
"imageInsertAlign": "none", /* 插入的图片浮动方式 */
"imageUrlPrefix": "", /* 图片访问路径前缀 */
"imagePathFormat": "/UE/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
/* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
/* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */
/* {time} 会替换成时间戳 */
/* {yyyy} 会替换成四位年份 */
/* {yy} 会替换成两位年份 */
/* {mm} 会替换成两位月份 */
/* {dd} 会替换成两位日期 */
/* {hh} 会替换成两位小时 */
/* {ii} 会替换成两位分钟 */
/* {ss} 会替换成两位秒 */
/* 非法字符 \ : * ? " < > | */
/* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */
/* 涂鸦图片上传配置项 */
"scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */
"scrawlFieldName": "upfile", /* 提交的图片表单名称 */
"scrawlPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"scrawlMaxSize": 2048000, /* 上传大小限制,单位B */
"scrawlUrlPrefix": "", /* 图片访问路径前缀 */
"scrawlInsertAlign": "none",
/* 截图工具上传 */
"snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */
"snapscreenPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"snapscreenUrlPrefix": "", /* 图片访问路径前缀 */
"snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */
/* 抓取远程图片配置 */
"catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"],
"catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */
"catcherFieldName": "source", /* 提交的图片列表表单名称 */
"catcherPathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"catcherUrlPrefix": "", /* 图片访问路径前缀 */
"catcherMaxSize": 2048000, /* 上传大小限制,单位B */
"catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */
/* 上传视频配置 */
"videoActionName": "uploadvideo", /* 执行上传视频的action名称 */
"videoFieldName": "upfile", /* 提交的视频表单名称 */
"videoPathFormat": "/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"videoUrlPrefix": "", /* 视频访问路径前缀 */
"videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */
"videoAllowFiles": [
".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */
/* 上传文件配置 */
"fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */
"fileFieldName": "upfile", /* 提交的文件表单名称 */
"filePathFormat": "/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"fileUrlPrefix": "", /* 文件访问路径前缀 */
"fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */
"fileAllowFiles": [
".png", ".jpg", ".jpeg", ".gif", ".bmp",
".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid",
".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso",
".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml"
], /* 上传文件格式显示 */
/* 列出指定目录下的图片 */
"imageManagerActionName": "listimage", /* 执行图片管理的action名称 */
"imageManagerListPath": "/ueditor/jsp/upload/image/", /* 指定要列出图片的目录 */
"imageManagerListSize": 20, /* 每次列出文件数量 */
"imageManagerUrlPrefix": "", /* 图片访问路径前缀 */
"imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */
"imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */
/* 列出指定目录下的文件 */
"fileManagerActionName": "listfile", /* 执行文件管理的action名称 */
"fileManagerListPath": "/ueditor/jsp/upload/file/", /* 指定要列出文件的目录 */
"fileManagerUrlPrefix": "", /* 文件访问路径前缀 */
"fileManagerListSize": 20, /* 每次列出文件数量 */
"fileManagerAllowFiles": [
".png", ".jpg", ".jpeg", ".gif", ".bmp",
".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid",
".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso",
".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml"
] /* 列出的文件类型 */
}
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="com.baidu.ueditor.ActionEnter"
pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%
request.setCharacterEncoding( "utf-8" );
response.setHeader("Content-Type" , "text/html");
String rootPath = application.getRealPath("/");
out.write( new ActionEnter( request, rootPath ).exec() );
%>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>项目列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
<style type="text/css">
.activity-rule-box {
padding-left:20px;
}
#myEditor img{
width:80%;
}
#myEditor{
margin:0 !important;
}
.layui-form-select dl {
max-height: 190px;
}
#allmap {
top: 10px;
width: 100%;
height: 400px;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.layui-upload-list{
width:200px;
max-height:200px;
overflow:hidden;
clear:both;
border-radius:4px;
}
.layui-upload-list img{
width:100%;
margin-top:15px;
}
#connect-container {
float: left;
width: 400px
}
#connect-container div {
padding: 5px;
}
#console-container {
float: left;
margin-left: 15px;
width: 400px;
}
#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}
#console p {
padding: 0;
margin: 0;
}
#container *{-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
#container *:before,.edui-container *:after {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
#container img{
max-width:80%;
}
</style>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<body class="wrap">
<div class="layui-form Detailbtn" style="display: block;">
<form action="server.php" method="post">
<div class="layui-form-item">
<label class="layui-form-label"><i
style="color: red; margin-right: 5px;">*</i>文章标题</label>
<div class="layui-input-inline" style="width: 390px;">
<input type="text" name="title" lay-verify="title" placeholder="文章标题"
class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">不超过20个汉字</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><i
style="color: red; margin-right: 5px;">*</i>上传主图</label>
<div class="layui-input-inline" style="width: 390px;">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upload" style="margin:0 20px 0 0;float:left;">上传主图</button>
<span class="layui-form-mid layui-word-aux">建议尺寸:200*200</span>
<div class="layui-upload-list">
<img class="layui-upload-img mainpictrue" src="" >
<input type="text" style="display:none;" name="imgurl" >
<p id="demoText"></p>
</div>
</div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><i
style="color: red; margin-right: 5px;">*</i>内容</label>
<div class="layui-input-block">
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
这里写你的初始化内容
</script>
</div>
</div>
<div class="layui-form-item" style="margin-top: 30px;">
<button class="layui-btn" lay-submit lay-filter="submit">提交</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button>
</div>
</form>
</div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
window.onload = function(){
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
return '/zzhnc/upload/NewUploadImg';
} else {
return this._bkGetActionUrl.call(this, action);
}
}
window.UEDITOR_CONFIG.initialFrameWidth = 900;
window.UEDITOR_CONFIG.initialFrameHeight = 600;
//UE.getEditor("container");
var ue = UE.getEditor('container', {
autoHeight: false
});
}
layui.use(['form', 'element', 'laydate', 'layer', 'laypage','layedit','upload'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var $ = layui.jquery
,upload = layui.upload;
//普通图片上传
//普通图片上传
var uploadInst = upload.render({
elem: '#upload'
,url: '/zzhnc/upload/UploadImg'
,done: function(data){
console.log(data)
if(data.code==0){
imgurl=data.data;
$("input[name=imgurl]").val(imgurl);
$(".mainpictrue").attr("src",imgurl);
}
//如果上传失败
if(data.code > 0){
return layer.msg('上传失败');
}
//上传成功
}
});
$(".resetBtn").on("click",function(){
$("input[name=title]").val("");
$("textarea[name=content]").val("");
$("input[name=imgurl]").val("");
$(".mainpictrue").attr("src","");
form.render();
})
var id=getUrl_G("id");
if(id>0){
$.post("/zzhnc/article/getArticle",{
id:id
},function(data){
console.log(data);
if(data.code==0){
$("input[name=title]").val(data.data.title);
//$("textarea[name=content]").val(data.data.content);
//重新渲染
UE.getEditor("container").ready(function () {
UE.getEditor("container").setContent(unescape(data.data.content));
})
$("input[name=imgurl]").attr("src",data.data.imgurl);
$(".mainpictrue").attr("src",data.data.imgurl);
form.render();
}
})
}
form.on('submit(submit)', function(data){
var title=$("input[name=title]").val();
var content = UE.getEditor('container').getContent();
var imgurl=$("input[name=imgurl]").val();
if(title==""){
top.layer.msg("请填写文章标题");
return false;
}else{
if(strlen(title) > 40) {
top.layer.msg("文章标题不超过20个汉字");
return false;
}
}
if(imgurl==""){
top.layer.msg("请上传主图");
return false;
}
if(content==""){
top.layer.msg("请输入内容");
return false;
}
console.log()
if(id>0){
//修改项目
$.post("/zzhnc/article/updateArticle",{
id:id,
title:title,
content:content,
imgurl:imgurl
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("修改成功");
} else{
top.layer.msg(data.msg);
}
})
}else{
//添加项目
$.post("/zzhnc/article/addArticle",{
title:title,
content:content,
imgurl:imgurl
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("添加成功");
form.render();
}else{
top.layer.msg(data.msg);
}
})
}
return false;
});
})
</script>
<!-- 配置文件 -->
<script type="text/javascript" src="/zzhnc/res/UE/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="/zzhnc/res/UE/ueditor.all.js"></script>
<!-- 实例化编辑器 -->
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>文章列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.layui-form-select dl{
max-height:190px;
}
#allmap {top:10px;width:100%;height: 200px;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<body class="wrap">
<div class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button>
<a class="layui-btn layui-btn-warm createBtn" href="#"><i class="layui-icon">&#xe61f;</i> 添加文章</a>
</div>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width: 30px;">No</th>
<th style="min-width:120px;">标题</th>
<th style="min-width: 120px;">图片链接</th>
<th style="min-width: 80px;">更新时间</th>
<th style="min-width: 80px;">操作</th>
</tr>
</thead>
<tbody id="tablelist">
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj={
page : 1,
pagesize:10,
keyword:''
};
initdata(queryObj);
//查询
form.on('submit(querybtn)', function(data){
queryObj.keyword=$("[name=keyword]").val();
queryObj.page=1;
initdata(queryObj)
});
$(".resetBtn").on("click",function(){
$("[name=keyword]").val("")
queryObj={
page : 1,
pagesize:10,
keyword : ""
};
initdata(queryObj)
return false
})
//初始化数据
initdata(queryObj);
function initdata(queryObj){
$.post("/zzhnc/article/getArticlesList",queryObj,function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initdata(queryObj);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="text-align:left;">'+ data.rows[i].title+'</td>'
+'<td>'+ data.rows[i].imgurl+'</td>'
+'<td>'+ toTime_G(data.rows[i].createdtime) +'</td>'
+'<td>'
+'<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>'
+'<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>'
+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
//添加文章
$(document).on("click",".createBtn",function(){
if(parent.tab.exists("添加文章")>0){
var tabid=parent.tab.getTabId("添加文章");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/article/articleEdit",
icon: "fa-cubes",
title: "添加文章"
});
})
//修改文章
$(document).on("click",".updataBtn",function(){
var id=$(this).parents("tr").attr("data-id");
if(parent.tab.exists("修改文章")>0){
var tabid=parent.tab.getTabId("修改文章");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/article/articleEdit?id="+ id ,
icon: "fa-cubes",
title: "修改文章"
});
})
//删除文章
$(document).on("click", ".deleteBtn", function() {
var id=$(this).parents("tr").attr("data-id");
layer.confirm('您确定要删除该文章吗?', {
btn: ['确定', '取消'] //按钮
}, function(index, layero) {
$.post( "/zzhnc/article/deleteArticle",{id:id}, function(data) {
console.log(data)
if(data.code == 0) {
top.layer.msg("删除成功");
initdata(queryObj);
layer.close(index);
}else{
top.layer.msg(data.msg);
}
})
}, function(index, layero) {
layer.close(index);
});
});
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<title>自动回复</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/Layuiglobal.css">
<link rel="stylesheet" href="/zzhnc/res/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="http://at.alicdn.com/t/font_191348_aee57zbh6jyk3xr.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<body class="wrap">
<div id="keywords-form">
<div class="popupbox">
<div class="popupbos">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">关键词:</label>
<div class="layui-input-inline" style="width:250px;">
<input type="text" name="keywords" lay-verify="required" placeholder="关键词" autocomplete="off" id="text1" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux">多个关键词请用英文“ , ”分隔</div>
</div>
<form class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">是否转人工客服:</label>
<div class="layui-input-inline">
<input type="radio" name="isRedirectStaff" lay-filter="isRedirectStaff" value="0" title="否" checked="ture">
<input type="radio" name="isRedirectStaff" lay-filter="isRedirectStaff" value="1" title="是" >
</div>
</div>
</form>
<div class="layui-form-item layui-form-text Redirectbox">
<label for="" class="layui-form-label">回复内容:</label>
<div class="layui-input-inline" style="width:65%;">
<textarea class="layui-textarea" name="content" lay-verify="required" id="saytext" placeholder="请输入内容" style="height:100px;" ></textarea>
<i class="iconfont icon-xiaolian emotion"></i><div class="layui-form-mid layui-word-aux" style="padding-top:10px;line-height:28px;">多条回复内容用“ | ”分隔</div>
</div>
<div class="layui-form-mid layui-word-aux " style="margin-left:150px;">注: 活动结束或过期后会自动停止推送</div>
</div>
<div class="layui-form-item" style="margin-left:140px;margin-top:30px;">
<button class="layui-btn Sumbit">提交</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button>
</div>
</div>
</div>
</div>
</div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script type="text/javascript" src="/zzhnc/res/js/jquery.qqFace.js"></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['element', 'form', 'layedit', 'layer', 'jquery', 'laypage'], function() {
var element = layui.element();
var form = layui.form(); //初始化弹窗组件
var layedit = layui.layedit; //初始化富文本
var editIndex = layedit.build("LAY_demo_editor"); //实例化一个富文本
var layer = layui.layer;
var laypage = layui.laypage;
var page_ = 1;
var ispush = false ;
var ispushAdd = false ;
//初始化数据
var id = getUrl_G("id");
if(id>0){
$.post("/zzhnc/autoreply/getAutoReply",{id:id},function(data){
console.log(data)
$("input[name=keywords]").val(data.data.keywords);
if(data.data.isredirectstaff==true){
$("input[name=isRedirectStaff]").eq(1).attr("checked",true);
}else{
$("input[name=isRedirectStaff]").eq(0).attr("checked",true);
}
form.render();
})
}
$(".resetBtn").on("click",function(){
$("input[name=keywords]").val("");
$("input[name=isRedirectStaff]").eq(0).attr("checked",true);
$(".Redirectbox").show();
$("textarea[name=content]").val("");
form.render();
})
$(".Sumbit").on("click",function(){
var keywords=$("input[name=keywords]").val();
var isRedirectStaff=$("input[name=isRedirectStaff]:checked").val();
var content="";
if(keywords==""){
top.layer.msg("请填写关键词");
return false;
}
if(isRedirectStaff=="0"){
isRedirectStaff=false;
content=$("textarea[name=content]").val();
if(content==""){
top.layer.msg("请填写回复内容");
return false;
}
}else if(isRedirectStaff=="1"){
isRedirectStaff=true;
}
if(id>0){
$.post("/zzhnc/autoreply/updateAutoreply",{
id:id,
keywords:keywords,
isRedirectStaff:isRedirectStaff,
content:content
},function(data){
if(data.code==0){
top.layer.msg("修改成功");
}
});
}else{
$.post("/zzhnc/autoreply/addAutoreply",{
id:id,
keywords:keywords,
isRedirectStaff:isRedirectStaff,
content:content
},function(data){
if(data.code==0){
top.layer.msg("添加成功");
}
});
}
form.render();
})
form.render() ;
//显示自动回复信息
function getReplyInfo() {
$.post( "http", {
data:data
}, function(data) {
if(data.data!== null) {
console.log(data)
$('textarea[name=attention]').html(replace_em(data.data.content));
}
})
}
//获取自动回复类型
function getMenuType() {
var value = "";
var radio = $("input[name=isRedirectStaff]");
for(var i = 0; i < radio.length; i++) {
if(radio[i].checked == true) {
value = radio[i].value;
break;
}
}
return value;
}
/*是否转人工客服切换*/
form.on('radio(isRedirectStaff)', function(data) {
if(this.value == 1) {
$('.Redirectbox').hide();
} else {
$('.Redirectbox').show();
}
});
//切换自动回复类型
form.on('radio(keytype)', function(data) {
if(this.value == 1) {
$('.Redirectbox').hide();
$('radio(isRedirectStaff)').attr("checked",true);
form.render();
} else {
$('.Redirectbox').show();
$('radio(isRedirectStaff)').attr("checked",false);
form.render();
}
});
$(function(){
$('.emotion').qqFace({
id : 'facebox',
assign:'saytext',
path:'/zzhnc/res/arclist/' //表情存放的路径
});
});
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>客户发消息</title>
<style type="text/css">
#connect-container {
float: left;
width: 400px
}
#connect-container div {
padding: 5px;
}
#console-container {
float: left;
margin-left: 15px;
width: 400px;
}
#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}
#console p {
padding: 0;
margin: 0;
}
</style>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script type="text/javascript">
var ws = null;
var url = null;
var transports = [];
connect();
function connect() {
if (ws != null && (ws.readyState == 1 || ws.readyState == 2))
return;//判断是否已成功连接,已成功连接不在执行
if (ws != null)
ws.close();
ws = new WebSocket('ws://mini.weiyisz.com/zzhnc/web/socket/77/1');
ws.onopen = function() {
console.log("连接服务器成功");
};
ws.onmessage = function(event) {
log('Received: ' + event.data);
};
ws.onclose = function() {
};
}
function disconnect() {
if (ws != null) {
ws.close();
ws = null;
}
}
//查询数据条件
function getSearchJson() {
var id = Math.ceil(Math.random() * 10);
var message = document.getElementById('message').value;
var askfrom = document.getElementById('askfrom').value;
var salesid = document.getElementById('salesid').value;
var json = {
"fansid" : 77,
"ask" : message,
"reply" : "",
"askfrom" : askfrom,
"salesid":salesid,
"readed" : false
};
json = JSON.stringify(json);
return json;
}
window.setInterval("connect()", 5000);
function echo() {
if (ws != null) {
if (ws.readyState == 1) {
var json = getSearchJson();
ws.send(json);
} else {
//connect();
}
} else {
alert('connection not established, please connect.');
}
}
function updateUrl(urlPath) {
if (urlPath.indexOf('sockjs') != -1) {
url = urlPath;
document.getElementById('sockJsTransportSelect').style.visibility = 'visible';
} else {
if (window.location.protocol == 'http:') {
url = 'ws://' + window.location.host + urlPath;
} else {
url = 'wss://' + window.location.host + urlPath;
}
document.getElementById('sockJsTransportSelect').style.visibility = 'hidden';
}
}
function updateTransport(transport) {
transports = (transport == 'all') ? [] : [ transport ];
}
function log(message) {
var console = document.getElementById('console');
var p = document.createElement('p');
p.style.wordWrap = 'break-word';
p.appendChild(document.createTextNode(message));
console.appendChild(p);
while (console.childNodes.length > 25) {
console.removeChild(console.firstChild);
}
console.scrollTop = console.scrollHeight;
}
</script>
</head>
<body>
<noscript>
<h2 style="color: #ff0000">Seems your browser doesn't support
Javascript! Websockets rely on Javascript being enabled. Please
enable Javascript and reload this page!</h2>
</noscript>
<div>
<div id="connect-container">
<div>
<textarea id="message" style="width: 350px">Here is a message!</textarea>
</div>
<div>
万小二 :<textarea id="askfrom" style="width: 350px; height: 10">1</textarea>
</div>
<div>
销售id:<textarea id="salesid" style="width: 350px; height: 10">1</textarea>
</div>
<div>
<button id="echo" onclick="echo();">Echo message</button>
</div>
</div>
<div id="console-container">
<div id="console"></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>销售代表</title>
<style type="text/css">
#connect-container {
float: left;
width: 400px
}
#connect-container div {
padding: 5px;
}
#console-container {
float: left;
margin-left: 15px;
width: 400px;
}
#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}
#console p {
padding: 0;
margin: 0;
}
</style>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script type="text/javascript">
var ws = null;
var url = null;
var transports = [];
connect();
function connect() {
if (ws != null && (ws.readyState == 1 || ws.readyState == 2))
return;//判断是否已成功连接,已成功连接不在执行
if (ws != null)
ws.close();
ws = new WebSocket(
'ws://mini.weiyisz.com/zzhnc/web/socket/228/1');
ws.onopen = function() {
console.log("连接服务器成功");
};
ws.onmessage = function(event) {
log('Received: ' + event.data);
};
ws.onclose = function() {
//connect();
};
}
function disconnect() {
if (ws != null) {
ws.close();
ws = null;
}
}
//查询数据条件
function getSearchJson() {
var id = Math.ceil(Math.random() * 10);
var message = document.getElementById('message').value;
var json = {"fansid":77,"ask":"","reply":message,"askfrom":1,salesid:"1","readed":true};
json = JSON.stringify(json);
return json;
}
// window.setInterval("connect()",1000);
function echo() {
if (ws != null) {
if (ws.readyState == 1) {
var json = getSearchJson();
ws.send(json);
} else {
//connect();
}
} else {
alert('connection not established, please connect.');
}
}
function updateUrl(urlPath) {
if (urlPath.indexOf('sockjs') != -1) {
url = urlPath;
document.getElementById('sockJsTransportSelect').style.visibility = 'visible';
} else {
if (window.location.protocol == 'http:') {
url = 'ws://' + window.location.host + urlPath;
} else {
url = 'wss://' + window.location.host + urlPath;
}
document.getElementById('sockJsTransportSelect').style.visibility = 'hidden';
}
}
function updateTransport(transport) {
transports = (transport == 'all') ? [] : [ transport ];
}
function log(message) {
var console = document.getElementById('console');
var p = document.createElement('p');
p.style.wordWrap = 'break-word';
p.appendChild(document.createTextNode(message));
console.appendChild(p);
while (console.childNodes.length > 25) {
console.removeChild(console.firstChild);
}
console.scrollTop = console.scrollHeight;
}
</script>
</head>
<body>
<noscript>
<h2 style="color: #ff0000">Seems your browser doesn't support
Javascript! Websockets rely on Javascript being enabled. Please
enable Javascript and reload this page!</h2>
</noscript>
<div>
<div id="connect-container">
<div>
<textarea id="message" style="width: 350px">Here is a message!</textarea>
</div>
<div>
<button id="echo" onclick="echo();">Echo message</button>
</div>
</div>
<div id="console-container">
<div id="console"></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>万小二</title>
<style type="text/css">
#connect-container {
float: left;
width: 400px
}
#connect-container div {
padding: 5px;
}
#console-container {
float: left;
margin-left: 15px;
width: 400px;
}
#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}
#console p {
padding: 0;
margin: 0;
}
</style>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script type="text/javascript">
var ws = null;
var url = null;
var transports = [];
connect();
function connect() {
if (ws != null && (ws.readyState == 1 || ws.readyState == 2))
return;//判断是否已成功连接,已成功连接不在执行
if (ws != null)
ws.close();
ws = new WebSocket(
'ws://192.168.1.110:8080/zzhnc/web/socket/3/0');
ws.onopen = function() {
console.log("连接服务器成功");
};
ws.onmessage = function(event) {
log('Received: ' + event.data);
};
ws.onclose = function() {
//connect();
};
}
function disconnect() {
if (ws != null) {
ws.close();
ws = null;
}
}
//查询数据条件
function getSearchJson() {
var id = Math.ceil(Math.random() * 10);
var message = document.getElementById('message').value;
var json = {"fansid":7,"ask":"aaa","reply":message,"askfrom":2,"readed":true,"salesid":1};
json = JSON.stringify(json);
return json;
}
// window.setInterval("connect()",1000);
function echo() {
if (ws != null) {
if (ws.readyState == 1) {
var json = getSearchJson();
ws.send(json);
} else {
//connect();
}
} else {
alert('connection not established, please connect.');
}
}
function updateUrl(urlPath) {
if (urlPath.indexOf('sockjs') != -1) {
url = urlPath;
document.getElementById('sockJsTransportSelect').style.visibility = 'visible';
} else {
if (window.location.protocol == 'http:') {
url = 'ws://' + window.location.host + urlPath;
} else {
url = 'wss://' + window.location.host + urlPath;
}
document.getElementById('sockJsTransportSelect').style.visibility = 'hidden';
}
}
function updateTransport(transport) {
transports = (transport == 'all') ? [] : [ transport ];
}
function log(message) {
var console = document.getElementById('console');
var p = document.createElement('p');
p.style.wordWrap = 'break-word';
p.appendChild(document.createTextNode(message));
console.appendChild(p);
while (console.childNodes.length > 25) {
console.removeChild(console.firstChild);
}
console.scrollTop = console.scrollHeight;
}
</script>
</head>
<body>
<noscript>
<h2 style="color: #ff0000">Seems your browser doesn't support
Javascript! Websockets rely on Javascript being enabled. Please
enable Javascript and reload this page!</h2>
</noscript>
<div>
<div id="connect-container">
<div>
<textarea id="message" style="width: 350px">Here is a message!</textarea>
</div>
<div>
<button id="echo" onclick="echo();">Echo message</button>
</div>
</div>
<div id="console-container">
<div id="console"></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>东万小程序后台</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/Layuiglobal.css">
<link rel="stylesheet" href="/zzhnc/res/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="http://at.alicdn.com/t/font_191348_9fd7twf7my3hxgvi.css">
<link rel="stylesheet" type="text/css" href="http://at.alicdn.com/t/font_450595_edbottoi4nu0izfr.css">
<script src='http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js'></script>
<style>
.container {
padding: 16px;
}
.layui-nav-tree .layui-nav-more {
right: 30px;
}
.layui-layout-admin .site-demo-body {
top: 70px;
}
.layui-layout-admin .header-demo{
border: none;
}
#chromeTip{
position:fixed;
top:0;
bottom:0;
left:0;
right:0;
background-color:#fff;
z-index: 10000;
display: none;
}
.browserhint{
width: 800px;
margin: 0 auto;
border-radius: 4px;
height: 100px;
top: 50%;
margin-top: -50px;
position: relative;
color: #666;
text-align: center;
}
.browserhint i{
position:absolute;
right:40px;
top:20px;
color:#fff;
font-size:16px;
}
.browserhint p{
line-height:35px;
}
.browseimg{
background:url(../res/images/browser.png) no-repeat top -60px left 0px;
width:40px;
height:40px;
vertical-align: middle;
margin:0 5px;
display: inline-block;
}
.fa{
margin-top:10px;
}
</style>
<script>
/* $(function(){
var tipObj = document.getElementById('chromeTip');
if(tipObj){
if( navigator.userAgent.indexOf('Chrome') == -1 || navigator.userAgent.indexOf('Edge') != -1){
tipObj.style.display = 'block';
}
}
}) */
</script>
</head>
<body>
<div id="chromeTip">
<div class="browserhint">
<p>由于您正在使用非谷歌内核的浏览器,微易互动将无法为您提供最佳体验。<br />
建议您更换:<a href="http://rj.baidu.com/soft/detail/14744.html?ald" target="_blank" style="color:#ff8400;text-decoration: underline;"><span class="browseimg"></span>谷歌浏览器</a></p>
</div>
</div>
<div class="layui-layout layui-layout-admin">
<div class="layui-header header header-demo">
<div class="layui-main">
<div class="admin-login-box">
<a class="logo">
<img src="/zzhnc/res/images/logo.png" />
</a>
<div class="admin-side-toggle">
<i class="fa fa-bars" aria-hidden="true"></i>
</div>
<div class="admin-side-full">
<i class="fa fa-life-bouy" aria-hidden="true"></i>
</div>
</div>
<ul class="layui-nav admin-header-item" style="right:80px;">
<li class="layui-nav-item">
<a href="javascript:;" class="admin-header-user loginnamebtn">
<span class="loginname">admin</span>
</a>
</li>
</ul>
<div class="layui-nav-item" style="position: absolute;top:0;right:10px;">
<a class="signOut" style="color:#999;padding:0 12px;line-height:25px;margin-top:20px;border:1px solid #999;border-radius:20px;display:inline-block; cursor: pointer;">退出</a>
</div>
</div>
</div>
<!--侧方导航-->
<div class="layui-side layui-bg-black" id="admin-side">
<div class="layui-side-scroll" id="admin-navbar-side" lay-filter="side"></div>
</div>
<div class="layui-body layui-tab-content site-demo site-demo-body" style="bottom: 0;" id="admin-body">
<div class="layui-tab admin-nav-card layui-tab-brief" lay-filter="admin-tab">
<ul class="layui-tab-title">
<li lay-id="0" class="layui-this"><i class="iconfont icon-xiangmu"></i><cite>项目管理</cite><i class="layui-icon layui-unselect layui-tab-close" data-id="0"></i></li>
<!-- </li>
<li class="layui-this">
<i class="fa fa-dashboard" aria-hidden="true"></i>
<cite>项目管理</cite>
</li>-->
</ul>
<div class="layui-tab-content" style="min-height: 150px; padding: 0; height: auto;">
<div class="layui-tab-item layui-show">
<iframe src="/zzhnc/project/projectIndex" target="_self" id="baseIframe" data-id="0"></iframe>
</div>
</div>
</div>
</div>
<div class="site-tree-mobile layui-hide">
<i class="layui-icon">&#xe602;</i>
</div>
<div class="site-mobile-shade"></div>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script src="/zzhnc/res/js/navbar.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/plugins/datas/nav.js"></script>
<script src="/zzhnc/res/js/index.js"></script>
<script src="/zzhnc/res/js/me.js"></script>
<script>
layui.use([ 'element','layer'], function() {
var element = layui.element(),
layer = layui.layer;
$(".fa-dashboard").on("click",function(){
if($(this).attr("lay-id")=="0"){
var src=$("iframe[data-id='0']")[0].src;
window.parent.location.reload(src)
}
})
});
var cookie="Th_xc_30b679eb2c90c60ff8679ce4ca562fcc";
function setCookie(name, value) {
var Days = 0;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
var merchantid = null;
layui.use('layer', function() {
var $ = layui.jquery;
var layer = layui.layer;
var globalNum = {
account: '',
phone: '',
nickname: ''
};
//退出
$(".signOut").click(function() {
$.post("/zzhnc/exit", function(data) {
if(data.code == 0) {
//setCookie(cookie, "");
}
});
location.href = "/zzhnc"
})
// 初始化
function init() {
}
init();
})
</script>
</div>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>设置坐标</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="http://at.alicdn.com/t/font_9lmlt21w1lv26gvi.css">
<style>
body{
margin: 0;
padding: 0;
-moz-user-select: none; /*火狐*/
-webkit-user-select: none; /*webkit浏览器*/
-ms-user-select: none; /*IE10*/
-khtml-user-select: none; /*早期浏览器*/
user-select: none;
}
.haibao-view{
display: inline-block;
min-width:300px;
min-height:600px;
}
.haibao-view img{
border:1px solid #ddd;
}
.box {
cursor: move;
background-color: #FFF;
border: 1px solid #CCCCCC;
}
#box {
width: 160px;
height: 160px;
position: absolute;
top: 0px;
left: 100px;
background: url(/zzhnc/res/images/code.png);
background-size: 100% 100%;
}
.coor {
overflow: hidden;
cursor: se-resize;
position: absolute;
right: 0;
bottom: 0;
}
</style>
</head>
<body>
<div class="haibao-view">
<button class="layui-btn" style="position:fixed;top:20px;right:20px;z-index:10">保存</button>
<img src="/zzhnc/res/images/1.jpg" alt="">
<div id="box" class="box">
<div id="coor" class="coor"><span class="iconfont icon-suofang"></span></div>
</div>
</div>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script>
var qrH = window.parent.qrH || 160
var qrW = window.parent.qrW || 160
var qrX = window.parent.qrX || 100
var qrY = window.parent.qrY || 0
$("#box").css({"width":qrW,"height":qrH,"top":qrY,"left":qrX})
$(".haibao-view img").attr("src", $("input[name=postertemplet]",window.parent.document).val() || "../res/images/1.jpg")
$(function () {
$(document).mousemove(function (e) {
if (!!this.move) {
var posix = !document.move_target ? { 'x': 0, 'y': 0 } : document.move_target.posix
var callback = document.call_down || function () {
if (this.move_target.id == "box") {
qrY = Math.max(e.pageY - posix.y , 0)
qrY = Math.min(qrY,$(".haibao-view").height()-qrH)
qrX = Math.max(e.pageX - posix.x , 0)
qrX = Math.min(qrX,$(".haibao-view").width()-qrW)
$("#box").css({
'top': qrY ,
'left': qrX
});
}
};
callback.call(this, e, posix);
}
}).mouseup(function (e) {
if (!!this.move) {
var callback = document.call_up || function () { };
callback.call(this, e);
$.extend(this, {
'move': false,
'move_target': null,
'call_down': false,
'call_up': false
});
}
});
var $box = $('#box').mousedown(function (e) {
var offset = $(this).offset();
this.posix = { 'x': e.pageX - offset.left, 'y': e.pageY - offset.top };
$.extend(document, { 'move': true, 'move_target': this });
}).on('mousedown', '#coor', function (e) {
var posix = {
'w': $box.width(),
'h': $box.height(),
'x': e.pageX,
'y': e.pageY
};
$.extend(document, {
'move': true, 'call_down': function (e) {
qrW = Math.max(30, e.pageX - posix.x + posix.w)
qrW = Math.min(qrW,$(".haibao-view").width() - qrX)
qrH = Math.max(30, e.pageY - posix.y + posix.h)
qrH = Math.min(qrH,$(".haibao-view").height() - qrY)
qrH = qrW
qrW = qrH
$box.css({
'width': qrW,
'height': qrH
});
}
});
return false;
});
$("button").click(function(){
window.parent.layer.close(window.parent.layers)
$("input[name=qrX]",window.parent.document).val(qrX)
$("input[name=qrY]",window.parent.document).val(qrY)
$("input[name=qrWidth]",window.parent.document).val(qrW)
$("input[name=qrHeight]",window.parent.document).val(qrH)
window.parent.aa = [qrX,qrY,qrH,qrW]
})
});
</script>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>海报列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.layui-form-select dl{
max-height:190px;
}
</style>
<body class="wrap">
<div class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<!-- <div class="layui-input-inline producttype" style="width: 140px;">
<select name="producttype" >
<option value="">海报名称</option>
</select>
</div>
<div class="layui-input-inline productid" style="width: 140px;">
<select name="productid">
<option value="0">海报类别</option>
<option value="1">项目海报</option>
<option value="2">销售助手首页</option>
<option value="3">万小二首页</option>
</select>
</div>
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn" >重置</button> -->
<a class="layui-btn layui-btn-warm createBtn" href="#"><i class="layui-icon">&#xe61f;</i> 添加海报</a>
</div>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 120px;">海报名称</th>
<th style="min-width:80px;">海报类别</th>
<th>海报图片</th>
<th style="min-width: 80px;">操作</th>
</tr>
</thead>
<tbody id="tablelist">
<!-- <tr>
<td>1</td>
<td>海报名称</td>
<td>海报类别</td>
<td>海报图片</td>
<td>
<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>
<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>
</td>
</tr> -->
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj = {
page: 1,
} //查询条件
//查询
/* form.on('submit(querybtn)', function(data){
queryObj=data.field;
queryObj.page=1;
initdata(queryObj);
form.render();
});
$(".resetBtn").on("click",function(){
$("input[name=keyword]").val("");
$("select[name=projectid]").val("");
form.render();
initdata(queryObjd)
}) */
//初始化数据
initdata(queryObj);
function initdata(queryObj){
$.post("/zzhnc/poster/templetList",queryObj,function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initdata(queryObj);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="text-align:left;">'+ data.rows[i].name+'</td>'
+'<td>'+ postertype(data.rows[i].postertype) +'</td>'
+'<td><div class="logoimg" style="background:url(http://mini.weiyisz.com'+data.rows[i].imgurl+') no-repeat center;-webkit-backgorund-size:contain;backgorund-size:contain;float:none;margin:0 auto;"></div></td>'
+'<td>'
+'<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>'
+'<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>'
+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
//添加海报模板
$(document).on("click", ".createBtn", function() {
if(parent.tab.exists("添加海报")>0){
var tabid=parent.tab.getTabId("添加海报");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/poster/poster",
icon: "fa-cubes",
title: "添加海报"
});
})
//修改海报模板
$(document).on("click", ".updataBtn", function() {
var id=$(this).parents("tr").attr("data-id");
if(parent.tab.exists("修改海报")>0){
var tabid=parent.tab.getTabId("修改海报");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/poster/poster?id="+id,
icon: "fa-cubes",
title: "修改海报"
});
})
//删除海报模板
$(document).on("click", ".deleteBtn", function() {
var id=$(this).parents("tr").attr("data-id");
layer.confirm('您确定要删除该海报吗?', {
btn: ['确定', '取消'] //按钮
}, function(index, layero) {
$.post( "/zzhnc/poster/deletetemplet",{id:id}, function(data) {
console.log(data)
if(data.code == 0) {
top.layer.msg("删除成功");
queryObj.page=1;
initdata(queryObj);
layer.close(index);
}else{
top.layer.msg(data.msg);
}
})
}, function(index, layero) {
layer.close(index);
});
});
})
function postertype(v){
if(v!==null&&v!==""){
switch(v){
case 1:
return "项目海报";
break;
case 2:
return "销售助手首页";
break;
case 3:
return "万小二首页";
break;
}
}else{
return ""
}
}
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>项目列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.layui-form-select dl{
max-height:190px;
}
#allmap {top:10px;width:100%;height: 400px;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<body class="wrap">
<div class="layui-form Detailbtn" style="display:block;">
<div class="layui-form-item">
<label class="layui-form-label"><i style="color:red;margin-right:5px;">*</i>项目名称</label>
<div class="layui-input-inline" style="width:390px;">
<input type="text" name="name" lay-verify="name" placeholder="项目名称" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">不超过20个汉字</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><i style="color:red;margin-right:5px;">*</i>海报模板</label>
<div class="layui-input-inline">
<select name="postertempletid" lay-search="">
<option value="">全部</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">位置</label>
<!-- <div class="layui-input-inline">
<input type="text" name="lng" readonly lay-verify="required" placeholder="经度" class="layui-input" style="background-color:#f5f5f5;color:#666;">
</div>
<div class="layui-input-inline">
<input type="text" name="lat" readonly lay-verify="required" placeholder="纬度" class="layui-input" style="background-color:#f5f5f5;color:#666;">
</div> -->
<div class="layui-input-inline">
<input type="number" name="lng" lay-verify="required" placeholder="经度" class="layui-input" >
</div>
<div class="layui-input-inline">
<input type="number" name="lat" lay-verify="required" placeholder="纬度" class="layui-input" >
</div>
</div>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=V45f8fZO8HiU1gLflQdrpv81D4gXKGRH"></script>
<div class="layui-form-mid layui-word-aux" style="padding-bottom:0;">提示:可以在地图上点击位置获取坐标(鼠标滚动放大缩小地图)</div>
<div id="allmap"></div>
<div class="layui-form-item" style="margin-top: 30px;">
<button class="layui-btn" lay-submit lay-filter="submit">提交</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button>
</div>
</div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
// 百度地图API功能
var map = new BMap.Map("allmap");
var map = new BMap.Map("allmap",{minZoom:4,maxZoom:18}); // 创建Map实例,设置地图允许的最小/大级别
map.enableScrollWheelZoom(true);
//单击获取点击的经纬度
map.addEventListener("click",function(e){
$("input[name=lng]").val(e.point.lng);
$("input[name=lat]").val(e.point.lat);
var allOverlay = map.getOverlays();
if(allOverlay.length>0){
function deletePoint(){
for (var i = 0; i < allOverlay.length ; i++){
map.removeOverlay(allOverlay[i]);
}
}
deletePoint()
var point = new BMap.Point(e.point.lng,e.point.lat);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
});
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
$("input[name=lng],input[name=lat]").blur(function(){
var plng=$("input[name=lng]").val();
var plat=$("input[name=lat]").val();
var allOverlay = map.getOverlays();
if(allOverlay.length>0){
function deletePoint(){
for (var i = 0; i < allOverlay.length ; i++){
map.removeOverlay(allOverlay[i]);
}
}
deletePoint()
var point = new BMap.Point(plng,plat);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
});
//下拉海报
$.post("/zzhnc/poster/getAllPostertemplet",function(data){
console.log(data);
var str="";
for(var i=0;i<data.data.length;i++){
str+='<option value='+ data.data[i].id +'>'+ data.data[i].name +'</option>';
}
$("select[name=postertempletid]").append(str);
form.render();
})
$(".resetBtn").on("click",function(){
$("input[name=name]").val("");
$("select[name=postertempletid]").val("0");
var allOverlay = map.getOverlays();
if(allOverlay.length>0){
function deletePoint(){
for (var i = 0; i < allOverlay.length ; i++){
map.removeOverlay(allOverlay[i]);
}
}
deletePoint()
}
$("input[name=lng]").val(113.754653);
$("input[name=lat]").val(23.025333);
map.centerAndZoom(new BMap.Point(113.754653,23.025333),13);
var point = new BMap.Point(113.754653,23.025333);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
form.render();
})
var id=getUrl_G("id");
if(id>0){
$.post("/zzhnc/project/getProject",{
id:id
},function(data){
console.log(data);
if(data.code==0){
$("input[name=name]").val(data.data.name);
$("select[name=postertempletid]").val(data.data.postertempletid);
$("input[name=lng]").val(data.data.lng);
$("input[name=lat]").val(data.data.lat);
map.centerAndZoom(new BMap.Point(data.data.lng,data.data.lat),13);
var point = new BMap.Point(data.data.lng,data.data.lat);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
form.render();
}
})
}else{
$("input[name=lng]").val(113.754653);
$("input[name=lat]").val(23.025333);
map.centerAndZoom(new BMap.Point(113.754653,23.025333),13);
var point = new BMap.Point(113.754653,23.025333);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
form.on('submit(submit)', function(data){
var name=$("input[name=name]").val();
var templetid=$("select[name=postertempletid]").val();
var lng=$("input[name=lng]").val();
var lat=$("input[name=lat]").val();
if(name==""){
top.layer.msg("请填写项目名称");
return false;
}else{
if(strlen(name) > 40) {
top.layer.msg("项目名称不超过20个汉字");
return false;
}
}
if(templetid==""||templetid=="0"){
top.layer.msg("请选择海报");
return false;
}
if(id>0){
//修改项目
$.post("/zzhnc/project/updateProject",{
id:id,
name:name,
templetid:templetid,
lng:lng,
lat:lat
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("修改成功");
} else{
top.layer.msg(data.msg);
}
})
}else{
//添加项目
$.post("/zzhnc/project/addProject",{
name:name,
templetid:templetid,
lng:lng,
lat:lat
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("添加成功");
form.render();
}else{
top.layer.msg(data.msg);
}
})
}
return false;
});
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>项目列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.layui-form-select dl{
max-height:190px;
}
#allmap {top:10px;width:100%;height: 200px;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<body class="wrap">
<div class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<!-- <div class="layui-input-inline producttype" style="width: 140px;">
<select name="producttype" >
<option value="">项目名称</option>
</select>
</div>
<div class="layui-input-inline productid" style="width: 140px;">
<select name="productid">
<option value="">海报模板id</option>
</select>
</div>
<div class="layui-input-inline" style="width: 150px;">
<input name="date1" class="layui-input" placeholder="更新时间" onclick="layui.laydate({elem: this,format: 'YYYY-MM-DD hh:mm:ss',istime: true})" />
</div> -->
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button>
<a class="layui-btn layui-btn-warm createBtn" href="#"><i class="layui-icon">&#xe61f;</i> 添加项目</a>
</div>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width: 30px;">No</th>
<th style="min-width:120px;">项目名称</th>
<th style="min-width: 80px;">经度</th>
<th style="min-width: 80px;">纬度</th>
<th style="min-width: 80px;">海报模板id</th>
<th style="min-width: 80px;">更新时间</th>
<th style="min-width: 80px;">操作</th>
</tr>
</thead>
<tbody id="tablelist">
<!-- <tr>
<td>1</td>
<td>项目名称</td>
<td>经度</td>
<td>纬度</td>
<td>海报模板id</td>
<td>更新时间</td>
<td>
<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>
<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>
</td>
</tr> -->
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<form class="layui-form Detailbtn" >
<div class="layui-form-item">
<label class="layui-form-label">项目名称</label>
<div class="layui-input-inline" style="width:390px;">
<input type="text" name="name" lay-verify="required" placeholder="项目名称" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">海报模板id</label>
<div class="layui-input-inline">
<select name="postertempletid" lay-verify="required">
<option value=""></option>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
<option value="3">4</option>
<option value="4">5</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">位置</label>
<div class="layui-input-inline">
<input type="text" name="lng" lay-verify="required" placeholder="经度" class="layui-input">
</div>
<div class="layui-input-inline">
<input type="text" name="lat" lay-verify="required" placeholder="纬度" class="layui-input">
</div>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=V45f8fZO8HiU1gLflQdrpv81D4gXKGRH"></script>
<div id="allmap"></div>
</div>
</form>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom("重庆",12);
//单击获取点击的经纬度
map.addEventListener("click",function(e){
alert(e.point.lng + "," + e.point.lat);
});
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var page=1;
var keyword="";
//查询
form.on('submit(querybtn)', function(data){
var keyword=$("input[name=keyword]").val();
Initdata(page,keyword)
});
$(".resetBtn").on("click",function(){
$("input[name=keyword]").val("");
Initdata(page,keyword)
})
//初始化数据
Initdata(page,keyword);
function Initdata(page,keyword){
$.post("/zzhnc/project/getProjectList",{page:page,keyword:keyword},function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: page,
skip: true,
jump: function(obj, first) {
if(!first) {
page = obj.curr
Initdata(page,keyword);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="text-align:left;">'+ data.rows[i].name+'</td>'
+'<td>'+ data.rows[i].lng+'</td>'
+'<td>'+ data.rows[i].lat+'</td>'
+'<td>'+ data.rows[i].postertempletid+'</td>'
+'<td>'+ toTime_G(data.rows[i].updatedtime) +'</td>'
+'<td>'
+'<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>'
+'<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>'
+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
//添加项目
$(document).on("click",".createBtn",function(){
if(parent.tab.exists("添加项目")>0){
var tabid=parent.tab.getTabId("添加项目");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/project/projectEdit?id=0",
icon: "fa-cubes",
title: "添加项目"
});
})
//修改项目
$(document).on("click",".updataBtn",function(){
var id=$(this).parents("tr").attr("data-id");
if(parent.tab.exists("修改项目")>0){
var tabid=parent.tab.getTabId("修改项目");
parent.tab.deleteTab(tabid);
}
parent.tab.tabAdd({
href: "/zzhnc/project/projectEdit?id="+ id ,
icon: "fa-cubes",
title: "修改项目"
});
})
//删除项目
$(document).on("click", ".deleteBtn", function() {
var id=$(this).parents("tr").attr("data-id");
layer.confirm('您确定要删除该项目吗?', {
btn: ['确定', '取消'] //按钮
}, function(index, layero) {
$.post( "/zzhnc/project/deleteProject",{id:id}, function(data) {
console.log(data)
if(data.code == 0) {
top.layer.msg("删除成功");
Initdata(1,keyword)
layer.close(index);
}else{
top.layer.msg(data.msg);
}
})
}, function(index, layero) {
layer.close(index);
});
});
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>万小二</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.Detailbtn .layui-form-label{
width:90px;
}
.Detailbtn .layui-input-inline{
width:380px !important;
}
</style>
<body class="wrap">
<div class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn" >重置</button>
</div>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 130px;max-width:320px;">头像昵称</th>
<th style="min-width: 80px;">销售人员</th>
<th style="min-width: 80px;">楼盘</th>
<th style="min-width: 80px;">拨打时间 </th>
</tr>
</thead>
<tbody id="tablelist">
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj = {
page: 1,
keyword: null
} //查询条件
//查询
form.on('submit(querybtn)', function(data){
queryObj=data.field;
queryObj.page=1;
initdata(queryObj);
form.render();
});
$(".resetBtn").on("click",function(){
$("input[name=keyword]").val("");
form.render();
queryObj.keyword=null;
initdata(queryObj);
})
//初始化数据
initdata(queryObj);
function initdata(queryObj){
$.post("/zzhnc/report/getCalllogList",queryObj,function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initdata(queryObj);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
var nick="";
if((data.rows[i].nickname==null||data.rows[i].nickname=="")&&(data.rows[i].logo==null||data.rows[i].logo=="")){
nick='<div style="text-align:left;">未授权(id:'+ data.rows[i].id +')</div>';
}else{
if(data.rows[i].logo==null||data.rows[i].logo==""){
nick='<div class="nickbox"><div id="wlogo" style="background:url(/zzhnc/res/images/default_user.png) no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}else{
nick='<div class="nickbox"><div id="wlogo" style="background:url('+data.rows[i].logo+') no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}
}
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="padding-left:40px;">'+ nick +'</td>'
+'<td>'+ data.rows[i].salename+'</td>'
+'<td>'+ data.rows[i].projectname+'</td>'
+'<td>'+ toTime_G(data.rows[i].createdtime)+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>粉丝列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<body class="wrap">
<form class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 150px;">
<input class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="resetbtn">重置</button>
</div>
</form>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width:120px;">头像昵称</th>
<th style="width:160px;">地区</th>
<th style="min-width:80px;">上级粉丝</th>
<th style="min-width:60px;">销售人员</th>
<th style="min-width:60px;">小程序 openid</th>
<th style="min-width:80px;">创建时间</th>
<th style="min-width:80px;">上次登录时间</th>
</tr>
</thead>
<tbody id="fanslist">
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var page = 1,keyword = ""
//初始化数据
initData(page, keyword)
function initData(page, keyword){
$.post("/zzhnc/report/getFansList",{page:page,keyword:keyword},function(data){
console.log(data)
data=data.data;
laypage({
cont: 'page',
pages: data.totalPages,
curr: page,
skip: true,
jump: function(obj, first) {
if(!first) {
page = obj.curr
initData(page, keyword)
}
}
});
$("#fanslist").html("")
if(data.rows.length>0){
$(".nulldata").hide();
var str="";
for(var i=0;i<data.rows.length;i++){
var nick="";
if((data.rows[i].nickname==null||data.rows[i].nickname=="")&&(data.rows[i].logo==null||data.rows[i].logo=="")){
nick='<div style="text-align:left;">未授权(id:'+ data.rows[i].id +')</div>';
}else{
if(data.rows[i].logo==null||data.rows[i].logo==""){
nick='<div class="nickbox"><div id="wlogo" style="background:url(/zzhnc/res/images/default_user.png) no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}else{
nick='<div class="nickbox"><div id="wlogo" style="background:url('+data.rows[i].logo+') no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}
}
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="text-align:left;">'+ nick +'</td>'
+'<td>'+ ToAddress(data.rows[i]) +'</td>'
+'<td>'+ data.rows[i].parentfans+'</td>'
+'<td>'+ data.rows[i].salesname+'</td>'
+'<td>'+ data.rows[i].miniopenid+'</td>'
+'<td>'+ toTime_G(data.rows[i].createdtime) +'</td>'
+'<td>'+ toTime_G(data.rows[i].lastlogintime) +'</td>'
+'</tr>'
}
$("#fanslist").html(str)
toNull_G();
}else{
$(".nulldata").show()
return false;
}
})
}
form.on("submit(querybtn)", function(e){
initData(1, e.field.keyword)
return false
})
form.on("submit(resetbtn)", function(e){
$("[name=keyword]").val("")
initData(1, "");
return false
})
function fanstype(t){
if(t == 1){
return "销售助手粉丝"
}else if(t == 2){
return "万小二粉丝"
}else{
return ""
}
}
function ToAddress(data){
var p = data.province || ""
var c = data.city || ""
var d = data.district || ""
return !!(p + c + d) ? (p+c+d) : "未知城市"
}
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>海报记录</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<body class="wrap">
<form class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<!-- <div class="layui-input-inline producttype" style="width: 140px;">
<select name="producttype" >
<option value="">海报类别</option>
</select>
</div>
<div class="layui-input-inline productid" style="width: 140px;">
<select name="productid">
<option value="">人员名称</option>
</select>
</div>
<div class="layui-input-inline productid" style="width: 140px;">
<select name="productid">
<option value="">海报名称</option>
</select>
</div> -->
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="resetbtn" type="reset">重置</button>
</div>
</form>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 80px;">海报类别</th>
<th style="min-width: 60px;">人员名称</th>
<th style="min-width: 60px;">海报图片 </th>
<th style="min-width: 80px;">更新时间</th>
</tr>
</thead>
<tbody id="tablelist">
<!-- <tr>
<td>No</td>
<td style="min-widtd: 56px;">海报类别</td>
<td style="min-widtd: 84px;">人员名称</td>
<td style="min-widtd: 56px;">海报地址 </td>
<td style="min-widtd: 56px;">更新时间 </td>
</tr> -->
</tbody>
</table>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj = {
page: 1,
keyword:null
} //查询条件
//查询
form.on('submit(querybtn)', function(data){
queryObj=data.field;
queryObj.page=1;
initdata(queryObj);
form.render();
return false;
});
$(".resetBtn").on("click",function(){
$("input[name=keyword]").val("");
$("select[name=projectid]").val("");
form.render();
initdata(queryObjd)
return false;
})
//初始化数据
initdata(queryObj);
function initdata(queryObj){
$.post("/zzhnc/report/getPosterLog",queryObj,function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initdata(queryObj);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td>'+ postertype(data.rows[i].postertype)+'</td>'
+'<td>'+ data.rows[i].name+'</td>'
+'<td><div style="background:url('+ data.rows[i].imgurl +') no-repeat center;-webkit-background-size:contain;background-size:contain;width:40px;height:40px;margin:0 auto;"></div></td>'
+'<td>'+ toTime_G(data.rows[i].updatedtime) +'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
})
function postertype(v){
if(v!==null&&v!==""){
switch(v){
case 1:
return "项目海报";
break;
case 2:
return "销售助手首页";
break;
case 3:
return "万小二首页";
break;
}
}else{
return "";
}
}
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>评论列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.Detailbtn .layui-form-label {
width: 90px;
}
.Detailbtn .layui-input-inline {
width: 380px !important;
}
</style>
<body class="wrap">
<form class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 150px;">
<select name="estateid">
<option value="">楼盘名称</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>
</select>
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="resetbtn" type="reset">重置</button>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="width: 160px;">粉丝</th>
<th style="width: 120px;">楼盘名称</th>
<th style="min-width: 120px;">评论内容</th>
<th style="min-width: 56px;">评论时间</th>
<th style="width:80px;">是否显示</th>
</tr>
</thead>
<tbody id="remarklist">
</tbody>
</table>
</form>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function () {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj = {
page: 1,
pagesize: 10,
estateid: ''
};
initData(queryObj);
function initData(queryObj) {
$.post("/zzhnc/report/getRemarksList", queryObj, function (data) {
console.log(data)
data = data.data;
laypage({
cont: 'page',
pages: data.totalPages,
curr: queryObj.page,
skip: true,
jump: function (obj, first) {
if (!first) {
queryObj.page = obj.curr
initData(queryObj)
}
}
});
$("#remarklist").html("")
if (data.rows.length > 0) {
$(".nulldata").hide()
var str = "";
for (var i = 0; i < data.rows.length; i++) {
var nick = "";
if ((data.rows[i].nickname == null || data.rows[i].nickname == "") && (data.rows[i].logo == null || data.rows[i].logo == "")) {
nick = '<div style="text-align:left;">未授权(id:' + data.rows[i].id + ')</div>';
} else {
if (data.rows[i].logo == null || data.rows[i].logo == "") {
nick = '<div class="nickbox"><div id="wlogo" style="background:url(/zzhnc/res/images/default_user.png) no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> ' + ToName(data.rows[i].nickname) + '</span></div>';
} else {
nick = '<div class="nickbox"><div id="wlogo" style="background:url(' + data.rows[i].logo + ') no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> ' + ToName(data.rows[i].nickname) + '</span></div>';
}
}
str += '<tr data-id=' + data.rows[i].id + '>'
+ '<td>' + ((data.page - 1) * data.pageSize + i + 1) + '</td>'
+ '<td style="text-align:left;">' + nick + '</td>'
+ '<td>' + estateName(data.rows[i].estateid) + '</td>'
+ '<td style="text-align:left;">' + data.rows[i].content + '</td>'
+ '<td>' + toTime_G(data.rows[i].createdtime) + '</td>'
+ '<td>' + ' <input type="checkbox" '+ (data.rows[i].status ? "checked" : "" ) +' name="open" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">' + '</td>'
+ '</tr>'
}
$("#remarklist").html(str)
toNull_G();
} else {
$(".nulldata").show()
return false;
}
form.render()
})
}
//查询
form.on("submit(querybtn)", function (e) {
queryObj.estateid = e.field.estateid;
queryObj.page = 1;
initData(queryObj)
return false
})
//评论审核
form.on('switch',function(e){
var isShow = e.elem.checked ? 1 : 0
var id = $(e.elem).parents('tr').data('id')
$.post('/zzhnc/report/remarkAuditing', {
status:isShow,
remarkId:id
}, function(res){
if(res.code == 0){
layer.msg('审核成功')
}else{
layer.msg(res.msg)
}
})
return false
})
//重置
form.on("submit(resetbtn)", function (e) {
$("[name=estateid]").val("")
queryObj = {
page: 1,
pagesize: 10,
estateid: ""
};
form.render();
initData(queryObj)
return false
})
//楼盘id转名称
function estateName(v) {
if (v !== null && v !== "") {
switch (v) {
case 1:
return "万科·皇马郦宫"
break;
case 2:
return "万科·四季松湖"
break;
case 3:
return "南部湾万科城"
break;
case 4:
return "万科·翡丽山"
break;
case 5:
return "万科·东江之星"
break;
case 6:
return "万科·幸福城"
break;
case 7:
return "万科·云城"
break;
case 8:
return "万科·城市花园"
break;
case 9:
return "万科·中央公园"
break;
case 10:
return "万科·珠江东岸"
break;
default:
return ""
}
}
}
})
function ToName(v) {
if (typeof (v) == 'string') {
v = (v.length > 8 ? v.substring(0, 8) : v)
return v
} else {
return v
}
}
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>销售报表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.Detailbtn .layui-form-label{
width:90px;
}
.Detailbtn .layui-input-inline{
width:380px !important;
}
</style>
<body class="wrap">
<form class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 150px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="resetbtn" type="reset">重置</button>
</div>
</form>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 60px;">销售人员</th>
<th style="min-width: 80px;">楼盘</th>
<th style="min-width: 56px;">粉丝数量</th>
<th style="min-width: 70px;">拨打电话数</th>
<th style="min-width: 84px;">回复信息数量</th>
</tr>
</thead>
<tbody id="salelist">
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj={
page : 1,
keyword : ""
};
initData(queryObj);
function initData(queryObj){
$.post("/zzhnc/report/getSalesReportList",queryObj,function(data){
console.log(data)
data=data.data;
laypage({
cont: 'page',
pages: data.totalPages,
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initData(queryObj)
}
}
});
$("#salelist").html("")
if(data.rows.length>0){
$(".nulldata").hide()
var str="";
for(var i=0;i<data.rows.length;i++){
str+='<tr>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td>'+ data.rows[i].name +'</td>'
+'<td>'+ data.rows[i].projectname +'</td>'
+'<td>'+ data.rows[i].fanscount +'</td>'
+'<td>'+ data.rows[i].callcount +'</td>'
+'<td>'+ data.rows[i].chatcount +'</td>'
+'</tr>'
}
$("#salelist").html(str)
toNull_G();
}else{
$(".nulldata").show()
return false;
}
})
}
//查询
form.on("submit(querybtn)", function(e){
queryObj.keyword=e.field.keyword;
queryObj.page=1;
initData(queryObj)
return false
})
//重置
form.on("submit(resetbtn)", function(e){
$("[name=keyword]").val("")
queryObj={
page : 1,
keyword : ""
};
form.render();
initData(queryObj)
return false
})
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>中奖记录</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.Detailbtn .layui-form-label{
width:90px;
}
.Detailbtn .layui-input-inline{
width:380px !important;
}
.floatR{
float: right;
line-height: 36px;
padding-right: 40px;
margin-top: 20px;
}
.floatR span{
color: red;
font-size: 1.4em;
}
</style>
<body class="wrap">
<div class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<div class="layui-input-inline" style="width: 140px;">
<input type="number" class="layui-input" name="turn" placeholder="轮次(数字)" />
</div>
<div class="layui-input-inline" style="width: 140px;">
<select name="status">
<option value="100">全部</option>
<option value="0">未中奖</option>
<option value="1" selected>中奖</option>
</select>
</div>
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn" type="reset">重置</button>
<div class="floatR">已中奖金额:<span id="moneySum"></span></div>
</div>
</div>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 200px;">中奖人员</th>
<th style="width:50px">轮次</th>
<th style="min-width: 80px;">红包</th>
<th style="min-width: 120px;">时间 </th>
</tr>
</thead>
<tbody id="tablelist">
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var queryObj = {
page: 1,
pagesize:10,
turn:"0",
status:1,
keyword: null
} //查询条件
//查询
form.on('submit(querybtn)', function(data){
queryObj=data.field;
queryObj.page=1;
queryObj.keyword=$("input[name=keyword]").val();
queryObj.turn=$("input[name=turn]").val();
queryObj.status = (queryObj.status == 100 ? "" : queryObj.status)
queryObj.pagesize=10,
initdata(queryObj);
form.render();
});
$(".resetBtn").on("click",function(){
$("input[name=keyword]").val("");
$("input[name=turn]").val("");
$('select[name=status]').val("")
queryObj.turn="";
queryObj.keyword=null;
queryObj.status = ''
form.render();
initdata(queryObj);
})
//初始化数据
initdata(queryObj);
function initdata(queryObj){
$.post("/zzhnc/activity/getLotteryLogList",queryObj,function(data){
data=data.data;
$('#moneySum').text(data.sum + '元')
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: queryObj.page,
skip: true,
jump: function(obj, first) {
if(!first) {
queryObj.page = obj.curr
initdata(queryObj);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
var nick="";
if((data.rows[i].nickname==null||data.rows[i].nickname=="")&&(data.rows[i].logo==null||data.rows[i].logo=="")){
nick='<div style="text-align:left;">未授权(id:'+ data.rows[i].id +')</div>';
}else{
if(data.rows[i].logo==null||data.rows[i].logo==""){
nick='<div class="nickbox"><div id="wlogo" style="background:url(/zzhnc/res/images/default_user.png) no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}else{
nick='<div class="nickbox"><div id="wlogo" style="background:url('+data.rows[i].logo+') no-repeat center;-webkit-background-size:contain;background-size:contain;"></div><span class="nick"> '+ data.rows[i].nickname +'</span></div>';
}
}
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * data.pageSize + i + 1) +'</td>'
+'<td style="padding-left:40px;">'+ nick +'</td>'
+'<td>'+ data.rows[i].turn +'</td>'
+'<td>'+ data.rows[i].mny+'元</td>'
+'<td>'+ toTime_G(data.rows[i].createdtime)+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
toNull_G();
})
}
})
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>富文本测试</title>
<style type="text/css">
#connect-container {
float: left;
width: 400px
}
#connect-container div {
padding: 5px;
}
#console-container {
float: left;
margin-left: 15px;
width: 400px;
}
#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}
#console p {
padding: 0;
margin: 0;
}
</style>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
这里写你的初始化内容
</script>
<!-- 配置文件 -->
<script type="text/javascript" src="/zzhnc/res/UE/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="/zzhnc/res/UE/ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {
return '/zzhnc/upload/NewUploadImg';
} else {
return this._bkGetActionUrl.call(this, action);
}
}
// var ue = UE.getEditor('container');
//实例化加入参数
var ue = UE.getEditor('container', {
autoHeight: false
});
var ue = UE.getContent();
//对编辑器的操作最好在编辑器ready之后再做
ue.ready(function() {
//设置编辑器的内容
ue.setContent('hello');
//获取html内容,返回: <p>hello</p>
var html = ue.getContent();
console.log("html:"+html);
//获取纯文本内容,返回: hello
var txt = ue.getContentTxt();
console.log("text:"+txt);
});
</script>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>项目列表</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<style>
.layui-form-label{
width:90px;
}
.Detailbtn .layui-input-inline{
width:380px !important;
}
</style>
<body class="wrap">
<form class="layui-form">
<div class="layui-form-item searchbox" style="margin-bottom: 0px;">
<!-- <div class="layui-input-inline producttype" style="width: 140px;">
<select name="producttype" >
<option value="">姓名</option>
</select>
</div>
<div class="layui-input-inline productid" style="width: 140px;">
<select name="productid">
<option value="">项目id</option>
</select>
</div>
<div class="layui-input-inline" style="width: 140px;">
<input type="text" class="layui-input" name="keyword" placeholder="关键字" />
</div>
<button class="layui-btn" lay-submit lay-filter="querybtn">查询</button>
<button class="layui-btn layui-btn-primary resetBtn">重置</button> -->
<a class="layui-btn layui-btn-warm createBtn" href="#"><i class="layui-icon">&#xe61f;</i> 添加万小二</a>
</div>
</form>
<table class="layui-table">
<thead>
<tr>
<th style="width:30px;">No</th>
<th style="min-width: 60px;">姓名</th>
<th style="min-width: 100px;">手机</th>
<th style="min-width: 80px;">修改时间 </th>
<th style="min-width: 80px;">上次登录时间</th>
<th style="min-width: 80px;">操作</th>
</tr>
</thead>
<tbody id="tablelist">
<!-- <tr>
<td>No</td>
<td style="min-widtd: 56px;">姓名</td>
<td style="min-widtd: 56px;">手机</td>
<td style="min-widtd: 56px;">小程序openid </td>
<td style="min-widtd: 160px;">公众号openid</td>
<td style="min-widtd: 56px;">修改时间 </td>
<td style="min-widtd: 160px;">上次登录时间</td>
<td>
<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>
<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>
</td>
</tr> -->
</tbody>
</tbody>
</table>
<div class="nulldata">暂无数据</div>
<div id="page"></div>
</body>
<form class="layui-form Detailbtn" >
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" name="name" required lay-verify="required" placeholder="姓名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机</label>
<div class="layui-input-inline">
<input type="text" name="phone" required lay-verify="required" placeholder="手机" autocomplete="off" class="layui-input">
</div>
</div>
<!-- <div class="layui-form-item">
<label class="layui-form-label">小程序openid</label>
<div class="layui-input-inline">
<input type="text" name="title" required lay-verify="required" placeholder="项目名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公众号openid</label>
<div class="layui-input-inline">
<input type="text" name="title" required lay-verify="required" placeholder="项目名称" autocomplete="off" class="layui-input">
</div>
</div> -->
</form>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function() {
var form = layui.form(),
element = layui.element(),
laydate = layui.laydate,
layer = layui.layer,
laypage = layui.laypage;
var page=1;
//初始化数据
initdata(page);
function initdata(page){
$.post("/zzhnc/vanker/getList",{page:page},function(data){
data=data.data;
console.log(data)
laypage({
cont: 'page',
pages: data.totalPages, //总页数
curr: page,
skip: true,
jump: function(obj, first) {
if(!first) {
page = obj.curr
initdata(page);
}
}
});
var str="";
if(data.rows.length<1){
$(".nulldata").show();
}else{
$(".nulldata").hide();
for(var i=0;i<data.rows.length;i++){
str+='<tr data-id='+ data.rows[i].id +'>'
+'<td>'+ ((data.page - 1) * 5 + i + 1) +'</td>'
+'<td>'+ data.rows[i].name+'</td>'
+'<td>'+ data.rows[i].phone+'</td>'
+'<td>'+ toTime_G(data.rows[i].createdtime) +'</td>'
+'<td>'+ toTime_G(data.rows[i].lastlogintime) +'</td>'
+'<td>'
+'<a href="#" class="layui-btn layui-btn-mini updataBtn">修改</a>'
+'<a href="#" class="layui-btn layui-btn-mini deleteBtn">删除</a>'
+'</td>'
+'</tr>';
}
}
$("#tablelist").html(str);
})
}
//添加万小二
$(document).on("click",".createBtn",function(){
layer.open({
type:1,
title:'添加万小二',
area:["600px","380px"],
content:$(".Detailbtn"),
btnAlign:'c',
btn:["确定","取消"],
yes:function(index,layero){
var name=$("input[name=name]").val();
var phone=$("input[name=phone]").val();
if(name==""){
top.layer.msg("请填写名称");
return false;
}
if(phone==""){
top.layer.msg("请填写手机号");
return false;
}else{
if(!(/^1[34578]\d{9}$/.test(phone))) {
top.layer.msg("手机号码有误,请重填");
return false;
}
}
$.post("/zzhnc/vanker/addvanker",{
name:name,
phone:phone
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("添加成功");
layer.close(index);
initdata(page);
}else{
top.layer.msg(data.msg);
}
})
},
btn2:function(index,layero){
layer.close(index);
},
success:function(){
$("input[name=name]").val("");
$("input[name=phone]").val("");
}
})
})
//修改万小二
$(document).on("click",".updataBtn",function(){
var id=$(this).parents("tr").attr("data-id");
layer.open({
type:1,
title:'修改万小二',
area:["600px","380px"],
content:$(".Detailbtn"),
btnAlign:'c',
btn:["确定","取消"],
yes:function(index,layero){
var name=$("input[name=name]").val();
var phone=$("input[name=phone]").val();
if(name==""){
top.layer.msg("请填写名称");
return false;
}
if(phone==""){
top.layer.msg("请填写手机号");
return false;
}else{
if(!(/^1[34578]\d{9}$/.test(phone))) {
top.layer.msg("手机号码有误,请重填");
return false;
}
}
$.post("/zzhnc/vanker/updatevanker",{
id:id,
name:name,
phone:phone
},function(data){
console.log(data);
if(data.code==0){
top.layer.msg("修改成功");
layer.close(index);
initdata(page);
}else{
top.layer.msg(data.msg);
}
})
},
btn2:function(index,layero){
layer.close(index);
},
success:function(){
$.post("/zzhnc/vanker/getVanker",{
id:id
},function(data){
console.log(data);
if(data.code==0){
$("input[name=name]").val(data.data.name);
$("input[name=phone]").val(data.data.phone);
}
})
}
})
})
//删除项目
$(document).on("click", ".deleteBtn", function() {
var id=$(this).parents("tr").attr("data-id");
layer.confirm('您确定要删除该万小二吗?', {
btn: ['确定', '取消'] //按钮
}, function(index, layero) {
$.post( "/zzhnc/vanker/deletevanker",{id:id}, function(data) {
console.log(data)
if(data.code == 0) {
top.layer.msg("删除成功");
initdata(page);
layer.close(index);
}else{
top.layer.msg(data.msg);
}
})
}, function(index, layero) {
layer.close(index);
});
});
})
//验证变量是否为null
function nullToSpace (v) {
   return !v && v != '0' ? '' : v;
}
</script>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
<title>公众号管理</title>
<link rel="stylesheet" href="/zzhnc/res/plugins/layui/css/layui.css">
<link rel="stylesheet" href="/zzhnc/res/css/Layuiglobal.css">
<link rel="stylesheet" href="/zzhnc/res/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="http://at.alicdn.com/t/font_191348_aee57zbh6jyk3xr.css">
<link rel="stylesheet" href="/zzhnc/res/css/basic.css">
</head>
<body>
<div class="layui-container" style="width: 100%;">
<ul class="publicbox">
<!-- <li class="publicbos">
<span style="background:url(/zzhnc/res/images/moren.jpg) no-repeat center;-webkit-background-size:contain;background-size:contain;"></span>
<p>微会互动</p>
</li> -->
</ul>
<div style="margin-left:20px;">
<a type="button" class="layui-btn" id="add" href="${url}" target="_blank">添加公众号</a>
</div>
<div>
</div>
<div>
<br/><br/>
<input id="mpOpenid" style="widht:150px" title="测试者的公众号openid" value="oXqmKwSoVLT31zRncvr9Q5pWiLFI"/>
<br/><br/>
<a type="button" class="layui-btn" id="test" href="javascript:;" target="_blank" >测试发送模板消息</a>
</div>
</div>
<script src='/zzhnc/res/js/jquery.min.js'></script>
<script type="text/javascript" src="/zzhnc/res/js/jquery.qqFace.js"></script>
<script src="/zzhnc/res/plugins/layui/layui.js" charset="utf-8"></script>
<script src="/zzhnc/res/js/me.js"></script>
<script>
layui.use(['form', 'element', 'laydate', 'layer', 'laypage'], function(){
var template_id_short="OPENTM412547082"; //客户咨询通知的模板短ID。
/*
$.post("/zzhnc/pcwx/getTemplate",{template_id_short:template_id_short},function(data){
if(data.msg!="") $("#info").html("模板消息已添加,TempletID=" + data.msg);
})
*/
$("#addTemplate").click(function(){
$.post("/zzhnc/pcwx/addTemplate",{template_id_short:template_id_short},function(data){
console.log(data);
if (data.msg.indexOf("error")>-1){
alert("添加失败,原因:" + data.msg);
}
else
{
$("#info").html("模板消息已添加,TempletID=" + data.msg);
alert("添加成功!");
}
})
})
$("#test").click(function(){
var openid = $("#mpOpenid").val();
$.post("/zzhnc/pcwx/testSendTemplate",{mpOpenid:openid,rand:new Date().toString()},function(data){
alert(data);
})
})
//获取公众号
$.post("/zzhnc/pcwx/getwx",function(data){
console.log(data)
if(data.code==0){
var str ='<li class="publicbos">'
+'<span style="background:url('+ data.data.headimg +') no-repeat center;-webkit-background-size:contain;background-size:contain;"></span>'
+'<p>'+ data.data.wxname +'</p>'
+'</li>';
$(".publicbox").html(str);
}else{
top.layer.msg(data.msg)
}
})
})
</script>
</body>
</html>
\ No newline at end of file
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
此文件的差异太大,无法显示。
Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
请先完成此消息的编辑!