班组管理、客户管理、人员配置

This commit is contained in:
jjLv 2024-07-22 10:14:36 +08:00
parent d7a26d0fb2
commit 3b85069dc1
22 changed files with 2051 additions and 0 deletions

View File

@ -0,0 +1,30 @@
package com.bonus.aqgqj.basis.dao;
import com.bonus.aqgqj.basis.entity.vo.BaseCustom;
import com.bonus.aqgqj.model.SysUser;
import com.bonus.aqgqj.task.entity.TaskVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface CustomDao {
List<BaseCustom> list(BaseCustom custom);
BaseCustom getCustomId(BaseCustom custom);
BaseCustom getCustom(String customName,Long customId);
BaseCustom getCustomPhone(String customPhone,Long customId);
int update(BaseCustom custom);
BaseCustom getAdd(String customName);
int add(BaseCustom custom);
int delCustom(Long customId);
Integer updateCustomStatus(BaseCustom custom);
}

View File

@ -0,0 +1,30 @@
package com.bonus.aqgqj.basis.dao;
import com.bonus.aqgqj.basis.entity.vo.BaseTeam;
import com.bonus.aqgqj.basis.entity.vo.BaseTeamConfig;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TeamConfigDao {
List<BaseTeamConfig> list(String keyWord,Long teamId);
//
// BaseTeam getTeamId(BaseTeam team);
//
// BaseTeam getTeam(String teamName,Long teamId);
// BaseCustom getCustomPhone(String customPhone,Long customId);
//
// int update(BaseTeam team);
//
// BaseTeam getAdd(String teamName);
//
// int add(BaseTeam team);
//
// int delTeam(Long teamId);
List<BaseTeam> teamList(String name);
}

View File

@ -0,0 +1,27 @@
package com.bonus.aqgqj.basis.dao;
import com.bonus.aqgqj.basis.entity.vo.BaseCustom;
import com.bonus.aqgqj.basis.entity.vo.BaseTeam;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface TeamDao {
List<BaseTeam> list(String keyWord);
BaseTeam getTeamId(BaseTeam team);
BaseTeam getTeam(String teamName,Long teamId);
// BaseCustom getCustomPhone(String customPhone,Long customId);
//
int update(BaseTeam team);
BaseTeam getAdd(String teamName);
int add(BaseTeam team);
int delTeam(Long teamId);
}

View File

@ -0,0 +1,36 @@
package com.bonus.aqgqj.basis.entity.vo;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
@Data
public class BaseCustom extends PageEntity {
private static final long serialVersionUID = -6525908145032868837L;
private Long customId;
private String customName;
private String customType;
private String customUser;
private String customPhone;
private int customStatus;
private String createUser;
private String updateUser;
private int delFlag;
public interface Status {
int DISABLED = 0;
int VALID = 1;
int LOCKED = 2;
}
}

View File

@ -0,0 +1,36 @@
package com.bonus.aqgqj.basis.entity.vo;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
import java.util.Date;
@Data
public class BaseTeam extends PageEntity {
private static final long serialVersionUID = -6525908145032868837L;
private Long teamId;
private String teamName;
private String teamTypeName;
private String teamLeader;
private String teamLeaderPhone;
private java.sql.Date createTime;
private java.sql.Date updateTime;
private int delFlag;
public interface Status {
int DISABLED = 0;
int VALID = 1;
int LOCKED = 2;
}
}

View File

@ -0,0 +1,32 @@
package com.bonus.aqgqj.basis.entity.vo;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
@Data
public class BaseTeamConfig extends PageEntity {
private static final long serialVersionUID = -6525908145032868837L;
private Long teamConfigId;
private String teamConfigName;
private String teamConfigJobNumber;
private int teamConfigSex;
private int teamConfigTeamId;
private String teamConfigPhone;
private int delFlag;
public interface Status {
int DISABLED = 0;
int VALID = 1;
int LOCKED = 2;
}
}

View File

@ -0,0 +1,16 @@
package com.bonus.aqgqj.basis.entity.vo;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
/**
* @author 10488
* 系统配置-前端返回参数实体类
*/
@Data
public class BaseTeamConfigDto extends PageEntity {
private String keyWord;
private Long teamId;
}

View File

@ -0,0 +1,14 @@
package com.bonus.aqgqj.basis.entity.vo;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
/**
* @author 10488
* 系统配置-前端返回参数实体类
*/
@Data
public class BaseTeamDto extends PageEntity {
private String keyWord;
}

View File

@ -0,0 +1,36 @@
package com.bonus.aqgqj.model;
import com.bonus.aqgqj.base.entity.PageEntity;
import lombok.Data;
@Data
public class BaseCustom extends PageEntity {
private static final long serialVersionUID = -6525908145032868837L;
private Long id;
private String customName;
private String customType;
private String customUser;
private String customPhone;
private String customStatus;
private String createUser;
private String updateUser;
private int delFlag;
public interface Status {
int DISABLED = 0;
int VALID = 1;
int LOCKED = 2;
}
}

View File

@ -0,0 +1,78 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.aqgqj.basis.dao.CustomDao">
<resultMap type="com.bonus.aqgqj.basis.entity.vo.BaseCustom" id="BaseCustomResult">
<id property="customId" column="id" />
<result property="customName" column="custom_name" />
<result property="customType" column="custom_type" />
<result property="customUser" column="custom_user" />
<result property="customPhone" column="custom_phone" />
<result property="customStatus" column="custom_status" />
<result property="createUser" column="create_user" />
<result property="updateUser" column="update_user" />
<result property="delFlag" column="del_flag" />
</resultMap>
<select id="list" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseCustom" resultMap="BaseCustomResult">
select id,custom_name,custom_type,custom_user,custom_phone,custom_status
from tb_custom
<where>
del_flag = 0
<if test="customName != null and customName != ''">
and custom_name like concat('%', #{customName}, '%')
</if>
</where>
order by id ASC
</select>
<select id="getCustomId" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseCustom" resultMap="BaseCustomResult">
select id,custom_name,custom_type,custom_user,custom_phone,custom_status
from tb_custom
where del_flag=0 and id=#{customId}
</select>
<select id="getCustom" resultMap="BaseCustomResult">
select id,custom_name,custom_type,custom_user,custom_phone,custom_status
from tb_custom
where custom_name = #{customName} and id != #{customId}
</select>
<select id="getAdd" resultMap="BaseCustomResult">
select id,custom_name,custom_type,custom_user,custom_phone,custom_status
from tb_custom
where custom_name = #{customName}
</select>
<select id="getCustomPhone" resultMap="BaseCustomResult">
select id,custom_name,custom_type,custom_user,custom_phone,custom_status
from tb_custom
where custom_phone = #{customPhone} and id != #{customId}
</select>
<update id="update">
update tb_custom
set custom_name = #{customName},
custom_type = #{customType},
custom_user = #{customUser},
custom_phone = #{customPhone},
custom_status = #{customStatus},
update_time = now()
where id = #{customId}
</update>
<insert id="add" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseCustom" >
insert into tb_custom(custom_name,custom_type,custom_user,custom_phone,custom_status,create_time,del_flag
)values (
#{customName},#{customType},#{customUser},#{customPhone},#{customStatus},now(),0
)
</insert>
<update id="delCustom">
update tb_custom
set del_flag = 1
where id = #{customId}
</update>
<update id="updateCustomStatus" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseCustom" >
update tb_custom set custom_status=#{customStatus} where id=#{customId}
</update>
</mapper>

View File

@ -0,0 +1,88 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.aqgqj.basis.dao.TeamConfigDao">
<resultMap type="com.bonus.aqgqj.basis.entity.vo.BaseTeamConfig" id="BaseTeamConfigResult">
<id property="teamConfigId" column="id" />
<result property="teamConfigName" column="user_name" />
<result property="teamConfigJobNumber" column="user_code" />
<result property="teamConfigSex" column="sex" />
<result property="teamConfigTeamId" column="team_id" />
<result property="teamConfigPhone" column="phone" />
<result property="delFlag" column="del_flag" />
</resultMap>
<select id="teamList" resultType="com.bonus.aqgqj.basis.entity.vo.BaseTeam">
select id as teamId,team_name as teamName
from tb_team
where team_name is not null and team_name !='' and del_flag = 0
group by team_name
</select>
<select id="list" resultMap="BaseTeamConfigResult">
select su.id,user_name,user_code,su.team_name,su.team_id,sex,phone
from tb_team tt
left join sys_user su on su.team_id = tt.id and su.del_flag = 0
<where>
tt.del_flag = 0 and team_id is not null and team_id !=''
<if test="keyWord != null and keyWord != ''">
and (
INSTR(user_name,#{keyWord}) > 0 OR
INSTR(user_code,#{keyWord}) > 0 OR
INSTR(sex,#{keyWord}) > 0 OR
INSTR(phone,#{keyWord}) > 0
)
</if>
<if test="teamId != null and teamId != ''">
and team_id = #{teamId}
</if>
</where>
order by su.id asc
</select>
<!-- <select id="getTeamId" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseTeam" resultMap="BaseTeamResult">-->
<!-- select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time-->
<!-- from tb_team-->
<!-- where del_flag=0 and id=#{teamId}-->
<!-- </select>-->
<!-- <select id="getTeam" resultMap="BaseTeamResult">-->
<!-- select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time-->
<!-- from tb_team-->
<!-- where team_name = #{teamName} and id != #{teamId}-->
<!-- </select>-->
<!-- <select id="getAdd" resultMap="BaseTeamResult">-->
<!-- select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time-->
<!-- from tb_team-->
<!-- where team_name = #{teamName}-->
<!-- </select>-->
<!-- <select id="getCustomPhone" resultMap="BaseCustomResult">-->
<!-- select id,custom_name,custom_type,custom_user,custom_phone,custom_status-->
<!-- from tb_custom-->
<!-- where custom_phone = #{customPhone} and id != #{customId}-->
<!-- </select>-->
<!-- <update id="update">-->
<!-- update tb_team-->
<!-- set team_name = #{teamName},-->
<!-- team_type_name = #{teamTypeName},-->
<!-- team_leader = #{teamLeader},-->
<!-- team_leader_phone = #{teamLeaderPhone},-->
<!-- update_time = now()-->
<!-- where id = #{teamId}-->
<!-- </update>-->
<!-- <insert id="add" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseTeam" >-->
<!-- insert into tb_team(team_name,team_type_name,team_leader,team_leader_phone,create_time,del_flag-->
<!-- )values (-->
<!-- #{teamName},#{teamTypeName},#{teamLeader},#{teamLeaderPhone},now(),0-->
<!-- )-->
<!-- </insert>-->
<!-- <update id="delTeam">-->
<!-- update tb_team-->
<!-- set del_flag = 1-->
<!-- where id = #{teamId}-->
<!-- </update>-->
</mapper>

View File

@ -0,0 +1,77 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.aqgqj.basis.dao.TeamDao">
<resultMap type="com.bonus.aqgqj.basis.entity.vo.BaseTeam" id="BaseTeamResult">
<id property="teamId" column="id" />
<result property="teamName" column="team_name" />
<result property="teamTypeName" column="team_type_name" />
<result property="teamLeader" column="team_leader" />
<result property="teamLeaderPhone" column="team_leader_phone" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
</resultMap>
<select id="list" parameterType="String" resultMap="BaseTeamResult">
select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time
from tb_team
<where>
del_flag = 0
<if test="keyWord != null and keyWord != ''">
and (
INSTR(team_name,#{keyWord}) > 0 OR
INSTR(team_type_name,#{keyWord}) > 0 OR
INSTR(team_leader,#{keyWord}) > 0 OR
INSTR(team_leader_phone,#{keyWord}) > 0
)
</if>
</where>
order by id asc
</select>
<select id="getTeamId" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseTeam" resultMap="BaseTeamResult">
select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time
from tb_team
where del_flag=0 and id=#{teamId}
</select>
<select id="getTeam" resultMap="BaseTeamResult">
select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time
from tb_team
where team_name = #{teamName} and id != #{teamId}
</select>
<select id="getAdd" resultMap="BaseTeamResult">
select id,team_name,team_type_name,team_leader,team_leader_phone,create_time,update_time
from tb_team
where team_name = #{teamName}
</select>
<!-- <select id="getCustomPhone" resultMap="BaseCustomResult">-->
<!-- select id,custom_name,custom_type,custom_user,custom_phone,custom_status-->
<!-- from tb_custom-->
<!-- where custom_phone = #{customPhone} and id != #{customId}-->
<!-- </select>-->
<update id="update">
update tb_team
set team_name = #{teamName},
team_type_name = #{teamTypeName},
team_leader = #{teamLeader},
team_leader_phone = #{teamLeaderPhone},
update_time = now()
where id = #{teamId}
</update>
<insert id="add" parameterType="com.bonus.aqgqj.basis.entity.vo.BaseTeam" >
insert into tb_team(team_name,team_type_name,team_leader,team_leader_phone,create_time,del_flag
)values (
#{teamName},#{teamTypeName},#{teamLeader},#{teamLeaderPhone},now(),0
)
</insert>
<update id="delTeam">
update tb_team
set del_flag = 1
where id = #{teamId}
</update>
</mapper>

View File

@ -0,0 +1,285 @@
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
getRoleSelected();
pages(1, 10, 1);
form.on('switch(is-state)', function (obj) {
console.log(obj);
let url = dataUrl + "/customs/updateCustomStatus";
let params = {
'customId': this.value,
'customStatus': obj.elem.checked ? 1 : 0,
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {}, function (result) {
console.log(result)
reloadData();
if (result.status === 200) {
parent.layer.msg(result.data, {icon: 1})
} else if (result.status === 204) {
parent.layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
});
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/customs/getList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
// $.ajax({
// url: dataUrl + "/sys/user/getUserList",
// headers: {
// "token": tokens
// },
// data: params,
// type: 'POST',
// async: false,
// success: function (result) {
// console.log(result);
// if (result.code === 200) {
// if (result.data) {
// initTable(result.data, result.limit, result.curr)
// laypages(result.count, result.curr, result.limit)
// }
// } else if (result.code === 500) {
// layer.alert(result.msg, {icon: 2})
// }
// }, error: function (xhr) {
// error(xhr);
// }
// });
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
tableIns = table.render({
elem: "#table_data",
height: "full-130",
data: dataList,
limit: limit,
cols: [
[
//表头
{title: "序号", width: 80, unresize: true, align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{field: "customId", title: "ID", unresize: true, align: "center",hide:true},
{field: "customName", title: "客户名称", unresize: true, align: "center"},
{field: "customType", title: "客户类型", unresize: true, align: "center"},
{field: "customUser", title: "联系人", unresize: true, align: "center"},
{field: "customPhone", title: "联系方式", unresize: true, align: "center"},
{field: "customStatus", title: "状态", align: "center",templet: '#is-state'},
{title: "操作", unresize: true, width: 300, align: "center",
templet: function (d) {
let html = '';
let del="<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.customId + "')\"></a>"
let edit="<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" + d.customId + "')\"></a>";
html=edit+del;
return html;
}
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
customName: $('#customName').val(),
};
} else {
obj = {
page: '1',
limit: '10',
customName: '',
};
}
console.log(obj)
obj={
encryptedData:encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query() {
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#loginName").val())) {
$("#loginName").val('');
return layer.msg('用户名查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#phone").val())) {
$("#phone").val('');
return layer.msg('手机号查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize);
}
function reloadData() {
pages(pageNum, limitSize);
}
// 新增/修改平台用户
function addData(customId) {
console.log()
let title = '新增客户'
if (customId) {
title = '修改客户';
}
let param = {
'customId': customId
}
openIframe2("addOrEditFormUser", title, "customAddForm.html", '850px', '500px', param);
}
/*删除用户*/
function delData(customId) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/customs/delById";
let params = {
'customId': customId
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1})
query()
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
}
// 启用/停用/解除锁定
function editUserAccountStatus(id, status, type) {
let url = dataUrl + "/sys/user/editUserAccountStatus?token=" + token;
let params = {
'id': id,
'accountStatus': status,
'type': type
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
if(type){
reloadData();
}
parent.layer.msg(result.msg, {icon: 1})
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
// 管理员修改密码
function resetPwd(id) {
let param = {
'id': id,
'type': '1'
}
openIframe2("addOrEditUnifyUser", '修改密码', "password.html", '770px', '400px', param);
}
function getRoleSelected() {
let url = dataUrl + '/roles/all';
ajaxRequest(url, "POST", null, true, function () {
}, function (result) {
if (result.code === 200) {
setSelectValue(result.data, 'roleId');
// return result.data
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
/*下拉选表单赋值*/
function setSelectValue(list, selectName) {
let html = '<option value="" selected>请选择角色</option>';
$.each(list, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
$('#' + selectName).empty().append(html);
layui.form.render();
}

View File

@ -0,0 +1,148 @@
let form, layer, dtree, util, idParam, phoneParam,statusParam;
let arr = ['background', 'web', 'mobile', 'wx'];
let background, web, mobile, wx;
let data = [], appResList = [];
// 角色下拉选
let roleList;
function setParams(params) {
idParam = JSON.parse(params).customId;
statusParam = 0;
console.log(idParam)
layui.config({
base: "../../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
dtree: 'dtree'
}).use(['form', 'layer', 'util'], function () {
layer = layui.layer;
form = layui.form;
util = layui.util;
form.on('submit(formData)', function (data) {
data.field.id = $('#id').val();
// data.field.customStatus = $('#customStatus').val();
// data.field.type = !$('#id').val() ? '1' : '2';
saveData(data);
});
form.on('switch',function(data){
if(data.elem.checked==true){
statusParam = 1;
}
});
form.verify(
{
required: function (value, item) {
let customPhone = $('#customPhone').val();
if(customPhone){
if (!(/^1[3456789]\d{9}$/.test(customPhone))) {
return '请输入正确的手机号';
}
}
}
},
);
if (idParam) {
getFormbyId();
}
});
}
// 根据id获取用户信息
function getFormbyId() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "/customs/getCustomId?token=" + tokens;
let params = {
customId: idParam
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
setFormData(result.data);
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
}
// 设置表单内容
function setFormData(data) {
if (data) {
form.val('formInfo',data)
if(data.customStatus == 1){
$("#customStatus").prop("checked", 1);
}else{
$("#customStatus").prop("checked", 0);
}
form.render();
}
}
function saveData2() {
$('#formSubmit').trigger('click')
}
// 保存数据
function saveData(data) {
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let params = data.field;
params.customId = idParam;
params.customStatus = statusParam;
let path_url='';
if(params.customId==null || params.customId ==''){
path_url='addCustom';
}else{
path_url="updateCustom";
}
let url = dataUrl + "/customs/"+path_url+"?token=" + tokens;
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
}, function (result) {
console.log(result)
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
closePage(1);
parent.layer.msg(result.data, {icon: 1});
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}else if (result.code === 204) {
layer.alert(result.msg, {icon: 2})
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
error(xhr)
});
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
if (type === 1) {
parent.reloadData()
}
}

View File

@ -0,0 +1,287 @@
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
getRoleSelected();
pages(1, 10, 1);
form.on('switch(is-state)', function (obj) {
console.log(obj);
// let url = dataUrl + "/sys/task/updaetTaskState";
// let params = {
// 'id': this.value,
// 'taskStatus': obj.elem.checked ? 1 : 0,
// 'taskCode':this.taskCode
// }
// params={
// encryptedData:encryptCBC(JSON.stringify(params))
// }
// ajaxRequest(url, "POST", params, true, function () {}, function (result) {
// console.log(result)
// reloadData();
// if (result.status === 200) {
// parent.layer.msg(result.data, {icon: 1})
// } else if (result.status === 204) {
// parent.layer.alert(result.msg, {icon: 2})
// }
// }, function (xhr) {
// error(xhr)
// });
});
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/teams/getList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
// $.ajax({
// url: dataUrl + "/sys/user/getUserList",
// headers: {
// "token": tokens
// },
// data: params,
// type: 'POST',
// async: false,
// success: function (result) {
// console.log(result);
// if (result.code === 200) {
// if (result.data) {
// initTable(result.data, result.limit, result.curr)
// laypages(result.count, result.curr, result.limit)
// }
// } else if (result.code === 500) {
// layer.alert(result.msg, {icon: 2})
// }
// }, error: function (xhr) {
// error(xhr);
// }
// });
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
tableIns = table.render({
elem: "#table_data",
height: "full-130",
data: dataList,
limit: limit,
cols: [
[
//表头
{title: "序号", width: 80, unresize: true, align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{field: "teamId", title: "ID", unresize: true, align: "center",hide:true},
{field: "teamName", title: "班组名称", unresize: true, align: "center"},
{field: "teamTypeName", title: "班组类型", unresize: true, align: "center"},
{field: "teamLeader", title: "班组负责人", unresize: true, align: "center"},
{field: "teamLeaderPhone", title: "联系方式", unresize: true, align: "center"},
{field: "createTime", title: "创建时间", unresize: true, align: "center"},
{field: "updateTime", title: "更新时间", unresize: true, align: "center"},
{title: "操作", unresize: true, width: 300, align: "center",
templet: function (d) {
let html = '';
let del="<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.teamId + "')\"></a>"
let edit="<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" + d.teamId + "')\"></a>";
html=edit+del;
return html;
}
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
keyWord: $('#keyWord').val(),
};
} else {
obj = {
page: '1',
limit: '10',
keyWord: '',
};
}
console.log(obj)
obj={
encryptedData:encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query() {
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#loginName").val())) {
$("#loginName").val('');
return layer.msg('用户名查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#phone").val())) {
$("#phone").val('');
return layer.msg('手机号查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize);
}
function reloadData() {
pages(pageNum, limitSize);
}
// 新增/修改平台用户
function addData(teamId) {
console.log()
let title = '新增客户'
if (teamId) {
title = '修改客户';
}
let param = {
'teamId': teamId
}
openIframe2("addOrEditFormTeam", title, "teamAddForm.html", '850px', '450px', param);
}
/*删除用户*/
function delData(teamId) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/teams/delById";
let params = {
'teamId': teamId
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1})
query()
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
}
// 启用/停用/解除锁定
function editUserAccountStatus(id, status, type) {
let url = dataUrl + "/sys/user/editUserAccountStatus?token=" + token;
let params = {
'id': id,
'accountStatus': status,
'type': type
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
if(type){
reloadData();
}
parent.layer.msg(result.msg, {icon: 1})
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
// 管理员修改密码
function resetPwd(id) {
let param = {
'id': id,
'type': '1'
}
openIframe2("addOrEditUnifyUser", '修改密码', "password.html", '770px', '400px', param);
}
function getRoleSelected() {
let url = dataUrl + '/roles/all';
ajaxRequest(url, "POST", null, true, function () {
}, function (result) {
if (result.code === 200) {
setSelectValue(result.data, 'roleId');
// return result.data
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
/*下拉选表单赋值*/
function setSelectValue(list, selectName) {
let html = '<option value="" selected>请选择角色</option>';
$.each(list, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
$('#' + selectName).empty().append(html);
layui.form.render();
}

View File

@ -0,0 +1,147 @@
let form, layer, dtree, util, idParam, phoneParam;
let arr = ['background', 'web', 'mobile', 'wx'];
let background, web, mobile, wx;
let data = [], appResList = [];
// 角色下拉选
let roleList;
function setParams(params) {
idParam = JSON.parse(params).teamId;
console.log(idParam)
layui.config({
base: "../../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
dtree: 'dtree'
}).use(['form', 'layer', 'util'], function () {
layer = layui.layer;
form = layui.form;
util = layui.util;
form.on('submit(formData)', function (data) {
data.field.id = $('#id').val();
// data.field.customStatus = $('#customStatus').val();
// data.field.type = !$('#id').val() ? '1' : '2';
saveData(data);
});
// form.on('switch',function(data){
// if(data.elem.checked==true){
// statusParam = 1;
// }
//
// });
form.verify(
{
required: function (value, item) {
let teamLeaderPhone = $('#teamLeaderPhone').val();
if(teamLeaderPhone){
if (!(/^1[3456789]\d{9}$/.test(teamLeaderPhone))) {
return '请输入正确的手机号';
}
}
}
},
);
if (idParam) {
getFormbyId();
}
});
}
// 根据id获取用户信息
function getFormbyId() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "/teams/getTeamId?token=" + tokens;
let params = {
teamId: idParam
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
setFormData(result.data);
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
}
// 设置表单内容
function setFormData(data) {
if (data) {
form.val('formInfo',data)
// if(data.customStatus == 1){
// $("#customStatus").prop("checked", 1);
// }else{
// $("#customStatus").prop("checked", 0);
//
// }
form.render();
}
}
function saveData2() {
$('#formSubmit').trigger('click')
}
// 保存数据
function saveData(data) {
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let params = data.field;
params.teamId = idParam;
// params.customStatus = statusParam;
let path_url='';
if(params.teamId==null || params.teamId ==''){
path_url='addTeam';
}else{
path_url="updateTeam";
}
let url = dataUrl + "/teams/"+path_url+"?token=" + tokens;
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
}, function (result) {
console.log(result)
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
closePage(1);
parent.layer.msg(result.data, {icon: 1});
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}else if (result.code === 204) {
layer.alert(result.msg, {icon: 2})
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
error(xhr)
});
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
if (type === 1) {
parent.reloadData()
}
}

View File

@ -0,0 +1,287 @@
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
getTeamSelected();
pages(1, 10, 1);
form.on('switch(is-state)', function (obj) {
console.log(obj);
// let url = dataUrl + "/sys/task/updaetTaskState";
// let params = {
// 'id': this.value,
// 'taskStatus': obj.elem.checked ? 1 : 0,
// 'taskCode':this.taskCode
// }
// params={
// encryptedData:encryptCBC(JSON.stringify(params))
// }
// ajaxRequest(url, "POST", params, true, function () {}, function (result) {
// console.log(result)
// reloadData();
// if (result.status === 200) {
// parent.layer.msg(result.data, {icon: 1})
// } else if (result.status === 204) {
// parent.layer.alert(result.msg, {icon: 2})
// }
// }, function (xhr) {
// error(xhr)
// });
});
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/teamconfigs/getList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
// $.ajax({
// url: dataUrl + "/sys/user/getUserList",
// headers: {
// "token": tokens
// },
// data: params,
// type: 'POST',
// async: false,
// success: function (result) {
// console.log(result);
// if (result.code === 200) {
// if (result.data) {
// initTable(result.data, result.limit, result.curr)
// laypages(result.count, result.curr, result.limit)
// }
// } else if (result.code === 500) {
// layer.alert(result.msg, {icon: 2})
// }
// }, error: function (xhr) {
// error(xhr);
// }
// });
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
tableIns = table.render({
elem: "#table_data",
height: "full-130",
data: dataList,
limit: limit,
cols: [
[
//表头
{title: "序号", width: 80, unresize: true, align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{field: "teamConfigId", title: "ID", unresize: true, align: "center",hide:true},
{field: "teamConfigName", title: "姓名", unresize: true, align: "center"},
{field: "teamConfigJobNumber", title: "工号", unresize: true, align: "center"},
{field: "teamConfigSex", title: "性别", unresize: true, align: "center"},
// {field: "teamConfigTeamId", title: "班组id", unresize: true, align: "center"},
{field: "teamConfigPhone", title: "联系电话", unresize: true, align: "center"},
{title: "操作", unresize: true, width: 300, align: "center",
templet: function (d) {
let html = '';
let del="<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.teamConfigId + "')\"></a>"
html=del;
return html;
}
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
keyWord: $('#keyWord').val(),
teamId:$('#teamId').val(),
};
} else {
obj = {
page: '1',
limit: '10',
keyWord: '',
teamId:$('#teamId').val(),
};
}
console.log(obj)
obj={
encryptedData:encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query() {
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#loginName").val())) {
$("#loginName").val('');
return layer.msg('用户名查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#phone").val())) {
$("#phone").val('');
return layer.msg('手机号查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize);
}
function reloadData() {
pages(pageNum, limitSize);
}
// 新增/修改平台用户
function addData(teamId) {
console.log()
let title = '新增客户'
if (teamId) {
title = '修改客户';
}
let param = {
'teamId': teamId
}
openIframe2("addOrEditFormTeam", title, "teamAddForm.html", '850px', '450px', param);
}
/*删除用户*/
function delData(teamId) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/teams/delById";
let params = {
'teamId': teamId
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1})
query()
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
}
// 启用/停用/解除锁定
function editUserAccountStatus(id, status, type) {
let url = dataUrl + "/sys/user/editUserAccountStatus?token=" + token;
let params = {
'id': id,
'accountStatus': status,
'type': type
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
if(type){
reloadData();
}
parent.layer.msg(result.msg, {icon: 1})
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
// 管理员修改密码
function resetPwd(id) {
let param = {
'id': id,
'type': '1'
}
openIframe2("addOrEditUnifyUser", '修改密码', "password.html", '770px', '400px', param);
}
function getTeamSelected() {
let url = dataUrl + '/teamconfigs/all';
ajaxRequest(url, "POST", null, true, function () {
}, function (result) {
if (result.code === 200) {
setSelectValue(result.data, 'teamId');
// return result.data
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
/*下拉选表单赋值*/
function setSelectValue(list, selectName) {
let html = '<option value="" selected>全部班组</option>';
$.each(list, function (index, item) {
html += '<option value="' + item.teamId + '">' + item.teamName + '</option>';
})
$('#' + selectName).empty().append(html);
layui.form.render();
}

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css" media="all">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/dtree.css">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/font/dtreefont.css">
<link rel="stylesheet" href="../../css/dataForm.css">
<script src="../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/publicJs.js"></script>
<script src="../../js/my/aes.js"></script>
<script src="../../js/select.js"></script>
<script src="../../js/ajaxRequest.js"></script>
<title>用户-新增/修改</title>
</head>
<body>
<div id="main-box">
<form class="layui-form" onsubmit="return false;" lay-filter="formInfo">
<input hidden id="id" name="id">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>客户名称</label>
<div class="layui-input-inline">
<input class="layui-input" id="customName" name="customName" autocomplete="off"
lay-verify="required" maxlength="50">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>客户类型</label>
<div class="layui-input-inline">
<input class="layui-input" id="customType" name="customType" autocomplete="off"
lay-verify="required" maxlength="20">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>联系人</label>
<div class="layui-input-inline">
<input class="layui-input" id="customUser" name="customUser" autocomplete="off"
lay-verify="required" maxlength="20">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>联系电话</label>
<div class="layui-input-inline">
<input class="layui-input" id="customPhone" name="customPhone" autocomplete="off"
lay-verify="required" maxlength="11">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>状态是否开启</label>
<div class="layui-input-inline">
<input type="checkbox" name="customStatus" id='customStatus' title="开启|关闭" lay-skin="switch">
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>
</div>
<div class="btn-box">
<button class="layui-btn layui-btn-norma save" onclick="saveData2()">确定</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div>
</body>
<script src="../../js/basis/customAddForm.js" charset="UTF-8" type="text/javascript"></script>
</html>

View File

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css">
<link rel="stylesheet" href="../../css/table-common2.css">
<script src="../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/publicJs.js"></script>
<script src="../../js/commonUtils.js"></script>
<script src="../../js/openIframe.js"></script>
<script src="../../js/my/aes.js"></script>
<script src="../../js/ajaxRequest.js"></script>
<title>客户管理</title>
</head>
<body>
<div id="content">
<div class="basic-search-box layout">
<form class="layui-form basic-form" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline" style="padding: 0 0 0 10px;">
<div class="layui-input-inline">
<input type="text" id="customName" maxlength="50" class="layui-input" autocomplete="off" placeholder="请输入客户名称">
</div>
</div>
<!-- <div class="layui-inline" style="padding: 0 0 0 10px;">-->
<!-- <div class="layui-input-inline">-->
<!-- <select id="roleId" name="roleId" class="form-control input-sm">-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-inline" style="padding: 0 0 0 10px;">-->
<!-- <div class="layui-input-inline">-->
<!-- <select id="state" name="state" class="form-control input-sm">-->
<!-- <option value=""> 请选择状态</option>-->
<!-- <option value="999"> 已注销</option>-->
<!-- <option value="2"> 锁定</option>-->
<!-- <option value="1"> 正常</option>-->
<!-- <option value="0"> 未激活</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline btns">
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"
onclick="addData(null)">
<div class="layout" style="justify-content: space-around;"><img
src="../../img/form/add_icon3.png">
<p>新增</p></div>
</button>
</div>
</div>
</form>
</div>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="table_data" class="table" lay-filter="table_data"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
</body>
<script type="text/html" id="is-state">
<input type="checkbox" name="customStatus" value="{{d.customId}}" lay-skin="switch" lay-text=" | "
lay-filter="is-state"
{{ d.customStatus== 1 ? 'checked' : '' }}>
</script>
<style>
.layui-table-init {
background-color: transparent !important;
}
</style>
<script src="../../js/basis/custom.js" charset="UTF-8" type="text/javascript"></script>
</html>

View File

@ -0,0 +1,81 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css" media="all">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/dtree.css">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/font/dtreefont.css">
<link rel="stylesheet" href="../../css/dataForm.css">
<script src="../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/publicJs.js"></script>
<script src="../../js/my/aes.js"></script>
<script src="../../js/select.js"></script>
<script src="../../js/ajaxRequest.js"></script>
<title>用户-新增/修改</title>
</head>
<body>
<div id="main-box">
<form class="layui-form" onsubmit="return false;" lay-filter="formInfo">
<input hidden id="id" name="id">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>班组名称</label>
<div class="layui-input-inline">
<input class="layui-input" id="teamName" name="teamName" autocomplete="off"
lay-verify="required" maxlength="50">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>班组类型</label>
<div class="layui-input-inline">
<input class="layui-input" id="teamTypeName" name="teamTypeName" autocomplete="off"
lay-verify="required" maxlength="20">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>班组负责人</label>
<div class="layui-input-inline">
<input class="layui-input" id="teamLeader" name="teamLeader" autocomplete="off"
lay-verify="required" maxlength="20">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>联系方式</label>
<div class="layui-input-inline">
<input class="layui-input" id="teamLeaderPhone" name="teamLeaderPhone" autocomplete="off"
lay-verify="required" maxlength="11">
</div>
</div>
<!-- <div class="layui-form-item" style="margin-top: 2%;">-->
<!-- <label class="layui-form-label"><i style="padding: 0 10px;">*</i>创建时间</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" id="createTime" name="createTime" autocomplete="off"-->
<!-- lay-verify="required" maxlength="11">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item" style="margin-top: 2%;">-->
<!-- <label class="layui-form-label"><i style="padding: 0 10px;">*</i>更新时间</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" id="updateTime" name="updateTime" autocomplete="off"-->
<!-- lay-verify="required" maxlength="11">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item" style="margin-top: 2%;">-->
<!-- <label class="layui-form-label"><i style="padding: 0 10px;">*</i>状态是否开启</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="checkbox" name="customStatus" id='customStatus' title="开启|关闭" lay-skin="switch">-->
<!-- </div>-->
<!-- </div>-->
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>
</div>
<div class="btn-box">
<button class="layui-btn layui-btn-norma save" onclick="saveData2()">确定</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div>
</body>
<script src="../../js/basis/teamAddForm.js" charset="UTF-8" type="text/javascript"></script>
</html>

View File

@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../css/font.css">
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css">
<link rel="stylesheet" href="../../css/table-common2.css">
<link rel="stylesheet" href="../../css/buildingControl/airConditon.css">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/dtree.css">
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/font/dtreefont.css">
<script src="../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/publicJs.js"></script>
<script src="../../js/commonUtils.js"></script>
<script src="../../js/openIframe.js"></script>
<script src="../../js/my/aes.js"></script>
<script src="../../js/ajaxRequest.js"></script>
<title>班组成员配置</title>
</head>
<body>
<div id="content" class="layout">
<div id="left" class="layout">
<div class="box-title layout">
<p>班组列表</p>
</div>
<div id="area-tree-box">
<div class="tree-demo">
<ul id="area-tree" class="dtree" style="height: calc(100vh - 80px);overflow: auto;" data-id="-1"></ul>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline" style="padding: 0 0 0 10px;">
<select class="form-control input-sm" name="teamId" id="teamId">
</select>
</div>
</div>
</div>
<!-- <div id="right">-->
<!-- <div class="change-tab">-->
<!-- <div checkValue = '1' class="noCheckedPage" onclick="go(1)">电子地图</div>-->
<!-- <div checkValue = '2' class="noCheckedPage" onclick="go(2)">设备列表</div>-->
<!-- </div>-->
<!-- <div id="iframe-box">-->
<!-- <iframe id="indexIframe" width="100%" height="100%" frameborder="0"-->
<!-- class="layadmin-iframe"></iframe>-->
<!-- </div>-->
<!-- </div>-->
<div id="right" >
<form class="layui-form basic-form" onsubmit="return false;">
<div class="layui-form-item">
<!-- <div class="layui-inline">-->
<!-- <div class="layui-input-inline" style="padding: 0 0 0 10px;">-->
<!-- <select class="form-control input-sm" name="teamId" id="teamId">-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline" style="padding: 0 0 0 10px;">
<div class="layui-input-inline">
<input type="text" id="keyWord" maxlength="50" class="layui-input" autocomplete="off" placeholder="请输入关键词">
</div>
</div>
<div class="layui-inline btns">
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"
onclick="addData(null)">
<div class="layout" style="justify-content: space-around;"><img
src="../../img/form/add_icon3.png">
<p>添加</p></div>
</button>
</div>
</div>
</form>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="table_data" class="table" lay-filter="table_data"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
</div>
</body>
<!--<script type="text/html" id="is-state">-->
<!-- <input type="checkbox" name="customStatus" value="{{d.id}}" lay-skin="switch" lay-text=" | "-->
<!-- lay-filter="is-state" disabled="true"-->
<!-- {{ d.customStatus== 1 ? 'checked' : '' }}>-->
<!--</script>-->
<style>
.layui-table-init {
background-color: transparent !important;
}
</style>
<script src="../../js/basis/teamConfig.js" charset="UTF-8" type="text/javascript"></script>
</html>

View File

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css">
<link rel="stylesheet" href="../../css/table-common2.css">
<script src="../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/publicJs.js"></script>
<script src="../../js/commonUtils.js"></script>
<script src="../../js/openIframe.js"></script>
<script src="../../js/my/aes.js"></script>
<script src="../../js/ajaxRequest.js"></script>
<title>客户管理</title>
</head>
<body>
<div id="content">
<div class="basic-search-box layout">
<form class="layui-form basic-form" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline" style="padding: 0 0 0 10px;">
<div class="layui-input-inline">
<input type="text" id="keyWord" maxlength="50" class="layui-input" autocomplete="off" placeholder="请输入关键词">
</div>
</div>
<!-- <div class="layui-inline" style="padding: 0 0 0 10px;">-->
<!-- <div class="layui-input-inline">-->
<!-- <select id="roleId" name="roleId" class="form-control input-sm">-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-inline" style="padding: 0 0 0 10px;">-->
<!-- <div class="layui-input-inline">-->
<!-- <select id="state" name="state" class="form-control input-sm">-->
<!-- <option value=""> 请选择状态</option>-->
<!-- <option value="999"> 已注销</option>-->
<!-- <option value="2"> 锁定</option>-->
<!-- <option value="1"> 正常</option>-->
<!-- <option value="0"> 未激活</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline btns">
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"
onclick="addData(null)">
<div class="layout" style="justify-content: space-around;"><img
src="../../img/form/add_icon3.png">
<p>新增</p></div>
</button>
</div>
</div>
</form>
</div>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="table_data" class="table" lay-filter="table_data"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
</body>
<!--<script type="text/html" id="is-state">-->
<!-- <input type="checkbox" name="customStatus" value="{{d.id}}" lay-skin="switch" lay-text=" | "-->
<!-- lay-filter="is-state" disabled="true"-->
<!-- {{ d.customStatus== 1 ? 'checked' : '' }}>-->
<!--</script>-->
<style>
.layui-table-init {
background-color: transparent !important;
}
</style>
<script src="../../js/basis/team.js" charset="UTF-8" type="text/javascript"></script>
</html>