<template>
  <div class="page-wrap">
    <ui-loading :show="page_loading.show"></ui-loading>

    <div class="page-handle-wrap">
      <ul class="handle-wraper bd-b">
        <li class="f-l">
          <div class="text-exp">
            <b>全部信息</b>
          </div>
        </li>
        <li class="f-r">
          <div class="handle-item">
            <Button @click="openEdit(true, null)" icon="md-add" type="primary" v-has="'create'">创建订单</Button>
          </div>
          <div class="handle-item">
            <Button @click="search.show=!search.show" ghost icon="ios-search" type="primary">搜索</Button>
          </div>

          <div class="handle-item">
            <Button @click="index(1)" icon="md-refresh">刷新</Button>
          </div>
        </li>
      </ul>

      <div class="search-wrap" v-show="search.show">
        <ul class="handle-wraper">
          <li class="handle-item w-250">
            <Input clearable placeholder="订单编号" v-model.trim="params.sn"></Input>
          </li>

          <li class="handle-item w-250">
            <AutoComplete
              @on-search="handleCompleteCompanies"
              icon="ios-search"
              placeholder="企业名称"
              v-model.trim="params.company_name"
            >
              <Option
                :key="item.id"
                :value="item.name"
                v-for="item in completeHandledCompanies"
              >{{ item.name }}</Option>
            </AutoComplete>
          </li>

          <li class="handle-item w-250">
            <AutoComplete
              @on-search="handleCompletePackages(type)"
              icon="ios-search"
              placeholder="套餐名称"
              v-model.trim="params.package_name"
            >
              <Option
                :key="item.id"
                :value="item.name"
                v-for="item in completeHandledPackages"
              >{{ item.name }}</Option>
            </AutoComplete>
          </li>

          <li class="handle-item w-250">
            <DatePicker
              :editable="false"
              placeholder="请选择时间"
              placement="bottom-start"
              type="daterange"
              v-model.trim="params.time"
            ></DatePicker>
          </li>
        </ul>

        <ul class="handle-wraper">
          <li class="handle-item w-250">
            <Select clearable placeholder="订单状态" v-model="params.order_status">
              <Option :value="0">已下单</Option>
              <Option :value="1">已取消</Option>
              <Option :value="2">已出库</Option>
              <Option :value="3">已发货</Option>
              <Option :value="4">已签收</Option>
            </Select>
          </li>

          <li class="handle-item w-250">
            <Select clearable placeholder="收款状态" v-model="params.transaction_status">
              <Option :value="0">未收款</Option>
              <Option :value="1">已收款</Option>
              <Option :value="2">已退款</Option>
            </Select>
          </li>

          <li class="handle-item w-250">
            <Select clearable placeholder="运营商" v-model="params.carrier_operator">
              <Option :value="0">联通</Option>
              <Option :value="1">移动</Option>
              <Option :value="2">电信</Option>
            </Select>
          </li>

          <li class="f-r">
            <div class="handle-item">
              <Button @click="index(1)" ghost type="primary">立即搜索</Button>
            </div>
            <div class="handle-item">
              <Button @click="resetSearch" ghost type="warning">重置搜索</Button>
            </div>
          </li>
        </ul>
      </div>
    </div>

    <div class="page-list-wrap">
      <Table :columns="table_titles" :data="list_data ? list_data.data : []"></Table>
    </div>

    <div class="page-turn-wrap" v-if="list_data">
      <Page
        :current="Number(list_data.current_page)"
        :page-size="Number(list_data.per_page)"
        :total="Number(list_data.total)"
        @on-change="index"
        show-elevator
        show-total
      ></Page>
    </div>

    <ui-edit
      :data="editObj.data"
      :show.sync="editObj.show"
      :type="type"
      @add-success="index"
      @update-success="index(list_data.current_page)"
    ></ui-edit>

    <ui-detail :data="detailObj.data" :show.sync="detailObj.show"></ui-detail>
  </div>
</template>

<script src="./js/index.js"></script>
