Переглянути джерело

3.0.97 修改流程定时执行引擎。

YangZhiJie 2 роки тому
батько
коміт
f18c2d8bd5
4 змінених файлів з 103 додано та 38 видалено
  1. 1 1
      package.json
  2. 14 3
      src/workflow/EditTableCell.vue
  3. 76 22
      src/workflow/TaskProcessManagement.vue
  4. 12 12
      webpack.dev.js

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "client-base-v4",
   "description": "Leanwo Prodog Client",
-  "version": "3.0.96",
+  "version": "3.0.97",
   "author": "yangzhijie1488 <yangzhijie1488@163.com>",
   "scripts": {
     "dev": "cross-env webpack serve --config ./webpack.dev.js",

+ 14 - 3
src/workflow/EditTableCell.vue

@@ -3,7 +3,8 @@
     <a-input
       ref="myInput"
       v-model:value="inputValue"
-      style="width: 80px"
+      style="width: 100%"
+      size="small"
       @press-enter="check"
       @blur="check"
     />
@@ -15,22 +16,32 @@
         v-model:value="inputValue"
         :options="selectOption"
         style="width: 88px"
+        size="small"
         @change="check"
         @blur="check"
       />
     </div>
   </div>
   <div v-if="props.controlType == 'inputModal'">
-    <a-button @click="showModal"> 填写 </a-button>
+    <a-button
+      size="small" 
+      @click="showModal"
+    >
+      填写
+    </a-button>
 
     <a-modal
       v-model:visible="modalVisible"
       title="填写默认值"
       ok-text="确认"
       cancel-text="取消"
+      size="small"
       @ok="check"
     >
-      <textarea v-model="inputValue" rows="16" cols="66" />
+      <textarea
+        v-model="inputValue" rows="16" cols="66" 
+        size="small"
+      />
     </a-modal>
   </div>
 </template>

+ 76 - 22
src/workflow/TaskProcessManagement.vue

@@ -93,21 +93,32 @@
                 <label for="lastname" class="col-sm-2 control-label">
                   <font color="red">*</font>流程参数
                 </label>
-                <div class="col-sm-10" style="margin-bottom: 6px" />
+                <div class="col-sm-10" style="margin-bottom: 6px">
+                  <a-button type="link" @click="processNoChang(taskDefineDto.processNo)">重新加载参数</a-button>
+                </div>
+              </div>
+
+              <div
+                v-if="
+                  taskDefineDto.selectedTaskType &&
+                    taskDefineDto.selectedTaskType.value == '流程'
+                "
+                class="form-group"
+              >
                 <div
-                  class="col-sm-10"
-                  style="margin-left: 100px; margin-bottom: 70px"
+                  class="col-sm-12"
                 >
                   <a-table
                     :columns="processColumns"
                     :data-source="processDatas"
                     :pagination="false"
+                    size="small"
                   >
                     <template #bodyCell="{ column, record }">
-                      <template v-if="column.dataIndex === 'defaultValue'">
+                      <template v-if="column.dataIndex === 'value'">
                         <EditTableCell
                           :record="record"
-                          :param-name="'defaultValue'"
+                          :param-name="'value'"
                           :control-type="'input'"
                           @change-all="tableDataChange"
                         />
@@ -116,6 +127,8 @@
                   </a-table>
                 </div>
               </div>
+
+
               <div
                 v-if="
                   taskDefineDto.selectedTaskType != null &&
@@ -273,10 +286,10 @@
           <div class="panel-body">
             <form class="form-horizontal" role="form">
               <div class="form-group">
-                <label for="lastname" class="col-sm-2 control-label">
+                <label for="lastname" class="col-sm-3 control-label">
                   <font color="red">*</font>时间类型
                 </label>
-                <div class="col-sm-10">
+                <div class="col-sm-9">
                   <v-select
                     v-model="taskDefineDto.selectedTimeType"
                     :options="timeTypes"
@@ -292,10 +305,10 @@
                 "
                 class="form-group"
               >
-                <label for="cron" class="col-sm-2 control-label">
+                <label for="cron" class="col-sm-3 control-label">
                   <font color="red">*</font>cron表达式
                 </label>
-                <div class="col-sm-10">
+                <div class="col-sm-9">
                   <input
                     v-model="taskDefineDto.cron"
                     autocomplete="off"
@@ -305,6 +318,20 @@
                   />
                 </div>
               </div>
+
+              <div
+                v-if="
+                  taskDefineDto.selectedTimeType != null &&
+                    taskDefineDto.selectedTimeType.value == 'cron'
+                "
+                class="form-group"
+              >
+                <div class="col-sm-10 col-sm-offset-3">
+                  <a-button size="small" type="link" @click="isShowCorn = true">
+                    cron表达<a-button />
+                  </a-button>
+                </div>
+              </div>
             </form>
           </div>
           <div class="panel-footer">
@@ -506,7 +533,7 @@
             删除
           </a-button>
           <a-button
-            v-if="record.taskType != 'HTTP' && record.taskType != 'PROCESS'"
+            v-if="record.taskType != 'HTTP'"
             type="dashed"
             :size="size"
             @click="manualExecutionProcess(record.id)"
@@ -524,6 +551,25 @@
     </Modal>
     <Loading v-if="loading" />
   </div>
+
+  <a-drawer
+    v-model:visible="isShowCorn"
+    title="常用corn表达式"
+    width="460px"
+    placement="right"
+  >
+    <p>常用corn表达式:</p>
+    <p>每隔 5 秒执行一次:*/5 * * * * ? </p>
+    <p>每隔 1 分钟执行一次:0 */1 * * * ? </p>
+    <p>每天 23 点执行一次:0 0 23 * * ? </p>
+    <p>每天凌晨 1 点执行一次:0 0 1 * * ? </p>
+    <p>每月 1 号凌晨 1 点执行一次:0 0 1 1 * ?</p>
+    <p>每月最后一天 23 点执行一次:0 0 23 L * ? </p>
+    <p>每周星期天凌晨 1 点实行一次:0 0 1 ? * L </p>
+    <p>在 26 分、29 分、33 分执行一次:0 26,29,33 * * * ?</p>
+    <p>每天的 0 点、13 点、18 点、21 点都执行一次:0 0 0,13,18,21 * * ?</p>
+    <a-button type="link" style="padding: 0;" @click="onlineCorn">[在线cron表达式]</a-button>
+  </a-drawer>
 </template>
 
 <script>
@@ -549,21 +595,20 @@ export default {
       processColumns: [
         {
           key: 'name',
-          title: '全局参数名称',
+          title: '参数名称',
           dataIndex: 'name',
-          width: 80,
+          width: 120,
         },
         {
-          key: 'defaultValue',
-          title: '全局参数值',
-          dataIndex: 'defaultValue',
-          width: 80,
+          key: 'value',
+          title: '参数值',
+          dataIndex: 'value',
         },
         {
           key: 'dataType',
-          title: '全局参数类型',
+          title: '参数类型',
           dataIndex: 'dataType',
-          width: 80,
+          width: 140,
         },
         // {
         //   title: '操作',
@@ -720,6 +765,7 @@ export default {
       groups: [],
       taskDefineDtos: [], //表格数据
       visible: false,
+      isShowCorn: false,
     };
   },
 
@@ -785,6 +831,9 @@ export default {
 
     // 流程编号改变获取流程参数
     processNoChang: function (value) {
+      if(value == null){
+        return;
+      }
       const _self = this;
       _self.processDatas = [];
       const params = { processNo: value };
@@ -802,8 +851,13 @@ export default {
               let jsonStr = JSON.stringify(data.data);
               let datas = JSON.parse(jsonStr);
               let globalProperty  = JSON.parse(datas.globalProperty);
+              _self.processDatas = [];
               if(globalProperty.variables && globalProperty.variables.length>0){
-                _self.processDatas = globalProperty.variables;
+                for(let i = 0, size = globalProperty.variables.length; i < size; i ++){
+                  if(globalProperty.variables[i].inOutType === 'param'){
+                    _self.processDatas.push(globalProperty.variables[i]);
+                  }
+                }
               }
             }
           } else {
@@ -1199,12 +1253,12 @@ export default {
           if (successData) {
             if (successData.errorCode == 0) {
               Notify.success('成功', successData.errorMessage, 2000);
+              _self.restore();
+              _self.getAllTaskDefineDtos();
+              _self.visible = false;
             } else {
               Notify.error('失败', successData.errorMessage, false);
             }
-            _self.restore();
-            _self.getAllTaskDefineDtos();
-            _self.visible = false;
           }
         },
         errorData => {

+ 12 - 12
webpack.dev.js

@@ -60,71 +60,71 @@ module.exports = WebpackMerge.merge(baseConfig, {
     
     proxy: {
       '/api': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/static': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/content': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/dashboard': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/assets': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/mock': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/authApi': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/Dictionary': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/Files': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: false,
         changeOrigin: true,
         secure:true,
       },
       '/WebSocket': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: true,
         changeOrigin: true,
       },
       '/TrainVideo': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: true,
         changeOrigin: true,
       },
       '/gateway-api': {
-        target: 'http://127.0.0.1:10022/',
+        target: 'http://127.0.0.1:83/',
         ws: true,
         changeOrigin: true,
         secure:true,