123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>编辑字段</title>
- </head>
- <body>
- <script type="text/html" id="form">
- <input type="hidden" name="id" value="{{d.id}}" />
- <div class="mainBox">
- <div class="main-container">
- <div class="layui-tab layui-tab-brief">
- <ul class="layui-tab-title">
- <li class="layui-this">基础设置</li>
- <li>表单元素</li>
- <li>关联模型</li>
- </ul>
- <div class="layui-tab-content">
- <div class="layui-tab-item layui-show">
- <div class="layui-form-item">
- <div class="layui-form-item" style="margin-bottom:5px;">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 所属表</label>
- <div class="layui-input-block">
- <div class="xmSelect"
- data-name="table_id"
- data-sourceType="route"
- data-source="/plugin/curd/curd.table/index"
- data-paging="true"
- data-radio="true"
- data-textField="table"
- data-subTextField="comment"
- data-valueField="id"
- data-selected="{{d.table_id}}"
- data-onchange="setTableId"
- ></div>
- </div>
- </div>
- <div class="layui-form-item" style="margin-bottom:5px;">
- <div class="layui-row">
- <div class="layui-col-lg6 layui-col-md6 layui-col-sm6">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 字段名称</label>
- <div class="layui-input-block">
- <input type="text" name="field" value="{{d.field}}" placeholder="请输入字段名称" class="layui-input"
- lay-verify="required"
- autocomplete="off">
- </div>
- </div>
- <div class="layui-col-lg6 layui-col-md6 layui-col-sm6">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 字段注释</label>
- <div class="layui-input-block">
- <input type="text" name="comment" value="{{d.comment}}" placeholder="请输入字段注释" class="layui-input"
- lay-verify="required"
- autocomplete="off">
- </div>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-form-item layui-inline">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 存储类型</label>
- <div class="layui-input-block">
- <select name="data_type" class="layui-select" lay-verify="required"
- lay-filter="select-data-type">
- <option value="">请选择存储类型</option>
- <option value="integer" {{# if(d.data_type==="integer"){ }}selected="selected"{{# } }}>integer</option>
- <option value="biginteger" {{# if(d.data_type==="biginteger"){ }}selected="selected"{{# } }}>biginteger</option>
- <option value="binary" {{# if(d.data_type==="binary"){ }}selected="selected"{{# } }}>binary</option>
- <option value="boolean" {{# if(d.data_type==="boolean"){ }}selected="selected"{{# } }}>boolean(tinyint)</option>
- <option value="date" {{# if(d.data_type==="date"){ }}selected="selected"{{# } }}>date</option>
- <option value="datetime" {{# if(d.data_type==="datetime"){ }}selected="selected"{{# } }}>datetime</option>
- <option value="decimal" {{# if(d.data_type==="decimal"){ }}selected="selected"{{# } }}>decimal</option>
- <option value="float" {{# if(d.data_type==="float"){ }}selected="selected"{{# } }}>float</option>
- <option value="string" {{# if(d.data_type==="string"){ }}selected="selected"{{# } }}>string</option>
- <option value="text" {{# if(d.data_type==="text"){ }}selected="selected"{{# } }}>text</option>
- <option value="time" {{# if(d.data_type==="time"){ }}selected="selected"{{# } }}>time</option>
- <option value="timestamp" {{# if(d.data_type==="timestamp"){ }}selected="selected"{{# } }}>timestamp</option>
- <option value="uuid" {{# if(d.data_type==="uuid"){ }}selected="selected"{{# } }}>uuid</option>
- </select>
- </div>
- </div>
- <div class="layui-form-item layui-inline" id="lengthDiv">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 存储长度</label>
- <div class="layui-input-block">
- <input type="text" name="limit" value="{{d.limit}}" placeholder="请输入字段长度" class="layui-input"
- lay-verify="required"
- autocomplete="off">
- </div>
- </div>
- <div class="layui-form-item layui-inline" id="precisionDiv" style="display:none;">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 整数长度</label>
- <div class="layui-input-block">
- <input type="text" name="precision" value="{{d.precision}}" placeholder="请输入整数部分长度" value="11"
- class="layui-input"
- lay-verify="required"
- autocomplete="off">
- </div>
- </div>
- <div class="layui-form-item layui-inline" id="scaleDiv" style="display:none;">
- <label class="layui-form-label">
- 保留小数位</label>
- <div class="layui-input-block">
- <input type="text" name="scale" value="{{d.scale}}" placeholder="请输入保留小数位" value="2"
- class="layui-input"
- autocomplete="off">
- </div>
- </div>
- </div>
- <div class="layui-form-item" style="margin-bottom:5px;" id="defaultVal">
- <label class="layui-form-label">
- 默认值</label>
- <div class="layui-input-block">
- <input type="text" name="default" value="{{d.default}}" placeholder="请输入字段默认值"
- class="layui-input"
- autocomplete="off">
- </div>
- </div>
- <div class="layui-form-item layui-inline">
- <label class="layui-form-label" title="允许为空">
- 允许为空</label>
- <div class="layui-input-block">
- <input type="hidden" name="is_empty" value="2" />
- <input type="checkbox" name="is_empty"
- {{# if(d.is_empty===1){ }}checked="checked"{{# } }}
- id="is_empty"
- value="1"
- title="允许"/>
- </div>
- </div>
- <div class="layui-form-item layui-inline">
- <label class="layui-form-label" title="表头排序">
- 表头排序</label>
- <div class="layui-input-block">
- <input type="hidden" name="is_thead_sort" value="2" />
- <input type="checkbox" name="is_thead_sort"
- {{# if(d.is_thead_sort===1){ }}checked="checked"{{# } }}
- id="is_thead_sort"
- value="1"
- title="表头排序"/>
- </div>
- </div>
- <div class="layui-form-item layui-inline">
- <label class="layui-form-label" title="默认排序">
- 默认排序</label>
- <div class="layui-input-block">
- <select class="layui-select" name="default_select_sort">
- <option value="">不设置</option>
- <option value="asc" {{# if(d.default_select_sort==="asc"){ }}selected="selected"{{# } }}>ASC</option>
- <option value="desc" {{# if(d.default_select_sort==="desc"){ }}selected="selected"{{# } }}>DESC</option>
- </select>
- </div>
- </div>
- <div class="layui-form-item layui-inline">
- <label class="layui-form-label" title="显示位置">
- 显示位置</label>
- <div class="layui-input-block">
- <input type="hidden" name="search_show" value="2" />
- <input type="checkbox" name="search_show"
- {{# if(d.search_show===1){ }}checked="checked"{{# } }}
- id="search_show" value="1"
- title="搜索表单"/>
- <input type="hidden" name="table_show" value="2" />
- <input type="checkbox" name="table_show"
- {{# if(d.table_show===1){ }}checked="checked"{{# } }}
- id="table_show" value="1"
- title="数据列表"/>
- <input type="hidden" name="add_show" value="2" />
- <input type="checkbox" name="add_show"
- {{# if(d.add_show===1){ }}checked="checked"{{# } }}
- id="add_show" value="1"
- title="添加表单"/>
- <input type="hidden" name="edit_show" value="2" />
- <input type="checkbox" name="edit_show"
- {{# if(d.edit_show===1){ }}checked="checked"{{# } }}
- id="edit_show" value="1"
- title="编辑表单"/>
- </div>
- </div>
- <div class="layui-form-item" style="margin-bottom:5px;">
- <label class="layui-form-label" title="搜索表单,数据列表,添加表单,编辑表单等显示排序">
- 显示排序</label>
- <div class="layui-input-block">
- <input type="text" name="show_sort"
- value="{{d.show_sort}}"
- placeholder="请输入数字,倒序生成字段在数据库和表单中的位置" class="layui-input">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" title="数据表格,当前字段的宽度,单位px,默认80,此处输入整数即可">
- 列宽</label>
- <div class="layui-input-block">
- <input type="text" name="cell_width"
- value="{{d.cell_width}}"
- placeholder="数据表格,当前字段的宽度,单位px,默认80,此处输入整数即可"
- class="layui-input">
- </div>
- </div>
- </div>
- </div>
- <div class="layui-tab-item">
- <div class="layui-form-item">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 表单元素</label>
- <div class="layui-input-block">
- <div class="xmSelect"
- data-name="form_type"
- data-source='[{"name":"单行文本输入框","value":"input"},{"name":"密码输入框","value":"password"},{"name":"当前后台管理员ID","value":"admin_user_id"},{"name":"普通文本域","value":"textarea"},{"name":"单选按钮","value":"radio"},{"name":"开关单选","value":"switch"},{"name":"复选框","value":"checkbox"},{"name":"普通单选下拉框","value":"select"},{"name":"xm-select下拉框","value":"xm_select"},{"name":"xm-select联动下拉框","value":"linkage_xm_select"},{"name":"时间选择器","value":"laydate"},{"name":"颜色选择器","value":"color_picker"},{"name":"上传控件","value":"upload"},{"name":"富文本编辑器","value":"editor"}]'
- data-subTextField="value"
- data-valueField="value"
- data-layVerify="required"
- data-radio="true"
- data-placeholder="请选择表单元素"
- data-onchange="formTypeChange"
- data-selected="{{d.form_type}}"
- ></div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" title="附加设置">
- <text style="color:red;">*</text>
- 附加设置</label>
- <div class="layui-input-block" id="addition">
- <div style="padding: 9px 5px;">请先选择表单元素</div>
- </div>
- </div>
- </div>
- <div class="layui-tab-item">
- <div class="layui-form-item">
- <label class="layui-form-label">
- 关联表</label>
- <div class="layui-input-block">
- <div class="xmSelect"
- data-name="relation[table]"
- data-sourceType="route"
- data-source="/plugin/curd/curd/getTableList"
- data-textField="title"
- data-valueField="title"
- data-radio="true"
- data-placeholder="请选择关联表"
- data-onchange="relationTableChange"
- data-selected="{{d.relation.table}}"
- ></div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 关联方式</label>
- <div class="layui-input-block">
- <select class="layui-select" name="relation[type]">
- <option value="belongsTo" {{# if(d.relation.type==="belongsTo"){ }}selected="selected"{{# } }}>belongsTo</option>
- <option value="hasOne" {{# if(d.relation.type==="hasOne"){ }}selected="selected"{{# } }}>hasOne</option>
- </select>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 关联字段</label>
- <div class="layui-input-block">
- <select class="layui-select" name="relation[field]" id="relationField">
- <option value="">请先选择关联表</option>
- </select>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- 显示字段</label>
- <div class="layui-input-block">
- <select class="layui-select" name="relation[show_field]" id="relationShowField">
- <option value="">请先选择关联表</option>
- </select>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- <text style="color:red;">*</text>
- 关联函数名</label>
- <div class="layui-input-block">
- <input type="text" name="relation[fun_name]" value="{{d.relation.fun_name}}" placeholder="请先选择关联表" class="layui-input"/>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="bottom">
- <div class="button-container">
- <button type="submit" class="laytp-btn laytp-btn-primary laytp-btn-sm" lay-submit="" lay-filter="edit">
- <i class="layui-icon layui-icon-ok"></i>
- 提交
- </button>
- <button type="reset" class="laytp-btn laytp-btn-sm">
- <i class="layui-icon layui-icon-refresh"></i>
- 重置
- </button>
- </div>
- </div>
- </script>
- <form class="layui-form" lay-filter="layui-form"></form>
- <script>
- if(localStorage.getItem("staticDomain")){
- document.write("<link rel='stylesheet' href='" + localStorage.getItem("staticDomain") + "/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
- document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery_3.3.1.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery.tablednd.js?v="+localStorage.getItem("version")+"'><\/script>");
- }else{
- document.write("<link rel='stylesheet' href='/static/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
- document.write("<script src='/static/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='/static/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='/static/component/jquery_3.3.1.js?v="+localStorage.getItem("version")+"'><\/script>");
- document.write("<script src='/static/component/jquery.tablednd.js?v="+localStorage.getItem("version")+"'><\/script>");
- }
- </script>
- <script>
- var ajaxInfo;
- var filedModulePath = '';
- if(localStorage.getItem("staticDomain")){
- filedModulePath = '../../../plugin/curd/js/field';
- }else{
- filedModulePath = '../../../../../static/plugin/curd/js/field';
- }
- layui.extend({
- field: filedModulePath
- }).use(['laytp','field'],function(){
- //获取参数ID
- var id = facade.getUrlParam('id');
- if(!id){
- facade.error('参数ID不能为空');
- return false;
- }
- //获取数据,渲染到对应的节点上
- facade.ajax({
- route: "/plugin/curd/curd.field/info",
- data: {id: id},
- successAlert: false,
- showLoading: true
- }).done(function(obj){
- if(obj.code === 0){
- layui.laytpl(layui.$("#form").html()).render(obj.data,function(string){
- ajaxInfo = obj.data;
- $("form").html(string);
- window.formTypeChangePrivate(obj.data.form_type, obj.data);
- // let table = obj.data.relation === null ? 0 : obj.data.relation.table;
- // window.relationTableChangePrivate(table, obj.data);
- if (obj.data.form_type === 'xm_select') {
- window.selectDataFrom(obj.data.addition.data_from_type, obj.data);
- // if (obj.data.addition.data_from_type === "table") {
- // window.selectDataFromTable(obj.data.addition.table_id, obj.data);
- // }
- }
- if (obj.data.form_type === 'linkage_select') {
- window.selectLinkageSearchTable(obj.data.addition.table_id, obj.data);
- }
- if (obj.data.form_type === 'linkage_xm_select') {
- window.selectLinkageXmSearchTable(obj.data.addition.table_id, obj.data);
- }
- if (facade.inArray(obj.data.data_type, ["float", "decimal"])) {
- $("#lengthDiv").hide();
- $("input[name='limit']").removeAttr('lay-verify');
- $("#precisionDiv").show();
- $("input[name='precision']").attr('lay-verify', 'required');
- $("#scaleDiv").show();
- $("#defaultVal").show();
- $("input[name='default']").val(0);
- } else if (facade.inArray(obj.data.data_type, ["integer", "biginteger"])) {
- $("#defaultVal").show();
- $("input[name='default']").val(0);
- $("#precisionDiv").hide();
- $("#scaleDiv").hide();
- $("#lengthDiv").show();
- $("input[name='limit']").attr('lay-verify', 'required');
- } else if (facade.inArray(obj.data.data_type, ["datetime", "timestamp", "text"])) {
- $("#precisionDiv").hide();
- $("#scaleDiv").hide();
- $("#defaultVal").hide();
- $("#lengthDiv").hide();
- $("input[name='limit']").removeAttr('lay-verify');
- } else {
- $("#defaultVal").show();
- $("#lengthDiv").show();
- $("input[name='limit']").attr('lay-verify', 'required');
- $("#precisionDiv").hide();
- $("input[name='precision']").removeAttr('lay-verify', 'required');
- $("#scaleDiv").hide();
- }
- layui.form.render();
- });
- }
- });
- layui.form.on('submit(edit)', function(data){
- facade.ajax({
- route:'/plugin/curd/curd.field/edit',
- data : data.field,
- contentType: "application/x-www-form-urlencoded"
- }).done(function(res){
- if(res.code === 0){
- parent.layui.layer.close(parent.layui.layer.getFrameIndex(window.name));//关闭当前页
- parent.layui.table.reload("field-table");
- }
- });
- return false;
- });
- })
- </script>
- </body>
- </html>
|