@@ -1,10 +1,10 @@ | |||
# 页面标题 | |||
VUE_APP_TITLE = 影刀后台管理系统 | |||
VUE_APP_TITLE = 旺嘉-RPA | |||
# 开发环境配置 | |||
ENV = 'development' | |||
# 影刀后台管理系统/开发环境 | |||
# 旺嘉-RPA/开发环境 | |||
VUE_APP_BASE_API = '/dev-api' | |||
# 路由懒加载 | |||
@@ -1,8 +1,8 @@ | |||
# 页面标题 | |||
VUE_APP_TITLE = 影刀后台管理系统 | |||
VUE_APP_TITLE = 旺嘉-RPA | |||
# 生产环境配置 | |||
ENV = 'production' | |||
# 影刀后台管理系统/生产环境 | |||
# 旺嘉-RPA/生产环境 | |||
VUE_APP_BASE_API = '/prod-api' |
@@ -1,10 +1,10 @@ | |||
# 页面标题 | |||
VUE_APP_TITLE = 影刀后台管理系统 | |||
VUE_APP_TITLE = 旺嘉-RPA | |||
NODE_ENV = production | |||
# 测试环境配置 | |||
ENV = 'staging' | |||
# 影刀后台管理系统/测试环境 | |||
# 旺嘉-RPA/测试环境 | |||
VUE_APP_BASE_API = '/stage-api' |
@@ -1,7 +1,7 @@ | |||
{ | |||
"name": "ruoyi", | |||
"version": "3.8.5", | |||
"description": "影刀后台管理系统", | |||
"description": "旺嘉-RPA", | |||
"author": "若依", | |||
"license": "MIT", | |||
"scripts": { | |||
@@ -24,11 +24,11 @@ export function updateRunTime(data) { | |||
// 重新运行计划 | |||
export function appRetry(jobUuid) { | |||
export function appRetry(jobUuid,newData) { | |||
return request({ | |||
url: '/business/ctApplyPlan/appRetry', | |||
method: 'post', | |||
data: {jobUuid} | |||
data: {jobUuid,newData} | |||
}) | |||
} | |||
@@ -35,7 +35,7 @@ export default { | |||
}, | |||
data() { | |||
return { | |||
title: '影刀后台管理系统', | |||
title: '旺嘉-RPA', | |||
logo: logoImg | |||
} | |||
} | |||
@@ -97,7 +97,7 @@ | |||
<el-table-column label="appid" align="center" prop="appId" width="300" /> --> | |||
<!-- <el-table-column label="部门id" align="center" prop="deptId" width="100" /> --> | |||
<el-table-column label="创建者" align="center" fixed="right" prop="createBy" width="100" /> | |||
<el-table-column label="创建者" align="center" fixed="right" prop="createBy" width="150" /> | |||
<el-table-column label="创建时间" align="center" fixed="right" prop="createTime" width="100"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> | |||
@@ -190,10 +190,14 @@ | |||
<el-button @click="cancel">取 消</el-button> | |||
</div> | |||
</el-dialog> | |||
<!-- 设置可执行机器人 --> | |||
<el-dialog title="配置可执行的机器人" :visible.sync="showConfigRebotVisible" width="400px" append-to-body> | |||
<el-dialog title="配置可执行的机器人" :visible.sync="showConfigRebotVisible" width="500px" append-to-body> | |||
<el-form ref="applyRebot" :model="applyRebot" :rules="rules" label-width="120px"> | |||
<span style="color:red">绑定后其他机器人即使空闲也将不会执行该应用,请慎重</span> | |||
<div style="color:red">注意事项:</div> | |||
<div style="color:red">1:绑定指定机器人后其他机器人即使空闲也将不会执行该应用,请慎重</div> | |||
<div style="color:red">2:不绑定则默认所有机器人都可能执行</div> | |||
<div style="color:red">3:该绑定关系影响范围为全部计划(立即执行、指定时间、周期执行)</div> | |||
<el-form-item label="可执行的机器人" prop="rebotName"> | |||
<el-select v-model="applyRebot.optRebot" multiple placeholder="请选择"> | |||
<el-option v-for="rebot in rebotList" :key="rebot.robotClientName" :label="rebot.robotClientName" | |||
@@ -271,8 +275,7 @@ export default { | |||
}, | |||
methods: { | |||
/** 设置绑定的机器人 */ | |||
submitConfigRebot(row) { | |||
console.log("this.applyRebot",this.applyRebot); | |||
submitConfigRebot() { | |||
updateApplyRebot(this.applyRebot).then(res => { | |||
this.$modal.msgSuccess("设置成功"); | |||
this.showConfigRebotVisible = false; | |||
@@ -283,10 +286,8 @@ export default { | |||
showConfigRebot(row) { | |||
this.applyRebot.applyId = row.appId | |||
listRebotSelectAll({}).then(res => { | |||
console.log("listRebotSelectAll",res.data); | |||
this.rebotList = res.data; | |||
listApplyAll(this.applyRebot).then(res => { | |||
console.log("showConfigRebot", res); | |||
this.applyRebot.optRebot = res.data; | |||
this.showConfigRebotVisible = true; | |||
}); | |||
@@ -296,7 +297,6 @@ export default { | |||
/** 设置时间 */ | |||
submitConfigTime() { | |||
let data = { id: this.form.id, appId: this.form.appId, manualTime: this.form.manualTime } | |||
console.log("data", data); | |||
updateRunDate(data).then(response => { | |||
this.$modal.msgSuccess("设置成功"); | |||
this.showConfigTimeVisible = false; | |||
@@ -42,7 +42,7 @@ | |||
{{ scope.$index + 1 }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="计划名称" align="center" prop="planName" width="200" > | |||
<el-table-column label="计划名称" align="center" prop="planName" width="200"> | |||
<template slot-scope="scope"> | |||
<el-popover trigger="hover" placement="top"> | |||
<p>{{ scope.row.planName }}</p> | |||
@@ -60,7 +60,8 @@ | |||
<span v-if="scope.row.outParam != null && !scope.row.outParam.includes('.xlsx')">{{ scope.row.outParam | |||
}}</span> | |||
<span v-if="scope.row.outParam == null"> 没有文件</span> | |||
<el-tag v-if="scope.row.excType == '2'" :type="''" effect="dark" style='cursor:pointer;margin-left: 10px;' @click="showLog(scope.row.id)"> | |||
<el-tag v-if="scope.row.excType == '2'" :type="''" effect="dark" style='cursor:pointer;margin-left: 10px;' | |||
@click="showLog(scope.row.id)"> | |||
更多 | |||
</el-tag> | |||
</template> | |||
@@ -149,19 +150,22 @@ | |||
<el-button size="mini" v-if="scope.row.taskStatus == 'await_create'" type="text" icon="el-icon-setting" | |||
v-hasPermi="['business:ctApplyPlan:edit']">启用</el-button> | |||
</router-link> --> | |||
<el-button size="mini" | |||
v-if="(scope.row.taskStatus == 'await_create' || scope.row.taskStatus == 'finish' || scope.row.taskStatus == 'stopped' || scope.row.taskStatus == 'error' || scope.row.taskStatus == 'skipped' || scope.row.taskStatus == 'cancel') | |||
&& (scope.row.excType == '1' || scope.row.excType == '2')" | |||
type="text" icon="el-icon-date" @click="updateParams(scope.row)" | |||
v-hasPermi="['business:ctApplyPlan:updateFile']">修改文件</el-button> | |||
<el-button size="mini" v-if="(scope.row.taskStatus == 'await_create' || scope.row.taskStatus == 'finish' || scope.row.taskStatus == 'stopped' || scope.row.taskStatus == 'error' || scope.row.taskStatus == 'skipped' || scope.row.taskStatus == 'cancel') | |||
&& (scope.row.excType == '1' || scope.row.excType == '2')" type="text" icon="el-icon-date" | |||
@click="updateParams(scope.row)" v-hasPermi="['business:ctApplyPlan:updateFile']">修改文件</el-button> | |||
<el-button size="mini" | |||
v-if="((scope.row.excType == '1' && scope.row.taskStatus == 'await_create') || scope.row.excType == '2')" | |||
type="text" icon="el-icon-date" @click="updateRunTime(scope.row)" | |||
v-hasPermi="['business:ctApplyPlan:updateRunTime']">设置执行时间</el-button> | |||
<el-button size="mini" | |||
v-if="scope.row.taskStatus == 'stopped' || scope.row.taskStatus == 'error' || scope.row.taskStatus == 'cancel'" | |||
type="text" icon="el-icon-refresh" @click="appRetry(scope.row)" | |||
v-hasPermi="['business:ctApplyPlan:appRetry']">重新运行</el-button> | |||
<el-popconfirm confirm-button-text='新参数运行' cancel-button-text='旧参数运行' v-hasPermi="['business:ctApplyPlan:appRetry']" | |||
title="请选择使用的参数" @confirm="appRetry(scope.row,true)" @cancel="appRetry(scope.row,true)" v-if="scope.row.taskStatus == 'stopped' || scope.row.taskStatus == 'error' || scope.row.taskStatus == 'cancel'"> | |||
<el-button size="mini" type="text" icon="el-icon-refresh-right" slot="reference">重新运行</el-button> | |||
</el-popconfirm> | |||
<!-- <el-button size="mini" | |||
type="text" icon="el-icon-refresh" @click="" | |||
>重新运行</el-button> --> | |||
<el-button size="mini" v-if="scope.row.taskStatus == 'running' || scope.row.taskStatus == 'waiting'" | |||
type="text" icon="el-icon-video-pause" @click="stopRun(scope.row)" | |||
v-hasPermi="['business:ctApplyPlan:stopRun']">停止运行</el-button> | |||
@@ -365,7 +369,7 @@ | |||
</template> | |||
<script> | |||
import { listCtApplyPlan, getCtApplyPlan, delCtApplyPlan, addCtApplyPlan, updateCtApplyPlan, stopRun, appRetry, stopOrStart,updateRunTime } from "@/api/business/ctApplyPlan"; | |||
import { listCtApplyPlan, getCtApplyPlan, delCtApplyPlan, addCtApplyPlan, updateCtApplyPlan, stopRun, appRetry, stopOrStart, updateRunTime } from "@/api/business/ctApplyPlan"; | |||
import { listCtApplyPlanLogAll } from "@/api/business/ctApplyPlanLog"; | |||
import { listByAppId, updateBatch } from "@/api/business/ctResourceLibrary"; | |||
import { listRebotAll } from "@/api/business/ctRebot"; | |||
@@ -454,6 +458,7 @@ export default { | |||
}, | |||
created() { | |||
this.getList(); | |||
this.listApplyAll(); | |||
}, | |||
methods: { | |||
/** 显示执行日志 */ | |||
@@ -554,8 +559,8 @@ export default { | |||
}); | |||
}, | |||
/** 重新运行 */ | |||
appRetry(row) { | |||
appRetry(row.taskUuid).then(res => { | |||
appRetry(row,newData) { | |||
appRetry(row.taskUuid,newData).then(res => { | |||
this.$modal.msgSuccess("操作成功"); | |||
this.getList(); | |||
}); | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<div class="login"> | |||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> | |||
<h3 class="title">影刀后台管理系统</h3> | |||
<h3 class="title">旺嘉-RPA</h3> | |||
<el-form-item prop="username"> | |||
<el-input | |||
v-model="loginForm.username" | |||
@@ -111,7 +111,12 @@ export default { | |||
methods: { | |||
getConfigKey(){ | |||
getConfigKey('sys.account.registerUser').then(res => { | |||
this.register = res.msg; | |||
if(res.msg == 'true'){ | |||
this.register = true; | |||
}else{ | |||
this.register = false; | |||
} | |||
}); | |||
}, | |||
getCode() { | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<div class="register"> | |||
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> | |||
<h3 class="title">影刀后台管理系统</h3> | |||
<h3 class="title">旺嘉-RPA</h3> | |||
<el-form-item prop="username"> | |||
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号"> | |||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> | |||
@@ -7,7 +7,7 @@ function resolve(dir) { | |||
const CompressionPlugin = require('compression-webpack-plugin') | |||
const name = process.env.VUE_APP_TITLE || '影刀后台管理系统' // 网页标题 | |||
const name = process.env.VUE_APP_TITLE || '旺嘉-RPA' // 网页标题 | |||
const port = process.env.port || process.env.npm_config_port || 80 // 端口 | |||