美的项目前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

215 lines
6.7 KiB

<template>
<w-card>
<div v-if="visible">
<!-- 查询区域 -->
<div class="table-page-search-wrapper" v-has="'WorkCalendar:query'">
<w-form @keyup.enter.native="searchQuery" layout="inline">
<w-row :gutter="10">
<w-col :xl="5" :lg="5" :md="8" :sm="24">
<w-input v-model="queryParam.year" placeholder="请输入年份" />
</w-col>
<w-col :xl="5" :lg="5" :md="8" :sm="24">
<w-input v-model="queryParam.day" placeholder="请输入日" />
</w-col>
<w-col :xl="5" :lg="5" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<w-button @click="searchQuery" type="primary" icon="search">搜索</w-button>
<w-button @click="searchReset" type="primary">重置</w-button>
<j-super-query ref="superQueryModal" :field-list="refColumns" @handleSuperQuery="handleSuperQuery" />
<!-- <a class="unfold-fold-status" @click="handleToggleSearch">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
</a> -->
</span>
</w-col>
<div v-has="'WorkCalendar:export'" class="leftArea">
<div class="filterBox">
<span @click="exportExcel()" class="iconfont icon-download-2"></span>
</div>
</div>
</w-row>
</w-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<!-- <w-button @click="handleAdd" type="primary" v-has="'WorkCalendar:add'">新增</w-button> -->
<!-- <a-upload
name="file"
:showUploadList="false"
:multiple="false"
:headers="tokenHeader"
:action="importExcelUrl"
@change="handleImportExcel"
>
<a-button type="primary">导入</a-button>
</a-upload> -->
<!-- 高级查询区域 -->
<!-- <w-button @click="batchDel" type="danger" v-has="'WorkCalendar:del'">删除</w-button> -->
</div>
<!-- table区域-begin -->
<div>
<w-fit-container elementType="grid" :fitSize="185">
<a-table
:id="refColumnsKey"
ref="table"
size="middle"
:scroll="getTableScroll(1200)"
bordered
rowKey="id"
:columns="refColumns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:customHeaderRow="customHeaderRow"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
class="j-table-force-nowrap"
@change="handleTableChange"
:components="resizableComponents"
:customRow="selectRow"
>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)" v-has="'WorkCalendar:edit'">编辑</a>
<span v-has="'WorkCalendar:del'">
<w-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</span>
</a-table>
</w-fit-container>
</div>
</div>
<w-table-columns-win @columnsChange="columnsChange" @resetColumns="resetColumns" ref="choose" :columns="columns" />
<work-calendar-modal ref="modalForm" @ok="modalFormOk" @close="modalFormClose" />
<excel-export-model ref="excelExport" />
</w-card>
</template>
<script>
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin, WGridResizeByCssMixin } from '@/mixins/JeecgListMixin'
import WorkCalendarModal from './modules/WorkCalendarModal'
import ExcelExportModel from '../excel/modules/ExcelExportModel.vue'
export default {
name: 'WorkCalendarList',
mixins: [JeecgListMixin, mixinDevice, WGridResizeByCssMixin],
components: {
WorkCalendarModal,
ExcelExportModel,
},
data() {
return {
description: '美的工作日历管理页面',
// 表头
columns: [
{
title: '#',
dataIndex: '',
key: 'rowIndex',
width: 60,
ellipsis: true,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
},
},
{
title: '组织ID',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'unitId',
},
{
title: '年份',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'year',
// 格式:YYYY
},
{
title: '月份',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'month',
// 格式:MM
},
{
title: '日',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'day',
},
{
title: '日期',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'calendarDate',
customRender: function (text) {
return text ? text.slice(0, 10) : ''
},
},
{
// 字典:1-工作日 2-法假 3-公休日 4-公司假
title: '日历类型',
align: 'center',
width: 100,
ellipsis: true,
sorter: true,
dataIndex: 'calendarType',
},
{
title: '日历类型名称',
align: 'center',
width: 140,
ellipsis: true,
sorter: true,
dataIndex: 'calendarTypeName',
},
// {
// title: '操作',
// dataIndex: 'action',
// align: 'center',
// width: 147,
// ellipsis: true,
// fixed: 'right',
// scopedSlots: { customRender: 'action' },
// },
],
url: {
list: '/interfaces/workCalendar/list',
delete: '/interfaces/workCalendar/delete',
deleteBatch: '/interfaces/workCalendar/deleteBatch',
exportXlsUrl: '/interfaces/workCalendar/exportXls',
importExcelUrl: 'interfaces/workCalendar/importExcel',
},
dictOptions: {},
}
},
created() {},
methods: {
initDictConfig() {},
exportExcel() {
const para = this.getQueryParams()
this.$refs.excelExport.show(this.url.exportXlsUrl, para, this.columns, 'WorkCalendar')
},
},
}
</script>