yuanzhi_kuang 5 mēneši atpakaļ
vecāks
revīzija
f788ef8811

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
mbos/archive9000_app.js


+ 0 - 119
mbos/sdfsdfgdsg

@@ -1,119 +0,0 @@
-$(document).ready(function() {
-    var recordId = requestParam.recordId;
-    var hrefStr = requestParam.hrefStr;
-
-    // 获取PDF容器和设置其样式
-    var pdfContainer = document.getElementById("pdf-container");
-    pdfContainer.style.width = 'calc(100% - 20px)'; // 左右间隔10px
-    pdfContainer.style.margin = '0 auto';
-    pdfContainer.style.overflow = 'auto'; // 允许滚动
-
-    // 调用后端服务获取base64编码的PDF数据
-    mbos.eas.invokeScript({
-        name: "commonOSFservice",
-        param: ['getJobRegistrationPackage', JSON.stringify({ recordId: recordId })],
-        success: function(res) {
-            // 后端获取到的base64Data
-            var base64Data = res.msg;
-
-            // 将base64数据转换为PDF.js可以识别的格式
-            var pdfData = atob(base64Data);
-            var loadingTask = pdfjsLib.getDocument({data: pdfData});
-
-            loadingTask.promise.then(function(pdf) {
-                // 获取第一页(可以根据需要修改)
-                pdf.getPage(1).then(function(page) {
-                    var scale = 1.5; // 初始缩放比例,可以根据需要调整
-                    var viewport = page.getViewport({ scale: scale });
-
-                    // 设置容器的宽度和高度
-                    pdfContainer.style.width = viewport.width + 'px';
-                    pdfContainer.style.height = viewport.height + 'px';
-
-                    // 创建一个canvas元素来渲染PDF页面
-                    var canvas = document.createElement('canvas');
-                    var context = canvas.getContext('2d');
-                    canvas.height = viewport.height;
-                    canvas.width = viewport.width;
-
-                    // 将canvas添加到容器中
-                    pdfContainer.appendChild(canvas);
-
-                    // 渲染PDF页面到canvas上
-                    var renderContext = {
-                        canvasContext: context,
-                        viewport: viewport
-                    };
-                    page.render(renderContext);
-
-                    // 添加缩放和拖拽功能
-                    var isDragging = false;
-                    var lastScale = scale;
-                    var startX, startY, startScale;
-
-                    // 缩放事件
-                    canvas.addEventListener('wheel', function(event) {
-                        if (event.deltaY < 0) {
-                            scale *= 1.1;
-                        } else {
-                            scale /= 1.1;
-                        }
-                        renderPage(scale);
-                    });
-
-                    // 拖拽事件
-                    canvas.addEventListener('mousedown', function(event) {
-                        isDragging = true;
-                        startX = event.clientX - canvas.offsetLeft;
-                        startY = event.clientY - canvas.offsetTop;
-                        startScale = scale;
-                    });
-
-                    canvas.addEventListener('mousemove', function(event) {
-                        if (isDragging) {
-                            var dx = event.clientX - startX;
-                            var dy = event.clientY - startY;
-
-                            // 更新canvas的位置
-                            canvas.style.left = dx + 'px';
-                            canvas.style.top = dy + 'px';
-                        }
-                    });
-
-                    canvas.addEventListener('mouseup', function() {
-                        isDragging = false;
-                    });
-
-                    canvas.addEventListener('mouseout', function() {
-                        isDragging = false;
-                    });
-
-                    // 重新渲染页面的函数
-                    function renderPage(newScale) {
-                        viewport = page.getViewport({ scale: newScale });
-                        canvas.width = viewport.width;
-                        canvas.height = viewport.height;
-
-                        renderContext.viewport = viewport;
-                        page.render(renderContext);
-                    }
-                });
-            }, function(reason) {
-                console.error(reason);
-            });
-        },
-        error: function(e) {
-            console.log(e);
-        }
-    });
-
-    // 隐藏或显示按钮
-    if (hrefStr == null) {
-        $('#myButton').hide();
-    }
-
-    // 按钮点击事件
-    $('#myButton').click(function() {
-        window.location.href = hrefStr + "/judge_page?recordId=" + encodeURIComponent(recordId);
-    });
-});

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 0
mbos/备份/archive9000_app.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 3 - 0
mbos/备份/archive9000_app_1.2.js


+ 404 - 0
mbos/备份/我要请假.js

@@ -0,0 +1,404 @@
+_this.pageinit = function () {
+  newPageInit()
+}
+// 	在页面初始化加载之后
+mbos('page').bind('afterLoad', function () {
+  _this.path = mbos.pageInfo.path// 轻应用的路径编码 例如 trip880
+  _this.detailPageCode = mbos.pageInfo.name.replace('Add', 'View') // 详情页面的编码 (个别页面可特殊处理直接写入) 例如 tripView.editui
+  _this.operateState = mbos.getRequestParams().operateState // 'ADDNEW' 'EDIT' 'VIEW'
+  // 初始化审批流
+  mbos('nextperson1').checkParticipantPerson({
+    "callback": function () { }
+  });
+  // 单据说明
+  mbos('description').bind('click', function () {
+    handleClickDesc()
+  })
+})
+// 【请假类型】F7过滤, _this.holidayIdList是接口返回的过滤数据,再依据这个过滤F7 
+function filterLeaveTypeF7(index) {
+  var filterStr = _this.holidayIdList.join('\',\'')
+  mbos('entries_sourceHolidayType', index).attr('dynamicFilter', 'id in (\'' + filterStr + '\')'); // 动态添加过滤
+}
+// 哺乳假F7
+function filterBreastTypeF7(index) {  
+  mbos('entries.bfType', index).attr('dynamicFilter', 'state = 1'); // 动态添加过滤
+}
+// 分录渲染后
+mbos('entries').bind('afterRendered', function (e) {
+  _this.leaveLengthTitle = mbos('entries_leaveLength_0').attr('title').split('(')[0] // 获取请假时长的标题
+  getHolidayType(e)
+  multiLangField(e.index)// 兼容多语言字段回显的问题
+})
+// 保存按钮
+_this.save = function (event) {
+  var params = getModel(-1, 'save') // 封装model,不走common的封装
+  baseInterface('save', toView, -1, params) // 调用保存接口
+}
+// 提交按钮
+_this.submit = function (event) {
+    // 确认提交 弹框
+  mbos.ui.showConfirm({
+    title: localeResource.confirmSubmit,
+    iconclass: "kdfont kdfont-zhuangtai_jingshi the_info",
+    callback: function (data) {
+      if (data == 0) {
+        var params = getModel(-1, 'submit') // 封装model,不走common的封装
+        baseInterface('submit', toView, -1, params) // 调用提交接口
+      }
+    }
+  });
+
+
+}
+
+// 点击“保存、提交” 跳转页面
+function toView(res) {
+  // 提交接口 返回的res.data为数组,取第一条数据
+  if (res.data.keyValue || (res.data.length > 0 && res.data[0].keyValue)) {
+        // 操作成功 提示弹框
+    mbos.ui.showInfo({
+      title: localeResource.succeed,
+      iconclass: "kdfont kdfont-zhuangtai_wancheng the_success",
+      callback: function () {
+        openPage(_this.path, _this.detailPageCode, { billID: res.data.keyValue || res.data[0].keyValue })
+      }
+    });
+  }
+}
+// 给隐藏的model赋值
+function setModel() {
+  if (typeof _this.operateState != "undefined" && (_this.operateState === "ADDNEW" || _this.operateState === "EDIT")) {
+    var entries = _.cloneDeep(mbos('entity').data.entries) // lodash 深拷贝
+    entries.map(function (entry, i) {
+      entry.person = easContext.person
+//       position和adminOrgUnit取后端默认值,前端取的是人事档案的不是正确的值
+      // entry.position = easContext.position.id
+      // entry.adminOrgUnit = easContext.position.adminOrgUnit.id
+      getEntries(entry, i) // 各单据处理分录数据
+    })
+    return entries
+  }
+}
+function getModel(index, method) {
+  var entries = setModel()
+  var obj = mbos('entity').data
+  if (method === "save" || method === "submit"){ // 只在保存喝提交时修改枚举字段的存储,不然会清空表头的枚举字段
+    Object.keys(obj).map(key => {
+      if (obj[key] && obj[key].isenum) {// 遍历枚举字段 依据后端需要 传参只传value
+        obj[key] = obj[key].value
+      }
+    })
+    console.log(obj)    
+  }
+
+  var model = {
+    ...obj,
+    entries: entries,
+  }
+  if (index >= 0) { // index 为-1 时代表取所有明细
+    model.entries = [entries[index]]
+  }
+  if ((method === "save" || method === "submit") && mbos.getRequestParams().abnormalId) {
+    model.abnormalId = mbos.getRequestParams().abnormalId
+  }
+  var personList = mbos('personSelector1').$element ? mbos('personSelector1').getpersonList() : []; // 抄送人列表
+  model.ccPersonIds = personList.map(function (i) { return (i.personid || i.id) }).join(',')
+  model.ccPerson = personList.map(function (i) { return (i.personid || i.id) }).join(',')
+  return model
+}
+// 各单据处理分录数据的函数
+function getEntries(entry, i) {
+  if (!entry.bfType) entry.bfType = ''
+  var halfData = _this['isHalf' + i]
+  if (halfData && entry.beginTime && !entry.beginTime.split(' ')[1] && mbos('beginHalf', i).value().value) {
+    // 页面显示的是上午下午,但是传参得拼接上时分 格式为年月日时分
+    entry.beginTime = entry.beginTime + ' ' + (mbos('beginHalf', i).value().value === 'am' ? halfData.amBeginTime : halfData.pmBeginTime)
+    entry.endTime = entry.endTime + ' ' + (mbos('endHalf', i).value().value === 'am' ? halfData.amEndTime : halfData.pmEndTime)
+  }
+  // 如果是哺乳假 非自定义的类型 结束时间需要拼接时分为23:59
+  var _holidayType = mbos('entries_sourceHolidayType', i).value()
+  var _bfType = mbos('entries_bfType', i).value()
+  if (_holidayType && _holidayType.name == localeResource.bf_holiday && _bfType && _bfType.name !== localeResource.Customized){
+    entry.beginTime += ' 00:00'
+    entry.endTime += ' 23:59'
+  }
+}
+// 获取请假类型
+var getHolidayType = _.debounce(function (e) {
+  var callback = function (res) {
+    var list = res.data
+    _this.holidayIdList = res.data.map(item => item.holidayTypeId.id) // 存储过滤后的请假类型F7数据
+    filterLeaveTypeF7(e.index)
+    filterBreastTypeF7(e.index)
+    // 请假类型数组
+    _this.holidayType = {}
+    for (var i = 0; i < list.length; i++) {
+      var typeId = list[i].holidayTypeId.id
+      _this.holidayType[typeId] = {
+        holidayPolicyId: list[i].holidayPolicyInfo.id,
+        sourceUnit: list[i].unit,
+        sourceHolidayType: list[i].holidayTypeId,
+        description: list[i].description
+      }
+    }
+    if (mbos.getRequestParams().type && mbos.getRequestParams().holidayTypeId){ 
+      // 从我的假期页面跳转过来,携带赋值假期类型
+      mbos('entries_sourceHolidayType', e.index).value({
+        id:  decodeURIComponent(mbos.getRequestParams().holidayTypeId),
+        name: mbos.getRequestParams().type
+      })
+    }
+    if (mbos('entries_sourceHolidayType', e.index).value()) {
+      _this.typeChange({
+        index: e.index,
+        new_value: mbos('entries_sourceHolidayType', e.index).value(),
+        old_value: ''
+      })
+    }
+  }
+  var date = mbos.getRequestParams().date || new Date()
+  //  需要传参时间,默认为当天 或其他页面带过来的参数
+  var today = moment(date).format('YYYY-MM-DD')
+  if (!mbos('entries_beginTime', e.index).value()) {
+    mbos('entries_beginTime', e.index).value(today + ' 00:00')
+  }
+  if (!mbos('entries_endTime', e.index).value()) {
+    mbos('entries_endTime', e.index).value(today + ' 23:59')
+  }
+  setModel()
+  baseInterface('getHolidayTypeByPerson', callback, e.index)
+}, 0)
+// 接口计算请假时长
+var getTimeLength = _.debounce(function (index) {
+  var callback = function (res) {
+    mbos('entries_leaveLength', index).value(res.data.leaveBillDays)
+  }
+
+  var params = getModel(index) // 封装model,不走common的封装
+  var entry = mbos('entity').data.entries[index]
+  if (entry.beginTime && entry.endTime && entry.sourceHolidayType) {
+    baseInterface('getBillLength', callback, index, params)
+  }
+}, 500)
+// 获取假期剩余额度单位
+var getRemainLength = _.debounce(function (event) {
+  var index = event.index
+  var entry = mbos('entity').data.entries[index]
+  delete entry.SourceHolidayType
+  if (entry.beginTime && entry.endTime && entry.sourceHolidayType) {
+    var callback = function (res) {
+      if (!res.data) {
+        $('#remainCard_' + index).css('display', 'none')
+        return
+      }
+      if (res && res.data) {
+        var type = _this.holidayType[mbos('entries_sourceHolidayType', index).value().id]
+        $('#remainCard_' + index).css('display', 'flex')
+        document.getElementById('remainCard_' + index).innerText = `${type.sourceHolidayType.name}  ${localeResource.remained}${res.data.remainLimitVal}${type.sourceUnit.alias} ${localeResource.remainedDays}`
+      }
+    }
+    setModel()
+    baseInterface('getHolidayLimitByHolidayType', callback, index)
+  }
+}, 200)
+// 根据时间判断 是否展示弹性算时长字段
+var isElastic = _.debounce(function (index) {
+  var callback = function (res) {
+    if (res.data) {
+      mbos('entries_isElasticCalLen', index).show()
+    } else {
+      mbos('entries_isElasticCalLen', index).hide()
+    }
+  }
+  //   TODO   holidayPolicyId待添加
+  setModel(index)
+  var entry = mbos('entity').data.entries[index]
+  if (entry.beginTime && entry.endTime) {
+    baseInterface('showIsElasticCalCtrl', callback, index)
+  }
+}, 500)
+
+/**
+ * 修改开始结束时间的格式
+ * YYYY-MM-DD      : 非【自定义】的所有哺乳假类型
+ * YYYY-MM-DD HH:mm:未启用半天假的非哺乳假;【自定义】的哺乳假类型且未启用半天假;
+ * YYYY-MM-DD AM/PM:启用半天假的非哺乳假、【自定义】的哺乳假类型且启用半天假 
+ */
+function beginEndFormat(format, index) {
+  mbos('entries.beginTime', index).timeFormat(format)
+  mbos('entries.endTime', index).timeFormat(format)
+}
+
+// 是否开启半天假
+function isHalfHoliday(index, timeFormat) {
+  var callback = function (res) {
+    if (res.data && res.data.isHalfDayOff) {
+      //       先赋值 在设置半天假 最后格式化时间,顺序不能变
+      _this['isHalf' + index] = res.data
+      setHalfDay(index)// 设置开启半天假的样式
+      beginEndFormat('YYYY-MM-DD', index)
+    } else {
+      _this['isHalf' + index] = false
+      hideHalfDay(index)// 隐藏半天假
+      beginEndFormat(timeFormat ? timeFormat : 'YYYY-MM-DD HH:mm', index)
+    }
+  }
+  setModel()
+  baseInterface('getSetIsCtrlHalfDayOff', callback, index)
+}
+// 设置开启半天假的样式
+function setHalfDay(index) {
+  $('#entries_beginTime_' + index).removeClass('col-xs-12').addClass('col-xs-9')
+  $('#entries_endTime_' + index).removeClass('col-xs-12').addClass('col-xs-9')
+  // mbos('beginHalf', index).show()
+  // mbos('endHalf', index).show()
+  $('#beginHalf_' + index).css("display", "block")
+  $('#endHalf_' + index).css("display", "block")
+  var half = {
+    am: { alias: localeResource.AM, value: "am" },
+    pm: { alias: localeResource.PM, value: "pm" },
+  }
+  var halfData = _this['isHalf' + index] // 半天假及时间字段
+  // 编辑时 根据时间判断
+  var startHM = halfData.pmBeginTime === mbos('entries_beginTime', index).value().split(' ')[1] ? half.pm : half.am
+  var endHM = halfData.amEndTime === mbos('entries_endTime', index).value().split(' ')[1] ? half.am : half.pm
+  mbos('beginHalf', index).value(startHM)
+  mbos('endHalf', index).value(endHM)
+}
+// 隐藏半天假
+function hideHalfDay(index) {
+  $('#entries_beginTime_' + index).removeClass('col-xs-9').addClass('col-xs-12')
+  $('#entries_endTime_' + index).removeClass('col-xs-9').addClass('col-xs-12')
+  mbos('beginHalf', index).hide()
+  mbos('endHalf', index).hide()
+}
+// 监听请假类型
+_this.typeChange = function (event) {
+  var index = event.index
+  var entry = mbos('entity').data.entries[index]
+  if (!event.new_value) return //清空
+  var type = _this.holidayType && _this.holidayType[event.new_value.id]
+  if (type) {
+    entry.sourceUnit = type.sourceUnit // 1是天 2是小时
+    entry.holidayPolicyId = type.holidayPolicyId
+    entry.SourceHolidayType = type.sourceHolidayType.id
+  }
+  // 是否是哺乳假
+  if (mbos('entries_sourceHolidayType', index).value() && (mbos('entries_sourceHolidayType', index).value().id == "8r0AAAAMhrv9LVKY" || mbos('entries_sourceHolidayType', index).value().name == localeResource.bf_holiday)) {
+    // 请假类型为【哺乳假】则显示 哺乳假类型、子女出生日期、产假结束日期
+    mbos('entries.bfType', index).show()
+    var format = 'YYYY-MM-DD'
+    if (mbos('entries_bfType', index).value()) {
+      if(mbos('entries_bfType', index).value().name == localeResource.Customized){
+        format = 'YYYY-MM-DD HH:mm'
+      } else {
+        mbos('entries.childbirthday', index).show()
+        mbos('entries.mLEndTime', index).show()
+      }
+    } else {
+	  // 如果哺乳假类型不存在则默认为自定义
+      mbos('entries_bfType', index).value({id: "8r0AAAA09p9IT3K3", name: localeResource.Customized})
+      format = 'YYYY-MM-DD HH:mm'
+    }
+    
+    isHalfHoliday(index, format) // 判断是否启用半天假
+  } else {// 非哺乳假时间格式只有两种:【年月日时分】、【年月日 上/下午】。启用半天假时为【年月日 上/下午】,其他的都是【年月日时分】;
+    // 其他类型则隐藏
+    mbos('entries.bfType', index).hide()
+    mbos('entries_bfType', index).value('')
+    mbos('entries.childbirthday', index).hide()
+    mbos('entries.childbirthday', index).value('')
+    mbos('entries.mLEndTime', index).hide()
+    mbos('entries.mLEndTime', index).value('')
+    isHalfHoliday(index) // 判断是否启用半天假
+  }
+  if (entry.sourceUnit) {
+    mbos('entries_leaveLength', index).attr('title', _this.leaveLengthTitle + `(${entry.sourceUnit.alias})`);
+  }
+  getTimeLength(index)
+  getRemainLength(event)
+}
+// 监听 开始时间
+_this.calTime1 = function (event) {
+  getHolidayType(event)
+  getTimeLength(event.index)
+  isElastic(event.index)
+  getRemainLength(event)
+}
+// 监听 结束时间
+_this.calTime2 = function (event) {
+  getHolidayType(event)
+  getTimeLength(event.index)
+  isElastic(event.index)
+  getRemainLength(event)
+}
+// 监听 子女出生日期
+_this.birthdayChange = function (event) {
+  // 请假开始时间默认值:产假结束日期,再加1天;
+  if (event.new_value) {
+    var value = moment(mbos('entries_childbirthday', event.index).value()).add(1, 'years').format('YYYY-MM-DD')
+    mbos('entries.endTime', event.index).value(value)
+  }
+}
+// 监听 产假结束日期
+_this.mlEndChange = function (event) {
+  // 请假结束时间默认值:子女出生日期延后一年,再减1天;
+  if (event.new_value) {
+    var value = moment(mbos('entries_mLEndTime', event.index).value()).add(1, 'days').format('YYYY-MM-DD')
+    mbos('entries.beginTime', event.index).value(value)
+  }
+}
+// 监听 哺乳假类型
+_this.bfTypeChange = function (event) {
+  var index = event.index
+  // 哺乳假类型是否为【自定义】
+  if (!mbos('entries_bfType', index).value()){
+     // 如果哺乳假类型不存在则默认为自定义
+      setTimeout(()=>{
+        mbos('entries_bfType', index).value({id: "8r0AAAA09p9IT3K3", name: localeResource.Customized})
+      }, 0)
+  }
+  if (mbos('entries_bfType', index).value() && (mbos('entries_bfType', index).value().id == "8r0AAAA09p9IT3K3" || mbos('entries_bfType', index).value().name == localeResource.Customized)) {
+    //   【自定义】: 则不展示【子女出生日期、产假结束日期】
+    mbos('entries.childbirthday', index).value('')
+    mbos('entries.childbirthday', index).hide()
+    mbos('entries.mLEndTime', index).value('')
+    mbos('entries.mLEndTime', index).hide()
+    // 哺乳假类型为【自定义】时,启用半天假时为【年月日 上/下午】,其他的都是【年月日 时分】
+    isHalfHoliday(index) // 判断是否启用半天假
+  } else {
+    // 非【自定义】的所有哺乳假类型 日期格式为年月日
+    beginEndFormat('YYYY-MM-DD', index)
+    mbos('entries.childbirthday', index).show()
+    mbos('entries.mLEndTime', index).show()
+  }
+  getTimeLength(event.index)
+}
+// 监听是否是弹性算时长
+_this.isElasticChange = function (event) {
+  getTimeLength(event.index)
+}
+// 更改半天假开始
+_this.calTime3 = function (event) {
+  getTimeLength(event.index)
+}
+// 更改半天假结束
+_this.calTime4 = function (event) {
+  getTimeLength(event.index)
+}
+
+// 时长更改时 做校验
+_this.lengthChange = function(event){
+  var value = event.new_value
+//   判断是否等于小于0
+  if (!isNaN(parseFloat(value)) && value <= 0) {
+    mbos.msgBox.showError(localeResource.lengthValid);
+    setTimeout(()=>{
+      mbos('entries_leaveLength',event.index).value('')
+    })
+    return
+  }
+  
+}
+        

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels