<template>
  <a-card :bordered="false" style="height: 830px">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :span="4">
            <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <j-dict-select-tag type="list" v-model="queryParam.materialType" dictCode="material_type"
                                 placeholder="请选择物资类型"  />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->

    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button type="primary" icon="download" @click="handleExportXls('物资出库流程')">导出</a-button>
      <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
      <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
      <!--      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
      <!--      <a-button type="primary" icon="download" @click="handleExportXls('物资出库流程')">导出</a-button>-->
      <!--      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
      <!--        <a-button type="primary" icon="import">导入</a-button>-->
      <!--      </a-upload>-->
      <!--      &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
      <!--      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
    </div>

    <!-- table区域-begin -->
    <div>
      <!--      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
      <!--        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
      <!--        <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
      <!--      </div>-->

      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        class="j-table-force-nowrap"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :customRow="clickThenSelect"
        @change="handleTableChange">

        <template slot="htmlSlot" slot-scope="text">
          <div v-html="text"></div>
        </template>
        <template slot="imgSlot" slot-scope="text">
          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
        </template>
        <template slot="fileSlot" slot-scope="text">
          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
          <a-button
            v-else
            :ghost="true"
            type="primary"
            icon="download"
            size="small"
            @click="downloadFile(text)">
            下载
          </a-button>
        </template>

        <span slot="action" slot-scope="text, record">
          <a @click="handleEnterDetail(record)">详情</a>

          <!--          <a-divider type="vertical" />-->
          <!--          <a-dropdown>-->
          <!--            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>-->
          <!--            <a-menu slot="overlay">-->
          <!--              <a-menu-item>-->
          <!--                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
          <!--                  <a>删除</a>-->
          <!--                </a-popconfirm>-->
          <!--              </a-menu-item>-->
          <!--            </a-menu>-->
          <!--          </a-dropdown>-->
        </span>

      </a-table>
    </div>

    <!--    <a-tabs defaultActiveKey="1">-->
    <!--      <a-tab-pane tab="物资出库流程出库清单" key="1" >-->
    <!--        <ProcessMaterialsDeliveryListList :mainId="selectedMainId" />-->
    <!--      </a-tab-pane>-->
    <!--    </a-tabs>-->

    <!--    <processMaterialsDelivery-modal ref="modalForm" @ok="modalFormOk"></processMaterialsDelivery-modal>-->
  </a-card>
</template>

<script>

import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ProcessMaterialsDeliveryModal from '@/views/processmaterials/modules/ProcessMaterialsDeliveryModal'
import { getAction } from '@/api/manage'
import ProcessMaterialsDeliveryListList from '@/views/processmaterials/ProcessMaterialsDeliveryListList'
import '@/assets/less/TableExpand.less'
import JSuperQuery from '@/components/jeecg/JSuperQuery.vue'
import { initDictOptions } from '@comp/dict/JDictSelectUtil'

export default {
  name: "LndustrialExplosiveCome",
  mixins:[JeecgListMixin],
  components: {
    ProcessMaterialsDeliveryListList,
    ProcessMaterialsDeliveryModal,
    JSuperQuery
  },
  data () {
    return {
      labelCol: {
        xs: { span: 4 },
        sm: { span: 4 },
      },
      wrapperCol: {
        xs: { span: 20 },
        sm: { span: 20 },
      },
      description: '物资出库流程管理页面',
      // 表头
      // columns: [
      //   {
      //     title: '#',
      //     dataIndex: '',
      //     key:'rowIndex',
      //     width:60,
      //     align:"center",
      //     customRender:function (t,r,index) {
      //       return parseInt(index)+1;
      //     }
      //   },
      //   {
      //     title:'器材编号',
      //     align:"center",
      //     dataIndex: 'equipment',
      //   },
      //   {
      //     title:'WBS',
      //     align:"center",
      //     dataIndex: 'wbs_dictText',
      //   },
      //   {
      //     title:'物料名称及规格型号',
      //     align:"center",
      //     dataIndex: 'materialName',
      //   },
      //   {
      //     title:'单位',
      //     align:"center",
      //     dataIndex: 'materialUnit',
      //   },
      //   {
      //     title:'请发数',
      //     align:"center",
      //     dataIndex: 'pleaseSendNumber'
      //   },
      //   {
      //     title:'实发数',
      //     align:"center",
      //     dataIndex: 'actualSendNumber'
      //   },
      //   {
      //     title:'供货商',
      //     align:"center",
      //     dataIndex: 'supplier',
      //   },
      //   {
      //     title:'单价',
      //     align:"center",
      //     dataIndex: 'materialPrice'
      //   },
      //   {
      //     title:'金额',
      //     align:"center",
      //     dataIndex: 'materialAmount'
      //   },
      //   {
      //     title:'用途',
      //     align:"center",
      //     dataIndex: 'purpose',
      //     fixed:"right",
      //   },
      //     {
      //       title: '操作',
      //       dataIndex: 'action',
      //       align:"center",
      //       fixed:"right",
      //       width:147,
      //       scopedSlots: { customRender: 'action' },
      //     }
      //
      //   /*{
      //     title: '操作',
      //     dataIndex: 'action',
      //     align:"center",
      //     fixed:"right",
      //     width:147,
      //     scopedSlots: { customRender: 'action' },
      //   }*/
      // ],
      // url: {
      //   list: "/hy/processMaterialsDelivery/list",
      //   // list: "/hy/processMaterialsDelivery/queryProcessMaterialsDeliveryListByMainId",
      //   delete: "/hy/processMaterialsDelivery/deleteProcessMaterialsDeliveryList",
      //   deleteBatch: "/hy/processMaterialsDelivery/deleteBatchProcessMaterialsDeliveryList",
      //   exportXlsUrl: "/hy/processMaterialsDelivery/exportProcessMaterialsDeliveryList",
      //   importUrl: "/hy/processMaterialsDelivery/importProcessMaterialsDeliveryList",
      // },
      columns: [
        {
          title: '序号',
          dataIndex: '',
          key:'rowIndex',
          width:60,
          align:"center",
          customRender:function (t,r,index) {
            return parseInt(index)+1;
          }
        },
        {
          title:'流程发起公司',
          align:"center",
          dataIndex: 'company_dictText',
        },
        {
          title:'流程发起时间',
          align:"center",
          dataIndex: 'createTime'
        },
        {
          title:'流程发起部门',
          align:"center",
          dataIndex: 'sysOrgCode_dictText',
        },
        {
          title:'流程发起人',
          align:"center",
          dataIndex: 'createBy'
        },
        {
          title:'物资类型',
          align:"center",
          dataIndex: 'materialType_dictText',
        },
        {
          title:'出库时间',
          align:"center",
          dataIndex: 'deliveryTime',
          customRender:function (text) {
            return !text?"":(text.length>10?text.substr(0,10):text)
          }
        },
        // {
        //   title:'文件id',
        //   align:"center",
        //   dataIndex: 'fileId',
        //   scopedSlots: {customRender: 'fileSlot'}
        // },
        {
          title: '操作',
          dataIndex: 'action',
          align:"center",
          fixed:"right",
          width:147,
          scopedSlots: { customRender: 'action' },
        }
      ],
      url: {
        list: "/hy/processMaterialsDelivery/listStockRemoval",
        delete: "/hy/processMaterialsDelivery/delete",
        deleteBatch: "/hy/processMaterialsDelivery/deleteBatch",
        exportXlsUrl: "/hy/processMaterialsDelivery/exportXls",
        importExcelUrl: "hy/processMaterialsDelivery/importExcel",
      },
      dictOptions:{
        company:[],
        sysOrgCode:[],
        materialType:[],
      },
      /* 分页参数 */
      ipagination:{
        current: 1,
        pageSize: 5,
        pageSizeOptions: ['5', '10', '50'],
        showTotal: (total, range) => {
          return range[0] + "-" + range[1] + " 共" + total + "条"
        },
        showQuickJumper: true,
        showSizeChanger: true,
        total: 0
      },
      selectedMainId:'',
      superFieldList:[],
    }
  },
  created() {
    this.getSuperFieldList();
  },
  computed: {
    importExcelUrl: function(){
      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
    }
  },
  methods: {
    searchQuery() {
      this.loadData(1);
    },

    handleEnterDetail(records){
      console.log(records)
      // this.$router.push({
      //   name:'src-views-accessrecords-plan-ProcessMaterialsDeliveryPlan',
      //   params:{
      //     item: records.id,
      //     merchandiseName: " - "+records.materialType_dictText,
      //   }})
      this.$router.push({
        path:'/access_records/come',
        query:{
          item: records.id,
          merchandiseName: " - "+records.materialType_dictText,
        }
      })
    },

    initDictConfig(){
      initDictOptions('sys_depart,depart_name,id').then((res) => {
        if (res.success) {
          this.$set(this.dictOptions, 'company', res.result)
        }
      })
      initDictOptions('sys_depart,depart_name,id').then((res) => {
        if (res.success) {
          this.$set(this.dictOptions, 'sysOrgCode', res.result)
        }
      })
      initDictOptions('').then((res) => {
        if (res.success) {
          this.$set(this.dictOptions, 'materialType', res.result)
        }
      })
    },
    clickThenSelect(record) {
      return {
        on: {
          click: () => {
            this.onSelectChange(record.id.split(","), [record]);
          }
        }
      }
    },
    onClearSelected() {
      this.selectedRowKeys = [];
      this.selectionRows = [];
      this.selectedMainId=''
    },
    onSelectChange(selectedRowKeys, selectionRows) {
      this.selectedMainId=selectedRowKeys[0]
      this.selectedRowKeys = selectedRowKeys;
      this.selectionRows = selectionRows;
    },
    loadData(arg) {
      if(!this.url.list){
        this.$message.error("请设置url.list属性!")
        return
      }
      //加载数据 若传入参数1则加载第一页的内容
      if (arg === 1) {
        this.ipagination.current = 1;
      }
      this.onClearSelected()
      var params = this.getQueryParams();//查询条件
      this.loading = true;
      getAction(this.url.list, params).then((res) => {
        if (res.success) {
          this.dataSource = res.result.records;
          this.ipagination.total = res.result.total;
        }
        if(res.code===510){
          this.$message.warning(res.message)
        }
        this.loading = false;
      })
    },
    getSuperFieldList(){
      let fieldList=[];
      fieldList.push({type:'sel_depart',value:'company',text:'流程发起公司'})
      fieldList.push({type:'datetime',value:'createTime',text:'流程发起时间'})
      fieldList.push({type:'sel_depart',value:'sysOrgCode',text:'流程发起部门'})
      fieldList.push({type:'sel_user',value:'createBy',text:'流程发起人'})
      fieldList.push({type:'int',value:'materialType',text:'物资类型',dictCode:''})
      fieldList.push({type:'date',value:'deliveryTime',text:'出库时间'})
      fieldList.push({type:'string',value:'fileId',text:'文件id',dictCode:''})
      this.superFieldList = fieldList
    }
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>