ITPub博客

首页 > 应用开发 > Javascript > js实现字母+5位数的编号,满99999自动变字母

js实现字母+5位数的编号,满99999自动变字母

原创 Javascript 作者:Roy155 时间:2020-12-02 18:49:06 0 删除 编辑

目标:

实现字母+5位数自增编号,当编号满99999时转到下一个字母,如A00001,...,A99999,B00001,...,B99999,C00001,...

准备工作:

在白码无代码平台创建参数表记录当前的字母数值和编号数值。为了实现字母自增,用数值来代表字母,A的10进制数为10。

实现步骤:

1、创建功能,并创建“数据-获取-参数表”步骤从参数表获取参数

2、创建“编程”步骤,获取上一步的编号参数

  //获取编号参数
    let param = await $model.getValue("5fbf6e0a787a613b49d004d7");
    let start = new Number(param["5fbf6d9e787a613b49d004ce"]);//字母数值
    let end = new Number(param["5fbf6da8787a613b49d004d3"]);//编号数值

3、参数值的自增

    //参数值增长
    if (end == 99999) {
        end = 1;//编号值重置为1
        start++;//字母值+1
    } else {
        end++;//编号值+1
    }

4、保存自增后的参数值

 
   //更新参数
    await $plugin.data.updateData("5fbf6d728aa7c03b4fe8c53f", param._id, {
        "5fbf6d9e787a613b49d004ce": start,
        "5fbf6da8787a613b49d004d3": end
    });

5、拼接编号

  //字母:数值转16进制,再转大写字母
    start = start.toString(16).toLocaleUpperCase();
    //5位的编号:左边补5个0,再从右往左取5位
    end = "00000" + end;
    end = end.substr(end.length - 5, 5);
    //组合成编号
    let code = start + end;

6、保存此编号

    //保存编号
    await $plugin.data.saveData("5fbf6db28aa7c03b4fe8c540", {
        "5fbf6db88aa7c03b4fe8c541": code
    });
}

效果:

1、数值自增

2、字母自增

为了方便,先到数据库把编号数值直接改到99998

效果如下:

完整代码:

async function runProcess($model = model, $plugin = plugin, $params) {
    //获取编号参数
    let param = await $params.param;
    let start = new Number(param["5fbf6d9e787a613b49d004ce"]);//字母数值
    let end = new Number(param["5fbf6da8787a613b49d004d3"]);//编号数值
 
    //参数值增长
    if (end == 99999) {
        end = 1;
        start++;
    } else {
        end++;
}
 
    //更新参数
    await $plugin.data.updateData("5fbf6d728aa7c03b4fe8c53f", param._id, {
        "5fbf6d9e787a613b49d004ce": start,
        "5fbf6da8787a613b49d004d3": end
});
 
    //字母:数值转16进制,再转大写字母
    start = start.toString(16).toLocaleUpperCase();
    //5位的编号:左边补5个0,再从右往左取5位
    end = "00000" + end;
    end = end.substr(end.length - 5, 5);
    //组合成编号
let code = start + end;
 
    //创建编号
    await $plugin.data.saveData("5fbf6db28aa7c03b4fe8c540", {
        "5fbf6db88aa7c03b4fe8c541": code
    });
}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69981626/viewspace-2738922/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-14

  • 博文量
    41
  • 访问量
    32188