小菜菜一个

小菜菜一个 VIP0

90飞吻 2019-10-17 加入 来自南京

(这个人懒得留下签名)

小菜菜一个 最近的提问

小菜菜一个 最近的回答

  • 7小时前按钮莫名其妙触发两次中回答:

    @一流爆炸糖 好的。明天我去试试
  • 11小时前按钮莫名其妙触发两次中回答:

    @起名好麻烦 ??啊。什么换成这个
  • 2020-3-30 18:5:44关闭弹层后,清空表单,但是有时候赋值隐藏域的值没有清空掉中回答:

    @IDyun 额。这样貌似不行啊,这样写的吗
  • 2020-3-27 11:47:16关闭弹层后,清空表单,但是有时候赋值隐藏域的值没有清空掉中回答:

    @IDyun 我报这个错。。
  • 2020-3-26 16:16:1基于 layui 的 treeGrid 插件【第二版发布!】中回答:

    @ defaultToolbar为什么不显示啊
  • 2020-3-26 13:26:28打开弹出层后渲染问题中回答:

    @凉宫
    index = layer.open({   //添加弹出层
    type: 1,
    title: '添加会员卡类别',
    area: ['100%', '100%'],
    fix: false,
    maxmin: true,
    shadeClose: false,
    //closeBtn: 0, //关闭弹层X
    shade: 0.4,
    skin: 'layui-layer-rim',
    scrollbar: false,
    content: $("#cardTypeEdit"),
    btn: ['确认', '关闭'],
    yes: function(index, layero) {
    layero.find('#submit').click();
    },
    btn2: function() {
    layer.close(index);
    },
    success: function() {
    //加载步骤条
    step.render({
    elem: '#stepCardType',
    isOpenStepLevel: true
    });
    form.render();
    },
    end: function() { //结束弹出层后,执行刷新当前页面
    document.getElementById("cardTypeForm").reset();
    table.reload('tabcardtype')
    }
    });
    我是放在弹出层成功后才加载的啊 只是不知道为什么,关闭后,再打开,这边就多出来了
  • 2020-3-26 10:55:30table如何一页拉出所有数据中回答:

    @天涯归鸿 我也不想这样。上头来句,你这分页给我加一个全部选项,要求可以一页拉出所有数据。我这也很头疼
  • 2020-3-26 10:41:34打开弹出层后渲染问题中回答:

    @凉宫 我看了下。我有时候关闭弹层后,这两个dom还在,所以会导致下次点开,还继续存在
  • 2020-3-24 18:11:0根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    搞定了。。
  • 2020-3-24 16:48:8根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    没用呀。。。。
  • 2020-3-24 16:18:51根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    @克己丶
    if (getJurisdiction(authData, "AAA02_SELECT")) {  //如果有查看功能,则进行下一步,若没有查看功能,则屏蔽所有按钮
    if (getJurisdiction(authData, "AAA02_ADD")) { //如果没有添加功能
    if (getJurisdiction(authData, "AAA02_EDIT")) {
    if (getJurisdiction(authData, "AAA02_REMOVE")) {
    return true;
    } else{
    $(".btnSelect").css('display','none');
    }
    } else{
    $(".btnEDIT").css("display","none");
    };
    }else{
    $(".btnADD").css("display","none");
    };
    }else{
    $(".btnEDIT").css('display','none');
    };
    这个是我从缓存取到的权限类型,你的意思是我把这些卸载templet(function(){
    if(角色权限判断条件){
    return 按钮
    }else{

    })
    这个条件里面是吗。。那我return 按钮 是怎么个return
  • 2020-3-24 15:56:54根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    @intersting 额。用的是toolbar。就是想在角色到这个页面后,根据权限显示不同的按钮
  • 2020-3-24 15:43:7根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    额。。。不太懂
  • 2020-3-24 14:52:36根据登录角色权限,隐藏或者移除table里面的按钮中回答:

    @chowhwei 我看过这个,但是我的权限并不是后台带的数据,我是登录后,就已经将这个角色的所有权限全部放在了sessionStorage里面,然后我在每个页面,将缓存里面的list取出,通过共通的方法,读取,一一对比然后去隐藏显示这些按钮
  • 2020-3-24 9:8:7组件渲染问题中回答:

    @Angel丨灬泪雨 感觉上可能是打开弹出层,加载东西多了,卡一下就出现多次渲染的问题了
  • 2020-3-23 18:51:51打开弹出层后渲染问题中回答:

    @凉宫 问下。 步骤条我放在了弹出框成功里面,可是每次点击之后,都会渲染,请问如何清除渲染,要不然点击多了,就会成这样
  • 2020-3-20 10:25:54编辑的时候动态生成的radio如何赋值选中状态中回答:

    @Angel丨灬泪雨 不是啊。我这是编辑页面,所以我checked需要根据我从 res.conts[i].radioType 里面选择哪个按钮被选中
  • 2020-3-18 13:40:4打开弹出层后渲染问题中回答:

    @凉宫 请问下。用你的step步骤条时,每次渲染成这样是什么情况影响的
  • 2020-3-18 13:31:58打开弹出层后渲染问题中回答:

    @Angel丨灬泪雨 放进去过。一开始就是在里面,渲染就是这样的,我也是才拉出来
  • 2020-3-17 11:14:42【第三方插件】select 多选之 xm-select中回答:

    @杨大山 VALUE问题。。
  • 2020-3-16 18:10:22step步骤条重复渲染问题中回答:

    @大眼怪
    layui.use(['table', 'element', 'form', 'jquery', 'layer', 'common', 'dtree', 'step', 'xmSelect'], function() {
    var table = layui.table,
    $table = layui.common.$table, //获取自定义table
    $ajax = layui.common.$ajax,
    element = layui.element,
    form = layui.form,
    xmSelect = layui.xmSelect,
    step = layui.step,
    $ = layui.$,
    dtree = layui.dtree,
    layer = layui.layer;
    $table._table = table;

    form.render();

    //加载步骤条
    step.render({
    elem: '#step',
    isOpenStepLevel: true
    });
    写在这的
  • 2020-3-16 13:20:45table点击按钮新增行操作中回答:

    @c299 好的。我试试
  • 2020-3-15 1:12:24动态创建html出现的问题中回答:

    @muxinss 好的。。我明早试试看。
  • 2020-3-14 23:9:8动态创建html出现的问题中回答:

    @muxinss
    $ajax({
    type: "get",
    url: "aab24/getCardDetail",
    data: {
    id: id
    },
    success: function(results) {
    console.log(results);
    //将查询中的数据,生成table
    var record = [];
    record = results.records;
    table.render({
    elem: '#table-cardInfoRecord',
    data: record,
    width: 600,
    title: '会员余额进出记录表',
    cols: [
    [{
    align: 'center',
    colspan: 5,
    title: '会员余额进出记录表'
    }],
    [{
    field: 'record_no',
    title: '记录号'
    }, {
    field: 'amount',
    title: '金额'
    }, {
    field: 'balance',
    title: '余额'
    }, {
    field: 'typeval',
    title: '进出类型'
    }, {
    field: 'happen_time',
    title: '消费时间'

    }]
    ]
    });
    //卡属性赋值
    var cardName;
    if (results.item.type ==1 ){
    cardName = '储值卡';
    $("#storedCard").css("display", "block");
    $("#countCard").css("display", "none");
    }else if(results.item.type ==3){
    cardName = '折扣卡';
    $("#storedCard").css("display", "block");
    $("#countCard").css("display", "none");
    }else{
    //当卡属性为次卡的时候,根据获取数据,生成输入框和table
    cardName = '次卡';
    $("#storedCard").css("display", "none");
    $("#countCard").css("display", "block");

    var pkglistLength = results.pkglist.length; //获取数组长度
    var id;
    var oldNum;
    var hiddenId;
    var totalNum;

    console.log(results)

    for (var k = 0; k < pkglistLength;k++) {
    id = "itemTable_" + k;
    oldNum = "oldNum_" + k;
    hiddenId = "hidTable_" + k;
    totalNum = "totalNum_" + k;
    var html;
    html += '<div class="layui-form-item">';
    html += '<div class="layui-inline">';
    html += '<label class="layui-form-label">剩余次数:</label>';
    html += '<div class="layui-input-inline ">';
    html += '<input type="text" name = "' + oldNum + '" id="' + oldNum + '" readonly="" class="layui-input" style="width: 100px;" />';
    html += '<input type="hidden" name = "' + hiddenId + '" id = "' + hiddenId + '"/>';
    html += '</div>';
    html += '<label class="layui-form-label">调整为:</label>';
    html += '<div class="layui-input-inline ">';
    html += '<input type="number" name = "' + totalNum + '" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input" style="width: 100px;" />';
    html += '</div>';
    html += '</div>';
    html += '</div>';
    html += '<div class="layui-form-item">';
    html += "<table id='" + id + "' lay-filter='" + id + "'></table>";
    html += '</div>';
    $('#countCard').append(html);
    }

    }
    //动态往弹出层表单传值
    form.val('cardForm', {
    name:results.item.name,
    id:results.item.id,
    cardName:results.item.typename,
    type:results.item.type,
    typeName:cardName,
    oldAmount:results.item.amount
    });

    },
    error: function(xhr, type, errorThrown) {
    alert("错误");
    }
    这是我整个ajax获取数据的代码了,生成table的渲染没有写,只是生成input的时候就发现了,后面还没写,所以我很纠结,这明明打印输出是2,怎么0这个k生成了两次,最下面那个input就是1.
  • 2020-3-13 16:43:29开关或者复选框渲染不出来中回答:

    自问自答系列
  • 2020-3-10 17:9:56动态创建的table,更改单元格内容中回答:

    @IDyun 大佬还有一个问题。我这个红框部分,我放在这里table的clicknum一直是undefined,这样导致我后面新增的表会和之前的表重合,放在别的地方table就没数据。
    //点击按钮弹出下拉树弹出层,用于选择所需要的服务项目
    var str = {};
    str['storeId'] = 1;
    var datas = layui.common.getSignature(str); //当使用第三方组件的时候,headers请求头使用方法
    var header = layui.common.getLoginData();
    $("#clickAddDiscount").click(function() {

    var DTree = null;
    layer.open({
    type: 1, //type:0 也行
    title: "选择服务项目",
    area: ["40%", "80%"],
    content: '<ul id="serverItem" class="dtree" data-id="0"></ul>',
    btn: ['确认选择'],
    success: function(layero, index) {
    DTree = dtree.render({
    elem: "#serverItem",
    method: 'get',
    request: datas,
    headers: {
    Authorization: header.token
    },
    dataStyle: "layuiStyle", //使用layui风格的数据格式
    checkbarType: "p-casc", // 默认就是all,其他的值为: no-all p-casc self only
    response: {
    message: "msg",
    statusCode: 200,
    childName: "childList",
    checkArr: "title",
    basicData: "price"
    }, //修改response中返回数据的定义
    url: layui.common.getServerUrl() + "aaa01/getItemServerTree",
    checkbar: true // 开启复选框
    });
    },
    yes: function(index, layero) { //点击确定按钮后
    var flag = true;
    var params = dtree.getCheckbarNodesParam("serverItem"); // 获取选中值
    if (params.length == 0) {
    layer.msg("请至少选择一个节点", {
    icon: 2
    });
    flag = false;
    }

    // 获取复选框数组数据
    var paramJsonArr = DTree.getCheckbarJsonArrParam();
    //将获取的数据,取出有用的数据用于生成table
    var itemId = [];
    var name = [];
    var price = [];
    var getPrice = [];
    for (var i in paramJsonArr.nodeId) {
    var obj = new Object();
    obj.itemId = paramJsonArr.nodeId[i];
    obj.name = paramJsonArr.context[i];
    obj.price = paramJsonArr.basicData[i];
    obj.getPrice = getPrice;
    treeData.push(obj);
    }

    if (flag) {
    var that = this;
    var num = $(that).data('num');
    $(that).data('num', num + 1)

    addTable(num)
    layer.close(index);
    }
    }
    });
    });
  • 2020-3-10 16:6:20动态创建的table,更改单元格内容中回答:

    @IDyun 感谢大佬这两天一直在帮我。我还想问下。那为什么之前就一直失败呢。是我哪边有问题吗?
  • 2020-3-10 12:6:30请问下如何更新table的某列的某个字段中回答:

    @IDyun 因为我这边也就刚培训出来一段时间,基础也不是很扎实,所以想问下,还有哪些办法可以实现这个功能啊,
  • 2020-3-10 11:4:34请问下如何更新table的某列的某个字段中回答:

    @IDyun 我刚才试了下。如果我的table不是动态生成,是直接写在HTML里面的,就可以,但是动态生成的table,我这样写就没用了
    //点击按钮,弹出服务项目弹出层,用于添加项目组
    var clickNum = 0;
    $("#clickAddDiscount").click(function() {
    clickNum += 1;
    //加载服务项目树
    var serverItemTree;
    var str = {};
    str['storeId'] = 1;
    var datas = layui.common.getSignature(str); //当使用第三方组件的时候,headers请求头使用方法
    var header = layui.common.getLoginData();

    var DTree = null;
    layer.open({
    type: 1, //type:0 也行
    title: "选择树",
    area: ["400px", "80%"],
    content: '<ul id="serverItemTree" class="dtree" data-id="0"></ul>',
    btn: ['确认选择'],
    success: function(layero, index) {
    DTree = dtree.render({
    obj: $(layero).find("#serverItemTree"),
    method: 'get',
    request: datas,
    headers: {
    Authorization: header.token
    },
    dataStyle: "layuiStyle", //使用layui风格的数据格式
    checkbarType: "p-casc", // 默认就是all,其他的值为: no-all p-casc self only
    response: {
    message: "msg",
    statusCode: 200,
    childName: "childList",
    checkArr: "title",
    basicData: "price"
    }, //修改response中返回数据的定义
    url: layui.common.getServerUrl() + "aaa01/getItemServerTree",
    checkbar: true // 开启复选框
    });
    },
    yes: function(index, layero) {
    var flag = true;
    var params = dtree.getCheckbarNodesParam("serverItemTree"); // 获取选中值
    if (params.length == 0) {
    layer.msg("请至少选择一个节点", {
    icon: 2
    });
    flag = false;
    }
    // 获取复选框数组数据
    var paramJsonArr = DTree.getCheckbarJsonArrParam();
    //创建变量用于保存复选框数据中的id name 和价格
    var name = [];
    var id = [];
    var price = [];
    //创建变量用于当后面table的data
    var treeData = [];
    //循环遍历出数据,保存在变量中,因为id代表这每个项目,所以小于id长度就行
    for (var i = 0; i < paramJsonArr.nodeId.length; i++) {
    var obj = new Object();
    id.push(paramJsonArr.nodeId[i]);
    name.push(paramJsonArr.context[i]);
    price.push(paramJsonArr.basicData[i]);

    obj.id = id[i];
    obj.name = name[i];
    obj.price = price[i];

    treeData.push(obj)
    }
    //动态创建表格,将表格插入页面中 clickNum为按钮点击次数
    var html = "";
    html += "<input type='number' name='totalNum[]' class='layui-input' style='width: 100px;' />";
    html += "<table id='itemTable_" + clickNum + "' lay-filter='itemTable_" + clickNum + "'></table>";
    $("#divTable").append(html);

    table.render({
    elem: '#itemTable_' + clickNum,
    data: treeData,
    id: 'table' + clickNum, //设定容器唯一id
    cols: [
    [{
    field: 'name',
    width: '15%',
    title: '名称'
    }, {
    field: 'price',
    title: '单价'

    }, {
    field: 'getPrice',
    title: '实收金额'
    }]
    ]
    });

    if (flag) {
    layer.close(index);
    }
    }
    });

    //点击行后,弹出项目设置页面
    table.on('row(' + 'itemTable_' + clickNum + ')', function(obj) {
    var itemId = obj.data.id;
    var data = obj.data;
    /* //将获取到的id存放入表单中,用于最后的提交
    form.val('itemForm', {
    itemId: itemId
    }); */

    layer.prompt({
    formType: 2,
    value: data.getPrice
    }, function(value, index) {
    obj.update({
    getPrice: value
    });
    layer.close(index);
    });
    });
    });
    这个就是动态生成的,这样写,没反应
  • 2020-3-10 10:1:31请问下如何更新table的某列的某个字段中回答:

    @IDyun 昨晚试了下。还是不行。点击确定,并不会关闭弹层,加了layer.close关闭弹层,但是表格无变化