<AppAutoComplete 
    v-bind="{{CustomParams 'editor' editor}}"
    {{#if item.valueItemName}}
    valueItem="{{item.valueItemName}}"
    {{/if}}
    {{#if editor.psAppDataEntity}}
    deCodeName="{{editor.psAppDataEntity.name}}"
    {{/if}}
    {{#if editor.placeHolder}}
    placeholder="{{editor.placeHolder}}"
    {{/if}}
    :context="store.context"
    :viewParams="store.viewParams"
    {{#if editor.psNavigateContexts}}
    :localContext="{{> @macro/common/navparam.hbs appNavParams=editor.psNavigateContexts}}"
    {{/if}}
    {{#if editor.psNavigateParams}}
    :localParam="{{> @macro/common/navparam.hbs appNavParams=editor.psNavigateParams}}"
    {{/if}}
    {{#if editor.psAppDEACMode.psDEACModeDataItems}}
    :dataItems="[
    {{#each editor.psAppDEACMode.psDEACModeDataItems as | dataItem | }}
        {
        customCode:'{{dataItem.customCode}}',
        name:'{{dataItem.name}}',
        codeName:'{{#if dataItem.psAppDefield}}{{dataItem.psAppDefield.codeName}}{{/if}}'
        },
    {{/each}}
    ]"
    {{/if}}
    {{#if editor.psAppDataEntity}}
    deMajorField="{{lowerCase editor.psAppDataEntity.majorPSAppDEField.codeName}}"
    deKeyField="{{lowerCase editor.psAppDataEntity.keyPSAppDEField.codeName}}"
    {{/if}}
    {{#and editor.psAppDataEntity editor.psAppDEDataSet}}
    :acParams="{ serviceName: '{{editor.psAppDataEntity.codeName}}', interfaceName: '{{editor.psAppDEDataSet.codeName}}' }"
    {{/and}}
    {{#and editor.psAppDEACMode editor.psAppDEACMode.minorSortPSAppDEField}}
    sort="{{lowerCase editor.psAppDEACMode.minorSortPSAppDEField}},{{#if editor.psAppDEACMode.minorSortDir}}{{editor.psAppDEACMode.minorSortDir}}{{else}}asc{{/if}}"
    {{/and}}
    {{#if editor.disabled}}
    disabled="{{editor.disabled}}"
    {{/if}}
{{#eq editor.editorType "AC_FS"}}
    {{#if editor.readOnly}}
    :readOnly="{{editor.readOnly}}"
    {{else}}
    :readOnly="true"
    {{/if}}
{{/eq}}
{{#eq editor.editorType "AC_NOBUTTON"}}
    :showButton="false"
{{/eq}}
{{#eq editor.editorType "AC_FS_NOBUTTON"}}
    :showButton="false"
    {{#if editor.readOnly}}
    :readOnly="{{editor.readOnly}}"
    {{else}}
    :readOnly="true"
    {{/if}}
{{/eq}}
    style="{{#if editor.editorWidth}}width: {{editor.editorWidth}}px;{{/if}}{{#if editor.editorHeight}}height: {{editor.editorHeight}}px{{/if}}"
{{#eq ctrlType 'grid'}}
    name="{{#if dataItemName}}{{dataItemName}}{{else}}{{item.codeName}}{{/if}}"
    :data="record"
    {{#if (eq item.enableCond 0)}}
    :disabled="true"
    {{else if (eq item.enableCond 1)}}
    :disabled="!Object.is(record.srfuf,0)"
    {{else if (eq item.enableCond 2)}}
    :disabled="!Object.is(record.srfuf,1)"
    {{/if}}
    :value="record.{{#if dataItemName}}{{dataItemName}}{{else}}{{editor.name}}{{/if}}"
    @component-action="(actionParam:any) => { handleComponentAction(controller, actionParam, index) }"
{{/eq}}
{{#eq ctrlType 'panel'}}
    name="{{item.name}}"
    :data="store.layoutData"
    {{#if isMultiData}}
    :disabled="store.layoutModelDetails?.[`{{item.name}}_${data.index}`]?.disabled ? true : false"
    :value="store.layoutData[`{{item.name}}_${data.index}`]"
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam, data.index) }"
    {{else}}
    :disabled="store.layoutModelDetails?.{{item.name}}?.disabled ? true : false"
    :value="store.layoutData.{{item.name}}"
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
    {{/if}}
{{/eq}}
{{#eq ctrlType 'form'}}
    name="{{item.codeName}}"
    :disabled="store.detailModel.{{item.codeName}}.disabled"
    {{!-- 适配表单重复器 --}}
    {{#if repeaterMode}}
    :data="data"
    :value="data.{{editor.name}}"
    {{else}}
    :data="store.data"
    :value="store.data.{{editor.name}}"
    {{/if}}
    @component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
{{/eq}}
{{#eq ctrlType 'gridColumnFilter'}}
    name="{{editor.name}}"
    :value="value"
    @component-action="handleComponentAction"
{{/eq}}
/>
