$f.html 3.11 KB
<form class="r4">
    <div class="fgroup" data-prop="formid" required>
        <label>{{SystemEnv.getHtmlNoteName(4377)}}</label>	<!-- 表单: -->
        <select id="f-form-sel" data-placeholder="{{SystemEnv.getHtmlNoteName(5103)}}">	<!-- 选择表单 -->
            <option></option>
            {{
                mecHandlers.reduce(function(prev, mecHandler) {
                    if(mecHandler.type != "Form" && mecHandler.type != "DetailTable") return prev;
                    
                    prev += "<option data-value='" + JSON.stringify(mecHandler) + "' value='"+ mecHandler.id + "'>" + mecHelper.formatName(mecHandler) + "</option>";
                    return prev;
                }, '')
            }}
        </select>
    </div>
    <div class="fgroup" id="f-form-field" data-prop="name" required>
        <label>{{SystemEnv.getHtmlNoteName(5104)}}</label>	<!-- 字段名称: -->
        <select></select>
    </div>
    <div class="fgroup hide" id="f-form-rowindex" data-prop="rowindex">
        <label>{{SystemEnv.getHtmlNoteName(5105)}}</label>	<!-- 行号索引: -->
        <input type="text"/>
    </div>
    <div class="fgroup" data-prop="operation" id="f-operation">
        <label>{{SystemEnv.getHtmlNoteName(5106)}}</label>	<!-- 操作: -->
        <div class="f-wrapper">
            <input type="radio" value="get" name="operation" id="f-get-field" checked />
            <span class="f-inner"></span>
            <label for="f-get-field">{{SystemEnv.getHtmlNoteName(5107)}}</label>	<!-- 获取值 -->
        </div>
        <div class="f-wrapper">
            <input type="radio" value="set" name="operation" id="f-set-field"/>
            <span class="f-inner"></span>
            <label for="f-set-field">{{SystemEnv.getHtmlNoteName(5108)}}</label>	<!-- 设置值 -->
        </div>
    </div>
    <div class="fgroup hide" id="f-set-fieldval" data-prop="fieldValue">
        <label>{{SystemEnv.getHtmlNoteName(5109)}}</label>	<!-- 字段取值: -->
        <input value="" />
    </div>
    <script>
        (function() {
            $("#f-form-sel").on("change", function() {
                if(!$(this).val()) return;

                var params = $("#f-form-sel").find("option:selected").data("value").otherParams, detailtable = params.detailtable, tablename = params.tablename;
                $("#f-form-rowindex").toggleClass("hide", !detailtable);
                mecHelper.getFormFields(params)
                    .then(function(result) {
                        var $select = $("#f-form-field").find("select");
						detailtable && result.forEach(function(item){
							item.id = tablename + "." + item.id;
						});
                        mecHelper.resetSelectSource($select, result);
                    });
            });
            $("#f-operation").find("input[type=radio]").change(function() {
                var operation = $("#f-operation").find(":checked").val();
                

                $("#f-set-fieldval").toggleClass("hide", operation != "set")
                    .find("input").select().focus();
                $(".fn-config").trigger("calcHeight");
            })
        })();
    </script>
</form>