|
@@ -0,0 +1,304 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
|
|
+<head>
|
|
|
+ <th:block th:include="include :: header('新增子系统用户账号关联')" />
|
|
|
+ <th:block th:include="include :: datetimepicker-css" />
|
|
|
+ <!--<th:block th:include="include :: select2-css" />-->
|
|
|
+</head>
|
|
|
+<body class="white-bg">
|
|
|
+ <div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
|
|
+ <form class="form-horizontal m" id="form-userRelate-add">
|
|
|
+ <div class="form-group" style="display: none">
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="col-sm-8">
|
|
|
+ <input id="userId" name="userId" type="text" th:value="${userId}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="copyDivClass">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label">系统登录名:</label>
|
|
|
+ <div class="col-sm-8">
|
|
|
+ <input id="loginName" name="loginName" class="form-control" type="text" required readonly>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label">子系统名称:</label>
|
|
|
+ <div class="col-sm-8">
|
|
|
+
|
|
|
+ <select id="danganId" name="danganId" class="form-control" required >
|
|
|
+ <option value="">请选择</option>
|
|
|
+ <!--<option th:each="user:${danganList}" th:text="${user.danganName}" th:value="${user.danganId}"></option>-->
|
|
|
+ </select>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label">子系统登录名:</label>
|
|
|
+ <div class="col-sm-8">
|
|
|
+ <input id="danganLoginName" name="danganLoginName" class="form-control" type="text" required >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group" style="display:none">
|
|
|
+ <label class="col-sm-3 control-label">url通配规则(JSON [{key:"...",value:".."}]):</label>
|
|
|
+ <div class="col-sm-8">
|
|
|
+ <input id="urlRules" name="urlRules" class="form-control" type="text" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-sm-offset-2 col-sm-10">
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" style="width:30px!important;height:30px!important;" onclick="addCopyDiv(this)">+</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-sm-offset-5 col-sm-10">
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <th:block th:include="include :: footer" />
|
|
|
+ <th:block th:include="include :: datetimepicker-js" />
|
|
|
+ <link th:href="@{/ajax/libs/table-edit/bootstrap-table.css}" rel="stylesheet"/>
|
|
|
+ <link th:href="@{/ajax/libs/table-edit/bootstrap-table.min.css}" rel="stylesheet"/>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-table.js}"></script>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-table.min.js}"></script>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-table-zh-CN.js}"></script>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-table-edit.js}"></script>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-table-edit.min.js}"></script>
|
|
|
+ <script th:src="@{/ajax/libs/table-edit/bootstrap-select.js}"></script>
|
|
|
+ <!--<th:block th:include="include :: select2-js" />-->
|
|
|
+ <script th:inline="javascript">
|
|
|
+ var prefix = ctx + "system/userRelate"
|
|
|
+ var danganList =[[${danganList}]];
|
|
|
+
|
|
|
+ $("#form-userRelate-add").validate({
|
|
|
+ focusCleanup: true
|
|
|
+ });
|
|
|
+
|
|
|
+ var userId= $("#userId").val();
|
|
|
+ var letLoginName = "";
|
|
|
+ var letUserName = "";
|
|
|
+ getLoginName();
|
|
|
+ //TODO 初始化元素
|
|
|
+ let optionListHtml = "";
|
|
|
+ for(let i = 0;i<danganList.length;i++){
|
|
|
+ let optItem = "<option text ='"+danganList[i].danganName+"' value='"+danganList[i].danganId+"'>"+danganList[i].danganName+"</option>";
|
|
|
+ optionListHtml+=optItem;
|
|
|
+ }
|
|
|
+
|
|
|
+ $("#danganId").append(optionListHtml);
|
|
|
+ $("#loginName").val(letLoginName);
|
|
|
+
|
|
|
+ //TODO 添加元素
|
|
|
+ function addCopyDiv(opt) {
|
|
|
+ $(opt).parent().parent().parent().after("<div class=\"copyDivClass\">\n" +
|
|
|
+ "<hr/>" +
|
|
|
+ " <div class=\"form-group\">\n" +
|
|
|
+ " <label class=\"col-sm-3 control-label\">系统登录名:</label>\n" +
|
|
|
+ " <div class=\"col-sm-8\">\n" +
|
|
|
+ " <input name=\"loginName\" class=\"form-control\" type=\"text\" value='"+letLoginName+"' required readonly>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ "\n" +
|
|
|
+ "\n" +
|
|
|
+ " <div class=\"form-group\">\n" +
|
|
|
+ " <label class=\"col-sm-3 control-label\">子系统名称:</label>\n" +
|
|
|
+ " <div class=\"col-sm-8\">\n" +
|
|
|
+ "\n" +
|
|
|
+ " <select name=\"danganId\" class=\"form-control\" required >\n" +
|
|
|
+ " <option value=\"\">请选择</option>\n" +
|
|
|
+ optionListHtml +
|
|
|
+ " </select>\n" +
|
|
|
+ "\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ "\n" +
|
|
|
+ " <div class=\"form-group\">\n" +
|
|
|
+ " <label class=\"col-sm-3 control-label\">子系统登录名:</label>\n" +
|
|
|
+ " <div class=\"col-sm-8\">\n" +
|
|
|
+ " <input name=\"danganLoginName\" class=\"form-control\" type=\"text\" required >\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ "\n" +
|
|
|
+ " <div class=\"form-group\" style=\"display:none\">\n" +
|
|
|
+ " <label class=\"col-sm-3 control-label\">url通配规则(JSON [{key:\"...\",value:\"..\"}]):</label>\n" +
|
|
|
+ " <div class=\"col-sm-8\">\n" +
|
|
|
+ " <input name=\"urlRules\" class=\"form-control\" type=\"text\" />\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ "\n" +
|
|
|
+ " <div class=\"row\">\n" +
|
|
|
+ " <div class=\"col-sm-offset-2 col-sm-10\">\n" +
|
|
|
+ " <button type=\"button\" class=\"btn btn-sm btn-primary\" style=\"width:30px!important;height:30px!important;\" onclick=\"addCopyDiv(this)\">+</button> \n" +
|
|
|
+ " <button type=\"button\" class=\"btn btn-sm btn-danger\" style=\"width:30px!important;height:30px!important;\" onclick=\"removeCopyDiv(this)\">-</button>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>\n" +
|
|
|
+ " </div>");
|
|
|
+ }
|
|
|
+
|
|
|
+ //TODO 删除元素
|
|
|
+ function removeCopyDiv(opt){
|
|
|
+ $(opt).parent().parent().parent().remove();
|
|
|
+ }
|
|
|
+
|
|
|
+ function getLoginName(){
|
|
|
+ $.ajax({
|
|
|
+ url: ctx + "system/user/getUserNameById",
|
|
|
+ data: {userId:userId},
|
|
|
+ type: "post",
|
|
|
+ async: false,
|
|
|
+ success: function(result) {
|
|
|
+
|
|
|
+
|
|
|
+ // console.log({result})
|
|
|
+ letLoginName = result.loginName;
|
|
|
+ letUserName = result.userName;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ $(function() {
|
|
|
+ loadEditTable();
|
|
|
+ });
|
|
|
+
|
|
|
+ var bool = false;
|
|
|
+ function loadEditTable(){
|
|
|
+ $('#table1').bootstrapTable('destroy');
|
|
|
+ $('#table1').bootstrapTable({
|
|
|
+ method: 'post',
|
|
|
+ url: ctx + "system/a/list",
|
|
|
+ editable:true,//开启编辑模式
|
|
|
+ clickToSelect: true,
|
|
|
+ cache : false,
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ field: 'danganId',
|
|
|
+ title: '子系统名称',
|
|
|
+ align:"center",
|
|
|
+ edit: {
|
|
|
+ required: true, editable:false,type: 'select', data: danganList,
|
|
|
+ valueField: 'danganId',
|
|
|
+ textField: 'danganName',
|
|
|
+ onSelect: function (val, rec) {
|
|
|
+ var data = $("#table1").bootstrapTable('getData');
|
|
|
+ console.log({data})
|
|
|
+
|
|
|
+
|
|
|
+ bool = data.some(item=>item.danganId==val);
|
|
|
+ console.log({bool})
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'danganLoginName',
|
|
|
+ title: '子系统登录名',
|
|
|
+ align:"center",
|
|
|
+ edit:{required:true ,type:'text'}
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title:"操作",
|
|
|
+ align:"center",
|
|
|
+ formatter : operateFormatter1,
|
|
|
+ edit:false
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ onEditableHidden: function(field, row, $el, reason) { // 当编辑状态被隐藏时触发
|
|
|
+ if(reason === 'save') {
|
|
|
+ var $td = $el.closest('tr').children();
|
|
|
+ $td.eq(-1).html((row.price*row.number).toFixed(2));
|
|
|
+ $el.closest('tr').next().find('.editable').editable('show'); //编辑状态向下一行移动
|
|
|
+ } else if(reason === 'nochange') {
|
|
|
+ $el.closest('tr').next().find('.editable').editable('show');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onEditableSave: function (field, row, oldValue, $el) {
|
|
|
+ $table = $('#table1').bootstrapTable({});
|
|
|
+ $table.bootstrapTable('updateRow', {index: row.rowId, row: row});
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function operateFormatter1(value, row, index) {
|
|
|
+ return [
|
|
|
+ "<a class=\"remove\" href='javascript:removeRow("+index+")' title=\"删除改行\">",
|
|
|
+ "<i class='glyphicon glyphicon-remove'></i>",
|
|
|
+ "</a> "
|
|
|
+ ].join('');
|
|
|
+ }
|
|
|
+
|
|
|
+ $('#table1').on( 'click', 'td:has(.editable)', function (e) {
|
|
|
+ e.stopPropagation(); // 阻止事件的冒泡行为
|
|
|
+ $(this).find('.editable').editable('show'); // 打开被点击单元格的编辑状态
|
|
|
+ } );
|
|
|
+
|
|
|
+ function addRow(){
|
|
|
+ var rows = [];
|
|
|
+ $('#table1').bootstrapTable('append',rows);
|
|
|
+ }
|
|
|
+
|
|
|
+ //删除指定行
|
|
|
+ function removeRow(deleteIndex){
|
|
|
+ $('#table1').bootstrapTable('removeRow', deleteIndex);
|
|
|
+ }
|
|
|
+
|
|
|
+ function submitHandler() {
|
|
|
+ if ($.validate.form()) {
|
|
|
+ let userIdParam = userId;//用户id
|
|
|
+ let userName = letUserName;//用户名
|
|
|
+ let loginName = letLoginName;//主登录名
|
|
|
+ let danganIdList = [];//档案集合
|
|
|
+ let danganNameList = [];//档案名称集合
|
|
|
+ let dananLoginNameList = [];//档案子登录名集合
|
|
|
+ $.each($("select[name='danganId']"),function(i,val){
|
|
|
+ danganIdList.push($(val).val());
|
|
|
+ });
|
|
|
+ $.each($("select[name='danganId']"),function(i,val){
|
|
|
+ danganNameList.push($(val).find("option:selected").text());
|
|
|
+ });
|
|
|
+ $.each($("input[name='danganLoginName']"),function(i,val){
|
|
|
+ dananLoginNameList.push($(val).val());
|
|
|
+ });
|
|
|
+
|
|
|
+ let pushData = {
|
|
|
+ userId:userIdParam,
|
|
|
+ userName:userName,
|
|
|
+ loginName:loginName,
|
|
|
+ danganIdList:danganIdList,
|
|
|
+ danganNameList:danganNameList,
|
|
|
+ dananLoginNameList:dananLoginNameList
|
|
|
+ };
|
|
|
+ var config = {
|
|
|
+ url: prefix + "/addList",
|
|
|
+ type: "post",
|
|
|
+ dataType: "json",
|
|
|
+ data: pushData,
|
|
|
+ beforeSend: function () {
|
|
|
+ $.modal.loading("正在处理中,请稍候...");
|
|
|
+ $.modal.disable();
|
|
|
+ },
|
|
|
+ success: function(result) {
|
|
|
+ $.modal.closeLoading();
|
|
|
+ if(result.code==web_status.SUCCESS) {
|
|
|
+ $.modal.alertSuccess(result.msg);
|
|
|
+ window.location.reload();
|
|
|
+ }else{
|
|
|
+ $.modal.alertWarning(result.msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ $.ajax(config)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+</html>
|