<view class="page-layout">
  <view class="page-layout-table" a:if="{{!modal.visible}}">
    <view class="page-layout-search"
      a:if="{{option.table.search.schema && option.table.search.schema.length}}">
      <form
        inline
        hideCancel
        labelWidth="{{option.table.search.labelWidth}}"
        confirmText="查询"
        schema="{{option.table.search.schema}}"
        value="{{option.table.condition}}"
        onChange="onSearchChange"
        onSubmit="queryData" />
    </view>
    <view class="page-layout-tool">
      <view class="tool">
        <button
          class="tool-btn"
          a:for="{{option.__actions}}"
          a:if="{{item.show}}"
          type="primary"
          onTap="onActionShow"
          warning="{{item.warning}}"
          disabled="{{item.disabled}}"
          data-key="{{item.key}}">{{item.label}}</button>
      </view>
      <view class="filter" a:if="{{option.table.search.filter}}">
        <view class="input-box" a:if="{{option.table.search.filter.type==='input'}}">
          <view class="prefix">
            <icon class="icon" size="xs" type="search" />
          </view>
          <input class="input" placeholder="搜索{{option.table.search.filter.label}}"
            value="{{option.table.condition[option.table.search.filter.key]}}"
            data-key="{{option.table.search.filter.key}}" onChange="onFilterChange"
            onPressEnter="queryData" />
        </view>
        <select class="select" a:if="{{option.table.search.filter.type==='select'}}"
          dataSource="{{option.table.search.filter.props.dataSource}}"
          placeholder="搜索{{option.table.search.filter.label}}"
          value="{{option.table.condition[option.table.search.filter.key]}}"
          data-key="{{option.table.search.filter.key}}" onChange="onFilterSelectChange" />
      </view>
    </view>
    <table
      schema="{{option.table.schema}}"
      data="{{option.table.data}}"
      actions="{{option.table.actions}}"
      options="{{option.options}}"
      loading="{{option.table.loading}}"
      pageNum="{{option.table.pageNum}}"
      pageSize="{{option.table.pageSize}}"
      total="{{option.table.total}}"
      operateWidth="{{option.table.operateWidth}}"
      operateVisible="{{option.table.operateVisible}}"
      selected="{{option.table.selected}}"
      onPageChange="onPageChange"
      onSelectChange="onSelectChange">
      <slot name="table-column-extra"></slot>
      <button
        a:if="{{item.show}}"
        disabled="{{item.disabled}}"
        a:for="{{scope.record.__actions}}"
        slot="table-column-operate"
        slot-scope="scope"
        class="op-btn {{item.warning?'warning':''}}"
        text="{{true}}"
        type="primary"
        size="small"
        onTap="onTableActionShow"
        data-key="{{item.key}}"
        data-record="{{scope.record}}">{{item.label}}</button>
    </table>
  </view>
  <view class="page-layout-modal" a:if="{{modal.visible}}">
    <form
      labelWidth="{{modal.labelWidth}}"
      schema="{{modal.schema}}"
      value="{{modal.data}}"
      onChange="onModalChange"
      onCancel="onModalCancel"
      onSubmit="onModalSubmit" />
  </view>
</view>