| | |
| | | <Row> |
| | | <Col span="6"> |
| | | <FormItem label="供应商编码:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Input v-model="form.SupplierCode" size="small"> |
| | | <template #suffix> |
| | | <Icon type="ios-more" /> |
| | | </template> |
| | | </Input> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="供应商名称:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Input v-model="form.SupplierName" size="small"></Input> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="ASN单号:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | <Input v-model="form.ASNCode" size="small"> |
| | | <template #suffix> <Icon type="ios-more" /> </template |
| | | ></Input> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="存货:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | <Input v-model="form.Invertory" size="small"> |
| | | <template #suffix> <Icon type="ios-more" /> </template |
| | | ></Input> |
| | | </FormItem> |
| | | </Col> |
| | |
| | | <Row> |
| | | <Col span="6"> |
| | | <FormItem label="代购订单号:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | <Input v-model="form.PurchaseOrderNo" size="small"> |
| | | <template #suffix> <Icon type="ios-more" /> </template |
| | | ></Input> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="12"> |
| | | <FormItem label="订单交期:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | <DatePicker |
| | | type="daterange" |
| | | v-model="form.OrderDate" |
| | | separator=" 至 " |
| | | size="small" |
| | | ></Input> |
| | | style="width: 100%" |
| | | ></DatePicker> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="状态:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Select v-model="form.State" size="small"> |
| | | <Option :value="0">一</Option> |
| | | <Option :value="1">二</Option> |
| | | <Option :value="2">三</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | </Row> |
| | | <Row> |
| | | <Col span="6"> |
| | | <FormItem label="采购员:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Input v-model="form.Purchase" size="small"></Input> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="采购类型:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Select v-model="form.PurchaseType" size="small"> |
| | | <Option :value="0">一</Option> |
| | | <Option :value="1">二</Option> |
| | | <Option :value="2">三</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="单据类型:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Select v-model="form.DocumentType" size="small"> |
| | | <Option :value="0">一</Option> |
| | | <Option :value="1">二</Option> |
| | | <Option :value="2">三</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="关闭状态:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Select v-model="form.CloseState" size="small"> |
| | | <Option :value="0">一</Option> |
| | | <Option :value="1">二</Option> |
| | | <Option :value="2">三</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | </Row> |
| | | <Row> |
| | | <Col span="6"> |
| | | <FormItem label="是否到货完成:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <Select v-model="form.IsArrived" size="small"> |
| | | <Option :value="0">一</Option> |
| | | <Option :value="1">二</Option> |
| | | <Option :value="2">三</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span="6"> |
| | | <FormItem label="ASN创建日期:"> |
| | | <Input |
| | | v-model="form.WH_Code" |
| | | placeholder="Enter something..." |
| | | size="small" |
| | | ></Input> |
| | | <DatePicker type="date" v-model="form.CreateTime" size="small" /> |
| | | </FormItem> |
| | | </Col> |
| | | </Row> |
| | | </Form> |
| | | </div> |
| | | <div class="buttons"> |
| | | <Button type="success" size="small" @click="onExportClick">导出</Button> |
| | | <Space> |
| | | <Button type="primary" size="small" @click="onSearchClick">查询</Button> |
| | | <Button type="primary" size="small" @click="onClearClick">清空</Button> |
| | | <Button type="success" size="small" @click="onExportClick">导出</Button> |
| | | </Space> |
| | | </div> |
| | | <DataTable |
| | | :tableHeight="tableHeight" |
| | | :columns="columns" |
| | | :data="data" |
| | | ></DataTable> |
| | | <div class="table"> |
| | | <DataTable |
| | | :tableHeight="tableHeight" |
| | | :columns="columns" |
| | | :data="data" |
| | | :page="page" |
| | | :limit="limit" |
| | | :limits="limits" |
| | | :total="total" |
| | | :loading="loading" |
| | | @on-change="onPageChange" |
| | | @on-page-size-change="onPageSizeChange" |
| | | @on-prev="onPrev" |
| | | @on-next="onNext" |
| | | ></DataTable> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { ref } from "vue"; |
| | | import DataTable from "@/components/examples/data-table.vue"; |
| | | import { exportExcel } from "./excel.js"; |
| | | export default { |
| | | name: "ExampleReportView", |
| | | components: { |
| | |
| | | columns: [], |
| | | data: [], |
| | | tableHeight: 0, |
| | | // 查询表单的定义 |
| | | form: { |
| | | WH_Code: "", |
| | | SupplierCode: "", |
| | | ASNName: "", |
| | | ASNCode: "", |
| | | Invertory: "", |
| | | PurchaseOrderNo: "", |
| | | OrderDate: [], |
| | | State: "", |
| | | Purchase: "", |
| | | PurchaseType: "", |
| | | DocumentType: "", |
| | | CloseState: "", |
| | | IsArrived: "", |
| | | ASNCreateDate: "", |
| | | }, |
| | | // 分页参数 |
| | | page: 1, |
| | | limit: 30, |
| | | limits: [10, 20, 30], |
| | | total: 0, |
| | | loading: false, |
| | | }; |
| | | }, |
| | | methods: { |
| | | async loadColumns() { |
| | | this.columns = [ |
| | | { |
| | | type: "index", |
| | | key: "index", |
| | | title: " ", |
| | | render: (h, { index }) => { |
| | | return h(index); |
| | | return h("div", (this.page - 1) * this.limit + index + 1); |
| | | }, |
| | | width: 50, |
| | | width: 40, |
| | | align: "center", |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "ASNCode", |
| | | title: "ASN单号", |
| | | width: 100, |
| | | sortable: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "CloseState", |
| | | title: "关闭状态", |
| | | width: 100, |
| | | sortable: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "InventoryState", |
| | | title: "存货状态", |
| | | width: 100, |
| | | sortable: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "InvertoryName", |
| | | title: "存货名称", |
| | | width: 100, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "SpecModel", |
| | | title: "规格型号", |
| | | width: 100, |
| | | sortable: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "AuditState", |
| | | title: "审核状态", |
| | | width: 100, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "SendDate", |
| | | title: "发货日期", |
| | | width: 100, |
| | | sortable: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "SupplierCode", |
| | | title: "供应商编码", |
| | | width: 100, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "SupplierName", |
| | | title: "供应商名称", |
| | | width: 100, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "Creator", |
| | | title: "创建人", |
| | | width: 100, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "CreateTime", |
| | | title: "创建时间", |
| | | width: 100, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | key: "", |
| | | key: "PurchasePoint", |
| | | title: "采购点", |
| | | width: 100, |
| | | }, |
| | | ]; |
| | | }, |
| | | async loadData() {}, |
| | | // 加载数据行 |
| | | async loadData() { |
| | | let msg = this.$Message.loading("正在加载数据..."); |
| | | this.loading = true; |
| | | |
| | | let { data, total } = await this.fakeDataList(); |
| | | |
| | | msg(); |
| | | |
| | | this.data = data; |
| | | this.total = total; |
| | | this.loading = false; |
| | | }, |
| | | // 加载全部数据(导出) |
| | | async loadAllData() { |
| | | let msg = this.$Message.loading("正在加载数据..."); |
| | | this.loading = true; |
| | | |
| | | let { data } = await this.fakeDataList(this.total); |
| | | |
| | | msg(); |
| | | |
| | | this.loading = false; |
| | | |
| | | return data; |
| | | }, |
| | | // 测试数据列表 |
| | | fakeDataList(limit) { |
| | | return new Promise((resolve) => { |
| | | let total = 99; |
| | | let fakeList = []; |
| | | for (let i = 0; i < (limit || this.limit); i++) { |
| | | let row = { |
| | | ASNCode: `ASN单号-${(this.page - 1) * this.limit + i + 1}`, |
| | | CloseState: `关闭状态-${(this.page - 1) * this.limit + i + 1}`, |
| | | InventoryState: `存货状态-${(this.page - 1) * this.limit + i + 1}`, |
| | | InvertoryName: `存货名称-${(this.page - 1) * this.limit + i + 1}`, |
| | | SpecModel: `规格型号-${(this.page - 1) * this.limit + i + 1}`, |
| | | AuditState: `审核状态-${(this.page - 1) * this.limit + i + 1}`, |
| | | SendDate: `发货日期-${(this.page - 1) * this.limit + i + 1}`, |
| | | SupplierCode: `供应商编码-${(this.page - 1) * this.limit + i + 1}`, |
| | | SupplierName: `供应商名称-${(this.page - 1) * this.limit + i + 1}`, |
| | | Creator: `创建人-${(this.page - 1) * this.limit + i + 1}`, |
| | | CreateTime: `创建时间-${(this.page - 1) * this.limit + i + 1}`, |
| | | PurchasePoint: `采购点-${(this.page - 1) * this.limit + i + 1}`, |
| | | }; |
| | | if ((this.page - 1) * this.limit + i + 1 < 100) fakeList.push(row); |
| | | } |
| | | setTimeout(() => { |
| | | resolve({ data: fakeList, total }); |
| | | }, 1 * 1000); |
| | | }); |
| | | }, |
| | | resize() { |
| | | let height = |
| | | this.refView.clientHeight - |
| | |
| | | 9; |
| | | this.tableHeight = height; |
| | | }, |
| | | onExportClick() {}, |
| | | onSearchClick() { |
| | | alert(JSON.stringify(this.form, "", " ")); |
| | | }, |
| | | onClearClick() { |
| | | this.form.SupplierCode = ""; |
| | | this.form.ASNName = ""; |
| | | this.form.ASNCode = ""; |
| | | this.form.Invertory = ""; |
| | | this.form.PurchaseOrderNo = ""; |
| | | this.form.OrderDate = []; |
| | | this.form.State = ""; |
| | | this.form.Purchase = ""; |
| | | this.form.PurchaseType = ""; |
| | | this.form.DocumentType = ""; |
| | | this.form.CloseState = ""; |
| | | this.form.IsArrived = ""; |
| | | this.form.ASNCreateDate = ""; |
| | | }, |
| | | async onExportClick() { |
| | | let datas = await this.loadAllData(); |
| | | await exportExcel(this, datas); |
| | | }, |
| | | onPageChange(page) { |
| | | this.page = page; |
| | | this.loadData(); |
| | | }, |
| | | onPageSizeChange(limit) { |
| | | this.limit = limit; |
| | | this.loadData(); |
| | | }, |
| | | onPrev(page) { |
| | | this.page = page; |
| | | this.loadData(); |
| | | }, |
| | | onNext(page) { |
| | | this.page = page; |
| | | this.loadData(); |
| | | }, |
| | | }, |
| | | async mounted() { |
| | | await this.loadColumns(); |
| | | await this.loadData(); |
| | | this.loadData(); |
| | | this.$nextTick(() => { |
| | | this.resize(); |
| | | }); |
| | |
| | | .buttons { |
| | | margin-bottom: 9px; |
| | | } |
| | | .table { |
| | | height: calc(100% - 170px); |
| | | } |
| | | .ivu-form .ivu-form-item-label, |
| | | .ivu-checkbox-wrapper { |
| | | font-size: 12px; |
| | | } |
| | | .ivu-input-wrapper { |
| | | .ivu-icon { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | </style> |