Просмотр исходного кода

1、修改供应商选择界面到共通选择

zhoux 2 лет назад
Родитель
Сommit
5d55c77c2d

+ 1 - 1
api/pages/ivt/inbound.js

@@ -27,7 +27,7 @@ module.exports = {
       add: { key: 'add', url: '/package-purchase/pages/purchase-receipt/add/add'  },
       edit: { key: 'edit', url: '/package-inventory/pages/warehousing-processing/detail/detail'  },
       addOther: { key: 'addOther', url: '/package-inventory/pages/other-warehousing/other-warehousing'  },
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers'  },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add'  },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/ivt/inboundOther.js

@@ -19,7 +19,7 @@ module.exports = {
     inboundOther: {
       detail: { key: 'detail', url: '/package-purchase/pages/purchase-receipt/detail/detail' },
       add: { key: 'add', url: '/package-inventory/pages/other-warehousing/other-warehousing' },
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers'  },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add'  },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/ivt/inboundProcessing.js

@@ -21,7 +21,7 @@ module.exports = {
       add: { key: 'add', url: '/package-purchase/pages/purchase-receipt/add/add'  },
       edit: { key: 'edit', url: '/package-inventory/pages/warehousing-processing/detail/detail'  },
       addOther: { key: 'addOther', url: '/package-inventory/pages/other-warehousing/other-warehousing'  },
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers'  },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add'  },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/ivt/outbound.js

@@ -17,7 +17,7 @@ module.exports = {
     outbound: { 
       edit: { key: 'edit', url: '/package-inventory/pages/outbound-processing/detail/detail' },
       addOther: { key: 'addOther', url: '/package-inventory/pages/other-outbound/other-outbound' },
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers' },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add' },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/ivt/outboundOther.js

@@ -17,7 +17,7 @@ module.exports = {
 
   routeUrl: {
     outboundOther: { 
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers'  },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add'  },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/ivt/outboundProcessing.js

@@ -16,7 +16,7 @@ module.exports = {
 
   routeUrl: {
     outboundProcessing: {
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers' },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
       staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add' },
       chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/mac/receiptPayment.js

@@ -24,7 +24,7 @@ module.exports = {
 			selectBill: {
 				key: 'selectBill', url: '/package-base-select/pages/select-bill/select-bill'
 			},
-			chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers' },
+			chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
 			chooseStaff: { key: 'chooseStaff', url: '/package-base-select/pages/select-data/select-data',type:'staff'  },
 			staffadd: { key: 'staffadd', url: '/package-basic-data/pages/staff/add/add' },
 			chooseOrg: { key: 'chooseOrg',url: '/package-base-select/pages/select-data/select-data',type:'org' }, 

+ 1 - 1
api/pages/pur/purchase.js

@@ -18,7 +18,7 @@ module.exports = {
   routeUrl: {
     purchase: { 
       add: { key: 'add', url: '/package-purchase/pages/purchase-order/add/add' }, 
-      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-suppliers/select-suppliers'  },
+      chooseSupplier: { key: 'chooseSupplier', url: '/package-base-select/pages/select-data/select-data',type:'supplier'  },
       chooseWh: { key: 'chooseWh', url: '/package-base-select/pages/select-warehouse/select-warehouse'  },
       chooseSaleOrder: { key: 'chooseSaleOrder', url: '/package-purchase/pages/purchase-based-sales/purchase-based-sales'  },
       detail: { key: 'detail', url: '/package-purchase/pages/purchase-order/purchase-order-detail/purchase-order-detail' },  

+ 0 - 1
app.json

@@ -196,7 +196,6 @@
                 "pages/select-staff-right/select-staff-right",
                 "pages/select-staff-purview/select-staff-purview",
                 "pages/select-customers/select-customers",
-                "pages/select-suppliers/select-suppliers",
                 "pages/select-bill/select-bill",
                 "pages/select-goods/select-goods",
                 "pages/select-functional-permissions/select-functional-permissions",

+ 8 - 1
components/dkbase/dk-form-more-items/dk-form-more-items.js

@@ -319,7 +319,14 @@ Component({
         // 选择供应商
       } else if (this.data.objType == Constants.objType.supplier) {
         wx.navigateTo({
-          url: '/package-base-select/pages/select-suppliers/select-suppliers',
+          // url: '/package-base-select/pages/select-suppliers/select-suppliers',
+          url:'/package-base-select/pages/select-data/select-data',
+          success: function (res) {
+            // 通过eventChannel向被打开页面传送数据
+            let item = {}
+            let route = this.data.routeUrl[this.data.routeObjName];
+            res.eventChannel.emit('params', { item: item ,route: route})
+          }
         })
       }
     },

+ 1 - 0
mixins/index.js

@@ -680,6 +680,7 @@ module.exports = {
           service: app.globalData[routeObjName + 'Service']
         })
       }
+      console.log('fff',this.data.service,routeObjName);
       // 根据routeObjName获取当前路由
       if (app.globalData['routeUrl'][this.data.routeObjName]) {
         this.setData({

+ 59 - 4
package-base-select/pages/select-data/select-data.js

@@ -32,6 +32,8 @@ Page({
         chooseFlag: false,
         // 提示信息
         placeholder: [],
+        // tab页签
+        tagList: [],
         // 确定按钮
         buttonList: [{
             name: 'confirm',
@@ -71,7 +73,7 @@ Page({
     chooseData(e) {
         let list = e.detail.list;
         this.setData({
-            choosedData:list
+            choosedData: list
         })
     },
     /**
@@ -118,6 +120,10 @@ Page({
             case Constants.chooseType.staff:
                 data = { id: item.staffId, name: item.staffName }
                 break;
+            // 供应商
+            case Constants.chooseType.supplier:
+                data = { id: item.supId, name: item.supName }
+                break;
             // 对象类型
             case Constants.chooseType.objectType:
                 data = {
@@ -158,6 +164,18 @@ Page({
         if (this.data.dictCode) {
             params.dictCode = this.data.dictCode
         }
+        let chooseType = this.data.chooseRoute.type;
+        // 供应商
+        if (chooseType == Constants.chooseType.supplier) {
+            params.supType = "";
+            let active = this.data.active
+            if (active == 1) { //采购供应商
+                params.supType = Constants.kindCode.supplierPur;
+            }
+            else if (active == 2) { //服务供应商
+                params.supType = Constants.kindCode.supplierService;
+            }
+        }
         return params
     },
     /** 
@@ -166,10 +184,11 @@ Page({
    * @author : 周兴
    */
     getData(params) {
-        return this.excute(this.data.service, this.data.service[this.data.method], params);
+        let service = app.globalData[this.data.routeObjName + 'Service'];
+        return this.excute(service, service[this.data.method], params);
     },
     /**
-    * @desc : tab切换
+    * @desc : tab切换(列表和已选)
     * @date : 2024/3/25 15:49
     * @author : 周兴
     */
@@ -178,6 +197,19 @@ Page({
             active: e.detail.index
         })
     },
+    /**
+     * @desc : 切换tab
+     * @date : 2024/2/1 15:49
+     * @author : 周兴
+     */
+    onChangeTabs(e) {
+        let index = e.detail.detail.index
+        this.setData({
+            active: index,
+        })
+        // 查询
+        this.searchData()
+    },
     /** 
   * @desc : 生命周期函数(初始加载)
   * @date : 2024年3月23日
@@ -192,6 +224,7 @@ Page({
 
         // 读取传入的单据类型
         let chooseType = route.type
+
         switch (chooseType) {
             // 部门
             case Constants.chooseType.org:
@@ -222,6 +255,28 @@ Page({
                     placeholder: ['staffName']
                 })
                 break;
+            // 供应商
+            case Constants.chooseType.supplier:
+                title = "供应商"
+                this.setData({
+                    addUrl: '/package-purchase/pages/supplier-list/add/add',
+                    routeObjName: 'supplier',
+                    method: 'selectByCond',
+                    title: 'supName',
+                    tagList: [{
+                        title: mixins.$t("all") //全部
+                    }, {
+                        title: mixins.$t("procurementSupplier") //采购供应商
+                    }, {
+                        title: mixins.$t("serviceProvider") // 服务供应商
+                    }],
+                    contentList: [
+                        { name: 'supTypeName', title: '供应商类别' },
+                        { name: 'returnAddress', title: '供应商地址' },
+                    ],
+                    placeholder: ['supplier']
+                })
+                break;
             // 数据字典
             case Constants.chooseType.dictionary:
                 title = "数据字典"
@@ -272,7 +327,7 @@ Page({
         }
         wx.setNavigationBarTitle({
             title: '选择' + title,
-          })
+        })
         // 调取查询
         this.searchData();
     },

+ 4 - 1
package-base-select/pages/select-data/select-data.wxml

@@ -1,14 +1,17 @@
 <loading wx:if="{{loading}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0.8"></loading>
 <wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
 <van-sticky scroll-top="0">
-  <view style="height: {{chooseFlag?'190rpx': ((searchContent && searchContent.length > 0)?'200rpx':'90rpx')}}">
+  <view style="height: {{(chooseFlag || tagList)?'190rpx': ((searchContent && searchContent.length > 0)?'200rpx':'90rpx')}}">
     <!-- 查询条件 -->
     <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,placeholder)}}">
     </dk-dropdown-menu>
+    <!-- 多选 -->
     <van-tabs wx:if="{{chooseFlag}}" type="card" custom-class="tags-class" tab-active-class="{{active==0?'dk-tab-active-left':'dk-tab-active-right'}}" animated="{{true}}" swipeable="{{true}}" active="{{ active }}" dot bind:change="changeTag">
       <van-tab title="商品列表"></van-tab>
       <van-tab title="已选商品" info="{{choosedData.length==0?'':choosedData.length}}"></van-tab>
     </van-tabs>
+    <!--tag-->
+    <dk-tabs wx:if="{{tagList && tagList.length > 0}}"  active="{{active}}" list="{{tagList}}" bind:onChange="onChangeTabs"> </dk-tabs>
   </view>
 </van-sticky>
 <!-- 暂无数据 -->

+ 0 - 162
package-base-select/pages/select-suppliers/select-suppliers.js

@@ -1,162 +0,0 @@
-const Constants = require('@/utils/Constants.js');
-const util = require('@/utils/util.js')
-const mixins = require('@/mixins/index.js')
-const app = getApp()
-Page({
-  mixins: [mixins],
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    // 路由
-    routeObjName: 'select-product-attribute-suppliers',
-    tableData: [],
-    supplierService: app.globalData['supplierService'],
-    checked: true, //启用标识
-    tagList: [{
-      title: mixins.$t("all") //全部
-    }, {
-      title: mixins.$t("procurementSupplier") //采购供应商
-    }, {
-      title: mixins.$t("serviceProvider") // 服务供应商
-    }],
-  },
-  /**
-     * @desc : 切换  全部 采购供应商  服务供应商
-     * @date : 2024/2/1 15:49
-     * @author : 王英杰
-     */
-  onChangeTabs(e) {
-    let index = e.detail.detail.index
-    this.setData({
-      active: index,
-    })
-    this.searchData()
-  },
-
-  /**
-   * @desc : 设置查询参数
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  setSearchParams(params) {
-    let active = this.data.active
-    if (active == 0) { //全部
-      params.supType = ""
-    }
-    if (active == 1) { //采购供应商
-      params.supType = mixins.$t("procurementSupplier") //采购供应商
-    }
-    if (active == 2) { //服务供应商
-      params.supType = mixins.$t("serviceProvider") //采购供应商
-    }
-    if (this.data.checked) { //启用标识开启  
-      params.flgValid = true
-    } else {
-      params.flgValid = false
-    }
-
-
-
-
-    return params
-  },
-  /**
-   * @desc :   处理接口返回数据
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  handleSearchData(tableData) {
-    //显示已选
-    if (this.data.item && this.data.item.supplierIds) {
-      let supplierIds = this.data.item.supplierIds.split(",")
-      for (var i = 0; i < tableData.length; i++) {
-        // 检查当前对象的 id 是否包含在数组 A 中
-        if (supplierIds.includes(tableData[i].supId)) {
-          // 如果匹配,则修改该对象
-          tableData[i].checked = true
-        }
-      }
-      this.setData({
-        tableData:tableData
-      })
-    }
-  },
-  /**
-   * @desc : 查询
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  getData(params) {
-    return this.excute(this.data.supplierService, this.data.supplierService.selectByCond, params);
-  },
-
-
-  /**
-   * @desc : 选择事件
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  toDetail(e) { 
-    let tableData = this.data.tableData 
-    let index = e.currentTarget.dataset.index
-    let item = e.currentTarget.dataset.item 
-    tableData.forEach(res => {
-      res.checked = false
-    })
-    tableData[index].checked = true
-    this.setData({
-      tableData: tableData
-    })
-    const eventChannel = this.getOpenerEventChannel(); 
-    eventChannel.emit('bindData', { data: {id:item.supId,name:item.supName} })
-    wx.navigateBack({
-      delta: 1
-    }) 
-  },
-
-  /**
-   * @desc : 跳转新建页
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  toSuppliers() {
-    wx.navigateTo({
-      url: app.globalData.routeUrl.supplier.add.url,
-      success: function (res) {
-        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-        res.eventChannel.emit('params', {})
-      }
-    })
-  },
-  /**
-   * @desc : 将数据带回上一页
-   * @date : 2024/2/1 15:49
-   * @author : 王英杰
-   */
-  toAdd() {
-    let tableData = this.data.tableData
-    let chooseIds = []
-    let chooseNames = []
-    tableData.forEach(res => {
-      if (res.checked) {
-        chooseIds.push(res.supId)
-        chooseNames.push(res.supName)
-      }
-    })
-    const eventChannel = this.getOpenerEventChannel();
-    eventChannel.emit('bindData', { data: { id: chooseIds, name: chooseNames } })
-    wx.navigateBack({
-      delta: 1
-    })
-  },
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad(options) {
-  },
-  onShow(){
-    this.searchData()
-  }
-
-})

+ 0 - 4
package-base-select/pages/select-suppliers/select-suppliers.json

@@ -1,4 +0,0 @@
-{
-    "usingComponents": {},
-    "navigationBarTitleText":"选择供应商"
-}

+ 0 - 46
package-base-select/pages/select-suppliers/select-suppliers.wxml

@@ -1,46 +0,0 @@
-<!-- 前台导入wxmlUtil.wxs -->
-<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
-<loading wx:if="{{loading}}" loadingName="{{$t['loading']}}" backgroundColor="#f2f2f2;" opacity="0.8"></loading>
-<van-sticky scroll-top="0">
-    <!-- 查询条件 -->
-    <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,['supplierName','contactName','contactPhone'])}}">
-    </dk-dropdown-menu>
-    <dk-tabs active="{{active}}" list="{{tagList}}" bind:onChange="onChangeTabs"> </dk-tabs>
-</van-sticky>
-<!-- 暂无数据 -->
-<van-empty wx:if="{{tableData.length<=0}}" description="{{$t['nodata']}}" />
-<!-- 列表区 -->
-<view wx:for="{{tableData}}" data-item="{{item}}" wx:key="index" class="main-class">
-    <view data-index="{{index}}" data-item="{{item}}" catchtap="toDetail" class="{{ item.checked ? 'main-foot checked-true' : 'main-foot'}}" style="position: relative;">
-        <view class="table-content">
-            <!-- 标题行 -->
-            <view class="table-content-row">
-                <view class="table-content-row-title">
-                    <!-- <van-checkbox value="{{item.checked}}" checked-color="#95A8CB" /> -->
-                    <!-- 标题 -->
-                    <view class="title-class" style="width: 50%;">
-                        <dk-text   data-item="{{item}}" textDecoration="underline" fontSize="15px" value="{{item.supName}}"></dk-text>
-                    </view>
-                    <!-- 状态 -->
-                    <view class="status-class" data-item="{{item}}"  >
-                        <view class="status-detail-class">{{item.supType}}
-                        </view>
-                    </view>
-                </view>
-            </view>
-        </view>
-    </view>
-</view>
-<!-- <van-divider wx:if="{{noMore}}" contentPosition="center" borderColor="#DCDCDC">{{$t['noMore']}}~</van-divider> -->
-<view style="height: 135rpx;"></view>
-
-
-<!-- 底部加号 -->
-<view style="position: fixed;bottom: 230rpx;right: 30rpx;">
-  <view bind:tap="toSuppliers" style="background: #CAA977;border-radius: 50%;display: flex;justify-content: center;align-items: center;padding:20rpx;box-shadow: 0px 17px 22px 0px #1B365D33;">
-    <van-icon name="plus" color="#FFFFFF" size="60rpx" />
-  </view>
-</view>
-
-
- 

+ 0 - 31
package-base-select/pages/select-suppliers/select-suppliers.wxss

@@ -1,31 +0,0 @@
-.table-content-row-title {
-  display: flex;
-  width: 100%;
-  justify-content: space-around;
-}
-
-
-.status-class {
-  width: 25%;
-  height: 49rpx;
-  padding-right: 4rpx;
-}
-
-.status-detail-class {
-  height: 49rpx;
-  line-height: 49rpx;
-  border-radius: 6rpx;
-  background-color: #EAF1FF;
-  text-align: center;
-  width: 100%;
-  font-size: 13px;
-  color: #606EB2;
-  padding: 0 20rpx;
-}
-.checked-true{
-  background: linear-gradient(180deg, #6A9DFB 0%, #FAFCFF 100%);
-}
-.checked-false{
-  background: linear-gradient(180deg, #6A9DFB 0%, #FAFCFF 100%);
-}
-

+ 2 - 0
utils/Constants.js

@@ -72,6 +72,8 @@ module.exports = {
     objectType:'objectType',
     // 员工
     staff:'staff',
+    // 供应商
+    supplier:'supplier',
     // 数据字典
     dictionary:'dictionary'
   },