| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- /*******************************************************************************
- * Copyright(c) 2021 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 2.功能描述:一览界面状态下拉组件-switch
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * admin 2021-4-28 1.00 新建
- *******************************************************************************/
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- //数据源
- dataList: {
- type: Array,
- default: []
- },
- // 全选和确定按钮是否显示
- onAllChanageFlag:{
- type:Boolean,
- value:true
- }
- },
- /**
- * 组件的初始数据
- */
- data: {
- allCheck: true
- },
- lifetimes: {
- attached: function () {},
- detached: function () {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- /**
- * 组件的方法列表
- */
- methods: {
- /**
- * 调用查询
- * @param {*} e
- */
- commit(e) {
- // 取出被选中的数据
- let dataListTemp = [];
- let values = []
- for (let index = 0; index < this.data.dataList.length; index++) {
- if (this.data.dataList[index].checked) {
- let item = this.data.dataList[index]
- dataListTemp.push(item.text);
- values.push(item.value)
- }
- }
- this.triggerEvent('commit', {
- values: values.join(','),
- dataList: dataListTemp
- })
- },
- // 切换功能
- onSwitchChange(e) {
- var index = e.target.dataset.index;
- var dataList = this.data.dataList;
- var truenumber = 0
- var falsenumber = 0
- var allflag=false
- // 设置点击的项目 的值
- for (let i = 0; i < dataList.length; i++) {
- if (i == index) {
- dataList[i].checked = !dataList[i].checked
- break;
- }
- }
- for (let i = 0; i < dataList.length; i++) {
- if (dataList[i].checked) {
- truenumber++
- } else {
- falsenumber++
- }
- }
- if(dataList.length==truenumber){
- allflag=true
- }
- if(dataList.length==falsenumber){
- allflag=false
- }
- this.setData({
- dataList: dataList,
- allCheck:allflag
- });
-
- this.triggerEvent('onSwitchChange', {
- index: index
- })
- },
- /**
- * 全选/全不选
- * @param {*} e
- */
- onAllChanage(e) {
- let allCheck = e.detail
- var dataList = this.data.dataList;
- // 设置点击的项目 的值
- for (let i = 0; i < dataList.length; i++) {
- dataList[i].checked = allCheck
- }
- this.setData({
- dataList: dataList,
- allCheck: allCheck
- });
- },
- }
- })
|