Browse Source

Merge branch 'deploy_0203' of chelingzhu-web/zxyj-admin-html into master

liwenwen 4 years ago
parent
commit
37374b2730

+ 59 - 0
src/api/labelSetting.js

@@ -0,0 +1,59 @@
+import { axios } from '@/utils/request'
+
+// 获取列表数据
+export const getLableListData = params => {
+  const url = `label/query/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: {},
+    method: 'POST'
+  })
+}
+
+// 删除接口
+export const delectLable = params => {
+  return axios({
+    url: `label/delete/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+
+// 新增/编辑保存接口
+export const saveLable = params => {
+  return axios({
+    url: 'label/save',
+    data: params,
+    method: 'POST'
+  })
+}
+
+// 编辑查详情
+export const lableDetails = (params) => {
+  const url = `/label/findById/${params.id}`
+  return axios({
+    url: url,
+    data: params,
+    method: 'get'
+  })
+}
+
+// 标签下拉列表
+export const lableSeleteList = params => {
+  return axios.request({
+    url: `label/queryList`,
+    method: 'post',
+    data: {}
+  })
+}
+
+// 网点首次投递下拉列表
+export const stationSeleteList = params => {
+  return axios.request({
+    url: `station/queryStationList`,
+    method: 'post',
+    data: {}
+  })
+}

+ 9 - 0
src/api/releaseRecord.js

@@ -30,6 +30,15 @@ export const getDeliveryLogTotal = (params) => {
   })
 }
 
+// 统计-网点列表(过滤掉电子秤)
+export const stationListName = params => {
+  return axios.request({
+    url: `/station/queryStationList`,
+    method: 'post',
+    data: params
+  })
+}
+
 // 网点列表
 export const stationList = params => {
   return axios.request({

+ 11 - 0
src/config/router.config.js

@@ -471,6 +471,17 @@ export const asyncRouterMap = [{
         permission: 'M_network_list'
       }
     },
+    {
+      path: '/equipmentManage/labelSetting',
+      name: 'labelSetting',
+      component: () => import(/* webpackChunkName: "equipmentManage" */
+        '@/views/equipmentManage/labelSetting/labelSetting.vue'),
+      meta: {
+        title: '网点标签管理',
+        icon: 'link',
+        permission: 'M_labelSetting_list'
+      }
+    },
     {
       path: '/equipmentManage/equipment',
       name: 'equipment',

+ 47 - 6
src/views/cleanManage/cleanDetail.vue

@@ -33,11 +33,34 @@
               </a-select>
             </a-form-model-item>
           </a-col>
+          <a-col :xs="24" :sm="12" :md="6" :lg="5">
+            <a-form-model-item label="网点标签" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="cleanDetail-labelNoList"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-model-item>
+          </a-col>
           <a-col :xs="24" :sm="12" :md="6" :lg="5">
             <a-form-model-item label="设备编号" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-input allowClear placeholder="请输入设备编号" v-model.trim="queryParam.srcDeviceCode" id="cleanDetail-srcDeviceCode" />
             </a-form-model-item>
           </a-col>
+          <a-col :xs="24" :sm="12" :md="6" :lg="4">
+            <a-button type="primary" @click="refresh" style="margin: 4px 10px 0 20px" id="cleanDetail-refresh">查询</a-button>
+            <a-button type="" @click="reset" style="margin-top: 4px" id="cleanDetail-reset">重置</a-button>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
           <a-col :xs="24" :sm="12" :md="6" :lg="5">
             <a-form-model-item label="清运司机" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-select
@@ -52,10 +75,6 @@
               </a-select>
             </a-form-model-item>
           </a-col>
-          <a-col :xs="24" :sm="12" :md="6" :lg="4">
-            <a-button type="primary" @click="refresh" style="margin: 4px 10px 0 20px" id="cleanDetail-refresh">查询</a-button>
-            <a-button type="" @click="reset" style="margin-top: 4px" id="cleanDetail-reset">重置</a-button>
-          </a-col>
         </a-row>
       </a-form-model>
     </div>
@@ -86,6 +105,7 @@ import { STable, VSelect } from '@/components'
 import { stationList } from '@/api/releaseRecord.js'
 import cleanDetailModal from './cleanDetailModal.vue'
 import { cleanDetailsList, getCleanDetailsTotal, cleanUserList } from '@/api/cleanManage.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
 import moment from 'moment'
 export default {
   components: { STable, VSelect, cleanDetailModal },
@@ -108,9 +128,11 @@ export default {
         stationNo: undefined, // 网点编号
         srcDeviceCode: null, // 设备编号
         beginDate: null, // 开始时间
-        endDate: null // 结束时间
+        endDate: null, // 结束时间
+        labelNoList: [] // 网点标签
       },
       optionData: [], // 网点名称数据
+      lableData: [], // 网点标签数据
       cleanUserData: [], // 操作人数据
       // 将默认当天时间日期回显在时间选择框中
       time: [],
@@ -120,6 +142,7 @@ export default {
       columns: [{ title: '序号', dataIndex: 'no', width: 60, align: 'center' },
         { title: '清运时间', dataIndex: 'cleanTime', width: 100, align: 'center' },
         { title: '网点名称', dataIndex: 'stationName', width: 100, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '网点标签', dataIndex: 'labelName', width: 100, align: 'center', customRender: (text) => { return text || '--' } },
         { title: '设备编号', dataIndex: 'srcDeviceCode', width: 100, align: 'center', customRender: (text) => { return text || '--' } },
         { title: '可回收物清运量(kg)', dataIndex: 'cleanWeight', width: 100, align: 'center', sorter: true, customRender: (text) => { return text || 0 } },
         { title: '清运司机', dataIndex: 'driverName', width: 100, align: 'center', customRender: (text) => { return text || '--' } },
@@ -159,6 +182,7 @@ export default {
     this.getStationList()
     this.getTotal()
     this.getCleanUserList()
+    this.getlableSeleteList()
   },
   methods: {
     // 不可选日期
@@ -177,6 +201,14 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    // 获取标签数据
+    getlableSeleteList () {
+	  lableSeleteList().then(res => {
+	    if (res.status == 200) {
+	      this.lableData = res.data || []
+	    }
+	  })
+    },
     // 获取操作人数据
     getCleanUserList () {
       cleanUserList().then(res => {
@@ -193,6 +225,14 @@ export default {
         }
       })
     },
+    // 获取网点标签数据
+    getLableList () {
+      stationList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 合计
     getTotal () {
       const params = this.queryParam
@@ -225,7 +265,8 @@ export default {
         stationNo: undefined, // 网点编号
         srcDeviceCode: null, // 设备编号
         beginDate: null, // 开始时间
-        endDate: null // 结束时间
+        endDate: null, // 结束时间
+        labelNoList: []
       }
       this.time = []
       this.refresh()

+ 41 - 2
src/views/cleanManage/netWorkCleanRecord.vue

@@ -35,6 +35,23 @@
               </a-select>
             </a-form-model-item>
           </a-col>
+          <a-col :xs="24" :sm="12" :md="6" :lg="5">
+            <a-form-model-item label="网点标签" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="netWorkCleanRecord-labelNoList"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-model-item>
+          </a-col>
           <a-col :xs="24" :sm="12" :md="6" :lg="5">
             <a-button type="primary" @click="refreshSearch" id="netWorkCleanRecord-refresh" style="margin: 4px 10px 0 20px">查询</a-button>
             <a-button type="" @click="reset" id="netWorkCleanRecord-reset" style="margin-top: 4px">重置</a-button>
@@ -68,6 +85,7 @@
 import { STable, VSelect } from '@/components'
 import { stationList } from '@/api/releaseRecord.js'
 import { cleanRecordList, getCleanStationTotal } from '@/api/cleanManage.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
 import netWorkCleanModal from './netWorkCleanModal.vue'
 import moment from 'moment'
 import getDate from '@/libs/getDate.js'
@@ -89,11 +107,13 @@ export default {
       queryParam: {
         beginDate: null, // 开始时间
         endDate: null, // 结束时间
-        stationNo: undefined // 网点编号
+        stationNo: undefined, // 网点编号
+        labelNoList: [] // 网点标签
       },
       totalNum: 0, // 总条数
       cleanWeightTotal: 0, // 回收物总计
       optionData: [], // 网点名称数据
+      lableData: [], // 网点标签
       // 将默认近一周时间日期回显在时间选择框中
       time: [
         moment(getDate.getRecentday().starttime, 'YYYY-MM-DD'),
@@ -102,6 +122,7 @@ export default {
       dateFormat: 'YYYY-MM-DD',
       columns: [{ title: '序号', dataIndex: 'no', width: 60, align: 'center' },
         { title: '网点名称', dataIndex: 'stationName', width: 200, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '网点标签', dataIndex: 'labelName', width: 200, align: 'center', customRender: (text) => { return text || '--' } },
         { title: '清运次数', dataIndex: 'cleanTimes', width: 50, align: 'center', sorter: true },
         { title: '清运重量(kg)', dataIndex: 'cleanWeight', width: 100, align: 'center', sorter: true, customRender: (text) => { return text || 0 } },
         { title: '最后清运时间', dataIndex: 'cleanTime', width: 100, align: 'center', customRender: (text) => { return text || '--' } },
@@ -138,6 +159,7 @@ export default {
   mounted () {
     this.getStationList()
     this.getTotal()
+    this.getlableSeleteList()
   },
   methods: {
     // 不可选日期
@@ -156,6 +178,14 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 获取网点名称数据
     getStationList () {
       stationList().then(res => {
@@ -164,6 +194,14 @@ export default {
         }
       })
     },
+    // 获取网点标签数据
+    getLableList () {
+      stationList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 总计
     getTotal () {
       const params = this.queryParam
@@ -194,7 +232,8 @@ export default {
       this.queryParam = {
         stationNo: undefined,
         beginDate: null,
-        endDate: null
+        endDate: null,
+        labelNoList: []
       }
       this.time = [
         moment(getDate.getRecentday().starttime, 'YYYY-MM-DD 00:00:00'),

+ 2 - 2
src/views/cleanManage/statisticalReport.vue

@@ -137,7 +137,7 @@ import _ from 'lodash'
 import getDate from '@/libs/getDate'
 import moment from 'moment'
 import { findTotalGroupRubbi, findTotalGroupUser, findTotalGroupDate, findTotalGroupDateAndRubbishType } from '@/api/cleanManage.js'
-import { stationList } from '@/api/releaseRecord.js'
+import { stationListName } from '@/api/releaseRecord.js'
 import { getLookUpData } from '@/api/data'
 export default {
   name: 'Home',
@@ -329,7 +329,7 @@ export default {
     },
     // 查询网点列表
     getListStation () {
-      stationList().then(res => {
+      stationListName({ "deviceType":"BOX"}).then(res => {
         if (res.status == 200) {
           this.stationList = res.data || []
 		  console.log(this.stationList, '------------网点')

+ 39 - 5
src/views/equipmentManage/equipment/equipment.vue

@@ -55,6 +55,23 @@
                 allowClear></v-select>
             </a-form-item>
           </a-col>
+          <a-col :span="6">
+            <a-form-item label="网点标签">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="equipment-labelNoList"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
           <a-col :span="6">
             <a-button class="handle-btn serach-btn" id="equipment-btn-serach" type="primary" @click="$refs.table.refresh(true)">查询</a-button>
             <a-button class="handle-btn" type="" id="equipment-btn-reset" @click="handleReset">重置</a-button>
@@ -104,6 +121,7 @@ import { STable, VSelect } from '@/components'
 import equipmentLogModal from './logModal.vue'
 import { deviceList } from '@/api/device'
 import { deviceTypeListQuery, exportDevice } from '@/api/boxSetting'
+import { lableSeleteList } from '@/api/labelSetting.js'
 import moment from 'moment'
 export default {
   name: 'Equipment',
@@ -122,12 +140,15 @@ export default {
         deviceTypeNo: undefined, //  箱体类型
         boxNum: undefined, //  内置箱体数
         onlineFlag: undefined, //  设备状态
-        state: undefined //  工作状态
+        state: undefined, //  工作状态
+        labelNoList: [] // 网点标签
       },
+      lableData: [],
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
         { title: '网点名称', dataIndex: 'stationName', width: 200, align: 'center' },
+        { title: '网点标签', dataIndex: 'labelName', width: 200, align: 'center', customRender: text => { return text || '--' } },
         { title: '地址', dataIndex: 'stationAddress', width: 200, align: 'center' },
         { title: '设备编号', dataIndex: 'srcDeviceCode', width: 200, align: 'center' },
         { title: '箱体类型', dataIndex: 'deviceTypeName', width: 200, align: 'center' },
@@ -162,6 +183,19 @@ export default {
     }
   },
   methods: {
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 重置
     handleReset () {
       this.queryParam.srcDeviceCode = ''
@@ -170,6 +204,7 @@ export default {
       this.queryParam.boxNum = undefined
       this.queryParam.onlineFlag = undefined
       this.queryParam.state = undefined
+      this.queryParam.labelNoList = []
       this.$refs.table.refresh(true)
     },
     // 导出
@@ -213,10 +248,9 @@ export default {
       })
     }
   },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getDeviceType()
-    })
+  mounted () {
+    this.getDeviceType()
+    this.getlableSeleteList()
   }
 }
 </script>

+ 122 - 0
src/views/equipmentManage/labelSetting/addLabelSetting.vue

@@ -0,0 +1,122 @@
+<template>
+  <a-modal :footer="null" centered :title="titleText" v-model="isShow" @cancle="cancel">
+    <a-spin :spinning="loading">
+      <a-form-model :model="formData" ref="ruleForm" :rules="rules">
+        <a-form-model-item label="网点标签名称" :label-col="{span:6}" :wrapper-col="{span:16}" prop="labelName">
+          <a-input placeholder="请输入网点标签名称(30个字符以内)" v-model="formData.labelName" allowClear :maxLength="30"/>
+        </a-form-model-item>
+        <a-form-model-item label="备注" :label-col="{span:6}" :wrapper-col="{span:16}" prop="remarks">
+          <a-textarea
+            id="addElectronicScale-remarks"
+            :maxLength="500"
+            v-model="formData.remarks"
+            style="min-height: 50px;"
+            placeholder="请输入备注(最多500个字符)"
+            autoSize />
+        </a-form-model-item>
+        <a-form-model-item :wrapper-col="{ span: 24, offset: 8 }">
+          <a-button type="primary" @click="handleSubmit()" :style="{ marginRight: '15px' }">
+            保存
+          </a-button>
+          <a-button :style="{ marginLeft: '15px' }" @click="cancel">
+            取消
+          </a-button>
+        </a-form-model-item>
+      </a-form-model>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import { lableDetails, saveLable } from '@/api/labelSetting.js'
+export default {
+  name: 'AddLabelSetting',
+  props: {
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    id: {
+      type: [Number, String],
+      default: ''
+    }
+  },
+  data () {
+    return {
+      formData: { labelName: '', remarks: '' },
+      isShow: this.visible, // 弹框状态
+      titleText: '新增',
+      rules: {
+        labelName: [{ required: true, message: '请输入网点标签名称(30个字符以内)', trigger: 'blur' }]
+      },
+      loading: false
+    }
+  },
+  methods: {
+    // 数据详情
+    getPageInfo () {
+      const _this = this
+      _this.loading = true
+      lableDetails({
+        id: _this.id
+      }).then(res => {
+        if (res.status == 200) {
+          _this.loading = false
+          _this.formData = Object.assign({}, this.formData, res.data)
+        }
+      })
+    },
+    // 保存
+    handleSubmit () {
+      this.$refs.ruleForm.validate(valid => {
+        const _this = this
+        if (valid) {
+          const params = JSON.parse(JSON.stringify(this.formData))
+          saveLable(params).then(res => {
+            console.log(res, 'rrrrrrrrr')
+            if (res.status == 200) {
+              _this.$message.success(res.message)
+              _this.$emit('refresh')
+              setTimeout(function () {
+                _this.cancel()
+              }, 300)
+            }
+          })
+        }
+      })
+    },
+    cancel (e) {
+      this.clear()
+      this.$emit('close')
+    },
+    clear () {
+      this.$refs.ruleForm.resetFields()
+      delete this.formData.id
+      this.formData.macAddress = ''
+      this.formData.remarks = ''
+    }
+  },
+  // 监听弹窗
+  watch: {
+    // 父页面传过来的弹窗状态
+    visible (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    isShow (newValue, oldValue) {
+      if (newValue) {
+        if (this.id) { // 编辑
+          this.titleText = '编辑'
+          this.getPageInfo()
+        } else {
+          this.titleText = '新增'
+        }
+      } else {
+        this.cancel()
+      }
+    }
+  }
+}
+</script>
+
+<style>
+</style>

+ 141 - 0
src/views/equipmentManage/labelSetting/labelSetting.vue

@@ -0,0 +1,141 @@
+<template>
+  <a-card class="labelSetting-container" :bordered="false">
+    <!-- 新增 -->
+    <div class="labelSetting-container-add">
+      <a-button type="primary" icon="plus" @click="openModal" id="labelSetting-openModal" v-hasPermission="'B_labelSetting_add'">新增</a-button>
+    </div>
+    <!-- 列表 -->
+    <s-table ref="table" :rowKey="record => record.id" :columns="columns" :data="loadData" bordered>
+      <template slot="action" slot-scope="text, record">
+        <a-icon type="edit" title="编辑" class="actionBtn icon-blues" @click="handleEdit(record)" v-hasPermission="'B_labelSetting_edit'"/>
+        <a-icon type="delete" title="删除" class="actionBtn icon-red" @click="delect(record)" v-hasPermission="'B_labelSetting_delete'"/>
+        <span v-if="!$hasPermissions('B_labelSetting_edit') && !$hasPermissions('B_labelSetting_delete')">--</span>
+      </template>
+    </s-table>
+    <!-- 新增/编辑弹窗 -->
+    <add-label-Setting :visible="isOpenModal" :id="itemId" @refresh="refreshTable" @close="isOpenModal = false" />
+  </a-card>
+</template>
+
+<script>
+import { STable } from '@/components'
+import addLabelSetting from './addLabelSetting.vue'
+import { getLableListData, delectLable } from '@/api/labelSetting.js'
+export default {
+  name: 'LabelSetting',
+  components: { STable, addLabelSetting },
+  data () {
+    return {
+      isOpenModal: false, // 默认弹窗关闭
+      itemId: '', // 编辑行id
+      // 列表表头
+      columns: [
+        { title: '序号', dataIndex: 'no', width: 60, align: 'center' },
+        { title: '创建时间', dataIndex: 'createDate', width: 100, align: 'center' },
+        { title: '网点标签名称', dataIndex: 'labelName', width: 100, align: 'center' },
+        { title: '备注', dataIndex: 'remarks', width: 100, align: 'center', ellipsis: true, customRender: text => { return text || '--' } },
+        { title: '操作', dataIndex: 'action', width: 100, align: 'center', scopedSlots: { customRender: 'action' } }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        return getLableListData(Object.assign(parameter)).then(res => {
+          if (res.status == 200) {
+            const no = (res.data.pageNo - 1) * res.data.pageSize
+            for (let i = 0; i < res.data.list.length; i++) {
+              const _item = res.data.list[i]
+              _item.no = no + i + 1
+            }
+            this.totalNum = res.data.count
+            return res.data
+          } else {
+            this.totalNum = 0
+          }
+        })
+      }
+    }
+  },
+  methods: {
+    // 重置
+    handleReset () {
+      this.$refs.table.refresh(true)
+    },
+    // 新增
+    openModal () {
+      console.log('--------新增')
+      this.itemId = ''
+      this.isOpenModal = true
+    },
+    // 编辑
+    handleEdit (record) {
+      this.itemId = record.id
+      this.isOpenModal = true
+    },
+    // 删除
+    delect (record) {
+      const _this = this
+      _this.$confirm({
+        title: '警告',
+        centered: true,
+        content: '删除后无法恢复,确认删除?',
+        okText: '确定',
+        cancelText: '取消',
+        onOk () {
+          delectLable({
+            id: record.id
+          }).then(res => {
+            if (res.status == 200) {
+              _this.$message.success(res.message)
+              _this.$refs.table.refresh()
+            }
+          })
+        }
+      })
+    },
+    // 保存或编辑后刷新列表
+    refreshTable () {
+      // 编辑
+      if (this.itemId) {
+        this.$refs.table.refresh()
+      } else {
+        // 保存
+        this.$refs.table.refresh(true)
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.labelSetting-container {
+  .labelSetting-container-searchForm {
+    .ant-form-inline .ant-form-item {
+      width: 100%;
+    }
+  }
+
+  // 查询按钮
+  .handle-btn {
+    margin-top: 4px;
+  }
+
+  .serach-btn {
+    margin-right: 10px;
+  }
+
+  .labelSetting-container-add {
+    margin-bottom: 15px;
+  }
+}
+ // 查看小程序码  弹框
+  .qrCodeModal {
+    .qrCode {
+      display: block;
+      max-width: 100%;
+      margin: 0 auto;
+    }
+    .downQrCode {
+      display: block;
+      margin: 30px auto;
+    }
+  }
+</style>

+ 40 - 3
src/views/equipmentManage/network/editModal.vue

@@ -131,6 +131,23 @@
           </a-select-option>
         </a-select>
       </a-form-item>
+      <a-form-item label="网点标签" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+        <a-select
+          id="network-edit-labelNoList"
+          placeholder="请选择网点标签"
+          allowClear
+          mode="multiple"
+          v-decorator="[
+            'formData.labelNoList',
+            { initialValue: formData.labelNoList}
+          ]"
+          :showSearch="true"
+          option-filter-prop="children"
+          :filter-option="filterOption"
+        >
+          <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+        </a-select>
+      </a-form-item>
       <a-form-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;">
         <a-button type="primary" html-type="submit" id="network-edit-submit" style="margin-right: 15px">保存</a-button>
         <a-button @click="isShow=false" style="margin-left: 15px" id="network-edit-close">取消</a-button>
@@ -143,6 +160,7 @@
 import { stationSave, stationFind, getProvince, getCityByPro, getDistrictByCity } from '@/api/station'
 import { goldExListQuery } from '@/api/exchangeSetting.js'
 import { deliveryTimeListQuery } from '@/api/openTimeSetting.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
 export default {
   name: 'EditModal',
   props: {
@@ -175,13 +193,15 @@ export default {
         lat: '', //  纬度
         lng: '', //  经度
         goldExRuleNo: undefined, //  兑换规则
-        deliveryTimeRuleNo: undefined //  投递时间段
+        deliveryTimeRuleNo: undefined, //  投递时间段
+        labelNoList: [] // 网点标签编号
       },
       goldExRuleNoList: [], //  兑换规则下拉数据
       deliveryTimeRuleNoList: [], //  投递时间段下拉数据
       addrProvinceList: [], //  省下拉
       addrCityList: [], //  市下拉
-      addrDistrictList: [] //  区下拉
+      addrDistrictList: [], //  区下拉
+      lableData: [] // 标签数据
     }
   },
   computed: {
@@ -206,6 +226,7 @@ export default {
           this.form.setFieldsValue({ 'formData.lng': res.data.lng })
           this.form.setFieldsValue({ 'formData.goldExRuleNo': res.data.goldExRuleNo })
           this.form.setFieldsValue({ 'formData.deliveryTimeRuleNo': res.data.deliveryTimeRuleNo })
+          this.form.setFieldsValue({ 'formData.labelNoList': res.data.labelNoList })
         }
       })
     },
@@ -214,8 +235,10 @@ export default {
       e.preventDefault()
       const _this = this
       this.form.validateFields((err, values) => {
+        console.log(values, '------------')
         if (!err) {
           const formData = values.formData
+          console.log(formData, '-----参数')
           formData.id = this.networkId || null
           formData.provinceName = _this.addrProvinceList.find(item => item.id == formData.provinceCode).name
           formData.cityName = _this.addrCityList.find(item => item.id == formData.cityCode).name
@@ -252,7 +275,20 @@ export default {
         }
       })
     },
-    // 获取省列表'
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
+    // 获取省列表
     getProvinceList () {
       getProvince().then(res => {
         if (res.status == 200) {
@@ -318,6 +354,7 @@ export default {
         this.getProvinceList()
         this.getdeliveryTimeRule() //  投递时间段
         this.getgoldExRule() //  兑换规则
+        this.getlableSeleteList() // 网点标签
         this.form.resetFields()
       }
     },

+ 51 - 13
src/views/equipmentManage/network/network.vue

@@ -14,7 +14,23 @@
                 @change="onChange" />
             </a-form-item>
           </a-col>
-
+          <a-col :span="6">
+            <a-form-item label="网点标签">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="network-labelNoList"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
           <a-col :span="4">
             <a-form-item prop="provinceCode" label="省:">
               <a-select v-model="queryParam.provinceCode" @change="getCityList" placeholder="请选择省">
@@ -55,15 +71,18 @@
     </div>
     <!-- 合计 -->
     <div class="total">
-      <a-icon type="info-circle" class="iconImg" />
-      <strong>总计:</strong><span v-model="orderTotal">{{ orderTotal || 0 }} 条</span>
-    </div>
+      <a-icon
+        type="info-circle"
+        class="iconImg"
+        <strong>总计:</strong><span v-model="orderTotal">{{ orderTotal || 0 }} 条</span>
+      </a-icon></div>
     <s-table
       ref="table"
       size="default"
       :rowKey="(record) => record.id"
       :columns="columns"
       :data="loadData"
+      :scroll="{ x: 1680}"
       bordered>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
@@ -103,6 +122,7 @@ import editNetworkModal from './editModal.vue'
 import detailsNetworkModal from './detailsModal.vue'
 import equipmentModal from './equipmentModal.vue'
 import { stationList, getProvince, getCityByPro, getDistrictByCity } from '@/api/station'
+import { lableSeleteList } from '@/api/labelSetting.js'
 export default {
   name: 'Network',
   components: { STable, VSelect, editNetworkModal, detailsNetworkModal, equipmentModal },
@@ -119,19 +139,22 @@ export default {
         queryWord: '', //  网点名称
         provinceCode: undefined, //  省
         cityCode: undefined, // 市
-        districtCode: undefined // 区
+        districtCode: undefined, // 区
+        labelNoList: []
       },
+      lableData: [],
       // 表头
       columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
+        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
         { title: '创建时间', dataIndex: 'createDate', width: 200, align: 'center' },
-        { title: '网点名称', dataIndex: 'name', width: 200, align: 'center' },
-        { title: '省', dataIndex: 'provinceName', width: 150, align: 'center' },
-        { title: '市', dataIndex: 'cityName', width: 150, align: 'center' },
-        { title: '区', dataIndex: 'districtName', width: 150, align: 'center' },
-        { title: '详细地址', dataIndex: 'address', width: 200, align: 'center' },
-        { title: '兑换规则', dataIndex: 'exRuleName', width: 200, align: 'center' },
-        { title: '投放时间段名称', dataIndex: 'timeRuleName', width: 200, align: 'center' },
+        { title: '网点名称', dataIndex: 'name', width: 200, align: 'center', customRender: text => { return text || '--' } },
+        { title: '网点标签', dataIndex: 'labelName', width: 200, align: 'center', ellipsis: true, customRender: text => { return text || '--' } },
+        { title: '省', dataIndex: 'provinceName', width: 100, align: 'center' },
+        { title: '市', dataIndex: 'cityName', width: 100, align: 'center' },
+        { title: '区', dataIndex: 'districtName', width: 100, align: 'center' },
+        { title: '详细地址', dataIndex: 'address', width: 200, align: 'center', ellipsis: true },
+        { title: '兑换规则', dataIndex: 'exRuleName', width: 150, align: 'center' },
+        { title: '投放时间段名称', dataIndex: 'timeRuleName', width: 150, align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: 200, align: 'center' }
       ],
       // 加载数据方法 必须为 Promise 对象
@@ -175,6 +198,19 @@ export default {
         this.queryParam.endDate = dateStrings[1]
       }
     },
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 重置
     handleReset () {
       this.queryParam.beginDate = undefined
@@ -187,6 +223,7 @@ export default {
       this.$refs.table.refresh(true)
       this.networkId = undefined
       this.networkNo = undefined
+      this.queryParam.labelNoList = []
     },
     //  新增、编辑网点
     handleEdit (row) {
@@ -263,6 +300,7 @@ export default {
   },
   mounted () {
     this.getProvinceList()
+    this.getlableSeleteList()
   }
 }
 </script>

+ 16 - 6
src/views/market/addlotterySetModal.vue

@@ -543,15 +543,24 @@ export default {
     // 抽奖规则
     cjGzChange (val) {
       console.log(val)
-      this.form.luckyDrawTaskList = []
+      // this.form.luckyDrawTaskList = []
       this.form.cjGz && this.form.cjGz.map(item => {
         const row = this.cjGz.find(k => k.code == item)
-        this.form.luckyDrawTaskList.push({
-          taskCode: item,
-          taskCodeDictValue: row.dispName,
-          giveTimes: ''
-        })
+		const hasRow = this.form.luckyDrawTaskList.find(m => m.taskCode == item)
+		if(!hasRow) {
+			this.form.luckyDrawTaskList.push({
+			  taskCode: item,
+			  taskCodeDictValue: row.dispName,
+			  giveTimes: ''
+			})
+		}
       })
+	  this.form.luckyDrawTaskList.map((key,index) => {
+	  	const has = this.form.cjGz && this.form.cjGz.indexOf(key.taskCode)
+		if(has == -1) {
+			this.form.luckyDrawTaskList.splice(index,1)
+		}
+	  })
     },
     // 保存
     onSubmit () {
@@ -625,6 +634,7 @@ export default {
             }
           })
           this.form = Object.assign({}, this.form, res.data)
+		  console.log(this.form,'this.form')
           this.form.isPeopleLimit = this.form.isPeopleLimit == 1
           this.form.time = [moment(this.form.activeStartTime), moment(this.form.activeEndTime)]
           this.form.zjXz = this.getGzVal(this.form.luckyDrawWinPrizeLimitList, 0)

+ 2 - 2
src/views/market/winingRecord.vue

@@ -273,8 +273,8 @@ export default {
         return
       }
       // 判断两个时间段是否相差m个月  第二个参数指相差单位,第三个参数指是否返回浮点形式(小数)
-      if (moment(params.endDate).diff(moment(params.beginDate), 'months', true) > 3) {
-        this.$message.error('单次最多只能导出3个月的数据,请缩小查询区间后再进行导出!')
+      if (moment(params.endDate).diff(moment(params.beginDate), 'months', true) > 1) {
+        this.$message.error('单次最多只能导出1个月的数据,请缩小查询区间后再进行导出!')
         return
       }
       this.$confirm({

+ 45 - 13
src/views/releaseRecord/releaseRecordList.vue

@@ -4,7 +4,7 @@
       <a-form layout="inline" @keyup.enter.native="refresh">
         <a-row :gutter="24">
           <a-col :lg="6" :md="8" :xs="24" :sm="12">
-            <a-form-item label="投放时间:">
+            <a-form-item label="投放时间:" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-range-picker
                 style="width:100%"
                 id="releaseRecordList-queryOrderDate"
@@ -15,17 +15,17 @@
             </a-form-item>
           </a-col>
           <a-col :lg="5" :md="8" :xs="24" :sm="12">
-            <a-form-item label="用户账号">
+            <a-form-item label="用户账号" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-input id="releaseRecordList-customerMobile" allowClear :maxLength="11" v-model=" queryParam.customerMobile" placeholder="请输入用户账号" />
             </a-form-item>
           </a-col>
           <a-col :lg="4" :md="8" :xs="24" :sm="12">
-            <a-form-item label="投放类型">
+            <a-form-item label="投放类型" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select code="RUBBISH_TYPE" v-model="queryParam.rubbishType" allowClear placeholder="请选择投放类型" id="releaseRecordList-rubbishType"></v-select>
             </a-form-item>
           </a-col>
           <a-col :lg="5" :md="8" :xs="24" :sm="12">
-            <a-form-item label="兑换乐豆">
+            <a-form-item label="兑换乐豆" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <div class="input-number">
                 <a-input-number id="releaseRecordList-inputNumber" v-model="queryParam.goldNumStart" :max="999999999" @change="onChange" />-
                 <a-input-number id="inputNumber" v-model="queryParam.goldNumEnd" :max="999999999" @change="onChange" />
@@ -33,19 +33,19 @@
             </a-form-item>
           </a-col>
           <a-col :lg="4" :md="8" :xs="24" :sm="12">
-            <a-form-item label="设备类型">
+            <a-form-item label="设备类型" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select code="DEVICE_TYPE" v-model="queryParam.deviceType" allowClear placeholder="请选择设备类型" id="releaseRecordList-deviceType"></v-select>
             </a-form-item>
           </a-col>
         </a-row>
         <a-row :gutter="24">
           <a-col :lg="6" :md="8" :xs="24" :sm="12">
-            <a-form-item label="设备编号">
+            <a-form-item label="设备编号" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-input id="releaseRecordList-srcDeviceCode" allowClear :maxLength="120" v-model=" queryParam.srcDeviceCode " placeholder="请输入设备编号" />
             </a-form-item>
           </a-col>
           <a-col :lg="5" :md="8" :xs="24" :sm="12">
-            <a-form-item label="网点名称">
+            <a-form-item label="网点名称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <a-select
                 id="releaseRecordList-stationNo"
                 placeholder="请选择网点名称"
@@ -60,7 +60,7 @@
             </a-form-item>
           </a-col>
           <a-col :lg="4" :md="8" :xs="24" :sm="12">
-            <a-form-item label="称重值">
+            <a-form-item label="称重值" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select
                 code="DEVICE_WEIGHT_TAG"
                 mode="multiple"
@@ -79,13 +79,30 @@
             </a-form-item>
           </a-col>
           <a-col :lg="4" :md="8" :xs="24" :sm="12">
-            <a-form-item label="投放方式">
+            <a-form-item label="投放方式" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select code="DELIVERY_WAY" v-model="queryParam.deliveryWay" allowClear placeholder="请选择投放方式" id="releaseRecordList-deliveryWay"></v-select>
             </a-form-item>
           </a-col>
         </a-row>
         <a-row :gutter="24">
-          <a-col :lg="24" :md="8" :xs="24" :sm="12">
+          <a-col :lg="6" :md="8" :xs="24" :sm="12">
+            <a-form-item label="网点标签" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="releaseRecordList-labelNoList"
+                placeholder="请选择网点标签"
+                allowClear
+                mode="multiple"
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :lg="18" :md="8" :xs="24" :sm="12">
             <span class="table-page-search-submitButtons" :style="{ float: 'right', overflow: 'hidden' }">
               <a-button class="handle-btn serach-btn" id="releaseRecordList-serach" type="primary" @click="refresh">查询</a-button>
               <a-button class="handle-btn serach-btn" style="margin-left: 8px" id="releaseRecordList-reset" @click="handleReset">重置</a-button>
@@ -153,6 +170,7 @@
 <script>
 import { STable, VSelect } from '@/components'
 import { getDeliveryLogList, getDeliveryLogTotal, stationList, exportDeliveryLog, numType } from '@/api/releaseRecord.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
 import moment from 'moment'
 import getDate from '@/libs/getDate.js'
 export default {
@@ -185,9 +203,11 @@ export default {
         goldNumEnd: null, // 兑换最大值
         rubbishWeightStart: null, // 投放重量最小值
         rubbishWeightEnd: null, // 投放重量最小值
-        weightTagList: []
+        weightTagList: [],
+        labelNoList: []
       },
-      optionData: [],
+      optionData: [], // 网点名称数据
+      lableData: [], // 网点标签数据
       orderTotal: 0,	// 总单数
       amountTotal: 0,	// 总金额
       // 表头
@@ -195,6 +215,7 @@ export default {
         { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
         { title: '投放时间', dataIndex: 'deliveryTime', width: 200, align: 'center' },
         { title: '网点名称', dataIndex: 'stationName', width: 200, align: 'center' },
+        { title: '网点标签', dataIndex: 'labelName', width: 200, align: 'center', customRender: text => { return text || '--' } },
         { title: '设备编号', dataIndex: 'srcDeviceCode', width: 200, align: 'center' },
         { title: '设备类型', dataIndex: 'deviceTypeDictValue', width: 200, align: 'center' },
         { title: '用户账号', dataIndex: 'customerMobile', width: 200, align: 'center' },
@@ -256,12 +277,14 @@ export default {
         goldNumEnd: null, // 兑换最大值
         rubbishWeightStart: null, // 投放重量最小值
         rubbishWeightEnd: null, // 投放重量最小值
-        weightTagList: []
+        weightTagList: [],
+        labelNoList: []
       }
     })
   },
   mounted () {
     this.getStationList()
+    this.getlableSeleteList()
   },
   methods: {
     moment,
@@ -349,6 +372,14 @@ export default {
         }
       })
     },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 合计
     getListTotal () {
 	  const params = this.queryParam
@@ -388,6 +419,7 @@ export default {
       this.queryParam.deliveryWay = '' // 投放方式
       this.queryParam.rubbishType = ''
 	    this.queryParam.weightTagList = []
+      this.queryParam.labelNoList = []
       this.$refs.table.refresh(true)
     }
   }

+ 50 - 16
src/views/reportForm/rubbishDeliverySearchTime.vue

@@ -2,8 +2,8 @@
   <a-card :bordered="false" class="shopOrder-table-page-search-wrapper">
     <div class="shopOrder-searchForm">
       <a-form layout="inline" @keyup.enter.native="refresh">
-        <a-row :gutter="20">
-          <a-col :span="8">
+        <a-row :gutter="24">
+          <a-col :span="6">
             <a-form-item label="投递时间:" :label-col="{ span: 5 }" :wrapper-col="{ span: 19}">
               <a-range-picker
                 id="rubbishSearchTime-time"
@@ -31,6 +31,23 @@
               </a-select>
             </a-form-item>
           </a-col>
+          <a-col :span="6">
+            <a-form-item label="网点标签" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="releaseRecordList-labelNo"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
           <a-col :span="6">
             <a-button
               class="serach-btn"
@@ -61,9 +78,8 @@
 
 <script>
 import { STable, VSelect } from '@/components'
-import {
-  stationList
-} from '@/api/releaseRecord.js'
+import { stationList } from '@/api/releaseRecord.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
 import { getPutInTimeList, exportTnTimeForm, getDetailTotal } from '@/api/reportForm.js'
 import moment from 'moment'
 import getDate from '@/libs/getDate.js'
@@ -87,12 +103,14 @@ export default {
       queryParam: {
         beginDate: null, // 开始时间
         endDate: null, // 结束时间
-        stationNo: undefined // 网点名称
+        stationNo: undefined, // 网点名称
+        labelNoList: [] // 网点标签
       },
-      optionData: [],
+      optionData: [], // 网点名称数据
+      lableData: [], // 网点标签数据
       totalNum: 0,	// 总条数
       recyclTotal: 0,	// 可回收总计
-	  harmTotal: 0, // 有害垃圾总计
+      harmTotal: 0, // 有害垃圾总计
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: 60, align: 'center' },
@@ -141,6 +159,10 @@ export default {
       }
     }
   },
+  mounted () {
+    this.getStationList()
+    this.getlableSeleteList()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.time = [
@@ -148,7 +170,7 @@ export default {
 		  moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
 	  ]
       vm.queryParam.stationNo = undefined
-      vm.getStationList()
+      vm.queryParam.labelNoList = []
     })
   },
   methods: {
@@ -168,6 +190,14 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    // 获取标签数据
+    getlableSeleteList () {
+	  lableSeleteList().then(res => {
+	    if (res.status == 200) {
+	      this.lableData = res.data || []
+	    }
+	  })
+    },
     // 导出
     handleExport () {
       const params = this.queryParam
@@ -212,8 +242,7 @@ export default {
       link.style.display = 'none'
       link.href = url
       const a = moment(this.queryParam.beginDate).format('LL') + '-' + moment(this.queryParam.endDate).format('LL')
-	  console.log(a)
-	  const name = this.queryParam.stationNo ? this.optionData.find(item => item.stationNo == this.queryParam.stationNo).name : ''
+      const name = this.queryParam.stationNo ? this.optionData.find(item => item.stationNo == this.queryParam.stationNo).name : ''
       const fname = a + '分时投递统计表' + (name ? '(' + name + ')' : '')
       link.setAttribute('download', fname + '.xlsx')
       document.body.appendChild(link)
@@ -231,13 +260,17 @@ export default {
         }
       })
     },
+    // 获取网点标签数据
+    getLableList () {
+      stationList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 合计
     getListTotal () {
-      const params = {
-        beginDate: this.queryParam.beginDate,
-        endDate: this.queryParam.endDate,
-        stationNo: this.queryParam.stationNo // 网点名称
-      }
+      const params = this.queryParam
       if (this.time && this.time.length) {
         params.beginDate = moment(this.time[0]).format('YYYY-MM-DD HH:00:00')
         params.endDate = moment(this.time[1]).format('YYYY-MM-DD HH:00:00')
@@ -264,6 +297,7 @@ export default {
 		  moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
 	  ]
       this.queryParam.stationNo = undefined
+      this.queryParam.labelNoList = []
       this.$refs.table.refresh(true)
     }
   }

+ 72 - 138
src/views/reportForm/rubbishDeliveryTotal.vue

@@ -53,7 +53,24 @@
               </a-select>
             </a-form-model-item>
           </a-col>
-          <a-col :span="10">
+          <a-col :span="6">
+            <a-form-model-item label="网点标签" prop="stationNo" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="rubbishTotal-labelNo"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="5">
             <a-button class="handle-btn serach-btn" id="rubbishTotal-btn-serach" type="primary" @click="$refs.table.refresh(true)">查询</a-button>
             <a-button class="handle-btn serach-btn" type="" id="rubbishTotal-btn-reset" @click="handleReset">重置</a-button>
             <a-button class="export-btn" id="rubbishTotal-export" v-hasPermission="'M_rubbishTotal_export'" :loading="loading" @click="handleExport">导出</a-button>
@@ -78,30 +95,15 @@
 </template>
 
 <script>
-import {
-  STable,
-  VSelect
-} from '@/components'
-import {
-  stationList
-} from '@/api/releaseRecord.js'
-import {
-  getProvince,
-  getCityByPro,
-  getDistrictByCity
-} from '@/api/station'
-import {
-  getSumList,
-  exportSumForm,
-  getSumTotal
-} from '@/api/reportForm.js'
+import { STable, VSelect } from '@/components'
+import { stationList } from '@/api/releaseRecord.js'
+import { lableSeleteList } from '@/api/labelSetting.js'
+import { getProvince, getCityByPro, getDistrictByCity } from '@/api/station'
+import { getSumList, exportSumForm, getSumTotal } from '@/api/reportForm.js'
 import moment from 'moment'
 import getDate from '@/libs/getDate.js'
 export default {
-  components: {
-    STable,
-    VSelect
-  },
+  components: { STable, VSelect },
   data () {
     return {
       loading: false,
@@ -131,108 +133,30 @@ export default {
         cityCode: undefined, // 市
         cityName: '', // 市名称
         districtCode: undefined, // 区
-        districtName: '' // 区名称
+        districtName: '', // 区名称
+        labelNoList: []
       },
       addrProvinceList: [], //  省下拉
       addrCityList: [], //  市下拉
       addrDistrictList: [], //  区下拉
       optionData: [],
+      lableData: [],
       totalNum: 0,	// 总条数
       recyclTotal: 0,	// 可回收总计
       harmTotal: 0, // 有害垃圾总计
       // 表头
-      columns: [{
-        title: '序号',
-        dataIndex: 'no',
-        width: 60,
-        align: 'center'
-      },
-      {
-        title: '网点名称',
-        dataIndex: 'stationName',
-        width: 100,
-        align: 'center'
-      },
-      {
-        title: '可回收垃圾投递量(kg)',
-        children: [{
-          title: '废旧衣物',
-          width: 100,
-          align: 'center',
-          dataIndex: 'clothesWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '废旧纸张',
-          width: 100,
-          align: 'center',
-          dataIndex: 'paperWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '废旧塑料',
-          width: 100,
-          align: 'center',
-          dataIndex: 'plasticWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '废旧金属',
-          width: 100,
-          align: 'center',
-          dataIndex: 'metalWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '废旧金属/塑料',
-          width: 100,
-          align: 'center',
-          dataIndex: 'plasticOrMetalWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '废旧玻璃',
-          width: 100,
-          align: 'center',
-          dataIndex: 'glassWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        },
-        {
-          title: '可回收物',
-          width: 100,
-          align: 'center',
-          dataIndex: 'recyclingWeight',
-          customRender: (text) => {
-            return text || 0
-          }
-        }
-        ]
-      },
-      {
-        title: '可回收垃圾小计(kg)',
-        dataIndex: 'recyclTotalWeight',
-        width: 100,
-        align: 'center'
-      },
-      {
-        title: '有害垃圾(kg)',
-        dataIndex: 'harmWeight',
-        width: 100,
-        align: 'center'
-      }
-      ],
+      columns: [{ title: '序号', dataIndex: 'no', width: 60, align: 'center' },
+        { title: '网点名称', dataIndex: 'stationName', width: 100, align: 'center' },
+        { title: '可回收垃圾投递量(kg)',
+          children: [{ title: '废旧衣物', width: 100, align: 'center', dataIndex: 'clothesWeight', customRender: (text) => { return text || 0 } },
+            { title: '废旧纸张', width: 100, align: 'center', dataIndex: 'paperWeight', customRender: (text) => { return text || 0 } },
+            { title: '废旧塑料', width: 100, align: 'center', dataIndex: 'plasticWeight', customRender: (text) => { return text || 0 } },
+            { title: '废旧金属', width: 100, align: 'center', dataIndex: 'metalWeight', customRender: (text) => { return text || 0 } },
+            { title: '废旧金属/塑料', width: 100, align: 'center', dataIndex: 'plasticOrMetalWeight', customRender: (text) => { return text || 0 } },
+            { title: '废旧玻璃', width: 100, align: 'center', dataIndex: 'glassWeight', customRender: (text) => { return text || 0 } },
+            { title: '可回收物', width: 100, align: 'center', dataIndex: 'recyclingWeight', customRender: (text) => { return text || 0 } }] },
+        { title: '可回收垃圾小计(kg)', dataIndex: 'recyclTotalWeight', width: 100, align: 'center' },
+        { title: '有害垃圾(kg)', dataIndex: 'harmWeight', width: 100, align: 'center' }],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         const searchData = Object.assign(parameter, this.queryParam)
@@ -254,8 +178,8 @@ export default {
             this.getListTotal()
             return res.data
           } else {
-			  this.totalNum = 0
-		  }
+            this.totalNum = 0
+          }
         })
       }
     }
@@ -263,12 +187,13 @@ export default {
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.time = [
-		  moment(getDate.getRecentday().starttime, 'YYYY-MM-DD HH'),
-		  moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
+        moment(getDate.getRecentday().starttime, 'YYYY-MM-DD HH'),
+        moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
       ]
       vm.$refs.queryForm.resetFields()
       vm.getStationList()
       vm.getProvinceList()
+      vm.getlableSeleteList()
     })
   },
   methods: {
@@ -288,6 +213,14 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
     // 获取省列表'
     getProvinceList () {
       getProvince().then(res => {
@@ -302,7 +235,7 @@ export default {
     getCityList (val) {
       this.addrCityList = []
       this.addrDistrictList = []
-	  this.queryParam.provinceName = val ? this.addrProvinceList.find(item => item.code == this.queryParam.provinceCode).name : ''
+      this.queryParam.provinceName = val ? this.addrProvinceList.find(item => item.code == this.queryParam.provinceCode).name : ''
       this.queryParam.cityCode = undefined
       this.queryParam.cityName = ''
       this.queryParam.districtCode = undefined
@@ -323,9 +256,9 @@ export default {
     // 获取区县列表
     getAreaList (val) {
       this.addrDistrictList = []
-	  this.queryParam.cityName = val ? this.addrCityList.find(item => item.code == this.queryParam.cityCode).name : ''
+      this.queryParam.cityName = val ? this.addrCityList.find(item => item.code == this.queryParam.cityCode).name : ''
       this.queryParam.districtCode = undefined
-	  this.queryParam.districtName = ''
+      this.queryParam.districtName = ''
       this.getAreaListRequest(val)
     },
     getAreaListRequest (val) {
@@ -367,18 +300,18 @@ export default {
         return
       }
       this.$confirm({
-		  title: '提示',
-		  content: '导出过程可能需要一些时间,且导出期间不能进行其它操作,确定要导出吗?',
-		  onOk: () => {
-			  this.loading = true
-			  exportSumForm(params).then(res => {
-				  this.loading = false
-				  this.download(res)
-			  })
-		  },
-		  onCancel () {
+        title: '提示',
+        content: '导出过程可能需要一些时间,且导出期间不能进行其它操作,确定要导出吗?',
+        onOk: () => {
+          this.loading = true
+          exportSumForm(params).then(res => {
+            this.loading = false
+            this.download(res)
+          })
+        },
+        onCancel () {
           console.log('Cancel')
-		  }
+        }
       })
     },
     download (data) {
@@ -391,8 +324,8 @@ export default {
       link.href = url
       const a = moment(this.queryParam.beginDate).format('LL') + '-' + moment(this.queryParam.endDate).format('LL')
       const address = this.queryParam.provinceCode ? this.addrProvinceList.find(item => item.id == this.queryParam.provinceCode).name +
-	  (this.queryParam.cityCode ? this.addrCityList.find(item => item.id == this.queryParam.cityCode).name : '') +
-	  (this.queryParam.districtCode ? this.addrDistrictList.find(item => item.id == this.queryParam.districtCode).name : '') : ''
+      (this.queryParam.cityCode ? this.addrCityList.find(item => item.id == this.queryParam.cityCode).name : '') +
+      (this.queryParam.districtCode ? this.addrDistrictList.find(item => item.id == this.queryParam.districtCode).name : '') : ''
       const fname = a + '垃圾分类投递量统计表' + (address ? '(' + address + ')' : '')
       link.setAttribute('download', fname + '.xlsx')
       document.body.appendChild(link)
@@ -435,9 +368,10 @@ export default {
     // 重置
     handleReset () {
       this.time = [
-		  moment(getDate.getRecentday().starttime, 'YYYY-MM-DD HH'),
-		  moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
-	  ]
+        moment(getDate.getRecentday().starttime, 'YYYY-MM-DD HH'),
+        moment(getDate.getRecentday().endtime, 'YYYY-MM-DD HH')
+      ]
+      this.queryParam.labelNoList = []
       this.$refs.queryForm.resetFields()
       this.$refs.table.refresh(true)
     }

+ 110 - 109
src/views/userInfo/userManageList.vue

@@ -25,33 +25,37 @@
                 @change="onChangelastDeliverTime" />
             </a-form-model-item>
           </a-col>
-          <a-col :span="5">
-            <a-form-model-item prop="mobile" label="用户手机" :label-col="{span:8}" :wrapper-col="{span:16}">
-              <a-input id="releaseRecordList-mobile" allowClear :maxLength="11" v-model="queryParam.mobile" placeholder="请输入用户手机" />
+          <a-col :span="6">
+            <a-form-model-item prop="mobile" label="用户手机" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+              <a-input id="userManageList-mobile" allowClear :maxLength="11" v-model="queryParam.mobile" placeholder="请输入用户手机" />
             </a-form-model-item>
           </a-col>
-          <a-col :span="4">
-            <a-form-model-item label="乐豆余额" prop="currentGoldMin" :label-col="{span:10}" :wrapper-col="{span:14}">
+          <a-col :span="6">
+            <a-form-model-item label="乐豆余额" prop="currentGoldMin" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <div class="input-number">
-                <a-input-number id="releaseRecordList-inputNumber" v-model="queryParam.currentGoldMin" :max="999999999" />
-				<span style="margin-left: 22%;">-</span>
+                <a-input-number id="userManageList-inputNumber" v-model="queryParam.currentGoldMin" :max="999999999" />
+                <span style="margin:0 11%">-</span>
+                <a-input-number id="inputNumber" v-model="queryParam.currentGoldMax" :max="999999999" />
               </div>
+              <!-- <div class="input-number">
+                <a-input-number id="inputNumber" v-model="queryParam.currentGoldMax" :max="999999999" />
+              </div> -->
             </a-form-model-item>
           </a-col>
-		  <a-col :span="2">
-			  <a-form-model-item label=" " prop="currentGoldMax" :colon="false" :label-col="{span:1}" :wrapper-col="{span:23}">
-			    <div class="input-number">
-			      <a-input-number id="inputNumber" v-model="queryParam.currentGoldMax" :max="999999999" />
-			    </div>
-			  </a-form-model-item>
-		  </a-col>
+          <!-- <a-col :span="2">
+            <a-form-model-item label=" " prop="currentGoldMax" :colon="false" :label-col="{span:1}" :wrapper-col="{span:23}">
+              <div class="input-number">
+                <a-input-number id="inputNumber" v-model="queryParam.currentGoldMax" :max="999999999" />
+              </div>
+            </a-form-model-item>
+          </a-col> -->
         </a-row>
         <a-row :gutter="20">
           <a-col :span="6">
             <a-form-model-item label="账户状态" prop="state" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select
                 v-model="queryParam.state"
-                id="releaseRecordList-state"
+                id="userManageList-state"
                 code="ENABLE_FLAG"
                 placeholder="请选择账户状态"
                 allowClear></v-select>
@@ -61,24 +65,57 @@
             <a-form-model-item prop="customerRole" label="用户身份" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
               <v-select
                 v-model="queryParam.customerRole"
-                id="releaseRecordList-customerRole"
+                id="userManageList-customerRole"
                 code="CUSTOMER_ROLE"
                 placeholder="请选择用户身份"
                 allowClear></v-select>
             </a-form-model-item>
           </a-col>
           <a-col :span="6">
-            <a-button class="handle-btn serach-btn" id="releaseRecordList-btn-serach" type="primary" @click="refresh">查询</a-button>
-            <a-button class="handle-btn" type="" id="releaseRecordList-btn-reset" @click="handleReset">重置</a-button>
+            <a-form-item label="首次投递网点">
+              <a-select
+                id="userManageList-firstDeliveryStationNo"
+                placeholder="请选择首次投递网点"
+                allowClear
+                v-model="queryParam.firstDeliveryStationNo"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in stationData" :key="item.stationNo" :value="item.stationNo">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-item label="网点标签">
+              <a-select
+                style="max-height: 50px;overflow: auto;margin-top: 3px;"
+                id="userManageList-labelNo"
+                placeholder="请选择网点标签"
+                mode="multiple"
+                allowClear
+                v-model="queryParam.labelNoList"
+                :showSearch="true"
+                option-filter-prop="children"
+                :filter-option="filterOption"
+              >
+                <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row style="margin-bottom:15px">
+          <a-col style="float: right">
+            <a-button class="handle-btn serach-btn" id="userManageList-btn-serach" type="primary" @click="refresh">查询</a-button>
+            <a-button class="handle-btn" type="" id="userManageList-btn-reset" @click="handleReset">重置</a-button>
             <a-button
               class="export-btn"
-              id="releaseRecordList-btn-export"
+              id="userManageList-btn-export"
               :loading="loading"
               @click="handleExport"
               v-hasPermission="'B_user_userManage_export'">导出</a-button>
           </a-col>
         </a-row>
-
       </a-form-model>
     </div>
     <s-table
@@ -94,15 +131,15 @@
           v-hasPermission="'B_user_userManage_enable'"
           checkedChildren="启用"
           unCheckedChildren="禁用"
-          id="releaseRecordList-changeFlagHandle"
+          id="userManageList-changeFlagHandle"
           :checked="record.state == 1 ? true : false"
           @change="changeFlagHandle(text, record)" />
         <span v-if="!$hasPermissions('B_user_userManage_enable')">--</span>
       </template>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
-        <a-button id="releaseRecordList-handleUser" type="link" @click="handleUser(record)" v-hasPermission="'B_user_userManage_userDetails'">用户详情</a-button>
-        <a-button id="releaseRecordList-handleLd" type="link" @click="handleLd(record)" v-hasPermission="'B_user_userManage_LdDetails'">乐豆明细</a-button>
+        <a-button id="userManageList-handleUser" type="link" @click="handleUser(record)" v-hasPermission="'B_user_userManage_userDetails'">用户详情</a-button>
+        <a-button id="userManageList-handleLd" type="link" @click="handleLd(record)" v-hasPermission="'B_user_userManage_LdDetails'">乐豆明细</a-button>
         <span v-if="!$hasPermissions('B_user_userManage_userDetails') && (!$hasPermissions('B_user_userManage_LdDetails'))">--</span>
       </template>
     </s-table>
@@ -120,6 +157,7 @@ import {
   changeStatus,
   customeExport
 } from '@/api/userInfo.js'
+import { lableSeleteList, stationSeleteList } from '@/api/labelSetting.js'
 import moment from 'moment'
 export default {
   name: 'UserManageList',
@@ -139,6 +177,8 @@ export default {
       },
       registerTime: [], // 注册时间
       lastDeliverTime: [], // 最后投递时间
+      lableData: [], // 网点标签
+      stationData: [], // 首次投递
       dateFormat: 'YYYY-MM-DD',
       // 查询参数
       queryParam: {
@@ -150,91 +190,24 @@ export default {
         beginDate: null, // 最后投递时间的开始时间
         endDate: null, // 最后投递时间的结束时间
         beginRegisterTime: null, //  注册时间最小值
-        endRegisterTime: null //  注册时间最大值
+        endRegisterTime: null, //  注册时间最大值
+        labelNoList: [], // 网点标签
+        firstDeliveryStationNo: undefined // 首次投递
       },
       loading: false, // 导出loading
       // 表头
-      columns: [{
-        title: '序号',
-        dataIndex: 'no',
-        width: 80,
-        align: 'center'
-      },
-      {
-        title: '用户手机',
-        dataIndex: 'mobile',
-        width: 100,
-        align: 'center'
-      },
-      {
-        title: '用户身份',
-        dataIndex: 'customerRoleDictValue',
-        width: 100,
-        align: 'center'
-      },
-      {
-        title: '乐豆余额',
-        dataIndex: 'currentGold',
-        width: 100,
-        align: 'center',
-        customRender: (text) => {
-          return text || 0
-        }
-      },
-      {
-        title: '累计乐豆',
-        dataIndex: 'totalGold',
-        width: 100,
-        align: 'center',
-        customRender: (text) => {
-          return text || 0
-        }
-      },
-      {
-        title: '注册时间',
-        dataIndex: 'registerTime',
-        width: 200,
-        align: 'center',
-        customRender: (text) => {
-          return text || '--'
-        }
-      },
-      {
-        title: '最后登录时间',
-        dataIndex: 'lastLoginTime',
-        width: 200,
-        align: 'center',
-        customRender: (text) => {
-          return text || '--'
-        }
-      },
-      {
-        title: '最后投递时间',
-        dataIndex: 'lastDeliveryTime',
-        width: 200,
-        align: 'center',
-        customRender: (text) => {
-          return text || '--'
-        }
-      },
-      {
-        title: '状态',
-        width: 100,
-        dataIndex: 'state',
-        align: 'center',
-        scopedSlots: {
-          customRender: 'state'
-        }
-      },
-      {
-        title: '操作',
-        scopedSlots: {
-          customRender: 'action'
-        },
-        width: 100,
-        align: 'center'
-      }
-      ],
+      columns: [{ title: '序号', dataIndex: 'no', width: 60, align: 'center' },
+        { title: '用户手机', dataIndex: 'mobile', width: 100, align: 'center' },
+        { title: '用户身份', dataIndex: 'customerRoleDictValue', width: 100, align: 'center' },
+        { title: '乐豆余额', dataIndex: 'currentGold', width: 100, align: 'center', customRender: (text) => { return text || 0 } },
+        { title: '累计乐豆', dataIndex: 'totalGold', width: 100, align: 'center', customRender: (text) => { return text || 0 } },
+        { title: '注册时间', dataIndex: 'registerTime', width: 150, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '最后登录时间', dataIndex: 'lastLoginTime', width: 150, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '最后投递时间', dataIndex: 'lastDeliveryTime', width: 150, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '状态', width: 100, dataIndex: 'state', align: 'center', scopedSlots: { customRender: 'state' } },
+        { title: '首次投递网点', dataIndex: 'firstDeliveryStationName', width: 150, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '网点标签', dataIndex: 'labelName', width: 150, align: 'center', customRender: (text) => { return text || '--' } },
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center' }],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         const searchData = Object.assign(parameter, this.queryParam)
@@ -266,11 +239,15 @@ export default {
       }
     }
   },
+  mounted () {
+    this.getlableSeleteList()
+    this.getStationSeleteList()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-	  vm.$refs.queryForm.resetFields()
-	  vm.registerTime = []
-	  vm.lastDeliverTime = []
+      vm.$refs.queryForm.resetFields()
+      vm.registerTime = []
+      vm.lastDeliverTime = []
     })
   },
   methods: {
@@ -292,6 +269,28 @@ export default {
         this.queryParam.endDate = dateStrings[1]
       }
     },
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 获取标签数据
+    getlableSeleteList () {
+      lableSeleteList().then(res => {
+        if (res.status == 200) {
+          this.lableData = res.data || []
+        }
+      })
+    },
+    // 获取首次投递数据
+    getStationSeleteList () {
+      stationSeleteList().then(res => {
+        if (res.status == 200) {
+          this.stationData = res.data || []
+        }
+      })
+    },
+    // 重置
     refresh () {
       const isONull = this.queryParam.currentGoldMin === null || this.queryParam.currentGoldMin === undefined
       const isOEmpty = this.queryParam.currentGoldMin === ''
@@ -352,13 +351,15 @@ export default {
     },
     // 重置
     handleReset () {
-	  this.$refs.queryForm.resetFields()
+      this.$refs.queryForm.resetFields()
       this.queryParam.beginDate = null // 最后投递时间的开始时间
       this.queryParam.endDate = null // 最后投递时间的结束时间
       this.queryParam.beginRegisterTime = null //  注册时间最小值
       this.queryParam.endRegisterTime = null //  注册时间最大值
       this.registerTime = []
       this.lastDeliverTime = []
+      this.queryParam.labelNoList = []
+      this.queryParam.firstDeliveryStationNo = undefined
       this.$refs.table.refresh(true)
     },
     // 导出