Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
Aidea
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sa_aidea
Aidea
Commits
ff0d665d
Commit
ff0d665d
authored
Oct 10, 2020
by
谢希宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init aidea products by 20200922
parent
ac37690f
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
285 additions
and
312 deletions
+285
-312
accountslist.html
...ain/webapp/WEB-INF/views/manageaccounts/accountslist.html
+5
-5
common-test.properties
cftech-common-web/src/main/resources/common-test.properties
+9
-75
header.html
...mmon-web/src/main/webapp/WEB-INF/views/common/header.html
+3
-3
useradd.js
...bapp/assets/adminlte/pages/scripts/usermanager/useradd.js
+3
-3
orgunitadd.html
.../main/webapp/WEB-INF/views/managerorgunit/orgunitadd.html
+11
-2
orgunitlist.html
...main/webapp/WEB-INF/views/managerorgunit/orgunitlist.html
+14
-6
qyuseradd.html
...rc/main/webapp/WEB-INF/views/managerqyuser/qyuseradd.html
+95
-93
QyOrgUtil.java
...dule/src/main/java/com/cftech/base/org/api/QyOrgUtil.java
+3
-4
OrgUnit.java
...dule/src/main/java/com/cftech/base/org/model/OrgUnit.java
+1
-1
OrgUnitController.java
.../main/java/com/cftech/base/org/web/OrgUnitController.java
+17
-13
QyuserController.java
...c/main/java/com/cftech/base/org/web/QyuserController.java
+2
-1
useradds.html
...eb/src/main/webapp/WEB-INF/views/manageuser/useradds.html
+83
-74
userlist.html
...eb/src/main/webapp/WEB-INF/views/manageuser/userlist.html
+4
-10
userupdate.html
.../src/main/webapp/WEB-INF/views/manageuser/userupdate.html
+26
-16
UserService.java
...ule/src/main/java/com/cftech/sys/service/UserService.java
+9
-6
No files found.
accounts-module-web/src/main/webapp/WEB-INF/views/manageaccounts/accountslist.html
View file @
ff0d665d
...
...
@@ -102,11 +102,11 @@
<
td
>
<
a
href
=
"javascript:void(0)"
data
-
id
=
"{{id}}"
data
-
appid
=
"{{appid}}"
data
-
action
=
"view"
onclick
=
"manage(this)"
class
=
"btn red"
>
回调地址
<
/a
>
#
if
(
$shiro
.
hasPermission
(
"mp:account:edit"
))
<
a
href
=
"#springUrl('/a/manageaccounts/getaccountdetail?id={{id}}')"
data
-
id
=
"{{id}}"
data
-
action
=
"view"
class
=
"btn green"
>
修改
<
/a
>
{{
#
js_compare
"this.delflag==0"
}}
<
a
href
=
"javascript:void(0)"
data
-
id
=
"{{id}}"
data
-
action
=
"remove"
onclick
=
"removeData(this)"
class
=
"btn red"
>
删除
<
/a
>
#
end
{{
else
}}
<!--<
a
href
=
"#springUrl('/a/manageaccounts/getaccountdetail?id={{id}}')"
data
-
id
=
"{{id}}"
data
-
action
=
"view"
class
=
"btn green"
>
修改
<
/a>--
>
<!--
{{
#
js_compare
"this.delflag==0"
}}
-->
<!--<
a
href
=
"javascript:void(0)"
data
-
id
=
"{{id}}"
data
-
action
=
"remove"
onclick
=
"removeData(this)"
class
=
"btn red"
>
删除
<
/a>--
>
<!--
#
end
-->
{{
else
}}
<
a
href
=
"javascript:void(0)"
data
-
id
=
"{{id}}"
data
-
action
=
"remove"
onclick
=
"startData(this)"
class
=
"btn red"
>
启用
<
/a>
{{
/
js_compare
}}
<
/td
>
...
...
cftech-common-web/src/main/resources/common-test.properties
View file @
ff0d665d
#send phone code
#url\u77ED\u4FE1\u63A5\u53E3\u76F8\u5173\u4FE1\u606F
sender.url
=
http://www.jianzhou.sh.cn/JianzhouSMSWSServer/http/sendBatchMessage
sender.username
=
sdk_michang
sender.password
=
0690788
sender.codeLength
=
6
sender.signName
=
\u
FFFD
\u
1E25
\u
FFFD
\u
FFFDSchaeffler
#\u817E\u8BAF\u4E91COS
Qcloud_APP_ID
=
1255700813
Qcloud_SECRET_ID
=
AKIDGRRExjCxWxFLK7Q9NPFSZVEqMtMf6jT0
Qcloud_SECRET_KEY
=
Vs43xfFdsCPQOEtMeqsiR0N1pW3Tile1
Qcloud_BUCKET_NAME
=
schaeffler-1255700813
Qcloud_Region
=
ap-shanghai
Qcloud_URL
=
https://schaeffler-1255700813.picsh.myqcloud.com
Qcloud_File_URL
=
https://schaeffler-1255700813.cos.ap-shanghai.myqcloud.com
Qcloud_STYLE_NAME
=
!Schaeffler
#\u670D\u52A1\u53F7APPID
WX_MP_SERVER_APPID
=
wx
e1a76a00bf7c1461
WX_MP_SERVER_APPID
=
wx
c587e8869baec269
#\u670D\u52A1\u53F7\u4E8C\u7EF4\u7801\u524D\u7F00
WX_MP_QRCODE_URI
=
https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=
...
...
@@ -38,8 +18,11 @@ WOEK_TEMPLATE_MESSAGE=8m-_tt_EqoQO-wsE6_JLJdn3nO15_hgUp9mLTujz5RU
#userfiles.imgdir=/mydata/fileResource
userfiles.imgdir
=
E:
\\
fileResource
#\u4F01\u4E1A\u53F7\u516C\u4F17\u53F7\u914D\u7F6E\u4FE1\u606F
ROOT_ORG_NAME
=
\u
6C5F
\u
82CF
\u
827E
\u
8FEA
\u
836F
\u
4E1A
AIDEA_QY_ACCOUNTS
=
349
#\u56FE\u7247\u8BBF\u95EE\u5730\u5740
ROOT_ORG_NAME
=
\u
827E
\u
8FEA
\u
836F
\u
4E1A
IMAGEURL
=
/aidea/mobile/qybase/showPic?picFileName={PICFILENAME}
ROOT_PAPERCATEGORY_NAME
=
\u
95EE
\u5377\u
7C7B
\u
578B
ROOT_QUESTIONSCATEGORY_NAME
=
\u
95EE
\u9898\u
7C7B
\u
522B
...
...
@@ -59,59 +42,10 @@ security.secure=false
#\uFFFD\u01F7\uFFFD\uFFFD\u01FC\uFFFD\u023A\uFFFD\uFFFD\u02B1\uFFFD\uFFFD\uFFFD\uFFFDMaster\uFFFD\uFFFD\uFFFD\u06B5\uFFFD\u04BB\uFFFD\uFFFD\uFFFD\uFFFD\u03AAtrue\uFFFD\uFFFD\uFFFD\uFFFD
quartz.isCluster
=
false
empSendMessage
=
\u
5C0A
\u
656C
\u7684
{{USERNAME}}
\u5148\u
751F/
\u5973\u
58EB
\u
FF0C
\u
60A8
\u
597D
\u
FF01
\u
6B22
\u
8FCE
\u
60A8
\u
53C2
\u
52A0{{ACTIVITYNAME}}
\u
FF0C
\u
8BF7
\u
5FAE
\u
4FE1
\u
641C
\u
7D22
\u5173\u
6CE8
\u
201C
\u
820D
\u
5F17
\u
52D2schaeffler
\u
201D
\u
5B98
\u
65B9
\u
5FAE
\u
4FE1
\u
FF0C
\u
70B9
\u
51FB
\u
83DC
\u5355\u
680F
\u
201C
\u7814\u
8BA8
\u
4F1A
\u
201D
\u
FF0C
\u
8F93
\u5165\u9080\u
8BF7
\u7801
{{CODE}}
\u
FF0C
\u6839\u
636E
\u
63D0
\u
793A
\u
5B8C
\u6210\u
62A5
\u
540D
\u3002
empname
=
\u5185\u
90E8
\u5458\u
5DE5
JOINTEMPLATEID
=
3DBa_bCZ9KOBHmA3_z7gQyaR0qkoGxpcya6Sz8jl2gc
UPDATEDETAILS
=
6zMPHC8i7NIPHBd0iShjR_muuUAemJfxgLTd2fT6ivg
SIGNTEMPLATE
=
xFh_GMxX-u1vkTRqTN7OKbLO_zzXjjkhDTWs3IozRt0
email.host
=
smtp.exmail.qq.com
email.username
=
postmaster@wx-schaeffler.cn
email.password
=
Ali190325
email.from
=
postmaster@wx-schaeffler.cn
email.nickname
=
licensePath
=
license.xml
#docXmlTemplatePath = E:/\u6587\u6863/\u4FE1\u777F/\u820D\u5F17\u52D2/2020/\u54C1\u724C\u7533\u8BF7/\u5F00\u53D1\u6587\u6863/
docXmlTemplatePath
=
/Users/lisw/work/work-document/sfl-template/
#docXmlTemplatePath=/Users/lisw/work/work-document/sfl-template/
#\u0579\uFFFD\uFFFD\u0524\u053C\uFFFD\u0279\uFFFD\u0123\uFFFD\uFFFD\uFFFD\uFFFD\u03E2
showroomTemplateId
=
5DWV1fHynNTJuHXa_mOmNzev-ggb_nxoQAHNfyST6js
#showroomTemplateId =F7DnP-jHkeo1B1TBpkeM_qLhWX2kRf5AOb_myQEQWs4
# \u65B0\u589E\u6A21\u677F\u6D88\u606F
showroomTemplateIdNew
=
5DWV1fHynNTJuHXa_mOmNzev-ggb_nxoQAHNfyST6js
#\uFFFD\uFFFD\uFFFD\uFFFD\u01B7\uFFFD\uFFFD\uFFFD\uFFFD\u0279\uFFFD\u0123\uFFFD\uFFFD\uFFFD\uFFFD\u03E2
applyReserveTemplateId
=
uV5eoMqa5YjKVPdkhVzMryaZvd2B6638Q7-EaNqh6io
#\u0579\uFFFD\uFFFD\u0524\u053C\u0221\uFFFD\uFFFD\u0368\u05AA
cancelApplyReserveTemplateId
=
WXpzgxrsJNC3H0iBizmC0VraQzbtoFsfUfbBKe2OZI4
#\uFFFD\uFFFD\uFFFD\uFFFD\u01B7\uFFFD\uFFFD\uFFFD\uFFFD\u02A7\uFFFD\uFFFD\u0368\u05AA
applicationErrorTemplateId
=
KDk2V0yl-Zbw3Vx4lgPo9IWTQm6dhwqmBvmZBSWliBo
#\uFFFD\uFFFD\uFFFD\uFFFD\u01B7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u07BD\uFFFD\uFFFD
WORKFLOW.MAXPRICE
=
5000
#\uFFFD\u0271\uFFFD\uFFFD\uFFFD\uFFFD\u0123\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u01B7\uFFFD\uFFFD\uFFFD\uFFFD\u02B9\uFFFD\u00E3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u02F5\u0133\u0271\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00F5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05AE\u04BB\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u01F7\uFFFD\uFD7D\uFFFD\uFFFD\uFFFD\u07B6\uFFFD\uFFFD\uFFFD\uFFFD\uBD7D\uFFFD\u0433\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
COSTCENTERS
=
0189-1806,0189-1807,0199-2042,0199-2066,0199-3872,0199-3876
STATISTICSCOSTCENTERS
=
0189-1806,0189-1807,0199-3872,0199-3876,0189-1800,0189-1801
#\uFFFD\uFFFD\uFFFD\uFFFD\u01B7pdf\uFFFD\u9D75,\uFFFD\uFFFD\uFFFD\uFFFD\u0531\uFFFD\uFFFD\uFFFD\uFFFD
MANAGEREMAIL
=
starsoy@163.com
#\u4FC3\u9500\u54C1\u7533\u8BF7\u5DE5\u4F5C\u6D41\u9700\u6C42\u63D0\u4EA4\u6210\u529F\u901A\u77E5
commonSubmitSuccessTemplateId
=
QHtD8WYcnIduw8bGQJZjffeaAYl8_YixXOLaQ6hhb4A
#\u4FC3\u9500\u54C1\u7533\u8BF7\u5DE5\u4F5C\u6D41\u8BA2\u5355\u53D7\u7406\u901A\u77E5
orderAcceptanceSuccessTemplateId
=
ucM6LnFgLux3jnoOThkQpNgUZMbmdpC3Cq89rQnpXYA
#\u4FC3\u9500\u54C1\u8BA2\u5355\u53D1\u8D27\u901A\u77E5
orderDeliverGoodsTemplateId
=
TH3I5prFYPC54M14zFJfgN4gvjx8SpJayctIHmzThwg
#\u670D\u52A1\u5B8C\u6210\u901A\u77E5
serverEndTemplateId
=
7L1KIroXNxejxotFTzll-dVLdo1xbmqoiAo7UmDKWcc
PRODUCT_CLASSIFY_FATHER_NAME
=
\u
FFFD
\u
FFFD
\u
01B7
\u
FFFD
\u
FFFD
\u
FFFD
\u
FFFD
#\u54C1\u724C\u7533\u8BF7\u6D88\u606F\u6A21\u677F
brandApplyCommTemplateId
=
82ByH2tkWI1-jlYiWr_-CIihWsgjrvLdFvuO771FwBo
brandApplyCompletedTemplateId
=
OHNQnY6duGKNsM2o3sDQrWg5UY4dSGCj5aROOMQys2I
brandApplyCanceledTemplateId
=
1JfwQZRqcqLyZGi9WK7LyJUZyp7SnBinDHagjtdg7hI
...
...
cftech-common-web/src/main/webapp/WEB-INF/views/common/header.html
View file @
ff0d665d
...
...
@@ -24,9 +24,9 @@
<ul
class=
"nav navbar-nav"
>
<li
class=
"dropdown notifications-menu"
>
<
a
href=
"#"
class=
"dropdown-toggle"
data-toggle=
"dropdown"
>
<
i
class=
"fa fa-server"
></i
>
<
/a
>
<
!--<a href="#" class="dropdown-toggle" data-toggle="dropdown">--
>
<
!--<i class="fa fa-server"></i>--
>
<
!--</a>--
>
<ul
class=
"dropdown-menu"
>
#set($qysizevar = $qyList.size())
#if($qysizevar > 0)
...
...
cftech-common-web/src/main/webapp/assets/adminlte/pages/scripts/usermanager/useradd.js
View file @
ff0d665d
...
...
@@ -53,9 +53,9 @@ var UserAdd = function () {
htmlescape
:
true
},
password
:
{
minlength
:
8
,
//最小长度
maxlength
:
50
,
//最大长度
strongPsw
:
true
,
//密码强度
minlength
:
6
,
//最小长度
maxlength
:
50
,
//最大长度
//strongPsw:
true, //密码强度
htmlescape
:
true
},
email
:
{
...
...
qy-modules/qy-orgunit-module-web/src/main/webapp/WEB-INF/views/managerorgunit/orgunitadd.html
View file @
ff0d665d
...
...
@@ -94,8 +94,9 @@
</span>
</div>
</div>
<input
type=
"text"
style=
"display: none"
name=
"wxorgId"
value=
"${data.wxorgId}"
/>
<input
type=
"text"
style=
"display: none"
name=
"_csrf"
value=
"${_csrf.token}"
/>
<input
type=
"text"
style=
"display: none"
name=
"_csrf_header"
value=
"${_csrf.headerName}"
/>
<input
type=
"text"
style=
"display: none"
name=
"_csrf_header"
value=
"${_csrf.headerName}"
/>
<div
class=
"form-group form-md-line-input"
>
...
...
@@ -275,7 +276,7 @@
$
(
"#save"
).
attr
(
"disabled"
,
true
);
$
.
getJSON
(
"#springUrl('/a/orgunit/formData')"
,
$
(
"#myForm"
).
serialize
(),
function
(
returnobj
)
{
$
(
"#save"
).
attr
(
"disabled"
,
false
);
if
(
returnobj
.
errorNo
==
2
)
{
//保存成功
if
(
returnobj
.
errorNo
==
0
)
{
//保存成功
Cfapp
.
confirm
({
message
:
"添加成功"
,
btnoktext
:
"继续添加"
,
...
...
@@ -295,6 +296,14 @@
location
.
href
=
"#springUrl('/a/orgunit/list')"
;
}
});
}
else
if
(
returnobj
.
errorNo
==
2
)
{
Cfapp
.
alert
({
message
:
"更新失败"
,
btntext
:
"确定"
,
success
:
function
()
{
location
.
href
=
"#springUrl('/a/orgunit/list')"
;
}
});
}
else
{
Cfapp
.
alert
({
message
:
"创建失败"
,
...
...
qy-modules/qy-orgunit-module-web/src/main/webapp/WEB-INF/views/managerorgunit/orgunitlist.html
View file @
ff0d665d
...
...
@@ -118,7 +118,7 @@
#if($shiro.hasPermission("sys:orgunit:edit"))
<a
href=
"#springUrl('/a/orgunit/form')"
class=
"btn btn-primary"
>
新增
</a>
<
a
onclick=
"importExcel();"
class=
"btn btn-primary"
>
导入
</a
>
<
!--<a onclick="importExcel();" class="btn btn-primary">导入</a>--
>
#end
</div>
...
...
@@ -133,7 +133,7 @@
<th>
组织编码
</th>
<th>
组织名称
</th>
<th>
上级组织
</th>
<
th>
组织分类
</th
>
<
!--<th>组织分类</th>--
>
<th>
操作
</th>
</tr>
</thead>
...
...
@@ -248,9 +248,9 @@
"mData"
:
"orgName"
},
{
"mData"
:
"parentName"
},
{
},
/*
{
"mData": "typeName"
},
{
},
*/
{
"mData"
:
"id"
}],
"aoColumnDefs"
:
[{
// set default column settings
...
...
@@ -263,7 +263,7 @@
return
'<a href="#springUrl("/a/orgunit/form?id='
+
c
.
id
+
'")" data-id="'
+
c
.
id
+
'" data-action="view">'
+
a
+
'</a>'
;
}
},
{
"aTargets"
:
[
5
],
"aTargets"
:
[
4
],
"mData"
:
"id"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
var
html
=
'#if($shiro.hasPermission("sys:orgunit:edit"))'
;
//
...
...
@@ -340,7 +340,7 @@
btncanceltext
:
"取消"
,
success
:
function
()
{
$
.
ajax
({
type
:
"
POS
T"
,
type
:
"
GE
T"
,
url
:
"#springUrl('/a/orgunit/delete')"
,
data
:
{
id
:
data
},
dataType
:
"json"
,
...
...
@@ -353,6 +353,14 @@
location
.
href
=
"#springUrl('/a/orgunit/list')"
;
}
});
}
else
{
Cfapp
.
alert
({
message
:
"不能删除含有子部门、成员的部门"
,
btntext
:
"确定"
,
success
:
function
()
{
location
.
href
=
"#springUrl('/a/orgunit/list')"
;
}
});
}
},
error
:
function
()
{
...
...
qy-modules/qy-orgunit-module-web/src/main/webapp/WEB-INF/views/managerqyuser/qyuseradd.html
View file @
ff0d665d
...
...
@@ -88,7 +88,7 @@
<input
id=
"isVer"
name=
"isVer"
value=
"$!{data.isVer}"
hidden=
"true"
/>
<input
id=
"role"
name=
"role"
value=
"$!{data.role}"
hidden=
"true"
/>
<div
class=
"box-body"
>
<div
class=
"form-group form-md-line-input col-md-4"
style=
"display:none"
>
<div
class=
"form-group form-md-line-input col-md-4"
>
<label>
所属组织
</label>
<div
class=
"input-group"
>
<input
type=
"text"
id=
"orgId"
name=
"orgId"
value=
"$!{data.orgId}"
...
...
@@ -125,10 +125,12 @@
<input
type=
"text"
style=
"display: none"
name=
"_csrf"
value=
"${_csrf.token}"
/>
<input
type=
"text"
style=
"display: none"
name=
"_csrf_header"
value=
"${_csrf.headerName}"
/>
<input
type=
"text"
style=
"display: none"
name=
"_csrf_header"
value=
"${_csrf.headerName}"
/>
<div
class=
"form-group form-md-line-input col-md-4"
>
<label
for=
"passwordQyUser"
>
密码
</label>
<input
type=
"password"
class=
"form-control"
name=
"passwordQyUser"
id=
"passwordQyUser"
<input
type=
"password"
class=
"form-control"
name=
"passwordQyUser"
id=
"passwordQyUser"
placeholder=
"请输入密码"
maxlength=
"50"
minlength=
"3"
>
</div>
<div
class=
"form-group form-md-line-input col-md-4"
>
...
...
@@ -138,55 +140,55 @@
maxlength=
"50"
placeholder=
"email"
value=
"$!{data.email}"
>
</div>
<
div
class=
"form-group form-md-line-input col-md-4"
>
<
label
for=
"description"
>
部门
</label
>
<
input
type=
"text"
class=
"form-control"
name=
"description"
id=
"description"
maxlength=
"50"
placeholder=
"部门"
value=
"$!{data.description}"
>
<
/div
>
<
div
class=
"form-group form-md-line-input col-md-4"
style=
"display:none"
>
<
label>
职位
</label
>
<
div
class=
"input-group"
>
<
input
type=
"text"
id=
"positionId"
name=
"positionId"
value=
"$!{data.positionId}"
class=
"form-control"
style=
"display: none"
>
<
input
type=
"text"
id=
"positionName"
name=
"positionName"
value=
"$!{positionName}"
class=
"form-control"
disabled
>
<
span
class=
"input-group-btn"
>
<
button
type=
"button"
id=
"positionSelect"
class=
"btn btn-info btn-flat"
>
选择
</button
>
<
/span
>
<
/div
>
<
/div
>
<div
class=
"form-group form-md-line-input col-md-4"
>
<label
for=
"storeName"
>
所属
门店
</label>
<
!--<div class="form-group form-md-line-input col-md-4">--
>
<
!--<label for="description">部门</label>--
>
<
!--<input type="text"-->
<!--class="form-control" name="description" id="description"-->
<!--maxlength="50" placeholder="部门"-->
<!--value="$!{data.description}">--
>
<
!--</div>--
>
<
!--<div class="form-group form-md-line-input col-md-4" style="display:none">--
>
<
!--<label>职位</label>--
>
<
!--<div class="input-group">--
>
<
!--<input type="text" id="positionId" name="positionId" value="$!{data.positionId}"-->
<!--class="form-control" style="display: none">--
>
<
!--<input type="text" id="positionName" name="positionName"-->
<!--value="$!{positionName}"-->
<!--class="form-control" disabled>--
>
<
!--<span class="input-group-btn">--
>
<
!--<button type="button" id="positionSelect"-->
<!--class="btn btn-info btn-flat">选择</button>--
>
<
!--</span>--
>
<
!--</div>--
>
<
!--</div>--
>
<!--
<div class="form-group form-md-line-input col-md-4">
<label for="storeName">门店</label>
<div class="input-group">
<input type="text" id="storeId" name="storeId" value="$!{data.storeId}"
class="form-control" style="display: none">
<input
type=
"text"
id=
"storeName"
name=
"storeName"
value=
"$!{storeName}"
class=
"form-control required"
disabled
>
<input type="text" id="storeName" name="storeName"
value="$!{storeName}"
class="form-control required" disabled>
<span class="input-group-btn">
<button type="button" id="storeSelect"
class="btn btn-info btn-flat">选择</button>
</span>
</div>
</div>
</div>
-->
<div
class=
"form-group form-md-line-input col-md-4"
>
<label>
性别
</label>
<div
class=
"switch"
>
<input
type=
"checkbox"
name=
"sex"
/>
</div>
</div>
<div
class=
"form-group form-md-line-input col-md-4"
>
<!--
<div class="form-group form-md-line-input col-md-4">
<label>是否可核销</label>
<div class="switch">
<input type="checkbox" name="isVers"/>
</div>
</div>
</div>
-->
<div
class=
"form-group form-md-line-input col-md-4"
style=
"display:none"
>
<
!--<
div class="form-group form-md-line-input col-md-4" style="display:none">
<label>门店角色</label>
<select class="form-control select2" name="roleselect"
id="roleselect" style="width: 100%;">
...
...
@@ -195,7 +197,7 @@
<option value="2">导购</option>
</select>
</div>
</div>
-->
</div>
<div
class=
"box-footer"
>
...
...
@@ -255,10 +257,10 @@
Cfapp
.
init
();
formAdd
.
init
();
if
(
$
(
"#loginNameQyUser"
).
val
()
==
null
||
$
(
"#loginNameQyUser"
).
val
()
==
""
)
{
if
(
$
(
"#loginNameQyUser"
).
val
()
==
null
||
$
(
"#loginNameQyUser"
).
val
()
==
""
)
{
$
(
"#loginNameQyUser"
).
val
(
""
);
}
if
(
$
(
"#passwordQyUser"
).
val
()
==
null
||
$
(
"#passwordQyUser"
).
val
()
==
""
)
{
if
(
$
(
"#passwordQyUser"
).
val
()
==
null
||
$
(
"#passwordQyUser"
).
val
()
==
""
)
{
$
(
"#passwordQyUser"
).
val
(
""
);
}
});
...
...
@@ -275,7 +277,7 @@
}
var
initForm
=
function
()
{
var
initFormCtrl
=
function
()
{
getTagList
();
//
getTagList();
bindEvent
();
};
var
bindEvent
=
function
()
{
...
...
@@ -298,7 +300,7 @@
if
(
!
genderVal
||
genderVal
==
''
||
genderVal
==
undefined
)
{
}
else
{
if
(
genderVal
==
'男'
){
if
(
genderVal
==
'男'
)
{
state
=
true
;
}
else
{
state
=
false
;
...
...
@@ -317,7 +319,7 @@
if
(
!
isVerVal
||
isVerVal
==
''
||
isVerVal
==
undefined
)
{
}
else
{
if
(
isVerVal
==
'0'
){
if
(
isVerVal
==
'0'
)
{
isVerState
=
true
;
}
else
{
isVerState
=
false
;
...
...
@@ -413,17 +415,17 @@
required
:
true
,
htmlescape
:
true
},
positionName
:
{
required
:
true
,
htmlescape
:
true
},
wxuserId
:
{
required
:
true
,
htmlescape
:
true
},
storeName
:
{
required
:
true
}
//
positionName: {
//
required: true,
//
htmlescape: true
//
},
//
wxuserId: {
//
required: true,
//
htmlescape: true
//
},
// storeName:
{
//
required: true
//
}
},
messages
:
{
name
:
{
...
...
@@ -438,29 +440,29 @@
required
:
"请输入手机号!"
,
htmlescape
:
"请您不要输入特殊字符!"
},
positionName
:
{
required
:
"请选择职位!"
,
htmlescape
:
"请您不要输入特殊字符!"
},
wxuserId
:
{
required
:
"请输入微信USERID!"
,
htmlescape
:
"请您不要输入特殊字符!"
},
storeName
:
{
required
:
"请选择门店"
}
//
positionName: {
//
required: "请选择职位!",
//
htmlescape: "请您不要输入特殊字符!"
//
},
//
wxuserId: {
//
required: "请输入微信USERID!",
//
htmlescape: "请您不要输入特殊字符!"
//
},
// storeName:
{
//
required: "请选择门店"
//
}
},
submitHandler
:
function
(
form
)
{
if
(
$
(
"#loginNameQyUser"
).
val
()
==
null
||
$
(
"#loginNameQyUser"
).
val
()
==
""
)
{
if
(
$
(
"#loginNameQyUser"
).
val
()
==
null
||
$
(
"#loginNameQyUser"
).
val
()
==
""
)
{
$
(
"#loginNameQyUser"
).
after
(
"<label class='error'>请输入登录账号</label>"
);
return
;
}
if
(
$
(
"#storeName"
).
val
()
==
null
||
$
(
"#storeName"
).
val
()
==
""
)
{
$
(
"#storeName"
).
after
(
"<label class='error'>请选择门店</label>"
);
return
;
}
// if ($("#storeName").val() == null || $("#storeName").val() == "")
{
//
$("#storeName").after("
<
label
class
=
'error'
>
请选择门店
<
/label>"
)
;
//
return;
//
}
$
(
"#save"
).
attr
(
"disabled"
,
true
);
if
(
$
(
'.select2'
).
val
())
{
...
...
@@ -482,7 +484,7 @@
$
(
'#isVer'
).
val
(
'1'
);
}
if
(
$
(
"#passwordQyUser"
).
val
()
!=
null
&&
$
(
"#passwordQyUser"
).
val
()
!=
""
)
{
if
(
$
(
"#passwordQyUser"
).
val
()
!=
null
&&
$
(
"#passwordQyUser"
).
val
()
!=
""
)
{
var
password
=
sha256_digest
(
$
(
"#passwordQyUser"
).
val
());
$
(
"#passwordQyUser"
).
val
(
password
);
}
...
...
@@ -508,7 +510,7 @@
location
.
href
=
"#springUrl('/a/qyuser/list')"
;
}
});
}
else
if
(
returnobj
.
errorNo
==
3
)
{
}
else
if
(
returnobj
.
errorNo
==
3
)
{
Cfapp
.
alert
({
message
:
"账号重复"
,
btntext
:
"确定"
,
...
...
@@ -529,31 +531,31 @@
}
})
};
var
getTagList
=
function
()
{
console
.
log
(
tagids
);
var
tagList
=
"#springUrl('/a/qytag/listData')"
;
var
formdata
=
{
iDisplayStart
:
0
,
iDisplayLength
:
0
};
$
.
getJSON
(
tagList
,
formdata
,
function
(
retData
)
{
var
htmlStr
=
''
;
if
(
retData
.
aaData
&&
retData
.
aaData
.
length
>
0
)
{
for
(
var
i
=
0
,
j
=
retData
.
aaData
.
length
;
i
<
j
;
i
++
)
{
var
tagObj
=
retData
.
aaData
[
i
];
htmlStr
+=
'<option value="'
+
tagObj
.
id
+
'">'
+
tagObj
.
name
+
'</option>'
;
}
}
;
$
(
'#taglist'
).
html
(
htmlStr
);
$
(
".select2"
).
val
(
tagArr
).
trigger
(
'change'
);
});
};
//
var getTagList = function () {
//
console.log(tagids);
//
var tagList = "#springUrl('/a/qytag/listData')";
//
var formdata = {
//
iDisplayStart: 0,
//
iDisplayLength: 0
//
};
//
$.getJSON(tagList, formdata, function (retData) {
//
var htmlStr = '';
//
if (retData.aaData && retData.aaData.length > 0) {
//
//
for (var i = 0, j = retData.aaData.length; i
<
j
;
i
++
)
{
//
//
var tagObj = retData.aaData[i];
//
htmlStr += '
<
option
value
=
"' + tagObj.id + '"
>
' + tagObj.name + '
<
/option>'
;
//
//
}
//
//
//
}
//
;
//
$('#taglist').html(htmlStr);
//
$(".select2").val(tagArr).trigger('change');
//
});
//
};
initFormCtrl
();
};
return
{
...
...
qy-modules/qy-orgunit-module/src/main/java/com/cftech/base/org/api/QyOrgUtil.java
View file @
ff0d665d
...
...
@@ -47,9 +47,7 @@ public class QyOrgUtil {
}
public
boolean
update
(
OrgUnit
orgUnit
)
{
JSONObject
postObj
=
new
JSONObject
();
postObj
.
put
(
"id"
,
orgUnit
.
getWxorgId
());
postObj
.
put
(
"name"
,
orgUnit
.
getOrgName
());
JSONObject
retObj
=
WxApiUtils
.
departmentUpdate
(
qyTokenUtil
.
getToken
(
orgUnit
.
getAccountsId
()),
postObj
);
...
...
@@ -65,9 +63,10 @@ public class QyOrgUtil {
*/
public
boolean
move
(
OrgUnit
orgUnit
,
OrgUnit
parentOrgUnit
)
{
JSONObject
postObj
=
new
JSONObject
();
postObj
.
put
(
"id"
,
orgUnit
.
getWxorgId
());
postObj
.
put
(
"parentid"
,
parentOrgUnit
.
getWxorgId
());
postObj
.
put
(
"name"
,
orgUnit
.
getOrgName
());
if
(
parentOrgUnit
!=
null
)
postObj
.
put
(
"parentid"
,
parentOrgUnit
.
getWxorgId
());
JSONObject
retObj
=
WxApiUtils
.
departmentUpdate
(
qyTokenUtil
.
getToken
(
orgUnit
.
getAccountsId
()),
postObj
);
return
retObj
.
getIntValue
(
"errcode"
)
==
0
;
}
...
...
qy-modules/qy-orgunit-module/src/main/java/com/cftech/base/org/model/OrgUnit.java
View file @
ff0d665d
...
...
@@ -39,7 +39,7 @@ public class OrgUnit implements Serializable {
/**
* 组织分类
*/
@ExportConfig
(
value
=
"组织分类"
,
width
=
100
)
//
@ExportConfig(value = "组织分类", width = 100)
private
Long
orgtypeId
;
/**
...
...
qy-modules/qy-orgunit-module/src/main/java/com/cftech/base/org/web/OrgUnitController.java
View file @
ff0d665d
...
...
@@ -55,6 +55,8 @@ public class OrgUnitController {
private
final
static
String
rootOrgName
=
SystemConfig
.
p
.
getProperty
(
"ROOT_ORG_NAME"
);
private
final
static
String
qyAccounts
=
SystemConfig
.
p
.
getProperty
(
"AIDEA_QY_ACCOUNTS"
);
//返回列表页面
@RequiresPermissions
(
value
=
PermissionSign
.
ORGUNIT_VIEW
)
@RequestMapping
(
value
=
"/list"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
...
...
@@ -124,13 +126,12 @@ public class OrgUnitController {
}
//同步至企业号
if
(
StringUtils
.
isEmpty
(
orgUnit
.
getWxorgId
()))
{
int
wxorgid
=
qyOrgUtil
.
creat
e
(
orgUnit
,
parentOrgUnit
);
if
(
wxorgid
==
-
1
)
{
if
(
!
StringUtils
.
isEmpty
(
orgUnit
.
getWxorgId
()))
{
boolean
flag
=
qyOrgUtil
.
mov
e
(
orgUnit
,
parentOrgUnit
);
if
(
!
flag
)
{
log
.
error
(
"同步微信端出错,"
+
orgUnit
.
toString
());
}
else
{
orgUnit
.
setWxorgId
(
""
+
wxorgid
);
rtnJson
.
put
(
"errorNo"
,
2
);
return
rtnJson
;
}
}
else
{
if
(!
qyOrgUtil
.
update
(
orgUnit
))
{
...
...
@@ -142,7 +143,6 @@ public class OrgUnitController {
rtnJson
.
put
(
"errorNo"
,
0
);
}
else
{
orgUnit
.
setAccountsId
(
accountsId
);
// orgUnit.setIsSalesUnit(true);
orgUnit
.
setNumber
(
codingruleUtils
.
getNumber
(
accountsId
,
OrgUnit
.
class
.
getName
()));
// do create
OrgUnit
parentOrgUnit
=
null
;
...
...
@@ -183,7 +183,7 @@ public class OrgUnitController {
@RequestMapping
(
value
=
"/listData"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
@ResponseBody
public
JSONObject
listData
(
int
iDisplayStart
,
int
iDisplayLength
,
OrgUnit
orgUnit
,
HttpServletRequest
request
)
{
Long
accountsId
=
UserUtils
.
getmpaccounts
(
request
);
Long
accountsId
=
Long
.
parseLong
(
qyAccounts
);
Conds
conds
=
new
Conds
();
conds
.
equal
(
"t.del_flag"
,
Constants
.
DEL_FLAG_0
);
conds
.
equal
(
"t.accounts_id"
,
accountsId
);
...
...
@@ -230,15 +230,19 @@ public class OrgUnitController {
//删除数据
@RequiresPermissions
(
value
=
PermissionSign
.
ORGUNIT_EDIT
)
@RequestMapping
(
value
=
"/delete"
,
method
=
{
RequestMethod
.
POST
})
@RequestMapping
(
value
=
"/delete"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ResponseBody
public
JSONObject
delete
(
String
id
)
{
JSONObject
rtnJosn
=
new
JSONObject
();
try
{
orgUnitService
.
delete
(
id
);
//OrgUnit orgUnit = orgUnitService.fetchById(id);
//qyOrgUtil.delete(orgUnit);
rtnJosn
.
put
(
"errorNo"
,
0
);
OrgUnit
orgUnit
=
orgUnitService
.
fetchById
(
id
);
boolean
flag
=
qyOrgUtil
.
delete
(
orgUnit
);
if
(
flag
)
{
orgUnitService
.
delete
(
id
);
rtnJosn
.
put
(
"errorNo"
,
0
);
}
else
{
rtnJosn
.
put
(
"errorNo"
,
1
);
}
}
catch
(
Exception
e
)
{
rtnJosn
.
put
(
"errorNo"
,
1
);
}
...
...
qy-modules/qy-orgunit-module/src/main/java/com/cftech/base/org/web/QyuserController.java
View file @
ff0d665d
...
...
@@ -143,7 +143,8 @@ public class QyuserController {
user
.
setPassword
(
passwordQyUser
);
}
userService
.
update
(
user
);
// 2017-10-27 取消同步微信企业号标签操作 qyTagUtil.syncTag(qyuser);
// 2017-10-27 取消同步微信企业号标签操作
// qyTagUtil.syncTag(qyuser);
rtnJson
.
put
(
"errorNo"
,
0
);
}
else
{
Conds
conds
=
new
Conds
();
...
...
sys-module-web/src/main/webapp/WEB-INF/views/manageuser/useradds.html
View file @
ff0d665d
...
...
@@ -151,7 +151,7 @@
<!--</div>-->
<div
class=
"form-group"
style=
"display: none"
>
<div
class=
"form-group"
>
<table
id=
"qytable"
class=
"table"
>
<thead>
<tr>
...
...
@@ -161,9 +161,8 @@
</tr>
</thead>
<tbody>
<tr>
<td><select
class=
"form-control select2 qyaccount"
data-placeholder=
"请选择企业号"
>
<tr
class=
"trEle"
>
<td><select
class=
"form-control select2 qyaccount"
data-placeholder=
"请选择企业号"
>
#foreach( $account in $qyaccounts )
<option
value=
"${account.id}"
>
${account.description}
</option>
#end
...
...
@@ -180,12 +179,13 @@
<div
class=
"switch"
>
<input
type=
"radio"
name=
"isdefault"
/>
</div>
<button
type=
"button"
class=
"btn btn-danger delAccounts"
>
删除
</button>
</td>
</tr>
</tbody>
</table>
</div>
<button
type=
"button"
class=
"btn btn-info"
id=
"addQyAccounts"
style=
"display:none"
>
添加企业号
</button>
<button
type=
"button"
class=
"btn btn-info"
id=
"addQyAccounts"
>
添加企业号
</button>
<div
class=
"form-group"
>
<table
id=
"table"
class=
"table"
>
<thead>
...
...
@@ -196,7 +196,7 @@
</tr>
</thead>
<tbody>
<tr>
<tr
class=
"trEle"
>
<td><select
class=
"form-control select2 account"
data-placeholder=
"请选择公众号"
>
#foreach( $account in $accounts )
<option
value=
"${account.id}"
>
${account.description}
</option>
...
...
@@ -215,12 +215,13 @@
<div
class=
"switch"
>
<input
type=
"radio"
name=
"isdefault"
/>
</div>
<button
type=
"button"
class=
"btn btn-danger delAccounts"
>
删除
</button>
</td>
</tr>
</tbody>
</table>
</div>
<button
style=
"display:none;"
type=
"button"
class=
"btn btn-info"
id=
"addAccounts"
>
添加公众号
</button>
<button
type=
"button"
class=
"btn btn-info"
id=
"addAccounts"
>
添加公众号
</button>
</div>
<div
class=
"box-footer"
>
<input
class=
"btn btn-primary"
id=
"save"
type=
"submit"
value=
"保存"
>
...
...
@@ -241,9 +242,8 @@
</div>
<!-- /.content-wrapper -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div
class=
"control-sidebar-bg"
></div>
<!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
<div
class=
"control-sidebar-bg"
></div>
</div>
<!-- ./wrapper -->
<script
src=
"plugins/jQuery/jQuery-2.1.4.min.js"
></script>
<!-- Bootstrap 3.3.5 -->
...
...
@@ -307,10 +307,6 @@
}
});
}
function
addHtml
()
{
var
html
=
"<tr><td></td></tr>"
;
}
var
sQyUserSource
=
"#springUrl('/a/qyuser/listData')"
;
...
...
@@ -320,6 +316,12 @@
offText
:
'否'
,
state
:
false
});
$
(
'#roleform input[type="radio"]:first'
).
bootstrapSwitch
({
onText
:
'默认'
,
offText
:
'否'
,
state
:
true
});
};
var
counter
=
0
;
...
...
@@ -329,6 +331,14 @@
var
accountId
=
""
;
$
(
"#roleform"
).
on
(
"click"
,
".delAccounts"
,
function
()
{
if
(
$
(
'.trEle'
).
length
==
1
)
{
Cfapp
.
alert
({
message
:
"至少绑定一个微信平台!"
,
btntext
:
"确认"
,
success
:
function
()
{}
});
return
;
}
$
(
this
).
parent
().
parent
().
remove
();
})
...
...
@@ -342,28 +352,28 @@
bindSwitch
();
$
(
"#username"
).
blur
(
function
()
{
$
.
getJSON
(
"#springUrl('/a/manageuser/checkUserName')"
,
{
username
:
$
(
"#username"
).
val
()},
function
(
returnobj
)
{
if
(
returnobj
.
errorNo
==
'1'
)
{
Cfapp
.
alert
({
message
:
"此用户名已被占用"
,
btntext
:
"确认"
,
success
:
function
()
{
$
(
"#username"
).
val
(
""
);
}
});
}
else
{
}
});
})
// $("#username").blur(function () {
// $.getJSON("#springUrl('/a/manageuser/checkUserName')", {username: $("#username").val()}, function (returnobj) {
// if (returnobj.errorNo == '1') {
// Cfapp.alert({
// message: "此用户名已被占用",
// btntext: "确认",
// success: function () {
// $("#username").val("");
// }
// });
// } else {
//
// }
// });
// })
var
accounthtml
=
$
(
"#table tbody tr:last .account"
).
html
();
var
rolehtml
=
$
(
"#table tbody tr:last .role"
).
html
();
$
(
"#addAccounts"
).
click
(
function
()
{
var
accounthtml
=
$
(
"#table tbody tr:last .account"
).
html
();
var
rolehtml
=
$
(
"#table tbody tr:last .role"
).
html
();
var
html
=
""
;
html
+=
"<tr id='tr-"
+
counter
+
"'>"
;
html
+=
"<tr id='tr-"
+
counter
+
"'
class='trEle'
>"
;
html
+=
"<td>"
;
html
+=
"<select class='form-control select2 account' data-placeholder='请选择公众号'>"
+
accounthtml
;
html
+=
"</select></td>"
;
...
...
@@ -383,17 +393,18 @@
counter
++
;
bindSwitch
();
})
var
qyaccounthtml
=
$
(
".qyaccount"
).
html
();
var
qyrolehtml
=
$
(
".qyrole"
).
html
();
$
(
"#addQyAccounts"
).
click
(
function
()
{
var
accounthtml
=
$
(
".qyaccount"
).
html
();
var
rolehtml
=
$
(
".qyrole"
).
html
();
var
html
=
""
;
html
+=
"<tr id='tr-"
+
counter
+
"'>"
;
html
+=
"<tr id='tr-"
+
counter
+
"'
class='trEle'
>"
;
html
+=
'<td>'
;
html
+=
"<select class='form-control select2 qyaccount' data-placeholder='请选择企业号'>"
+
accounthtml
;
html
+=
"<select class='form-control select2 qyaccount' data-placeholder='请选择企业号'>"
+
qy
accounthtml
;
html
+=
"</select></td>"
;
html
+=
'<td>'
;
html
+=
"<select class='form-control select2 qyrole' multiple='multiple' data-placeholder='请选择角色'>"
;
html
+=
rolehtml
;
html
+=
qy
rolehtml
;
html
+=
'</select></td>'
+
'<td>'
+
'<div class="switch">'
+
...
...
@@ -415,41 +426,39 @@
$
(
'#orgtypeSelect'
).
on
(
'click'
,
function
()
{
Cfapp
.
f7
({
dataUrl
:
sQyUserSource
,
//导入的action Url
checkType
:
'single'
,
// 多选为multi
title
:
"绑定SA人员"
,
btnoktext
:
"确定"
,
btncanceltext
:
"取消"
,
columns
:
[
'选择'
,
'姓名'
,
'手机号码'
],
aoColumns
:
[{
"mData"
:
"id"
},
{
"mData"
:
"name"
},
{
"mData"
:
"mobile"
}],
aoColumnDefs
:
[{
"aTargets"
:
[
0
],
"mData"
:
"id"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
'<input type="radio" id="'
+
a
+
'" name="sel" data-value="'
+
a
+
'" data-name="'
+
c
.
name
+
'">'
;
}
}],
success
:
function
()
{
},
//确定处理
cancel
:
function
()
{
},
// 取消的处理
displayFields
:
'wxUserName'
,
//显示的字段
storeFields
:
'userid'
// 储存的字段
})
});
});
function
()
{
Cfapp
.
f7
({
dataUrl
:
sQyUserSource
,
//导入的action Url
checkType
:
'single'
,
// 多选为multi
title
:
"绑定SA人员"
,
btnoktext
:
"确定"
,
btncanceltext
:
"取消"
,
columns
:
[
'选择'
,
'姓名'
,
'手机号码'
],
aoColumns
:
[{
"mData"
:
"id"
},
{
"mData"
:
"name"
},
{
"mData"
:
"mobile"
}],
aoColumnDefs
:
[{
"aTargets"
:
[
0
],
"mData"
:
"id"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
'<input type="radio" id="'
+
a
+
'" name="sel" data-value="'
+
a
+
'" data-name="'
+
c
.
name
+
'">'
;
}
}],
success
:
function
()
{
},
//确定处理
cancel
:
function
()
{
},
// 取消的处理
displayFields
:
'wxUserName'
,
//显示的字段
storeFields
:
'userid'
// 储存的字段
})
});
});
</script>
</body>
...
...
sys-module-web/src/main/webapp/WEB-INF/views/manageuser/userlist.html
View file @
ff0d665d
...
...
@@ -81,7 +81,7 @@
<div
class=
"col-xs-5"
>
<button
type=
"submit"
class=
"btn btn-primary"
>
搜索
</button>
#if($shiro.hasPermission("sys:user:edit"))
<
a
href=
"#springUrl('/a/manageuser/userform')"
class=
"btn btn-primary"
>
添加
</a
>
<
!--<a href="#springUrl('/a/manageuser/userform')" class="btn btn-primary">新增</a>--
>
#end
</div>
</form>
...
...
@@ -94,7 +94,6 @@
<th>
用户名
</th>
<th>
邮箱
</th>
<th>
描述
</th>
<th>
绑定粉丝openid
</th>
<th>
创建日期
</th>
<th>
操作
</th>
</tr>
...
...
@@ -205,29 +204,24 @@
"mData"
:
"email"
},
{
"mData"
:
"description"
},{
"mData"
:
"empid"
},
{
},
{
"mData"
:
"createtime"
}],
"aoColumnDefs"
:
[
{
// set default column settings
'visible'
:
false
,
'targets'
:
[
0
]
},
{
"aTargets"
:
[
5
],
"aTargets"
:
[
4
],
"mData"
:
"createtime"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
formatDates
(
a
.
time
,
"yyyy-MM-dd HH:mm:ss"
);
}
}
,{
"aTargets"
:
[
6
],
"aTargets"
:
[
5
],
"mData"
:
"id"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
var
html
=
'#if($shiro.hasPermission("sys:user:edit"))'
;
html
+=
'<a href="#springUrl("/a/manageuser/userfromDetail?id='
+
a
+
'")" data-id="'
+
a
+
'" data-action="view" class="btn green">修改</a>'
;
html
+=
'#if($shiro.hasPermission("qy:store:bind"))'
+
'<a id="fans" onclick="selectfans('
+
a
+
')" class="btn green fans">绑定粉丝</a>'
+
'#end'
;
html
+=
'<a href="javascript:void(0);" data-id="'
+
a
+
'" data-action="remove" onclick="removeData('
+
a
+
')" class="btn red">删除</a>#end'
;
return
html
;
}
...
...
sys-module-web/src/main/webapp/WEB-INF/views/manageuser/userupdate.html
View file @
ff0d665d
...
...
@@ -165,7 +165,7 @@
#end
</select>
</div>
<div
class=
"form-group"
style=
"display: none"
>
<div
class=
"form-group"
>
<table
id=
"qytable"
class=
"table"
>
<thead>
<tr>
...
...
@@ -179,7 +179,7 @@
</tbody>
</table>
</div>
<button
type=
"button"
class=
"btn btn-info"
id=
"addQyAccounts"
style=
"display: none;"
>
添加企业号
</button>
<button
type=
"button"
class=
"btn btn-info"
id=
"addQyAccounts"
>
添加企业号
</button>
<div
class=
"form-group"
style=
"display:none"
>
<select
class=
"form-control select2 account"
style=
"display:none"
...
...
@@ -210,7 +210,7 @@
</tbody>
</table>
</div>
<button
type=
"button"
class=
"btn btn-info"
style=
"display:none"
id=
"addAccounts"
>
添加公众号
</button>
<button
type=
"button"
class=
"btn btn-info"
id=
"addAccounts"
>
添加公众号
</button>
</div>
<div
class=
"box-footer"
>
<input
class=
"btn btn-primary"
id=
"save"
type=
"submit"
value=
"保存"
>
...
...
@@ -230,9 +230,7 @@
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
<div
class=
"control-sidebar-bg"
></div>
</div>
<!-- ./wrapper -->
<script
src=
"plugins/jQuery/jQuery-2.1.4.min.js"
></script>
...
...
@@ -242,7 +240,7 @@
<script
src=
"plugins/select2/select2.full.min.js"
></script>
<!-- DataTables -->
<script
src=
"plugins/datatables/jquery.dataTables.min.js"
></script>
<script
src=
"plugins/datatables/extensions/i18n/lanauage_ch.js"
></script>
<script
src=
"plugins/datatables/extensions/i18n/lanauage_ch.js"
></script>
<script
src=
"plugins/datatables/dataTables.bootstrap.min.js"
></script>
<!-- SlimScroll -->
<script
src=
"plugins/slimScroll/jquery.slimscroll.min.js"
></script>
...
...
@@ -252,8 +250,7 @@
<script
src=
"dist/js/app.min.js"
></script>
<script
src=
"plugins/security/sha256.js"
type=
"text/javascript"
></script>
<!-- Switch -->
<script
src=
"plugins/bootstrap-switch/bootstrap-switch.min.js"
></script>
<script
src=
"https://cdn.bootcss.com/bootstrap-switch/4.0.0-alpha.1/js/bootstrap-switch.min.js"
></script>
<script
src=
"plugins/jquery-validation/js/jquery.validate.min.js"
></script>
<script
src=
"plugins/jquery-validation/js/localization/messages_zh.js"
></script>
<script>
...
...
@@ -308,7 +305,7 @@
var
accounthtml
=
$
(
".account"
).
html
();
var
rolehtml
=
$
(
".role"
).
html
();
var
html
=
""
;
html
+=
"<tr>"
;
html
+=
"<tr
class='trEle'
>"
;
html
+=
"<td>"
;
html
+=
"<select class='form-control select2 account' data-placeholder='请选择公众号'>"
+
accounthtml
;
html
+=
"</select></td>"
;
...
...
@@ -340,7 +337,7 @@
var
accounthtml
=
$
(
".qyaccount"
).
html
();
var
rolehtml
=
$
(
".qyrole"
).
html
();
var
html
=
""
;
html
+=
"<tr>"
;
html
+=
"<tr
class='trEle'
>"
;
html
+=
"<td>"
;
html
+=
"<select class='form-control select2 qyaccount' data-placeholder='请选择公众号'>"
+
accounthtml
;
html
+=
"</select></td>"
;
...
...
@@ -373,13 +370,28 @@
jQuery
(
document
).
ready
(
function
()
{
Cfapp
.
init
();
UserAdd
.
init
();
$
(
"#roleform"
).
on
(
"click"
,
".delAccounts"
,
function
()
{
if
(
$
(
'#roleform'
).
find
(
".trEle"
).
length
==
1
)
{
Cfapp
.
alert
({
message
:
"至少绑定一个微信平台!"
,
btntext
:
"确认"
,
success
:
function
()
{}
});
return
;
}
$
(
this
).
parent
().
parent
().
remove
();
});
$
(
"#addAccounts"
).
click
(
function
()
{
var
accounthtml
=
$
(
".account"
).
html
();
var
rolehtml
=
$
(
".role"
).
html
();
var
html
=
""
;
html
+=
"<tr>"
;
html
+=
"<tr
class='trEle'
>"
;
html
+=
"<td>"
;
html
+=
"<select class='form-control select2 account' data-placeholder='请选择公众号'>"
+
accounthtml
;
html
+=
"</select></td>"
;
...
...
@@ -402,7 +414,7 @@
var
accounthtml
=
$
(
".qyaccount"
).
html
();
var
rolehtml
=
$
(
".qyrole"
).
html
();
var
html
=
""
;
html
+=
"<tr>"
;
html
+=
"<tr
class='trEle'
>"
;
html
+=
"<td>"
;
html
+=
"<select class='form-control select2 qyaccount' data-placeholder='请选择企业号'>"
+
accounthtml
;
html
+=
"</select></td>"
;
...
...
@@ -472,9 +484,7 @@
})
});
$
(
"#table"
).
on
(
"click"
,
".delAccounts"
,
function
()
{
$
(
this
).
parent
().
parent
().
remove
();
})
// console.log("${user.roles}".replace(/\'/g, "")) ;
$
(
".select2"
).
select2
();
});
...
...
sys-module/src/main/java/com/cftech/sys/service/UserService.java
View file @
ff0d665d
...
...
@@ -15,12 +15,15 @@ import java.util.Map;
* Created by lisw 25/09/2016.
*/
public
interface
UserService
extends
GenericService
<
User
>
{
int
clearUserRole
(
Long
userId
);
int
clearUserRole
(
Long
userId
);
int
saveBatchRole
(
Long
userId
,
Long
roleId
,
Long
accountId
);
int
saveBatchRole
(
Long
userId
,
Long
roleId
,
Long
accountId
);
User
fetchStoreUserById
(
Long
id
);
User
fetchByQyuserId
(
Long
qyUserId
);
UserAuth
fetchAuthById
(
Serializable
id
);
List
<
User
>
fetchoruserBycond
(
Conds
conds
,
Long
id
);
User
fetchStoreUserById
(
Long
id
);
User
fetchByQyuserId
(
Long
qyUserId
);
UserAuth
fetchAuthById
(
Serializable
id
);
List
<
User
>
fetchoruserBycond
(
Conds
conds
,
Long
id
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment