YM
2025-03-28 3bd8985e73fa326454ed8b8e1b1b60245caff89b
app/user/view/attendance/index.html
@@ -5,11 +5,6 @@
  <table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="status">
  <i
    class="layui-icon {{#  if(d.status == 1){ }}green layui-icon-ok{{#  } else { }}yellow layui-icon-close{{#  } }}"
  ></i>
</script>
<script type="text/html" id="toolbarDemo">
  <div class="layui-btn-container">
    <button class="layui-btn layui-btn-sm" lay-event="add">+ 添加考勤组</button>
@@ -44,23 +39,91 @@
      cols: [
        [
          {
            field: "title",
            field: "name",
            title: "名称",
            align: "center"
            align: "center",
            width: 300
          },
          {
            field: "peopleNum",
            title: "人数",
            width: 120
            width: 120,
            templet: function (d) {
              var users = d.linkUserDate.filter((item) => item.type == "1");
              return users.length;
            }
          },
          {
            field: "type",
            title: "类型",
            width: 120
            width: 120,
            templet: function (d) {
              if (d.type == "1") {
                return "固定班制";
              }
              if (d.type == "2") {
                return "自由工时";
              }
            }
          },
          {
            field: "time",
            title: "考勤时间"
            title: "考勤时间",
            templet: function (d) {
              // 按照班次分组
              var planMap = {};
              Object.keys(d.work_plan).forEach((key) => {
                var item = d.work_plan[key];
                var showTxt = "";
                if (key.indexOf("mon_") > -1) {
                  showTxt = "周一";
                }
                if (key.indexOf("tue_") > -1) {
                  showTxt = "周二";
                }
                if (key.indexOf("wed_") > -1) {
                  showTxt = "周三";
                }
                if (key.indexOf("thur_") > -1) {
                  showTxt = "周四";
                }
                if (key.indexOf("fri_") > -1) {
                  showTxt = "周五";
                }
                if (key.indexOf("sat_") > -1) {
                  showTxt = "周六";
                }
                if (key.indexOf("sun_") > -1) {
                  showTxt = "周日";
                }
                if (item.id) {
                  if (!planMap[item.id]) planMap[item.id] = { showTxt: [] };
                  planMap[item.id].times = item.times;
                  planMap[item.id].showTxt.push(showTxt);
                } else {
                  if (!planMap["null"]) planMap["null"] = { showTxt: [] };
                  planMap.null.showTxt.push(showTxt);
                }
              });
              console.log(planMap, "planMap");
              // 根据班次分类显示时间
              var html_ = "";
              Object.keys(planMap).forEach((key) => {
                html_ +=
                  "<p>" +
                  planMap[key].showTxt.join("、") +
                  ":" +
                  (planMap[key].times && planMap[key].times.length > 0
                    ? planMap[key].times.map(
                        (item) => item.begin_time + " - " + item.end_time
                      )
                    : "休息") +
                  "</p>";
              });
              console.log(html_);
              return html_;
            }
          },
          {
            field: "right",
@@ -101,7 +164,11 @@
                obj.del();
              }
            };
            tool.delete("/user/attendance/delete", { id: obj.data.id }, callback);
            tool.delete(
              "/user/attendance/delete",
              { id: obj.data.id },
              callback
            );
            layer.close(index);
          }
        );