Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
Conflicts:
README.md
pom.xml
ruoyi-admin/pom.xml
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
ruoyi-admin/src/main/resources/application.yml
ruoyi-common/pom.xml
ruoyi-framework/pom.xml
ruoyi-generator/pom.xml
ruoyi-job/pom.xml
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
ruoyi-system/pom.xml
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml
ruoyi-ui/package.json
ruoyi-ui/src/directive/index.js
ruoyi-ui/src/plugins/download.js
ruoyi-ui/src/views/index.vue
ruoyi-ui/src/views/monitor/online/index.vue
ruoyi-ui/src/views/system/user/authRole.vue
ruoyi-ui/src/views/system/user/index.vue
ruoyi-ui/src/views/tool/gen/basicInfoForm.vue
ruoyi-ui/src/views/tool/gen/genInfoForm.vue
| | |
| | | router.setPath("/inner"); |
| | | List<RouterVo> childrenList = new ArrayList<RouterVo>(); |
| | | RouterVo children = new RouterVo(); |
| | | String routerPath = StringUtils.replaceEach(menu.getPath(), new String[]{Constants.HTTP, Constants.HTTPS}, new String[]{"", ""}); |
| | | String routerPath = innerLinkReplaceEach(menu.getPath()); |
| | | children.setPath(routerPath); |
| | | children.setComponent(UserConstants.INNER_LINK); |
| | | children.setName(StringUtils.capitalize(routerPath)); |
| | |
| | | String routerPath = menu.getPath(); |
| | | // å
龿å¼å¤ç½æ¹å¼ |
| | | if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) { |
| | | routerPath = StringUtils.replaceEach(routerPath, new String[]{Constants.HTTP, Constants.HTTPS}, new String[]{"", ""}); |
| | | routerPath = innerLinkReplaceEach(routerPath); |
| | | } |
| | | // éå¤é¾å¹¶ä¸æ¯ä¸çº§ç®å½ï¼ç±»å为ç®å½ï¼ |
| | | if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) |
| | |
| | | private boolean hasChild(List<SysMenu> list, SysMenu t) { |
| | | return getChildList(list, t).size() > 0; |
| | | } |
| | | |
| | | /** |
| | | * å
é¾ååç¹æ®åç¬¦æ¿æ¢ |
| | | * |
| | | * @return |
| | | */ |
| | | public String innerLinkReplaceEach(String path) |
| | | { |
| | | return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS }, |
| | | new String[] { "", "" }); |
| | | } |
| | | } |
| | |
| | | <select id="selectDeptListByRoleId" resultType="Long"> |
| | | select d.dept_id |
| | | from sys_dept d |
| | | left join sys_role_dept rd on d.dept_id = rd.dept_id |
| | | left join sys_role_dept rd on d.dept_id = rd.dept_id |
| | | where rd.role_id = #{roleId} |
| | | <if test="deptCheckStrictly"> |
| | | and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) |
| | |
| | | "dependencies": { |
| | | "@riophae/vue-treeselect": "0.4.0", |
| | | "axios": "0.24.0", |
| | | "clipboard": "2.0.6", |
| | | "clipboard": "2.0.8", |
| | | "core-js": "3.19.1", |
| | | "echarts": "4.9.0", |
| | | "element-ui": "2.15.6", |
| | |
| | | <el-form size="small"> |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="1"> |
| | | æ¥ï¼å
许çéé
符[, - * / L M] |
| | | æ¥ï¼å
许çéé
符[, - * ? / L W] |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="3"> |
| | | å¨æä» |
| | | <el-input-number v-model='cycle01' :min="0" :max="31" /> - |
| | | <el-input-number v-model='cycle02' :min="0" :max="31" /> æ¥ |
| | | <el-input-number v-model='cycle01' :min="1" :max="30" /> - |
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="31" /> æ¥ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="4"> |
| | | ä» |
| | | <el-input-number v-model='average01' :min="0" :max="31" /> å·å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="0" :max="31" /> æ¥æ§è¡ä¸æ¬¡ |
| | | <el-input-number v-model='average01' :min="1" :max="30" /> å·å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="1" :max="31 - average01 || 1" /> æ¥æ§è¡ä¸æ¬¡ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="5"> |
| | | æ¯æ |
| | | <el-input-number v-model='workday' :min="0" :max="31" /> å·æè¿çé£ä¸ªå·¥ä½æ¥ |
| | | <el-input-number v-model='workday' :min="1" :max="31" /> å·æè¿çé£ä¸ªå·¥ä½æ¥ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | // åéæé®å¼ååæ¶ |
| | | radioChange() { |
| | | ('day rachange'); |
| | | if (this.radioValue === 1) { |
| | | this.$emit('update', 'day', '*', 'day'); |
| | | this.$emit('update', 'week', '?', 'day'); |
| | | this.$emit('update', 'month', '*', 'day'); |
| | | } else { |
| | | if (this.cron.hour === '*') { |
| | | this.$emit('update', 'hour', '0', 'day'); |
| | | } |
| | | if (this.cron.min === '*') { |
| | | this.$emit('update', 'min', '0', 'day'); |
| | | } |
| | | if (this.cron.second === '*') { |
| | | this.$emit('update', 'second', '0', 'day'); |
| | | } |
| | | if (this.radioValue !== 2 && this.cron.week !== '?') { |
| | | this.$emit('update', 'week', '?', 'day') |
| | | } |
| | | |
| | | switch (this.radioValue) { |
| | | case 1: |
| | | this.$emit('update', 'day', '*'); |
| | | break; |
| | | case 2: |
| | | this.$emit('update', 'day', '?'); |
| | | break; |
| | | case 3: |
| | | this.$emit('update', 'day', this.cycle01 + '-' + this.cycle02); |
| | | this.$emit('update', 'day', this.cycleTotal); |
| | | break; |
| | | case 4: |
| | | this.$emit('update', 'day', this.average01 + '/' + this.average02); |
| | | this.$emit('update', 'day', this.averageTotal); |
| | | break; |
| | | case 5: |
| | | this.$emit('update', 'day', this.workday + 'W'); |
| | |
| | | // æè¿å·¥ä½æ¥å¼ååæ¶ |
| | | workdayChange() { |
| | | if (this.radioValue == '5') { |
| | | this.$emit('update', 'day', this.workday + 'W'); |
| | | this.$emit('update', 'day', this.workdayCheck + 'W'); |
| | | } |
| | | }, |
| | | // checkboxå¼ååæ¶ |
| | |
| | | if (this.radioValue == '7') { |
| | | this.$emit('update', 'day', this.checkboxString); |
| | | } |
| | | }, |
| | | // ç¶ç»ä»¶ä¼ éçweekåçåå触å |
| | | weekChange() { |
| | | //夿weekå¼ä¸dayä¸è½åæ¶ä¸ºâ?â |
| | | if (this.cron.week == '?' && this.radioValue == '2') { |
| | | this.radioValue = '1'; |
| | | } else if (this.cron.week !== '?' && this.radioValue != '2') { |
| | | this.radioValue = '2'; |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | watch: { |
| | | "radioValue": "radioChange", |
| | | 'radioValue': 'radioChange', |
| | | 'cycleTotal': 'cycleChange', |
| | | 'averageTotal': 'averageChange', |
| | | 'workdayCheck': 'workdayChange', |
| | |
| | | computed: { |
| | | // 计ç®ä¸¤ä¸ªå¨æå¼ |
| | | cycleTotal: function () { |
| | | this.cycle01 = this.checkNum(this.cycle01, 1, 31) |
| | | this.cycle02 = this.checkNum(this.cycle02, 1, 31) |
| | | return this.cycle01 + '-' + this.cycle02; |
| | | const cycle01 = this.checkNum(this.cycle01, 1, 30) |
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 31, 31) |
| | | return cycle01 + '-' + cycle02; |
| | | }, |
| | | // 计ç®å¹³åç¨å°çå¼ |
| | | averageTotal: function () { |
| | | this.average01 = this.checkNum(this.average01, 1, 31) |
| | | this.average02 = this.checkNum(this.average02, 1, 31) |
| | | return this.average01 + '/' + this.average02; |
| | | const average01 = this.checkNum(this.average01, 1, 30) |
| | | const average02 = this.checkNum(this.average02, 1, 31 - average01 || 0) |
| | | return average01 + '/' + average02; |
| | | }, |
| | | // 计ç®å·¥ä½æ¥æ ¼å¼ |
| | | workdayCheck: function () { |
| | | this.workday = this.checkNum(this.workday, 1, 31) |
| | | return this.workday; |
| | | const workday = this.checkNum(this.workday, 1, 31) |
| | | return workday; |
| | | }, |
| | | // 计ç®å¾éçcheckboxå¼åé |
| | | checkboxString: function () { |
| | |
| | | <el-form-item>
|
| | | <el-radio v-model='radioValue' :label="2">
|
| | | 卿ä»
|
| | | <el-input-number v-model='cycle01' :min="0" :max="60" /> -
|
| | | <el-input-number v-model='cycle02' :min="0" :max="60" /> å°æ¶
|
| | | <el-input-number v-model='cycle01' :min="0" :max="22" /> -
|
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="23" /> å°æ¶
|
| | | </el-radio>
|
| | | </el-form-item>
|
| | |
|
| | | <el-form-item>
|
| | | <el-radio v-model='radioValue' :label="3">
|
| | | ä»
|
| | | <el-input-number v-model='average01' :min="0" :max="60" /> å°æ¶å¼å§ï¼æ¯
|
| | | <el-input-number v-model='average02' :min="0" :max="60" /> å°æ¶æ§è¡ä¸æ¬¡
|
| | | <el-input-number v-model='average01' :min="0" :max="22" /> å°æ¶å¼å§ï¼æ¯
|
| | | <el-input-number v-model='average02' :min="1" :max="23 - average01 || 0" /> å°æ¶æ§è¡ä¸æ¬¡
|
| | | </el-radio>
|
| | | </el-form-item>
|
| | |
|
| | |
| | | methods: {
|
| | | // åéæé®å¼ååæ¶
|
| | | radioChange() {
|
| | | if (this.radioValue === 1) {
|
| | | this.$emit('update', 'hour', '*', 'hour');
|
| | | this.$emit('update', 'day', '*', 'hour');
|
| | | } else {
|
| | | if (this.cron.min === '*') {
|
| | | this.$emit('update', 'min', '0', 'hour');
|
| | | }
|
| | | if (this.cron.second === '*') {
|
| | | this.$emit('update', 'second', '0', 'hour');
|
| | | }
|
| | | }
|
| | | switch (this.radioValue) {
|
| | | case 1:
|
| | | this.$emit('update', 'hour', '*')
|
| | | break;
|
| | | case 2:
|
| | | this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02);
|
| | | this.$emit('update', 'hour', this.cycleTotal);
|
| | | break;
|
| | | case 3:
|
| | | this.$emit('update', 'hour', this.average01 + '/' + this.average02);
|
| | | this.$emit('update', 'hour', this.averageTotal);
|
| | | break;
|
| | | case 4:
|
| | | this.$emit('update', 'hour', this.checkboxString);
|
| | |
| | | }
|
| | | },
|
| | | watch: {
|
| | | "radioValue": "radioChange",
|
| | | 'radioValue': 'radioChange',
|
| | | 'cycleTotal': 'cycleChange',
|
| | | 'averageTotal': 'averageChange',
|
| | | 'checkboxString': 'checkboxChange'
|
| | |
| | | computed: {
|
| | | // 计ç®ä¸¤ä¸ªå¨æå¼
|
| | | cycleTotal: function () {
|
| | | this.cycle01 = this.checkNum(this.cycle01, 0, 23)
|
| | | this.cycle02 = this.checkNum(this.cycle02, 0, 23)
|
| | | return this.cycle01 + '-' + this.cycle02;
|
| | | const cycle01 = this.checkNum(this.cycle01, 0, 22)
|
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 23)
|
| | | return cycle01 + '-' + cycle02;
|
| | | },
|
| | | // 计ç®å¹³åç¨å°çå¼
|
| | | averageTotal: function () {
|
| | | this.average01 = this.checkNum(this.average01, 0, 23)
|
| | | this.average02 = this.checkNum(this.average02, 1, 23)
|
| | | return this.average01 + '/' + this.average02;
|
| | | const average01 = this.checkNum(this.average01, 0, 22)
|
| | | const average02 = this.checkNum(this.average02, 1, 23 - average01 || 0)
|
| | | return average01 + '/' + average02;
|
| | | },
|
| | | // 计ç®å¾éçcheckboxå¼åé
|
| | | checkboxString: function () {
|
| | |
| | | <div> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane label="ç§" v-if="shouldHide('second')"> |
| | | <CrontabSecond @update="updateCrontabValue" :check="checkNumber" ref="cronsecond" /> |
| | | <CrontabSecond |
| | | @update="updateCrontabValue" |
| | | :check="checkNumber" |
| | | :cron="crontabValueObj" |
| | | ref="cronsecond" |
| | | /> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="åé" v-if="shouldHide('min')"> |
| | |
| | | <el-form-item>
|
| | | <el-radio v-model='radioValue' :label="2">
|
| | | 卿ä»
|
| | | <el-input-number v-model='cycle01' :min="0" :max="60" /> -
|
| | | <el-input-number v-model='cycle02' :min="0" :max="60" /> åé
|
| | | <el-input-number v-model='cycle01' :min="0" :max="58" /> -
|
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> åé
|
| | | </el-radio>
|
| | | </el-form-item>
|
| | |
|
| | | <el-form-item>
|
| | | <el-radio v-model='radioValue' :label="3">
|
| | | ä»
|
| | | <el-input-number v-model='average01' :min="0" :max="60" /> åéå¼å§ï¼æ¯
|
| | | <el-input-number v-model='average02' :min="0" :max="60" /> åéæ§è¡ä¸æ¬¡
|
| | | <el-input-number v-model='average01' :min="0" :max="58" /> åéå¼å§ï¼æ¯
|
| | | <el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> åéæ§è¡ä¸æ¬¡
|
| | | </el-radio>
|
| | | </el-form-item>
|
| | |
|
| | |
| | | methods: {
|
| | | // åéæé®å¼ååæ¶
|
| | | radioChange() {
|
| | | if (this.radioValue !== 1 && this.cron.second === '*') {
|
| | | this.$emit('update', 'second', '0', 'min');
|
| | | }
|
| | | switch (this.radioValue) {
|
| | | case 1:
|
| | | this.$emit('update', 'min', '*', 'min');
|
| | | this.$emit('update', 'hour', '*', 'min');
|
| | | break;
|
| | | case 2:
|
| | | this.$emit('update', 'min', this.cycle01 + '-' + this.cycle02, 'min');
|
| | | this.$emit('update', 'min', this.cycleTotal, 'min');
|
| | | break;
|
| | | case 3:
|
| | | this.$emit('update', 'min', this.average01 + '/' + this.average02, 'min');
|
| | | this.$emit('update', 'min', this.averageTotal, 'min');
|
| | | break;
|
| | | case 4:
|
| | | this.$emit('update', 'min', this.checkboxString, 'min');
|
| | |
| | |
|
| | | },
|
| | | watch: {
|
| | | "radioValue": "radioChange",
|
| | | 'radioValue': 'radioChange',
|
| | | 'cycleTotal': 'cycleChange',
|
| | | 'averageTotal': 'averageChange',
|
| | | 'checkboxString': 'checkboxChange',
|
| | |
| | | computed: {
|
| | | // 计ç®ä¸¤ä¸ªå¨æå¼
|
| | | cycleTotal: function () {
|
| | | this.cycle01 = this.checkNum(this.cycle01, 0, 59)
|
| | | this.cycle02 = this.checkNum(this.cycle02, 0, 59)
|
| | | return this.cycle01 + '-' + this.cycle02;
|
| | | const cycle01 = this.checkNum(this.cycle01, 0, 58)
|
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59)
|
| | | return cycle01 + '-' + cycle02;
|
| | | },
|
| | | // 计ç®å¹³åç¨å°çå¼
|
| | | averageTotal: function () {
|
| | | this.average01 = this.checkNum(this.average01, 0, 59)
|
| | | this.average02 = this.checkNum(this.average02, 1, 59)
|
| | | return this.average01 + '/' + this.average02;
|
| | | const average01 = this.checkNum(this.average01, 0, 58)
|
| | | const average02 = this.checkNum(this.average02, 1, 59 - average01 || 0)
|
| | | return average01 + '/' + average02;
|
| | | },
|
| | | // 计ç®å¾éçcheckboxå¼åé
|
| | | checkboxString: function () {
|
| | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="2"> |
| | | å¨æä» |
| | | <el-input-number v-model='cycle01' :min="1" :max="12" /> - |
| | | <el-input-number v-model='cycle02' :min="1" :max="12" /> æ |
| | | <el-input-number v-model='cycle01' :min="1" :max="11" /> - |
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="12" /> æ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="3"> |
| | | ä» |
| | | <el-input-number v-model='average01' :min="1" :max="12" /> æå¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="1" :max="12" /> æææ§è¡ä¸æ¬¡ |
| | | <el-input-number v-model='average01' :min="1" :max="11" /> æå¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="1" :max="12 - average01 || 0" /> æææ§è¡ä¸æ¬¡ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | methods: { |
| | | // åéæé®å¼ååæ¶ |
| | | radioChange() { |
| | | if (this.radioValue === 1) { |
| | | this.$emit('update', 'month', '*'); |
| | | this.$emit('update', 'year', '*'); |
| | | } else { |
| | | if (this.cron.day === '*') { |
| | | this.$emit('update', 'day', '0', 'month'); |
| | | } |
| | | if (this.cron.hour === '*') { |
| | | this.$emit('update', 'hour', '0', 'month'); |
| | | } |
| | | if (this.cron.min === '*') { |
| | | this.$emit('update', 'min', '0', 'month'); |
| | | } |
| | | if (this.cron.second === '*') { |
| | | this.$emit('update', 'second', '0', 'month'); |
| | | } |
| | | } |
| | | switch (this.radioValue) { |
| | | case 1: |
| | | this.$emit('update', 'month', '*'); |
| | | break; |
| | | case 2: |
| | | this.$emit('update', 'month', this.cycle01 + '-' + this.cycle02); |
| | | this.$emit('update', 'month', this.cycleTotal); |
| | | break; |
| | | case 3: |
| | | this.$emit('update', 'month', this.average01 + '/' + this.average02); |
| | | this.$emit('update', 'month', this.averageTotal); |
| | | break; |
| | | case 4: |
| | | this.$emit('update', 'month', this.checkboxString); |
| | |
| | | } |
| | | }, |
| | | watch: { |
| | | "radioValue": "radioChange", |
| | | 'radioValue': 'radioChange', |
| | | 'cycleTotal': 'cycleChange', |
| | | 'averageTotal': 'averageChange', |
| | | 'checkboxString': 'checkboxChange' |
| | |
| | | computed: { |
| | | // 计ç®ä¸¤ä¸ªå¨æå¼ |
| | | cycleTotal: function () { |
| | | this.cycle01 = this.checkNum(this.cycle01, 1, 12) |
| | | this.cycle02 = this.checkNum(this.cycle02, 1, 12) |
| | | return this.cycle01 + '-' + this.cycle02; |
| | | const cycle01 = this.checkNum(this.cycle01, 1, 11) |
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 12) |
| | | return cycle01 + '-' + cycle02; |
| | | }, |
| | | // 计ç®å¹³åç¨å°çå¼ |
| | | averageTotal: function () { |
| | | this.average01 = this.checkNum(this.average01, 1, 12) |
| | | this.average02 = this.checkNum(this.average02, 1, 12) |
| | | return this.average01 + '/' + this.average02; |
| | | const average01 = this.checkNum(this.average01, 1, 11) |
| | | const average02 = this.checkNum(this.average02, 1, 12 - average01 || 0) |
| | | return average01 + '/' + average02; |
| | | }, |
| | | // 计ç®å¾éçcheckboxå¼åé |
| | | checkboxString: function () { |
| | |
| | | // è·åè¾¾å°æ¡ä»¶çæ¥ææ¯ææX |
| | | let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week'); |
| | | // å½æææ¥æ¶ |
| | | if (thisWeek == 0) { |
| | | if (thisWeek == 1) { |
| | | // å
æ¾ä¸ä¸ä¸ªæ¥ï¼å¹¶å¤ææ¯å¦ä¸ºæåº |
| | | DD++; |
| | | thisDD = DD < 10 ? '0' + DD : DD; |
| | |
| | | if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) { |
| | | DD -= 3; |
| | | } |
| | | } else if (thisWeek == 6) { |
| | | } else if (thisWeek == 7) { |
| | | // 彿æ6æ¶åªé夿䏿¯1å·å°±å¯è¿è¡æä½ |
| | | if (this.dayRuleSup !== 1) { |
| | | DD--; |
| | |
| | | // è·åå½åæ¥ææ¯å±äºææå |
| | | let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week'); |
| | | // æ ¡éªå½åæææ¯å¦å¨æææ± ï¼dayRuleSupï¼ä¸ |
| | | if (Array.indexOf(this.dayRuleSup, thisWeek) < 0) { |
| | | if (this.dayRuleSup.indexOf(thisWeek) < 0) { |
| | | // 妿å°è¾¾æå¤§å¼æ¶ |
| | | if (Di == DDate.length - 1) { |
| | | resetDay(); |
| | |
| | | } else if (rule.indexOf('#') >= 0) { |
| | | this.dayRule = 'assWeek'; |
| | | let matchRule = rule.match(/[0-9]{1}/g); |
| | | this.dayRuleSup = [Number(matchRule[0]), Number(matchRule[1])]; |
| | | this.dayRuleSup = [Number(matchRule[1]), Number(matchRule[0])]; |
| | | this.dateArr[3] = [1]; |
| | | if (this.dayRuleSup[1] == 7) { |
| | | this.dayRuleSup[1] = 0; |
| | |
| | | } else if (rule !== '*' && rule !== '?') { |
| | | this.dayRule = 'weekDay'; |
| | | this.dayRuleSup = this.getAssignArr(rule) |
| | | } |
| | | // 妿weekDayæ¶å°7è°æ´ä¸º0ãweekå¼0峿¯æææ¥ã |
| | | if (this.dayRule == 'weekDay') { |
| | | for (let i = 0; i < this.dayRuleSup.length; i++) { |
| | | if (this.dayRuleSup[i] == 7) { |
| | | this.dayRuleSup[i] = 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | if (type == undefined) { |
| | | return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s); |
| | | } else if (type == 'week') { |
| | | return week; |
| | | // å¨quartzä¸ 1ä¸ºæææ¥ |
| | | return week + 1; |
| | | } |
| | | }, |
| | | // æ£æ¥æ¥ææ¯å¦åå¨ |
| | | checkDate(value) { |
| | | let time = new Date(value); |
| | | let format = this.formatDate(time) |
| | | return value == format ? true : false; |
| | | return value === format; |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="2"> |
| | | å¨æä» |
| | | <el-input-number v-model='cycle01' :min="0" :max="60" /> - |
| | | <el-input-number v-model='cycle02' :min="0" :max="60" /> ç§ |
| | | <el-input-number v-model='cycle01' :min="0" :max="58" /> - |
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> ç§ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="3"> |
| | | ä» |
| | | <el-input-number v-model='average01' :min="0" :max="60" /> ç§å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="0" :max="60" /> ç§æ§è¡ä¸æ¬¡ |
| | | <el-input-number v-model='average01' :min="0" :max="58" /> ç§å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> ç§æ§è¡ä¸æ¬¡ |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | switch (this.radioValue) { |
| | | case 1: |
| | | this.$emit('update', 'second', '*', 'second'); |
| | | this.$emit('update', 'min', '*', 'second'); |
| | | break; |
| | | case 2: |
| | | this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02); |
| | | this.$emit('update', 'second', this.cycleTotal); |
| | | break; |
| | | case 3: |
| | | this.$emit('update', 'second', this.average01 + '/' + this.average02); |
| | | this.$emit('update', 'second', this.averageTotal); |
| | | break; |
| | | case 4: |
| | | this.$emit('update', 'second', this.checkboxString); |
| | |
| | | if (this.radioValue == '4') { |
| | | this.$emit('update', 'second', this.checkboxString); |
| | | } |
| | | }, |
| | | othChange() { |
| | | // åè§£æ |
| | | let ins = this.cron.second |
| | | ('åè§£æ second', ins); |
| | | if (ins === '*') { |
| | | this.radioValue = 1; |
| | | } else if (ins.indexOf('-') > -1) { |
| | | this.radioValue = 2 |
| | | } else if (ins.indexOf('/') > -1) { |
| | | this.radioValue = 3 |
| | | } else { |
| | | this.radioValue = 4 |
| | | this.checkboxList = ins.split(',') |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | "radioValue": "radioChange", |
| | | 'radioValue': 'radioChange', |
| | | 'cycleTotal': 'cycleChange', |
| | | 'averageTotal': 'averageChange', |
| | | 'checkboxString': 'checkboxChange', |
| | |
| | | computed: { |
| | | // 计ç®ä¸¤ä¸ªå¨æå¼ |
| | | cycleTotal: function () { |
| | | this.cycle01 = this.checkNum(this.cycle01, 0, 59) |
| | | this.cycle02 = this.checkNum(this.cycle02, 0, 59) |
| | | return this.cycle01 + '-' + this.cycle02; |
| | | const cycle01 = this.checkNum(this.cycle01, 0, 58) |
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59) |
| | | return cycle01 + '-' + cycle02; |
| | | }, |
| | | // 计ç®å¹³åç¨å°çå¼ |
| | | averageTotal: function () { |
| | | this.average01 = this.checkNum(this.average01, 0, 59) |
| | | this.average02 = this.checkNum(this.average02, 1, 59) |
| | | return this.average01 + '/' + this.average02; |
| | | const average01 = this.checkNum(this.average01, 0, 58) |
| | | const average02 = this.checkNum(this.average02, 1, 59 - average01 || 0) |
| | | return average01 + '/' + average02; |
| | | }, |
| | | // 计ç®å¾éçcheckboxå¼åé |
| | | checkboxString: function () { |
| | |
| | | <el-form size='small'> |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="1"> |
| | | å¨ï¼å
许çéé
符[, - * / L #] |
| | | å¨ï¼å
许çéé
符[, - * ? / L #] |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="3"> |
| | | 卿仿æ |
| | | <el-input-number v-model='cycle01' :min="1" :max="7" /> - |
| | | <el-input-number v-model='cycle02' :min="1" :max="7" /> |
| | | <el-select clearable v-model="cycle01"> |
| | | <el-option |
| | | v-for="(item,index) of weekList" |
| | | :key="index" |
| | | :label="item.value" |
| | | :value="item.key" |
| | | :disabled="item.key === 1" |
| | | >{{item.value}}</el-option> |
| | | </el-select> |
| | | - |
| | | <el-select clearable v-model="cycle02"> |
| | | <el-option |
| | | v-for="(item,index) of weekList" |
| | | :key="index" |
| | | :label="item.value" |
| | | :value="item.key" |
| | | :disabled="item.key < cycle01 && item.key !== 1" |
| | | >{{item.value}}</el-option> |
| | | </el-select> |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | <el-radio v-model='radioValue' :label="4"> |
| | | 第 |
| | | <el-input-number v-model='average01' :min="1" :max="4" /> å¨çææ |
| | | <el-input-number v-model='average02' :min="1" :max="7" /> |
| | | <el-select clearable v-model="average02"> |
| | | <el-option v-for="(item,index) of weekList" :key="index" :label="item.value" :value="item.key">{{item.value}}</el-option> |
| | | </el-select> |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio v-model='radioValue' :label="5"> |
| | | æ¬ææåä¸ä¸ªææ |
| | | <el-input-number v-model='weekday' :min="1" :max="7" /> |
| | | <el-select clearable v-model="weekday"> |
| | | <el-option v-for="(item,index) of weekList" :key="index" :label="item.value" :value="item.key">{{item.value}}</el-option> |
| | | </el-select> |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | |
| | | <el-radio v-model='radioValue' :label="6"> |
| | | æå® |
| | | <el-select clearable v-model="checkboxList" placeholder="å¯å¤é" multiple style="width:100%"> |
| | | <el-option v-for="(item,index) of weekList" :key="index" :value="index+1">{{item}}</el-option> |
| | | <el-option v-for="(item,index) of weekList" :key="index" :label="item.value" :value="item.key">{{item.value}}</el-option> |
| | | </el-select> |
| | | </el-radio> |
| | | </el-form-item> |
| | |
| | | data() { |
| | | return { |
| | | radioValue: 2, |
| | | weekday: 1, |
| | | cycle01: 1, |
| | | cycle02: 2, |
| | | weekday: 2, |
| | | cycle01: 2, |
| | | cycle02: 3, |
| | | average01: 1, |
| | | average02: 1, |
| | | average02: 2, |
| | | checkboxList: [], |
| | | weekList: ['å¨ä¸', 'å¨äº', 'å¨ä¸', 'å¨å', 'å¨äº', 'å¨å
', '卿¥'], |
| | | weekList: [ |
| | | { |
| | | key: 2, |
| | | value: 'ææä¸' |
| | | }, |
| | | { |
| | | key: 3, |
| | | value: 'ææäº' |
| | | }, |
| | | { |
| | | key: 4, |
| | | value: 'ææä¸' |
| | | }, |
| | | { |
| | | key: 5, |
| | | value: 'ææå' |
| | | }, |
| | | { |
| | | key: 6, |
| | | value: 'ææäº' |
| | | }, |
| | | { |
| | | key: 7, |
| | | value: 'ææå
' |
| | | }, |
| | | { |
| | | key: 1, |
| | | value: 'æææ¥' |
| | | } |
| | | ], |
| | | checkNum: this.$options.propsData.check |
| | | } |
| | | }, |
| | |
| | | methods: { |
| | | // åéæé®å¼ååæ¶ |
| | | radioChange() { |
| | | if (this.radioValue === 1) { |
| | | this.$emit('update', 'week', '*'); |
| | | this.$emit('update', 'year', '*'); |
| | | } else { |
| | | if (this.cron.month === '*') { |
| | | this.$emit('update', 'month', '0', 'week'); |
| | | } |
| | | if (this.cron.day === '*') { |
| | | this.$emit('update', 'day', '0', 'week'); |
| | | } |
| | | if (this.cron.hour === '*') { |
| | | this.$emit('update', 'hour', '0', 'week'); |
| | | } |
| | | if (this.cron.min === '*') { |
| | | this.$emit('update', 'min', '0', 'week'); |
| | | } |
| | | if (this.cron.second === '*') { |
| | | this.$emit('update', 'second', '0', 'week'); |
| | | } |
| | | if (this.radioValue !== 2 && this.cron.day !== '?') { |
| | | this.$emit('update', 'day', '?', 'week'); |
| | | } |
| | | switch (this.radioValue) { |
| | | case 1: |
| | | this.$emit('update', 'week', '*'); |
| | | break; |
| | | case 2: |
| | | this.$emit('update', 'week', '?'); |
| | | break; |
| | | case 3: |
| | | this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02); |
| | | this.$emit('update', 'week', this.cycleTotal); |
| | | break; |
| | | case 4: |
| | | this.$emit('update', 'week', this.average01 + '#' + this.average02); |
| | | this.$emit('update', 'week', this.averageTotal); |
| | | break; |
| | | case 5: |
| | | this.$emit('update', 'week', this.weekday + 'L'); |
| | | this.$emit('update', 'week', this.weekdayCheck + 'L'); |
| | | break; |
| | | case 6: |
| | | this.$emit('update', 'week', this.checkboxString); |
| | | break; |
| | | } |
| | | }, |
| | | // æ ¹æ®äºæ¥äºä»¶ï¼æ´æ¹radioçå¼ |
| | | |
| | | // å¨æä¸¤ä¸ªå¼ååæ¶ |
| | | cycleChange() { |
| | |
| | | }, |
| | | }, |
| | | watch: { |
| | | "radioValue": "radioChange", |
| | | 'radioValue': 'radioChange', |
| | | 'cycleTotal': 'cycleChange', |
| | | 'averageTotal': 'averageChange', |
| | | 'weekdayCheck': 'weekdayChange', |
| | |
| | | averageTotal: function () { |
| | | this.average01 = this.checkNum(this.average01, 1, 4) |
| | | this.average02 = this.checkNum(this.average02, 1, 7) |
| | | return this.average01 + '#' + this.average02; |
| | | return this.average02 + '#' + this.average01; |
| | | }, |
| | | // æè¿ç工使¥ï¼æ ¼å¼ï¼ |
| | | weekdayCheck: function () { |
| | |
| | | <el-form-item> |
| | | <el-radio :label="3" v-model='radioValue'> |
| | | å¨æä» |
| | | <el-input-number v-model='cycle01' :min='fullYear' /> - |
| | | <el-input-number v-model='cycle02' :min='fullYear' /> |
| | | <el-input-number v-model='cycle01' :min='fullYear' :max="2098" /> - |
| | | <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : fullYear + 1" :max="2099" /> |
| | | </el-radio> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-radio :label="4" v-model='radioValue'> |
| | | ä» |
| | | <el-input-number v-model='average01' :min='fullYear' /> å¹´å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min='fullYear' /> å¹´æ§è¡ä¸æ¬¡ |
| | | <el-input-number v-model='average01' :min='fullYear' :max="2098"/> å¹´å¼å§ï¼æ¯ |
| | | <el-input-number v-model='average02' :min="1" :max="2099 - average01 || fullYear" /> å¹´æ§è¡ä¸æ¬¡ |
| | | </el-radio> |
| | | |
| | | </el-form-item> |
| | |
| | | methods: { |
| | | // åéæé®å¼ååæ¶ |
| | | radioChange() { |
| | | if (this.cron.month === '*') { |
| | | this.$emit('update', 'month', '0', 'year'); |
| | | } |
| | | if (this.cron.day === '*') { |
| | | this.$emit('update', 'day', '0', 'year'); |
| | | } |
| | | if (this.cron.hour === '*') { |
| | | this.$emit('update', 'hour', '0', 'year'); |
| | | } |
| | | if (this.cron.min === '*') { |
| | | this.$emit('update', 'min', '0', 'year'); |
| | | } |
| | | if (this.cron.second === '*') { |
| | | this.$emit('update', 'second', '0', 'year'); |
| | | } |
| | | switch (this.radioValue) { |
| | | case 1: |
| | | this.$emit('update', 'year', ''); |
| | |
| | | this.$emit('update', 'year', '*'); |
| | | break; |
| | | case 3: |
| | | this.$emit('update', 'year', this.cycle01 + '-' + this.cycle02); |
| | | this.$emit('update', 'year', this.cycleTotal); |
| | | break; |
| | | case 4: |
| | | this.$emit('update', 'year', this.average01 + '/' + this.average02); |
| | | this.$emit('update', 'year', this.averageTotal); |
| | | break; |
| | | case 5: |
| | | this.$emit('update', 'year', this.checkboxString); |
| | |
| | | } |
| | | }, |
| | | watch: { |
| | | "radioValue": "radioChange", |
| | | 'radioValue': 'radioChange', |
| | | 'cycleTotal': 'cycleChange', |
| | | 'averageTotal': 'averageChange', |
| | | 'checkboxString': 'checkboxChange' |
| | |
| | | computed: { |
| | | // 计ç®ä¸¤ä¸ªå¨æå¼ |
| | | cycleTotal: function () { |
| | | this.cycle01 = this.checkNum(this.cycle01, this.fullYear, this.fullYear + 100) |
| | | this.cycle02 = this.checkNum(this.cycle02, this.fullYear + 1, this.fullYear + 101) |
| | | return this.cycle01 + '-' + this.cycle02; |
| | | const cycle01 = this.checkNum(this.cycle01, this.fullYear, 2098) |
| | | const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : this.fullYear + 1, 2099) |
| | | return cycle01 + '-' + cycle02; |
| | | }, |
| | | // 计ç®å¹³åç¨å°çå¼ |
| | | averageTotal: function () { |
| | | this.average01 = this.checkNum(this.average01, this.fullYear, this.fullYear + 100) |
| | | this.average02 = this.checkNum(this.average02, 1, 10) |
| | | return this.average01 + '/' + this.average02; |
| | | const average01 = this.checkNum(this.average01, this.fullYear, 2098) |
| | | const average02 = this.checkNum(this.average02, 1, 2099 - average01 || this.fullYear) |
| | | return average01 + '/' + average02; |
| | | }, |
| | | // 计ç®å¾éçcheckboxå¼åé |
| | | checkboxString: function () { |
| | |
| | | mounted: function () { |
| | | // ä»
è·åå½å年份 |
| | | this.fullYear = Number(new Date().getFullYear()); |
| | | this.cycle01 = this.fullYear |
| | | this.average01 = this.fullYear |
| | | } |
| | | } |
| | | </script> |
| | |
| | | import dialogDrag from './dialog/drag' |
| | | import dialogDragWidth from './dialog/dragWidth' |
| | | import dialogDragHeight from './dialog/dragHeight' |
| | | import clipboard from './module/clipboard' |
| | | |
| | | const install = function(Vue) { |
| | | Vue.directive('hasRole', hasRole) |
| | | Vue.directive('hasPermi', hasPermi) |
| | | Vue.directive('clipboard', clipboard) |
| | | Vue.directive('dialogDrag', dialogDrag) |
| | | Vue.directive('dialogDragWidth', dialogDragWidth) |
| | | Vue.directive('dialogDragHeight', dialogDragHeight) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * v-clipboard æåå¤å¶åªè´´ |
| | | * Copyright (c) 2021 ruoyi |
| | | */ |
| | | |
| | | import Clipboard from 'clipboard' |
| | | export default { |
| | | bind(el, binding, vnode) { |
| | | switch (binding.arg) { |
| | | case 'success': |
| | | el._vClipBoard_success = binding.value; |
| | | break; |
| | | case 'error': |
| | | el._vClipBoard_error = binding.value; |
| | | break; |
| | | default: { |
| | | const clipboard = new Clipboard(el, { |
| | | text: () => binding.value, |
| | | action: () => binding.arg === 'cut' ? 'cut' : 'copy' |
| | | }); |
| | | clipboard.on('success', e => { |
| | | const callback = el._vClipBoard_success; |
| | | callback && callback(e); |
| | | }); |
| | | clipboard.on('error', e => { |
| | | const callback = el._vClipBoard_error; |
| | | callback && callback(e); |
| | | }); |
| | | el._vClipBoard = clipboard; |
| | | } |
| | | } |
| | | }, |
| | | update(el, binding) { |
| | | if (binding.arg === 'success') { |
| | | el._vClipBoard_success = binding.value; |
| | | } else if (binding.arg === 'error') { |
| | | el._vClipBoard_error = binding.value; |
| | | } else { |
| | | el._vClipBoard.text = function () { return binding.value; }; |
| | | el._vClipBoard.action = () => binding.arg === 'cut' ? 'cut' : 'copy'; |
| | | } |
| | | }, |
| | | unbind(el, binding) { |
| | | if (!el._vClipboard) return |
| | | if (binding.arg === 'success') { |
| | | delete el._vClipBoard_success; |
| | | } else if (binding.arg === 'error') { |
| | | delete el._vClipBoard_error; |
| | | } else { |
| | | el._vClipBoard.destroy(); |
| | | delete el._vClipBoard; |
| | | } |
| | | } |
| | | } |
| | |
| | | import { Message } from 'element-ui' |
| | | import { saveAs } from 'file-saver' |
| | | import { getToken } from '@/utils/auth' |
| | | import errorCode from '@/utils/errorCode' |
| | | import { blobValidate } from "@/utils/ruoyi"; |
| | | |
| | | const baseURL = process.env.VUE_APP_BASE_API |
| | |
| | | const blob = new Blob([res.data], { type: 'application/octet-stream' }) |
| | | this.saveAs(blob, decodeURI(res.headers['download-filename'])) |
| | | } else { |
| | | Message.error('æ æçä¼è¯ï¼æè
ä¼è¯å·²è¿æï¼è¯·éæ°ç»å½ã'); |
| | | this.printErrMsg(res.data); |
| | | } |
| | | }) |
| | | }, |
| | |
| | | const blob = new Blob([res.data], { type: 'application/zip' }) |
| | | this.saveAs(blob, name) |
| | | } else { |
| | | Message.error('æ æçä¼è¯ï¼æè
ä¼è¯å·²è¿æï¼è¯·éæ°ç»å½ã'); |
| | | this.printErrMsg(res.data); |
| | | } |
| | | }) |
| | | }, |
| | | saveAs(text, name, opts) { |
| | | saveAs(text, name, opts); |
| | | }, |
| | | async printErrMsg(data) { |
| | | const resText = await data.text(); |
| | | const rspObj = JSON.parse(resText); |
| | | const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] |
| | | Message.error(errMsg); |
| | | } |
| | | } |
| | | |
| | |
| | | type: "warning",
|
| | | })
|
| | | },
|
| | | // æäº¤å
容
|
| | | prompt(content) {
|
| | | return MessageBox.prompt(content, "ç³»ç»æç¤º", {
|
| | | confirmButtonText: 'ç¡®å®',
|
| | | cancelButtonText: 'åæ¶',
|
| | | type: "warning",
|
| | | })
|
| | | },
|
| | | // æå¼é®ç½©å±
|
| | | loading(content) {
|
| | | loadingInstance = Loading.service({
|
| | |
| | | const blob = new Blob([data]) |
| | | saveAs(blob, filename) |
| | | } else { |
| | | Message.error('æ æçä¼è¯ï¼æè
ä¼è¯å·²è¿æï¼è¯·éæ°ç»å½ã'); |
| | | const resText = await data.text(); |
| | | const rspObj = JSON.parse(resText); |
| | | const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] |
| | | Message.error(errMsg); |
| | | } |
| | | downloadLoadingInstance.close(); |
| | | }).catch((r) => { |
| | |
| | | }, |
| | | /** 强éæé®æä½ */ |
| | | handleForceLogout(row) { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å¼ºéå称为"' + row.userName + '"çæ°æ®é¡¹ï¼').then(function() { |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å¼ºéå称为"' + row.userName + '"çç¨æ·ï¼').then(function() { |
| | | return forceLogout(row.tokenId); |
| | | }).then(() => { |
| | | this.getList(); |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" :offset="2"> |
| | | <el-form-item label="ç»å½è´¦å·" prop="phonenumber"> |
| | | <el-form-item label="ç»å½è´¦å·" prop="userName"> |
| | | <el-input v-model="form.userName" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | cancelButtonText: "åæ¶", |
| | | closeOnClickModal: false, |
| | | inputPattern: /^.{5,20}$/, |
| | | inputErrorMessage: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´", |
| | | inputErrorMessage: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´" |
| | | }).then(({ value }) => { |
| | | resetUserPwd(row.userId, value).then(response => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æåï¼æ°å¯ç æ¯ï¼" + value); |
| | |
| | | <el-input placeholder="请è¾å
¥" v-model="info.tableComment" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="å®ä½ç±»åç§°" prop="className"> |
| | | <el-input placeholder="请è¾å
¥" v-model="info.className" /> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "BasicInfoForm", |
| | | props: { |
| | | info: { |
| | | type: Object, |
| | |
| | | </el-form> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getGenTable, updateGenTable } from "@/api/tool/gen"; |
| | | import { optionselect as getDictOptionselect } from "@/api/system/dict/type"; |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item prop="packageName"> |
| | | <span slot="label"> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <script> |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | | export default { |
| | | name: "BasicInfoForm", |
| | | components: { Treeselect }, |
| | | props: { |
| | | info: { |
| | |
| | | :name="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))" |
| | | :key="key" |
| | | > |
| | | <pre><code class="hljs" v-html="highlightedCode(value, key)"></code></pre> |
| | | <el-link :underline="false" icon="el-icon-document-copy" v-clipboard:copy="value" v-clipboard:success="clipboardSuccess" style="float:right">å¤å¶</el-link> |
| | | <pre><code class="hljs" v-html="highlightedCode(value, key)"></code></pre> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-dialog> |
| | |
| | | const result = hljs.highlight(language, code || "", true); |
| | | return result.value || ' '; |
| | | }, |
| | | /** å¤å¶ä»£ç æå */ |
| | | clipboardSuccess(){ |
| | | this.$modal.msgSuccess("å¤å¶æå"); |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.tableId); |