From 9e418c7f5419e665cdeddc895f95eff078a4dbb9 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 18 十二月 2024 17:41:53 +0800 Subject: [PATCH] 1.花材统计报表 --- pages/order/list/index.vue | 146 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 141 insertions(+), 5 deletions(-) diff --git a/pages/order/list/index.vue b/pages/order/list/index.vue index bc7e38b..1e60b2f 100644 --- a/pages/order/list/index.vue +++ b/pages/order/list/index.vue @@ -1,6 +1,6 @@ <template> <div> - <el-bus-crud +<!-- <el-bus-crud ref="crud" v-bind="tableConfig" :extra-query="{ levelDown: checkedLevelDown }" @@ -14,7 +14,11 @@ >未处理的质检异常订单</el-checkbox > </template> - </el-bus-crud> + </el-bus-crud>--> + <el-bus-crud + ref="crud" + v-bind="tableConfig" + ></el-bus-crud> <div id="print-container"> <print-list ref="printList" :order-list="orderList" /> </div> @@ -37,10 +41,14 @@ orderList: [], tableConfig: { url: 'flower/api/order/list', + editUrl: 'flower/api/order/page/update', hasNew: false, - hasEdit: false, + hasEdit: true, hasDelete: false, persistSelection: true, + hasExport: true, + exportUrl: 'flower/api/order/list/export', + exportText: '导出订单', onResetView: (row) => { this.$router.push(`${this.$route.path}/${row.id}`) }, @@ -57,6 +65,17 @@ statusComp.extraQuery = { ...params, statusBackend: '' } statusComp.getOtherOptions() } + const abnormalOrderStatusComp = searchForm.getComponentById('abnormalOrderStatus') + if (abnormalOrderStatusComp) { + // 组件内部不会修改这个prop直接修改可忽略警告 + abnormalOrderStatusComp.extraQuery = { ...params, abnormalOrderStatus: '' } + abnormalOrderStatusComp.getOtherOptions() + } + } + }, + beforeOpen: (row, isNew) => { + if (!isNew) { + row.districtStr = this.getDistrict(row) } }, columns: [ @@ -75,9 +94,13 @@ }, { label: '订单金额(元)', prop: 'totalAmount', minWidth: 150 }, { label: '底价(元)', prop: 'supplierAmount', minWidth: 150 }, + { label: '销售扎数', prop: 'saleNum', minWidth: 150 }, { label: '订单状态', prop: 'statusBackendStr', minWidth: 120 }, { label: '下单时间', prop: 'createTime', minWidth: 180 }, + { label: '支付时间', prop: 'paymentTime', minWidth: 180 }, { label: '合伙人', prop: 'partnerName', minWidth: 120 }, + { label: '库位', prop: 'warehouseLocationCode', minWidth: 120 }, + { label: '特殊需求', prop: 'specialNeedsStr', minWidth: 120 }, { label: '备注', formatter: (row) => ( @@ -112,7 +135,42 @@ }, // code: 'ORDER_STATUS_BACKEND', }, - default: '', + default: this.$route.query.statusBackend || '', + span: 24, + searchImmediately: true, + on: { + optionsChange: (e, updateForm, { currentComp }) => { + if (Array.isArray(e[0]) && e[0].length > 0) { + const totalCount = e[0].reduce((total, current) => { + return (total += current.orderCount) + }, 0) + // 组件内部不会修改这个prop直接修改可忽略警告 + currentComp.props = { + allLabel: `不限(${totalCount})`, + } + } + }, + }, + }, + { + label: '异常订单:', + id: 'abnormalOrderStatus', + type: 'bus-radio', + el: { + hasAll: true, + otherInterfaceUri: 'flower/api/order/abnormal/status/count', + childType: 'el-radio-button', + filterOptions: (list) => { + return list.map((item) => { + return { + ...item, + label: `${item.label}(${item.orderCount})`, + } + }) + }, + // code: 'ORDER_STATUS_BACKEND', + }, + default: this.$route.query.abnormalOrderStatus || '', span: 24, searchImmediately: true, on: { @@ -153,6 +211,77 @@ id: 'customer', type: 'input', el: { placeholder: '收货人姓名/手机号' }, + }, + { label: '收货地址:', id: 'address', type: 'input' }, + { label: '库位:', id: 'warehouseLocationCode', type: 'input' }, + { + label: '用户账号:', + id: 'createName', + type: 'input', + el: { placeholder: '用户账号' }, + rules: { + required: false, + pattern: /^\d{1,11}$/, + message: '请输入合法的用户账号', + trigger: 'blur', + }, + }, + { + label: '地区', + id: 'province', + component: 'el-bus-select-area', + el: { + clearable: true, + }, + commonFormat: true, + commonFormatProps: ['province', 'city', 'region'], + customClass: 'in-bus-form', + }, + ], + }, + ], + form: [ + { + type: 'row', + span: 12, + items: [ + { + label: '地区:', + id: 'customerProvince', + component: 'el-bus-select-area', + span: 24, + commonFormat: true, + commonFormatProps: [ + 'customerProvince', + 'customerCity', + 'customerRegion', + ], + str: true, + strKey: 'districtStr', + rules: { required: true, message: '请选择地区' }, + }, + { + label: '详细地址:', + id: 'customerAddress', + type: 'input', + span: 24, + rules: { + required: true, + message: '请输入详细地址且最大不超过50个汉字', + trigger: 'blur', + max: 50, + }, + }, + { + label: '联系方式:', + id: 'customerTel', + type: 'input', + rules: { + required: true, + pattern: this.$elBusUtil.REG.MOBILEPHONE, + message: '请输入合法的手机号', + trigger: 'blur', + }, }, ], }, @@ -199,7 +328,7 @@ for (const tr of trs) { const tds = tr.querySelectorAll('td') if (tds && tds.length > 0) { - tds[0].colSpan = 7 + tds[0].colSpan = 8 tds[0].style.textAlign = 'center' } } @@ -301,6 +430,13 @@ this.$refs.crud.search() }, }, + methods: { + getDistrict(row) { + return `${row.customerProvince || ''}${row.customerCity || ''}${ + row.customerRegion || '' + }` + }, + }, } </script> -- Gitblit v1.9.3