|
|
@@ -34,6 +34,11 @@ Page({
|
|
|
placeholder: [],
|
|
|
// tab页签
|
|
|
tagList: [],
|
|
|
+ // 用于多选
|
|
|
+ valueKey: null,
|
|
|
+ labelKey: null,
|
|
|
+ // 多选时是否允许重复
|
|
|
+ repeatFlag: false,
|
|
|
// 确定按钮
|
|
|
buttonList: [{
|
|
|
name: 'confirm',
|
|
|
@@ -72,9 +77,32 @@ Page({
|
|
|
*/
|
|
|
chooseData(e) {
|
|
|
let list = e.detail.list;
|
|
|
- this.setData({
|
|
|
- choosedData: list
|
|
|
- })
|
|
|
+ let valueKey = this.data.valueKey;
|
|
|
+ if (!valueKey) {
|
|
|
+ this.setData({
|
|
|
+ choosedData: list
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ let choosedData = this.data.choosedData
|
|
|
+ let filters = []
|
|
|
+ if (list && list.length > 0) {
|
|
|
+ list.forEach(it => {
|
|
|
+ // 不允许重复
|
|
|
+ if (!this.data.repeatFlag) {
|
|
|
+ filters = choosedData.filter(t => t[valueKey] == it[valueKey])
|
|
|
+ if (!filters || filters.length == 0) {
|
|
|
+ choosedData.push(it);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 可以重复
|
|
|
+ choosedData.push(it);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ choosedData: choosedData
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 确定事件-返回数据
|
|
|
@@ -82,15 +110,12 @@ Page({
|
|
|
* @date : 2024/3/25 15:16
|
|
|
*/
|
|
|
confirm() {
|
|
|
- let listComp = this.selectComponent('#list');
|
|
|
- let list = []
|
|
|
- if (listComp) {
|
|
|
- list = listComp.data.list;
|
|
|
- list = list.filter(it => it.checked);
|
|
|
- }
|
|
|
+ let list = [...this.data.choosedData]
|
|
|
+ let id = list.map(it => it[this.data.valueKey])
|
|
|
+ let name = list.map(it => it[this.data.labelKey])
|
|
|
const eventChannel = this.getOpenerEventChannel();
|
|
|
eventChannel.emit('bindData', {
|
|
|
- data: list
|
|
|
+ data: { list, id, name }
|
|
|
})
|
|
|
wx.navigateBack({
|
|
|
delta: 1
|
|
|
@@ -102,7 +127,6 @@ Page({
|
|
|
* @date : 2022/5/23 15:16
|
|
|
*/
|
|
|
toDetail(e) {
|
|
|
- console.log('rrr', e);
|
|
|
// 如果选择框开启就走确定模式
|
|
|
if (this.data.chooseFlag) {
|
|
|
return;
|
|
|
@@ -119,14 +143,14 @@ Page({
|
|
|
name: item.orgName
|
|
|
}
|
|
|
break;
|
|
|
- // 员工
|
|
|
+ // 员工
|
|
|
case Constants.chooseType.staff:
|
|
|
data = {
|
|
|
id: item.staffId,
|
|
|
name: item.staffName
|
|
|
}
|
|
|
break;
|
|
|
- // 供应商
|
|
|
+ // 供应商
|
|
|
case Constants.chooseType.supplier:
|
|
|
data = {
|
|
|
id: item.supId,
|
|
|
@@ -134,7 +158,7 @@ Page({
|
|
|
item: item
|
|
|
}
|
|
|
break;
|
|
|
- // 对象类型
|
|
|
+ // 对象类型
|
|
|
case Constants.chooseType.objectType:
|
|
|
data = {
|
|
|
id: item.objId,
|
|
|
@@ -143,14 +167,14 @@ Page({
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
- // 仓库
|
|
|
+ // 仓库
|
|
|
case Constants.chooseType.warehouse:
|
|
|
data = {
|
|
|
id: item.whId,
|
|
|
name: item.whName
|
|
|
}
|
|
|
break;
|
|
|
- // 数据字典
|
|
|
+ // 数据字典
|
|
|
case Constants.chooseType.dictionary:
|
|
|
data = {
|
|
|
id: item.dataId,
|
|
|
@@ -233,6 +257,7 @@ Page({
|
|
|
* @author : 周兴
|
|
|
*/
|
|
|
loadInit(e) {
|
|
|
+ console.log('item', this.data.item);
|
|
|
let route = this.data.chooseRoute;
|
|
|
if (!route || !route.type) {
|
|
|
return;
|
|
|
@@ -254,11 +279,11 @@ Page({
|
|
|
contentList: [{
|
|
|
name: 'orgCode',
|
|
|
title: '部门编码'
|
|
|
- }, ],
|
|
|
+ },],
|
|
|
placeholder: ['orgName']
|
|
|
})
|
|
|
break;
|
|
|
- // 员工
|
|
|
+ // 员工
|
|
|
case Constants.chooseType.staff:
|
|
|
title = "员工"
|
|
|
this.setData({
|
|
|
@@ -267,18 +292,18 @@ Page({
|
|
|
method: 'getStaff',
|
|
|
title: 'staffName',
|
|
|
contentList: [{
|
|
|
- name: 'staffCode',
|
|
|
- title: '员工编码'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'orgName',
|
|
|
- title: '部门'
|
|
|
- },
|
|
|
+ name: 'staffCode',
|
|
|
+ title: '员工编码'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'orgName',
|
|
|
+ title: '部门'
|
|
|
+ },
|
|
|
],
|
|
|
placeholder: ['staffName']
|
|
|
})
|
|
|
break;
|
|
|
- // 供应商
|
|
|
+ // 供应商
|
|
|
case Constants.chooseType.supplier:
|
|
|
title = "供应商"
|
|
|
this.setData({
|
|
|
@@ -286,26 +311,34 @@ Page({
|
|
|
routeObjName: 'supplier',
|
|
|
method: 'selectByCond',
|
|
|
title: 'supName',
|
|
|
- tagList: [{
|
|
|
- title: mixins.$t("all") //全部
|
|
|
- }, {
|
|
|
- title: mixins.$t("procurementSupplier") //采购供应商
|
|
|
- }, {
|
|
|
- title: mixins.$t("serviceProvider") // 服务供应商
|
|
|
- }],
|
|
|
+ valueKey: 'supId',
|
|
|
+ labelKey: 'supName',
|
|
|
+ chooseFlag: route.chooseFlag,
|
|
|
contentList: [{
|
|
|
- name: 'supTypeName',
|
|
|
- title: '供应商类别'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'returnAddress',
|
|
|
- title: '供应商地址'
|
|
|
- },
|
|
|
+ name: 'supTypeName',
|
|
|
+ title: '供应商类别'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'returnAddress',
|
|
|
+ title: '供应商地址'
|
|
|
+ },
|
|
|
],
|
|
|
placeholder: ['supplier']
|
|
|
})
|
|
|
+ // 多选时就不要有其他的tag标签
|
|
|
+ if (!route.chooseFlag) {
|
|
|
+ this.setData({
|
|
|
+ tagList: [{
|
|
|
+ title: mixins.$t("all") //全部
|
|
|
+ }, {
|
|
|
+ title: mixins.$t("procurementSupplier") //采购供应商
|
|
|
+ }, {
|
|
|
+ title: mixins.$t("serviceProvider") // 服务供应商
|
|
|
+ }],
|
|
|
+ })
|
|
|
+ }
|
|
|
break;
|
|
|
- // 仓库
|
|
|
+ // 仓库
|
|
|
case Constants.chooseType.warehouse:
|
|
|
title = "仓库"
|
|
|
this.setData({
|
|
|
@@ -314,18 +347,18 @@ Page({
|
|
|
method: 'warehouseListBy',
|
|
|
title: 'whName',
|
|
|
contentList: [{
|
|
|
- name: 'supervisor',
|
|
|
- title: '仓库主管'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'contactPhone',
|
|
|
- title: '联系电话'
|
|
|
- },
|
|
|
+ name: 'supervisor',
|
|
|
+ title: '仓库主管'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'contactPhone',
|
|
|
+ title: '联系电话'
|
|
|
+ },
|
|
|
],
|
|
|
placeholder: ['whName']
|
|
|
})
|
|
|
break;
|
|
|
- // 数据字典
|
|
|
+ // 数据字典
|
|
|
case Constants.chooseType.dictionary:
|
|
|
title = "数据字典"
|
|
|
this.setData({
|
|
|
@@ -336,18 +369,18 @@ Page({
|
|
|
chooseFlag: route.chooseFlag,
|
|
|
title: 'dataValue',
|
|
|
contentList: [{
|
|
|
- name: 'dataCode',
|
|
|
- title: '数据编码'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'dictCode',
|
|
|
- title: '字典项目'
|
|
|
- },
|
|
|
+ name: 'dataCode',
|
|
|
+ title: '数据编码'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'dictCode',
|
|
|
+ title: '字典项目'
|
|
|
+ },
|
|
|
],
|
|
|
placeholder: ['orgName']
|
|
|
})
|
|
|
break;
|
|
|
- // 对象类型
|
|
|
+ // 对象类型
|
|
|
case Constants.chooseType.objectType:
|
|
|
title = "对象类型"
|
|
|
this.setData({
|
|
|
@@ -355,32 +388,32 @@ Page({
|
|
|
method: 'getSupplierAndCustomerData',
|
|
|
title: 'objName',
|
|
|
contentList: [{
|
|
|
- name: 'objCode',
|
|
|
- title: '对象编码'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'objTypeName',
|
|
|
- title: '对象'
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'addressFull',
|
|
|
- title: '地址'
|
|
|
- },
|
|
|
+ name: 'objCode',
|
|
|
+ title: '对象编码'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'objTypeName',
|
|
|
+ title: '对象'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'addressFull',
|
|
|
+ title: '地址'
|
|
|
+ },
|
|
|
],
|
|
|
searchContent: [{
|
|
|
- code: 'supplier-customer',
|
|
|
- title: '选择对象',
|
|
|
- searchType: Constants.searchType.switch,
|
|
|
- list: [{
|
|
|
- code: 'supplier',
|
|
|
- title: '供应商'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'customer',
|
|
|
- title: '客户'
|
|
|
- }
|
|
|
- ]
|
|
|
+ code: 'supplier-customer',
|
|
|
+ title: '选择对象',
|
|
|
+ searchType: Constants.searchType.switch,
|
|
|
+ list: [{
|
|
|
+ code: 'supplier',
|
|
|
+ title: '供应商'
|
|
|
},
|
|
|
+ {
|
|
|
+ code: 'customer',
|
|
|
+ title: '客户'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
|
|
|
],
|
|
|
placeholder: ['customerName', 'supplierName', 'address', 'telephone']
|
|
|
@@ -391,6 +424,12 @@ Page({
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
+ // 多选,数据回显到已选列表
|
|
|
+ if (this.data.chooseFlag && this.data.item && this.data.item.data) {
|
|
|
+ this.setData({
|
|
|
+ choosedData: this.data.item.data
|
|
|
+ })
|
|
|
+ }
|
|
|
wx.setNavigationBarTitle({
|
|
|
title: '选择' + title,
|
|
|
})
|