123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- <template>
- <!-- 染损表报 -->
- <a-card :bordered="false">
- <!-- 查询区域 -->
- <div class="table-page-search-wrapper">
- <a-form layout="inline" @keyup.enter.native="searchQuery">
- <a-row :gutter="24">
- <a-col :md="6" :sm="8">
- <a-form-item label="订单号">
- <a-input placeholder="请输入订单号" v-model="queryParam.orderNum"></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-item label="订单类型">
- <a-select placeholder="请选择订单类型" v-model="queryParam.orderType">
- <a-select-option :value="''">请选择</a-select-option>
- <a-select-option :value="0">订单类型1</a-select-option>
- <a-select-option :value="1">订单类型2</a-select-option>
- <a-select-option :value="2">订单类型3</a-select-option>
- </a-select>
- </a-form-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-item label="供应商">
- <a-input placeholder="请输入供应商" v-model="queryParam.supplier"></a-input>
- </a-form-item>
- </a-col>
- <template v-if="toggleSearchStatus">
- <a-col :md="6" :sm="8">
- <a-form-item label="计划单号">
- <a-input placeholder="请输入计划单号" v-model="queryParam.planNum"></a-input>
- </a-form-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-item label="销售订单号">
- <a-input placeholder="请输入销售订单号" v-model="queryParam.salesOrderNum"></a-input>
- </a-form-item>
- </a-col>
- </template>
- <a-col :md="6" :sm="8">
- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
- <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 @click="handleToggleSearch" style="margin-left: 8px">
- {{ toggleSearchStatus ? '收起' : '展开' }}
- <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
- </a>
- </span>
- </a-col>
- </a-row>
- </a-form>
- </div>
- <!-- 操作按钮区域 -->
- <div class="table-operator">
- <a-button type="primary" @click="handleExportXls('染损报表')" icon="download">导出</a-button>
- </div>
- <!-- table区域 rowKey="id" :scroll="{ x: 1500 }"-->
- <div>
- <a-table
- ref="tableInfo"
- bordered
- :row-key="record => record.id"
- :columns="dyeLossColumns"
- :data-source="dyeLossData"
- :loading="loading"
- :pagination="ipagination"
- @change="handleTableChange"
- :footer="totalShow"
- :scroll="{ x: 1500 }"
- >
- </a-table>
- </div>
- </a-card>
- </template>
- <script>
- import { JeecgListMixin } from '@/mixins/JeecgListMixin'
- import JEllipsis from '@/components/jeecg/JEllipsis'
- import moment from 'moment'
- export default {
- name: 'DyeLossTable', // 染损报表
- mixins: [JeecgListMixin],
- components: { JEllipsis, moment },
- data() {
- // let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} /> // 省略
- return {
- description: '染损报表',
- // 表头
- dyeLossColumns: [
- {
- title: '物料编号',
- width: 160,
- dataIndex: 'materialNum',
- className: 'replacecolor'
- },
- {
- title: '物料名称',
- width: 160,
- dataIndex: 'materialName',
- className: 'replacecolor'
- },
- { title: '颜色', width: 160, dataIndex: 'color', className: 'replacecolor' },
- { title: '供应商', width: 120, dataIndex: 'supplier', className: 'replacecolor' },
- {
- title: '订单号',
- width: 160,
- dataIndex: 'orderNum',
- className: 'replacecolor'
- // customRender: function(text) {
- // if (text == '1') {
- // return '销售类型1'
- // }
- // if (text == '2') {
- // return '销售类型2'
- // }
- // if (text == '3') {
- // return '销售类型3'
- // }
- // if (text == '4') {
- // return '销售类型4'
- // }
- // }
- },
- { title: '订单数量', width: 100, dataIndex: 'orderQuantity', className: 'replacecolor' },
- { title: '采购入库数', width: 100, dataIndex: 'purchaseInQuantity', className: 'replacecolor' },
- { title: '材料出库数', width: 100, dataIndex: 'materialsOutQuantity', className: 'replacecolor' },
- { title: '核销数量', width: 100, dataIndex: 'verificationNum', className: 'replacecolor' },
- { title: '染损', width: 120, dataIndex: 'dyeLoss', className: 'replacecolor' }
- ],
- dyeLossData: [
- { orderQuantity: '10', purchaseInQuantity: '10', materialsOutQuantity: '10', verificationNum: '10' },
- { orderQuantity: '20', purchaseInQuantity: '20', materialsOutQuantity: '20', verificationNum: '20' },
- { orderQuantity: '30', purchaseInQuantity: '30', materialsOutQuantity: '30', verificationNum: '30' },
- { orderQuantity: '40', purchaseInQuantity: '40', materialsOutQuantity: '40', verificationNum: '40' }
- ],
- loading: false, // 表格加载
- // 查询条件
- queryParam: {
- orderNum: '',
- orderType: '',
- supplier: '',
- planNum: '',
- salesOrderNum: ''
- }
- }
- },
- created() {
- // 渲染订单销售列表
- },
- methods: {
- // 同步
- synchronization() {},
- // 查询按钮
- searchQuery() {
- // 渲染订单销售列表
- },
- searchReset() {
- // console.log('>>>>重置')
- this.queryParam = {}
- // 重新渲染订单销售列表
- },
- totalShow(data) {
- console.log('染损报表 ----合计')
- console.log('data', data)
- return (
- <a-table
- rowKey={Math.random}
- bordered={false}
- pagination={false}
- columns={this.dyeLossColumns}
- dataSource={this.footerData || []}
- showHeader={false}
- ></a-table>
- )
- }
- // 分页、排序、筛选变化时触发
- // handleTableChange(pagination, filters, sorter) {
- // // console.log('当前页信息>>>>',pagination)
- // this.queryParam.pageNo = pagination.current
- // // this.getOrderList()
- // }
- },
- watched: {
- dyeLossData(val) {
- // 同步表与 footer
- let dom = this.$refs.tableInfo.$el.querySelectAll('.ant-table-body')[0]
- dom.addEventListener(
- 'scroll',
- () => {
- this.$refs.tableInfo.$el.querySelectAll('.ant-table-body')[1].scrollLeft = dom.scrollLeft
- },
- true
- )
- }
- },
- computed: {
- // dyeLossDataSource() {
- // // 所有物料 对应单元格数量 合计
- // const total = Object.assign({}, this.dyeLossData[0])
- // for (const attr in total) {
- // total[attr] = '合计'
- // break
- // }
- // return [total]
- // }
- },
- mounted() {}
- }
- </script>
- <style lang="less" scoped>
- @import '~@assets/less/common.less';
- @import '~@assets/less/overwriter.less';
- /deep/ .ant-table-thead > tr > th {
- text-align: center;
- // font-weight: 700;
- }
- /deep/ .ant-table-tbody {
- text-align: center;
- }
- // /deep/ th.replacecolor {
- // background-color: #ccc;
- // }
- /deep/ .ant-table.ant-table-bordered .ant-table-footer {
- border: none;
- padding: 0;
- }
- </style>
|