123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
- <meta charset="utf-8"/>
- <meta name="viewport"
- content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
- <link rel="stylesheet"
- href="/common-assets/plugins/font-awesome/css/font-awesome.min.css"/>
- <link rel="stylesheet" href="/common-assets/plugins/outdated/bootstrap/css/bootstrap.min.css"/>
- <link rel="stylesheet" href="/common-assets/css/outdated/style.css"/>
- <link rel="stylesheet"
- href="/common-assets/plugins/outdated/metisMenu/2.7/metisMenu.min.css"/>
- <link rel="stylesheet"
- href="/common-assets/plugins/outdated/bootstrap-toastr/2.0.1/toastr.min.css"/>
- <link rel="stylesheet" href="/common-assets/plugins/outdated/icheck/custom.css"/>
- <script src='/common-assets/js/jquery-2.1.1.js'></script>
- <script src="/common-assets/js/outdated/bootstrap.min.js"></script>
- <script src="/common-assets/js/outdated/jquery.form-3.51.0.min.js"></script>
- <script src="/common-assets/plugins/layer/3.0.3/layer.js"></script>
- <script src="/common-assets/plugins/outdated/pace/pace.min.js"></script>
- <script src="/common-assets/plugins/outdated/slimscroll/jquery.slimscroll.min.js"></script>
- <script src="/common-assets/plugins/outdated/bootstrap-toastr/2.0.1/toastr.min.js"></script>
- <script src="/common-assets/plugins/outdated/jquery-validation/jquery.validate-1.11.1.min.js"></script>
- <script src="/common-assets/plugins/outdated/jquery-validation/localization/messages_zh.js"></script>
- <script src="/common-assets/plugins/outdated/icheck/icheck.min.js"></script>
- <script src="/common-assets/plugins/outdated/metisMenu/2.7/metisMenu.js"></script>
- <script src="/common-assets/plugins/dotize/dotize.js"></script>
- <script src="/common-assets/js/promise-polyfill.min.js"></script>
- <!-- 开发阶段使用vue.js以获取编译信息 -->
- <script src="/common-assets/plugins/vue/2.5.17/vue.js"></script>
- <script src="/common-assets/plugins/axios/0.18.0/axios.min.js"></script>
- <!-- 基础依赖-->
- <link rel="stylesheet" href="/common-assets/plugins/outdated/clockpicker/clockpicker.css">
- <link rel="stylesheet" href="/common-assets/plugins/outdated/chosen/1.6.2/chosen.css"/>
- <script src="/common-assets/plugins/outdated/chosen/1.6.2/chosen.jquery.js"></script>
- <script
- src="/common-assets/plugins/outdated/jquery-tablednd/jquery.tablednd-0.5.min.js"></script>
- <style type="text/css">
- tr.myDragClass td {
- /*position: fixed;*/
- color: blue;
- text-shadow: 0 0 10px black, 0 0 10px black, 0 0 8px black, 0 0 6px black, 0 0 6px black;
- background-color: #999;
- -webkit-box-shadow: 0 12px 14px -12px #111 inset, 0 -2px 2px -1px #333 inset;
- }
- tr.myDragClass td:first-child {
- -webkit-box-shadow: 0 12px 14px -12px #111 inset, 12px 0 14px -12px #111 inset, 0 -2px 2px -1px #333 inset;
- }
- tr.myDragClass td:last-child {
- -webkit-box-shadow: 0 12px 14px -12px #111 inset, -12px 0 14px -12px #111 inset, 0 -2px 2px -1px #333 inset;
- }
- </style>
- <title>表单配置</title>
- </head>
- <body class="pace-done white-bg">
- <div class="container-fluid mt15">
- <form id="inputForm" v-cloak :action="saveUrl" method="post"
- class="form-horizontal">
- <input type="hidden" name="id"/>
- <table class="table table-bordered table-condensed dataTables-example dataTable no-footer">
- <tbody>
- <tr>
- <td class="width-15 active"><label class="pull-right control-label">名称:</label></td>
- <td class="width-35">
- <input name="name" id="name" v-model="entity.name" maxlength="200" class="form-control required"
- disabled/>
- </td>
- <td class="width-15 active"><label class="pull-right control-label"><span
- style="color: red; ">*</span>说明:</label></td>
- <td class="width-35">
- <input name="comments" id="comments" v-model="entity.comments"
- maxlength="500" class="form-control required" :disabled="editType === 'view'"/>
- </td>
- </tr>
- <tr>
- <td class="width-15 active"><label class="pull-right control-label">逻辑类型:</label></td>
- <td class="width-35">
- <select name="dataLogicType" id="dataLogicType" v-model="entity.dataLogicType"
- class="required form-control" disabled>
- <option v-for="item in dataLogicTypeDict" :key="item.id" :value="item.paramCode">
- {{item.paramName}}
- </option>
- </select>
- </td>
- <td class="width-15 active"><label class="pull-right control-label"><span
- style="color: red; ">*</span>记录别名</label></td>
- <td class="width-35">
- <input name="tableAlias" id="tableAlias" v-model="entity.tableAlias"
- maxlength="100" class="form-control required" :disabled="editType === 'view'"/>
- </td>
- </tr>
- <tr>
- <td class="width-15 active"><label class="pull-right control-label">数据源:</label></td>
- <td class="width-35">
- <input name="genDatasource.dsName" id="genDatasource.dsName" v-model="entity.genDatasource.dsName"
- maxlength="100" disabled class="form-control required"/>
- </td>
- <td class="width-15 active"><label class="pull-right control-label"><span
- style="color: red; ">*</span>类名:</label></td>
- <td class="width-35">
- <input id="className" name="className" v-model="entity.className"
- maxlength="100" class="form-control required" :disabled="editType === 'view'"/>
- </td>
- </tr>
- <tr>
- <td class="width-15 active"><label class="pull-right control-label"><span
- style="color: red; ">*</span>主键:</label></td>
- <td class="width-35">
- <select id="primaryKey" name="pkField" :disabled="editType === 'view'"
- class="required form-control" v-model="entity.pkField">
- <option value="">--请选择主键--</option>
- <option v-for="column in entity.columnList" :key="column.name" :value="column.name"
- :selected="column.isPk === '1'">{{column.name}}
- </option>
- </select></td>
- <td class="width-15 active">
- <label v-if="needSequence" class="pull-right control-label"> <span style="color: red; ">*</span>
- 主键Sequence:
- </label>
- </td>
- <td class="width-35">
- <input v-if="needSequence" :disabled="editType === 'view'" name="idGenName" id="idGenName"
- v-model="entity.idGenName" maxlength="100" class="form-control required"/>
- </td>
- </tr>
- </tbody>
- </table>
- <br/>
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12 tabs-container" role="tabpanel">
- <ul class="nav nav-tabs" role="tablist" id="naviTab">
- <li class="active"><a aria-expanded="false" role="tab"
- href="#pageProperty" data-toggle="tab" id="pagePropertyTab">页面属性</a></li>
- <li><a aria-expanded="false" role="tab" href="#gridProperty"
- data-toggle="tab" id="gridPropertyTab">自定义JAVA对象信息</a></li>
- <li><a aria-expanded="false" role="tab"
- href="#advancedProperty" data-toggle="tab"
- id="advancedPropertyTab">高级属性(可选)</a></li>
- </ul>
- <div class="tab-content">
- <div id="pageProperty" role="tabpanel" class="tab-pane active">
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12">
- <table id="pageTable"
- class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
- <thead>
- <tr>
- <th width="40px" style="display: none;">序号</th>
- <th title="数据库字段名" width="15%">列名</th>
- <th title="默认读取数据库字段备注">说明</th>
- <th title="实体对象的属性字段类型" width="15%">Java类型</th>
- <th
- title="实体对象的属性字段(对象名.属性名|属性名2|属性名3,例如:用户user.id|name|loginName,属性名2和属性名3为Join时关联查询的字段)">
- Java属性名称
- <i class="icon-question-sign"></i>
- </th>
- <th title="选中后该字段被加入到查询列表里">表单</th>
- <th title="选中后该字段被加入到查询列表里">列表</th>
- <th title="选中后该字段被加入到查询条件里">查询</th>
- <th title="该字段为查询字段时的查询匹配放松" width="10%">查询匹配方式</th>
- <th title="字段在表单中显示的类型" width="10%">显示表单类型</th>
- <th title="显示表单类型设置为“下拉框、复选框、点选框”时,需设置字典的类型">字典类型</th>
- <th title="显示表单类型设置为“下拉框”时,可以设置级联字段">级联属性名称</th>
- <th title="数据库中设置的字段类型及长度" style="display: none">物理类型</th>
- <th title="是否是数据库主键" style="display: none">主键</th>
- <th title="字段是否可为空值,不可为空字段自动进行空值验证" style="display: none">可空</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in entity.columnList" :key="item.id">
- <td style="display: none;">
- <input type="hidden"
- :name="'entity.columnList['+index+'].genTableColumnUi.sort'"
- v-model="item.genTableColumnUi.sort"
- class="form-control required digits"/>
- <label>{{index}}</label></td>
- <td><input :name="'entity.columnList['+index+'].name'"
- :disabled="editType === 'view'"
- class="form-control" v-model="item.name"
- readonly="readonly"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].comments'"
- :disabled="editType === 'view'"
- v-model="item.comments" maxlength="200"
- class="form-control"/></td>
- <td>
- <select :name="'entity.columnList['+index+'].javaType'"
- :disabled="editType === 'view'"
- v-model="item.javaType"
- onchange="javaTypeChanged(this)" class="form-control required m-b">
- <option v-for="item in javaTypeDict" :key="item.id"
- :value="item.paramCode">
- {{item.paramName}}
- </option>
- <option v-if="isCustomJavaType(item)" :value="item.javaType" selected>
- {{getClassName(item.javaType)}}
- </option>
- <option v-else-if="item.javaType == 'This'" selected>
- {{entity.className}}
- </option>
- </select>
- </td>
- <td>
- <input :name="'entity.columnList['+index+'].javaField'"
- :disabled="editType === 'view'"
- v-model="item.javaField" class="form-control required"/></td>
- <td>
- <label class="checkbox-container">
- <input type="checkbox" v-model="item.genTableColumnUi.isForm"
- true-value="1" false-value="0" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.isForm'">
- <span class="checkmark"></span>
- </label>
- </td>
- <td>
- <label class="checkbox-container">
- <input type="checkbox" v-model="item.genTableColumnUi.isList"
- true-value="1" false-value="0" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.isList'">
- <span class="checkmark"></span>
- </label>
- </td>
- <td>
- <label class="checkbox-container">
- <input type="checkbox" v-model="item.genTableColumnUi.isQuery"
- true-value="1" false-value="0" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.isQuery'">
- <span class="checkmark"></span>
- </label>
- </td>
- <td>
- <select :name="'entity.columnList['+index+'].genTableColumnUi.queryType'"
- v-model="item.genTableColumnUi.queryType"
- :disabled="editType === 'view'"
- class="form-control required m-b">
- <option v-for="queryType in queryTypeDict" :key="queryType.id"
- :value="queryType.paramCode">
- {{queryType.paramName}}
- </option>
- </select>
- </td>
- <td>
- <select :name="'entity.columnList['+index+'].genTableColumnUi.showType'"
- v-model="item.genTableColumnUi.showType"
- :disabled="editType === 'view'"
- class="form-control required m-b" onchange="showTypeChanged(this)">
- <option v-for="showType in showTypeDict" :key="showType.id"
- :value="showType.paramCode">
- {{showType.paramName}}
- </option>
- </select>
- </td>
- <td>
- <input class="form-control" v-model="item.genTableColumnUi.dictType"
- :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.dictType'"/>
- </td>
- <td>
- <input class="form-control" v-model="item.genTableColumnUi.triggerOff"
- :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.triggerOff'"/>
- </td>
- <td style="display: none">
- <input :name="'entity.columnList['+index+'].jdbcType'"
- :disabled="editType === 'view'"
- class="form-control required" v-model="item.jdbcType"/>
- </td>
- <td style="display: none">
- <input type="checkbox" class="i-checks"
- :name="'entity.columnList['+index+'].isPk'"
- v-model="item.isPk" :checked="'1'===item.isPk"/>
- <input type="hidden" :name="'entity.columnList['+index+'].isEdit'"
- v-model="item.isEdit"/>
- <input type="hidden" :name="'entity.columnList['+index+'].isInsert'"
- v-model="item.isInsert"/>
- </td>
- <td style="display: none">
- <input type="checkbox" class="i-checks"
- :name="'entity.columnList['+index+'].isNull'"
- v-model="item.isNull" :checked="'1'===item.isNull"/>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div id="gridProperty" role="tabpanel" class="tab-pane">
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12">
- <table id="gridTable"
- class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
- <thead>
- <tr>
- <th title="数据库字段名" width="15%">列名</th>
- <th title="实体对象的属性字段类型" width="15%">table表名</th>
- <th title="实体对象的属性字段说明(label1|label2|label3,用户名|登录名|角色)">JAVA属性说明<i
- class="icon-question-sign"></i></th>
- <th title="选中后该字段被加入到查询列表里">JAVA属性名称</th>
- <th title="选中后该字段被加入到查询列表里">检索标签</th>
- <th title="选中后该字段被加入到查询条件里">检索key</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in entity.columnList" :key="item.id">
- <td><input :name="'entity.columnList['+index+'].name'"
- class="form-control" v-model="item.name"
- disabled="disabled"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].genTableColumnUi.tableName'"
- v-model="item.genTableColumnUi.tableName"
- class="form-control"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].genTableColumnUi.fieldLabels'"
- v-model="item.genTableColumnUi.fieldLabels"
- class="form-control"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].genTableColumnUi.fieldKeys'"
- v-model="item.genTableColumnUi.fieldKeys"
- class="form-control"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].genTableColumnUi.searchLabel'"
- v-model="item.genTableColumnUi.searchLabel"
- class="form-control"/></td>
- <td><input type="text"
- :name="'entity.columnList['+index+'].genTableColumnUi.searchKey'"
- v-model="item.genTableColumnUi.searchKey"
- class="form-control"/></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div id="advancedProperty" role="tabpanel" class="tab-pane">
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12">
- <table id="advancedTable"
- class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
- <thead>
- <tr>
- <th title="数据库字段名" width="15%">列名</th>
- <th title="查询面板字段排序" width="15%">查询排序</th>
- <th title="页面列表字段排序" width="15%">列表排序</th>
- <th title="明细表单字段排序" width="15%">表单排序</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in entity.columnList" :key="item.id">
- <td><input :name="'entity.columnList['+index+'].name'"
- class="form-control" v-model="item.name"
- disabled="disabled"/></td>
- <td><input type="number" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.querySort'"
- v-model="item.genTableColumnUi.querySort"
- class="form-control required" min="0"/></td>
- <td><input type="number" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+'].genTableColumnUi.listSort'"
- v-model="item.genTableColumnUi.listSort"
- class="form-control required" min="0"/></td>
- <td><input type="number" :disabled="editType === 'view'"
- :name="'entity.columnList['+index+']genTableColumnUi.formSort'"
- v-model="item.genTableColumnUi.formSort"
- class="form-control required" min="0"/></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </body>
- <script src="/common-assets/js/project.config.js"></script>
- <script src="../static/config.js"></script>
- <script src="/common-assets/js/outdated/common.js"></script>
- <script src="../static/js/genTableForm.js"></script>
- </html>
|