jhwxapp/miniprogram/pages/components/project-select/index.js

133 lines
2.7 KiB
JavaScript
Raw Normal View History

2023-08-10 01:21:29 +08:00
// pages/components/project-select/index.js
const app = getApp()
Component({
/**
* 组件的属性列表
*/
properties: {
2024-03-09 14:01:46 +08:00
init: {
type: Object
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
width: {
type: String
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
left: {
type: String
2023-08-10 01:21:29 +08:00
}
},
/**数据监听 */
observers: {
init: function (val) {
2024-03-09 14:01:46 +08:00
if (val) {
2023-08-10 01:21:29 +08:00
this.setData({
2024-03-09 14:01:46 +08:00
item: val,
2023-08-10 01:21:29 +08:00
})
}
},
},
/**
* 组件的初始数据
*/
data: {
show: false,
2024-03-09 14:01:46 +08:00
index: 0,
item: '',
columns: [],
defaultColumns: [],
projectList: [],
findProjectValue:"",
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
created() {
2023-08-10 01:21:29 +08:00
//this.getProjectNameList();
2023-08-28 16:11:02 +08:00
this.setData({
2024-03-09 14:01:46 +08:00
projectList: app.globalData.projectInfoList,
findProjectValue:"",
2023-08-28 16:11:02 +08:00
})
2023-08-10 01:21:29 +08:00
},
/**
* 组件的方法列表
*/
methods: {
showPopup() {
2024-03-09 14:01:46 +08:00
if (this.data.projectList.length > 1) {
2023-08-28 16:11:02 +08:00
let data = this.data.projectList;
let initData = this.data.init;
let selectColumns = [];
2024-03-09 14:01:46 +08:00
data.forEach((item, i) => {
selectColumns.push({
id: item.projectId,
text: item.projectName
});
if (initData.id == item.projectId) {
2023-08-28 16:11:02 +08:00
this.setData({
2024-03-09 14:01:46 +08:00
index: i
2023-08-28 16:11:02 +08:00
})
}
});
this.setData({
2024-03-09 14:01:46 +08:00
findProjectValue:"",
columns: selectColumns,
defaultColumns:selectColumns,
show: true
2023-08-28 16:11:02 +08:00
});
}
2023-08-10 01:21:29 +08:00
},
2023-08-28 16:11:02 +08:00
2024-03-09 14:01:46 +08:00
//获取搜索的项目名称
findProject: function (even) {
if(even.detail.value){
let list = [];
this.data.columns.forEach(item=>{
console.log(item.text,even.detail.value,item.text.indexOf(even.detail.value)>-1)
if(item.text.indexOf(even.detail.value)>-1){
list.push(item);
}
});
this.setData({
columns: list
})
}else{
this.setData({
columns: this.data.defaultColumns
})
}
},
2023-08-10 01:21:29 +08:00
onClose() {
2024-03-09 14:01:46 +08:00
this.setData({
show: false
});
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
onSelectChange(e) {
2023-08-10 01:21:29 +08:00
this.setData({
2024-03-09 14:01:46 +08:00
item: e.detail.value
2023-08-10 01:21:29 +08:00
})
},
2024-03-09 14:01:46 +08:00
onConfirm() {
2023-08-10 01:21:29 +08:00
this.setData({
2024-03-09 14:01:46 +08:00
value: this.data.item.text
2023-08-10 01:21:29 +08:00
})
2024-03-09 14:01:46 +08:00
this.triggerEvent('change', this.data.item)
this.setData({
show: false
});
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
getProjectNameList: function () {
2023-08-10 01:21:29 +08:00
wx.request({
2024-03-09 14:01:46 +08:00
url: app.globalData.reqUrl + '/weixin/security/getProjectNameList',
method: "GET",
data: {
deptId: app.globalData.deptId,
projectId: app.globalData.userProjectId
2023-08-10 01:21:29 +08:00
},
2024-03-09 14:01:46 +08:00
success: (res) => {
2023-08-10 01:21:29 +08:00
var that = this;
that.setData({
2024-03-09 14:01:46 +08:00
projectList: res.data
2023-08-10 01:21:29 +08:00
})
}
});
},
}
2024-03-09 14:01:46 +08:00
})