| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384 |
- /*******************************************************************************
- * Copyright(c) 2024 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 2.功能描述:组件-列表
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 周兴 2024-1-30 1.00 新建
- *******************************************************************************/
- const config = require('@/config/config.js');
- const app = getApp();
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- // 数据源
- list: {
- type: Array,
- value: []
- },
- // 标题左侧角列名
- titleCorner: {
- type: String,
- },
- // 标题图标
- titleImage: {
- type: String,
- value: 'Vector.png'
- },
- customText:{
- type: String,
- value: ''
- },
- statusImageFlag: {
- //-作废 收款显示隐藏
- type: Boolean,
- value: false
- },
- // 图标-作废 收款
- statusImage: {
- type: String,
- value: 'cancel.png'
- },
- // 标题
- title: {
- type: String,
- },
- // 显示员工身份
- roleValue: {
- type: String,
- },
- // 状态
- status: {
- type: String,
- },
- // 是否显示功能三点
- flgPoint: {
- type: Boolean,
- value: true
- },
- flgValidOnFlag: { //默认显示启用
- type: Boolean,
- value: true
- },
- // 副标题
- subTitle: {
- type: String,
- },
- // 副标题(格式化日期)
- flgSubFormatDate: {
- type: Boolean,
- value: false
- },
- // 内容
- content: {
- type: Array,
- value: []
- },
- // 内容(不定)
- contentObj: {
- type: Object,
- },
- // 不定列的列名
- contentCol: {
- type: String,
- },
- // 底部信息
- footerInfo: {
- type: Array
- },
- // 底部金额
- footerAmount: {
- type: Object
- },
- // 底部tag的名称
- footerTag: {
- type: String,
- },
- // 按钮信息
- buttonList: {
- type: Array
- },
- // 页面路由
- routeObjName: {
- type: String
- },
- // 金额字段
- collectCol: {
- type: String
- },
- // 金额对应的描述字段
- collectName: {
- type: String
- },
- titleImageFlag: { //标题图片显示隐藏
- type: Boolean,
- value: true
- },
- // 是否显示选择框
- chooseFlag: { //标题图片显示隐藏
- type: Boolean,
- value: false
- },
- statusFlag: { //状态显示隐藏
- type: Boolean,
- value: true
- },
- switchFlag: { //启用停用状态
- type: Boolean,
- value: false
- },
- swipeDisabled: { //侧滑 默认禁用 false开启
- type: Boolean,
- value: true
- },
- // 是否侧滑删除 (删除,启用/停用)
- swipeDeleteFlag: {
- type: Boolean,
- value: false
- },
- subMainTitle: { //主标题右侧文本 value
- type: String
- },
- subMainTitlelabel: { //主标题右侧文本 label
- type: String
- },
- subTitle: {//主标题右侧文本
- type: String
- },
- defaultFlagKey: { //默认key
- type: String
- },
- defaultFlag: { //开启默认
- type: Boolean,
- value: false
- },
- simpleFlag: { // 简单模式
- type: Boolean,
- value: false
- },
- detailReportFlag: { // 明细报表标识
- type: Boolean,
- value: false
- },
- titleBtnText:{ // 标题栏按钮
- type:String,
- },
- statusImageFlag:{ //自定义图 是否开启
- type: Boolean,
- value: false
- },
- statusImageFlagValue:{ //自定义显示图片状态
- type:String,
- },
- },
- /**
- * 组件的初始数据
- */
- data: {
- imageUrl: config.image_url + '/static/img/',
- // 是否显示pop
- show: false,
- $t: app.globalData.lang,
- routeUrl: app.globalData['routeUrl'],
- item: null,
- },
- /**
- * 组件的方法列表
- */
- methods: {
- /**
- * @desc : 点击不再续费
- * @author : 周兴
- * @date : 2024/2/19 11:46
- */
- handleTitleBtn(e){
- this.triggerEvent("clickTitleBtn", { item: e.currentTarget.dataset.item })
- },
- /**
- * @desc : 选择数据
- * @author : 周兴
- * @date : 2024/2/19 11:46
- */
- chooseData(e) {
- let index = e.currentTarget.dataset.index
- this._chooseData(index);
- },
- /**
- * @desc : 选择数据(私有方法)
- * @author : 周兴
- * @date : 2024/2/19 11:46
- */
- _chooseData(index) {
- let list = this.data.list;
- if (list && list[index]) {
- list[index].checked = !list[index].checked
- }
- this.setData({
- list: list
- })
- // 勾选数据
- this.triggerEvent("choose", {
- item: list[index],
- index: index,
- list: list.filter(it => it.checked),
- checked: list[index].checked
- })
- },
- /**
- * @desc : 修改金额
- * @author : 周兴
- * @date : 2024/5/22 11:46
- */
- changeNumberInput(e) {
- let index = e.currentTarget.dataset.index
- let key = e.currentTarget.dataset.key
- let value = e.detail.value
- let list = this.data.list;
- if (list && list[index]) {
- list[index][key] = Number(value)
- }
- this.setData({
- list: list
- })
- this.triggerEvent("changeNumberInput", { key: key,value: value,
- index: e.currentTarget.dataset.index })
- },
- /**
- * @desc : 打电话
- * @author : 周兴
- * @date : 2024/2/19 11:46
- */
- openTelPhone(e) {
- let phoneFlag = false;
- let item = e.currentTarget.dataset.col;
- if (e.currentTarget.dataset.phone
- || (typeof item.name == 'string' && item.name.toLowerCase().indexOf('phone') >= 0)) {
- phoneFlag = true;
- }
- let tel = e.currentTarget.dataset.value
- if (phoneFlag && !tel) {
- phoneFlag = false;
- }
- // 拨打电话
- if (phoneFlag) {
- wx.makePhoneCall({
- phoneNumber: tel,
- })
- } else {
- // 跳转明细
- this.toDetail(e);
- }
- },
- /**
- * @desc : 跳转明细页面
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- toDetail(e) {
- // 相当于勾选
- if (this.data.chooseFlag) {
- this.chooseData(e);
- } else {
- this.triggerEvent("toDetail", { item: e.currentTarget.dataset.item,
- index: e.currentTarget.dataset.index })
- }
- },
- /**
- * @desc : 跳转标题页面
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- toTitle(e) {
- this.triggerEvent("toTitle", { item: e.currentTarget.dataset.item ,
- index: e.currentTarget.dataset.index })
- },
- /**
- * @desc : 跳转状态
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- toStatus(e) {
- this.triggerEvent("toStatus", { item: e.currentTarget.dataset.item })
- },
- /**
- * @desc : 跳转三点事件
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- toPoint(e) {
- this.triggerEvent("toPoint", { item: e.currentTarget.dataset.item })
- this.setData({
- show: true,
- item: e.currentTarget.dataset.item
- })
- },
- /**
- * @desc : 点击按钮
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- clickButton(e) {
- let item = this.data.item;
- let button = e.currentTarget.dataset.item;
- let flag = true;
- // 如果需要弹出询问 todo
- // if(button.question){
- // setTimeout(()=>{
- // Dialog.confirm({
- // message: '是否进行该操作?',
- // }).then(() => {
- // flag = true;
- // }).catch(() => {
- // })
- // },200)
- // }else{
- // flag = true;
- // }
- // 点击询问后再往下进行
- if (flag) {
- item = Object.assign(item, { button: button })
- let obj = {
- item: item,
- name: e.currentTarget.dataset.item.name,
- url: e.currentTarget.dataset.item.url
- }
- this.triggerEvent("open", obj)
- this.setData({
- show: false
- })
- }
- },
- /**
- * @desc : 侧滑点击事件
- * @author : 于继渤
- * @date : 2024/1/26 11:46
- */
- onCloseSwipe(e) {
- const { position, instance } = e.detail;
- instance.close();
- let obj = {
- item: e.currentTarget.dataset.item,
- index: e.currentTarget.dataset.index
- }
- this.triggerEvent("swipe", obj)
- },
- /**
- * @desc : 关闭弹窗
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- closePop() {
- this.setData({
- show: false
- })
- },
- }
- })
|