mooho-base-admin-plus 2.10.61 → 2.10.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mooho-base-admin-plus",
3
3
  "description": "MOOHO basic framework for admin by Vue3",
4
- "version": "2.10.61",
4
+ "version": "2.10.62",
5
5
  "author": "jinyifan <jinyifan@mooho.com.cn>",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -108,15 +108,31 @@ export default {
108
108
  let data = {};
109
109
  this.columns.forEach(item => {
110
110
  if (item.defaultValue) {
111
- if (item.defaultValue == '{today}') {
111
+ if (item.defaultValue.startsWith('{today}')) {
112
112
  // 当前日期
113
113
  let date = new Date();
114
+
115
+ if (item.defaultValue.indexOf('+') != -1) {
116
+ date.setDate(date.getDate() + parseInt(item.defaultValue.split('+')[1]));
117
+ } else if (item.defaultValue.indexOf('-') != -1) {
118
+ date.setDate(date.getDate() - parseInt(item.defaultValue.split('-')[1]));
119
+ }
120
+
114
121
  let value = date.toISOString().replace(/T.*/, '');
115
122
  setData(data, item, new Date(value));
116
- } else if (item.defaultValue.startsWith('{today(') && item.defaultValue.endsWith(')}')) {
117
- // 当前时间转字符串
118
- let format = item.defaultValue.substr(7, item.defaultValue.length - 9);
119
- setData(data, item, dateFormat(new Date(), format));
123
+ } else if (item.defaultValue.startsWith('{today(')) {
124
+ // 当前日期
125
+ let date = new Date();
126
+
127
+ if (item.defaultValue.indexOf('+') != -1) {
128
+ date.setDate(date.getDate() + parseInt(item.defaultValue.split('+')[1]));
129
+ } else if (item.defaultValue.indexOf('-') != -1) {
130
+ date.setDate(date.getDate() - parseInt(item.defaultValue.split('-')[1]));
131
+ }
132
+
133
+ let format = item.defaultValue.substr(7, item.defaultValue.indexOf(')}') - 7);
134
+
135
+ setData(data, item, dateFormat(date, format));
120
136
  } else if (item.defaultValue == '{currentUserID}') {
121
137
  // 当前用户编号
122
138
  setData(data, item, this.info.id);
@@ -22,25 +22,25 @@
22
22
  @mousemove="mousemove"
23
23
  >
24
24
  <defs>
25
- <symbol id="iconUser" viewBox="0 0 1024 1024">
25
+ <symbol :id="'iconUser_' + id" viewBox="0 0 1024 1024">
26
26
  <path
27
27
  d="M908 799.542857a427.428571 427.428571 0 0 0-92.114286-136.571428 429.291429 429.291429 0 0 0-136.571428-92.114286c-0.457143-0.228571-0.914286-0.342857-1.371429-0.571429C749.142857 518.857143 795.428571 435.085714 795.428571 340.571429c0-156.571429-126.857143-283.428571-283.428571-283.428572S228.571429 184 228.571429 340.571429c0 94.514286 46.285714 178.285714 117.485714 229.828571-0.457143 0.228571-0.914286 0.342857-1.371429 0.571429-51.2 21.6-97.142857 52.571429-136.571428 92.114285a429.291429 429.291429 0 0 0-92.114286 136.571429A424.8 424.8 0 0 0 82.285714 957.485714a9.142857 9.142857 0 0 0 9.142857 9.371429h68.571429c5.028571 0 9.028571-4 9.142857-8.914286 2.285714-88.228571 37.714286-170.857143 100.342857-233.485714 64.8-64.8 150.857143-100.457143 242.514286-100.457143s177.714286 35.657143 242.514286 100.457143C817.142857 787.085714 852.571429 869.714286 854.857143 957.942857c0.114286 5.028571 4.114286 8.914286 9.142857 8.914286h68.571429a9.142857 9.142857 0 0 0 9.142857-9.371429c-1.142857-54.628571-12.457143-107.771429-33.714286-157.942857zM512 537.142857c-52.457143 0-101.828571-20.457143-138.971429-57.6S315.428571 393.028571 315.428571 340.571429c0-52.457143 20.457143-101.828571 57.6-138.971429S459.542857 144 512 144s101.828571 20.457143 138.971429 57.6S708.571429 288.114286 708.571429 340.571429c0 52.457143-20.457143 101.828571-57.6 138.971428S564.457143 537.142857 512 537.142857z"
28
28
  ></path>
29
29
  </symbol>
30
- <symbol id="iconApi" viewBox="0 0 1024 1024">
30
+ <symbol :id="'iconApi_' + id" viewBox="0 0 1024 1024">
31
31
  <path
32
32
  d="M975.657143 96.914286l-48.457143-48.457143c-1.828571-1.828571-4.114286-2.628571-6.514286-2.628572s-4.685714 0.914286-6.514285 2.628572l-86.971429 86.971428a227.737143 227.737143 0 0 0-128.114286-39.2c-58.514286 0-117.028571 22.285714-161.714285 66.971429L420.914286 279.657143a9.177143 9.177143 0 0 0 0 12.914286L731.428571 603.085714c1.828571 1.828571 4.114286 2.628571 6.514286 2.628572 2.285714 0 4.685714-0.914286 6.514286-2.628572l116.457143-116.457143c78.742857-78.857143 88-200.8 27.771428-289.714285l86.971429-86.971429c3.542857-3.657143 3.542857-9.485714 0-13.028571zM805.828571 431.657143l-67.885714 67.885714-213.485714-213.485714 67.885714-67.885714c28.457143-28.457143 66.4-44.228571 106.742857-44.228572 40.342857 0 78.171429 15.657143 106.742857 44.228572 28.457143 28.457143 44.228571 66.4 44.228572 106.742857 0 40.342857-15.771429 78.171429-44.228572 106.742857z m-217.371428 120a9.177143 9.177143 0 0 0-12.914286 0L499.428571 627.771429 396.228571 524.571429l76.228572-76.228572c3.542857-3.542857 3.542857-9.371429 0-12.914286L430.857143 393.828571a9.177143 9.177143 0 0 0-12.914286 0L341.714286 470.057143l-49.142857-49.142857a8.971429 8.971429 0 0 0-6.514286-2.628572c-2.285714 0-4.685714 0.914286-6.514286 2.628572L163.2 537.371429c-78.742857 78.857143-88 200.8-27.771429 289.714285l-86.971428 86.971429a9.177143 9.177143 0 0 0 0 12.914286l48.457143 48.457142c1.828571 1.828571 4.114286 2.628571 6.514285 2.628572s4.685714-0.914286 6.514286-2.628572l86.971429-86.971428c38.514286 26.171429 83.314286 39.2 128.114285 39.2 58.514286 0 117.028571-22.285714 161.714286-66.971429l116.457143-116.457143c3.542857-3.542857 3.542857-9.371429 0-12.914285l-49.142857-49.142857 76.228571-76.228572c3.542857-3.542857 3.542857-9.371429 0-12.914286l-41.828571-41.371428zM431.657143 805.828571a150.08 150.08 0 0 1-106.742857 44.228572c-40.342857 0-78.171429-15.657143-106.742857-44.228572a150.08 150.08 0 0 1-44.228572-106.742857c0-40.342857 15.657143-78.171429 44.228572-106.742857l67.885714-67.885714 213.485714 213.485714-67.885714 67.885714z"
33
33
  ></path>
34
34
  </symbol>
35
- <marker id="arrowStart" markerWidth="10" markerHeight="10" refX="2" refY="2" orient="auto">
35
+ <marker :id="'arrowStart_' + id" markerWidth="10" markerHeight="10" refX="2" refY="2" orient="auto">
36
36
  <circle cx="2" cy="2" r="2" fill="#000" />
37
37
  </marker>
38
- <marker id="arrowEnd" markerWidth="10" markerHeight="10" refX="6" refY="2" orient="auto">
38
+ <marker :id="'arrowEnd_' + id" markerWidth="10" markerHeight="10" refX="6" refY="2" orient="auto">
39
39
  <path d="M0,0 L0,4 L6,2 Z" style="fill: #000" />
40
40
  </marker>
41
- <path v-for="(item, index) in data.outcomes" :key="index" :id="'outcome_' + item.pid" :d="getOutcomPath(item)" />
41
+ <path v-for="(item, index) in data.outcomes" :key="index" :id="'outcome_' + id + '_' + item.pid" :d="getOutcomPath(item)" />
42
42
  </defs>
43
- <rect fill="#ddd" stroke-width="0" rx="0" stroke="#000" :x="10" :y="10" :width="30 * 2 + setting.rectWidth" :height="630"></rect>
43
+ <rect v-if="!readonly" fill="#ddd" stroke-width="0" rx="0" stroke="#000" :x="10" :y="10" :width="30 * 2 + setting.rectWidth" :height="630"></rect>
44
44
  <!-- 开始 -->
45
45
  <template v-for="(item, index) in displayActivities" :key="index">
46
46
  <template v-if="item.activityType === 'Begin'">
@@ -99,7 +99,7 @@
99
99
  <!-- 交互 -->
100
100
  <template v-else-if="item.activityType === 'Interactive'">
101
101
  <rect
102
- fill="#fff"
102
+ :fill="getColor(item)"
103
103
  stroke-width="2"
104
104
  rx="5"
105
105
  stroke="#000"
@@ -113,7 +113,7 @@
113
113
  :y="item.y - setting.rectHeight / 2 + 2"
114
114
  :width="setting.rectHeight / 3"
115
115
  :height="setting.rectHeight / 3"
116
- href="#iconUser"
116
+ :href="'#iconUser_' + id"
117
117
  ></use>
118
118
  <text fill="#000" :x="item.x" :y="item.y" :font-size="setting.rectFontSize" text-anchor="middle" dominant-baseline="middle">
119
119
  {{ item.name }}
@@ -200,7 +200,7 @@
200
200
  :y="item.y - setting.rectHeight / 2 + 2"
201
201
  :width="setting.rectHeight / 3"
202
202
  :height="setting.rectHeight / 3"
203
- href="#iconApi"
203
+ :href="'#iconApi_' + id"
204
204
  ></use>
205
205
  <text fill="#000" :x="item.x" :y="item.y" :font-size="setting.rectFontSize" text-anchor="middle" dominant-baseline="middle">
206
206
  {{ item.name }}
@@ -306,7 +306,7 @@
306
306
  />
307
307
  </template>
308
308
  <text fill="#000" :font-size="setting.lineFontSize" text-anchor="middle" :dominant-baseline="'text-after-edge'" @dblclick="dblclickOutcome(item, index)">
309
- <textPath :href="'#outcome_' + item.pid" startOffset="50%">
309
+ <textPath :href="'#outcome_' + id + '_' + item.pid" startOffset="50%">
310
310
  {{ item.name }}
311
311
  </textPath>
312
312
  </text>
@@ -318,16 +318,16 @@
318
318
  :x2="current.x"
319
319
  :y2="current.y"
320
320
  style="stroke: rgb(0, 0, 0); stroke-width: 2; pointer-events: none"
321
- marker-start="url(#arrowStart)"
322
- marker-end="url(#arrowEnd)"
321
+ :marker-start="'url(#arrowStart_' + id + ')'"
322
+ :marker-end="'url(#arrowEnd_' + id + ')'"
323
323
  ></line>
324
324
  </svg>
325
325
  </div>
326
326
  <template #footer>
327
327
  <div>
328
328
  <slot name="footer">
329
- <Button type="primary" custom-icon="fa fa-save" @click="save">{{ $t('Front_Btn_Save') }}</Button>
330
- <Button type="primary" custom-icon="fa fa-upload" @click="publish">{{ $t('Front_Btn_Publish') }}</Button>
329
+ <Button v-if="!readonly" type="primary" custom-icon="fa fa-save" @click="save">{{ $t('Front_Btn_Save') }}</Button>
330
+ <Button v-if="!readonly" type="primary" custom-icon="fa fa-upload" @click="publish">{{ $t('Front_Btn_Publish') }}</Button>
331
331
  </slot>
332
332
  <Button type="default" custom-icon="fa fa-times" @click="close">{{ $t('Front_Btn_Close') }}</Button>
333
333
  </div>
@@ -405,6 +405,8 @@
405
405
  props: {},
406
406
  data() {
407
407
  return {
408
+ id: null,
409
+ readonly: null,
408
410
  opened: false,
409
411
  current: {},
410
412
  offset: {},
@@ -430,7 +432,12 @@
430
432
  },
431
433
  computed: {
432
434
  displayActivities() {
433
- let activities = this.toolbars;
435
+ let activities = [];
436
+
437
+ if (!this.readonly) {
438
+ activities = this.toolbars;
439
+ }
440
+
434
441
  if (this.data && this.data.activities) {
435
442
  activities = activities.concat(this.data.activities);
436
443
  }
@@ -446,6 +453,7 @@
446
453
  }
447
454
  },
448
455
  async created() {
456
+ this.id = this.generateRandomString(10);
449
457
  this.toolbars = [];
450
458
  const src = await enumApi.query('ActivityType');
451
459
  let index = 0;
@@ -467,6 +475,12 @@
467
475
  async open(params) {
468
476
  this.opened = true;
469
477
 
478
+ if (params.processInstID) {
479
+ this.readonly = true;
480
+ } else {
481
+ this.readonly = false;
482
+ }
483
+
470
484
  const res = await processDefApi.getChart(params);
471
485
 
472
486
  this.data = res;
@@ -614,6 +628,10 @@
614
628
  },
615
629
  // 鼠标按钮在活动上按下
616
630
  mousedownActivity(activity, e) {
631
+ if (this.readonly) {
632
+ return;
633
+ }
634
+
617
635
  if (activity.isTool) {
618
636
  // 从工具栏拖动
619
637
  this.newActivity = this.copy(activity);
@@ -629,6 +647,10 @@
629
647
  },
630
648
  // 鼠标按钮在活动上抬起
631
649
  mouseupActivity(activity) {
650
+ if (this.readonly) {
651
+ return;
652
+ }
653
+
632
654
  if (this.isCreatingOutcome) {
633
655
  if (this.activityFrom.pid == activity.pid) {
634
656
  return;
@@ -658,6 +680,10 @@
658
680
  },
659
681
  // 鼠标按钮在点上按下
660
682
  mousedownPoint(outcome, point, index, e) {
683
+ if (this.readonly) {
684
+ return;
685
+ }
686
+
661
687
  this.movingOutcome = outcome;
662
688
  this.movingPointIndex = index;
663
689
 
@@ -667,6 +693,10 @@
667
693
  },
668
694
  // 鼠标按钮在点上抬起
669
695
  mouseupPoint(outcome, index) {
696
+ if (this.readonly) {
697
+ return;
698
+ }
699
+
670
700
  if (this.isCreatingOutcome) {
671
701
  if (this.activityFrom.pid == activity.pid) {
672
702
  return;
@@ -696,6 +726,10 @@
696
726
  },
697
727
  // 鼠标双击活动
698
728
  dblclickActivity(activity) {
729
+ if (this.readonly) {
730
+ return;
731
+ }
732
+
699
733
  if (!activity.isTool) {
700
734
  this.editActivity = activity;
701
735
  if (activity.activityType == 'Interactive') {
@@ -717,6 +751,10 @@
717
751
  },
718
752
  // 鼠标双击结果
719
753
  dblclickOutcome(outcome) {
754
+ if (this.readonly) {
755
+ return;
756
+ }
757
+
720
758
  this.editOutcome = this.copy(outcome);
721
759
 
722
760
  let activity = this.data.activities.find(item => {
@@ -731,6 +769,10 @@
731
769
  },
732
770
  // 鼠标按钮抬起
733
771
  mouseUp(e) {
772
+ if (this.readonly) {
773
+ return;
774
+ }
775
+
734
776
  if (this.isMoving && this.movingActivity && this.movingActivity.isTool) {
735
777
  // 从工具栏拖动
736
778
  if (e.layerX > 10 + 30 * 2 + this.setting.rectWidth + this.setting.rectWidth / 2) {
@@ -750,6 +792,10 @@
750
792
  },
751
793
  // 鼠标移动
752
794
  mousemove(e) {
795
+ if (this.readonly) {
796
+ return;
797
+ }
798
+
753
799
  this.current.x = e.offsetX;
754
800
  this.current.y = e.offsetY;
755
801
  //this.$forceUpdate();
@@ -767,16 +813,28 @@
767
813
  },
768
814
  // 鼠标移入活动中心位置
769
815
  mouseenterCenter(activity) {
816
+ if (this.readonly) {
817
+ return;
818
+ }
819
+
770
820
  if (!activity.isTool) {
771
821
  activity.activeCenter = true;
772
822
  }
773
823
  },
774
824
  // 鼠标移出活动中心位置
775
825
  mouseleaveCenter(activity) {
826
+ if (this.readonly) {
827
+ return;
828
+ }
829
+
776
830
  activity.activeCenter = false;
777
831
  },
778
832
  // 活动中心位置按下鼠标
779
833
  mousedownCenter(activity) {
834
+ if (this.readonly) {
835
+ return;
836
+ }
837
+
780
838
  if (activity.activeCenter) {
781
839
  // 添加Outcome
782
840
  this.isCreatingOutcome = true;
@@ -948,8 +1006,8 @@
948
1006
  y1: d.fromPoint.y,
949
1007
  x2: d.toPoint.x,
950
1008
  y2: d.toPoint.y,
951
- markerStart: 'url(#arrowStart)',
952
- markerEnd: 'url(#arrowEnd)'
1009
+ markerStart: 'url(#arrowStart_' + this.id + ')',
1010
+ markerEnd: 'url(#arrowEnd_' + this.id + ')'
953
1011
  });
954
1012
  } else {
955
1013
  // 折线
@@ -964,7 +1022,7 @@
964
1022
  y1: start.y,
965
1023
  x2: point.x,
966
1024
  y2: point.y,
967
- markerStart: i == 0 ? 'url(#arrowStart)' : null
1025
+ markerStart: i == 0 ? 'url(#arrowStart_' + this.id + ')' : null
968
1026
  });
969
1027
 
970
1028
  i++;
@@ -976,7 +1034,7 @@
976
1034
  y1: start.y,
977
1035
  x2: d.toPoint.x,
978
1036
  y2: d.toPoint.y,
979
- markerEnd: 'url(#arrowEnd)'
1037
+ markerEnd: 'url(#arrowEnd_' + this.id + ')'
980
1038
  });
981
1039
  }
982
1040
 
@@ -991,6 +1049,36 @@
991
1049
  // 折线
992
1050
  return JSON.parse(outcome.points);
993
1051
  }
1052
+ },
1053
+ generateRandomString(length) {
1054
+ const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
1055
+ let result = '';
1056
+ for (let i = 0; i < length; i++) {
1057
+ const randomIndex = Math.floor(Math.random() * characters.length);
1058
+ result += characters[randomIndex];
1059
+ }
1060
+ return result;
1061
+ },
1062
+ getColor(activity) {
1063
+ if (!this.data.processInst || (this.data.processInst.status != 'InProcess' && this.data.processInst.status != 'Finished')) {
1064
+ return '#fff';
1065
+ }
1066
+
1067
+ let activityInst = this.data.activityInsts.find(item => item.activityID == activity.id);
1068
+
1069
+ if (activityInst == null) {
1070
+ return '#fff';
1071
+ } else if (activityInst.status == 'Pending') {
1072
+ return '#ff9900';
1073
+ } else if (activityInst.status == 'Finished') {
1074
+ return '#8ecb30';
1075
+ } else if (activityInst.status == 'Closed') {
1076
+ return 'gray';
1077
+ } else if (activityInst.status == 'Pass') {
1078
+ return 'gray';
1079
+ }
1080
+
1081
+ return '#fff';
994
1082
  }
995
1083
  }
996
1084
  };
@@ -42,6 +42,7 @@
42
42
  <Button type="primary" v-if="isRedirectable" custom-icon="fa fa-share" @click="$refs.redirectTaskForm.open()">{{ $t('Front_Btn_Redirect') }}</Button>
43
43
  <Button type="primary" v-if="isRecallable" custom-icon="fa fa-reply-all" @click="recall()">{{ $t('Front_Btn_Recall') }}</Button>
44
44
  <Button type="primary" v-if="isMessageEnable" custom-icon="fa fa-comment-dots" @click="openMessage()">{{ $t('Front_Btn_Leave_Message') }}</Button>
45
+ <Button type="info" custom-icon="fa fa-route" @click="$refs.flowChart.open({ processInstID: task.processInstID })">{{ $t('Front_Btn_Process') }}</Button>
45
46
  <Button type="info" custom-icon="fa fa-history" @click="$refs.approvalHistoryTable.open({ processInstID: task.processInstID })">{{ $t('Front_Btn_History') }}</Button>
46
47
  <Button type="default" custom-icon="fa fa-times" @click="opened = false">{{ $t('Front_Btn_Close') }}</Button>
47
48
  </div>
@@ -85,11 +86,13 @@
85
86
  <Button type="default" custom-icon="fa fa-times" @click="messageOpened = false">{{ $t('Front_Btn_Close') }}</Button>
86
87
  </template>
87
88
  </Modal>
89
+ <flow-chart ref="flowChart" />
88
90
  </div>
89
91
  </template>
90
92
  <script>
91
93
  import { markRaw } from 'vue';
92
94
  import mixinPage from '../../mixins/page';
95
+ import flowChart from '../../components/workflow/flow-chart.vue';
93
96
  import customModelApi from '../../api/customModel';
94
97
  import processInstApi from '../../api/processInst';
95
98
  import modelApi from '../../api/model';
@@ -97,7 +100,7 @@
97
100
 
98
101
  export default {
99
102
  mixins: [mixinPage],
100
- components: {},
103
+ components: { flowChart },
101
104
  data() {
102
105
  return {
103
106
  task: null,
@@ -1 +1 @@
1
- import{s as e}from"./lang.js";const t={i:{locale:"en-US",select:{placeholder:"Select",noMatch:"No matching data",loading:"Loading"},table:{noDataText:"No Data",noFilteredDataText:"No filter data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},datepicker:{selectDate:"Select date",selectTime:"Select time",startTime:"Start Time",endTime:"End Time",clear:"Clear",ok:"OK",datePanelLabel:"[mmmm] [yyyy]",month:"Month",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",year:"Year",weekStartDay:"0",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},months:{m1:"Jan",m2:"Feb",m3:"Mar",m4:"Apr",m5:"May",m6:"Jun",m7:"Jul",m8:"Aug",m9:"Sep",m10:"Oct",m11:"Nov",m12:"Dec"}},transfer:{titles:{source:"Source",target:"Target"},filterPlaceholder:"Search here",notFoundText:"Not Found"},modal:{okText:"OK",cancelText:"Cancel"},poptip:{okText:"OK",cancelText:"Cancel"},page:{prev:"Previous Page",next:"Next Page",total:"Total",item:"item",items:"items",prev5:"Previous 5 Pages",next5:"Next 5 Pages",page:"/page",goto:"Goto",p:""},rate:{star:"Star",stars:"Stars"},time:{before:" ago",after:" after",just:"just now",seconds:" seconds",minutes:" minutes",hours:" hours",days:" days"},tree:{emptyText:"No Data"}}};e(t);export{t as default};
1
+ import{s as e}from"./lang.js";const t={i:{locale:"en-US",select:{placeholder:"Select",noMatch:"No matching data",loading:"Loading"},table:{noDataText:"No Data",noFilteredDataText:"No filter data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},datepicker:{selectDate:"Select date",selectTime:"Select time",startTime:"Start Time",endTime:"End Time",clear:"Clear",ok:"OK",datePanelLabel:"[mmmm] [yyyy]",month:"Month",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",year:"Year",weekStartDay:"0",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},months:{m1:"Jan",m2:"Feb",m3:"Mar",m4:"Apr",m5:"May",m6:"Jun",m7:"Jul",m8:"Aug",m9:"Sep",m10:"Oct",m11:"Nov",m12:"Dec"}},transfer:{titles:{source:"Source",target:"Target"},filterPlaceholder:"Search here",notFoundText:"Not Found"},modal:{okText:"OK",cancelText:"Cancel"},poptip:{okText:"OK",cancelText:"Cancel"},page:{prev:"Previous Page",next:"Next Page",total:"Total",item:"item",items:"items",prev5:"Previous 5 Pages",next5:"Next 5 Pages",page:"/page",goto:"Goto",p:""},rate:{star:"Star",stars:"Stars"},time:{before:" ago",after:" after",just:"just now",seconds:" seconds",minutes:" minutes",hours:" hours",days:" days"},tree:{emptyText:"No Data"}}};e(t);export{t as default};
@@ -1 +1 @@
1
- const e=typeof window!="undefined";function n(i){e&&typeof window.viewuiplus!="undefined"&&("langs"in viewuiplus||(viewuiplus.langs={}),viewuiplus.langs[i.i.locale]=i)}export{n as s};
1
+ const e=typeof window!="undefined";function n(i){e&&typeof window.viewuiplus!="undefined"&&("langs"in viewuiplus||(viewuiplus.langs={}),viewuiplus.langs[i.i.locale]=i)}export{n as s};
@@ -1 +1 @@
1
- import{s as e}from"./lang.js";const t={i:{locale:"zh-CN",select:{placeholder:"\u8BF7\u9009\u62E9",noMatch:"\u65E0\u5339\u914D\u6570\u636E",loading:"\u52A0\u8F7D\u4E2D"},table:{noDataText:"\u6682\u65E0\u6570\u636E",noFilteredDataText:"\u6682\u65E0\u7B5B\u9009\u7ED3\u679C",confirmFilter:"\u7B5B\u9009",resetFilter:"\u91CD\u7F6E",clearFilter:"\u5168\u90E8",sumText:"\u5408\u8BA1"},datepicker:{selectDate:"\u9009\u62E9\u65E5\u671F",selectTime:"\u9009\u62E9\u65F6\u95F4",startTime:"\u5F00\u59CB\u65F6\u95F4",endTime:"\u7ED3\u675F\u65F6\u95F4",clear:"\u6E05\u7A7A",ok:"\u786E\u5B9A",datePanelLabel:"[yyyy\u5E74] [m\u6708]",month:"\u6708",month1:"1 \u6708",month2:"2 \u6708",month3:"3 \u6708",month4:"4 \u6708",month5:"5 \u6708",month6:"6 \u6708",month7:"7 \u6708",month8:"8 \u6708",month9:"9 \u6708",month10:"10 \u6708",month11:"11 \u6708",month12:"12 \u6708",year:"\u5E74",weekStartDay:"0",weeks:{sun:"\u65E5",mon:"\u4E00",tue:"\u4E8C",wed:"\u4E09",thu:"\u56DB",fri:"\u4E94",sat:"\u516D"},months:{m1:"1\u6708",m2:"2\u6708",m3:"3\u6708",m4:"4\u6708",m5:"5\u6708",m6:"6\u6708",m7:"7\u6708",m8:"8\u6708",m9:"9\u6708",m10:"10\u6708",m11:"11\u6708",m12:"12\u6708"}},transfer:{titles:{source:"\u6E90\u5217\u8868",target:"\u76EE\u7684\u5217\u8868"},filterPlaceholder:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9",notFoundText:"\u5217\u8868\u4E3A\u7A7A"},modal:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88"},poptip:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88"},page:{prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875",total:"\u5171",item:"\u6761",items:"\u6761",prev5:"\u5411\u524D 5 \u9875",next5:"\u5411\u540E 5 \u9875",page:"\u6761/\u9875",goto:"\u8DF3\u81F3",p:"\u9875"},rate:{star:"\u661F",stars:"\u661F"},time:{before:"\u524D",after:"\u540E",just:"\u521A\u521A",seconds:"\u79D2",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929"},tree:{emptyText:"\u6682\u65E0\u6570\u636E"}}};e(t);export{t as default};
1
+ import{s as e}from"./lang.js";const t={i:{locale:"zh-CN",select:{placeholder:"\u8BF7\u9009\u62E9",noMatch:"\u65E0\u5339\u914D\u6570\u636E",loading:"\u52A0\u8F7D\u4E2D"},table:{noDataText:"\u6682\u65E0\u6570\u636E",noFilteredDataText:"\u6682\u65E0\u7B5B\u9009\u7ED3\u679C",confirmFilter:"\u7B5B\u9009",resetFilter:"\u91CD\u7F6E",clearFilter:"\u5168\u90E8",sumText:"\u5408\u8BA1"},datepicker:{selectDate:"\u9009\u62E9\u65E5\u671F",selectTime:"\u9009\u62E9\u65F6\u95F4",startTime:"\u5F00\u59CB\u65F6\u95F4",endTime:"\u7ED3\u675F\u65F6\u95F4",clear:"\u6E05\u7A7A",ok:"\u786E\u5B9A",datePanelLabel:"[yyyy\u5E74] [m\u6708]",month:"\u6708",month1:"1 \u6708",month2:"2 \u6708",month3:"3 \u6708",month4:"4 \u6708",month5:"5 \u6708",month6:"6 \u6708",month7:"7 \u6708",month8:"8 \u6708",month9:"9 \u6708",month10:"10 \u6708",month11:"11 \u6708",month12:"12 \u6708",year:"\u5E74",weekStartDay:"0",weeks:{sun:"\u65E5",mon:"\u4E00",tue:"\u4E8C",wed:"\u4E09",thu:"\u56DB",fri:"\u4E94",sat:"\u516D"},months:{m1:"1\u6708",m2:"2\u6708",m3:"3\u6708",m4:"4\u6708",m5:"5\u6708",m6:"6\u6708",m7:"7\u6708",m8:"8\u6708",m9:"9\u6708",m10:"10\u6708",m11:"11\u6708",m12:"12\u6708"}},transfer:{titles:{source:"\u6E90\u5217\u8868",target:"\u76EE\u7684\u5217\u8868"},filterPlaceholder:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9",notFoundText:"\u5217\u8868\u4E3A\u7A7A"},modal:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88"},poptip:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88"},page:{prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875",total:"\u5171",item:"\u6761",items:"\u6761",prev5:"\u5411\u524D 5 \u9875",next5:"\u5411\u540E 5 \u9875",page:"\u6761/\u9875",goto:"\u8DF3\u81F3",p:"\u9875"},rate:{star:"\u661F",stars:"\u661F"},time:{before:"\u524D",after:"\u540E",just:"\u521A\u521A",seconds:"\u79D2",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929"},tree:{emptyText:"\u6682\u65E0\u6570\u636E"}}};e(t);export{t as default};
@@ -82,6 +82,14 @@
82
82
  >
83
83
  {{ $t('Front_Btn_Cancel') }}
84
84
  </Button>
85
+ <Button
86
+ type="info"
87
+ v-if="$refs.form && $refs.form.data && $refs.form.data.application && $refs.form.data.application.processInstID"
88
+ custom-icon="fa fa-route"
89
+ @click="$refs.flowChart.open({ processInstID: $refs.form.data.application.processInstID })"
90
+ >
91
+ {{ $t('Front_Btn_Process') }}
92
+ </Button>
85
93
  <Button
86
94
  type="info"
87
95
  v-if="$refs.form && $refs.form.data && $refs.form.data.application && $refs.form.data.application.processInstID"
@@ -139,6 +147,14 @@
139
147
  >
140
148
  发表意见
141
149
  </Button>
150
+ <Button
151
+ type="info"
152
+ v-if="$refs.showForm && $refs.showForm.data && $refs.showForm.data.application && $refs.showForm.data.application.processInstID"
153
+ custom-icon="fa fa-route"
154
+ @click="$refs.flowChart.open({ processInstID: $refs.showForm.data.application.processInstID })"
155
+ >
156
+ {{ $t('Front_Btn_Process') }}
157
+ </Button>
142
158
  <Button
143
159
  type="info"
144
160
  v-if="$refs.showForm && $refs.showForm.data && $refs.showForm.data.application && $refs.showForm.data.application.processInstID"
@@ -182,6 +198,7 @@
182
198
  <Button type="default" custom-icon="fa fa-times" @click="messageOpened = false">{{ $t('Front_Btn_Close') }}</Button>
183
199
  </template>
184
200
  </Modal>
201
+ <flow-chart ref="flowChart" />
185
202
  </div>
186
203
  </template>
187
204
  <script>
@@ -190,12 +207,13 @@
190
207
  import applicationApi from '../../api/application';
191
208
  import processInstApi from '../../api/processInst';
192
209
  import mixinPage from '../../mixins/page';
210
+ import flowChart from '../../components/workflow/flow-chart.vue';
193
211
  import { mapActions } from 'vuex';
194
212
 
195
213
  export default {
196
214
  // name: this.$route.name,
197
215
  mixins: [mixinPage],
198
- components: {},
216
+ components: { flowChart },
199
217
  data() {
200
218
  return {
201
219
  filter: {},