ecinc-cloud-mappaio 9.7.67 → 9.7.69

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.
@@ -9478,7 +9478,7 @@ src.install = function (Vue) {
9478
9478
 
9479
9479
  /***/ }),
9480
9480
 
9481
- /***/ 5471:
9481
+ /***/ 1345:
9482
9482
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9483
9483
 
9484
9484
  "use strict";
@@ -12656,8 +12656,8 @@ var BodyFile_component = (0,componentNormalizer/* default */.A)(
12656
12656
  )
12657
12657
 
12658
12658
  /* harmony default export */ var BodyFile = (BodyFile_component.exports);
12659
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=template&id=d4a12f7a&scoped=true
12660
- var HandleIdeavue_type_template_id_d4a12f7a_scoped_true_render = function render() {
12659
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=template&id=5ed9d962&scoped=true
12660
+ var HandleIdeavue_type_template_id_5ed9d962_scoped_true_render = function render() {
12661
12661
  var _vm = this,
12662
12662
  _c = _vm._self._c;
12663
12663
  return _c('div', [_vm.showIdea > 0 && _vm.shouldShow ? _c('div', {
@@ -12926,6 +12926,17 @@ var HandleIdeavue_type_template_id_d4a12f7a_scoped_true_render = function render
12926
12926
  on: {
12927
12927
  "click": _vm.startChat
12928
12928
  }
12929
+ }), _c('van-button', {
12930
+ directives: [{
12931
+ name: "show",
12932
+ rawName: "v-show",
12933
+ value: false,
12934
+ expression: "false"
12935
+ }],
12936
+ staticClass: "phoneCallBtn",
12937
+ on: {
12938
+ "click": _vm.onPhoneCallBtnClick
12939
+ }
12929
12940
  }), _c('van-button', {
12930
12941
  directives: [{
12931
12942
  name: "show",
@@ -12937,15 +12948,34 @@ var HandleIdeavue_type_template_id_d4a12f7a_scoped_true_render = function render
12937
12948
  on: {
12938
12949
  "click": _vm.todownload
12939
12950
  }
12951
+ }), _c('van-action-sheet', {
12952
+ attrs: {
12953
+ "actions": _vm.phoneActions,
12954
+ "cancel-text": "取消"
12955
+ },
12956
+ on: {
12957
+ "select": _vm.onPhoneActionSelect
12958
+ },
12959
+ model: {
12960
+ value: _vm.showPhoneActionSheet,
12961
+ callback: function callback($$v) {
12962
+ _vm.showPhoneActionSheet = $$v;
12963
+ },
12964
+ expression: "showPhoneActionSheet"
12965
+ }
12940
12966
  })], 1);
12941
12967
  };
12942
- var HandleIdeavue_type_template_id_d4a12f7a_scoped_true_staticRenderFns = [];
12968
+ var HandleIdeavue_type_template_id_5ed9d962_scoped_true_staticRenderFns = [];
12943
12969
 
12944
12970
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=script&lang=js
12945
12971
  window.startChat = function (staffId) {
12946
12972
  document.querySelector('.startChatBtn').staffId = staffId;
12947
12973
  document.querySelector('.startChatBtn').click();
12948
12974
  };
12975
+ window.showPhoneAction = function (staffId) {
12976
+ document.querySelector('.phoneCallBtn').staffId = staffId;
12977
+ document.querySelector('.phoneCallBtn').click();
12978
+ };
12949
12979
  window.todownload = function (val) {
12950
12980
  console.log(val);
12951
12981
  document.querySelector('.donext-attachBtn').downUrl = val.split(',')[0];
@@ -13015,11 +13045,19 @@ window.todownload = function (val) {
13015
13045
  collapseNames: [],
13016
13046
  viewCommentsNum: null,
13017
13047
  handleArr: [],
13018
- anywhereChat: window.anywhereChat || false,
13019
- // 是否允许发起聊天
13048
+ anywhereChat: this.$settings && this.$settings.anywhereChat || false,
13049
+ // 是否允许发起聊天(settings.js配置)
13050
+ anywherePhone: this.$settings && this.$settings.anywherePhone || false,
13051
+ // 是否允许拨打电话(settings.js配置)
13020
13052
  loginUser: this.$store.getters.loginUser,
13021
13053
  wfInstance: {},
13022
- embeddedShown: false // 意见栏是否已全部在业务表单内通过 idea-field 渲染
13054
+ embeddedShown: false,
13055
+ // 意见栏是否已全部在业务表单内通过 idea-field 渲染
13056
+ showPhoneActionSheet: false,
13057
+ curPhoneNum: '',
13058
+ ideaStaffMobileMap: {},
13059
+ // 意见签名人staffId → 手机号
13060
+ phoneQueriedStaffIds: [] // 已查询过手机号的签名人staffId,避免 updated 反复触发重复请求
13023
13061
  };
13024
13062
  },
13025
13063
  computed: {
@@ -13034,6 +13072,13 @@ window.todownload = function (val) {
13034
13072
  shouldShow: function shouldShow() {
13035
13073
  if (!this.checkEmbeddedShow) return true;
13036
13074
  return !this.embeddedShown && this.visibleIdeaList.length > 0;
13075
+ },
13076
+ phoneActions: function phoneActions() {
13077
+ return [{
13078
+ name: this.$tx('ecmapp.common.makeCall', '拨打电话')
13079
+ }, {
13080
+ name: this.$tx('ecmapp.common.sendMessage', '发送短信')
13081
+ }];
13037
13082
  }
13038
13083
  },
13039
13084
  watch: {
@@ -13114,37 +13159,13 @@ window.todownload = function (val) {
13114
13159
  }
13115
13160
  },
13116
13161
  updated: function updated() {
13117
- var _this4 = this;
13118
- var ideaDivs = document.querySelectorAll('.ideaDiv');
13119
- ideaDivs.forEach(function (ideaDiv) {
13120
- if (ideaDivs && _this4.anywhereChat) {
13121
- if (ideaDiv.innerText !== _this4.$tx('ecmapp.common.nothing', '无') && ideaDiv.innerText !== '' && ideaDiv.innerText !== _this4.$tx('ecmapp.common.nothing', '无') && ideaDiv.attributes['staffId']) {
13122
- var staffId = ideaDiv.attributes['staffId'].nodeValue;
13123
- if (staffId) {
13124
- var self = false;
13125
- _this4.loginUser.staffList.forEach(function (staff) {
13126
- if (staffId === staff.id) {
13127
- self = true;
13128
- }
13129
- });
13130
- if (!self) {
13131
- ideaDiv.innerHTML += '<a href="javascript:" onclick="startChat(\'' + staffId + '\')"><i data-v-5c359387="" class="idea-start-chat van-icon van-icon-chat-o"></i></a>';
13132
- }
13133
- }
13134
- }
13135
- }
13136
- var ps = ideaDiv.querySelectorAll('p');
13137
- if (ps.length > 1) {
13138
- var span = ps[ps.length - 1].querySelector('span');
13139
- span.style = 'width:20px';
13140
- }
13141
- });
13162
+ this.adjustIdeaDivs();
13142
13163
  },
13143
13164
  beforeDestroy: function beforeDestroy() {},
13144
13165
  mounted: function mounted() {
13145
- var _this5 = this;
13166
+ var _this4 = this;
13146
13167
  setTimeout(function () {
13147
- _this5.showDoNextAttach();
13168
+ _this4.showDoNextAttach();
13148
13169
  var ideaDivs = document.querySelectorAll('.ideaDiv');
13149
13170
  ideaDivs.forEach(function (ideaDiv) {
13150
13171
  var ps = ideaDiv.querySelectorAll('p');
@@ -13155,14 +13176,62 @@ window.todownload = function (val) {
13155
13176
  });
13156
13177
  }, 0);
13157
13178
 
13179
+ // 首次渲染不会触发updated(仅后续数据变化重渲染才触发),标签页等场景挂载后无数据变化会导致图标不注入,此处主动执行一次;此时ideaDiv已在DOM中
13180
+ this.$nextTick(function () {
13181
+ _this4.adjustIdeaDivs();
13182
+ });
13183
+
13158
13184
  // idea-field 在自身 mounted 中才渲染,延时检查表单内嵌情况
13159
13185
  if (this.checkEmbeddedShow) {
13160
13186
  setTimeout(function () {
13161
- _this5.checkEmbeddedShown();
13187
+ _this4.checkEmbeddedShown();
13162
13188
  }, 500);
13163
13189
  }
13164
13190
  },
13165
13191
  methods: {
13192
+ // 意见栏DOM后处理:注入聊天/电话图标、触发手机号查询、签名留白裁剪;首次渲染不会触发updated,需由mounted主动调用一次,后续重渲染由updated触发(重渲染会清除innerHTML注入的图标,需反复补注)
13193
+ adjustIdeaDivs: function adjustIdeaDivs() {
13194
+ var _this5 = this;
13195
+ var ideaDivs = document.querySelectorAll('.ideaDiv');
13196
+ var ideaStaffIds = []; // 非本人意见签名人的staffId,用于批量查询手机号
13197
+ ideaDivs.forEach(function (ideaDiv) {
13198
+ if (ideaDivs && (_this5.anywhereChat || _this5.anywherePhone)) {
13199
+ if (ideaDiv.innerText !== _this5.$tx('ecmapp.common.nothing', '无') && ideaDiv.innerText !== '' && ideaDiv.innerText !== _this5.$tx('ecmapp.common.nothing', '无') && ideaDiv.attributes['staffId']) {
13200
+ var staffId = ideaDiv.attributes['staffId'].nodeValue;
13201
+ if (staffId) {
13202
+ var self = false;
13203
+ _this5.loginUser.staffList.forEach(function (staff) {
13204
+ if (staffId === staff.id) {
13205
+ self = true;
13206
+ }
13207
+ });
13208
+ if (!self) {
13209
+ if (_this5.anywherePhone && ideaStaffIds.indexOf(staffId) === -1) {
13210
+ ideaStaffIds.push(staffId);
13211
+ }
13212
+ if (_this5.anywhereChat && !ideaDiv.querySelector('.idea-start-chat')) {
13213
+ ideaDiv.innerHTML += '<a class="idea-icon-link" href="javascript:" onclick="startChat(\'' + staffId + '\')"><i data-v-5c359387="" class="idea-start-chat van-icon van-icon-chat-o"></i></a>';
13214
+ }
13215
+ }
13216
+ }
13217
+ }
13218
+ }
13219
+ var ps = ideaDiv.querySelectorAll('p');
13220
+ if (ps.length > 1) {
13221
+ var span = ps[ps.length - 1].querySelector('span');
13222
+ span.style = 'width:20px';
13223
+ }
13224
+ });
13225
+
13226
+ // 仅查询未查过的签名人,反复触发时不重复请求;查到的手机号用于给签名行注入拨打电话图标
13227
+ var newStaffIds = ideaStaffIds.filter(function (staffId) {
13228
+ return _this5.phoneQueriedStaffIds.indexOf(staffId) === -1;
13229
+ });
13230
+ if (newStaffIds.length > 0) {
13231
+ this.queryIdeaStaffMobiles(newStaffIds);
13232
+ }
13233
+ this.cropIdeaSignatureWhitespace();
13234
+ },
13166
13235
  // 检查 wfIdeaList 中每个意见栏是否已在业务表单内通过 idea-field 渲染(生成 class 为 field-{意见栏名} 的 DOM)
13167
13236
  checkEmbeddedShown: function checkEmbeddedShown() {
13168
13237
  if (this.wfIdeaList.length === 0) {
@@ -13246,17 +13315,9 @@ window.todownload = function (val) {
13246
13315
  }).then(function (response) {
13247
13316
  if (response.code === 'success') {
13248
13317
  //response.body.listdata[0].webchat = '23234'
13249
- if (response.body.listdata.length > 0 && response.body.listdata[0].webchat) {
13250
- var formUrl = encodeURIComponent(location.href.split('#')[1]);
13318
+ if (response.body.listdata && response.body.listdata.length > 0 && response.body.listdata[0].webchat) {
13251
13319
  var webchat = response.body.listdata[0].webchat;
13252
- _this8.$router.push({
13253
- path: '/chatRoom',
13254
- query: {
13255
- webchat: webchat,
13256
- openType: 'singleChat',
13257
- from: formUrl
13258
- }
13259
- });
13320
+ _this8.openChatRoom(webchat);
13260
13321
  } else {
13261
13322
  _this8.$dialog.alert({
13262
13323
  message: _this8.$tx('ecmapp.wflowform.notActivated', '未开通即时通信功能')
@@ -13264,22 +13325,196 @@ window.todownload = function (val) {
13264
13325
  }
13265
13326
  } else {
13266
13327
  _this8.$dialog.alert({
13267
- message: res.message
13328
+ message: response.message
13329
+ });
13330
+ }
13331
+ });
13332
+ },
13333
+ //跳转聊天室;表单页常处于PopupDialog右滑屏弹层栈中(路由带tier参数,每开一层弹层push一次tier+1),
13334
+ //直接push其他路由会销毁表单组件树,还开着的PopupDialog在beforeDestroy中会$router.back(-1)把路由拉回表单页并重新展开弹层;
13335
+ //须先按tier层数回退到无弹层的基础路由(弹层$route侦听器自行复位关闭),再跳转
13336
+ openChatRoom: function openChatRoom(webchat) {
13337
+ var _this9 = this;
13338
+ var hash = location.href.split('#')[1] || '';
13339
+ //返回地址剔除tier参数,从聊天室返回表单时不再带入弹层层级
13340
+ var fromUrl = hash.split('?')[0] + (hash.indexOf('?') > -1 ? '?' + hash.split('?')[1].split('&').filter(function (param) {
13341
+ return param.indexOf('tier=') !== 0;
13342
+ }).join('&') : '');
13343
+ var formUrl = encodeURIComponent(fromUrl);
13344
+ var pushChatRoom = function pushChatRoom() {
13345
+ _this9.$router.push({
13346
+ path: '/chat/chatRoom',
13347
+ query: {
13348
+ webchat: webchat,
13349
+ openType: 'singleChat',
13350
+ from: formUrl
13351
+ }
13352
+ });
13353
+ };
13354
+ var curTier = ~~this.$route.query.tier;
13355
+ if (curTier > 0) {
13356
+ //回退到基础路由后等待路由更新与弹层状态复位(hash模式路由更新为异步事件),再跳转聊天室;
13357
+ //此时PopupDialog的tier均已归零,随表单销毁不会再back(-1)
13358
+ this.$router.go(-curTier);
13359
+ setTimeout(function () {
13360
+ pushChatRoom();
13361
+ }, 300);
13362
+ } else {
13363
+ pushChatRoom();
13364
+ }
13365
+ },
13366
+ //批量查询意见签名人联系信息,缓存手机号并为有手机号的签名行注入拨打电话图标(参考startChat的接口调用方式)
13367
+ queryIdeaStaffMobiles: function queryIdeaStaffMobiles(staffIds) {
13368
+ var _this10 = this;
13369
+ this.$http({
13370
+ method: 'GET',
13371
+ params: {
13372
+ staffIds: staffIds.join()
13373
+ },
13374
+ url: 'base/organMgr/findLinkManListByStaffIds'
13375
+ }).then(function (response) {
13376
+ staffIds.forEach(function (staffId) {
13377
+ if (_this10.phoneQueriedStaffIds.indexOf(staffId) === -1) {
13378
+ _this10.phoneQueriedStaffIds.push(staffId);
13379
+ }
13380
+ });
13381
+ if (response.code !== 'success' || !response.body || !response.body.listdata) return;
13382
+ response.body.listdata.forEach(function (item) {
13383
+ var sid = item.staffId || item.id;
13384
+ if (!sid || !item.mobile) return;
13385
+ _this10.ideaStaffMobileMap[sid] = item.mobile;
13386
+ document.querySelectorAll('.ideaDiv[staffId="' + sid + '"]').forEach(function (ideaDiv) {
13387
+ if (!ideaDiv.querySelector('.idea-phone-call')) {
13388
+ ideaDiv.innerHTML += '<a class="idea-icon-link" href="javascript:" onclick="showPhoneAction(\'' + sid + '\')"><i class="idea-phone-call van-icon van-icon-phone-o"></i></a>';
13389
+ }
13390
+ });
13391
+ });
13392
+ });
13393
+ },
13394
+ //隐藏按钮转发(见window.showPhoneAction):优先取缓存手机号,缺失时单人查询接口兜底,再弹出拨号/短信actionSheet
13395
+ onPhoneCallBtnClick: function onPhoneCallBtnClick() {
13396
+ var _this11 = this;
13397
+ var staffId = document.querySelector('.phoneCallBtn').staffId;
13398
+ var mobile = this.ideaStaffMobileMap[staffId];
13399
+ if (mobile) {
13400
+ this.curPhoneNum = mobile;
13401
+ this.showPhoneActionSheet = true;
13402
+ return;
13403
+ }
13404
+ this.$http({
13405
+ method: 'GET',
13406
+ params: {
13407
+ staffIds: staffId
13408
+ },
13409
+ url: 'base/organMgr/findLinkManListByStaffIds'
13410
+ }).then(function (response) {
13411
+ if (response.code === 'success' && response.body.listdata.length > 0 && response.body.listdata[0].mobile) {
13412
+ _this11.ideaStaffMobileMap[staffId] = response.body.listdata[0].mobile;
13413
+ _this11.curPhoneNum = response.body.listdata[0].mobile;
13414
+ _this11.showPhoneActionSheet = true;
13415
+ } else {
13416
+ _this11.$dialog.alert({
13417
+ message: _this11.$tx('ecmapp.wflowform.noPhoneNum', '未查询到该签名人的手机号')
13268
13418
  });
13269
13419
  }
13270
13420
  });
13421
+ },
13422
+ //参考InputField.vue:选择拨打电话/发送短信后通过tel:/sms:协议拉起
13423
+ onPhoneActionSelect: function onPhoneActionSelect(action) {
13424
+ var phoneNum = String(this.curPhoneNum).replace(/[\s-]/g, '');
13425
+ var callText = this.$tx('ecmapp.common.makeCall', '拨打电话');
13426
+ var smsText = this.$tx('ecmapp.common.sendMessage', '发送短信');
13427
+ if (action.name === callText) {
13428
+ window.location.href = 'tel:' + phoneNum;
13429
+ } else if (action.name === smsText) {
13430
+ window.location.href = 'sms:' + phoneNum;
13431
+ }
13432
+ this.showPhoneActionSheet = false;
13433
+ },
13434
+ //剪切手写签名图片四周留白,仅保留字迹部分;移植自ecwapp HandleIdea.vue,dataset.cropped防重复裁剪(重复调用幂等)
13435
+ cropIdeaSignatureWhitespace: function cropIdeaSignatureWhitespace() {
13436
+ var _this12 = this;
13437
+ document.querySelectorAll('.ideaSignature').forEach(function (img) {
13438
+ if (img.dataset.cropped === '1') return;
13439
+ if (img.complete) {
13440
+ _this12._cropSignature(img);
13441
+ } else {
13442
+ img.addEventListener('load', function () {
13443
+ return _this12._cropSignature(img);
13444
+ }, {
13445
+ once: true
13446
+ });
13447
+ }
13448
+ });
13449
+ },
13450
+ _cropSignature: function _cropSignature(img) {
13451
+ if (img.dataset.cropped === '1' || !img.naturalWidth || !img.naturalHeight) return;
13452
+ try {
13453
+ var width = img.naturalWidth;
13454
+ var height = img.naturalHeight;
13455
+ var canvas = document.createElement('canvas');
13456
+ canvas.width = width;
13457
+ canvas.height = height;
13458
+ var ctx = canvas.getContext('2d');
13459
+ ctx.drawImage(img, 0, 0);
13460
+ var pixels = ctx.getImageData(0, 0, width, height).data;
13461
+
13462
+ //以左上角像素为背景色,兼容透明底与白底图片,扫描内容像素边界
13463
+ var bgR = pixels[0];
13464
+ var bgG = pixels[1];
13465
+ var bgB = pixels[2];
13466
+ var bgA = pixels[3];
13467
+ var minX = width;
13468
+ var minY = height;
13469
+ var maxX = -1;
13470
+ var maxY = -1;
13471
+ for (var y = 0; y < height; y++) {
13472
+ for (var x = 0; x < width; x++) {
13473
+ var i = (y * width + x) * 4;
13474
+ var isContent = void 0;
13475
+ if (bgA < 20) {
13476
+ isContent = pixels[i + 3] > 20; //透明背景:不透明即内容
13477
+ } else {
13478
+ isContent = pixels[i + 3] > 20 && Math.abs(pixels[i] - bgR) + Math.abs(pixels[i + 1] - bgG) + Math.abs(pixels[i + 2] - bgB) > 80; //与背景色差异明显即内容
13479
+ }
13480
+ if (isContent) {
13481
+ if (x < minX) minX = x;
13482
+ if (x > maxX) maxX = x;
13483
+ if (y < minY) minY = y;
13484
+ if (y > maxY) maxY = y;
13485
+ }
13486
+ }
13487
+ }
13488
+ if (maxX < 0) return; //未识别到内容像素,保持原图
13489
+
13490
+ var pad = 2; //保留少量边距,避免裁掉笔锋
13491
+ minX = Math.max(0, minX - pad);
13492
+ minY = Math.max(0, minY - pad);
13493
+ maxX = Math.min(width - 1, maxX + pad);
13494
+ maxY = Math.min(height - 1, maxY + pad);
13495
+ var cropW = maxX - minX + 1;
13496
+ var cropH = maxY - minY + 1;
13497
+ var cropCanvas = document.createElement('canvas');
13498
+ cropCanvas.width = cropW;
13499
+ cropCanvas.height = cropH;
13500
+ cropCanvas.getContext('2d').drawImage(canvas, minX, minY, cropW, cropH, 0, 0, cropW, cropH);
13501
+ img.dataset.cropped = '1';
13502
+ img.src = cropCanvas.toDataURL('image/png');
13503
+ } catch (e) {
13504
+ //canvas被跨域污染等异常时不处理,保持原图
13505
+ }
13271
13506
  }
13272
13507
  }
13273
13508
  });
13274
13509
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=script&lang=js
13275
13510
  /* harmony default export */ var src_HandleIdeavue_type_script_lang_js = (HandleIdeavue_type_script_lang_js);
13276
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=0&id=d4a12f7a&prod&scoped=true&lang=scss
13277
- var HandleIdeavue_type_style_index_0_id_d4a12f7a_prod_scoped_true_lang_scss = __webpack_require__(8330);
13278
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=0&id=d4a12f7a&prod&scoped=true&lang=scss
13511
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=0&id=5ed9d962&prod&scoped=true&lang=scss
13512
+ var HandleIdeavue_type_style_index_0_id_5ed9d962_prod_scoped_true_lang_scss = __webpack_require__(2030);
13513
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=0&id=5ed9d962&prod&scoped=true&lang=scss
13279
13514
 
13280
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=1&id=d4a12f7a&prod&lang=css
13281
- var HandleIdeavue_type_style_index_1_id_d4a12f7a_prod_lang_css = __webpack_require__(8663);
13282
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=1&id=d4a12f7a&prod&lang=css
13515
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=1&id=5ed9d962&prod&lang=css
13516
+ var HandleIdeavue_type_style_index_1_id_5ed9d962_prod_lang_css = __webpack_require__(8915);
13517
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue?vue&type=style&index=1&id=5ed9d962&prod&lang=css
13283
13518
 
13284
13519
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/HandleIdea.vue
13285
13520
 
@@ -13293,11 +13528,11 @@ var HandleIdeavue_type_style_index_1_id_d4a12f7a_prod_lang_css = __webpack_requi
13293
13528
 
13294
13529
  var HandleIdea_component = (0,componentNormalizer/* default */.A)(
13295
13530
  src_HandleIdeavue_type_script_lang_js,
13296
- HandleIdeavue_type_template_id_d4a12f7a_scoped_true_render,
13297
- HandleIdeavue_type_template_id_d4a12f7a_scoped_true_staticRenderFns,
13531
+ HandleIdeavue_type_template_id_5ed9d962_scoped_true_render,
13532
+ HandleIdeavue_type_template_id_5ed9d962_scoped_true_staticRenderFns,
13298
13533
  false,
13299
13534
  null,
13300
- "d4a12f7a",
13535
+ "5ed9d962",
13301
13536
  null
13302
13537
 
13303
13538
  )
@@ -17939,8 +18174,8 @@ var SubmitDialog_component = (0,componentNormalizer/* default */.A)(
17939
18174
  )
17940
18175
 
17941
18176
  /* harmony default export */ var SubmitDialog = (SubmitDialog_component.exports);
17942
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=template&id=16e84a2b&scoped=true
17943
- var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render = function render() {
18177
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=template&id=3afd5fea&scoped=true
18178
+ var WfNodelogListvue_type_template_id_3afd5fea_scoped_true_render = function render() {
17944
18179
  var _vm = this,
17945
18180
  _c = _vm._self._c;
17946
18181
  return _c('div', {
@@ -17978,6 +18213,7 @@ var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render = function ren
17978
18213
  }
17979
18214
  }, [_c('van-steps', {
17980
18215
  attrs: {
18216
+ "active": -1,
17981
18217
  "direction": "vertical",
17982
18218
  "active-color": "#1989fa",
17983
18219
  "active-icon": "passed",
@@ -17994,7 +18230,7 @@ var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render = function ren
17994
18230
  }, _vm._l(_vm.wfNodeLogList, function (item) {
17995
18231
  return _c('van-step', {
17996
18232
  key: item.id,
17997
- class: item.step === 1 || item.status == 6 || item.status == 7 || _vm.openType == 'callback' ? 'active-step-finish' : 'active-step-active'
18233
+ class: item.step === 1 || item.status == 6 || item.status == 7 || item.status == 9 || _vm.openType == 'callback' ? 'active-step-finish' : 'active-step-active'
17998
18234
  }, [_vm.openType === 'callback' && _vm.callbackMode === 'beforeend' && item.status < 6 ? _c('van-checkbox', {
17999
18235
  attrs: {
18000
18236
  "slot": "inactive-icon",
@@ -18034,6 +18270,16 @@ var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render = function ren
18034
18270
  return _vm.startChat(item.staffId, item.staffName);
18035
18271
  }
18036
18272
  }
18273
+ }) : _vm._e(), _vm.anywherePhone && _vm.loginUser.personAccount !== item.staffAccount && _vm.nodelogStaffMobileMap[item.staffId] ? _c('van-icon', {
18274
+ staticClass: "start-phone",
18275
+ attrs: {
18276
+ "name": "phone-o"
18277
+ },
18278
+ on: {
18279
+ "click": function click($event) {
18280
+ return _vm.onPhoneClick(item.staffId);
18281
+ }
18282
+ }
18037
18283
  }) : _vm._e(), _vm._v(" " + _vm._s(item.staffName) + " ")], 1)]), _c('div', {
18038
18284
  staticClass: "licont"
18039
18285
  }, [_vm.showProcessedTimeLength === 1 ? [_c('p', [_c('span', {
@@ -18137,9 +18383,24 @@ var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render = function ren
18137
18383
  }
18138
18384
  }, [_vm._v("收 回")])], 1) : _vm._e()], 1), _c('WriteToReadIdea'), _c('ReturnHistoryNode', {
18139
18385
  ref: "returnHistoryNode"
18140
- }), _c('ModifyWflogAddUser'), _c('ModifyWflogForwardTodo')], 1);
18386
+ }), _c('ModifyWflogAddUser'), _c('ModifyWflogForwardTodo'), _c('van-action-sheet', {
18387
+ attrs: {
18388
+ "actions": _vm.phoneActions,
18389
+ "cancel-text": "取消"
18390
+ },
18391
+ on: {
18392
+ "select": _vm.onPhoneActionSelect
18393
+ },
18394
+ model: {
18395
+ value: _vm.showPhoneActionSheet,
18396
+ callback: function callback($$v) {
18397
+ _vm.showPhoneActionSheet = $$v;
18398
+ },
18399
+ expression: "showPhoneActionSheet"
18400
+ }
18401
+ })], 1);
18141
18402
  };
18142
- var WfNodelogListvue_type_template_id_16e84a2b_scoped_true_staticRenderFns = [];
18403
+ var WfNodelogListvue_type_template_id_3afd5fea_scoped_true_staticRenderFns = [];
18143
18404
 
18144
18405
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/ModifyWflogAddUser.vue?vue&type=template&id=2b451f48&scoped=true
18145
18406
  var ModifyWflogAddUservue_type_template_id_2b451f48_scoped_true_render = function render() {
@@ -19685,12 +19946,28 @@ var WfNodelogListvue_type_script_lang_js_moment = __webpack_require__(5093);
19685
19946
  // 总办理耗时
19686
19947
  showpop: false,
19687
19948
  // 是否显示滑屏窗口
19688
- anywhereChat: window.anywhereChat || false,
19689
- // 是否允许发起聊天
19949
+ anywhereChat: this.$settings && this.$settings.anywhereChat || false,
19950
+ // 是否允许发起聊天(settings.js配置)
19951
+ anywherePhone: this.$settings && this.$settings.anywherePhone || false,
19952
+ // 是否允许拨打电话(settings.js配置)
19953
+ showPhoneActionSheet: false,
19954
+ curPhoneNum: '',
19955
+ nodelogStaffMobileMap: {},
19956
+ // 节点处理人staffId → 手机号
19957
+ phoneQueriedStaffIds: [],
19958
+ // 已查询过手机号的staffId,避免重复请求
19690
19959
  loginUser: this.$store.getters.loginUser
19691
19960
  };
19692
19961
  },
19693
- computed: {},
19962
+ computed: {
19963
+ phoneActions: function phoneActions() {
19964
+ return [{
19965
+ name: this.$tx('ecmapp.common.makeCall', '拨打电话')
19966
+ }, {
19967
+ name: this.$tx('ecmapp.common.sendMessage', '发送短信')
19968
+ }];
19969
+ }
19970
+ },
19694
19971
  watch: {},
19695
19972
  created: function created() {
19696
19973
  var curTN = this.$vnode.context.curTN;
@@ -19806,6 +20083,7 @@ var WfNodelogListvue_type_script_lang_js_moment = __webpack_require__(5093);
19806
20083
 
19807
20084
  // 打开流程日志滑屏窗口
19808
20085
  _this.showpop = true;
20086
+ _this.queryNodelogStaffMobiles();
19809
20087
  } else {
19810
20088
  console.log(response.message);
19811
20089
  }
@@ -19972,20 +20250,8 @@ var WfNodelogListvue_type_script_lang_js_moment = __webpack_require__(5093);
19972
20250
  url: 'base/organMgr/findLinkManListByStaffIds'
19973
20251
  }).then(function (response) {
19974
20252
  if (response.code === 'success') {
19975
- if (response.body.listdata.length > 0 && response.body.listdata[0].webchat) {
19976
- _this5.$router.back(-1);
19977
- setTimeout(function () {
19978
- var wfNodelogListUrl = encodeURIComponent(location.href.split('#')[1]);
19979
- var webchat = response.body.listdata[0].webchat;
19980
- _this5.$router.push({
19981
- path: '/chat/chatRoom',
19982
- query: {
19983
- webchat: webchat,
19984
- openType: 'singleChat',
19985
- from: wfNodelogListUrl
19986
- }
19987
- });
19988
- }, 100);
20253
+ if (response.body.listdata && response.body.listdata.length > 0 && response.body.listdata[0].webchat) {
20254
+ _this5.openChatRoom(response.body.listdata[0].webchat);
19989
20255
  } else {
19990
20256
  _this5.$dialog.alert({
19991
20257
  message: _this5.$tx('ecmapp.wflowform.notActivated1', {
@@ -20000,6 +20266,113 @@ var WfNodelogListvue_type_script_lang_js_moment = __webpack_require__(5093);
20000
20266
  }
20001
20267
  });
20002
20268
  },
20269
+ //跳转聊天室;表单页常处于PopupDialog右滑屏弹层栈中(路由带tier参数,每开一层弹层push一次tier+1),
20270
+ //直接push其他路由会销毁表单组件树,还开着的PopupDialog在beforeDestroy中会$router.back(-1)把路由拉回并重新展开弹层;
20271
+ //须先按tier层数回退到无弹层的基础路由(弹层$route侦听器自行复位关闭),再跳转(参考HandleIdea.openChatRoom)
20272
+ openChatRoom: function openChatRoom(webchat) {
20273
+ var _this6 = this;
20274
+ var hash = location.href.split('#')[1] || '';
20275
+ //返回地址剔除tier参数,从聊天室返回表单时不再带入弹层层级
20276
+ var fromUrl = hash.split('?')[0] + (hash.indexOf('?') > -1 ? '?' + hash.split('?')[1].split('&').filter(function (param) {
20277
+ return param.indexOf('tier=') !== 0;
20278
+ }).join('&') : '');
20279
+ var formUrl = encodeURIComponent(fromUrl);
20280
+ var pushChatRoom = function pushChatRoom() {
20281
+ _this6.$router.push({
20282
+ path: '/chat/chatRoom',
20283
+ query: {
20284
+ webchat: webchat,
20285
+ openType: 'singleChat',
20286
+ from: formUrl
20287
+ }
20288
+ });
20289
+ };
20290
+ var curTier = ~~this.$route.query.tier;
20291
+ if (curTier > 0) {
20292
+ //回退到基础路由后等待路由更新与弹层状态复位(hash模式路由更新为异步事件),再跳转聊天室;
20293
+ //此时PopupDialog的tier均已归零,随表单销毁不会再back(-1)
20294
+ this.$router.go(-curTier);
20295
+ setTimeout(function () {
20296
+ pushChatRoom();
20297
+ }, 300);
20298
+ } else {
20299
+ pushChatRoom();
20300
+ }
20301
+ },
20302
+ //批量查询非本人节点处理人的手机号,缓存到nodelogStaffMobileMap,供模板电话图标显隐与点击拨号使用;列表场景查不到静默不提示
20303
+ queryNodelogStaffMobiles: function queryNodelogStaffMobiles() {
20304
+ var _this7 = this;
20305
+ if (!this.anywherePhone) return;
20306
+ var staffIds = [];
20307
+ this.wfNodeLogList.forEach(function (item) {
20308
+ if (_this7.loginUser.personAccount !== item.staffAccount && item.staffId && staffIds.indexOf(item.staffId) === -1) {
20309
+ staffIds.push(item.staffId);
20310
+ }
20311
+ });
20312
+ var newStaffIds = staffIds.filter(function (staffId) {
20313
+ return _this7.phoneQueriedStaffIds.indexOf(staffId) === -1;
20314
+ });
20315
+ if (newStaffIds.length === 0) return;
20316
+ this.$http({
20317
+ method: 'GET',
20318
+ params: {
20319
+ staffIds: newStaffIds.join()
20320
+ },
20321
+ url: 'base/organMgr/findLinkManListByStaffIds'
20322
+ }).then(function (response) {
20323
+ newStaffIds.forEach(function (staffId) {
20324
+ if (_this7.phoneQueriedStaffIds.indexOf(staffId) === -1) {
20325
+ _this7.phoneQueriedStaffIds.push(staffId);
20326
+ }
20327
+ });
20328
+ if (response.code !== 'success' || !response.body || !response.body.listdata) return;
20329
+ response.body.listdata.forEach(function (item) {
20330
+ var sid = item.staffId || item.id;
20331
+ if (!sid || !item.mobile) return;
20332
+ //$set保证新增属性响应式,触发模板电话图标显示
20333
+ _this7.$set(_this7.nodelogStaffMobileMap, sid, item.mobile);
20334
+ });
20335
+ });
20336
+ },
20337
+ //点击电话图标:优先取缓存手机号,缺失时单人查询接口兜底,再弹出拨号/短信actionSheet(参考HandleIdea.onPhoneCallBtnClick)
20338
+ onPhoneClick: function onPhoneClick(staffId) {
20339
+ var _this8 = this;
20340
+ var mobile = this.nodelogStaffMobileMap[staffId];
20341
+ if (mobile) {
20342
+ this.curPhoneNum = mobile;
20343
+ this.showPhoneActionSheet = true;
20344
+ return;
20345
+ }
20346
+ this.$http({
20347
+ method: 'GET',
20348
+ params: {
20349
+ staffIds: staffId
20350
+ },
20351
+ url: 'base/organMgr/findLinkManListByStaffIds'
20352
+ }).then(function (response) {
20353
+ if (response.code === 'success' && response.body.listdata && response.body.listdata.length > 0 && response.body.listdata[0].mobile) {
20354
+ _this8.$set(_this8.nodelogStaffMobileMap, staffId, response.body.listdata[0].mobile);
20355
+ _this8.curPhoneNum = response.body.listdata[0].mobile;
20356
+ _this8.showPhoneActionSheet = true;
20357
+ } else {
20358
+ _this8.$dialog.alert({
20359
+ message: _this8.$tx('ecmapp.wflowform.noPhoneNum', '未查询到该签名人的手机号')
20360
+ });
20361
+ }
20362
+ });
20363
+ },
20364
+ //参考InputField.vue:选择拨打电话/发送短信后通过tel:/sms:协议拉起
20365
+ onPhoneActionSelect: function onPhoneActionSelect(action) {
20366
+ var phoneNum = String(this.curPhoneNum).replace(/[\s-]/g, '');
20367
+ var callText = this.$tx('ecmapp.common.makeCall', '拨打电话');
20368
+ var smsText = this.$tx('ecmapp.common.sendMessage', '发送短信');
20369
+ if (action.name === callText) {
20370
+ window.location.href = 'tel:' + phoneNum;
20371
+ } else if (action.name === smsText) {
20372
+ window.location.href = 'sms:' + phoneNum;
20373
+ }
20374
+ this.showPhoneActionSheet = false;
20375
+ },
20003
20376
  btnReturnHistoryClick: function btnReturnHistoryClick(tnPID) {
20004
20377
  //驳回指定节点或任意节点,退回相关逻辑由ReturnHistoryNode组件处理
20005
20378
  this.$refs.returnHistoryNode.open(tnPID, this.$vnode.context, this.quickSubmitNoConfirm);
@@ -20008,9 +20381,9 @@ var WfNodelogListvue_type_script_lang_js_moment = __webpack_require__(5093);
20008
20381
  });
20009
20382
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=script&lang=js
20010
20383
  /* harmony default export */ var src_WfNodelogListvue_type_script_lang_js = (WfNodelogListvue_type_script_lang_js);
20011
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=style&index=0&id=16e84a2b&prod&scoped=true&lang=scss
20012
- var WfNodelogListvue_type_style_index_0_id_16e84a2b_prod_scoped_true_lang_scss = __webpack_require__(4645);
20013
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=style&index=0&id=16e84a2b&prod&scoped=true&lang=scss
20384
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=style&index=0&id=3afd5fea&prod&scoped=true&lang=scss
20385
+ var WfNodelogListvue_type_style_index_0_id_3afd5fea_prod_scoped_true_lang_scss = __webpack_require__(4927);
20386
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/WfNodelogList.vue?vue&type=style&index=0&id=3afd5fea&prod&scoped=true&lang=scss
20014
20387
 
20015
20388
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/WfNodelogList.vue
20016
20389
 
@@ -20023,11 +20396,11 @@ var WfNodelogListvue_type_style_index_0_id_16e84a2b_prod_scoped_true_lang_scss =
20023
20396
 
20024
20397
  var WfNodelogList_component = (0,componentNormalizer/* default */.A)(
20025
20398
  src_WfNodelogListvue_type_script_lang_js,
20026
- WfNodelogListvue_type_template_id_16e84a2b_scoped_true_render,
20027
- WfNodelogListvue_type_template_id_16e84a2b_scoped_true_staticRenderFns,
20399
+ WfNodelogListvue_type_template_id_3afd5fea_scoped_true_render,
20400
+ WfNodelogListvue_type_template_id_3afd5fea_scoped_true_staticRenderFns,
20028
20401
  false,
20029
20402
  null,
20030
- "16e84a2b",
20403
+ "3afd5fea",
20031
20404
  null
20032
20405
 
20033
20406
  )
@@ -20582,6 +20955,7 @@ module.exports = {
20582
20955
  handlingSuggestions: 'Handling Suggestions',
20583
20956
  notActivated: 'Instant messaging feature not activated',
20584
20957
  notActivated1: '{staffName} has not activated the instant messaging feature',
20958
+ noPhoneNum: 'No mobile number found for this signer',
20585
20959
  specifyLimit: 'Specify deadline',
20586
20960
  endless: 'No deadline',
20587
20961
  pSelectAddHandler: 'Please select the new step handler!',
@@ -20826,6 +21200,7 @@ module.exports = {
20826
21200
  handlingSuggestions: '处理意见',
20827
21201
  notActivated: '未开通即时通信功能',
20828
21202
  notActivated1: '{staffName}未开通即时通信功能',
21203
+ noPhoneNum: '未查询到该签名人的手机号',
20829
21204
  specifyLimit: '指定时限',
20830
21205
  endless: '无时限',
20831
21206
  pSelectAddHandler: '请选择新增环节处理人!',
@@ -23390,7 +23765,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".pdftools-savedialog .van-loading{heig
23390
23765
 
23391
23766
  /***/ }),
23392
23767
 
23393
- /***/ 7943:
23768
+ /***/ 7331:
23394
23769
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
23395
23770
 
23396
23771
  "use strict";
@@ -23404,7 +23779,7 @@ __webpack_require__.r(__webpack_exports__);
23404
23779
 
23405
23780
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
23406
23781
  // Module
23407
- ___CSS_LOADER_EXPORT___.push([module.id, ".ideaDiv{position:relative}.idea-start-chat{margin-top:-20px;position:absolute;font-size:19px}", ""]);
23782
+ ___CSS_LOADER_EXPORT___.push([module.id, ".ideaDiv{position:relative}.idea-icon-link{color:inherit}.idea-start-chat{right:28px}.idea-phone-call,.idea-start-chat{margin-top:-20px;position:absolute;font-size:19px}.idea-phone-call{right:2px}", ""]);
23408
23783
  // Exports
23409
23784
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
23410
23785
 
@@ -24089,7 +24464,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".loading[data-v-3eb301b1]{margin-top:1
24089
24464
 
24090
24465
  /***/ }),
24091
24466
 
24092
- /***/ 2289:
24467
+ /***/ 9373:
24093
24468
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
24094
24469
 
24095
24470
  "use strict";
@@ -24103,7 +24478,7 @@ __webpack_require__.r(__webpack_exports__);
24103
24478
 
24104
24479
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
24105
24480
  // Module
24106
- ___CSS_LOADER_EXPORT___.push([module.id, ".handle-idea-container[data-v-d4a12f7a] .van-collapse .van-cell__title{color:#000;font-weight:400}[data-v-d4a12f7a] .ideaDiv{margin:5px 0}[data-v-d4a12f7a] .ideaDiv p{margin-top:0;margin-bottom:0}[data-v-d4a12f7a] .ideaDiv span{display:inline-block}[data-v-d4a12f7a] .ideaDiv .handwritingIdea{width:200px}[data-v-d4a12f7a] .ideaDiv .ideaSignature{max-width:100px;max-height:50px}[data-v-d4a12f7a] .ideaDiv .donext-attach{padding-left:10px;position:absolute}[data-v-d4a12f7a] .ideaDiv .donext-attach svg{margin-top:2px;width:15px;height:15px}[data-v-d4a12f7a] .highlight{font-weight:600;color:#323233}[data-v-d4a12f7a] .van-collapse-item--border:after,[data-v-d4a12f7a] .van-collapse-item__title:after{right:0}[data-v-d4a12f7a] .van-collapse-item__content{padding-top:1px}[data-v-d4a12f7a] .van-cell:after{border-bottom:0 solid}.viewAllComments[data-v-d4a12f7a]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff}.HandleIdeaContent[data-v-d4a12f7a]{padding:6px 12px;color:#969799;font-size:14px;line-height:1.5;background-color:#fff}", ""]);
24481
+ ___CSS_LOADER_EXPORT___.push([module.id, ".handle-idea-container[data-v-5ed9d962] .van-collapse .van-cell__title{color:#000;font-weight:400}[data-v-5ed9d962] .ideaDiv{margin:5px 0}[data-v-5ed9d962] .ideaDiv p{margin-top:0;margin-bottom:0}[data-v-5ed9d962] .ideaDiv span{display:inline-block}[data-v-5ed9d962] .ideaDiv .handwritingIdea{width:200px}[data-v-5ed9d962] .ideaDiv .ideaSignature{max-width:80px;max-height:30px}[data-v-5ed9d962] .ideaDiv .donext-attach{padding-left:10px;position:absolute}[data-v-5ed9d962] .ideaDiv .donext-attach svg{margin-top:2px;width:15px;height:15px}[data-v-5ed9d962] .highlight{font-weight:600;color:#323233}[data-v-5ed9d962] .van-collapse-item--border:after,[data-v-5ed9d962] .van-collapse-item__title:after{right:0}[data-v-5ed9d962] .van-collapse-item__content{padding-top:1px}[data-v-5ed9d962] .van-cell:after{border-bottom:0 solid}.viewAllComments[data-v-5ed9d962]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff}.HandleIdeaContent[data-v-5ed9d962]{padding:6px 12px;color:#969799;font-size:14px;line-height:1.5;background-color:#fff}", ""]);
24107
24482
  // Exports
24108
24483
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
24109
24484
 
@@ -24262,7 +24637,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-813d3ba6]{pa
24262
24637
 
24263
24638
  /***/ }),
24264
24639
 
24265
- /***/ 7252:
24640
+ /***/ 3606:
24266
24641
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
24267
24642
 
24268
24643
  "use strict";
@@ -24276,7 +24651,7 @@ __webpack_require__.r(__webpack_exports__);
24276
24651
 
24277
24652
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
24278
24653
  // Module
24279
- ___CSS_LOADER_EXPORT___.push([module.id, ".wf-nodelogs-container[data-v-16e84a2b]{margin-bottom:10px}.wf-nodelogs-container .call-back-file .van-steps[data-v-16e84a2b]{height:calc(100% - 60px);overflow-y:auto}.wf-nodelogs-container[data-v-16e84a2b] .popup-body/deep/.van-steps .van-step--vertical{padding-right:16px}.wf-nodelogs-container[data-v-16e84a2b] .popup-body/deep/.van-steps .van-step__title{color:#444!important}.wf-nodelogs-container[data-v-16e84a2b] .popup-body/deep/.van-steps .van-step__line{background-color:#ebedf0!important}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .active-step-finish .van-icon-close,.wf-nodelogs-container[data-v-16e84a2b] .popup-body .active-step-finish .van-step__icon{font-size:20px}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .active-step-finish .van-step__circle-container{color:#1989fa!important}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .active-step-active .van-step__circle-container{color:#07c160!important}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .active-step-active .van-icon-edit{font-size:20px}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .elapsed-time{float:right}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .licont{color:#969799}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .licont .fr{float:right}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .handwritingIdea{width:200px}.wf-nodelogs-container[data-v-16e84a2b] .popup-body .start-chat{padding-left:5px;padding-right:5px}", ""]);
24654
+ ___CSS_LOADER_EXPORT___.push([module.id, ".wf-nodelogs-container[data-v-3afd5fea]{margin-bottom:10px}.wf-nodelogs-container .call-back-file .van-steps[data-v-3afd5fea]{height:calc(100% - 60px);overflow-y:auto}.wf-nodelogs-container[data-v-3afd5fea] .popup-body/deep/.van-steps .van-step--vertical{padding-right:16px}.wf-nodelogs-container[data-v-3afd5fea] .popup-body/deep/.van-steps .van-step__title{color:#444!important}.wf-nodelogs-container[data-v-3afd5fea] .popup-body/deep/.van-steps .van-step__line{background-color:#ebedf0!important}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .active-step-finish .van-icon-close,.wf-nodelogs-container[data-v-3afd5fea] .popup-body .active-step-finish .van-step__icon{font-size:20px}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .active-step-finish .van-step__circle-container{color:#1989fa!important}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .active-step-active .van-step__circle-container{color:#07c160!important}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .active-step-active .van-icon-edit{font-size:20px}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .elapsed-time{float:right}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .licont{color:#969799}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .licont .fr{float:right}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .handwritingIdea{width:200px}.wf-nodelogs-container[data-v-3afd5fea] .popup-body .start-chat,.wf-nodelogs-container[data-v-3afd5fea] .popup-body .start-phone{font-size:19px;padding-left:5px;padding-right:5px;vertical-align:-3px}", ""]);
24280
24655
  // Exports
24281
24656
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
24282
24657
 
@@ -51300,19 +51675,19 @@ var update = add("359314a4", content, true, {"sourceMap":false,"shadowMode":fals
51300
51675
 
51301
51676
  /***/ }),
51302
51677
 
51303
- /***/ 8663:
51678
+ /***/ 8915:
51304
51679
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
51305
51680
 
51306
51681
  // style-loader: Adds some css to the DOM by adding a <style> tag
51307
51682
 
51308
51683
  // load the styles
51309
- var content = __webpack_require__(7943);
51684
+ var content = __webpack_require__(7331);
51310
51685
  if(content.__esModule) content = content.default;
51311
51686
  if(typeof content === 'string') content = [[module.id, content, '']];
51312
51687
  if(content.locals) module.exports = content.locals;
51313
51688
  // add the styles to the DOM
51314
51689
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
51315
- var update = add("04ffda0a", content, true, {"sourceMap":false,"shadowMode":false});
51690
+ var update = add("22c05f52", content, true, {"sourceMap":false,"shadowMode":false});
51316
51691
 
51317
51692
  /***/ }),
51318
51693
 
@@ -51828,19 +52203,19 @@ var update = add("4fdd79f8", content, true, {"sourceMap":false,"shadowMode":fals
51828
52203
 
51829
52204
  /***/ }),
51830
52205
 
51831
- /***/ 8330:
52206
+ /***/ 2030:
51832
52207
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
51833
52208
 
51834
52209
  // style-loader: Adds some css to the DOM by adding a <style> tag
51835
52210
 
51836
52211
  // load the styles
51837
- var content = __webpack_require__(2289);
52212
+ var content = __webpack_require__(9373);
51838
52213
  if(content.__esModule) content = content.default;
51839
52214
  if(typeof content === 'string') content = [[module.id, content, '']];
51840
52215
  if(content.locals) module.exports = content.locals;
51841
52216
  // add the styles to the DOM
51842
52217
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
51843
- var update = add("3ffbfc23", content, true, {"sourceMap":false,"shadowMode":false});
52218
+ var update = add("3a5c4bdb", content, true, {"sourceMap":false,"shadowMode":false});
51844
52219
 
51845
52220
  /***/ }),
51846
52221
 
@@ -51956,19 +52331,19 @@ var update = add("726a2a5a", content, true, {"sourceMap":false,"shadowMode":fals
51956
52331
 
51957
52332
  /***/ }),
51958
52333
 
51959
- /***/ 4645:
52334
+ /***/ 4927:
51960
52335
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
51961
52336
 
51962
52337
  // style-loader: Adds some css to the DOM by adding a <style> tag
51963
52338
 
51964
52339
  // load the styles
51965
- var content = __webpack_require__(7252);
52340
+ var content = __webpack_require__(3606);
51966
52341
  if(content.__esModule) content = content.default;
51967
52342
  if(typeof content === 'string') content = [[module.id, content, '']];
51968
52343
  if(content.locals) module.exports = content.locals;
51969
52344
  // add the styles to the DOM
51970
52345
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
51971
- var update = add("0dca1b0c", content, true, {"sourceMap":false,"shadowMode":false});
52346
+ var update = add("1a493dc8", content, true, {"sourceMap":false,"shadowMode":false});
51972
52347
 
51973
52348
  /***/ }),
51974
52349
 
@@ -76227,43 +76602,43 @@ var asyncComponents = [
76227
76602
  }],
76228
76603
  // ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
76229
76604
  ['Attachment', function () {
76230
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76605
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76231
76606
  return m.Attachment;
76232
76607
  });
76233
76608
  }], ['BodyFile', function () {
76234
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76609
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76235
76610
  return m.BodyFile;
76236
76611
  });
76237
76612
  }], ['HandleIdea', function () {
76238
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76613
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76239
76614
  return m.HandleIdea;
76240
76615
  });
76241
76616
  }], ['SelectOuterDeputy', function () {
76242
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76617
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76243
76618
  return m.SelectOuterDeputy;
76244
76619
  });
76245
76620
  }], ['SubmitHandle', function () {
76246
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76621
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76247
76622
  return m.SubmitHandle;
76248
76623
  });
76249
76624
  }], ['SubmitDialog', function () {
76250
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76625
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76251
76626
  return m.SubmitDialog;
76252
76627
  });
76253
76628
  }], ['ShortcutProcessing', function () {
76254
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76629
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76255
76630
  return m.ShortcutProcessing;
76256
76631
  });
76257
76632
  }], ['WfNodelogList', function () {
76258
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76633
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76259
76634
  return m.WfNodelogList;
76260
76635
  });
76261
76636
  }], ['WriteToReadIdea', function () {
76262
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76637
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76263
76638
  return m.WriteToReadIdea;
76264
76639
  });
76265
76640
  }], ['VoiceInputDialog', function () {
76266
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471)).then(function (m) {
76641
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345)).then(function (m) {
76267
76642
  return m.VoiceInputDialog;
76268
76643
  });
76269
76644
  }]];
@@ -76321,7 +76696,7 @@ var WfengineModule = function WfengineModule() {
76321
76696
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
76322
76697
  };
76323
76698
  var WflowformModule = function WflowformModule() {
76324
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5471));
76699
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1345));
76325
76700
  };
76326
76701
 
76327
76702
  // ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------