cloud-web-corejs-haier 1.0.5 → 1.0.6

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.
Files changed (141) hide show
  1. package/package.json +7 -4
  2. package/src/App.vue +30 -34
  3. package/src/api/user.js +8 -0
  4. package/src/components/Tinymce/index.vue +112 -71
  5. package/src/components/VabUpload/image-viewer.vue +2 -2
  6. package/src/components/VabUpload/index.js +1 -1
  7. package/src/components/VabUpload/mixins.js +1 -1
  8. package/src/components/VabUpload/privateProfileDialogMixins.js +1 -1063
  9. package/src/components/VabUpload/view.vue +6 -2
  10. package/src/components/base-textarea/index.vue +104 -0
  11. package/src/components/baseAlert/mixins.js +1 -1
  12. package/src/components/baseAttachment/mixins.js +2 -1
  13. package/src/components/baseInputExport/index.vue +19 -12
  14. package/src/components/baseInputExport/mixins.js +1 -1
  15. package/src/components/baseTabs/mixins.js +1 -1
  16. package/src/components/code-editor/index.vue +102 -63
  17. package/src/components/confirmDialog/index.vue +24 -17
  18. package/src/components/confirmDialog/mixins.js +1 -1
  19. package/src/components/errorMsg/index.vue +42 -34
  20. package/src/components/errorMsg/mixins.js +1 -1
  21. package/src/components/excelExport/index.js +1 -2
  22. package/src/components/excelExport/mixins.js +1 -1
  23. package/src/components/fileLibrary/fileObjAuthDialog.vue +179 -89
  24. package/src/components/fileLibrary/filterDialog.vue +45 -21
  25. package/src/components/fileLibrary/index.vue +579 -238
  26. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +4 -1
  27. package/src/components/fileLibrary/mixins/indexMixins.js +3 -0
  28. package/src/components/scriptDescription/button.vue +12 -4
  29. package/src/components/scriptTest/mixins.js +1 -1
  30. package/src/components/table/index.js +12 -12
  31. package/src/components/tempStorage/index.vue +1 -1
  32. package/src/components/vb-tabs/x-tabs.vue +0 -1
  33. package/src/components/wf/content.vue +32 -36
  34. package/src/components/wf/mixins/setCandidateDialog2.js +1 -1
  35. package/src/components/wf/mixins/wfFlowEleScriptDialog.js +131 -3
  36. package/src/components/wf/setCandidateDialog2.vue +76 -66
  37. package/src/components/wf/wf.js +2176 -1
  38. package/src/components/wf/wfFlowEleScriptDialog.vue +5 -1
  39. package/src/components/wf/wfStartDialog.vue +6 -10
  40. package/src/components/wf/wfUtil.js +279 -1
  41. package/src/components/xform/form-designer/designer.js +1 -1
  42. package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +16 -1
  43. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1 -1
  44. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +17 -4
  45. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1 -1
  46. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +247 -187
  47. package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +2 -0
  48. package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +6 -2
  49. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +10 -0
  50. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +65 -4
  51. package/src/components/xform/form-designer/setting-panel/form-setting.vue +132 -118
  52. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +1 -1
  53. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +137 -0
  54. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +124 -50
  55. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +1 -0
  56. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +5 -1
  57. package/src/components/xform/form-render/index.vue +8 -0
  58. package/src/components/xform/form-render/indexMixin copy.js +3462 -0
  59. package/src/components/xform/form-render/indexMixin.js +3496 -1
  60. package/src/components/xform/mixins/defaultHandle.js +1 -1
  61. package/src/components/xform/utils/format.js +14 -4
  62. package/src/components/xform/utils/formula-util.js +0 -4
  63. package/src/components/xform/utils/util.js +1 -1
  64. package/src/index.js +215 -190
  65. package/src/lang/index.js +56 -51
  66. package/src/lang/locale/en/login.js +20 -0
  67. package/src/lang/locale/zh/login.js +20 -0
  68. package/src/layout/components/Sidebar/default.vue +1423 -1266
  69. package/src/layout/components/TagsView/index.vue +37 -11
  70. package/src/layout/components/createCompany/createCompanyDialog.vue +157 -0
  71. package/src/layout/components/extractedCode/viewDialog.vue +1 -0
  72. package/src/layout/defaultLayout.vue +1 -1
  73. package/src/layout/index.vue +3 -5
  74. package/src/mixins/table/index.js +151 -0
  75. package/src/permission.js +1 -18
  76. package/src/router/modules/customer.js +3 -8
  77. package/src/store/getters.js +24 -23
  78. package/src/store/modules/user.js +1 -30
  79. package/src/utils/vab.js +1 -1
  80. package/src/views/bd/setting/config_manage/list.vue +36 -19
  81. package/src/views/bd/setting/form_script/edit.vue +9 -0
  82. package/src/views/bd/setting/form_script/edit1.vue +29 -3
  83. package/src/views/bd/setting/form_script/form_list.vue +99 -37
  84. package/src/views/bd/setting/form_script/list1.vue +181 -118
  85. package/src/views/bd/setting/form_script/mixins/dialog.js +130 -1
  86. package/src/views/bd/setting/form_script/mixins/edit.js +199 -1
  87. package/src/views/bd/setting/form_script/mixins/edit1.js +193 -1
  88. package/src/views/bd/setting/form_script/mixins/list.js +236 -1
  89. package/src/views/bd/setting/form_script/mixins/list1.js +410 -1
  90. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +194 -0
  91. package/src/views/bd/setting/form_script/otherAuthDialog.vue +83 -0
  92. package/src/views/bd/setting/form_template/edit.vue +13 -0
  93. package/src/views/bd/setting/form_template/list.vue +326 -214
  94. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +279 -1
  95. package/src/views/bd/setting/form_template/mixins/edit.js +234 -9
  96. package/src/views/bd/setting/form_template/mixins/list.js +667 -3
  97. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +193 -0
  98. package/src/views/bd/setting/form_template/otherAuthDialog.vue +83 -0
  99. package/src/views/bd/setting/logic_param/mixins/edit.js +1 -91
  100. package/src/views/bd/setting/logic_param/mixins/list.js +2 -362
  101. package/src/views/bd/setting/menu_kind/list.vue +172 -87
  102. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +300 -7
  103. package/src/views/bd/setting/table_model/edit.vue +345 -304
  104. package/src/views/bd/setting/table_model/list.vue +190 -128
  105. package/src/views/bd/setting/table_model/mixins/edit.js +1191 -1
  106. package/src/views/bd/setting/table_model/mixins/list.js +428 -2
  107. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +201 -0
  108. package/src/views/bd/setting/table_model/otherAuthDialog.vue +83 -0
  109. package/src/views/user/access_log/list.vue +418 -349
  110. package/src/views/user/area/dialog.vue +223 -116
  111. package/src/views/user/area/list.vue +318 -0
  112. package/src/views/user/common_attribute/list.vue +4 -1
  113. package/src/views/user/extend_datasource/dialog.vue +3 -0
  114. package/src/views/user/extend_datasource/edit.vue +2 -1
  115. package/src/views/user/extend_datasource/list.vue +3 -0
  116. package/src/views/user/form/vform/designer.vue +2 -1
  117. package/src/views/user/home/bears/index.vue +1032 -0
  118. package/src/views/user/home/default.vue +6 -5
  119. package/src/views/user/home/taili/index.vue +1034 -0
  120. package/src/views/user/ledger_library/list.vue +10 -12
  121. package/src/views/user/login/default.vue +165 -36
  122. package/src/views/user/login/index.vue +4 -6
  123. package/src/views/user/login/indexMixin.js +184 -8
  124. package/src/views/user/menu/list.vue +24 -1
  125. package/src/views/user/notify_message/dialog.vue +2 -6
  126. package/src/views/user/outLink/index.vue +57 -18
  127. package/src/views/user/role/authConfig.vue +89 -0
  128. package/src/views/user/role/dialog.vue +70 -48
  129. package/src/views/user/role/edit.vue +114 -4
  130. package/src/views/user/user/form_dialog.vue +158 -0
  131. package/src/views/user/user/list.vue +652 -582
  132. package/src/views/user/user/modifyPasswordDialog.vue +64 -53
  133. package/src/views/user/wf/wfReport/index.vue +137 -28
  134. package/src/views/user/wf/wf_obj_config/itemEdit.vue +15 -116
  135. package/src/views/user/wf/wf_obj_config/itemOperateDialog.vue +414 -0
  136. package/src/views/user/wf/wf_obj_config/list.vue +84 -78
  137. package/src/views/user/wf/wf_transfer_setting/edit.vue +52 -0
  138. package/src/views/user/wf/wf_transfer_setting/list.vue +10 -0
  139. package/src/components/xform/form-render/container-item/data-table-mixin2.js +0 -2169
  140. package/src/views/bd/setting/table_model/mixins/edit copy.js +0 -903
  141. package/src/views/user/login/index2.vue +0 -131
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs-haier",
3
3
  "private": false,
4
- "version": "1.0.5",
4
+ "version": "1.0.6",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -12,7 +12,7 @@
12
12
  "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
13
13
  "test:unit": "jest --clearCache && vue-cli-service test:unit",
14
14
  "test:ci": "npm run lint && npm run test:unit",
15
- "updateCorejs": "npm install cloud-web-corejs --no-save --registry https://registry.npmjs.org",
15
+ "updateCorejs": "npm install cloud-web-corejs --registry https://registry.npmjs.org",
16
16
  "publishDev": "npm publish --tag dev"
17
17
  },
18
18
  "dependencies": {
@@ -25,14 +25,14 @@
25
25
  "copy-webpack-plugin": "5.1.2",
26
26
  "core-js": "^3.8.3",
27
27
  "dayjs": "^1.11.13",
28
- "dhtmlx-gantt": "^7.1.13",
28
+ "dhtmlx-gantt": "^9.1.0",
29
29
  "element-ui": "^2.15.14",
30
30
  "esdk-obs-browserjs": "^3.25.6",
31
31
  "html2canvas": "^1.4.1",
32
32
  "js-base64": "^3.7.7",
33
33
  "js-cookie": "2.2.0",
34
- "jsqr": "^1.4.0",
35
34
  "jspdf": "^3.0.1",
35
+ "jsqr": "^1.4.0",
36
36
  "less": "^4.2.0",
37
37
  "less-loader": "^7.0.1",
38
38
  "lodash": "4.17.21",
@@ -125,6 +125,7 @@
125
125
  "src/components/baseInputNumber",
126
126
  "src/components/baseInputPrint",
127
127
  "src/components/baseTabs",
128
+ "src/components/base-textarea",
128
129
  "src/components/cnPrint",
129
130
  "src/components/code-editor",
130
131
  "src/components/confirmDialog",
@@ -171,6 +172,8 @@
171
172
  "src/store",
172
173
  "src/resources/js",
173
174
  "src/lang/index.js",
175
+ "src/lang/locale/en/login.js",
176
+ "src/lang/locale/zh/login.js",
174
177
  "src/layout",
175
178
  "src/filters",
176
179
  "src/router",
package/src/App.vue CHANGED
@@ -1,67 +1,63 @@
1
1
  <template>
2
- <div id="app" :class="{mobileApp:isMobile}">
3
- <router-view/>
2
+ <div id="app" :class="{ mobileApp: isMobile }">
3
+ <router-view />
4
4
  </div>
5
5
  </template>
6
6
 
7
7
  <script>
8
- import settting from '@/settings.js';
8
+ import settting from "@/settings.js";
9
9
 
10
10
  export default {
11
- name: 'App',
11
+ name: "App",
12
12
  data() {
13
13
  let isMobile = this.getIsMobile();
14
14
  return {
15
- isMobile: isMobile
16
- }
15
+ isMobile: isMobile,
16
+ };
17
17
  },
18
18
  created() {
19
- if (process.env.NODE_ENV !== "development") {
19
+ if (settting.reflushRouter!== true && process.env.NODE_ENV !== "development") {
20
20
  window.addEventListener(
21
- 'hashchange',
22
- event => {
23
- var currentPath = window.location.hash.slice(1).split('?')[0]; // 获取输入的路由
24
- if (currentPath != '/404' && currentPath != '/login' && this.$router.path !== currentPath) {
25
- this.$store.dispatch('tagsView/delAllViews').then(visitedViews => {
26
- this.$router.replace({path: '/redirect' + '/home'});
21
+ "hashchange",
22
+ (event) => {
23
+ var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
24
+ if (
25
+ currentPath != "/404" &&
26
+ currentPath != "/login" &&
27
+ this.$router.path !== currentPath
28
+ ) {
29
+ this.$store.dispatch("tagsView/delAllViews").then((visitedViews) => {
30
+ this.$router.replace({ path: "/redirect" + "/home" });
27
31
  });
28
32
  }
29
33
  },
30
34
  false
31
35
  );
32
36
 
33
- window.addEventListener('beforeunload', async event => {
37
+ window.addEventListener("beforeunload", async (event) => {
34
38
  // 如果按下的键是 F5,则执行相应的操作
35
- var currentPath = window.location.hash.slice(1).split('?')[0]; // 获取输入的路由
36
- if (currentPath != '/home' && currentPath != '/' && currentPath != '/login' && currentPath != '/404') {
37
- sessionStorage.setItem('toHome', '1');
39
+ var currentPath = window.location.hash.slice(1).split("?")[0]; // 获取输入的路由
40
+ if (
41
+ currentPath != "/home" &&
42
+ currentPath != "/" &&
43
+ currentPath != "/login" &&
44
+ currentPath != "/404"
45
+ ) {
46
+ sessionStorage.setItem("toHome", "1");
38
47
  }
39
48
  });
40
49
  }
41
50
 
42
- window.addEventListener('load', async event => {
43
- // 滚动事件变为 scroll
44
- let title = settting.title;
45
- if (location.host.indexOf('pcp.sc.5mall.com') == 0 || location.host.indexOf('pipuat.bears.com.cn') == 0) {
46
- title = '产品创新平台PIP';
47
- } else if (location.host.indexOf('chigo.sc.5mall.com') == 0) {
48
- title = '志高营销平台';
49
- } else if (location.host.indexOf('ngerp.sc.5mall.com') == 0) {
50
- title = 'NG ERP';
51
- }
52
- document.title = title;
53
- });
54
-
55
- },
56
- mounted() {
51
+ document.title = settting.title;
57
52
  },
53
+ mounted() {},
58
54
  methods: {
59
55
  getIsMobile() {
60
56
  const userAgent = navigator.userAgent;
61
57
  const mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i;
62
58
  return mobileRegex.test(userAgent);
63
- }
64
- }
59
+ },
60
+ },
65
61
  };
66
62
  </script>
67
63
  <style>
package/src/api/user.js CHANGED
@@ -97,3 +97,11 @@ export function getFileServerInfo(option){
97
97
  ...option
98
98
  })
99
99
  }
100
+
101
+ export function getLoginConfig(option){
102
+ return request({
103
+ url: USER_PREFIX + "/login_page/readData",
104
+ method: "post",
105
+ ...option
106
+ })
107
+ }
@@ -1,19 +1,31 @@
1
1
  <template>
2
- <div :class="[fullscreen?'fullscreen':null,readonly?'readonly':null,]" class="tinymce-container"
3
- :style="{ width: containerWidth }">
4
- <textarea :id="tinymceId" class="tinymce-textarea" v-if="isActivated"/>
2
+ <div
3
+ :class="[fullscreen ? 'fullscreen' : null, readonly ? 'readonly' : null]"
4
+ class="tinymce-container"
5
+ :style="{ width: containerWidth }"
6
+ >
7
+ <textarea :id="tinymceId" class="tinymce-textarea" v-if="isActivated" />
5
8
  <!-- <div class="editor-custom-btn-container">
6
9
  <editorImage color="#ED6C44 " class="editor-upload-btn" @successCBK="imageSuccessCBK" />
7
10
  </div> -->
8
11
  <template v-if="!readonly">
9
12
  <div class="editor-custom-btn-container">
10
13
  <div class="upload-container">
11
- <el-button icon="el-icon-upload" size="mini" type="primary" @click="handleShow({ key: 'value' })">
12
- {{ $t2('上传', 'components.Tinymce.uploadButton') }}
14
+ <el-button
15
+ icon="el-icon-upload"
16
+ size="mini"
17
+ type="primary"
18
+ @click="handleShow({ key: 'value' })"
19
+ >
20
+ {{ $t2("上传", "components.Tinymce.uploadButton") }}
13
21
  </el-button>
14
22
  </div>
15
23
  </div>
16
- <vab-upload ref="vabUpload" accept="image/png, image/jpeg" @callback="fileConfirm"></vab-upload>
24
+ <vab-upload
25
+ ref="vabUpload"
26
+ accept="image/png, image/jpeg"
27
+ @callback="fileConfirm"
28
+ ></vab-upload>
17
29
  </template>
18
30
  </div>
19
31
  </template>
@@ -23,56 +35,56 @@
23
35
  * docs:
24
36
  * https://panjiachen.github.io/vue-element-admin-site/feature/component/rich-editor.html#tinymce
25
37
  */
26
- import plugins from './plugins';
27
- import toolbar from './toolbar';
28
- import load from './dynamicLoadScript';
38
+ import plugins from "./plugins";
39
+ import toolbar from "./toolbar";
40
+ import load from "./dynamicLoadScript";
29
41
  // import EditorImage from './components/EditorImage.vue'
30
42
 
31
43
  // why use this cdn, detail see https://github.com/PanJiaChen/tinymce-all-in-one
32
- const tinymceCDN = window.WEB_PREFIX + '/base/tinymce/tinymce.min.js';
44
+ const tinymceCDN = window.WEB_PREFIX + "/base/tinymce/tinymce.min.js";
33
45
 
34
46
  export default {
35
- name: 'Tinymce',
36
- components: {VabUpload: () => import('../../components/VabUpload/index.vue')},
47
+ name: "Tinymce",
48
+ components: { VabUpload: () => import("../../components/VabUpload/index.vue") },
37
49
  props: {
38
50
  id: {
39
51
  type: String,
40
52
  default: function () {
41
- return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '');
42
- }
53
+ return "vue-tinymce-" + +new Date() + ((Math.random() * 1000).toFixed(0) + "");
54
+ },
43
55
  },
44
56
  value: {
45
57
  type: String,
46
- default: ''
58
+ default: "",
47
59
  },
48
60
  toolbar: {
49
61
  type: Array,
50
62
  required: false,
51
63
  default() {
52
64
  return [];
53
- }
65
+ },
54
66
  },
55
67
  menubar: {
56
68
  type: String,
57
- default: 'file edit insert view format table'
69
+ default: "file edit insert view format table",
58
70
  },
59
71
  height: {
60
72
  type: [Number, String],
61
73
  required: false,
62
- default: 360
74
+ default: 360,
63
75
  },
64
76
  width: {
65
77
  type: [Number, String],
66
78
  required: false,
67
- default: 'auto'
79
+ default: "auto",
68
80
  },
69
81
  color: {
70
82
  type: String,
71
- default: '#1890ff'
83
+ default: "#1890ff",
72
84
  },
73
85
  readonly: {
74
86
  type: Boolean,
75
- default: () => false
87
+ default: () => false,
76
88
  },
77
89
  },
78
90
  data() {
@@ -83,11 +95,11 @@ export default {
83
95
  tinymceId: this.id,
84
96
  fullscreen: false,
85
97
  languageTypeList: {
86
- en: 'en',
87
- zh: 'zh_CN',
88
- es: 'es_MX',
89
- ja: 'ja'
90
- }
98
+ en: "en",
99
+ zh: "zh_CN",
100
+ es: "es_MX",
101
+ ja: "ja",
102
+ },
91
103
  };
92
104
  },
93
105
  computed: {
@@ -98,14 +110,14 @@ export default {
98
110
  return `${width}px`;
99
111
  }
100
112
  return width;
101
- }
113
+ },
102
114
  },
103
115
  watch: {
104
116
  value(val) {
105
117
  if (!this.hasChange && this.hasInit) {
106
- this.$nextTick(() => window.tinymce.get(this.tinymceId).setContent(val || ''));
118
+ this.$nextTick(() => window.tinymce.get(this.tinymceId).setContent(val || ""));
107
119
  }
108
- }
120
+ },
109
121
  },
110
122
  mounted() {
111
123
  this.init();
@@ -115,7 +127,7 @@ export default {
115
127
  this.isActivated = true;
116
128
  this.$nextTick(() => {
117
129
  this.initTinymce();
118
- })
130
+ });
119
131
  }
120
132
  },
121
133
  deactivated() {
@@ -127,11 +139,18 @@ export default {
127
139
  },
128
140
  methods: {
129
141
  handleShow(data) {
130
- this.$refs['vabUpload'].handleShow(data);
142
+ this.$baseUpload.open({
143
+ accept: "image/png, image/jpeg",
144
+ callback: this.fileConfirm,
145
+ // pickPrivateProfile:this.pickPrivateProfile,
146
+ // confirmUpload: this.confirmUpload,
147
+ // otherParams: this.$attrs,
148
+ });
149
+ // this.$refs['vabUpload'].handleShow(data);
131
150
  },
132
151
  init() {
133
152
  // dynamic load tinymce from cdn
134
- load(tinymceCDN, err => {
153
+ load(tinymceCDN, (err) => {
135
154
  if (err) {
136
155
  this.$message.error(err.message);
137
156
  return;
@@ -142,47 +161,47 @@ export default {
142
161
  },
143
162
  initTinymce() {
144
163
  const _this = this;
145
- let locale = this.$i18n && this.$i18n.locale ? this.$i18n.locale : 'zh';
164
+ let locale = this.$i18n && this.$i18n.locale ? this.$i18n.locale : "zh";
146
165
  window.tinymce.init({
147
166
  selector: `#${this.tinymceId}`,
148
167
  language: this.languageTypeList[locale],
149
168
  height: this.height,
150
- body_class: 'panel-body ',
169
+ body_class: "panel-body ",
151
170
  object_resizing: false,
152
171
  toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,
153
172
  menubar: this.menubar,
154
173
  plugins: plugins,
155
174
  end_container_on_empty_block: true,
156
- powerpaste_word_import: 'clean',
175
+ powerpaste_word_import: "clean",
157
176
  code_dialog_height: 450,
158
177
  code_dialog_width: 1000,
159
- advlist_bullet_styles: 'square',
160
- advlist_number_styles: 'default',
161
- imagetools_cors_hosts: ['www.tinymce.com', 'codepen.io'],
162
- default_link_target: '_blank',
178
+ advlist_bullet_styles: "square",
179
+ advlist_number_styles: "default",
180
+ imagetools_cors_hosts: ["www.tinymce.com", "codepen.io"],
181
+ default_link_target: "_blank",
163
182
  link_title: false,
164
183
  nonbreaking_force_tab: true, // inserting nonbreaking space &nbsp; need Nonbreaking Space Plugin
165
184
  paste_data_images: true, // 允许粘贴图像
166
185
  readonly: this.readonly,
167
- init_instance_callback: editor => {
186
+ init_instance_callback: (editor) => {
168
187
  if (_this.value) {
169
188
  editor.setContent(_this.value);
170
189
  }
171
190
  _this.hasInit = true;
172
- editor.on('NodeChange Change KeyUp SetContent', () => {
191
+ editor.on("NodeChange Change KeyUp SetContent", () => {
173
192
  this.hasChange = true;
174
- this.$emit('input', editor.getContent());
193
+ this.$emit("input", editor.getContent());
175
194
  });
176
195
  },
177
196
  setup(editor) {
178
- editor.on('FullscreenStateChanged', e => {
197
+ editor.on("FullscreenStateChanged", (e) => {
179
198
  _this.fullscreen = e.state;
180
199
  });
181
200
  },
182
201
  // it will try to keep these URLs intact
183
202
  // https://www.tiny.cloud/docs-3x/reference/configuration/Configuration3x@convert_urls/
184
203
  // https://stackoverflow.com/questions/5196205/disable-tinymce-absolute-to-relative-url-conversions
185
- convert_urls: false
204
+ convert_urls: false,
186
205
  // 整合七牛上传
187
206
  // images_dataimg_filter(img) {
188
207
  // setTimeout(() => {
@@ -198,31 +217,50 @@ export default {
198
217
  // }, 0);
199
218
  // return img
200
219
  // },
201
- // images_upload_handler(blobInfo, success, failure, progress) {
202
- // progress(0);
203
- // const token = _this.$store.getters.token;
204
- // getToken(token).then(response => {
205
- // const url = response.data.qiniu_url;
206
- // const formData = new FormData();
207
- // formData.append('token', response.data.qiniu_token);
208
- // formData.append('key', response.data.qiniu_key);
209
- // formData.append('file', blobInfo.blob(), url);
210
- // upload(formData).then(() => {
211
- // success(url);
212
- // progress(100);
213
- // })
214
- // }).catch(err => {
215
- // failure('出现未知问题,刷新页面,或者联系程序员')
216
- // console.log(err);
217
- // });
218
- // },
220
+ images_upload_handler(blobInfo, success, failure, progress) {
221
+ /* progress(0);
222
+ _this.$baseUpload.upload({
223
+ file:blobInfo.blob(),
224
+ onProgress:(e)=>{
225
+ progress(e.percent)
226
+ },
227
+ callback:(res)=>{
228
+ if(res.type=="success"){
229
+ let url = res.objx.domain + res.objx.url;
230
+ success(url);
231
+ progress(100);
232
+ }else{
233
+ failure(res.content)
234
+ }
235
+ },
236
+ error:(e)=>{
237
+ failure(e.message)
238
+ }
239
+ }) */
240
+ /* progress(0);
241
+ const token = _this.$store.getters.token;
242
+ getToken(token).then(response => {
243
+ const url = response.data.qiniu_url;
244
+ const formData = new FormData();
245
+ formData.append('token', response.data.qiniu_token);
246
+ formData.append('key', response.data.qiniu_key);
247
+ formData.append('file', blobInfo.blob(), url);
248
+ upload(formData).then(() => {
249
+ success(url);
250
+ progress(100);
251
+ })
252
+ }).catch(err => {
253
+ failure('出现未知问题,刷新页面,或者联系程序员')
254
+ console.log(err);
255
+ }); */
256
+ },
219
257
  });
220
258
  },
221
259
  destroyTinymce() {
222
260
  if (window.tinymce && window.tinymce.get) {
223
261
  const tinymce = window.tinymce.get(this.tinymceId);
224
262
  if (this.fullscreen) {
225
- tinymce.execCommand('mceFullScreen');
263
+ tinymce.execCommand("mceFullScreen");
226
264
  }
227
265
 
228
266
  if (tinymce) {
@@ -237,17 +275,21 @@ export default {
237
275
  window.tinymce.get(this.tinymceId).getContent();
238
276
  },
239
277
  imageSuccessCBK(arr) {
240
- arr.forEach(v => window.tinymce.get(this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`));
278
+ arr.forEach((v) =>
279
+ window.tinymce
280
+ .get(this.tinymceId)
281
+ .insertContent(`<img class="wscnph" src="${v.url}" >`)
282
+ );
241
283
  },
242
284
  fileConfirm(arr) {
243
- let txt = ''
244
- arr.forEach(v => {
245
- let realUrl = v.fileData.domain + v.fileData.url;
246
- txt = txt + '<img class="wscnph" src="' + realUrl + '" >'
285
+ let txt = "";
286
+ arr.forEach((v) => {
287
+ let realUrl = v.domain + v.url;
288
+ txt = txt + '<img class="wscnph" src="' + realUrl + '" >';
247
289
  });
248
290
  window.tinymce.get(this.tinymceId).insertContent(`<p>${txt}</p>`);
249
- }
250
- }
291
+ },
292
+ },
251
293
  };
252
294
  </script>
253
295
 
@@ -291,5 +333,4 @@ export default {
291
333
  .editor-upload-btn {
292
334
  display: inline-block;
293
335
  }
294
-
295
336
  </style>
@@ -181,9 +181,9 @@ export default {
181
181
  return imageDto;
182
182
  } else {
183
183
  if (flag == 1) {
184
- return imageDto.domain + imageDto.source;
184
+ return imageDto.domain + imageDto.url;
185
185
  } else if (flag == 2) {
186
- return imageDto.domain + imageDto.medium;
186
+ return imageDto.domain + (imageDto.medium || imageDto.url);
187
187
  }
188
188
  }
189
189
  },