{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xypm-web\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\xypm-web\\src\\validate.js","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\validate.js","mtime":1675214577839},{"path":"D:\\jenkins\\workspace\\xypm-web\\babel.config.js","mtime":1675214572901},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import _typeof from \"D:/jenkins/workspace/xypm-web/node_modules/@babel/runtime/helpers/esm/typeof.js\";\nimport Vue from \"vue\";\nimport moment from 'moment'; //日期格式化插件\n\nimport utils from \"@/utils.js\";\nimport form from \"@/api/form.js\";\nimport i18n from '@/lang/index.js';\nimport { Base64 } from \"js-base64\";\nimport req from \"@/request.js\";\nVue.filter('dateformat', function (dataStr) {\n  var pattern = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD HH:mm:ss';\n\n  if (dataStr) {\n    return moment(dataStr).format(pattern);\n  } else {\n    return \"\";\n  }\n}); //VUE页面使用：{{ newsinfo.add_time | dateformat('YYYY-MM-DD HH:mm:ss')}}\n\nVue.filter('timeLag', function (difference) {\n  var r = \"\",\n      ////计算出相差天数\n  days = Math.floor(difference / (24 * 3600 * 1000)),\n      //计算出小时数\n  leave1 = difference % (24 * 3600 * 1000),\n      //计算天数后剩余的毫秒数\n  hours = Math.floor(leave1 / (3600 * 1000)),\n      //计算相差分钟数\n  leave2 = leave1 % (3600 * 1000),\n      //计算小时数后剩余的毫秒数\n  minutes = Math.floor(leave2 / (60 * 1000)),\n      //计算相差秒数\n  leave3 = leave2 % (60 * 1000),\n      //计算分钟数后剩余的毫秒数\n  seconds = Math.round(leave3 / 1000);\n  if (days > 0) r += days + \"天\";\n  if (hours > 0) r += hours + \"小时\";\n  if (minutes > 0) r += minutes + \"分钟\";\n  if (seconds > 0) r += seconds + \"秒\";\n  return r;\n});\nVue.filter('numFilter', function (value, type) {\n  if (type == \"thousandBit\") {\n    return utils.thousandBit(value);\n  } else if (type == \"currency\") {\n    return utils.convertCurrency(value);\n  } else {\n    return value;\n  }\n});\nvar backendValidate = {\n  validate: function validate(value, args) {\n    var url = args.url;\n    var submitFormData = args.submitFormData || false;\n    return new Promise(function (resolve, reject) {\n      form.backendValidate({\n        url: url,\n        param: value,\n        submitFormData: submitFormData\n      }, function (res) {\n        resolve(res);\n      });\n    });\n  },\n  options: {\n    hasTarget: false,\n    immediate: true\n  },\n  paramNames: ['url', 'submitFormData']\n};\nvar frontJSValidate = {\n  validate: function validate(value, args) {\n    return new Promise(function (resolve, reject) {\n      var jsScript = args.jsScript;\n      jsScript = Base64.decode(jsScript);\n      var formElementAry = document.getElementsByName(\"online-form\");\n      var data = {};\n\n      if (formElementAry && formElementAry.length == 1) {\n        var frmInst = formElementAry[0].__vue__;\n        data = JSON.parse(JSON.stringify(frmInst.data));\n      }\n\n      function evil() {\n        var Fn = Function('value', 'data', 'i18n', jsScript); //一个变量指向Function，防止有些前端编译工具报错\n\n        var result = Fn(value, data, i18n);\n        return result;\n      }\n\n      resolve(evil());\n    });\n  },\n  options: {\n    hasTarget: false,\n    immediate: true\n  },\n  paramNames: ['jsScript']\n}; //  只能在rules 对象下添加校验规则\n\nvar rules = {\n  isExist: {\n    validate: function validate(value, args) {\n      if (args.isTrue) {\n        return true;\n      }\n\n      if (!value || !args) {\n        return true;\n      } else {\n        var url = args.requestUrl;\n\n        if (url) {\n          return new Promise(function (resolve, reject) {\n            req.get(url + value).then(function (resp) {\n              var data = resp.data;\n              var isValid = false;\n\n              if (!data || data.constructor == Array && data.length == 0 || data.constructor == Object && (data.state && !data.value || JSON.stringify(data) == '{}')) {\n                isValid = true;\n              }\n\n              resolve({\n                valid: isValid\n              });\n            });\n          });\n        } else {\n          return {\n            valid: true\n          };\n        }\n      }\n    },\n    options: {\n      hasTarget: false,\n      immediate: false\n    },\n    paramNames: ['requestUrl', 'isTrue']\n  },\n  time: {\n    validate: function validate(value, args) {\n      if (!value) {\n        return true;\n      } else {\n        var dateVal = \"\";\n\n        if (value.constructor == String) {\n          dateVal = value;\n        } else if (_typeof(value) == \"object\") {\n          dateVal = value.value;\n\n          if (!dateVal || value.constructor == Date || dateVal && dateVal.constructor == Date) {\n            return true;\n          }\n        }\n\n        var re = /^(?:[01]?\\d|2[0-3])(?::[0-5]?\\d){2}$/g.test(dateVal.trim());\n        return re;\n      }\n    },\n    options: {\n      hasTarget: false,\n      immediate: true\n    },\n    paramNames: []\n  },\n  date: {\n    validate: function validate(value, args) {\n      if (!value) {\n        return true;\n      } else {\n        var dateVal = \"\";\n\n        if (value.constructor == String) {\n          dateVal = value;\n        } else if (_typeof(value) == \"object\") {\n          dateVal = value.value;\n\n          if (!dateVal || value.constructor == Date || dateVal && dateVal.constructor == Date) {\n            return true;\n          }\n        }\n\n        var re = /^([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/g.test(dateVal.trim());\n        return re;\n      }\n    },\n    options: {\n      hasTarget: false,\n      immediate: true\n    },\n    paramNames: []\n  }\n};\nrules.backendValidate = backendValidate;\nrules.frontJSValidate = frontJSValidate;\nexport default rules;",null]}