<template>
  <div class="page-body">

    <a-row type="flex">
      <a-col :flex="$mk.config.ui.searchFlex">
        <!-- 搜索区 -->
        <vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
          <template #date="{}">
            <a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
            </a-form-item>
            <a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
              <a-range-picker @change="onDateChange" />
            </a-form-item>
          </template>
        </vxe-form>
      </a-col>
      <a-col :flex="$mk.config.ui.toolbarFlex">
        <!-- 工具条 -->
        <mk-toolbar @toolbarClick="toolbarClick"></mk-toolbar>
      </a-col>
    </a-row>




    <vxe-toolbar ref="xToolbar" custom>
      <template #buttons>
        <a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
      </template>
    </vxe-toolbar>
    <!-- 表格区 -->
    <div class="gridPanel">
      <vxe-grid ref='xGrid' v-bind="gridOptions">

        <!-- =============================== 表格列 自动生成 Start =============================== -->

        <!-- =============================== 表格列 自动生成 End =============================== -->

        <template #op="{ row }">
          <div class="oplinks">
            <a @click.stop="pageEdit(row)" title="编辑"><a-icon type="edit" /></a>
            <a @click.stop="pageDelete(row)" title="删除"><a-icon type="delete" /></a>
          </div>
        </template>

      </vxe-grid>
    </div>


  </div>
</template>

<script>
import BASE_URL from '@/services/Middle/bathroom/BathroomQuotation/api.js';

export default {
  name: 'BathroomQuotationPartsList',
  i18n: require('./i18n'), // 国际化
  props: {
    pageMode: {
      type: String,
      default: "edit"
    }
  },
  data() {

    const listFieldName  = 'BathroomQuotation';
    // 页面数据
    var pageData = { // 页面数据变量

      keyName: 'id', // 主键字段名


      // 接口动作
      actions: { // Api 接口地址
        // =============================== 接口地址 自动生成 Start ===============================
					BathroomQuotationList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/list`, // 报价单列表
					BathroomQuotationDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/detail`, // 报价单详情
					BathroomQuotationCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/create`, // 创建报价单
					BathroomQuotationUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/update`, // 更新报价单
					BathroomQuotationDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/detele`, // 删除报价单
					BathroomQuotationBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/batchDelete`, // 批量删除报价单
					BathroomQuotationBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/batchUpdate`, // 批量更新报价单
					BathroomQuotationBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/batchCreate`, // 批量创建报价单
					BathroomQuotationExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/export/excel`, // 导出报价单数据到EXCEL
					BathroomQuotationImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/import/excel`, // 批量导入EXCEL报价单数据
					BathroomQuotationFittingsList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/list`, // 报价单部件列表
					BathroomQuotationFittingsDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/detail`, // 报价单部件详情
					BathroomQuotationFittingsCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/create`, // 创建报价单部件
					BathroomQuotationFittingsUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/update`, // 更新报价单部件
					BathroomQuotationFittingsDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/detele`, // 删除报价单部件
					BathroomQuotationFittingsBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/batchDelete`, // 批量删除报价单部件
					BathroomQuotationFittingsBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/batchUpdate`, // 批量更新报价单部件
					BathroomQuotationFittingsBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/batchCreate`, // 批量创建报价单部件
					BathroomQuotationFittingsExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/export/excel`, // 导出报价单部件数据到EXCEL
					BathroomQuotationFittingsImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/fittings/import/excel`, // 批量导入EXCEL报价单部件数据
					BathroomQuotationPartsList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/list`, // 报价单配件列表
					BathroomQuotationPartsDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/detail`, // 报价单配件详情
					BathroomQuotationPartsCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/create`, // 创建报价单配件
					BathroomQuotationPartsUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/update`, // 更新报价单配件
					BathroomQuotationPartsDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/detele`, // 删除报价单配件
					BathroomQuotationPartsBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/batchDelete`, // 批量删除报价单配件
					BathroomQuotationPartsBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/batchUpdate`, // 批量更新报价单配件
					BathroomQuotationPartsBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/batchCreate`, // 批量创建报价单配件
					BathroomQuotationPartsExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/export/excel`, // 导出报价单配件数据到EXCEL
					BathroomQuotationPartsImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/parts/import/excel`, // 批量导入EXCEL报价单配件数据
					BathroomQuotationMaterialList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/list`, // 报价单材料列表
					BathroomQuotationMaterialDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/detail`, // 报价单材料详情
					BathroomQuotationMaterialCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/create`, // 创建报价单材料
					BathroomQuotationMaterialUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/update`, // 更新报价单材料
					BathroomQuotationMaterialDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/detele`, // 删除报价单材料
					BathroomQuotationMaterialBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/batchDelete`, // 批量删除报价单材料
					BathroomQuotationMaterialBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/batchUpdate`, // 批量更新报价单材料
					BathroomQuotationMaterialBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/batchCreate`, // 批量创建报价单材料
					BathroomQuotationMaterialExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/export/excel`, // 导出报价单材料数据到EXCEL
					BathroomQuotationMaterialImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/material/import/excel`, // 批量导入EXCEL报价单材料数据
					BathroomQuotationLaborList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/list`, // 报价单人工费用列表
					BathroomQuotationLaborDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/detail`, // 报价单人工费用详情
					BathroomQuotationLaborCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/create`, // 创建报价单人工费用
					BathroomQuotationLaborUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/update`, // 更新报价单人工费用
					BathroomQuotationLaborDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/detele`, // 删除报价单人工费用
					BathroomQuotationLaborBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/batchDelete`, // 批量删除报价单人工费用
					BathroomQuotationLaborBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/batchUpdate`, // 批量更新报价单人工费用
					BathroomQuotationLaborBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/batchCreate`, // 批量创建报价单人工费用
					BathroomQuotationLaborExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/export/excel`, // 导出报价单人工费用数据到EXCEL
					BathroomQuotationLaborImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/labor/import/excel`, // 批量导入EXCEL报价单人工费用数据
					BathroomQuotationProcessList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/list`, // 报价单工序列表
					BathroomQuotationProcessDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/detail`, // 报价单工序详情
					BathroomQuotationProcessCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/create`, // 创建报价单工序
					BathroomQuotationProcessUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/update`, // 更新报价单工序
					BathroomQuotationProcessDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/detele`, // 删除报价单工序
					BathroomQuotationProcessBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/batchDelete`, // 批量删除报价单工序
					BathroomQuotationProcessBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/batchUpdate`, // 批量更新报价单工序
					BathroomQuotationProcessBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/batchCreate`, // 批量创建报价单工序
					BathroomQuotationProcessExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/export/excel`, // 导出报价单工序数据到EXCEL
					BathroomQuotationProcessImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/process/import/excel`, // 批量导入EXCEL报价单工序数据
					BathroomQuotationPackagingList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/list`, // 包装材料列表
					BathroomQuotationPackagingDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/detail`, // 包装材料详情
					BathroomQuotationPackagingCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/create`, // 创建包装材料
					BathroomQuotationPackagingUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/update`, // 更新包装材料
					BathroomQuotationPackagingDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/detele`, // 删除包装材料
					BathroomQuotationPackagingBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/batchDelete`, // 批量删除包装材料
					BathroomQuotationPackagingBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/batchUpdate`, // 批量更新包装材料
					BathroomQuotationPackagingBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/batchCreate`, // 批量创建包装材料
					BathroomQuotationPackagingExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/export/excel`, // 导出包装材料数据到EXCEL
					BathroomQuotationPackagingImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/packaging/import/excel`, // 批量导入EXCEL包装材料数据
					BathroomQuotationOutsourcingList: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/list`, // 外购产品列表
					BathroomQuotationOutsourcingDetail: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/detail`, // 外购产品详情
					BathroomQuotationOutsourcingCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/create`, // 创建外购产品
					BathroomQuotationOutsourcingUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/update`, // 更新外购产品
					BathroomQuotationOutsourcingDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/detele`, // 删除外购产品
					BathroomQuotationOutsourcingBatchDelete: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/batchDelete`, // 批量删除外购产品
					BathroomQuotationOutsourcingBatchUpdate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/batchUpdate`, // 批量更新外购产品
					BathroomQuotationOutsourcingBatchCreate: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/batchCreate`, // 批量创建外购产品
					BathroomQuotationOutsourcingExportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/export/excel`, // 导出外购产品数据到EXCEL
					BathroomQuotationOutsourcingImportExcel: `${BASE_URL.BASE_URL}/BathroomQuotation/v1/bathroom/quotation/outsourcing/import/excel`, // 批量导入EXCEL外购产品数据

        // =============================== 接口地址 自动生成 End ===============================
      },

      start_time: 0, // 开始时间
      end_time: 0, // 结束时间


      //搜索区
      searchFormData: {
        title: '',
        desc: '',
      },
      // 搜索区配置
      searchRules: [
        { key: "title", mode: "like" },
        { key: "desc", mode: "like" }
      ],
      //搜索区
      searchFormItems: [ // 子项
        { field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
        { field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
        { span: 8, slots: { default: 'date' } },  // 自定义列
        {
          align: 'right', span: 4, itemRender: {  // 按钮列
            name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } },  // 搜索按钮
              { props: { type: 'reset', content: '重置' } }]
          }
        }
      ],


      //数据区
      gridOptions: { // 表格配置
        height: '100%', // 表格高度  100% 会自动撑满父容器
        stripe: true, // 启用斑马纹
        id: 'datagrid_1', // 表格唯一标识

        // 接口获取数据
        proxyConfig: { // 配置代理
          sort: true, // 启用排序代理，当点击排序时会自动触发 query 行为
          filter: true, // 启用筛选代理，当点击筛选时会自动触发 query 行为
          props: {
            result: listFieldName, // 配置响应结果列表字段
            total: 'total' // 配置响应结果总页数字段
          },
          // 接收Promise
          ajax: {
            // 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发
            query: (options) => { // options 为当前表格的配置项
              const { page, sorts } = options; // 获取当前页码、每页条数、排序信息
              var params = {}; // 定义请求参数
              params.page = page.currentPage; // 当前页码
              params.limit = page.pageSize; // 每页条数
              params.order_bys = []; // 排序信息
              params.search_rules = this.getSearchParms(); // 搜索信息
              if (sorts) { // 如果有排序信息
                sorts.forEach((v) => { // 遍历排序信息
                  params.order_bys.push({ // 添加排序信息
                    column: v.property, // 字段名
                    order: v.order // 排序方式
                  })
                });
              }
              return this.loadData({ params }); // 返回请求结果
            }
          }
        },


        // 表格列配置
        columns: [
          { type: 'checkbox', width: 'auto' }, // 多选框
          { type: 'seq', width: 'auto' }, // 序号


          // =============================== 表格列 自动生成 Start ===============================

					{ field: 'id', sortable: true, title: 'ID', width: 80 }, // ID
					{ field: 'quotation_id', sortable: true, title: '报价单id', width: 250 }, // 报价单id
					{ field: 'type', sortable: true, title: '类型:1.主柜,2.抽屉', width: 250 }, // 类型:1.主柜,2.抽屉
					{ field: 'parts_id', sortable: true, title: '配件id', width: 250 }, // 配件id
					{ field: 'code', sortable: true, title: '编码', width: 250 }, // 编码
					{ field: 'name', sortable: true, title: '配件名称', width: 250 }, // 配件名称
					{ field: 'brand', sortable: true, title: '配件品牌', width: 250 }, // 配件品牌
					{ field: 'model', sortable: true, title: '配件型号', width: 250 }, // 配件型号
					{ field: 'spec', sortable: true, title: '配件规格', width: 250 }, // 配件规格
					{ field: 'unit', sortable: true, title: '配件单位', width: 250 }, // 配件单位
					{ field: 'supplier', sortable: true, title: '供应商', width: 250 }, // 供应商
					{ field: 'image', sortable: true, title: '图片', width: 250 }, // 图片
					{ field: 'quantity', sortable: true, title: '数量', width: 250 }, // 数量
					{ field: 'remark', sortable: true, title: '备注', width: 250 }, // 备注
					{ field: 'create_uid', sortable: true, title: '创建人', width: 80 }, // 创建人
					{ field: 'update_uid', sortable: true, title: '更新人', width: 80 }, // 更新人
					{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
					{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间

          // =============================== 表格列 自动生成 Start ===============================


          { title: '操作', slots: { default: 'op' }, width: 120 }
        ]
      }

    };
    pageData.actions.getList = pageData.actions.BathroomQuotationList;
    pageData.actions.delete = pageData.actions.BathroomQuotationBatchDelete;
    pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据

    return pageData; // 返回页面数据
  },

  // 计算属性
  computed: {
    // 页面描述
    desc() {
      return this.$t('pageDesc')
    }
  },

  // 创建完成
  created() {
    this.$nextTick(() => { // 在下次 DOM 更新循环结束之后执行延迟回调
      // 将表格和工具栏进行关联
      this.$refs.xGrid.connect(this.$refs.xToolbar) // 将表格和工具栏进行关联
    });
  },
  // 挂载完成
  onLoad() {

  },
  // 动作
  methods: {


    // =============================== 基于status进行开关 自动生成 Start ===============================

    // =============================== 基于status进行开关 自动生成 End ===============================

    // 修改日期
    onDateChange(date) { // 日期选择器事件
      if (date && date.length) { // 如果有值
        this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳
        this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳
      } else { // 如果没有值
        this.start_time = 0; // 将日期转换为时间戳
        this.end_time = 0; // 将日期转换为时间戳
      }
    },
    // 获取搜索参数
    getSearchParms() { // 获取搜索参数
      var rules = []; // 定义搜索参数
      let findMode = k => { // 查找搜索模式
        for (let i in this.searchRules) { // 遍历搜索规则
          if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式
        }
        return "equal"; // 如果没有找到就返回等于
      };

      for (let key in this.searchFormData) { // 遍历搜索表单数据
        let value = this.searchFormData[key]; // 获取值
        if (value) { // 如果有值
          let mode = findMode(key); // 获取搜索模式
          if (mode == "like") { // 如果是模糊搜索
            value = "%" + value + "%"; // 如果是模糊搜索就在两边加上%
          }
          rules.push({ // 添加搜索参数
            column: key, // 字段名
            mode: mode, // 搜索模式
            value: value // 值
          });
        }
      }
      return rules; // 返回搜索参数
    },
    // 获取选中行
    getSelectdRow() { // 获取选中行
      let row = this.$refs.xGrid.getCurrentRecord(); // 获取当前行
      if (!row) { // 如果没有选中行
        let rows = this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
        if (rows && rows.length) { row = rows[0]; } // 如果有选中行就取第一行
      }
      return row; // 返回选中行
    },
    // 加载数据
    loadData({ params }) {
      params.start_time = this.start_time; // 开始时间
      params.end_time = this.end_time; // 结束时间
      return this.$mk.getPagedData({ url: this.actions.getList, data: params }); // 获取分页数据
    },

    // 工具栏点击事件 add / log / setting
    toolbarClick(e) {
      if (e.name == "add") { // 如果是添加
        this.$openPage("/BathroomQuotation/BathroomQuotationPartsAdd"); // 打开页面
      }
    },

    // 编辑
    pageEdit(row) {
      if (!row) { // 如果没有选中行
        this.$mk.msg("请选择行"); // 提示
        return; // 返回
      }
      this.$openPage("/BathroomQuotation/BathroomQuotationPartsUpdate/" + row[this.keyName]); // 打开页面
    },

    // 删除
    pageDelete(row) {
      let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
      let ids = []; // 定义id数组
      rows.forEach((row) => { // 遍历选中行
        ids.push(row[this.keyName]); // 将选择行的id添加到id数组
      });

      if (!ids.length) {  // 如果没有选中行
        this.$mk.error("请选择行"); // 提示
        return;
      }

      this.$mk.confirm('您确定要删除吗？').then(type => { // 确认删除
        if (type == 'confirm') { // 如果确认删除
          this.$mk.post({
            url: this.actions.delete, // 请求删除数据地址
            loading: "删除中...", // 加载提示
            data: {
              ids: ids // 传递id数组
            },
            useBigInt : true
          }).then(() => { // 成功
            this.$mk.success("删除成功"); // 提示成功
            this.onSearch(); // 重新加载数据
          }).catch((a) => { // 失败
            this.$mk.error(a.data.msg); // 提示错误信息
          });
        }
      });
    },

    // 搜索
    onSearch() {
      this.$refs.xGrid.commitProxy('query') // 提交搜索
    },


  },
  // 监听属性
  watch: {

  }
};

</script>
<style scoped lang="less">
.page-body {
  padding: 30px;
  background: @base-bg-color;
}

.gridPanel {
  height: calc(100vh - 400px);
}
</style>

<style>
.oplinks svg {
  width: 22px;
  height: 22px;
  margin: 0 5px 0 0;
}
</style>