Jelajahi Sumber

Merge branch 'feat' into develop

zh 2 tahun lalu
induk
melakukan
81e0f00a1e
55 mengubah file dengan 972 tambahan dan 22405 penghapusan
  1. 1 22090
      package-lock.json
  2. 10 0
      src/api/basic_data/dealer.js
  3. 9 0
      src/api/dashboard.js
  4. 9 0
      src/api/supply/pickup.js
  5. 5 1
      src/components/Common/export-button.vue
  6. 187 23
      src/layout/components/Navbar.vue
  7. 4 4
      src/layout/components/Sidebar/SidebarItem.vue
  8. 84 19
      src/views/basic_data/dealer/components/dealer_list-detail.vue
  9. 1 1
      src/views/basic_data/stock/Issue_list.vue
  10. 1 1
      src/views/basic_data/stock/material_list.vue
  11. 1 1
      src/views/basic_data/stock/warehousing_list.vue
  12. 104 4
      src/views/dashboard/index.vue
  13. 15 5
      src/views/finance/components/rebate_list-edit.vue
  14. 35 17
      src/views/finance/standbook_list.vue
  15. 1 1
      src/views/notice/index.vue
  16. 47 7
      src/views/sales_policy/components/Examine.vue
  17. 53 4
      src/views/sales_policy/components/details.vue
  18. 2 2
      src/views/setting/components/log-examine.vue
  19. 1 1
      src/views/setting/components/log-login.vue
  20. 1 1
      src/views/setting/components/log-operation.vue
  21. 1 1
      src/views/supply/adjust/adjust_list.vue
  22. 1 1
      src/views/supply/allot/allot_list.vue
  23. 2 2
      src/views/supply/apply/apply_list.vue
  24. 1 1
      src/views/supply/apply/components/engin_form.vue
  25. 1 1
      src/views/supply/apply/engin_list.vue
  26. 1 1
      src/views/supply/apply/new_apply.vue
  27. 1 1
      src/views/supply/apply/new_engin.vue
  28. 1 1
      src/views/supply/deliver/commerce_list.vue
  29. 1 1
      src/views/supply/deliver/deliver_list.vue
  30. 1 1
      src/views/supply/deliver/home_list.vue
  31. 7 4
      src/views/supply/deliver/sum_list.vue
  32. 1 1
      src/views/supply/direct/direct_list.vue
  33. 1 1
      src/views/supply/displace/displace_list copy.vue
  34. 1 1
      src/views/supply/engin/commerce_list.vue
  35. 18 19
      src/views/supply/engin/components/engin_form.vue
  36. 2 2
      src/views/supply/engin/engin_list.vue
  37. 1 1
      src/views/supply/engin/home_list.vue
  38. 1 1
      src/views/supply/implement/commercial_implement_list.vue
  39. 5 6
      src/views/supply/implement/implement_list.vue
  40. 4 4
      src/views/supply/implement/implement_total_list.vue
  41. 4 4
      src/views/supply/implement/nsales_list.vue
  42. 48 31
      src/views/supply/pickup/check.vue
  43. 194 77
      src/views/supply/pickup/components/pickup_form.vue
  44. 14 4
      src/views/supply/pickup/pickup_list.vue
  45. 1 1
      src/views/supply/pickup/statistics.vue
  46. 77 44
      src/views/supply/pickup/sum_list.vue
  47. 1 1
      src/views/supply/policy/components/policy_list.vue
  48. 1 1
      src/views/supply/policy/policy_list.vue
  49. 1 1
      src/views/supply/purchase/enter_list.vue
  50. 1 1
      src/views/supply/purchase/purchase_list.vue
  51. 1 1
      src/views/supply/reserve/reserve_list.vue
  52. 1 1
      src/views/supply/retail/retail_list.vue
  53. 1 1
      src/views/supply/return/online_list.vue
  54. 1 1
      src/views/supply/return/return_list.vue
  55. 3 3
      src/views/supply/sales/sales_list.vue

File diff ditekan karena terlalu besar
+ 1 - 22090
package-lock.json


+ 10 - 0
src/api/basic_data/dealer.js

@@ -188,3 +188,13 @@ export function importCustomer(data, name) {
     name
   })
 }
+
+
+//基础上设置自提和物流
+export function updatePick(params) {
+  return request({
+    url: '/customer/updatePick',
+    method: 'post',
+    params
+  })
+}

+ 9 - 0
src/api/dashboard.js

@@ -79,3 +79,12 @@ export function setMenuList(params) {
     params
   })
 }
+
+// 常用菜单-列表
+export function getListInvoiceOrder(params) {
+  return request({
+    url: `/pick/listInvoiceOrder`,
+    method: 'get',
+    params
+  })
+}

+ 9 - 0
src/api/supply/pickup.js

@@ -186,3 +186,12 @@ export function cancelData(params) {
     params
   })
 }
+// 订单查询物流
+export function getListOrderTrack(params) {
+  return request({
+    url: '/pick/listOrderTrack',
+    method: 'get',
+    params
+  })
+}
+

+ 5 - 1
src/components/Common/export-button.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" type="primary" :icon="isIcon ? 'el-icon-download' : ''" @click="handleExport">{{
+    <el-button size="mini" type="primary" :disabled="disabled" :icon="isIcon ? 'el-icon-download' : ''" @click="handleExport">{{
       exText
     }}</el-button>
   </div>
@@ -27,6 +27,10 @@ export default {
     exParams: {
       type: Object,
       default: null
+    },
+    disabled:{
+      type:Boolean,
+      default: false
     }
   },
   methods: {

+ 187 - 23
src/layout/components/Navbar.vue

@@ -16,7 +16,13 @@
           ></i>
         </el-tooltip>
       </div> -->
-      <div class="right-menu-item hover-effect" style="display: flex" @click="handleNotice">
+      <div class="right-menu-item hover-effect" style="display: flex" @click="handleShow">
+        <el-badge>
+          <i class="el-icon-message-solid" style="font-size: 24px; line-height: 50px" />
+        </el-badge>
+        <span style="font-size: 16px; margin-left: 15px">物流通知</span>
+      </div>
+      <div class="right-menu-item hover-effect" style="display: flex" @click="handleNotice('click')">
         <el-badge value="示">
           <i class="el-icon-message-solid" style="font-size: 24px; line-height: 50px" />
         </el-badge>
@@ -68,7 +74,14 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="到货通知" :modal="false" width="70%" :visible.sync="hasNotice" center @close="handleNotice(false)">
+    <el-dialog
+      title="到货通知"
+      :modal="false"
+      width="70%"
+      :visible.sync="hasNotice"
+      center
+      @close="handleNotice(false)"
+    >
       <div class="mymain-container">
         <el-form ref="form" :model="form" label-width="80px" label-position="left" size="mini">
           <el-row>
@@ -76,10 +89,13 @@
               <el-form-item prop="specification" label="规格型号">
                 <div style="display: flex">
                   <el-input v-model="form.specification" clearable style="margin-right: 10px" />
-                  <el-button @click="
-  form.specification = ''
-                    getNoticeList()
-                  ">重置</el-button>
+                  <el-button
+                    @click="
+                      form.specification = ''
+                      getNoticeList()
+                    "
+                    >重置</el-button
+                  >
                   <el-button type="primary" @click="getNoticeList">查询</el-button>
                 </div>
               </el-form-item>
@@ -88,26 +104,129 @@
         </el-form>
         <div class="table">
           <el-table v-loading="listLoading" :data="noticeList" border>
-            <el-table-column property="materialOldNumber" align="left" min-width="120" label="产品编号"
-              show-overflow-tooltip />
-            <el-table-column property="materialNumber" align="left" min-width="100" label="物料编码"
-              show-overflow-tooltip />
-            <el-table-column property="materialName" align="left" min-width="250" label="产品名称" show-overflow-tooltip />
-            <el-table-column property="specification" align="left" min-width="350" label="规格型号" show-overflow-tooltip />
+            <el-table-column
+              property="materialOldNumber"
+              align="left"
+              min-width="120"
+              label="产品编号"
+              show-overflow-tooltip
+            />
+            <el-table-column
+              property="materialNumber"
+              align="left"
+              min-width="100"
+              label="物料编码"
+              show-overflow-tooltip
+            />
+            <el-table-column
+              property="materialName"
+              align="left"
+              min-width="250"
+              label="产品名称"
+              show-overflow-tooltip
+            />
+            <el-table-column
+              property="specification"
+              align="left"
+              min-width="350"
+              label="规格型号"
+              show-overflow-tooltip
+            />
             <el-table-column property="stockName" align="left" min-width="100" label="到货仓库" show-overflow-tooltip />
-            <el-table-column property="updateTime" align="left" min-width="200" label="到货通知时间" show-overflow-tooltip />
+            <el-table-column
+              property="updateTime"
+              align="left"
+              min-width="200"
+              label="到货通知时间"
+              show-overflow-tooltip
+            />
           </el-table>
           <div class="flex">
             <div />
             <div class="fr">
-              <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="10"
-                layout="total, prev, pager, next" :total="listTotal" @size-change="handleSizeChange"
-                @current-change="handleCurrentChange" />
+              <el-pagination
+                :current-page="currentPage"
+                :page-sizes="[10, 20, 30, 50]"
+                :page-size="10"
+                layout="total, prev, pager, next"
+                :total="listTotal"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+              />
             </div>
           </div>
         </div>
       </div>
     </el-dialog>
+    <el-dialog title="物流通知" :visible.sync="isLogistics" width="50%" :modal="false" @close="isLogistics = false">
+      <div class="table">
+        <el-table
+          v-if="invoiceOrderList.length"
+          ref="table"
+          v-loading="listLoading"
+          :data="invoiceOrderList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column align="center" type="index" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="发货单" prop="id" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="内容" prop="orderTrackStatus" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="时间" prop="orderTrackTime" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="" min-width="160" show-overflow-tooltip fixed="right">
+            <template slot-scope="scope">
+              <el-button type="text" class="textColor" @click="handLogistics(scope.row)">查看</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </div>
+      <br />
+      <br />
+    </el-dialog>
+    <el-dialog
+      title="物流信息"
+      :visible.sync="visible"
+      width="60%"
+      @close="onClose"
+      :modal="false"
+      :close-on-click-modal="false"
+    >
+      <el-timeline class="logistics" :reverse="false" v-if="logisticsDetail.length">
+        <el-timeline-item
+          placement="top"
+          type="success"
+          v-for="(item, index) in logisticsDetail"
+          :key="index"
+          :timestamp="item.time"
+        >
+          <el-row :gutter="20">
+            <el-col class="logistics-title"> {{ item.status }} </el-col>
+            <el-col>
+              <div class="flex">
+                <div>{{ item.context }}</div>
+                <!-- <div>{{ item.createTime }}</div> -->
+              </div>
+            </el-col>
+          </el-row>
+        </el-timeline-item>
+      </el-timeline>
+      <div v-else class="tip">暂无物流信息</div>
+    </el-dialog>
     <!--    工程机多帐号-->
     <!--    <el-dialog-->
     <!--      title="绑定工程机系统"-->
@@ -159,7 +278,6 @@
 </template>
 
 <script>
-import { getRebateOrderMsg } from '@/api/dashboard'
 import { mapGetters } from 'vuex'
 import Breadcrumb from '@/components/Breadcrumb'
 import Hamburger from '@/components/Hamburger'
@@ -167,6 +285,9 @@ import Screenfull from '@/components/Screenfull'
 import NavMenu from '@/components/NavMenu'
 import { getNoticeListCount } from '@/api/notice'
 import { getNoticeList } from '@/api/stock'
+import { getListOrderTrack } from '@/api/supply/pickup'
+import { getListInvoiceOrder } from '@/api/dashboard'
+
 import { bindEngineAccount, checkEngineAccount } from '@/api/setting'
 import mixin from '@/mixin'
 import ret from 'bluebird/js/release/util'
@@ -202,7 +323,15 @@ export default {
       noticeList: [],
       form: {
         specification: ''
-      }
+      },
+      isLogistics: false,
+      visible: false,
+      orderId: '',
+      logisticsDetail: [],
+      invoiceOrderList: [],
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0 // 列表总数
     }
   },
   mounted() {
@@ -263,15 +392,13 @@ export default {
         pageSize: this.pageSize,
         specification: this.form.specification
       }).then(res => {
-
         this.noticeList = res.data.records
         this.listTotal = res.data.total
         this.listLoading = false
-
       })
     },
     handleNotice(flag = true) {
-      if (flag) {
+      if (flag || flag == 'click') {
         this.getNoticeList()
       }
       this.$store.commit('user/SET_STATUS', !this.hasNotice)
@@ -496,6 +623,43 @@ export default {
         that.initWebSocket()
         that.lockReconnect = false
       }, 20000)
+    },
+    // 获取物流列表
+    async getListInvoiceOrder(data) {
+      this.invoiceOrderList = []
+      const res = await getListInvoiceOrder({
+        pageSize: this.pageSize,
+        pageNum: this.currentPage
+      })
+      this.invoiceOrderList = res.data.records
+      this.listTotal = res.data.total
+    },
+    handleShow() {
+      ;(this.isLogistics = true), this.getListInvoiceOrder()
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.currentPage = 1
+      this.getListInvoiceOrder()
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val
+
+      this.getListInvoiceOrder()
+    },
+    handLogistics(row) {
+      getListOrderTrack({ orderId: row.id }).then(res => {
+        this.logisticsDetail = res.data
+      })
+      this.orderId = row.id
+      this.visible = true
+    },
+    onClose() {
+      this.logisticsDetail = []
+      this.orderId = ''
+      this.visible = false
     }
   }
 }
@@ -550,7 +714,7 @@ export default {
     height: 100%;
     line-height: 50px;
 
-    &>div {
+    & > div {
       float: left;
     }
 
@@ -604,7 +768,7 @@ export default {
 .navbar {
   .right-menu {
     .right-menu-item {
-      .notice-icon>i {
+      .notice-icon > i {
         font-size: 18px;
       }
 

+ 4 - 4
src/layout/components/Sidebar/SidebarItem.vue

@@ -7,7 +7,7 @@
         (!onlyOneChild.children ||
           onlyOneChild.noShowingChildren ||
           (onlyOneChild.children &&
-            onlyOneChild.children.length < 1 &&
+          onlyOneChild.children&& onlyOneChild.children.length < 1 &&
             (onlyOneChild.name == 'issue_index' ||
               onlyOneChild.name == 'notice_index' ||
               onlyOneChild.name == 'dashboard'))) &&
@@ -78,7 +78,7 @@ export default {
           // Temp set(will be used if only has one showing child)
 
           // 删除空的children
-          if (item.children.length < 1) {
+          if (item.children&&item.children.length < 1) {
             // delete item['children']
           }
 
@@ -90,12 +90,12 @@ export default {
       })
 
       // When there is only one child router, the child router is displayed by default
-      if (showingChildren.length === 1) {
+      if (showingChildren&&showingChildren.length === 1) {
         return true
       }
 
       // Show parent if there are no child router to display
-      if (showingChildren.length === 0) {
+      if (showingChildren&&showingChildren.length === 0) {
         this.onlyOneChild = { ...parent, path: '', noShowingChildren: true }
         return true
       }

+ 84 - 19
src/views/basic_data/dealer/components/dealer_list-detail.vue

@@ -260,41 +260,70 @@
       <div class="diy-table-1" style="width: 100%">
         <el-form label-width="120px" class="demo-ruleForm">
           <el-row>
-            <el-col :span="12">
+            <el-col :span="6">
               <el-form-item label="集团客户" prop="">
                 <el-radio v-model="infoList.isGroupCompany" :label="true">是</el-radio>
                 <el-radio v-model="infoList.isGroupCompany" :label="false">否</el-radio>
               </el-form-item>
             </el-col>
+            <el-col :span="6">
+              <el-form-item label="是否可转折让" prop="">
+                <el-radio v-model="infoList.isZr" :label="true">是</el-radio>
+                <el-radio v-model="infoList.isZr" :label="false">否</el-radio>
+              </el-form-item>
+            </el-col>
             <el-col :span="12">
+              <el-form-item label-width="0px"> 注:设置后返利可以转入折让钱包 </el-form-item>
+            </el-col>
+            <!-- <el-col :span="12">
               <el-form-item label="是否前置仓" prop="">
                 <el-radio v-model="infoList.isFront" :label="true">前置仓</el-radio>
                 <el-radio v-model="infoList.isFront" :label="false">经销商自有仓库</el-radio>
                 <el-button type="primary" size="mini" @click="handelSubmit">修改</el-button>
               </el-form-item>
-
-            </el-col>
+            </el-col> -->
           </el-row>
-          <el-form-item label="分子公司" prop="">
-            <el-tag class="tagStyle" v-for="v in infoList.kingDeeCustomers" :key="v.id">{{ v.name }}</el-tag>
-          </el-form-item>
-          <el-form-item label="是否可转折让" prop="">
-            <el-radio v-model="infoList.isZr" :label="true">是</el-radio>
-            <el-radio v-model="infoList.isZr" :label="false">否</el-radio>
-          </el-form-item>
+          <el-col>
+            <el-form-item label="分子公司">
+              <el-tag class="tagStyle" v-for="v in infoList.kingDeeCustomers" :key="v.id">{{ v.name }}</el-tag>
+            </el-form-item>
+          </el-col>
+          <el-col>
+            <el-form-item label="提货方式">
+              <div>
+                <el-checkbox-group v-model="radio">
+                  <el-checkbox :label="1"> 物流配送(嘉贤物流)</el-checkbox>
+                  <el-checkbox :label="2">商家自提</el-checkbox>
+                </el-checkbox-group>
+              </div>
+              <div>选择商家自提需配置物流产品类别</div>
+              <div>
+
+                <el-checkbox-group v-model="pickCategory">
+                  <el-checkbox v-for="(item, index) in dataList" :key="index" :label="item.id">
+                    {{ item.name }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </div>
+              <div>注:设置配送方式后提货预约可根据配置的提货方式进行选择</div>
+              <div>
+                <el-button type="primary" size="default" @click="onSubmit">保存</el-button>
+              </div>
+            </el-form-item>
+          </el-col>
         </el-form>
       </div>
     </el-card>
-
   </div>
 </template>
 
 <script>
-import { getDealerInfo, updateCustomer } from '@/api/basic_data/dealer'
+import { getProductCategoryKingDeeCategoryList } from '@/api/basic_data/material'
+import { getDealerInfo, updateCustomer, updatePick } from '@/api/basic_data/dealer'
+import ret from 'bluebird/js/release/util'
 
 export default {
   props: {
-
     detailsId: {
       type: String,
       required: true
@@ -302,24 +331,60 @@ export default {
   },
   data() {
     return {
-      infoList: {}
+      infoList: {},
+      dataList: [],
+      radio: [],
+      pickCategory: []
     }
   },
 
   async created() {
+    this.getDataList()
     const res = await getDealerInfo({ id: this.detailsId })
+    if (res.data.isFront) {
+      this.radio.push(1)
+    }
+    if (res.data.isPick) {
+      this.radio.push(2)
+    }
+    if (res.data.kingDeeCustomerCategories) {
+      this.pickCategory  = res.data.kingDeeCustomerCategories.map(k=>{
+        return k.categoryId
+      })
+     
+    }
     this.infoList = res.data
   },
   methods: {
     goBack() {
       this.$parent.isShow = true
     },
-    handelSubmit(){
+    //金蝶存货类别列表
+    async getDataList() {
+      const res = await getProductCategoryKingDeeCategoryList()
+      this.dataList = res.data
+    },
+
+    handelSubmit() {
       updateCustomer({
-        id:this.infoList.id,
-        isFront:this.infoList.isFront
-      }).then(res=>{
-        this.$successMsg(this.infoList.isFront?'已更改为前置仓':'已更改为经销商自有仓库')
+        id: this.infoList.id,
+        isFront: this.infoList.isFront
+      }).then(res => {
+        this.$successMsg(this.infoList.isFront ? '已更改为前置仓' : '已更改为经销商自有仓库')
+      })
+    },
+    onSubmit() {
+      if (this.radio.includes(2) && !this.pickCategory.length) {
+        this.$errorMsg('商家自提必须选择产品类别')
+        return
+      }
+      updatePick({
+        id: this.detailsId,
+        isFront: this.radio.includes(1),
+        isPick: this.radio.includes(2),
+        pickCategory: this.pickCategory.join(',')
+      }).then(res => {
+        this.$successMsg('保存成功')
       })
     }
   }

+ 1 - 1
src/views/basic_data/stock/Issue_list.vue

@@ -199,7 +199,7 @@ export default {
         correspondId: [],
         endTime: '',
         materialName: '',
-        date: '',
+        date: [],
         materialNumber: '',
         materialOldNumber: '',
         specification: '',

+ 1 - 1
src/views/basic_data/stock/material_list.vue

@@ -187,7 +187,7 @@ export default {
         billNo: '',
         correspondId: [],
         endTime: '',
-        date: '',
+        date: [],
         materialName: '',
         materialNumber: '',
         materialOldNumber: '',

+ 1 - 1
src/views/basic_data/stock/warehousing_list.vue

@@ -191,7 +191,7 @@ export default {
         billNo: '',
         correspondId: [],
         endTime: '',
-        date: '',
+        date: [],
         materialName: '',
         materialNumber: '',
         materialOldNumber: '',

+ 104 - 4
src/views/dashboard/index.vue

@@ -74,12 +74,14 @@
         <el-radio-button label="1">系统通知</el-radio-button>
         <el-radio-button label="2">文件下发</el-radio-button>
         <el-radio-button label="3">返利确认单</el-radio-button>
+        <el-radio-button label="4">物流通知</el-radio-button>
       </el-radio-group>
       <br />
       <br />
       <!-- 系统通知 -->
       <div v-show="type == '1'" class="table">
         <el-table
+          ref="table"
           v-loading="listLoading"
           class="cql"
           :data="dataList"
@@ -103,6 +105,7 @@
       <!-- 文件下发 -->
       <div v-show="type == '2'" class="table">
         <el-table
+          ref="table"
           v-loading="listLoading"
           :data="fileList"
           element-loading-text="Loading"
@@ -125,6 +128,7 @@
       <!-- 返利确认单 -->
       <div v-show="type == '3'" class="table">
         <el-table
+          ref="table"
           v-loading="listLoading"
           :data="rebateList"
           element-loading-text="Loading"
@@ -152,7 +156,30 @@
           </el-table-column>
         </el-table>
       </div>
+      <!-- 物流通知 -->
+      <div v-show="type == '4'" class="table">
+        <el-table
+          ref="table"
+          v-loading="listLoading"
+          :data="invoiceOrderList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column align="center" type="index" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="发货单" prop="id" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="内容" prop="orderTrackStatus" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="时间" prop="orderTrackTime" min-width="160" show-overflow-tooltip />
+          <el-table-column align="center" label="" min-width="160" show-overflow-tooltip fixed="right">
+            <template slot-scope="scope">
+              <el-button type="text" class="textColor" @click="handLogistics(scope.row)">查看</el-button>
 
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
       <br />
       <br />
       <!-- 分页 -->
@@ -210,6 +237,28 @@
         <el-button type="primary" size="mini" @click="closeFn">关闭</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="物流信息" :visible.sync="visible" width="60%" @close="onClose" :close-on-click-modal="false">
+      <el-timeline class="logistics" :reverse="false" v-if="logisticsDetail.length">
+        <el-timeline-item
+          placement="top"
+          type="success"
+          v-for="(item, index) in logisticsDetail"
+          :key="index"
+          :timestamp="item.time"
+        >
+          <el-row :gutter="20">
+            <el-col class="logistics-title"> {{ item.status }} </el-col>
+            <el-col>
+              <div class="flex">
+                <div>{{ item.context }}</div>
+                <!-- <div>{{ item.createTime }}</div> -->
+              </div>
+            </el-col>
+          </el-row>
+        </el-timeline-item>
+      </el-timeline>
+      <div v-else class="tip">暂无物流信息</div>
+    </el-dialog>
   </div>
 </template>
 
@@ -223,12 +272,12 @@ import {
   getRebateOrderList,
   getRouter,
   getMenuList,
-  setMenuList
+  setMenuList,
+  getListInvoiceOrder
 } from '@/api/dashboard'
+import { getListOrderTrack } from '@/api/supply/pickup'
 import { getFileUrl } from '@/api/common'
 import { mapGetters } from 'vuex'
-import { getInfo, getOrder, getGoodsRank } from '@/api/dashboard'
-import { dateFormat } from '@/utils/util'
 
 export default {
   name: 'Dashboard',
@@ -268,7 +317,13 @@ export default {
       menuList: [],
       dialogVisible: false,
       checkList: [],
-      normsMenuList: []
+      normsMenuList: [],
+      invoiceOrderList: [],
+      bol: true,
+      visible: false,
+      orderId: '',
+      logisticsDetail: []
+
     }
   },
 
@@ -386,6 +441,12 @@ export default {
           isSecondExamine: false
         })
       }
+      if (this.type == 4) {
+        this.getListInvoiceOrder({
+          pageSize: this.pageSize,
+          pageNum: this.currentPage
+        })
+      }
     },
     // 更改当前页
     handleCurrentChange(val) {
@@ -411,6 +472,12 @@ export default {
           isSecondExamine: false
         })
       }
+      if (this.type == 4) {
+        this.getListInvoiceOrder({
+          pageSize: this.pageSize,
+          pageNum: this.currentPage
+        })
+      }
     },
     // 获取返利确认单数据
     async getRebateList(data) {
@@ -425,8 +492,15 @@ export default {
       this.dataList = res.data.records
       this.listTotal = res.data.total
     },
+    // 获取物流列表
+    async getListInvoiceOrder(data) {
+      const res = await getListInvoiceOrder(data)
+      this.invoiceOrderList = res.data.records
+      this.listTotal = res.data.total
+    },
     // 选择
     checkFn(v) {
+      this.$refs.table.doLayout()
       this.type = v
       if (v == 1) {
         this.getDataList({
@@ -449,6 +523,12 @@ export default {
           isSecondExamine: false
         })
       }
+      if (v == 4) {
+        this.getListInvoiceOrder({
+          pageSize: this.pageSize,
+          pageNum: this.currentPage
+        })
+      }
     },
     // 关闭
     closeFn() {
@@ -464,6 +544,18 @@ export default {
       this.$router.push({
         path
       })
+    },
+    handLogistics(row) {
+      getListOrderTrack({ orderId: row.id }).then(res => {
+        this.logisticsDetail = res.data
+      })
+      this.orderId = row.id
+      this.visible = true
+    },
+    onClose() {
+      this.logisticsDetail = []
+      this.orderId = ''
+      this.visible = false
     }
   }
 }
@@ -532,4 +624,12 @@ export default {
     text-overflow: ellipsis;
   }
 }
+.logistics-title {
+  padding-bottom: 10px;
+}
+.tip {
+  height: 200px;
+  text-align: center;
+  line-height: 200px;
+}
 </style>

+ 15 - 5
src/views/finance/components/rebate_list-edit.vue

@@ -142,7 +142,8 @@
           </el-table-column>
           <el-table-column align="left" label="返利类型" prop="customerWalletId" min-width="160" show-overflow-tooltip>
             <template slot-scope="scope">
-              <el-select v-if="state2" v-model="scope.row.customerWalletId" placeholder="请选择">
+              <!-- v-if="state2"  -->
+              <el-select v-model="scope.row.customerWalletId" placeholder="请选择">
                 <el-option
                   v-for="item in scope.row.walletList"
                   :key="item.customerWalletId"
@@ -151,9 +152,9 @@
                 >
                 </el-option>
               </el-select>
-              <el-select v-else v-model="scope.row.walletName" placeholder="请选择">
+              <!-- <el-select v-else v-model="scope.row.walletName" placeholder="请选择">
                 <el-option :label="scope.row.walletName" value=""> </el-option>
-              </el-select>
+              </el-select> -->
             </template>
           </el-table-column>
           <el-table-column align="left" label="返利总金额" prop="amount" min-width="160" show-overflow-tooltip>
@@ -237,6 +238,8 @@
 <script>
 import { getRebateOrderDetail, getRebateOrderUpdate } from '@/api/finance/rebate_list'
 import { getCustomerList, getWalletCustomerList } from '@/api/finance/rebate_form'
+import { async } from 'q'
+import { tsThisType } from '@babel/types'
 export default {
   props: {
     detailId: {
@@ -277,14 +280,21 @@ export default {
     //获取详情数据
     async getDataList() {
       let res = await getRebateOrderDetail({ id: this.detailId })
-      console.log(res, 11111)
       //   this.searchForm.rebateOrderId = res.data.id;
       this.searchForm.theTime = res.data.theTime
       //   this.searchForm.createBy = res.data.createBy;
       //   this.searchForm.createTime = res.data.createTime;
       this.searchForm.remark = res.data.remark
-      this.dataList = res.data.items
       this.state = res.data.examineStatus
+      res.data.items.map(async(k)=>{
+        const wallet = await getWalletCustomerList({
+        customerId: k.customerId,
+        type: 'REBATE'
+      })
+      this.$set(k, 'walletList', wallet.data)
+    })
+        this.dataList = res.data.items
+      // this.$set(this.dataList, 'walletList', wallet.data)
     },
     //保存
     async addFn() {

+ 35 - 17
src/views/finance/standbook_list.vue

@@ -42,6 +42,7 @@
                     v-model="searchForm.customerId"
                     placeholder="请选择"
                     filterable
+                    size="mini"
                     @change="changeFn"
                   >
                     <el-option v-for="(v, i) in customerList" :key="i" :label="v.name" :value="v.id"> </el-option>
@@ -49,8 +50,14 @@
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item :label="bill==='COMMONLY'?'钱包类型':'返利类型'" prop="customerWalletId">
-                  <el-select class="selectStyle" v-model="searchForm.customerWalletId" placeholder="请选择" filterable>
+                <el-form-item :label="bill === 'COMMONLY' ? '钱包类型' : '返利类型'" prop="customerWalletId">
+                  <el-select
+                    class="selectStyle"
+                    v-model="searchForm.customerWalletId"
+                    placeholder="请选择"
+                    filterable
+                    size="mini"
+                  >
                     <el-option
                       v-for="(v, i) in walletList"
                       :key="i"
@@ -79,6 +86,7 @@
                     type="date"
                     placeholder="选择日期时间"
                     value-format="yyyy-MM-dd"
+                    size="mini"
                   >
                   </el-date-picker>
                 </el-form-item>
@@ -91,6 +99,7 @@
                     type="date"
                     placeholder="选择日期时间"
                     value-format="yyyy-MM-dd"
+                    size="mini"
                   >
                   </el-date-picker>
                 </el-form-item>
@@ -100,17 +109,22 @@
                   <el-input v-model="searchForm.customerNumber" placeholder="请输入经销商编码"></el-input>
                 </el-form-item>
               </el-col>
-
               <el-col :xs="24" :sm="12" :lg="6">
                 <el-form-item label="单据类型" prop="billType">
-                  <el-select class="selectStyle" v-model="searchForm.billType" placeholder="请选择" filterable>
+                  <el-select
+                    class="selectStyle"
+                    v-model="searchForm.billType"
+                    placeholder="请选择"
+                    filterable
+                    size="mini"
+                  >
                     <el-option v-for="(v, i) in typeList" :key="i" :label="v" :value="v"></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :lg="6">
                 <el-form-item label="摘要" prop="remark">
-                  <el-input v-model="searchForm.remark" placeholder="请输入摘要"></el-input>
+                  <el-input v-model="searchForm.remark" placeholder="请输入摘要"> </el-input>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -152,6 +166,7 @@
       <div class="mymain-container">
         <div class="table">
           <el-table
+            v-if="dataList.length"
             v-loading="listLoading"
             :data="dataList"
             element-loading-text="Loading"
@@ -161,6 +176,7 @@
             stripe
             show-summary
             :summary-method="getSummaries"
+            height="620px"
           >
             <el-table-column
               label="序号"
@@ -224,7 +240,7 @@
                 <span>{{ scope.row.enginRecordNo }}</span>
               </template>
             </el-table-column>
-            
+
             <el-table-column
               align="left"
               label="钱包"
@@ -360,6 +376,7 @@
       <div class="mymain-container">
         <div class="table">
           <el-table
+            v-if="dataList.length"
             v-loading="listLoading"
             :data="dataList"
             element-loading-text="Loading"
@@ -369,6 +386,7 @@
             stripe
             show-summary
             :summary-method="getSummaries2"
+            height="620px"
           >
             <el-table-column label="序号" align="left" width="50" type="index" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="客户编码" prop="customerCode" min-width="160" show-overflow-tooltip>
@@ -498,9 +516,9 @@
 import { getWalletCustomerList } from '@/api/finance/change_apply'
 import { getAmountCount, getCustomerList, getStandbookList } from '@/api/finance/standbook_list'
 import { numToFixed } from '@/filters'
-import sticky from '@/utils/table-sticky'
+// import sticky from '@/utils/table-sticky'
 export default {
-  mixins: [sticky],
+  // mixins: [sticky],
   data() {
     return {
       isShow: false,
@@ -527,7 +545,7 @@ export default {
         customerNumber: '',
         billType: '',
         remark: '',
-        enginRecordNo:''
+        enginRecordNo: ''
       }, //搜索表单
       listLoading: false, // 列表加载loading
 
@@ -580,8 +598,7 @@ export default {
           type: this.bill,
           customerName: this.$route.query.customerName,
           customerNumber: this.$route.query.customerNumber,
-          enginRecordNo:this.searchForm.enginRecordNo,
-
+          enginRecordNo: this.searchForm.enginRecordNo
         }
       } else if (this.isCustomer) {
         return {
@@ -591,8 +608,7 @@ export default {
           type: this.bill,
           customerName: this.$store.state.user.customerName,
           customerNumber: this.$store.state.user.customerNumber,
-          enginRecordNo:this.searchForm.enginRecordNo,
-
+          enginRecordNo: this.searchForm.enginRecordNo
         }
       } else {
         return {
@@ -601,9 +617,8 @@ export default {
           pageNum: this.currentPage,
           type: this.bill,
           customerName: this.customerName,
-          customerNumber: this.customerNumber,
-          enginRecordNo:this.searchForm.enginRecordNo,
-
+          customerNumber: this.customerNumber || this.searchForm.customerNumber,
+          enginRecordNo: this.searchForm.enginRecordNo
         }
       }
     }
@@ -1242,7 +1257,7 @@ export default {
           billNo: this.searchForm.billNo,
           billType: this.searchForm.billType,
           customerId: this.searchForm.customerId,
-          enginRecordNo:this.searchForm.enginRecordNo,
+          enginRecordNo: this.searchForm.enginRecordNo,
           customerName: '',
           customerNumber: this.searchForm.customerNumber,
           customerWalletId: this.searchForm.customerWalletId,
@@ -1319,4 +1334,7 @@ export default {
 .color4 {
   background-color: #6bcfd7;
 }
+.el-date-editor--date {
+  height: 100% !important;
+}
 </style>

+ 1 - 1
src/views/notice/index.vue

@@ -349,7 +349,7 @@ export default {
         type: '',
         code: '',
         title: '',
-        date: ''
+        date: []
       },
       mainForm: {
         type: '',

+ 47 - 7
src/views/sales_policy/components/Examine.vue

@@ -90,13 +90,29 @@
             <el-col :span="24" class="item">
               <div class="label" style="height: 150px">政策封面图</div>
               <div class="value" style="height: 150px">
-                <el-image
-                  v-for="item in detail.imgSrc"
-                  style="height: 120px; widht: 120px;margin-left: 10px"
-                  :src="$imageUrl + item"
-                  fit="fill"
-                  :preview-src-list="srcList"
-                />
+                <template v-for="item in detail.imgSrc">
+                  <el-image
+                    v-if="checkFileType(item) == 'image'"
+                    ref="img"
+                    :src="$imageUrl + item"
+                    style="width: 120px; height: 120px; margin-right: 20px"
+                    fit="cover"
+                    :preview-src-list="[$imageUrl + item]"
+                  />
+                  <img v-if="checkFileType(item) == 'word'" class="file" src="@/assets/common/word.png" />
+                  <img v-if="checkFileType(item) == 'excel'" class="file" src="@/assets/common/excel.png" />
+                  <img v-if="checkFileType(item) == 'ppt'" class="file" src="@/assets/common/ppt.png" />
+
+                  <img
+                    v-if="checkFileType(item) == 'pdf'"
+                    class="file"
+                    style="cursor: pointer"
+                    src="@/assets/common/pdf.png"
+                    @click="openPdf(item)"
+                  />
+
+                  <img v-if="checkFileType(item) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg" />
+                </template>
               </div>
             </el-col>
           </el-row>
@@ -829,6 +845,30 @@ export default {
       this.currentPages = 1
       this.getCond()
     },
+       // 检查文件类型
+       checkFileType(url) {
+      if (!url) return ''
+      const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
+
+      if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+        return 'image'
+      } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+        return 'word'
+      } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+        return 'excel'
+      } else if (['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+        return 'ppt'
+      } else if (['pdf'].includes(fileSuffix)) {
+        return 'pdf'
+      } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
+        return 'file'
+      } else {
+        return ''
+      }
+    },
+    openPdf(pdfUrl) {
+      window.open(this.$imageUrl + pdfUrl)
+    },
     // 更改当前页
     handleCurrentChanges(val) {
       this.currentPages = val

+ 53 - 4
src/views/sales_policy/components/details.vue

@@ -83,14 +83,36 @@
             <el-col :span="24" class="item">
               <div class="label" style="height: 150px">政策封面图</div>
               <div class="value" style="height: 150px">
-                <el-image
+                <template v-for="item in detail.imgSrc">
+                  <el-image
+                    v-if="checkFileType(item) == 'image'"
+                    ref="img"
+                    :src="$imageUrl + item"
+                    style="width: 120px; height: 120px; margin-right: 20px"
+                    fit="cover"
+                    :preview-src-list="[$imageUrl + item]"
+                  />
+                  <img v-if="checkFileType(item) == 'word'" class="file" src="@/assets/common/word.png" />
+                  <img v-if="checkFileType(item) == 'excel'" class="file" src="@/assets/common/excel.png" />
+                  <img v-if="checkFileType(item) == 'ppt'" class="file" src="@/assets/common/ppt.png" />
+
+                  <img
+                    v-if="checkFileType(item) == 'pdf'"
+                    class="file"
+                    style="cursor: pointer"
+                    src="@/assets/common/pdf.png"
+                    @click="openPdf(item)"
+                  />
 
+                  <img v-if="checkFileType(item) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg" />
+                </template>
+                <!-- <el-image
                   v-for="item in detail.imgSrc"
                   style="height: 120px; widht: 120px;margin-left: 20px"
                   :src="$imageUrl + item"
                   fit="fill"
                   :preview-src-list="srcList"
-                />
+                /> -->
               </div>
             </el-col>
           </el-row>
@@ -794,8 +816,8 @@ export default {
         this.detail = res.data
         this.detail.flag = this.detail.flag + ''
         this.detail.imgSrc = this.detail.imgSrc.split(',')
-        this.detail.imgSrc.forEach(k=>{
-          this.srcList.push(this.$imageUrl+k)
+        this.detail.imgSrc.forEach(k => {
+          this.srcList.push(this.$imageUrl + k)
         })
         // this.srcList = [this.$imageUrl + this.detail.imgSrc]
         if (this.$parent.isShow == 5 && this.detail.imgSrc) {
@@ -827,6 +849,30 @@ export default {
         this.clistLoading = false
       })
     },
+    // 检查文件类型
+    checkFileType(url) {
+      if (!url) return ''
+      const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
+
+      if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+        return 'image'
+      } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+        return 'word'
+      } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+        return 'excel'
+      } else if (['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+        return 'ppt'
+      } else if (['pdf'].includes(fileSuffix)) {
+        return 'pdf'
+      } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
+        return 'file'
+      } else {
+        return ''
+      }
+    },
+    openPdf(pdfUrl) {
+      window.open(this.$imageUrl + pdfUrl)
+    },
     getCrList() {
       const customerParams = {
         pageNum: this.currentPage,
@@ -1124,6 +1170,9 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.file {
+  margin-right: 20px;
+}
 .el-col {
   overflow: hidden;
 }

+ 2 - 2
src/views/setting/components/log-examine.vue

@@ -116,8 +116,8 @@ export default {
         // 筛选表单数据
         account: '',
         name: '',
-        examineDate: '',
-        submitDate: ''
+        examineDate: [],
+        submitDate: []
       },
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量

+ 1 - 1
src/views/setting/components/log-login.vue

@@ -108,7 +108,7 @@ export default {
         // 筛选表单数据
         account: '',
         name: '',
-        date: '',
+        date: [],
         region: ''
       },
       currentPage: 1, // 当前页码

+ 1 - 1
src/views/setting/components/log-operation.vue

@@ -105,7 +105,7 @@ export default {
         // 筛选表单数据
         account: '',
         name: '',
-        date: '',
+        date: [],
         obj: ''
       },
       currentPage: 1, // 当前页码

+ 1 - 1
src/views/supply/adjust/adjust_list.vue

@@ -249,7 +249,7 @@ export default {
         deliverNum: '',
         type: '',
         dealer: '',
-        date: ''
+        date: []
       },
       typeList: [
         { label: '商用工程订单', value: 'TRADE' },

+ 1 - 1
src/views/supply/allot/allot_list.vue

@@ -231,7 +231,7 @@ export default {
         // 筛选表单数据
         orderNum: '',
         wlName: '',
-        date: ''
+        date: []
       },
       isCollapse: true,
       queryItem: {}

+ 2 - 2
src/views/supply/apply/apply_list.vue

@@ -561,7 +561,7 @@ export default {
         warehouse: '',
         jxsNum: '',
         jxsName: '',
-        date: '',
+        date: [],
         chName: '',
         model: '',
         salesMan: '',
@@ -699,7 +699,7 @@ export default {
         startTime: this.screenForm.date ? this.screenForm.date[0] : '',
         endTime: this.screenForm.date ? this.screenForm.date[1] : '',
         examineStatus: this.screenForm.status,
-        serviceId: this.screenForm.salesMan,
+        serviceId: this.screenForm.serviceId,
         type: this.screenForm.orderType,
         k3ServiceId: this.screenForm.k3ServiceId,
         mainOrderId: this.screenForm.mainOrderId,

+ 1 - 1
src/views/supply/apply/components/engin_form.vue

@@ -578,7 +578,7 @@ export default {
         loginNum: '',
         enginName: '',
         model: '',
-        date: '',
+        date: [],
         warehouse: '',
         type: '',
         refProjectName: ''

+ 1 - 1
src/views/supply/apply/engin_list.vue

@@ -591,7 +591,7 @@ export default {
         warehouse: '',
         jxsNum: '',
         jxsName: '',
-        date: '',
+        date: [],
         chName: '',
         model: '',
         salesMan: '',

+ 1 - 1
src/views/supply/apply/new_apply.vue

@@ -503,7 +503,7 @@ export default {
         warehouse: '',
         jxsNum: '',
         jxsName: '',
-        date: '',
+        date: [],
         chName: '',
         model: '',
         salesMan: '',

+ 1 - 1
src/views/supply/apply/new_engin.vue

@@ -535,7 +535,7 @@ export default {
         warehouse: '',
         jxsNum: '',
         jxsName: '',
-        date: '',
+        date: [],
         chName: '',
         model: '',
         salesMan: '',

+ 1 - 1
src/views/supply/deliver/commerce_list.vue

@@ -424,7 +424,7 @@ export default {
         jxsName: '',
         chName: '',
         model: '',
-        date: '',
+        date: [],
         jxsNum: '',
         status: '',
         salesMan: '',

+ 1 - 1
src/views/supply/deliver/deliver_list.vue

@@ -358,7 +358,7 @@ export default {
         jxsName: '',
         chName: '',
         model: '',
-        date: '',
+        date: [],
         type: '',
         salesMan: ''
       },

+ 1 - 1
src/views/supply/deliver/home_list.vue

@@ -403,7 +403,7 @@ export default {
         jxsName: '',
         chName: '',
         model: '',
-        date: '',
+        date: [],
         jxsNum: '',
         status: '',
         salesMan: '',

+ 7 - 4
src/views/supply/deliver/sum_list.vue

@@ -829,8 +829,8 @@ export default {
         goodsCode: '',
         goodsOldCode: '',
         model: '',
-        createDate: '',
-        deliverDate: '',
+        createDate: [],
+        deliverDate: [],
         correspondId: [],
         jxsNum: '',
         jxsName: '',
@@ -839,7 +839,7 @@ export default {
         salesMan: '',
         k3ServiceId: '',
         mainOrderId: '',
-        approvaTime: '',
+        approvaTime: [],
         types: '',
         printStatus: '',
         discriminate: '',
@@ -1068,8 +1068,11 @@ export default {
         materialNumber: this.screenForm.goodsCode,
         materialOldNumber: this.screenForm.goodsOldCode,
         specification: this.screenForm.model,
+        printStatus: this.screenForm.printStatus,
+        invoicePrintStatus: this.screenForm.invoicePrintStatus,
+        discriminate: this.screenForm.discriminate,
         createBy: this.screenForm.createBy,
-
+        refEnginRecordNo: this.screenForm.refEnginRecordNo,
         createStartTime: this.screenForm.createDate ? this.screenForm.createDate[0] : '',
         createEndTime: this.screenForm.createDate ? this.screenForm.createDate[1] : '',
         startTime: this.screenForm.deliverDate ? this.screenForm.deliverDate[0] : '',

+ 1 - 1
src/views/supply/direct/direct_list.vue

@@ -355,7 +355,7 @@ export default {
         warehouse: '',
         jxsNum: '',
         jxsName: '',
-        date: '',
+        date: [],
         chName: '',
         model: '',
         status: ''

+ 1 - 1
src/views/supply/displace/displace_list copy.vue

@@ -295,7 +295,7 @@ export default {
         originOrderNo: '',
         customerKeyword: '',
         productName: '',
-        date: '',
+        date: [],
         createName: '',
         confirmName: '',
         orderType: ''

+ 1 - 1
src/views/supply/engin/commerce_list.vue

@@ -555,7 +555,7 @@ export default {
         enginNum: '',
         loginNum: '',
         enginName: '',
-        date: '',
+        date: [],
         saleType: '',
         createMan: '',
         examineMan: '',

+ 18 - 19
src/views/supply/engin/components/engin_form.vue

@@ -299,7 +299,7 @@
         </el-table-column>
         <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip>
           <template slot-scope="scope">
-            <el-input v-model="scope.row.qty" size="small" type="number" @mousewheel.native.prevent />
+            <el-input v-model.number="scope.row.qty" size="small" type="number" @mousewheel.native.prevent />
           </template>
         </el-table-column>
         <el-table-column align="center" label="订单金额" prop="myTotalAmount" min-width="100" show-overflow-tooltip>
@@ -315,7 +315,7 @@
         <el-table-column align="center" label="税率" prop="taxRate" min-width="100" show-overflow-tooltip />
         <el-table-column align="center" label="操作" width="100" fixed="right">
           <template slot-scope="scope">
-            <el-button type="text" @click="deleteItem(scope.$index, scope.row,scope.row.cid)">删除</el-button>
+            <el-button type="text" @click="deleteItem(scope.$index, scope.row, scope.row.cid)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -549,18 +549,17 @@ export default {
       return JSON.parse(localStorage.getItem('supply_user')).isCustomer
     }
   },
-  watch:{
-    goodsList:{
-      deep:true,
-      immediate:true,
-      handler(val,oval){
+  watch: {
+    goodsList: {
+      deep: true,
+      immediate: true,
+      handler(val, oval) {
         val.forEach(item => {
-            item.myTotalAmount = (item.price || 0) * (item.qty || 0)
-            item.sums1 = ['number', 'directTransferQty', 'qty', 'enginNum', 'oldQty', 'hasSendQty']
-            item.sums2 = ['myTotalAmount', 'payAmount', 'price', 'payRebateAmount', 'discAmount']
-          })
+          item.myTotalAmount = (item.price || 0) * (item.qty || 0)
+          item.sums1 = ['number', 'directTransferQty', 'qty', 'enginNum', 'oldQty', 'hasSendQty']
+          item.sums2 = ['myTotalAmount', 'payAmount', 'price', 'payRebateAmount', 'discAmount']
+        })
       }
-
     }
   },
   async created() {
@@ -860,9 +859,11 @@ export default {
 
       this.goodsList = this.goodsList.concat(this.rightGoodsList)
       this.goodsList.forEach(k => {
+        if (!k.qty) {
+          k.qty = 0
+        }
         if (!k.cid) {
           k.cid = ''
-
         }
       })
       this.isShowGoodsDialog = false
@@ -872,7 +873,6 @@ export default {
 
     // 删除产品
     deleteItem(index, row, id) {
-
       // id id存在就说明这个货品已经引用过了
       // if (this.listItem && this.examineStatus === 'OK' && id) {
       //   this.$errorMsg('已审核通过的型号不能删除')
@@ -889,7 +889,6 @@ export default {
       } else {
         this.goodsList.splice(index, 1)
         this.$successMsg('删除成功')
-
       }
     },
 
@@ -899,7 +898,6 @@ export default {
     },
 
     clickSubmitForm(type) {
-
       this.$refs.mainForm.validate(valid => {
         if (valid) {
           for (let i = 0; i < this.goodsList.length; i++) {
@@ -907,8 +905,9 @@ export default {
               this.$errorMsg('请选择销售类型')
               return
             }
-            if (Number(this.goodsList[i].qty) < 0) {
-              this.$errorMsg('数量不能小于0')
+            console.log(this.goodsList[i].qty );
+            if (this.goodsList[i].qty == null || this.goodsList[i].qty === '' || Number(this.goodsList[i].qty) < 0) {
+              this.$errorMsg('数量不能为空或者小于0')
               return
             }
             if (!this.goodsList[i].materialNumber) {
@@ -950,7 +949,7 @@ export default {
             fileNo: this.mainForm.fileNo,
             items: goodsList
           }
-          console.log(params);
+          console.log(params)
           if (type === 1) {
             if (this.listItem) {
               params.enginInfoId = this.listItem.enginInfoId

+ 2 - 2
src/views/supply/engin/engin_list.vue

@@ -511,7 +511,7 @@ export default {
         enginNum: '',
         loginNum: '',
         enginName: '',
-        date: '',
+        date: [],
         dealer: '',
         company: '',
         createMan: '',
@@ -519,7 +519,7 @@ export default {
         status: '',
         salesMan: '',
         model: '',
-        orderDate: '',
+        orderDate: [],
         isClose: '',
         isDirectTransfer: null,
         examineStatus: ''

+ 1 - 1
src/views/supply/engin/home_list.vue

@@ -646,7 +646,7 @@ export default {
         enginNum: '',
         loginNum: '',
         refTradeCategory: '',
-        date: '',
+        date: [],
         saleType: '',
         createMan: '',
         examineMan: '',

+ 1 - 1
src/views/supply/implement/commercial_implement_list.vue

@@ -281,7 +281,7 @@ export default {
         // 筛选表单数据
         confirmName: '',
         customerId: '',
-        orderTime: '',
+        orderTime: [],
         isClose: '',
         refEnginRecordNo: '',
         refProjectName: '',

+ 5 - 6
src/views/supply/implement/implement_list.vue

@@ -516,7 +516,7 @@ export default {
         dealer: '',
         goodsName: '',
         model: '',
-        date: '',
+        date: [],
         serviceName: '',
         itemServiceName: '',
         newServiceName: '',
@@ -527,7 +527,7 @@ export default {
         policyRemark: '',
         isOver: '',
         walletIds1: [],
-        orderDate: ''
+        orderDate: []
       },
       categoryList: [],
       statusList: [
@@ -560,7 +560,7 @@ export default {
         newServiceName: this.screenForm.newServiceName,
         itemServiceName: this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
-        enginRecordNo: this.screenForm.orderNum,
+        enginRecordNo: this.screenForm.loginNum,
         k3CategoryNumber: this.screenForm.k3CategoryNumber.join(','),
         policyCode: this.screenForm.policyCode,
         policyRemark: this.screenForm.policyRemark,
@@ -603,14 +603,13 @@ export default {
         newServiceName: this.screenForm.newServiceName,
         itemServiceName: this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
-        enginRecordNo: this.screenForm.orderNum,
+        enginRecordNo: this.screenForm.loginNum,
         k3CategoryNumber: this.screenForm.k3CategoryNumber.join(','),
         policyCode: this.screenForm.policyCode,
         policyRemark: this.screenForm.policyRemark,
         isOver: this.screenForm.isOver,
         walletIds1: this.screenForm.walletIds1.join(','),
-        isDisplaceOrder:this.screenForm.isDisplaceOrder
-
+        isDisplaceOrder:this.screenForm.isDisplaceOrder,
       }
       getList(params).then(res => {
         res.data.records.forEach(item => {

+ 4 - 4
src/views/supply/implement/implement_total_list.vue

@@ -537,7 +537,7 @@ export default {
         dealer: '',
         goodsName: '',
         model: '',
-        date: '',
+        date: [],
         serviceName: '',
         itemServiceName: '',
         newServiceName: '',
@@ -547,7 +547,7 @@ export default {
         policyCode: '',
         policyRemark: '',
         isOver: '',
-        orderDate: '',
+        orderDate: [],
         walletIds1: [],
         isDisplaceOrder:''
       },
@@ -582,7 +582,7 @@ export default {
         newServiceName: this.screenForm.newServiceName,
         itemServiceName: this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
-        enginRecordNo: this.screenForm.orderNum,
+        enginRecordNo: this.screenForm.loginNum,
         k3CategoryNumber: this.screenForm.k3CategoryNumber.join(','),
         policyCode: this.screenForm.policyCode,
         policyRemark: this.screenForm.policyRemark,
@@ -623,7 +623,7 @@ export default {
         newServiceName: this.screenForm.newServiceName,
         itemServiceName: this.screenForm.itemServiceName,
         projectName: this.screenForm.enginName,
-        enginRecordNo: this.screenForm.orderNum,
+        enginRecordNo: this.screenForm.loginNum,
         k3CategoryNumber: this.screenForm.k3CategoryNumber.join(','),
         walletIds1: this.screenForm.walletIds1.join(','),
         policyCode: this.screenForm.policyCode,

+ 4 - 4
src/views/supply/implement/nsales_list.vue

@@ -554,15 +554,15 @@ export default {
         chNum: '',
         model: '',
         warehouse: '',
-        date: '',
+        date: [],
         status: '',
-        approval: '',
-        printTime: '',
+        approval:[],
+        printTime: [],
         mainOrderId: '',
         printDesc: null,
         syncStatus: '',
         categoryId: '',
-        invoiceDate: '',
+        invoiceDate: [],
         id: ''
       },
       statusList: [

+ 48 - 31
src/views/supply/pickup/check.vue

@@ -62,14 +62,9 @@
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="3" :lg="3">
-                <el-button
-                  size="mini"
-                  type="primary"
-                  @click="getCode"
-                  :disabled="!screenForm.phone || countDown != 60"
-                >{{ countDown == 60 ? getCodeText : '重新获取(' + countDown + 's)' }}
-                </el-button
-                >
+                <el-button size="mini" type="primary" @click="getCode" :disabled="!screenForm.phone || countDown != 60"
+                  >{{ countDown == 60 ? getCodeText : '重新获取(' + countDown + 's)' }}
+                </el-button>
               </el-col>
               <el-col :xs="24" :sm="8" :lg="8">
                 <el-form-item label="验证码" prop="code">
@@ -82,9 +77,8 @@
                   type="primary"
                   :disabled="!screenForm.phone || !screenForm.code"
                   @click="getPickupManInfo"
-                >确 认
-                </el-button
-                >
+                  >确 认
+                </el-button>
               </el-col>
             </el-row>
             <el-row :gutter="20">
@@ -148,9 +142,8 @@
             <el-col :xs="24" :sm="24" :lg="24">
               <el-form-item prop="status" label-width="0">
                 <el-radio-group v-model="screenForm.status" size="mini" @change="getList()">
-                  <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{
-                      item.label
-                    }}
+                  <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value"
+                    >{{ item.label }}
                   </el-radio-button>
                 </el-radio-group>
               </el-form-item>
@@ -175,7 +168,7 @@
       <div class="main-title">
         <div class="title">提货单</div>
         <div class="fr">
-          <ExportButton :exUrl="'pick/storeExport'" :exParams="exParams" />
+          <ExportButton :disabled="disableExport" :exUrl="'pick/storeExport'" :exParams="exParams" />
         </div>
       </div>
 
@@ -204,6 +197,16 @@
                 {{ scope.row.printNum ? '已打单(' + scope.row.printNum + ')' : '未打单' }}
               </template>
             </el-table-column>
+            <el-table-column align="left" label="是否上楼" prop="isUp" min-width="160" show-overflow-tooltip >
+              <template v-slot="row">
+                {{ row.isUp=='YES'?'是':'否' }}
+              </template>
+            </el-table-column>
+          <el-table-column align="left" label="是否卸货" prop="isDischarge" min-width="160" show-overflow-tooltip >
+            <template v-slot="row">
+                {{ row.isDischarge=='YES'?'是':'否' }}
+              </template>
+          </el-table-column>
             <el-table-column align="left" label="信息密钥" prop="informationKey" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.informationKey" />
@@ -251,13 +254,13 @@
                   "
                 />
                 <span>{{
-                    scope.row.orderType === 'TRADE' ||
-                    scope.row.orderType === 'HOME' ||
-                    scope.row.orderType === 'REQUISITION_TRADE' ||
-                    scope.row.orderType === 'REQUISITION_HOME'
-                      ? scope.row.enginOrderNo
-                      : scope.row.mainOrderId
-                  }}</span>
+                  scope.row.orderType === 'TRADE' ||
+                  scope.row.orderType === 'HOME' ||
+                  scope.row.orderType === 'REQUISITION_TRADE' ||
+                  scope.row.orderType === 'REQUISITION_HOME'
+                    ? scope.row.enginOrderNo
+                    : scope.row.mainOrderId
+                }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="发货申请单号" prop="invoiceId" min-width="130" show-overflow-tooltip>
@@ -369,9 +372,8 @@
             @click="toPrint"
             :disabled="tableSelection.length < 1"
             v-if="$checkBtnRole('print', $route.meta.roles)"
-          >打印发货单
-          </el-button
-          >
+            >打印发货单
+          </el-button>
         </div>
       </div>
     </div>
@@ -500,19 +502,31 @@ export default {
       logisticsArr: [],
       pageNum: 1,
       listTotal: 0,
-      dealerList2: []
+      dealerList2: [],
+      // 限制导出
+      disableExport: true
     }
   },
 
   computed: {
     exParams() {
       return {
-        takerId: this.screenForm.manId,
-        status: this.screenForm.status
+        ...this.screenForm,
+        correspondId:this.screenForm.warehouse,
+        takerId: this.screenForm.manId, 
+        status: this.screenForm.status,
+      }
+    }
+  },
+  watch: {
+    'screenForm.warehouse'() {
+      if (this.check == 1) {
+        this.disableExport = !(this.screenForm.manId && this.screenForm.warehouse)
+      } else {
+        this.disableExport = !(this.screenForm.logisticsId && this.screenForm.warehouse)
       }
     }
   },
-
   created() {
     this.getDealerList()
     this.getCompanyList()
@@ -574,8 +588,11 @@ export default {
       })
     },
     getLogisticsId(e) {
-      const item = this.companyList.find(k => k.id === e)
+      if (this.companyList.length) {
+        const item = this.companyList.find(k => k.id === e)
       this.screenForm.company = item.logisticsCompany
+      }
+  
     },
     // 获取仓库列表
     getWarehouseList() {
@@ -713,7 +730,7 @@ export default {
     // 检查是否一致
     isAllEqual(array) {
       if (array.length > 0) {
-        return !array.some(function(item, index) {
+        return !array.some(function (item, index) {
           return item.informationKey !== array[0].informationKey
         })
       } else {

+ 194 - 77
src/views/supply/pickup/components/pickup_form.vue

@@ -15,7 +15,12 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="8">
             <el-form-item label="选择仓库" prop="warehouse">
-              <el-select v-model="mainForm.warehouse" placeholder="请选择仓库" style="width: 100%" :disabled="listItem">
+              <el-select
+                v-model="mainForm.warehouse"
+                placeholder="请选择仓库"
+                style="width: 100%"
+                :disabled="!!listItem"
+              >
                 <el-option
                   :label="item.name"
                   :value="item.id"
@@ -26,7 +31,7 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="8">
-            <el-button size="small" type="primary" :disabled="listItem" @click="getDeliverList">确定</el-button>
+            <el-button size="small" type="primary" :disabled="!!listItem" @click="getDeliverList">确定</el-button>
           </el-col>
         </el-row>
         <el-row :gutter="20">
@@ -57,12 +62,11 @@
           <el-col :xs="24" :sm="12" :lg="8">
             <el-form-item label="提货方式" prop="pickupWay">
               <el-radio-group v-model="mainForm.pickupWay" :disabled="flag">
-                <!-- ||(isFront===false && item.dictCode=='2' )  -->
                 <el-radio
                   :label="item.dictCode"
-                  :disabled="isFront === true && item.dictCode == '1'"
                   v-for="(item, index) in pickupWayList"
                   :key="index"
+                  :disabled="item.disabled"
                   >{{ item.dictValue }}
                 </el-radio>
               </el-radio-group>
@@ -92,26 +96,51 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="8" v-if="mainForm.pickupWay == '2'">
-            <el-form-item label="物流公司" prop="company">
-              <el-select
-                v-model="mainForm.logisticsId"
-                @change="getLogisticsId"
-                placeholder="全部"
-                style="width: 100%"
-                :disabled="flag"
-              >
-                <el-option
-                  :label="item.logisticsCompany"
-                  :value="item.id"
-                  :disabled="comDisabled(item.id)"
-                  v-for="(item, index) in companyList"
-                  :key="index"
-                ></el-option>
-              </el-select>
+          <template v-if="mainForm.pickupWay == '2'">
+            <el-col :xs="24" :sm="12" :lg="8">
+              <el-form-item label="物流公司" prop="company">
+                <el-select
+                  v-model="mainForm.logisticsId"
+                  @change="getLogisticsId"
+                  placeholder="全部"
+                  style="width: 100%"
+                  :disabled="flag"
+                >
+                  <el-option
+                    :label="item.logisticsCompany"
+                    :value="item.id"
+                    v-for="(item, index) in companyList"
+                    :key="index"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col class="pd-lr" :span="16">
+              <el-col :xs="24" :sm="12" :lg="12">
+                <el-form-item label="是否上楼" prop="isUp">
+                  <el-radio-group v-model="mainForm.isUp" :disabled="flag">
+                    <el-radio label="YES"> 是 </el-radio>
+                    <el-radio label="NO"> 否 </el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="12">
+                <el-form-item label="是否卸货" prop="isDischarge">
+                  <el-radio-group v-model="mainForm.isDischarge" :disabled="flag">
+                    <el-radio label="YES"> 是 </el-radio>
+                    <el-radio label="NO"> 否 </el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+            </el-col>
+          </template>
+          <el-col :xs="24" :sm="12" :lg="8">
+            <el-form-item label="备注" prop="remark">
+              <el-input  v-model="mainForm.remark" placeholder="请输入备注" :disabled="flag"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
+
         <!--        <el-row :gutter="20">-->
         <!--          <template v-if="logisticsNumber === '001'">-->
         <!--            <el-col :xs="24" :sm="8" :lg="8">-->
@@ -332,10 +361,14 @@
             min-width="100"
             show-overflow-tooltip
           ></el-table-column>
+          <el-table-column fixed="right" label="操作" width="100" v-if="flag && mainForm.pickupWay == '2'">
+            <template slot-scope="scope">
+              <el-button @click="handLogistics(scope.row)" type="text" size="small">物流信息</el-button>
+            </template>
+          </el-table-column>
         </el-table>
       </div>
     </div>
-
     <div class="page-footer">
       <div class="footer" :class="classObj">
         <el-button type="primary" @click="clickSubmitForm" v-if="!flag" :loading="formLoading"
@@ -346,6 +379,28 @@
         </el-popconfirm>
       </div>
     </div>
+    <el-dialog title="物流信息" :visible.sync="visible" width="60%" @close="onClose" :close-on-click-modal="false">
+      <el-timeline class="logistics" :reverse="false" v-if="logisticsDetail.length">
+        <el-timeline-item
+          placement="top"
+          type="success"
+          v-for="(item, index) in logisticsDetail"
+          :key="index"
+          :timestamp="item.time"
+        >
+          <el-row :gutter="20">
+            <el-col class="logistics-title"> {{ item.status }} </el-col>
+            <el-col>
+              <div class="flex">
+                <div>{{ item.context }}</div>
+                <!-- <div>{{ item.createTime }}</div> -->
+              </div>
+            </el-col>
+          </el-row>
+        </el-timeline-item>
+      </el-timeline>
+      <div v-else class="tip">暂无物流信息</div>
+    </el-dialog>
   </div>
 </template>
 
@@ -359,7 +414,8 @@ import {
   addPickupBook,
   editPickupBook,
   getDetail,
-  checkStock
+  checkStock,
+  getListOrderTrack
 } from '@/api/supply/pickup'
 import { getDictList } from '@/api/common'
 
@@ -374,7 +430,7 @@ export default {
       mainForm: {
         // 筛选表单数据
         warehouse: '',
-        date:'',
+        date: '',
         timeSlot: '',
         pickupWay: '',
         pickupMan: '',
@@ -384,7 +440,9 @@ export default {
         logisticsId: '',
         receivingName: '',
         phone: '',
-        address: ''
+        address: '',
+        isUp: 'NO',
+        isDischarge: 'NO'
       },
       mainFormRules: {
         date: [{ required: true, message: '请选择预约日期', trigger: 'change' }],
@@ -404,12 +462,11 @@ export default {
       pickupCarList: [],
       companyList: [],
       logisticsNumber: '',
-      isFront: null,
       storeList: [
-        {
-          label: '前置仓',
-          value: 0
-        },
+        // {
+        //   label: '前置仓',
+        //   value: 0
+        // },
         {
           label: '工程机',
           value: 1
@@ -421,9 +478,16 @@ export default {
       ],
       setDisabled: {
         disabledDate: time => {
-          return time.getTime()< new Date() - 24 * 3600 * 1000
+          return time.getTime() < new Date() - 24 * 3600 * 1000
         }
-      }
+      },
+      visible: false,
+      orderId: '',
+      logisticsDetail: [],
+      frontPickType: null,
+      isFront: null,
+      isPick: null,
+      isPickUpGoods: false
     }
   },
 
@@ -436,23 +500,21 @@ export default {
         hideSidebar: !this.sidebar.opened,
         openSidebar: this.sidebar.opened
       }
-    },
-    comDisabled() {
-      return id => {
-        if (this.isFront === false && id === '1574563841707114498') {
-          return true
-        }
-        if (this.isFront === true && id !== '1574563841707114498') {
-          return true
-        }
-        return false
-      }
     }
+    // comDisabled() {
+    //   return id => {
+    //     if (this.isFront === false && id === '1574563841707114498') {
+    //       return true
+    //     }
+    //     if (this.isFront === true && id !== '1574563841707114498') {
+    //       return true
+    //     }
+    //     return false
+    //   }
+    // }
   },
 
   created() {
-    this.isFront = JSON.parse(localStorage.getItem('supply_user')).isFront
-
     this.getWarehouseList()
     this.getPickupWayList()
     this.getPickupManList()
@@ -547,6 +609,8 @@ export default {
         this.mainForm.company = data.pickLogistics
         this.mainForm.remark = data.remark
         this.mainForm.logisticsId = data.logisticsId
+        this.mainForm.isUp = data.isUp
+        this.mainForm.isDischarge = data.isDischarge
         if (this.mainForm.pickupWay == 2) {
           const item = this.companyList.find(k => k.id === data.logisticsId)
           this.logisticsNumber = item.logisticsNumber
@@ -591,31 +655,46 @@ export default {
     // 获取提货方式列表
     getPickupWayList() {
       getDictList({ sysDictEnum: 'PICK' }).then(res => {
-        this.pickupWayList = res.data
-        if (this.isFront === true) {
-          this.mainForm.pickupWay = '2'
-          this.mainForm.logisticsId = '1574563841707114498'
-          getCompanyList({
-            pageNum: 1,
-            pageSize: -1
-          }).then(res => {
-            this.companyList = res.data.records
-            const item = this.companyList.find(k => k.id === this.mainForm.logisticsId)
-            this.mainForm.company = item.logisticsCompany
-            this.logisticsNumber = item.logisticsNumber
-            if (this.logisticsNumber === '001' && this.deliverList && this.deliverList.length) {
-              if (!this.listItem) {
-                this.deliverList.forEach(k => {
-                  this.$set(k, 'receivingName', '')
-                  this.$set(k, 'phone', '')
-                  this.$set(k, 'address', '')
-                })
-              }
+        const localData = JSON.parse(localStorage.getItem('supply_user'))
+        this.frontPickType = localData.frontPickType
+        this.isFront = localData.isFront
+        this.isPick = localData.isPick
+          res.data.forEach(k => {
+          if (this.frontPickType) {
+            if (!this.isFront && k.dictCode == 1) {
+              k.disabled = true
             }
-          })
-        } else if (this.isFront === false) {
-          this.mainForm.pickupWay = '1'
-        }
+            if (!this.isPick && k.dictCode == 2) {
+              k.disabled = true
+            }
+          }
+        })
+        this.pickupWayList = res.data
+
+        // if (this.isFront === true) {
+        //   this.mainForm.pickupWay = '2'
+        //   this.mainForm.logisticsId = '1574563841707114498'
+        //   getCompanyList({
+        //     pageNum: 1,
+        //     pageSize: -1
+        //   }).then(res => {
+        //     this.companyList = res.data.records
+        //     const item = this.companyList.find(k => k.id === this.mainForm.logisticsId)
+        //     this.mainForm.company = item.logisticsCompany
+        //     this.logisticsNumber = item.logisticsNumber
+        //     if (this.logisticsNumber === '001' && this.deliverList && this.deliverList.length) {
+        //       if (!this.listItem) {
+        //         this.deliverList.forEach(k => {
+        //           this.$set(k, 'receivingName', '')
+        //           this.$set(k, 'phone', '')
+        //           this.$set(k, 'address', '')
+        //         })
+        //       }
+        //     }
+        //   })
+        // } else if (this.isFront === false) {
+        //   this.mainForm.pickupWay = '1'
+        // }
       })
     },
 
@@ -829,7 +908,6 @@ export default {
         pickType: Number(this.mainForm.pickupWay),
         takerId: this.mainForm.pickupMan,
         takerName: takerName || '',
-
         remark: this.mainForm.remark,
         invoiceOrderIds: orderList
       }
@@ -839,6 +917,8 @@ export default {
       if (this.mainForm.pickupWay == '2') {
         params.pickLogistics = this.mainForm.company
         params.logisticsId = this.mainForm.logisticsId
+        params.isUp = this.mainForm.isUp
+        params.isDischarge = this.mainForm.isDischarge
         // params.receivingName = this.mainForm.receivingName
         // params.phone = this.mainForm.phone
         // params.address = this.mainForm.address
@@ -869,16 +949,53 @@ export default {
 
     resetForm() {
       this.$refs.mainForm.resetFields()
-      if (this.isFront === true) {
-        this.mainForm.pickupWay = '2'
-      }
-      if (this.isFront === false) {
-        this.mainForm.pickupWay = '1'
-      }
+      // if (this.isFront === true) {
+      //   this.mainForm.pickupWay = '2'
+      // }
+      // if (this.isFront === false) {
+      //   this.mainForm.pickupWay = '1'
+      // }
       this.deliverList = []
+    },
+    handLogistics(row) {
+      getListOrderTrack({ orderId: row.invoiceId }).then(res => {
+        this.logisticsDetail = res.data
+      })
+      this.orderId = row.id
+      this.visible = true
+    },
+    onClose() {
+      this.logisticsDetail = []
+      this.orderId = ''
+      this.visible = false
     }
   }
 }
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.flex {
+  display: flex;
+  div {
+    flex: 1;
+  }
+}
+::v-deep .el-timeline-item__tail {
+  border-left: 2px solid #67c23a;
+}
+::v-deep .el-form-item__content {
+  line-height: 33px;
+}
+.logistics-title {
+  padding: 10px;
+}
+.tip {
+  height: 200px;
+  text-align: center;
+  line-height: 200px;
+}
+.pd-lr {
+  padding-left: 0 !important;
+  padding-right: 0 !important;
+}
+</style>

+ 14 - 4
src/views/supply/pickup/pickup_list.vue

@@ -153,6 +153,16 @@
                 {{ scope.row.printNum ? '已打单' : '未打单' }}
               </template>
             </el-table-column>
+            <el-table-column align="left" label="是否上楼" prop="isUp" min-width="160" show-overflow-tooltip >
+              <template v-slot="row">
+                {{ row.isUp=='YES'?'是':'否' }}
+              </template>
+            </el-table-column>
+          <el-table-column align="left" label="是否卸货" prop="isDischarge" min-width="160" show-overflow-tooltip >
+            <template v-slot="row">
+                {{ row.isDischarge=='YES'?'是':'否' }}
+              </template>
+          </el-table-column>
             <el-table-column align="left" label="打单日期" prop="printTime" min-width="160" show-overflow-tooltip />
             <el-table-column align="left" label="信息密钥" prop="informationKey" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
@@ -331,11 +341,11 @@ export default {
         jxsName: '',
         jxsNum: '',
         correspondId: '',
-        date: '',
+        date: [],
         status: '',
         takerPhone: '',
         takerId: '',
-        printTime: '',
+        printTime: [],
         salesOrderId: '',
         createBy: ''
       },
@@ -364,8 +374,8 @@ export default {
         takerPhone: this.screenForm.takerPhone,
         createBy: this.screenForm.createBy,
         takerId: this.screenForm.takerId,
-        printStartTime: this.screenForm.printTime[0],
-        printEndTime: this.screenForm.printTime[1],
+        printStartTime: this.screenForm.printTime?this.screenForm.printTime[0]:'',
+        printEndTime: this.screenForm.printTime?this.screenForm.printTime[1]:'',
         salesOrderId: this.screenForm.salesOrderId
       }
     }

+ 1 - 1
src/views/supply/pickup/statistics.vue

@@ -170,7 +170,7 @@ export default {
   data() {
     return {
       screenForm: {
-        date: ''
+        date: []
       },
       detailData: {}
     }

+ 77 - 44
src/views/supply/pickup/sum_list.vue

@@ -26,21 +26,20 @@
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="仓库" prop="correspondId">
-                    <el-select
-                      v-model="screenForm.correspondId"
-                      placeholder="请选择发货仓库"
-                      size="mini"
-                      style="margin-right: 10px"
-                    >
-                      <el-option
-                        v-for="(item, index) in warehouseList"
-                        :key="index"
-                        :label="item.name"
-                        :value="item.id"
-                      />
-                    </el-select>
-                  </el-form-item>
+                <el-form-item label="仓库" prop="correspondId">
+                  <el-select
+                    v-model="screenForm.correspondId"
+                    placeholder="请选择发货仓库"
+                    size="mini"
+                    style="margin-right: 10px"
+                  >
+                    <el-option
+                      v-for="(item, index) in warehouseList"
+                      :key="index"
+                      :label="item.name"
+                      :value="item.id"
+                    />
+                  </el-select>
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :lg="6">
@@ -78,7 +77,7 @@
                   <el-date-picker
                     v-model="screenForm.date"
                     type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                    :default-time="['00:00:00', '23:59:59']"
                     range-separator="至"
                     style="width: 100%"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -92,7 +91,7 @@
                   <el-date-picker
                     v-model="screenForm.printTime"
                     type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                    :default-time="['00:00:00', '23:59:59']"
                     range-separator="至"
                     style="width: 100%"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -150,6 +149,16 @@
               {{ scope.row.printNum ? '已打单' : '未打单' }}
             </template>
           </el-table-column>
+          <el-table-column align="left" label="是否上楼" prop="isUp" min-width="160" show-overflow-tooltip >
+              <template v-slot="row">
+                {{ row.isUp=='YES'?'是':'否' }}
+              </template>
+            </el-table-column>
+          <el-table-column align="left" label="是否卸货" prop="isDischarge" min-width="160" show-overflow-tooltip >
+            <template v-slot="row">
+                {{ row.isDischarge=='YES'?'是':'否' }}
+              </template>
+          </el-table-column>
           <el-table-column align="left" label="打单日期" prop="printTime" min-width="160" show-overflow-tooltip />
           <!-- <el-table-column align="left" label="信息密钥" prop="informationKey" min-width="100" show-overflow-tooltip>
             <template slot-scope="scope">
@@ -170,27 +179,27 @@
             </template>
           </el-table-column>
           <el-table-column align="left" label="销售订单号" prop="mainOrderId" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton
-                  :copy-text="
-                    scope.row.orderType === 'TRADE' ||
-                    scope.row.orderType === 'HOME' ||
-                    scope.row.orderType === 'REQUISITION_TRADE' ||
-                    scope.row.orderType === 'REQUISITION_HOME'
-                      ? scope.row.enginOrderNo
-                      : scope.row.mainOrderId
-                  "
-                />
-                <span>{{
+            <template slot-scope="scope">
+              <CopyButton
+                :copy-text="
                   scope.row.orderType === 'TRADE' ||
                   scope.row.orderType === 'HOME' ||
                   scope.row.orderType === 'REQUISITION_TRADE' ||
                   scope.row.orderType === 'REQUISITION_HOME'
                     ? scope.row.enginOrderNo
                     : scope.row.mainOrderId
-                }}</span>
-              </template>
-            </el-table-column>
+                "
+              />
+              <span>{{
+                scope.row.orderType === 'TRADE' ||
+                scope.row.orderType === 'HOME' ||
+                scope.row.orderType === 'REQUISITION_TRADE' ||
+                scope.row.orderType === 'REQUISITION_HOME'
+                  ? scope.row.enginOrderNo
+                  : scope.row.mainOrderId
+              }}</span>
+            </template>
+          </el-table-column>
           <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
             <template slot-scope="scope">
               <CopyButton :copy-text="scope.row.materialCode" />
@@ -275,14 +284,35 @@
         />
       </div>
     </div>
+    <el-dialog title="物流信息" :visible.sync="visible" width="60%" @close="onClose" :close-on-click-modal="false">
+      <el-timeline class="logistics" :reverse="false" v-if="logisticsDetail.length">
+        <el-timeline-item
+          placement="top"
+          type="success"
+          v-for="(item, index) in logisticsDetail"
+          :key="index"
+          :timestamp="item.time"
+        >
+          <el-row :gutter="20">
+            <el-col class="logistics-title"> {{ item.status }} </el-col>
+            <el-col>
+              <div class="flex">
+                <div>{{ item.context }}</div>
+                <!-- <div>{{ item.createTime }}</div> -->
+              </div>
+            </el-col>
+          </el-row>
+        </el-timeline-item>
+      </el-timeline>   
+      <div v-else class="tip">暂无物流信息</div>   
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { getPickupList, getPickupManList } from '@/api/supply/pickup'
+import { getPickupList, getPickupManList,getListOrderTrack } from '@/api/supply/pickup'
 import { getLogisticsList } from '@/api/basic_data/logistics'
 import { getWarehouseList } from '@/api/supply/engin'
-
 export default {
   data() {
     return {
@@ -297,18 +327,21 @@ export default {
         jxsName: '',
         jxsNum: '',
         correspondId: '',
-        date: '',
+        date: [],
         status: '',
         takerPhone: '',
         takerId: '',
-        printTime: '',
+        printTime: [],
         salesOrderId: '',
         logisticsId: ''
       },
       pickupManList: '',
       isCollapse: true,
       logisticsList: [],
-      warehouseList:[]
+      warehouseList: [],
+      visible: false,
+      orderId: '',
+      logisticsDetail: []
     }
   },
 
@@ -325,8 +358,8 @@ export default {
         takerPhone: this.screenForm.takerPhone,
         takerId: this.screenForm.takerId,
         logisticsId: this.screenForm.logisticsId,
-        printStartTime: this.screenForm.printTime[0],
-        printEndTime: this.screenForm.printTime[1],
+        printStartTime: this.screenForm.printTime ? this.screenForm.printTime[0] : '',
+        printEndTime: this.screenForm.printTime ? this.screenForm.printTime[1] : '',
         salesOrderId: this.screenForm.salesOrderId
       }
     }
@@ -357,8 +390,8 @@ export default {
         status: this.screenForm.status,
         takerPhone: this.screenForm.takerPhone,
         takerId: this.screenForm.takerId,
-        printStartTime: this.screenForm.printTime[0],
-        printEndTime: this.screenForm.printTime[1],
+        printStartTime: this.screenForm.printTime ? this.screenForm.printTime[0] : '',
+        printEndTime: this.screenForm.printTime ? this.screenForm.printTime[1] : '',
         salesOrderId: this.screenForm.salesOrderId
       }
       getPickupList(params).then(res => {
@@ -367,8 +400,8 @@ export default {
         this.listLoading = false
       })
     },
-// 获取仓库列表
-getWarehouseList() {
+    // 获取仓库列表
+    getWarehouseList() {
       getWarehouseList({
         pageNum: 1,
         pageSize: -1
@@ -399,7 +432,7 @@ getWarehouseList() {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 1 - 1
src/views/supply/policy/components/policy_list.vue

@@ -311,7 +311,7 @@ export default {
         policyCode: '',
         policyRemark: '',
         jxsName: '',
-        date: '',
+        date: [],
         zbMan: '',
         shMan: '',
         status: ''

+ 1 - 1
src/views/supply/policy/policy_list.vue

@@ -559,7 +559,7 @@ export default {
         policyCode: '',
         policyRemark: '',
         jxsName: '',
-        date: '',
+        date: [],
         zbMan: '',
         shMan: '',
         status: '',

+ 1 - 1
src/views/supply/purchase/enter_list.vue

@@ -242,7 +242,7 @@ export default {
         orderNum: '',
         chName: '',
         chNum: '',
-        date: '',
+        date: [],
         company: ''
       },
       isCollapse: true,

+ 1 - 1
src/views/supply/purchase/purchase_list.vue

@@ -264,7 +264,7 @@ export default {
         // 筛选表单数据
         business: '',
         supplier: '',
-        date: ''
+        date: []
       },
       isCollapse: true,
       queryItem: {}

+ 1 - 1
src/views/supply/reserve/reserve_list.vue

@@ -368,7 +368,7 @@ export default {
         orderNum: '',
         jxsName: '',
         jxsNum: '',
-        date: '',
+        date: [],
         createMan: '',
         updateMan: '',
         saleNum: '',

+ 1 - 1
src/views/supply/retail/retail_list.vue

@@ -592,7 +592,7 @@ export default {
         goodsName: '',
         model: '',
         jxsName: '',
-        date: '',
+        date: [],
         isDirectTransfer: '',
         zbMan: '',
         shMan: '',

+ 1 - 1
src/views/supply/return/online_list.vue

@@ -221,7 +221,7 @@ export default {
         chNum: '',
         chName: '',
         model: '',
-        date: ''
+        date: []
       },
 
       queryItem: {}

+ 1 - 1
src/views/supply/return/return_list.vue

@@ -215,7 +215,7 @@ export default {
         jxsName: '',
         goodsName: '',
         model: '',
-        date: ''
+        date: []
       },
 
       queryItem: {},

+ 3 - 3
src/views/supply/sales/sales_list.vue

@@ -545,11 +545,11 @@ export default {
         chNum: '',
         model: '',
         warehouse: [],
-        date: '',
+        date: [],
         status: '',
         mainOrderId: '',
-        approval: '',
-        printTime: '',
+        approval: [],
+        printTime: [],
         printDesc: null,
         syncStatus: '',
         id: '',

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini