cloud-web-corejs 1.0.285 → 1.0.287

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": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.285",
4
+ "version": "1.0.287",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -42,7 +42,7 @@
42
42
  icon="iconfont icon-a-bohui1">{{ $t2('驳回', 'components.wf.reject') }}
43
43
  </el-button>
44
44
  <el-button type="primary" plain class="btn" @click="openChangeWfForm"
45
- v-show="(wfInfo.toTransfer===null || wfInfo.toTransfer===undefined) ? wfInfo.toSubmit: wfInfo.toTransfer"
45
+ v-show="transferEnabled && ((wfInfo.toTransfer===null || wfInfo.toTransfer===undefined) ? wfInfo.toSubmit: wfInfo.toTransfer)"
46
46
  icon="iconfont icon-zhuanban">{{ $t2('转办', 'components.wf.transfer') }}
47
47
  </el-button>
48
48
  <el-button type="primary" plain class="btn" @click="openUrgingDialog" v-show="wfInfo.toInterrupt"
@@ -402,6 +402,7 @@ import Vue from "vue";
402
402
  import settingConfig from "@/settings";
403
403
  import commonMixin from "../../../mixins/mobile/common/index";
404
404
  import {getToken} from "../../../utils/auth";
405
+ import {isWfTransferEnabled, loadWfTransferEnabled} from "../../wf/wfTransferEnabled";
405
406
 
406
407
  let configUtil = {
407
408
  baseUrl: process.env.VUE_APP_BASE_API,
@@ -459,6 +460,9 @@ export default {
459
460
  let that = this.viewTarget;
460
461
  let _hideWf = that._hideWf || that.$attrs._hideWf;
461
462
  return _hideWf === true || _hideWf === 'true';
463
+ },
464
+ transferEnabled() {
465
+ return isWfTransferEnabled();
462
466
  }
463
467
  },
464
468
  data() {
@@ -739,6 +743,7 @@ export default {
739
743
  },
740
744
  initForAll() {
741
745
  let that = getTarget(this);
746
+ loadWfTransferEnabled(that);
742
747
  this.initWf(() => {
743
748
  if (this.wfInfo.procInstId) {
744
749
  this.initCurrentTask(this.wfInfo.procInstId, () => {
@@ -97,7 +97,7 @@ async function initVxeTable(option) {
97
97
  let searchColumns = null;
98
98
  if (tableName) {
99
99
  setTableState($grid, "tableName", tableName);
100
- if (option.path) {
100
+ if (option.path && option.readQueryAllPage !== false) {
101
101
  await getTableData(that, option.tableRef, "isQueryAllPage", (res1) => {
102
102
  let result = res1.objx ? res1.objx.data : null;
103
103
  if (result !== null && result !== undefined) {
@@ -1252,7 +1252,10 @@ function checkQueryTotal(that, tableRef, value) {
1252
1252
  let pagerConfig = $grid.pagerConfig;
1253
1253
 
1254
1254
  $grid.pagerConfig.layouts = pagerConfig.layouts || [];
1255
- addTableData(that, tableRef, value);
1255
+ let originOption = $grid.params && $grid.params.originOption;
1256
+ if (!originOption || originOption.readQueryAllPage !== false) {
1257
+ addTableData(that, tableRef, value);
1258
+ }
1256
1259
  $grid.commitProxy("query");
1257
1260
  }
1258
1261
 
@@ -45,9 +45,10 @@
45
45
  class="button-sty"
46
46
  @click="openChangeWfForm"
47
47
  v-show="
48
- wfInfo.toTransfer === null || wfInfo.toTransfer === undefined
48
+ transferEnabled &&
49
+ (wfInfo.toTransfer === null || wfInfo.toTransfer === undefined
49
50
  ? wfInfo.toSubmit
50
- : wfInfo.toTransfer
51
+ : wfInfo.toTransfer)
51
52
  "
52
53
  icon="iconfont icon-zhuanban"
53
54
  >{{ $t2("转办", "components.wf.transfer") }}
@@ -32,7 +32,7 @@
32
32
  @click="rejectWfTask('reject')" v-show="wfInfo.toReject">驳回
33
33
  </el-button>
34
34
  <el-button type="primary" class="btn" :class="{on:operateType == 'transfer'}"
35
- @click="openChangeWfForm('transfer')" v-show="wfInfo.toSubmit">转办
35
+ @click="openChangeWfForm('transfer')" v-show="transferEnabled && wfInfo.toSubmit">转办
36
36
  </el-button>
37
37
  <el-button type="primary" class="btn" :class="{on:operateType == 'urging'}"
38
38
  @click="openUrgingDialog(null)" v-show="wfInfo.toInterrupt">催办
@@ -5,6 +5,7 @@ import {selectDialogMixins} from "../../mixins/selectDialog";
5
5
  import {requireViewCompat} from "@base/utils/resolveViewComponent";
6
6
  import {getWfButtonNames, loadWfButtonNames} from "./wfButtonName";
7
7
  import {isWfAutoConfirm, loadWfAutoConfirm} from "./wfAutoConfirm";
8
+ import {isWfTransferEnabled, loadWfTransferEnabled} from "./wfTransferEnabled";
8
9
 
9
10
  let configUtil = {
10
11
  baseUrl: process.env.VUE_APP_BASE_API,
@@ -235,6 +236,10 @@ wfContentMixin = {
235
236
  let that = this.viewTarget;
236
237
  let _hideWf = that._hideWf || that.$attrs._hideWf;
237
238
  return _hideWf === true || _hideWf === 'true';
239
+ },
240
+ //转办:param20,未配置默认开启。读 observable,接口回来后按钮条会重算
241
+ transferEnabled() {
242
+ return isWfTransferEnabled();
238
243
  }
239
244
  },
240
245
  data() {
@@ -553,6 +558,8 @@ wfContentMixin = {
553
558
  },
554
559
  initForAll() {
555
560
  let that = getTarget(this);
561
+ //转办 param20:与 initWf 并行拉,未配置默认开
562
+ loadWfTransferEnabled(that);
556
563
  this.initWf(() => {
557
564
  if (this.wfInfo.procInstId) {
558
565
  this.initCurrentTask(this.wfInfo.procInstId, () => {
@@ -7,6 +7,7 @@
7
7
  * buttonType 只在「平铺成独立按钮」时用得上(见 HEADER_STANDALONE_KEYS),
8
8
  * 取值与流程模块按钮条里同名按钮保持一致。
9
9
  */
10
+ import { isWfTransferEnabled } from "./wfTransferEnabled";
10
11
 
11
12
  /* 详情标题栏里不收进下拉、直接平铺成独立按钮的操作。
12
13
  顺序按 getWfActionItems 的定义序,不按这里的书写序。 */
@@ -18,6 +19,8 @@ export function getWfActionItems(vm) {
18
19
  = wfInfo.toTransfer === null || wfInfo.toTransfer === undefined
19
20
  ? !!wfInfo.toSubmit
20
21
  : !!wfInfo.toTransfer;
22
+ //param20 关掉时整项不出,哪怕节点本身允许转办
23
+ toTransfer = isWfTransferEnabled() && toTransfer;
21
24
 
22
25
  return [
23
26
  {
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 流程转办开关:后台 wf_diy_attribute 的 param20,全局拉取一次后缓存。
3
+ * 格式 true/false,未配置时默认开启。
4
+ */
5
+ import Vue from "vue";
6
+
7
+ const wfTransfer = Vue.observable({
8
+ enabled: true,
9
+ });
10
+
11
+ let pending = null;
12
+
13
+ function parseEnabled(val) {
14
+ //只认明确关掉;布尔 false 和字符串 "false" 都关,其余(含没配)一律开
15
+ if (val === false || val === "false") return false;
16
+ return true;
17
+ }
18
+
19
+ export function isWfTransferEnabled() {
20
+ return wfTransfer.enabled !== false;
21
+ }
22
+
23
+ /**
24
+ * 拉取转办开关。全局只发一次请求,重复调用复用同一个 promise。
25
+ * @param {Object} vm 任意 Vue 实例(取 $http),不传则退回 window.$vueRoot
26
+ * @returns {Promise<Boolean>}
27
+ */
28
+ export function loadWfTransferEnabled(vm) {
29
+ if (pending) return pending;
30
+ let target = vm || window.$vueRoot;
31
+ if (!target || !target.$http) return Promise.resolve(wfTransfer.enabled);
32
+ let errored = false;
33
+ let request = new Promise((resolve) => {
34
+ target.$http({
35
+ url: USER_PREFIX + "/wf_diy_attribute/getValue",
36
+ method: "post",
37
+ data: { attributeKey: "param20" },
38
+ success: (res) => {
39
+ let val = res ? res.objx : null;
40
+ wfTransfer.enabled = parseEnabled(val);
41
+ resolve(wfTransfer.enabled);
42
+ },
43
+ fail: () => resolve(wfTransfer.enabled),
44
+ error: () => {
45
+ errored = true;
46
+ pending = null; //失败不锁死,下次进流程表单可重试
47
+ resolve(wfTransfer.enabled);
48
+ },
49
+ });
50
+ });
51
+ //回调若是同步回来的(拦截器短路、单测桩),上面那句 pending = null 会被下面这句盖掉
52
+ pending = errored ? null : request;
53
+ return request;
54
+ }
@@ -212,6 +212,7 @@ export default {
212
212
  },
213
213
  created() {
214
214
  if(this.widget.options.isNotQueryAllPage===undefined)this.widget.options.isNotQueryAllPage = false;
215
+ if(this.widget.options.isNotReadQueryAllPage===undefined)this.widget.options.isNotReadQueryAllPage = false;
215
216
  }
216
217
  };
217
218
  </script>
@@ -62,6 +62,9 @@
62
62
  <el-form-item label="是否查询总页数">
63
63
  <el-switch v-model="isQueryAllPage"></el-switch>
64
64
  </el-form-item>
65
+ <el-form-item label="是否读取总页数记忆">
66
+ <el-switch v-model="isReadQueryAllPage"></el-switch>
67
+ </el-form-item>
65
68
  <el-form-item label="默认每页查询数" class="form-item-label-top">
66
69
  <base-input-number
67
70
  v-model="optionModel.gridPageSize"
@@ -741,6 +744,14 @@ export default {
741
744
  this.optionModel.isNotQueryAllPage = !val;
742
745
  },
743
746
  },
747
+ isReadQueryAllPage: {
748
+ get() {
749
+ return !this.optionModel.isNotReadQueryAllPage;
750
+ },
751
+ set(val) {
752
+ this.optionModel.isNotReadQueryAllPage = !val;
753
+ },
754
+ },
744
755
  isShowQueryButton: {
745
756
  get() {
746
757
  return !this.optionModel.isNotShowQueryButton;
@@ -1107,15 +1118,15 @@ export default {
1107
1118
  </style>
1108
1119
 
1109
1120
  <style scoped>
1110
- .form-section-label {
1111
- margin: 16px 0 8px;
1112
- padding-left: 8px;
1113
- color: rgba(0, 0, 0, 0.65);
1114
- font-size: 13px;
1115
- font-weight: 600;
1116
- line-height: 1.3;
1117
- background: rgba(0, 0, 0, 0.04);
1118
- padding: 4px 0 4px 8px;
1121
+ .form-section-label {
1122
+ margin: 16px 0 8px;
1123
+ padding-left: 8px;
1124
+ color: rgba(0, 0, 0, 0.65);
1125
+ font-size: 13px;
1126
+ font-weight: 600;
1127
+ line-height: 1.3;
1128
+ background: rgba(0, 0, 0, 0.04);
1129
+ padding: 4px 0 4px 8px;
1119
1130
  }
1120
1131
 
1121
1132
  .label-tip-icon {
@@ -329,6 +329,7 @@ export const containers = [
329
329
  showRules: [],
330
330
  hideGridCheckBox: false,
331
331
  isNotQueryAllPage: false,
332
+ isNotReadQueryAllPage: false,
332
333
  isNotShowQueryButton: false,
333
334
 
334
335
  exportItemColumns: [],
@@ -2686,6 +2686,7 @@ modules = {
2686
2686
  columns: columns,
2687
2687
  searchColumns: searchColumns,
2688
2688
  isQueryAllPage,
2689
+ readQueryAllPage: !this.widget.options.isNotReadQueryAllPage,
2689
2690
  exportItemConfig,
2690
2691
  vform: true,
2691
2692
  ...(this.getDynamicColumnSourceType() !== "none"
@@ -177,6 +177,7 @@ import {
177
177
  } from "../../../../components/wf/wfButtonName";
178
178
  import { loadWfAutoConfirm } from "../../../../components/wf/wfAutoConfirm";
179
179
  import { loadWfUserRange } from "../../../../components/wf/wfUserRange";
180
+ import { loadWfTransferEnabled } from "../../../../components/wf/wfTransferEnabled";
180
181
  import settingConfig from "@/settings.js";
181
182
 
182
183
  export default {
@@ -200,6 +201,7 @@ export default {
200
201
  loadWfButtonNames(this);
201
202
  loadWfAutoConfirm(this);
202
203
  loadWfUserRange(this);
204
+ loadWfTransferEnabled(this);
203
205
  }
204
206
  },
205
207
  mounted() {
@@ -1,3 +1,5 @@
1
+ import {isWfTransferEnabled, loadWfTransferEnabled} from "@base/components/wf/wfTransferEnabled";
2
+
1
3
  export default {
2
4
  data() {
3
5
  return {
@@ -34,6 +36,11 @@ export default {
34
36
 
35
37
  }
36
38
  },
39
+ computed: {
40
+ transferEnabled() {
41
+ return isWfTransferEnabled();
42
+ }
43
+ },
37
44
  methods: {
38
45
  initCurrentPrefix() {
39
46
  let url = this.billJson.getUrl;
@@ -43,6 +50,7 @@ export default {
43
50
  },
44
51
  async initWf(option) {
45
52
  this.wfOption = option;
53
+ loadWfTransferEnabled(this);
46
54
  let hasWf = false;
47
55
  let wfInfo, currentTask, taskParam = {};
48
56
  await this.initWfInfo(option).then(res => {
@@ -300,7 +300,7 @@
300
300
  icon="iconfont icon-a-bohui1">{{ $t1('驳回') }}
301
301
  </el-button>
302
302
  <el-button class="btn" type="primary" @click="openChangeWfForm"
303
- v-if="wfEnabled && ((wfInfo.toTransfer===null || wfInfo.toTransfer===undefined) ? wfInfo.toSubmit: wfInfo.toTransfer)"
303
+ v-if="wfEnabled && transferEnabled && ((wfInfo.toTransfer===null || wfInfo.toTransfer===undefined) ? wfInfo.toSubmit: wfInfo.toTransfer)"
304
304
  icon="iconfont icon-zhuanban">{{ $t1('转办') }}
305
305
  </el-button>
306
306
  <!--end-->
@@ -171,7 +171,7 @@ export default {
171
171
  success: res => {
172
172
  let resList = res.objx || [];
173
173
  let defaulItems = [];
174
- for (let i = 1; i <= 20; i++) {
174
+ for (let i = 1; i <= 40; i++) {
175
175
  defaulItems.push({
176
176
  attributeKey: 'param' + i,
177
177
  attributeName: null,