jhprjv2/ruoyi-ui-app/miniprogram/pages/components/project-select/index.js

141 lines
2.8 KiB
JavaScript

// pages/components/project-select/index.js
const app = getApp()
Component({
/**
* 组件的属性列表
*/
properties: {
init: {
type: Object
},
width: {
type: String
},
left: {
type: String
}
},
/**数据监听 */
observers: {
init: function (val) {
if (val) {
this.setData({
item: val,
})
}
},
},
/**
* 组件的初始数据
*/
data: {
show: false,
index: 0,
item: '',
columns: [],
defaultColumns: [],
projectList: [],
findProjectValue:"",
},
created() {
//this.getProjectNameList();
this.setData({
projectList: app.globalData.projectInfoList,
findProjectValue:"",
})
},
/**
* 组件的方法列表
*/
methods: {
showPopup() {
if (this.data.projectList.length > 1) {
let data = this.data.projectList;
let initData = this.data.init;
let selectColumns = [];
data.forEach((item, i) => {
selectColumns.push({
id: item.projectId,
text: item.projectName
});
if (initData.id == item.projectId) {
this.setData({
index: i
})
}
});
this.setData({
findProjectValue:"",
columns: selectColumns,
defaultColumns:selectColumns,
show: true
});
}
},
//获取搜索的项目名称
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
})
}
},
onClose() {
this.setData({
show: false
});
},
onSelectChange(e) {
this.setData({
item: e.detail.value
})
},
onConfirm() {
this.setData({
value: this.data.item.text
})
this.triggerEvent('change', this.data.item)
this.setData({
show: false
});
},
getProjectNameList: function () {
wx.request({
url: app.globalData.reqUrl + '/weixin/security/getProjectNameList',
method: "GET",
data: {
deptId: app.globalData.deptId,
projectId: app.globalData.userProjectId
},
success: (res) => {
var that = this;
that.setData({
projectList: res.data
})
}
});
},
/**
* 重新加载项目列表
*/
load:function(){
this.setData({
projectList: app.globalData.projectInfoList,
})
}
}
})