profile.zml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. ${Scripts.src("/zinc/layui/layui.js")}
  2. <link rel="stylesheet" href="../zinc/layui/css/layui.css"/>
  3. ${Scripts.src(zhiqim_uploadlarge.js)}
  4. <style>
  5. input::-webkit-input-placeholder {
  6. font-size: 12px;
  7. }
  8. xm-select div:not(span) {
  9. line-height: inherit;
  10. }
  11. .content {
  12. display: flex;
  13. justify-content: space-between;
  14. }
  15. .content td {
  16. padding-right: 0 !important;
  17. }
  18. .profileTable td {
  19. padding-left: 5px !important;
  20. }
  21. .item {
  22. padding: 1em 0 0 1em;
  23. width: 33%;
  24. position: relative;
  25. }
  26. .itemCtrBar {
  27. right: 0;
  28. bottom: 0;
  29. left: 0;
  30. display: none;
  31. }
  32. .item .showing {
  33. content: url(../ztmpl/zhiqim_manager/showing.png);
  34. position: absolute;
  35. width: 50px;
  36. left: 1em;
  37. top: 1em;
  38. }
  39. .item .reviewing {
  40. content: url(../ztmpl/zhiqim_manager/reviewing.png);
  41. position: absolute;
  42. width: 50px;
  43. left: 1em;
  44. top: 1em;
  45. }
  46. .item .rejected {
  47. content: url(../ztmpl/zhiqim_manager/rejected.png);
  48. position: absolute;
  49. width: 50px;
  50. left: 1em;
  51. top: 1em;
  52. }
  53. textarea::-ms-input-placeholder{
  54. text-align: center;
  55. line-height: 140px
  56. }
  57. textarea::-webkit-input-placeholder{
  58. text-align: center;
  59. line-height: 140px
  60. }
  61. .iframenav-tab-item {
  62. border: 1px solid #d3d3d3;
  63. padding: 0 30px 0 10px;
  64. margin-right: 10px;
  65. }
  66. </style>
  67. <script>
  68. function doModifyAvatar()
  69. {//修改头像
  70. var dialog = new Z.Dialog();
  71. dialog.title = "修改头像";
  72. dialog.url = "modifyAvatar.htm";
  73. dialog.width = 800;
  74. dialog.height = 560;
  75. dialog.fixed = true;
  76. dialog.execute();
  77. }
  78. function doModifyPass()
  79. {//修改密码
  80. var dialog = new Z.Dialog();
  81. dialog.title = "修改登录密码";
  82. dialog.url = "modifyPassword.htm";
  83. dialog.width = 650;
  84. dialog.height = 280;
  85. dialog.fixed = true;
  86. dialog.execute();
  87. }
  88. function doModifyMobile()
  89. {//修改手机号
  90. var dialog = new Z.Dialog();
  91. dialog.title = "修改手机号";
  92. dialog.url = "modifyMobile.htm";
  93. dialog.width = 530;
  94. dialog.height = 220;
  95. dialog.fixed = true;
  96. dialog.execute();
  97. }
  98. function doModifyOrderNum(operatorParam)
  99. {//修改接单数量
  100. var dialog = new Z.Dialog();
  101. dialog.title = "修改接单数量";
  102. dialog.url = "modifyOrderNum.htm?operatorParam=" + operatorParam;
  103. dialog.width = 530;
  104. dialog.height = 220;
  105. dialog.fixed = true;
  106. dialog.execute();
  107. }
  108. function doModifyWxcode()
  109. {// 修改个人微信
  110. var dialog = new Z.Dialog();
  111. dialog.title = "修改微信";
  112. dialog.url = "modifyWxcode.htm";
  113. dialog.width = 530;
  114. dialog.height = 220;
  115. dialog.fixed = true;
  116. dialog.execute();
  117. }
  118. function doEditPersonalProfile(elem){
  119. if(Z(elem).text() == "编辑"){
  120. document.getElementById("personalProfile").readOnly = false;
  121. Z(elem).text("提交审核");
  122. } else {
  123. var personalProfile = Z("#personalProfile").val();
  124. if(personalProfile.length == 0){
  125. Z.alert("个人简介不能为空");
  126. return;
  127. } else if(personalProfile.length > 300){
  128. Z.alert("个人简介最多不能超过300个字符");
  129. return;
  130. }
  131. var ajax = new Z.Ajax();
  132. ajax.setContextPath("${context.getContextPath()}");
  133. ajax.setClassName("DesignerProfilePresenter");
  134. ajax.setMethodName("doSubmitReview");
  135. ajax.addParam("personalProfile",personalProfile);
  136. ajax.setFailureAlert();
  137. ajax.setSuccess(function(){
  138. parent.Z.tips("提交成功");
  139. location.reload();
  140. });
  141. ajax.execute();
  142. }
  143. }
  144. function doAddLabel(){
  145. if(Z(".iframenav-tab-item").length > 10){
  146. Z.alert("标签最大不能超过10个");
  147. return;
  148. }
  149. Z.prompt("请输入标签内容", "", function(value){
  150. if(value && value.length < 6){
  151. var ajax = new Z.Ajax();
  152. ajax.setContextPath("${context.getContextPath()}");
  153. ajax.setClassName("DesignerProfilePresenter");
  154. ajax.setMethodName("addDesignerLabel");
  155. ajax.addParam("label",value);
  156. ajax.setFailureAlert();
  157. ajax.setSuccess(function(){
  158. var addLabel = document.getElementById("addLabel");
  159. var newLabel = document.createElement("li");
  160. newLabel.className = "iframenav-tab-item";
  161. newLabel.innerHTML = "<span>" + value + '</span><i class="z-font z-error" onclick="doDeleteLabel(\''+ value +'\',this)"></i>';
  162. addLabel.parentElement.insertBefore(newLabel,addLabel);
  163. });
  164. ajax.execute();
  165. } else {
  166. Z.alert("标签内容不能为空且最多5个字符");
  167. }
  168. });
  169. }
  170. function doDeleteLabel(label,elem){
  171. var ajax = new Z.Ajax();
  172. ajax.setContextPath("${context.getContextPath()}");
  173. ajax.setClassName("DesignerProfilePresenter");
  174. ajax.setMethodName("doDeleteLabel");
  175. ajax.addParam("label",label);
  176. ajax.setFailureAlert();
  177. ajax.setSuccess(function(){
  178. Z(elem).parent().remove();
  179. });
  180. ajax.execute();
  181. }
  182. layui.config({
  183. base: '../zinc/module/'
  184. }).extend({
  185. xmSelect: 'xmSelect/xm-select',
  186. }).use(['jquery','xmSelect'], function () {
  187. var $ = layui.$;
  188. var xmSelect = layui.xmSelect;
  189. var workExperienceList = [{"name":"初入设计行业"},{"name":"图文广告点"},{"name":"淘宝等线上设计"},{"name":"品牌设计公司"},{"name":"综合广告公司"},{"name":"企业设计岗位"}];
  190. var designTypeList = [{"name":"名片类"},{"name":"海报类"},{"name":"包装类"},{"name":"logo设计"},{"name":"画册设计"},{"name":"UI设计"},{"name":"网页设计"}];
  191. var skillScopeList = [{"name":"CDR"},{"name":"PS"},{"name":"AI"},{"name":"3Dmax"},{"name":"C4D"},{"name":"CAD"}];
  192. var dbWorkExperience = '${course.getWorkExperience()}';
  193. var dbDesignType = '${course.getDesignType()}';
  194. var dbSkillScope = '${course.getSkillScope()}';
  195. var workExperience = xmSelect.render({
  196. el: '#workExperience',
  197. toolbar: {show: true},
  198. theme: {color: '#28a3ef'},
  199. filterable: true,
  200. autoRow: true,
  201. prop: {
  202. name: 'name',
  203. value: 'name',
  204. },
  205. initValue: dbWorkExperience.split(","),
  206. data: workExperienceList
  207. });
  208. var designType = xmSelect.render({
  209. el: '#designType',
  210. toolbar: {show: true},
  211. theme: {color: '#28a3ef'},
  212. filterable: true,
  213. autoRow: true,
  214. prop: {
  215. name: 'name',
  216. value: 'name',
  217. },
  218. initValue: dbDesignType.split(","),
  219. data: designTypeList
  220. });
  221. var skillScope = xmSelect.render({
  222. el: '#skillScope',
  223. toolbar: {show: true},
  224. theme: {color: '#28a3ef'},
  225. filterable: true,
  226. autoRow: true,
  227. prop: {
  228. name: 'name',
  229. value: 'name',
  230. },
  231. initValue: dbSkillScope.split(","),
  232. data: skillScopeList
  233. });
  234. $("#designerCourseSubmit").click(function(){
  235. designerCourseSubmit();
  236. });
  237. function designerCourseSubmit()
  238. {//设计师个人经历信息提交
  239. console.log(workExperience.getValue("value"));
  240. var workExperiences = workExperience.getValue("value");
  241. if(workExperiences.length <= 0){
  242. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  243. return;
  244. }
  245. var skillScopes = skillScope.getValue("value");
  246. if(skillScopes.length <= 0){
  247. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  248. return;
  249. }
  250. var designTypes = designType.getValue("value");
  251. if(designTypes.length <= 0){
  252. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  253. return;
  254. }
  255. var workDuration = Z("#workDuration").val();
  256. if(workDuration == ""){
  257. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  258. return;
  259. }
  260. var workStatus = Z("#workStatus").val();
  261. if(workStatus == ""){
  262. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  263. return;
  264. }
  265. var receiveType = Z("#receiveType").val();
  266. if(receiveType == ""){
  267. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  268. return;
  269. }
  270. var receiveAccount = Z("#receiveAccount").val();
  271. if(receiveAccount.length <= 0)
  272. {
  273. Z.alert("为了您更好的工作体验,请完整填写个人信息~");
  274. return;
  275. }
  276. Z.confirm("提交前请仔细检查核对哦,确认提交吗?",function(){
  277. var ajax = new Z.Ajax();
  278. ajax.setContextPath("${context.getContextPath()}");
  279. ajax.setClassName("DesignerProfilePresenter");
  280. ajax.setMethodName("doDesignerCourseSubmit");
  281. ajax.addParam("workExperience",workExperiences.join(","));
  282. ajax.addParam("skillScope",skillScopes.join(","));
  283. ajax.addParam("designType",designTypes.join(","));
  284. ajax.addParam("workDuration",workDuration);
  285. ajax.addParam("workStatus",workStatus);
  286. ajax.addParam("receiveType",receiveType);
  287. ajax.addParam("receiveAccount",receiveAccount);
  288. ajax.setFailureAlert();
  289. ajax.setSuccess(function(){
  290. Z.success("保存成功");
  291. });
  292. ajax.execute();
  293. });
  294. }
  295. });
  296. </script>
  297. ${zhiqim_manager_breadcrumb_name("个人中心")}
  298. ${zhiqim_manager_content()}
  299. <div style="width:60%;">
  300. <!-- 基本信息 -->
  301. <table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r profileTable">
  302. <tr class="z-bg-gray">
  303. <td class="z-bold z-px14 zi-pd16 zi-pd-l20" colspan="5" style="padding: 20px !important;">账号信息</td>
  304. </tr>
  305. <tr>
  306. <td rowspan="2" width="10%" style="text-align: center;padding-left: 0 !important;">
  307. <img class="z-w70 z-h70 z-bd-rd50p z-pointer" title="点击修改" src="${sessionUser.getAvatar100()}" onclick="doModifyAvatar();">
  308. </td>
  309. <td width="8%">用户昵称:</td>
  310. <td width="20%">#{operator.getOperatorCode()}</td>
  311. <td width="14%">登录密码:</td>
  312. <td width="20%">******** &nbsp;<span class="z-px12 z-text-orange z-pointer" onclick="doModifyPass();">修改</span></td>
  313. </tr>
  314. <tr>
  315. <td width="8%">手机号码:</td>
  316. <td><#if Validates.isNotEmpty(operator.getOperatorMobile())>${operator.getOperatorMobile()}<span class="z-px12 z-text-orange z-pointer" onclick="doModifyMobile();"> &nbsp;修改</span><#else><span class="z-px14 z-color-999 z-pointer" onclick="doModifyMobile();">点击绑定</span></#if></span></td>
  317. <td width="14%">个人微信:</td>
  318. <td width="20%">
  319. <#if Validates.isNotEmpty(operator.getOperatorWxcode())>${operator.getOperatorWxcode()}<span class="z-px12 z-text-orange z-pointer" onclick="doModifyWxcode();"> &nbsp;修改</span><#else><span class="z-px14 z-color-999 z-pointer" onclick="doModifyWxcode();">点击绑定</span></#if></td>
  320. </td>
  321. </tr>
  322. </table>
  323. <!-- 接单配置 -->
  324. <table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r z-mg-t10">
  325. <tr class="z-bg-gray">
  326. <td class="z-bold z-px14 zi-pd16 zi-pd-l20" colspan="4">接单配置</td>
  327. </tr>
  328. <tr>
  329. <td width="15%">最大同时接单量:</td>
  330. <td width="10%"><#if Validates.isNotEmpty(operator.getOperatorParam())>${operator.getOperatorParam()}<#else>0</#if>&nbsp;
  331. <span class="z-px12 z-text-orange z-pointer" onclick="doModifyOrderNum(<#if Validates.isNotEmpty(operator.getOperatorParam())>${operator.getOperatorParam()}<#else>0</#if>);">修改</span>
  332. </td>
  333. <td width="*" colspan="2"><span class="z-px14 z-color-red">
  334. 说明:正在设计状态订单总数超过最大同时接单数时,系统将不会自动派单(大于0规则才会生效)
  335. </span></td>
  336. </tr>
  337. </table>
  338. <table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r z-mg-t10">
  339. <tr class="z-h40">
  340. <td class="z-bg-gray z-bold z-px14" colspan="3">个人简介</td>
  341. </tr>
  342. <tr>
  343. <td>
  344. <div style="display: flex;align-items: center;"><span class="z-color-red">*</span>工作经历&nbsp;<div id="workExperience" style="display: inline-block;width: 205px;"></div></div>
  345. </td>
  346. <td>
  347. <div style="display: flex;align-items: center;"><span class="z-color-red">*</span>软件能力&nbsp;<div id="skillScope" style="display: inline-block;width: 200px;"></div></div>
  348. </td>
  349. <td>
  350. <div style="display: flex;align-items: center;"><span class="z-color-red">*</span>擅长设计&nbsp;<div id="designType" style="display: inline-block;width: 200px;"></div></div>
  351. </td>
  352. </tr>
  353. <tr>
  354. <td>
  355. <span class="z-color-red">*</span>
  356. 工作年限&nbsp;<select name="workDuration" id="workDuration" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
  357. <option value="">请选择</option>
  358. <option value="应届" <#if course.getWorkDuration() == "应届">selected</#if>>应届</option>
  359. <option value="1年以内" <#if course.getWorkDuration() == "1年以内">selected</#if>>1年以内</option>
  360. <option value="1-2年" <#if course.getWorkDuration() == "1-2年">selected</#if>>1-2年</option>
  361. <option value="2-3年" <#if course.getWorkDuration() == "2-3年">selected</#if>>2-3年</option>
  362. <option value="3年以上" <#if course.getWorkDuration() == "3年以上">selected</#if>>3年以上</option>
  363. <option value="5年以上" <#if course.getWorkDuration() == "5年以上">selected</#if>>5年以上</option>
  364. <option value="10年以上" <#if course.getWorkDuration() == "10年以上">selected</#if>>10年以上</option>
  365. </select>
  366. </td>
  367. <td>
  368. <span class="z-color-red">*</span>
  369. 在职情况&nbsp;<select name="workStatus" id="workStatus" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
  370. <option value="">请选择</option>
  371. <option value="在职" <#if course.getWorkStatus() == "在职">selected</#if>>在职</option>
  372. <option value="待业" <#if course.getWorkStatus() == "待业">selected</#if>>待业</option>
  373. <option value="自由职业" <#if course.getWorkStatus() == "自由职业">selected</#if>>自由职业</option>
  374. <option value="自有工作室" <#if course.getWorkStatus() == "自有工作室">selected</#if>>自有工作室</option>
  375. </select>
  376. </td>
  377. <td>
  378. <span class="z-color-red">*</span>
  379. 收款方式&nbsp;<select name="receiveType" id="receiveType" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
  380. <option value="">请选择</option>
  381. <option value="支付宝" <#if course.getReceiveType() == "支付宝">selected</#if>>支付宝</option>
  382. </select>
  383. </td>
  384. </tr>
  385. <tr>
  386. <td>
  387. <span class="z-color-red">*</span>收款账号&nbsp;
  388. <input type="text" name="receiveAccount" id="receiveAccount" class="z-input ${zmr_color_class} z-w200" value="${course.getReceiveAccount()}" placeholder="手机号/邮箱">
  389. </td>
  390. <td colspan="2"></td>
  391. </tr>
  392. <tr >
  393. <td colspan="3" align="center"><button class="z-button z-w120 z-mg-r15 ${zmr_color_class}" id="designerCourseSubmit"><i class="z-font z-save"></i>保存提交</button></td>
  394. </tr>
  395. </table>
  396. </div>
  397. ${zhiqim_manager_content_end()}