diff --git a/README.md b/README.md index 2b1416b154b0d08871d6dab4ae8491054f3ce6a9..61954d64925f3bc0600b3b6af3703eca75b9fbf8 100755 --- a/README.md +++ b/README.md @@ -11,46 +11,52 @@ vue/cli 5.x,webpack 5.x npm install -g @vue/cli ``` -# 初始化依赖 +# 设置淘宝镜像源 ``` -npm install --registry=https://registry.npm.taobao.org +npm config set registry https://registry.npmmirror.com/ ``` -> 如果启动时发现大量不明报错,可能原因是npm install阶段加载的依赖包不完整导致,可以对npm进行降级再次install,目前测试v18的npm可以正常install。或者通过cnpm install加载依赖包也可以。cnpm版本也不能太高,建议使用v8.2.0。建议使用nvm管理多版本的node,使用v18.x版本的node会比较稳定。 +# 初始化依赖 ``` -sudo npm install -g cnpm@8.2.0 --registry=https://registry.npm.taobao.org - -cnpm install +npm install ``` +> 如果启动时发现大量不明报错,可能原因是npm install阶段加载的依赖包不完整导致,可以对npm进行降级再次install,目前测试v18的npm可以正常install。建议使用nvm管理多版本的node,使用v18.x版本的node会比较稳定。 + + # 构建打包项目代码 ``` -cnpm run build +npm run build ``` # 本地开发环境运行项目 >需修改apiconfig.json配置文件,将tenantName的值修改为在用的租户(如果使用的是官方提供的用例数据,则租户就是demo),urlPrefix改成neatlogic后端tomcat服务的http://ip:port -## 通过cnpm启动项目 +## 通过npm启动项目 ``` -cnpm run serve +npm run serve ``` ## 自动纠正文件里不符合eslint的语法 ``` -cnpm run lint +npm run lint ``` ## 设置自动eslintrc https://www.cnblogs.com/weilai-info/p/10988829.html +# 支持pnpm +```js + 📌" 研发环境建议使用pnpm效率更高,生产出包使用npm。pnpm需自行科普使用" +``` + -## 设置vscode的个人配置 +# 设置vscode的个人配置 为了统一代码风格,多人开发时不会出现格式错乱,进行二开时请使用相同的代码风格配置。 -#### 安装插件 +## 安装插件 EsLint、vetur、Prettier - Code formatter、i18nhelper(自动进行i18n键值替换和多语言翻译) -#### 设置>命令面板>输入“setting”>选择“首选项:打开设置”>打开 settings.json +### 设置>命令面板>输入“setting”>选择“首选项:打开设置”>打开 settings.json ``` { "gitlens.views.repositories.files.layout": "list", @@ -132,15 +138,15 @@ EsLint、vetur、Prettier - Code formatter、i18nhelper(自动进行i18n键值 ``` -## FAQ常见问题 -### npm ERR! request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired +# FAQ常见问题 +## npm ERR! request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired ``` npm config set strict-ssl false ``` # 其他 ## 更新某个依赖 ``` -cnpm update 依赖包名字 +npm update 依赖包名字 -eg:cnpm update neatlogic-ui +eg:npm update neatlogic-ui ``` \ No newline at end of file diff --git a/src/resources/assets/css/theme.less b/src/resources/assets/css/theme.less index a4f2decf7c690170454bd6e6574470347130e612..9e26d735edbb52128b02c7265b7d0fb345721666 100644 --- a/src/resources/assets/css/theme.less +++ b/src/resources/assets/css/theme.less @@ -3809,6 +3809,90 @@ color: @text-color; } } + // 组件 + .@{iv-prev}menu { + background: @op-color; + color: @text-color; + } + .@{iv-prev}menu-item, + .@{iv-prev}menu-submenu { + color: @text-color !important; + } + .@{iv-prev}menu-light:after { + background: @op-color !important; + } + .@{iv-prev}menu-item:hover, + .@{iv-prev}menu-submenu-title:hover { + color: var(--primary-color, @primary-color) !important; + } + .@{iv-prev}menu-dark, + .@{iv-prev}menu-light { + &.@{iv-prev}menu-vertical .@{iv-prev}menu-item-active:not(.@{iv-prev}menu-submenu) { + color: var(--primary-color, @primary-color) !important; + background: var(--selected-bg, @selected-bg) !important; + } + } + .@{iv-prev}menu-vertical .@{iv-prev}menu-item-active:not(.@{iv-prev}menu-submenu):after { + background: var(--primary-color, @primary-color) !important; + } + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-item:hover, + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-submenu-title:hover { + color: var(--primary-color, @primary-color); + background: none; + } + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-opened .@{iv-prev}menu-submenu-title { + background: none; + color: @text-color; + } + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-opened { + background: none; + } + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-submenu .@{iv-prev}menu-item-active, + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-submenu .@{iv-prev}menu-item-active:hover { + background: var(--selected-bg, @selected-bg) !important; + } + .@{iv-prev}menu-horizontal .@{iv-prev}menu-submenu .@{iv-prev}select-dropdown .@{iv-prev}menu-item-selected, + .@{iv-prev}menu-horizontal .@{iv-prev}menu-submenu .@{iv-prev}select-dropdown .@{iv-prev}menu-item-selected:hover { + color: var(--primary-color, @primary-color) !important; + } + .@{iv-prev}menu-horizontal .@{iv-prev}menu-submenu .@{iv-prev}select-dropdown .@{iv-prev}menu-item-focus, + .@{iv-prev}menu-horizontal .@{iv-prev}menu-submenu .@{iv-prev}select-dropdown .@{iv-prev}menu-item:hover { + background: var(--menu-hover, @menu-hover); + } + .@{iv-prev}menu-dark.@{iv-prev}menu-vertical .@{iv-prev}menu-item-group-title, + .@{iv-prev}menu-item-group-title { + color: @icon-color; + } + .@{iv-prev}menu-light, + .@{iv-prev}menu-primary, + .@{iv-prev}menu-dark { + &.@{iv-prev}menu-horizontal { + .@{iv-prev}menu-item, + .@{iv-prev}menu-submenu { + border-bottom: 2px solid transparent; // 解决暗黑模式和主题色模式下,下拉边框从0》2变化的问题 + } + .@{iv-prev}menu-item-active, + .@{iv-prev}menu-item:hover, + .@{iv-prev}menu-submenu:hover { + border-bottom: 2px solid @primary-color; + } + } + } + .@{iv-prev}menu-light, + .@{iv-prev}menu-primary, + .@{iv-prev}menu-dark { + &.@{iv-prev}menu-horizontal { + .@{iv-prev}menu-drop-list { + .@{iv-prev}menu-item-group { + .@{iv-prev}menu-item-active, + .@{iv-prev}menu-item:hover, + .@{iv-prev}menu-submenu:hover { + border-bottom: 2px solid transparent; + } + } + } + } + } //水波纹 @sglqprefix: sg-liquid-; diff --git a/src/resources/assets/languages/en.js b/src/resources/assets/languages/en.js index b243e0274a509b9e733b3e25c01fe363d02d7db9..265f4fde1c46bb492ae3dfad2a5ccd342dd8ffd5 100644 --- a/src/resources/assets/languages/en.js +++ b/src/resources/assets/languages/en.js @@ -5,11 +5,65 @@ import message from '@/resources/assets/languages/message/en.json'; import router from '@/resources/assets/languages/router/en.json'; import term from '@/resources/assets/languages/term/en.json'; +let languagesCategoryConfig = { + page: page, + form: form, + dialog: dialog, + message: message, + router: router, + term: term +}; +try { + // 导入定制模块多语言 + let languagesConfig = require.context('@/community-module', true, /en.json$/); + languagesConfig.keys().forEach(languagePath => { + if (languagePath) { + handleLanguageConfig(languagesConfig, languagePath); + } + }); + languagesConfig = require.context('@/commercial-module', true, /en.json$/); + languagesConfig.keys().forEach(languagePath => { + if (languagePath) { + handleLanguageConfig(languagesConfig, languagePath); + } + }); + function getCategoryName(path) { + const langIndex = path.indexOf('languages/'); + if (langIndex === -1) return null; + const jsonIndex = path.indexOf('/en.json', langIndex); + if (jsonIndex === -1) return null; + return path.substring(langIndex + 10, jsonIndex); + } + function handleLanguageConfig(languagesConfig, languagePath) { + const pathParts = languagePath.split('/'); + const moduleName = pathParts[1]?.split('-')?.pop() ?? pathParts[1]; + const category = getCategoryName(languagePath); + const languageJson = languagesConfig(languagePath) ?? {}; + + // 确保类别存在 + if (!languagesCategoryConfig[category]) { + languagesCategoryConfig[category] = {}; + } + + let targetCategory = languagesCategoryConfig[category]; + const childCategoryList = Object.keys(targetCategory) || []; + if (targetCategory[moduleName]) { + // 合并现有配置和新配置 + targetCategory[moduleName] = { ...targetCategory[moduleName], ...languageJson }; + } else { + // 创建新模块配置 + if (childCategoryList && childCategoryList.length > 0) { + // 如果存在子类别,将新模块配置添加到子类别中 + targetCategory[moduleName] = languageJson; + } else { + // 如果不存在子类别,将新模块配置添加到根类别中 + languagesCategoryConfig[category] = languageJson; + } + } + } +} catch (error) { + console.error('zh.json抛出异常', error); +} export default { - page, - form, - dialog, - message, - router, - term -} \ No newline at end of file + ...languagesCategoryConfig +}; diff --git a/src/resources/assets/languages/page/en.json b/src/resources/assets/languages/page/en.json index 4fa43bc3ff91681456a084895e5d029a6907f7c5..d380abd16b72dc9cbb8d1c7f9c54c3405c0f5201 100644 --- a/src/resources/assets/languages/page/en.json +++ b/src/resources/assets/languages/page/en.json @@ -1079,5 +1079,8 @@ "paramkeyword": "Participate in search", "loglevel": "log level", "bluegreen": "Blue green execution", - "mailserver": "mail serve" + "mailserver": "mail serve", + "beforeconfig": "Pre conversion configuration", + "dataconfig": "data configuration", + "datachange": "data conversion" } \ No newline at end of file diff --git a/src/resources/assets/languages/page/zh.json b/src/resources/assets/languages/page/zh.json index 7c447c9a2238bdff96d4b01e6de63146a04beed9..096c9a0544d593ba9b9d10c83c7adeaab98855a0 100644 --- a/src/resources/assets/languages/page/zh.json +++ b/src/resources/assets/languages/page/zh.json @@ -1081,5 +1081,8 @@ "paramkeyword": "入参搜索", "loglevel": "日志级别", "bluegreen": "蓝绿执行", - "mailserver": "邮件服务" + "mailserver": "邮件服务", + "beforeconfig": "转换前配置", + "dataconfig": "数据配置", + "datachange": "数据转换" } \ No newline at end of file diff --git a/src/resources/assets/languages/term/en.json b/src/resources/assets/languages/term/en.json index 6918715453f3c07448bdb3f60159c1ce8d1196a2..a215bf0f4baade897d592d70250497b718823fdc 100644 --- a/src/resources/assets/languages/term/en.json +++ b/src/resources/assets/languages/term/en.json @@ -2163,7 +2163,8 @@ "testrunnerdesc": "If not specified, actuators will be automatically assigned based on IP matching of actuator groups according to network segments", "jobcount": "Number of published assignments", "jobrecord": "Publish homework records", - "notapplyallexecuteauth": "You do not have the execution permission for the current application" + "notapplyallexecuteauth": "You do not have the execution permission for the current application", + "batchdeployauthtip": "The current user lacks the 'Batch Publishing Management Permission' permission. Please contact the administrator" }, "inspect": { "alarmprompt": "Alarm Prompt", diff --git a/src/resources/assets/languages/term/zh.json b/src/resources/assets/languages/term/zh.json index d04b9b894d02c2d0d9eb61b2060a5160539d0868..2dd79e0b208213402694bdc75a53c2410d6cf5b6 100644 --- a/src/resources/assets/languages/term/zh.json +++ b/src/resources/assets/languages/term/zh.json @@ -710,7 +710,7 @@ "associateacustomtool": "关联自定义工具", "disassociatecandeletecatalog": "当前目录或其子目录已关联自定义工具,解除关联后,才可删除此目录", "bysubcatalogalldeletetips": "删除当前目录时,其所有子目录将同时被删除", - "ipformattip": "主机类目标输入格式为 IP,服务类目标输入格式为IP:PORT,数据库类目标格式为IP:PORT/SID,一行一个目标,最多支持输入1000个目标", + "ipformattip": "格式为IP,IP:PORT,数据库类目标格式为IP:PORT/SID,一行一个目标,最多支持输入1000个目标", "viewalltarget": "查看更多{target}个目标", "choosetagasnodetip": "选择标签过滤节点,作为执行目标", "jobparamnosettingtip": "作业参数中未设置【节点信息】参数", @@ -2160,7 +2160,8 @@ "testrunnerdesc": "如果不指定则会通过ip根据网段匹配执行器组自动分配执行器", "jobcount": "发布作业数", "jobrecord": "发布作业记录", - "notapplyallexecuteauth": "您没有当前应用的执行权限" + "notapplyallexecuteauth": "您没有当前应用的执行权限", + "batchdeployauthtip": "当前用户缺少“批量发布管理权限”权限,请联系管理员" }, "inspect": { "alarmprompt": "告警提示", diff --git a/src/resources/assets/languages/zh.js b/src/resources/assets/languages/zh.js index b07e9643cfb975204ceeb536e0d1c95ed7232e40..e439ed7471516a7b966b258bc9e29ae6357d210b 100644 --- a/src/resources/assets/languages/zh.js +++ b/src/resources/assets/languages/zh.js @@ -4,11 +4,65 @@ import dialog from '@/resources/assets/languages/dialog/zh.json'; import message from '@/resources/assets/languages/message/zh.json'; import router from '@/resources/assets/languages/router/zh.json'; import term from '@/resources/assets/languages/term/zh.json'; +let languagesCategoryConfig = { + page: page, + form: form, + dialog: dialog, + message: message, + router: router, + term: term +}; +try { + // 导入定制模块多语言 + let languagesConfig = require.context('@/community-module', true, /zh.json$/); + languagesConfig.keys().forEach(languagePath => { + if (languagePath) { + handleLanguageConfig(languagesConfig, languagePath); + } + }); + languagesConfig = require.context('@/commercial-module', true, /zh.json$/); + languagesConfig.keys().forEach(languagePath => { + if (languagePath) { + handleLanguageConfig(languagesConfig, languagePath); + } + }); + function getCategoryName(path) { + const langIndex = path.indexOf('languages/'); + if (langIndex === -1) return null; + const jsonIndex = path.indexOf('/zh.json', langIndex); + if (jsonIndex === -1) return null; + return path.substring(langIndex + 10, jsonIndex); + } + function handleLanguageConfig(languagesConfig, languagePath) { + const pathParts = languagePath.split('/'); + const moduleName = pathParts[1]?.split('-')?.pop() ?? pathParts[1]; + const category = getCategoryName(languagePath); + const exportValue = languagesConfig(languagePath) ?? {}; + + // 确保类别存在 + if (!languagesCategoryConfig[category]) { + languagesCategoryConfig[category] = {}; + } + + let targetCategory = languagesCategoryConfig[category]; + const childCategoryList = Object.keys(targetCategory) || []; + if (targetCategory[moduleName]) { + // 合并现有配置和新配置 + targetCategory[moduleName] = { ...targetCategory[moduleName], ...exportValue }; + } else { + // 创建新模块配置 + if (childCategoryList && childCategoryList.length > 0) { + // 如果存在子类别,将新模块配置添加到子类别中 + targetCategory[moduleName] = exportValue; + } else { + // 如果不存在子类别,将新模块配置添加到根类别中 + languagesCategoryConfig[category] = exportValue; + } + } + } +} catch (error) { + console.error('zh.json抛出异常', error); +} export default { - page, - form, - dialog, - message, - router, - term -} \ No newline at end of file + ...languagesCategoryConfig +}; diff --git a/src/resources/plugins/TsSheet/TsSheet.vue b/src/resources/plugins/TsSheet/TsSheet.vue index 462826c310a8c994a4ad0dec82f4a5dbdff99be8..0217f668d6a35e2e5b7fe2c6ba009e4a9e078125 100644 --- a/src/resources/plugins/TsSheet/TsSheet.vue +++ b/src/resources/plugins/TsSheet/TsSheet.vue @@ -1063,11 +1063,47 @@ export default { } } }); + this.$set(data, '_type', 'new'); //标识新表单 this.$set(data, 'lcu', this.$AuthUtils.getCurrentUser().uuid); this.$set(data, 'lcd', new Date().getTime()); + this.clearReactionRow(data.reaction); return data; }, + clearReactionRow(reaction) { //清除行联动的废数据 + if (!this.$utils.isEmpty(reaction)) { + Object.keys(reaction).forEach(key => { + if (!this.$utils.isEmpty(reaction[key])) { + reaction[key].forEach(item => { + if (!this.$utils.isEmpty(item.conditionGroupList)) { + let groupUuidList = []; + item.conditionGroupList.forEach(c => { + let uuidList = []; + c.conditionList.forEach(d => { + //清除不存在的条件 + if (!this.formItemList.find(f => d.formItemUuid.includes(f.uuid))) { + uuidList.push(d.uuid); + } + }); + c.conditionList = c.conditionList.filter(d => !uuidList.includes(d.uuid)); + if (this.$utils.isEmpty(c.conditionList)) { + groupUuidList.push(c.uuid); + } + }); + item.conditionGroupList = item.conditionGroupList.filter(c => !groupUuidList.includes(c.uuid)); + } + if (this.$utils.isEmpty(item.conditionGroupList)) { + item.rows = []; + item.conditionGroupRelList = []; + } + }); + reaction[key] = reaction[key].filter(item => !this.$utils.isEmpty(item.conditionGroupList)); + } + }); + //更新配置 + this.$set(this.config, 'reaction', reaction); + } + }, //提供外部使用,返回表单数据 getFormData() { const formItemList = []; diff --git a/src/resources/plugins/TsSheet/extend/extend-config-dialog.vue b/src/resources/plugins/TsSheet/extend/extend-config-dialog.vue index e6f74327b43ebba0327f375d9f9c3f030c9e1c2c..59954f9740f68218c91c6309adab305b044007d4 100644 --- a/src/resources/plugins/TsSheet/extend/extend-config-dialog.vue +++ b/src/resources/plugins/TsSheet/extend/extend-config-dialog.vue @@ -20,7 +20,7 @@
- + - + - - + + - +
- +
- +
- 添加 + {{ $t('page.add') }} @@ -83,7 +84,8 @@ export default { TsCodemirror: () => import('@/resources/plugins/TsCodemirror/TsCodemirror'), ExtendTest: () => import('./extend-test.vue'), ConfigHelp: () => import('./help/config-help.vue'), - MethodsHelp: () => import('./help/methods-help.vue') + MethodsHelp: () => import('./help/methods-help.vue'), + JsonViewer: () => import('vue-json-viewer') }, filters: { }, diff --git a/src/views/pages/autoexec/detail/actionDetail/execute-setting.vue b/src/views/pages/autoexec/detail/actionDetail/execute-setting.vue index e7c6c912e602f40d19f30173b0d1dee1693c1ae7..baceb77aec2636ee0b39f29002384ae6a40df511 100644 --- a/src/views/pages/autoexec/detail/actionDetail/execute-setting.vue +++ b/src/views/pages/autoexec/detail/actionDetail/execute-setting.vue @@ -83,12 +83,12 @@ diff --git a/src/views/pages/autoexec/detail/runner-detail.vue b/src/views/pages/autoexec/detail/runner-detail.vue index e01e2e21abf2c5796d4f8b9f10b697a3d99314e2..01b02d7541c9292ce409fb031070162af3f82a79 100644 --- a/src/views/pages/autoexec/detail/runner-detail.vue +++ b/src/views/pages/autoexec/detail/runner-detail.vue @@ -734,26 +734,49 @@ export default { }, setJobParams(obj) { let config = this.$utils.deepClone(obj); - let {name = '', param = {}, roundCount = 64, parallelCount = 32, parallelPolicy = 'parallel', scenarioId = null, executeConfig = {}, runnerGroupTag = null, runnerGroup = null} = config || {}; + let {name = '', param = {}} = config || {}; this.nameForm.itemList.name.value = name; this.paramValue = param; - this.scenarioId = scenarioId; - this.roundCount = roundCount; - this.parallelCount = parallelCount; - this.parallelPolicy = parallelPolicy; - this.executeConfig = executeConfig; - this.runnerGroupTag = runnerGroupTag || { - mappingMode: 'constant', - value: null - }; - this.runnerGroup = runnerGroup || { mappingMode: 'constant', - value: '-1'}; - if (this.$utils.isEmpty(runnerGroupTag) && !this.$utils.isEmpty(executeConfig.runnerGroupTag)) { - this.runnerGroupTag = executeConfig.runnerGroupTag; + //需要赋值的key + const keyList = ['roundCount', 'parallelCount', 'parallelPolicy', 'scenarioId', 'executeConfig', 'runnerGroupTag', 'runnerGroup']; + Object.keys(config).forEach((key) => { + if (keyList.indexOf(key) > -1 && this.hasOwnProperty(key)) { + this[key] = config[key]; + } + }); + if (this.$utils.isEmpty(this.roundCount)) { + this.roundCount = 64; + } + if (this.$utils.isEmpty(this.parallelCount)) { + this.parallelCount = 32; + } + if (this.$utils.isEmpty(this.parallelPolicy)) { + this.parallelPolicy = 'parallel'; } - if (this.$utils.isEmpty(runnerGroup) && !this.$utils.isEmpty(executeConfig.runnerGroup)) { - this.runnerGroup = executeConfig.runnerGroup; + if (this.$utils.isEmpty(this.executeConfig)) { + this.executeConfig = {}; + } + if (this.$utils.isEmpty(this.runnerGroupTag)) { + if (!this.$utils.isEmpty(this.executeConfig.runnerGroupTag)) { + this.runnerGroupTag = this.executeConfig.runnerGroupTag; + } else { + this.runnerGroupTag = { + mappingMode: 'constant', + value: null + }; + } + } + if (this.$utils.isEmpty(this.runnerGroup)) { + if (!this.$utils.isEmpty(this.executeConfig.runnerGroup)) { + this.runnerGroup = this.executeConfig.runnerGroup; + } else { + this.runnerGroup = { + mappingMode: 'constant', + value: '-1' + }; + } } + for (let key in this.executeForm.itemList) { // 链接协议和执行用户 let item = this.executeForm.itemList[key]; diff --git a/src/views/pages/autoexec/detail/runnerDetail/add-target.vue b/src/views/pages/autoexec/detail/runnerDetail/add-target.vue index 114abc07a8693709f26310548ac8bba944bd37aa..a584af5808fad5aa6518690f27d8291f6a239b35 100644 --- a/src/views/pages/autoexec/detail/runnerDetail/add-target.vue +++ b/src/views/pages/autoexec/detail/runnerDetail/add-target.vue @@ -89,12 +89,12 @@ diff --git a/src/views/pages/autoexec/detail/script-detail.vue b/src/views/pages/autoexec/detail/script-detail.vue index e633d28afcd4e4a801732e44544a470c1622010d..8585492aae7dd9554b74eaa59268a969ab470fcc 100644 --- a/src/views/pages/autoexec/detail/script-detail.vue +++ b/src/views/pages/autoexec/detail/script-detail.vue @@ -99,6 +99,7 @@ :type="typeDialog" :tipText="tipText" :versionId="versionId" + :scriptId="scriptId" @saveData="saveUpdate" > { if (res.Status == 'OK') { this.$Message.success(this.$t('message.deletesuccess')); + this.$skipHistory(); this.$router.push({ - path: '/script-manage', + path: '/script-detail', query: { - status: this.versionStatus + scriptId: this.scriptId, + status: 'passed' } }); } diff --git a/src/views/pages/autoexec/detail/time-job-detail.vue b/src/views/pages/autoexec/detail/time-job-detail.vue index fd4d10f8281c47b2f3d91fdd2a84debedb5c91b1..8e6a2aa235b6c8e56e63ad27ef2b23962d42c0bb 100644 --- a/src/views/pages/autoexec/detail/time-job-detail.vue +++ b/src/views/pages/autoexec/detail/time-job-detail.vue @@ -116,7 +116,8 @@ export default { dynamicUrl: '/api/rest/autoexec/combop/executable/list', valueName: 'id', //option渲染值 textName: 'name', //text渲染值 - rootName: 'tbodyList' + rootName: 'tbodyList', + onChange: this.changeAutoexecCombopId }, isActive: { type: 'radio', @@ -281,6 +282,9 @@ export default { }).finally(() => { this.isLoading = false; }); + }, + changeAutoexecCombopId(val) { + this.config = null; } }, filter: {}, diff --git a/src/views/pages/autoexec/manage/job-manage.vue b/src/views/pages/autoexec/manage/job-manage.vue index a80f2782d6f953fce9cf52c14fc125535b0b37c4..8f31255538081f6519e796083e6fc3d709d9eea7 100644 --- a/src/views/pages/autoexec/manage/job-manage.vue +++ b/src/views/pages/autoexec/manage/job-manage.vue @@ -38,11 +38,7 @@ - {{ $t('term.deploy.batchjob') }} + {{ $t('term.deploy.batchjob') }} {{ $t('term.autoexec.resourcelock') }} diff --git a/src/views/pages/deploy/job/publishing/deploy-pipeline-table.vue b/src/views/pages/deploy/job/publishing/deploy-pipeline-table.vue index 2301f263666a7e1d2dd86f63b7c17a587602a61d..617791eaf71b9fdfc3d10b16f37b9f404d7247fc 100644 --- a/src/views/pages/deploy/job/publishing/deploy-pipeline-table.vue +++ b/src/views/pages/deploy/job/publishing/deploy-pipeline-table.vue @@ -8,7 +8,7 @@ :sortOrder="sortOrder" :sortMulti="false" :fixedHeader="fixedHeader" - @changeCurrent="searchJob" + @changeCurrent="(currentPage) => searchJob(currentPage, defaultSearchValue)" @changePageSize="changePageSize" @updateSort="updateSort" > @@ -25,21 +25,14 @@