1 line
9.2 KiB
JSON
1 line
9.2 KiB
JSON
{"remainingRequest":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\views\\system\\timing\\components\\crontab.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\views\\system\\timing\\components\\crontab.vue","mtime":1732871026795},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1732872825017},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1732872825835}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport CrontabSecond from './second.vue'\r\nimport CrontabMin from './min.vue'\r\nimport CrontabHour from './hour.vue'\r\nimport CrontabDay from './day.vue'\r\nimport CrontabMonth from './month.vue'\r\nimport CrontabWeek from './week.vue'\r\nimport CrontabYear from './year.vue'\r\nimport CrontabResult from './result.vue'\r\n\r\nexport default {\r\n name: 'Crontab',\r\n components: {\r\n CrontabSecond,\r\n CrontabMin,\r\n CrontabHour,\r\n CrontabDay,\r\n CrontabMonth,\r\n CrontabWeek,\r\n CrontabYear,\r\n CrontabResult\r\n },\r\n props: ['expression', 'hideComponent'],\r\n data() {\r\n return {\r\n tabTitles: ['秒', '分钟', '小时', '日', '月', '周', '年'],\r\n tabActive: 0,\r\n myindex: 0,\r\n crontabValueObj: {\r\n second: '*',\r\n min: '*',\r\n hour: '*',\r\n day: '*',\r\n month: '*',\r\n week: '?',\r\n year: ''\r\n }\r\n }\r\n },\r\n computed: {\r\n crontabValueString: function() {\r\n const obj = this.crontabValueObj\r\n const str =\r\n obj.second +\r\n ' ' +\r\n obj.min +\r\n ' ' +\r\n obj.hour +\r\n ' ' +\r\n obj.day +\r\n ' ' +\r\n obj.month +\r\n ' ' +\r\n obj.week +\r\n (obj.year == '' ? '' : ' ' + obj.year)\r\n return str\r\n }\r\n },\r\n watch: {\r\n expression: 'resolveExp',\r\n hideComponent(value) {\r\n // 隐藏部分组件\r\n }\r\n },\r\n mounted: function() {\r\n this.resolveExp()\r\n },\r\n methods: {\r\n shouldHide(key) {\r\n if (this.hideComponent && this.hideComponent.includes(key)) return false\r\n return true\r\n },\r\n resolveExp() {\r\n // 反解析 表达式\r\n if (this.expression) {\r\n const arr = this.expression.split(' ')\r\n if (arr.length >= 6) {\r\n // 6 位以上是合法表达式\r\n const obj = {\r\n second: arr[0],\r\n min: arr[1],\r\n hour: arr[2],\r\n day: arr[3],\r\n month: arr[4],\r\n week: arr[5],\r\n year: arr[6] ? arr[6] : ''\r\n }\r\n this.crontabValueObj = {\r\n ...obj\r\n }\r\n for (const i in obj) {\r\n if (obj[i]) this.changeRadio(i, obj[i])\r\n }\r\n }\r\n } else {\r\n // 没有传入的表达式 则还原\r\n this.clearCron()\r\n }\r\n },\r\n // tab切换值\r\n tabCheck(index) {\r\n this.tabActive = index\r\n },\r\n // 由子组件触发,更改表达式组成的字段值\r\n updateCrontabValue(name, value, from) {\r\n 'updateCrontabValue', name, value, from\r\n this.crontabValueObj[name] = value\r\n if (from && from !== name) {\r\n console.log(`来自组件 ${from} 改变了 ${name} ${value}`)\r\n this.changeRadio(name, value)\r\n }\r\n },\r\n // 赋值到组件\r\n changeRadio(name, value) {\r\n const arr = ['second', 'min', 'hour', 'month']\r\n const refName = 'cron' + name\r\n let insValue\r\n\r\n if (!this.$refs[refName]) return\r\n\r\n if (arr.includes(name)) {\r\n if (value === '*') {\r\n insValue = 1\r\n } else if (value.indexOf('-') > -1) {\r\n const indexArr = value.split('-')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].cycle01 = 0)\r\n : (this.$refs[refName].cycle01 = indexArr[0])\r\n this.$refs[refName].cycle02 = indexArr[1]\r\n insValue = 2\r\n } else if (value.indexOf('/') > -1) {\r\n const indexArr = value.split('/')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].average01 = 0)\r\n : (this.$refs[refName].average01 = indexArr[0])\r\n this.$refs[refName].average02 = indexArr[1]\r\n insValue = 3\r\n } else {\r\n insValue = 4\r\n this.$refs[refName].checkboxList = value.split(',')\r\n }\r\n } else if (name == 'day') {\r\n if (value === '*') {\r\n insValue = 1\r\n } else if (value == '?') {\r\n insValue = 2\r\n } else if (value.indexOf('-') > -1) {\r\n const indexArr = value.split('-')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].cycle01 = 0)\r\n : (this.$refs[refName].cycle01 = indexArr[0])\r\n this.$refs[refName].cycle02 = indexArr[1]\r\n insValue = 3\r\n } else if (value.indexOf('/') > -1) {\r\n const indexArr = value.split('/')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].average01 = 0)\r\n : (this.$refs[refName].average01 = indexArr[0])\r\n this.$refs[refName].average02 = indexArr[1]\r\n insValue = 4\r\n } else if (value.indexOf('W') > -1) {\r\n const indexArr = value.split('W')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].workday = 0)\r\n : (this.$refs[refName].workday = indexArr[0])\r\n insValue = 5\r\n } else if (value === 'L') {\r\n insValue = 6\r\n } else {\r\n this.$refs[refName].checkboxList = value.split(',')\r\n insValue = 7\r\n }\r\n } else if (name == 'week') {\r\n if (value === '*') {\r\n insValue = 1\r\n } else if (value == '?') {\r\n insValue = 2\r\n } else if (value.indexOf('-') > -1) {\r\n const indexArr = value.split('-')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].cycle01 = 0)\r\n : (this.$refs[refName].cycle01 = indexArr[0])\r\n this.$refs[refName].cycle02 = indexArr[1]\r\n insValue = 3\r\n } else if (value.indexOf('#') > -1) {\r\n const indexArr = value.split('#')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].average01 = 1)\r\n : (this.$refs[refName].average01 = indexArr[0])\r\n this.$refs[refName].average02 = indexArr[1]\r\n insValue = 4\r\n } else if (value.indexOf('L') > -1) {\r\n const indexArr = value.split('L')\r\n isNaN(indexArr[0])\r\n ? (this.$refs[refName].weekday = 1)\r\n : (this.$refs[refName].weekday = indexArr[0])\r\n insValue = 5\r\n } else {\r\n this.$refs[refName].checkboxList = value.split(',')\r\n insValue = 6\r\n }\r\n } else if (name == 'year') {\r\n if (value == '') {\r\n insValue = 1\r\n } else if (value == '*') {\r\n insValue = 2\r\n } else if (value.indexOf('-') > -1) {\r\n insValue = 3\r\n } else if (value.indexOf('/') > -1) {\r\n insValue = 4\r\n } else {\r\n this.$refs[refName].checkboxList = value.split(',')\r\n insValue = 5\r\n }\r\n }\r\n this.$refs[refName].radioValue = insValue\r\n },\r\n // 表单选项的子组件校验数字格式(通过-props传递)\r\n checkNumber(value, minLimit, maxLimit) {\r\n // 检查必须为整数\r\n value = Math.floor(value)\r\n if (value < minLimit) {\r\n value = minLimit\r\n } else if (value > maxLimit) {\r\n value = maxLimit\r\n }\r\n return value\r\n },\r\n // 隐藏弹窗\r\n hidePopup() {\r\n this.$emit('hide')\r\n },\r\n // 填充表达式\r\n submitFill() {\r\n this.$emit('fill', this.crontabValueString)\r\n this.hidePopup()\r\n },\r\n clearCron() {\r\n // 还原选择项\r\n ('准备还原')\r\n this.crontabValueObj = {\r\n second: '*',\r\n min: '*',\r\n hour: '*',\r\n day: '*',\r\n month: '*',\r\n week: '?',\r\n year: ''\r\n }\r\n for (const j in this.crontabValueObj) {\r\n this.changeRadio(j, this.crontabValueObj[j])\r\n }\r\n }\r\n }\r\n}\r\n",null]} |