|
@@ -0,0 +1,236 @@
|
|
|
+<template>
|
|
|
+ <page-header-wrapper>
|
|
|
+ <a-card :bordered="false">
|
|
|
+ <div class="table-page-search-wrapper">
|
|
|
+ <a-form layout="inline">
|
|
|
+ <a-row :gutter="48">
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="唛头">
|
|
|
+ <a-input v-model="queryParam.member_id" placeholder="请输入唛头"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="!advanced && 8 || 24" :sm="24">
|
|
|
+ <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
|
|
|
+ <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
|
|
+ <a-button style="margin-left: 8px" @click="() => { this.queryParam = {}; this.$refs.table.refresh(true) }">重置</a-button>
|
|
|
+ </span>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </div>
|
|
|
+ <s-table
|
|
|
+ ref="table"
|
|
|
+ size="default"
|
|
|
+ rowKey="id"
|
|
|
+ :columns="columns"
|
|
|
+ :data="loadData"
|
|
|
+ showPagination="auto"
|
|
|
+ >
|
|
|
+ <template slot="to_storage_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 1 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="transit_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 2 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="to_claim_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 3 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="storage_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 5 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="packing_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 6 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="wait_delivery_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 7 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="delivered_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 8 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="completed_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 9 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <template slot="cancel_count" slot-scope="text, record">
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id, report_status: 4 } }">{{ text }}</router-link>
|
|
|
+ </template>
|
|
|
+ <span slot="action" slot-scope="text, record">
|
|
|
+ <template>
|
|
|
+ <router-link :to="{ name: 'logistics_orderList', query: { member_id: record.member_id } }">订单列表</router-link><br/><br/>
|
|
|
+ <router-link :to="{ name: 'logistics_packageList', query: { member_id: record.member_id } }">包裹列表</router-link>
|
|
|
+ </template>
|
|
|
+ </span>
|
|
|
+ </s-table>
|
|
|
+ </a-card>
|
|
|
+ </page-header-wrapper>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import moment from 'moment'
|
|
|
+import { STable, Ellipsis } from '@/components'
|
|
|
+import { memberList } from '@/api/manage'
|
|
|
+
|
|
|
+import StepByStepModal from './modules/StepByStepModal'
|
|
|
+import CreateForm from './modules/CreateForm'
|
|
|
+import deliveryForm from './modules/deliveryForm'
|
|
|
+import detailForm from './modules/detailForm'
|
|
|
+
|
|
|
+const columns = [
|
|
|
+ {
|
|
|
+ title: '唛头',
|
|
|
+ dataIndex: 'member_id'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)总数量',
|
|
|
+ dataIndex: 'count'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)待入库',
|
|
|
+ dataIndex: 'to_storage_count',
|
|
|
+ scopedSlots: { customRender: 'to_storage_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)运输中',
|
|
|
+ dataIndex: 'transit_count',
|
|
|
+ scopedSlots: { customRender: 'transit_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)待认领',
|
|
|
+ dataIndex: 'to_claim_count',
|
|
|
+ scopedSlots: { customRender: 'to_claim_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)已入库',
|
|
|
+ dataIndex: 'storage_count',
|
|
|
+ scopedSlots: { customRender: 'storage_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)申请打包',
|
|
|
+ dataIndex: 'packing_count',
|
|
|
+ scopedSlots: { customRender: 'packing_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)待发货',
|
|
|
+ dataIndex: 'wait_delivery_count',
|
|
|
+ scopedSlots: { customRender: 'wait_delivery_count' }
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ title: '(包裹)已发货',
|
|
|
+ dataIndex: 'delivered_count',
|
|
|
+ scopedSlots: { customRender: 'delivered_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)已完成',
|
|
|
+ dataIndex: 'completed_count',
|
|
|
+ scopedSlots: { customRender: 'completed_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '(包裹)取消',
|
|
|
+ dataIndex: 'cancel_count',
|
|
|
+ scopedSlots: { customRender: 'cancel_count' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ width: '150px',
|
|
|
+ scopedSlots: { customRender: 'action' }
|
|
|
+ }
|
|
|
+]
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'TableList',
|
|
|
+ components: {
|
|
|
+ STable,
|
|
|
+ Ellipsis,
|
|
|
+ CreateForm,
|
|
|
+ StepByStepModal,
|
|
|
+ deliveryForm,
|
|
|
+ detailForm
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ try {
|
|
|
+ console.log('TableList - initializing data')
|
|
|
+ this.columns = columns
|
|
|
+ return {
|
|
|
+ visibleDetail: false,
|
|
|
+ // create model
|
|
|
+ visibleDelivery: false,
|
|
|
+ visible: false,
|
|
|
+ confirmLoading: false,
|
|
|
+ mdl: null,
|
|
|
+ // 高级搜索 展开/关闭
|
|
|
+ advanced: false,
|
|
|
+ // 查询参数
|
|
|
+ queryParam: {},
|
|
|
+ // 加载数据方法 必须为 Promise 对象
|
|
|
+ loadData: parameter => {
|
|
|
+ console.log('TableList - loadData called with params:', parameter)
|
|
|
+ const requestParameters = Object.assign({}, parameter, this.queryParam)
|
|
|
+ // Transform parameter names
|
|
|
+ const transformedParams = {
|
|
|
+ ...requestParameters,
|
|
|
+ page: requestParameters.pageNo,
|
|
|
+ page_size: requestParameters.pageSize,
|
|
|
+ report_status: requestParameters.status ? requestParameters.status : '',
|
|
|
+ tracking_no: requestParameters.id
|
|
|
+ }
|
|
|
+ // Remove original parameters
|
|
|
+ delete transformedParams.pageNo
|
|
|
+ delete transformedParams.pageSize
|
|
|
+ console.log('TableList - loadData request parameters:', transformedParams)
|
|
|
+ return memberList(transformedParams)
|
|
|
+ .then(res => {
|
|
|
+ console.log('TableList - loadData response:', res)
|
|
|
+ if (!res || !res.data || !res.data.list) {
|
|
|
+ console.error('TableList - loadData invalid response:', res)
|
|
|
+ return {
|
|
|
+ data: [],
|
|
|
+ pageSize: parameter.pageSize,
|
|
|
+ pageNo: parameter.pageNo,
|
|
|
+ totalCount: 0
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ data: res.data.list,
|
|
|
+ pageSize: parameter.pageSize,
|
|
|
+ pageNo: parameter.pageNo,
|
|
|
+ totalCount: res.data.count || res.data.list.length
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ console.error('TableList - loadData error:', error)
|
|
|
+ return {
|
|
|
+ data: [],
|
|
|
+ pageSize: parameter.pageSize,
|
|
|
+ pageNo: parameter.pageNo,
|
|
|
+ totalCount: 0
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error('TableList - data initialization error:', error)
|
|
|
+ return {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleSub (record) {
|
|
|
+ this.visibleDetail = true
|
|
|
+ this.mdl = { ...record }
|
|
|
+ },
|
|
|
+ toggleAdvanced () {
|
|
|
+ this.advanced = !this.advanced
|
|
|
+ },
|
|
|
+ resetSearchForm () {
|
|
|
+ this.queryParam = {
|
|
|
+ date: moment(new Date())
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleLinkClick (record) {
|
|
|
+ console.log('TableList - handleLinkClick called with record:', record)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|