<template>
  <div class="p-2">
    <!--查询区域-->
    <div class="jeecg-basic-table-form-container">
      <a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol"
        :wrapper-col="wrapperCol">
        <a-row :gutter="24">
          <a-col :lg="6">
            <a-form-item name="title">
              <template #label><span title="机构名称">机构名称</span></template>
              <a-input placeholder="请输入机构名称" v-model:value="queryParam.title" allow-clear></a-input>
            </a-form-item>
          </a-col>
          <a-col :lg="6">
            <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
            <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"
              style="margin-left: 8px">重置</a-button>
          </a-col>
          <a-col :lg="12" style="text-align: right;">
            <a-button type="primary" preIcon="ant-design:cloud-sync-outlined" @click="handleJingxiang"
              style="margin-right: 10px;">镜像</a-button>
            <a-badge :count="609" style="margin-right: 10px;">
              <a-button type="primary" preIcon="ant-design:eye-outlined" style="margin-right: 10px;"
                @click="handleJingxiang">查看可新增指令</a-button>
            </a-badge>
          </a-col>
        </a-row>
      </a-form>
    </div>

    <OrgListCom ref="orgListComRef" :title="queryParam.title" @handleOrgDetail="handleDetail">
    </OrgListCom>

    <ConfigServiceDirectiveListModal ref="configServiceDirectiveListModal" />
    <SyncStepListModal ref="syncStepListModal" />
  </div>
</template>

<script setup name="synchronization-directive2" lang="ts">
import { ref, reactive, computed, onMounted } from 'vue'
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
// 以下为服务指令引用：
import { list, asyncFunc, departList } from '@/views/services/serviceDirective/ConfigServiceDirective.api';
import { Pagination } from 'ant-design-vue';
import ConfigServiceDirectiveListModal from '/@/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveListModal.vue';
import SyncStepListModal from '/@/views/synchronization/directive/syncStep/SyncStepListModal.vue';
//机构信息
import { getOrgInfo } from '/@/views/admin/orgapplyinfo/OrgApplyInfo.api';
//机构列表
import OrgListCom from '/@/views/synchronization/directive/orgCom/OrgListCom.vue'

const formRef = ref();
const configServiceDirectiveListModal = ref();
const syncStepListModal = ref();
const orgTableList = ref<any>([]);
const queryParam = reactive<any>({});
const pageParams = ref({ pageNo: 1, pageSize: 8 })
const orgListComRef = ref()

const labelCol = reactive({
  xs: 24,
  sm: 4,
  xl: 6,
  xxl: 4
});
const wrapperCol = reactive({
  xs: 24,
  sm: 20,
});

/**
   * 镜像
   */
function handleJingxiang() {
  syncStepListModal.value.init(null);
  syncStepListModal.value.disableSubmit = true;
}
/**
 * 详情
 * @param record
 */
function handleDetail(record) {
  configServiceDirectiveListModal.value.init(record);
  configServiceDirectiveListModal.value.disableSubmit = true;
}
/**
 * 查询
 */
function searchQuery() {
  orgListComRef.value?.reload();
}

function reload() {
  //刷新数据
  queryParam.pageSize = pageParams.value.pageSize;
  queryParam.pageNo = pageParams.value.pageNo;
  getOrgInfo(queryParam).then(res => {
    orgTableList.value = res;
  });
}

/**
 * 重置
 */
function searchReset() {
  queryParam.title = null
  orgListComRef.value?.searchReset()
}

// 自动请求并暴露内部方法
onMounted(() => {
  reload();
});

</script>

<style lang="less" scoped>
.jeecg-basic-table-form-container {
  padding: 0;

  .table-page-search-submitButtons {
    display: block;
    margin-bottom: 24px;
    white-space: nowrap;
  }

  .query-group-cust {
    min-width: 100px !important;
  }

  .query-group-split-cust {
    width: 30px;
    display: inline-block;
    text-align: center
  }

  .ant-form-item:not(.ant-form-item-with-help) {
    margin-bottom: 16px;
    height: 32px;
  }

  :deep(.ant-picker),
  :deep(.ant-input-number) {
    width: 100%;
  }
}

.cardTitle {
  background: #1ea0fa;
  width: 100%;
  margin: -28px -24px;
  padding-top: 15px;
  border-radius: 5px 5px 0px 0px;
  color: white;
  height: 55px;
  display: block;
  position: absolute;
}

.zxClass {
  font-size: 12px;
  background: linear-gradient(to right, #1ea0fa, #017de9);
  border-radius: 8px;
  height: 25px;
  color: white;
  line-height: 25px;
}

.lxClass {
  font-size: 14px;
  background: linear-gradient(to right, #cccccc, #cccccc);
  border-radius: 8px;
  height: 35px;
  color: white;
  line-height: 35px;
}

.tbClass {
  background: #f6f6f6;
  padding: 8px;
  border-radius: 5px;
}

.antTitle {
  margin-top: 10px;
  display: block;
  font-size: 12px;
}

.ellipsis-one-lines {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  /* 限制文本为2行 */
  overflow: hidden;
  text-overflow: ellipsis;
}
</style>