fastadmin public js 内 selectpage 联动下拉

2023-11-05

js 页面

define(['jquery', 'bootstrap', 'backend', 'table', 'form','selectpage'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'shop/goods/index' + location.search,
                    add_url: 'shop/goods/add',
                    edit_url: 'shop/goods/edit',
                    del_url: 'shop/goods/del',
                    multi_url: 'shop/goods/multi',
                    import_url: 'shop/goods/import',
                    table: 'goods',
                }
            });

            var table = $("#table");
            // var $link = $('a');
            // $("input[name='product.title']").selectPage({
            //     eAjaxSuccess: function (data) {
            //         data.list = typeof data.rows !== 'undefined' ? data.rows : (typeof data.list !== 'undefined' ? data.list : []);
            //         data.totalRow = typeof data.total !== 'undefined' ? data.total : (typeof data.totalRow !== 'undefined' ? data.totalRow : data.list.length);
            //         return data;
            //     },
            //     eSelect:function(data){
            //         $link.data("product_id", data.id);
            //         //product_id = data.id;
            //     }
            // });
            // table.on('post-common-search.bs.table', function (event, table) {
            //     var form = $("form", table.$commonsearch);
            //     $("input[name='product.title']", form).addClass("selectpage").data("source", "secondhand/product/product/index").data("primaryKey", "id").data("field", "title").data("orderBy", "id desc");
            //
            //
            //     $("input[name='brand.title']", form).addClass("selectpage").data("source", "secondhand/brand/brand/index").data("primaryKey", "id").data("params",{"custom[product_id]":$("body").data("product_id")}).data("field", "title").data("orderBy", "id desc");
            //
            //
            //
            //
            //
            //     // $("input[name='brand.title']", form).addClass("selectpage").data("source", "secondhand/brand/brand/index").data("primaryKey", "id").data("field", "title").data("orderBy", "id desc");
            //     $("input[name='model.title']", form).addClass("selectpage").data("source", "secondhand/model/index").data("primaryKey", "id").data("field", "title").data("orderBy", "id desc");
            //     Form.events.cxselect(form);
            //     Form.events.selectpage(form);
            // });
            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                fixedColumns: true,
                fixedRightNumber: 1,
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
                        {field: 'type', title: __('Type'), searchList: {"sell":__('Type sell'),"purchase":__('Type purchase'),"new":__('Type new')}, formatter: Table.api.formatter.normal},
                        {field: 'describe', title: __('Describe'), operate: 'LIKE'},
                        {field: 'price', title: __('Price')},
                        {field: 'parameter', title: __('Parameter'), operate: 'LIKE'},
                        {field: 'address', title: __('Address'), operate: 'LIKE'},
                        {field: 'status', title: __('Status'), searchList: {"up":__('Status up'),"down":__('Status down')}, formatter: Table.api.formatter.status},
                        {field: 'product_id', title: __('Product.title'),visible: false,placeholder: '产品选择', addClass: "selectpage product_id", extend: "data-source='secondhand/product/product/index/selectpage' data-field='title'"},
                        {field: 'product.title', title: __('Product.title'),operate: false},
                        {field: 'brand_id', title: __('Brand.title'),visible: false,placeholder: '品牌选择', addClass: "selectpage brand_id", extend: "data-source='secondhand/brand/brand/index/selectpage' data-field='title'"},
                        {field: 'brand.title', title: __('Brand.title'), operate: false},
                        {field: 'model_id', title: __('Model.title'),visible: false,placeholder: '型号选择', addClass: "selectpage model_id", extend: "data-source='secondhand/model/index/selectpage' data-field='title'"},
                        {field: 'model.title', title: __('Model.title'), operate: false},
                        {field: 'title', title: __('内存'),operate: 'LIKE',visible: false,placeholder: '内存选择', addClass: "selectpage memory_id",extend: "data-source='shop/goods/spec_memory' data-field='title' data-primary-key='title' "}, //获取数据源
                        {field: 'title', title: __('Title'), operate: 'LIKE'},
                        {field: 'subtitle', title: __('Subtitle'), operate: 'LIKE'},
                        {field: 'highlight', title: __('Highlight'), operate: 'LIKE'},
                        {field: 'refresh_time', title: __('Refresh_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
            });

            $('.brand_id').data('eSelect',function () {
                $('#area_id_text').removeClass('sp_input_off');
                $("#area_id_text").removeAttr("disabled");
            }).data("eClear", function(){
                $("#area_id_text").attr("disabled",'disabled');
                $('.brand_id').selectPageClear();
            }).data('params',function () {
                var  product_id =  $("input[name='product_id']").val(); //获取上级  已选择的id
                return {custom:{product_id:product_id}};   //提交  自定义过滤数据
            });
            $('.model_id').data('eSelect',function () {
                $('#model_id_text').removeClass('sp_input_off');
                $("#model_id_text").removeAttr("disabled");
            }).data("eClear", function(){
                $("#area_id_text").attr("disabled",'disabled');
                $('.model_id').selectPageClear();
            }).data('params',function () {
                var  brand_id =  $("input[name='brand_id']").val();
                return {custom:{brand_id:brand_id}};
            });
            $('.memory_id').data('eSelect',function () {
                $('#memory_id_text').removeClass('sp_input_off');
                $("#memory_id_text").removeAttr("disabled");
            }).data("eClear", function(){
                $("#area_id_text").attr("disabled",'disabled');
                $('.memory_id').selectPageClear();
            }).data('params',function () {
                var  model_id =  $("input[name='model_id']").val();
                return {custom:{model_id:model_id}};
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        recyclebin: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    'dragsort_url': ''
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: 'shop/goods/recyclebin' + location.search,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'title', title: __('Title'), align: 'left'},
                        {
                            field: 'deletetime',
                            title: __('Deletetime'),
                            operate: 'RANGE',
                            addclass: 'datetimerange',
                            formatter: Table.api.formatter.datetime
                        },
                        {
                            field: 'operate',
                            width: '130px',
                            title: __('Operate'),
                            table: table,
                            events: Table.api.events.operate,
                            buttons: [
                                {
                                    name: 'Restore',
                                    text: __('Restore'),
                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
                                    icon: 'fa fa-rotate-left',
                                    url: 'shop/goods/restore',
                                    refresh: true
                                },
                                {
                                    name: 'Destroy',
                                    text: __('Destroy'),
                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
                                    icon: 'fa fa-times',
                                    url: 'shop/goods/destroy',
                                    refresh: true
                                }
                            ],
                            formatter: Table.api.formatter.operate
                        }
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },

        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});

后台自写 数据源部分

/**
*内存数据源
*/
public function spec_memory(){
		$custom = (array)$this->request->request("custom/a");
		$model_id = $custom['model_id'];
		$list = \addons\secondhand\model\Spec::with(['children'])->where('spec_name','内存')->where(function ($query) use ($model_id) {
			$query->where(['model_id'=>$model_id])->whereor('pid', 0);
		})->order('weigh')->field('id,spec_name,position,model_id,weigh')->select();
		$data = [];
		foreach ($list as $key => $value) {
			$data = $value['children'];
		}
		return json(['list' => $data, 'total' => count($data)]);
	}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fastadmin public js 内 selectpage 联动下拉 的相关文章

随机推荐

  • 基于UDP实现双工通信(JAVA)(多线程)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 总结 前言 写个基础的JAVA网络程序 实现双工通信 一 两个类 1 一个累 代码如下 示例 import java io IOException impor
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 合并日志树——LSM Tree

    一 背景 大数据情景下 需要巨量的读写数据 即良好的IO效率 传统的B树以及其变种无法满足 因为它的读写在物理上是随机的 这样IO的效率就不高 于是便有了LSM log structed merge tree 合并日志树这个设计思想或者说存
  • Latex字体加粗

    You latex 字体加粗 什么代码 ChatGPT 在 LaTeX 中 要使文本加粗 可以使用 textbf 命令或 bfseries命令 以下是示例代码 使用 textbf 命令 textbf This is bold text 使用
  • QTREE5 - Query on a tree V【LCT】

    题目链接 你被给定一棵n个点的树 点从1到n编号 每个点可能有两种颜色 黑或白 我们定义dist a b 为点a至点b路径上的边个数 一开始所有的点都是黑色的 要求作以下操作 0 i 将点i的颜色反转 黑变白 白变黑 1 v 询问dist
  • Snipaste 使用方法

    下载 Snipaste 下载完成后 解压文件如图 双击Snipaste exe后 可以看到状态栏中有 右键图标可以看到详细配置信息 按需配置即可 截图之后点击下图红框图钉可以钉住截图区域
  • python 笔记:PyTrack(将GPS数据和OpenStreetMap数据进行整合)【官网例子解读】

    论文笔记 PyTrack A Map Matching Based Python Toolbox for Vehicle Trajectory Reconstruction UQI LIUWJ的博客 CSDN博客4 0 包的安装 官网的两种
  • JavaWeb实现查询功能

    写在前面 你们好 我是小庄 很高兴能和你们一起学习JavaWeb 如果您对Java感兴趣的话可关注我的动态 写博文是一种习惯 在这过程中能够梳理知识和巩固知识点 需求 当搜索框为空时 查询数据库所有商品 输入商品名时 进行模糊查询 实现思路
  • SpringBoot JPA 中无法注入 JpaRepository 接口的问题及解决方案

    错误 No qualifying bean of type xxx xxx xxx available expected at least 1 bean which qualifies as autowire candidate Depen
  • C语言输出100以内的全部素数。

    include
  • matlab练习程序(灰度、二值图像腐蚀膨胀)

    cl img gray imread fupeng jpg img erzhi imread erzhi fupeng jpg imshow img gray figure imshow img erzhi m n size img gra
  • 文件目录大小

    题目描述 一个文件目录的数据格式为 目录id 本目录中文件大小 子目录id列表 其中目录id全局唯一 取值范围 1 200 本目录中文件大小范围 1 1000 子目录id列表个数 0 10 例如 1 20 2 3 表示目录1中文件总大小是2
  • 解决 vba 报错:要在64位系统上使用,请检查并更新Declare 语句

    将错误处的 Declare 替换成 Declare PtrSafe 即可
  • java正则

    一 Pattern类和Matcher类 java util regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包 它包括两个类 Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表
  • docker 安装向量数据库 Milvus

    Miluvs 官网为 www milvus io Milvus 向量数据库能够帮助用户轻松应对海量非结构化数据 图片 视频 语音 文本 检索 单节点 Milvus 可以在秒内完成十亿级的向量搜索 请参考 在线教程 分布式架构亦能满足用户的水
  • LSTM模型预测新冠

    LSTM是RNN的改进型 传统RNN模型会随着时间区间的增长 对早期的因素的权重越来越低 有可能会损失重要数据 而LSTM模型通过遗忘门 输入门 输出门三个逻辑 来筛选和保留数据 原理详解可以参考如何从RNN起步 一步一步通俗理解LSTM这
  • (二叉)树的遍历

    树 包括图 在遍历时都存在两种方式 深度优先遍历和广度优先遍历 树 一定有一个根节点 而图 没有根节点 但图中的任意节点都可以作为根节点使用 当然该节点一定要有边 否则没有意义 深度优先遍历 访问当前节点 将当前节点的children作为子
  • spacemacs删除行尾无意义的空格符号

    SPC SPC delete trailing whitespace 或者 SPC x d w
  • 2019年全球安全态度调查:越来越多的受害者向勒索软件支付赎金

    根据网络安全公司CrowdStrike 发布的 2019年全球安全态度调查 的数据 在供应链攻击后 危害黑客以支付赎金的组织总数从14 增长到39 与去年同期相比翻了一番 其中最典型的是英国 2019年 遭受勒索软件攻击并支付勒索赎金的组织
  • fastadmin public js 内 selectpage 联动下拉

    js 页面 define jquery bootstrap backend table form selectpage function undefined Backend Table Form var Controller index f