| | |
| | | - name: aliyun #提前在项目下配置访问阿里云的账号密码 |
| | | containers: |
| | | # - image: $REGISTRY/$ALIYUNHUB_NAMESPACE/zhba-vue:SNAPSHOT-$BUILD_NUMBER |
| | | - image: registry.cn-hangzhou.aliyuncs.com/arsn/zhba-vue:SNAPSHOT-6 |
| | | - image: registry.cn-hangzhou.aliyuncs.com/arsn/zhba-vue:SNAPSHOT-7 |
| | | imagePullPolicy: Always |
| | | name: app |
| | | ports: |
| | |
| | | data: row |
| | | }) |
| | | } |
| | | export const activateQuartz = (row) => { |
| | | return request({ |
| | | url: '/api/scheduled/activateQuartz', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | export const runQuartz = (row) => { |
| | | return request({ |
| | | url: '/api/scheduled/runQuartz', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | export const stopQuartz = (row) => { |
| | | return request({ |
| | | url: '/api/scheduled/stopQuartz', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const remove = (ids) => { |
| | | return request({ |
| | |
| | | >导出 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | :size="size" |
| | | :type="type" |
| | | icon="el-icon-video-play" |
| | | v-if="permission.quartz_run" |
| | | @click="runQuartz(row)" |
| | | >立即执行 |
| | | </el-button> |
| | | <el-button |
| | | :type="type" |
| | | :size="size" |
| | | v-if="permission.quartz_stop" |
| | | icon="el-icon-video-pause" |
| | | @click="stopQuartz(row)" |
| | | >暂停任务 |
| | | </el-button> |
| | | <el-button |
| | | :type="type" |
| | | :size="size" |
| | | v-if="permission.quartz_activate" |
| | | icon="el-icon-refresh-left" |
| | | @click="activateQuartz(row)" |
| | | >恢复任务 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | |
| | | getList, |
| | | add, |
| | | update, |
| | | remove |
| | | } from "@/api/clock/clock"; |
| | | remove, |
| | | stopQuartz, |
| | | runQuartz, |
| | | activateQuartz |
| | | } from "@/api/system/quartz"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getToken } from "@/util/auth"; |
| | | import Qs from "qs"; |
| | |
| | | searchSize: "mini", |
| | | searchMenuSpan: 6, |
| | | height: 583, |
| | | menuWidth: 280, |
| | | menuWidth: 420, |
| | | border: true, |
| | | align: "center", |
| | | selection: true, |
| | | column: [ |
| | | { |
| | | label: "日期", |
| | | prop: "releaseTimeRange", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | searchRange: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | search: true, |
| | | searchSpan: 5, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入申请时间", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "姓名", |
| | | prop: "realName", |
| | | label: "任务名称", |
| | | prop: "name", |
| | | search: true, |
| | | searchSpan: 4, |
| | | labelWidth: 145, |
| | | minWidth: 160, |
| | | width: 220, |
| | | span:12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入姓名", |
| | | message: "请输入任务名称", |
| | | trigger: "click" |
| | | } |
| | | ], |
| | | overHidden: true |
| | | }, |
| | | |
| | | { |
| | | label: "打卡时间", |
| | | prop: "clockTime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | span: 12, |
| | | label: "方法名", |
| | | prop: "methodName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | labelWidth: 145, |
| | | disabled: false, |
| | | width: 110, |
| | | span:12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入打卡时间", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "打卡类型", |
| | | prop: "clockType", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | disabled: false, |
| | | type: "select", |
| | | dataType: "number", |
| | | search:true, |
| | | searchSpan:4, |
| | | dicData:[ |
| | | { |
| | | label:"上班", |
| | | value:1 |
| | | }, |
| | | { |
| | | label:"下班", |
| | | value:2 |
| | | message: "请输入方法名", |
| | | trigger: "click" |
| | | } |
| | | ], |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "bean名称", |
| | | prop: "beanName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | span:12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入打卡类型", |
| | | trigger: "blur" |
| | | message: "请输入bean名称", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | ], |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "表达式", |
| | | prop: "cronExpression", |
| | | search: true, |
| | | searchSpan: 4, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | span:12, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入表达式", |
| | | trigger: "click" |
| | | } |
| | | ], |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "参数", |
| | | prop: "params", |
| | | labelWidth: 145, |
| | | width: 110, |
| | | span:12, |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "状态", |
| | | prop: "attendanceType", |
| | | prop: "status", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | disabled: false, |
| | | search:true, |
| | | searchSpan:4, |
| | | type: "select", |
| | | dicUrl: |
| | | "/api/blade-system/dict-biz/dictionary?code=attendanceType", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | }, |
| | | width:80, |
| | | display:false, |
| | | dicData:[ |
| | | { |
| | | label:"正常", |
| | | value: 1 |
| | | }, |
| | | { |
| | | label:"暂停", |
| | | value: 2 |
| | | } |
| | | ], |
| | | dataType: "number", |
| | | rules: [ |
| | | { |
| | |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | disabled: false, |
| | | width:140, |
| | | display:false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入创建时间", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "近一次执行时间", |
| | | prop: "activeTime", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | disabled: false, |
| | | width:140, |
| | | display:false, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入近一次执行时间", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "任务说明", |
| | | span: 24, |
| | | type: "textarea", |
| | | labelWidth: 145, |
| | | prop: "remark" |
| | | } |
| | | |
| | | ], |
| | | ...this.$store.state.control.clearOtherBut |
| | | } |
| | |
| | | ...mapGetters(["userInfo", "permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.clock_add, false), |
| | | viewBtn: this.vaildData(this.permission.clock_view, false), |
| | | delBtn: this.vaildData(this.permission.clock_delete, false), |
| | | editBtn: this.vaildData(this.permission.clock_edit, false) |
| | | addBtn: this.vaildData(this.permission.quartz_add, false), |
| | | viewBtn: this.vaildData(null, false), |
| | | delBtn: this.vaildData(this.permission.quartz_delete, false), |
| | | editBtn: this.vaildData(this.permission.quartz_edit, false) |
| | | }; |
| | | }, |
| | | ids() { |
| | |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | rowSave(form, done, loading) { |
| | | form['status'] = 1; |
| | | add(form).then(res => { |
| | | if (res.data.success) { |
| | | this.$message({ |
| | |
| | | } |
| | | ) |
| | | .then(() => { |
| | | console.log(row); |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | //任务恢复 |
| | | activateQuartz(row) { |
| | | this.$confirm( |
| | | "确定恢复当前任务?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ) |
| | | .then(() => { |
| | | return activateQuartz(row); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | }, |
| | | //立即执行任务,不会改变任务状态,只执行一次 |
| | | runQuartz(row) { |
| | | this.$confirm( |
| | | "确定立即执行当前任务?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ) |
| | | .then(() => { |
| | | return runQuartz(row); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | }, |
| | | //停止任务 |
| | | stopQuartz(row) { |
| | | this.$confirm( |
| | | "确定停止当前任务?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ) |
| | | .then(() => { |
| | | return stopQuartz(row); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | }); |
| | | }); |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | }, |