gcs-ui-lib 1.1.433

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 (154) hide show
  1. package/.env.development +5 -0
  2. package/.env.production +7 -0
  3. package/.eslintrc.js +5 -0
  4. package/README.md +97 -0
  5. package/_webpack.config.js +135 -0
  6. package/babel.config.js +17 -0
  7. package/lib/demo.html +10 -0
  8. package/lib/fonts/SIMSUN.5e0c362c.5e0c362c.ttf +0 -0
  9. package/lib/fonts/element-icons.535877f5.535877f5.woff +0 -0
  10. package/lib/fonts/element-icons.732389de.732389de.ttf +0 -0
  11. package/lib/fonts/iconfont.09d221ee.09d221ee.woff +0 -0
  12. package/lib/fonts/iconfont.1c4bfacc.1c4bfacc.ttf +0 -0
  13. package/lib/fonts/iconfont.a6f34dc7.a6f34dc7.woff2 +0 -0
  14. package/lib/fonts/iconfont.f4c32765.f4c32765.ttf +0 -0
  15. package/lib/gcs-ui-lib.common.js +40576 -0
  16. package/lib/gcs-ui-lib.css +3 -0
  17. package/lib/gcs-ui-lib.umd.js +40586 -0
  18. package/lib/gcs-ui-lib.umd.min.js +40 -0
  19. package/lib/img/bankbackground(1).e1f6e40f.jpg +0 -0
  20. package/lib/img/busibackground(2).7e09bf1f.jpg +0 -0
  21. package/lib/img/document.193a282d.svg +8 -0
  22. package/lib/img/folder.8e019792.svg +9 -0
  23. package/lib/img/icon.fc86764f.gif +0 -0
  24. package/npm +1 -0
  25. package/package.json +100 -0
  26. package/packages/DynamicForm/index.js +7 -0
  27. package/packages/DynamicForm/src/components/Amount.vue +51 -0
  28. package/packages/DynamicForm/src/components/AmountRange.vue +76 -0
  29. package/packages/DynamicForm/src/components/CheckboxGroup.vue +63 -0
  30. package/packages/DynamicForm/src/components/DMY.vue +126 -0
  31. package/packages/DynamicForm/src/components/Date.vue +51 -0
  32. package/packages/DynamicForm/src/components/DateRange.vue +51 -0
  33. package/packages/DynamicForm/src/components/Dialog.vue +247 -0
  34. package/packages/DynamicForm/src/components/Input.vue +48 -0
  35. package/packages/DynamicForm/src/components/InputNumber.vue +69 -0
  36. package/packages/DynamicForm/src/components/InputNumberRange.vue +47 -0
  37. package/packages/DynamicForm/src/components/LazySelect.vue +311 -0
  38. package/packages/DynamicForm/src/components/RadioGroup.vue +43 -0
  39. package/packages/DynamicForm/src/components/Rate.vue +57 -0
  40. package/packages/DynamicForm/src/components/Select.vue +307 -0
  41. package/packages/DynamicForm/src/components/Switch.vue +32 -0
  42. package/packages/DynamicForm/src/components/Textarea.vue +58 -0
  43. package/packages/DynamicForm/src/components/TimeSelect.vue +61 -0
  44. package/packages/DynamicForm/src/components/unitTreeSelect.vue +141 -0
  45. package/packages/DynamicForm/src/components/urlLinkInput.vue +100 -0
  46. package/packages/DynamicForm/src/demo/index.vue +486 -0
  47. package/packages/DynamicForm/src/fileUpload.js +232 -0
  48. package/packages/DynamicForm/src/formConfig.js +2910 -0
  49. package/packages/DynamicForm/src/helpers.js +18 -0
  50. package/packages/DynamicForm/src/main.vue +1095 -0
  51. package/packages/FileImport/index.js +7 -0
  52. package/packages/FileImport/src/demo/index.vue +29 -0
  53. package/packages/FileImport/src/main.vue +306 -0
  54. package/packages/SelectTicket/index.js +7 -0
  55. package/packages/SelectTicket/src/Tree/index.vue +13 -0
  56. package/packages/SelectTicket/src/demo/index.vue +139 -0
  57. package/packages/SelectTicket/src/header.js +276 -0
  58. package/packages/SelectTicket/src/main.vue +581 -0
  59. package/packages/SelectTicket/src/printDialog/dialogO.vue +116 -0
  60. package/packages/SelectTicket/src/printDialog/index.vue +69 -0
  61. package/packages/SelectTicket/src/ticketDetail/billInformation/README.MD +6 -0
  62. package/packages/SelectTicket/src/ticketDetail/billInformation/mixins/index.js +35 -0
  63. package/packages/SelectTicket/src/ticketDetail/billInformation/obverse.vue +768 -0
  64. package/packages/SelectTicket/src/ticketDetail/billInformation/overview.vue +115 -0
  65. package/packages/SelectTicket/src/ticketDetail/billInformation/printList.vue +127 -0
  66. package/packages/SelectTicket/src/ticketDetail/billInformation/reverse.vue +205 -0
  67. package/packages/SelectTicket/src/ticketDetail/billInformation//351/231/204/345/212/240/344/277/235/350/257/201/344/277/241/346/201/257/345/255/227/346/256/265/345/257/271/347/205/247.md +246 -0
  68. package/packages/SelectTicket/src/ticketDetail/dialog.vue +73 -0
  69. package/packages/SelectTicket/src/ticketDetail/img/bankbackground(1).jpg +0 -0
  70. package/packages/SelectTicket/src/ticketDetail/img/busibackground(2).jpg +0 -0
  71. package/packages/SelectTicket/src/ticketDetail/img/icon.gif +0 -0
  72. package/packages/SelectTicket/src/ticketDetail/img/icon2.png +0 -0
  73. package/packages/SelectTicket/src/ticketDetail/img/noData.png +0 -0
  74. package/packages/SelectTicket/src/ticketDetail/index.vue +188 -0
  75. package/packages/SelectTreeUnit/index.js +7 -0
  76. package/packages/SelectTreeUnit/src/Tree/document.svg +8 -0
  77. package/packages/SelectTreeUnit/src/Tree/folder.svg +9 -0
  78. package/packages/SelectTreeUnit/src/Tree/index.vue +239 -0
  79. package/packages/SelectTreeUnit/src/demo/index.vue +219 -0
  80. package/packages/SelectTreeUnit/src/forEachs.js +16 -0
  81. package/packages/SelectTreeUnit/src/main.vue +1136 -0
  82. package/packages/SelectTreeUnitForm/index.js +7 -0
  83. package/packages/SelectTreeUnitForm/src/Tree/document.svg +8 -0
  84. package/packages/SelectTreeUnitForm/src/Tree/folder.svg +9 -0
  85. package/packages/SelectTreeUnitForm/src/Tree/index.vue +254 -0
  86. package/packages/SelectTreeUnitForm/src/demo/index.vue +230 -0
  87. package/packages/SelectTreeUnitForm/src/forEachs.js +16 -0
  88. package/packages/SelectTreeUnitForm/src/main.vue +1065 -0
  89. package/packages/Trade/index.js +7 -0
  90. package/packages/Trade/src/components/all/index.vue +891 -0
  91. package/packages/Trade/src/components/dynamicColumnMixin.js +69 -0
  92. package/packages/Trade/src/components/getDCloumn.js +15 -0
  93. package/packages/Trade/src/components/i18n.json +3337 -0
  94. package/packages/Trade/src/components/pendingEvent/index.vue +909 -0
  95. package/packages/Trade/src/components/server-config.js +60 -0
  96. package/packages/Trade/src/components/setUnitName.js +10 -0
  97. package/packages/Trade/src/components/specialHandle.js +171 -0
  98. package/packages/Trade/src/components/topendingTabs.js +21 -0
  99. package/packages/Trade/src/demo/index.vue +42 -0
  100. package/packages/Trade/src/main.vue +86 -0
  101. package/packages/ZipImport/index.js +7 -0
  102. package/packages/ZipImport/src/demo/index.vue +139 -0
  103. package/packages/ZipImport/src/main.vue +303 -0
  104. package/packages/approvel/index.js +8 -0
  105. package/packages/approvel/src/demo/index.vue +28 -0
  106. package/packages/approvel/src/main.vue +26 -0
  107. package/packages/approvel/src/progress.vue +167 -0
  108. package/packages/approvel/src/url.json +29 -0
  109. package/packages/extends/ElSelect.vue +180 -0
  110. package/packages/imgs/list-select.png +0 -0
  111. package/packages/imgs/list-unselect.png +0 -0
  112. package/packages/imgs/list.png +0 -0
  113. package/packages/imgs/tree-select.png +0 -0
  114. package/packages/imgs/tree-unselect.png +0 -0
  115. package/packages/imgs/tree.png +0 -0
  116. package/public/favicon.ico +0 -0
  117. package/public/index.html +19 -0
  118. package/src/App.vue +61 -0
  119. package/src/api/aims.js +8 -0
  120. package/src/api/common.js +103 -0
  121. package/src/api/fileApi.js +22 -0
  122. package/src/config/appSettings.js +12 -0
  123. package/src/config/favicon.ico +0 -0
  124. package/src/css/selectTreeUnit.scss +247 -0
  125. package/src/filter/filter.js +1 -0
  126. package/src/filter/index.js +274 -0
  127. package/src/fonts/demo.css +539 -0
  128. package/src/fonts/iconfont.css +21 -0
  129. package/src/fonts/iconfont.js +1 -0
  130. package/src/fonts/iconfont.json +23 -0
  131. package/src/fonts/iconfont.ttf +0 -0
  132. package/src/index.js +109 -0
  133. package/src/locale/format.js +47 -0
  134. package/src/locale/index.js +48 -0
  135. package/src/locale/lang/cn2hk.json +1270 -0
  136. package/src/locale/lang/en.js +73 -0
  137. package/src/locale/lang/es.js +7 -0
  138. package/src/locale/lang/index.js +66 -0
  139. package/src/locale/lang/ja.js +7 -0
  140. package/src/locale/lang/zh.js +74 -0
  141. package/src/locale/lang/zht.js +28 -0
  142. package/src/main.js +44 -0
  143. package/src/preview/page/Aside/index.vue +60 -0
  144. package/src/preview/router.js +46 -0
  145. package/src/utils/auth.js +12 -0
  146. package/src/utils/directive/asciiWidth.js +107 -0
  147. package/src/utils/directive/clickOutside.js +21 -0
  148. package/src/utils/directive/vtitle.js +140 -0
  149. package/src/utils/index.js +545 -0
  150. package/src/utils/request.js +191 -0
  151. package/src/utils/requestCache.js +68 -0
  152. package/src/utils/thems.js +62 -0
  153. package/types/favicon.ico +0 -0
  154. package/vue.config.js +45 -0
@@ -0,0 +1,73 @@
1
+ <!--
2
+ * @Author: wangyilin wangyilin@nstc.com.cn
3
+ * @Date: 2023-01-09 15:17:38
4
+ * @LastEditors: wangyilin wangyilin@nstc.com.cn
5
+ * @LastEditTime: 2023-03-11 16:42:11
6
+ * @FilePath: \付款1.4.0d:\新子应用\新一代票据\gts-bill_web\src\views\enterprisePaper\agency\ticketDetail\dialog.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <cl-dialog
11
+ :visible.sync="dialogVisible"
12
+ width="70vw"
13
+ :title="$l('票据详情')"
14
+ :show-close="true"
15
+ append-to-body
16
+ top="2vh"
17
+ v-drag
18
+ >
19
+ <ticketView ref="ticketView" :rowData="rowData" v-bind="$attrs" v-if="dialogVisible" @closeDialog="closeDialog">
20
+ </ticketView>
21
+ </cl-dialog>
22
+ </template>
23
+ <script>
24
+ import ticketView from './index.vue'
25
+ import { Dialog} from "n20-common-lib";
26
+ export default {
27
+ data() {
28
+ return {
29
+ dialogVisible: false,
30
+ form: {},
31
+ rowData:{}
32
+ }
33
+ },
34
+ components: {
35
+ ticketView,
36
+ ClDialog:Dialog,// 弹窗
37
+ },
38
+ methods: {
39
+ // 显示开关 type business 企业票据 ebank 网银票据
40
+ setView(row) {
41
+ this.dialogVisible = true
42
+ this.rowData = row
43
+ },
44
+ closeDialog() {
45
+ this.dialogVisible = false
46
+ }
47
+ }
48
+ }
49
+ </script>
50
+ <style lang="less" scoped>
51
+ /deep/.el-dialog__body {
52
+ padding: 16px;
53
+ flex: 0 1000px;
54
+ max-height: 810px !important;
55
+ .main-content {
56
+ padding: 0;
57
+ }
58
+ }
59
+ /deep/.el-dialog__footer {
60
+ text-align: center;
61
+ }
62
+ .dialog-btn {
63
+ display: flex;
64
+ align-items: center;
65
+ p {
66
+ font-size: 14px;
67
+ font-weight: 400;
68
+ color: #cccccc;
69
+ margin-right: 12px;
70
+ cursor: pointer;
71
+ }
72
+ }
73
+ </style>
@@ -0,0 +1,188 @@
1
+ <template>
2
+ <div class="main-content">
3
+ <div class="flex-box flex-lr flex-v">
4
+ <cl-secondary-tab
5
+ :init="names"
6
+ :data="list"
7
+ @click="selectItem"
8
+ ></cl-secondary-tab>
9
+ <div class="flex-box flex-v header cur-point">
10
+ <el-button class="m-l-s" @click="printData" plain>{{
11
+ $l("打印")
12
+ }}</el-button>
13
+ </div>
14
+ </div>
15
+ <keep-alive>
16
+ <component
17
+ :is="componentId"
18
+ :formData="formData"
19
+ @closeDialog="closeDialog"
20
+ ></component>
21
+ </keep-alive>
22
+ <!-- 打印弹层 -->
23
+ <print-dialog ref="printDialog" @getCheckList="getCheckList"></print-dialog>
24
+ <cl-dialog
25
+ :title="$l('打印票据')"
26
+ :visible.sync="showPrint"
27
+ append-to-body
28
+ class="dialogModel"
29
+ @close="showPrint = false"
30
+
31
+ >
32
+ <printList
33
+ ref="print-content"
34
+ :formData="formData"
35
+ v-if="showPrint"
36
+ @closePrint="showPrint = false"
37
+ />
38
+ </cl-dialog>
39
+ </div>
40
+ </template>
41
+ <script>
42
+ import { getBillDetail } from "@/api/common.js";
43
+ import overview from "./billInformation/overview.vue";
44
+ import printList from "./billInformation/printList.vue";
45
+ import printDialog from "../printDialog/index.vue";
46
+ import {Dialog, SecondaryTab} from "n20-common-lib";
47
+ export default {
48
+ props: {
49
+ rowData: {
50
+ type: Object,
51
+ default: () => {},
52
+ },
53
+ isWaitSign: {
54
+ type: Boolean,
55
+ default: false,
56
+ },
57
+ },
58
+ components: {
59
+ ClDialog:Dialog,// 弹窗
60
+ ClSecondaryTab:SecondaryTab,
61
+ overview,
62
+ printList,
63
+ printDialog,
64
+ },
65
+ data(vm) {
66
+ return {
67
+ dataList: [{}],
68
+ showPrint: false,
69
+ list: [{ name: vm.$l("票据信息"), path: "overview" }],
70
+ names: vm.$l("票据信息"),
71
+ componentId: "overview",
72
+ info: {},
73
+ id: "",
74
+ // 存放附加保证信息
75
+ formData: {},
76
+ billVisible: false,
77
+ };
78
+ },
79
+ created() {
80
+ console.log(this.rowData, "this.rowData");
81
+ if (this.$route.query.BillId) {
82
+ this.id = this.$route.query.BillId;
83
+ } else if (this.rowData) {
84
+ this.id = this.rowData.billNo;
85
+ } else {
86
+ this.$message.warning(this.$l("当前票据BillId不存在,请检查后重试"));
87
+ return false;
88
+ }
89
+ this.getList();
90
+ },
91
+ methods: {
92
+ getCheckList(val) {
93
+ this.showPrint = true;
94
+ this.$nextTick(() => {
95
+ this.$refs["print-content"].printFile(val, [this.formData]);
96
+ });
97
+ },
98
+ selectItem(item) {
99
+ this.componentId = item.path;
100
+ },
101
+ // 获取保证信息
102
+ async getList() {
103
+ const query = {
104
+ stockId: this.isWaitSign
105
+ ? this.rowData.billStockId
106
+ : this.rowData.srcBillStockId ||
107
+ this.rowData.stockId ||
108
+ this.rowData.billStockId,
109
+ txBillId: this.rowData.txBillId || this.rowData.billId,
110
+ qryBillCondition: true,
111
+ qryGuarantorCondition: true,
112
+ qryHisBehaviorCondition: true,
113
+ qrySplitRecordCondition: true,
114
+ qryStockCondition: true,
115
+ billNo: this.rowData.billNo,
116
+ };
117
+ if(!query.stockId) {
118
+ query.stockId = this.rowData.billId
119
+ }
120
+ //【【付款】票据付款,付款方式是背书,选择了2张票据,其中一张票据做了拆分金额,付款确认成功过后,全部页面,选择该笔指令,点指令编号进去,点拆分过金额的那张票据的超链接进去不显示票据的信息】https://www.tapd.cn/58791002/bugtrace/bugs/view/1158791002001434760
121
+ if (this.rowData.billIssueType != "YS") {
122
+ query.billNo = this.id;
123
+ query.cdRange = this.rowData.splitFlag === 0 ? 0 : this.rowData.cdRange;
124
+ }
125
+ const res = await getBillDetail(query);
126
+ this.formData = res;
127
+ },
128
+ // 打印
129
+ printData() {
130
+ this.$refs.printDialog.setView();
131
+ },
132
+ closeDialog() {
133
+ this.$emit("closeDialog");
134
+ },
135
+ },
136
+
137
+ };
138
+ </script>
139
+ <style lang="less" scoped>
140
+ .main-content {
141
+ .main-content {
142
+ height: calc(100% - 50px);
143
+ }
144
+ }
145
+ /deep/.view {
146
+ display: flex;
147
+ justify-content: space-between;
148
+ flex-wrap: wrap;
149
+ padding: 8px 32px;
150
+ .view-item {
151
+ display: flex;
152
+ width: 33%;
153
+ height: 32px;
154
+ line-height: 32px;
155
+ .label {
156
+ display: inline-block;
157
+ font-weight: bold;
158
+ width: 110px;
159
+ text-align: left;
160
+ }
161
+ .content {
162
+ flex: 1;
163
+ white-space: nowrap;
164
+ overflow: hidden;
165
+ text-overflow: ellipsis;
166
+ }
167
+ }
168
+ }
169
+ .header {
170
+ img {
171
+ width: 14px;
172
+ margin-right: 2px;
173
+ }
174
+ }
175
+ /deep/.noData {
176
+ height: 100%;
177
+ justify-content: center;
178
+ img {
179
+ width: 250px;
180
+ }
181
+ }
182
+ //需要把弹框移出屏幕,让打印预览在外实现。
183
+ .dialogModel {
184
+ position: absolute;
185
+ left: -9999px;
186
+ top: -9999px;
187
+ }
188
+ </style>
@@ -0,0 +1,7 @@
1
+ import NstcSelectTreeUnit from './src/main'
2
+
3
+ NstcSelectTreeUnit.install = function(Vue) {
4
+ Vue.component(NstcSelectTreeUnit.name, NstcSelectTreeUnit)
5
+ }
6
+
7
+ export default NstcSelectTreeUnit
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>页面</title>
4
+ <g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="20" height="20"></rect>
6
+ <path d="M16.6914062,5.63867188 C16.8085938,5.75585938 16.875,5.9140625 16.875,6.08007812 L16.875,18.125 C16.875,18.4707031 16.5957031,18.75 16.25,18.75 L3.75,18.75 C3.40429688,18.75 3.125,18.4707031 3.125,18.125 L3.125,1.875 C3.125,1.52929688 3.40429688,1.25 3.75,1.25 L12.0449219,1.25 C12.2109375,1.25 12.3710938,1.31640625 12.4882813,1.43359375 L16.6914062,5.63867188 Z M15.4335938,6.3671875 L11.7578125,2.69140625 L11.7578125,6.3671875 L15.4335938,6.3671875 Z M6.25,9.4140625 C6.16370551,9.4140625 6.09375,9.48401801 6.09375,9.5703125 L6.09375,10.5078125 C6.09375,10.594107 6.16370551,10.6640625 6.25,10.6640625 L13.75,10.6640625 C13.8362945,10.6640625 13.90625,10.594107 13.90625,10.5078125 L13.90625,9.5703125 C13.90625,9.48401801 13.8362945,9.4140625 13.75,9.4140625 L6.25,9.4140625 Z M6.25,12.0703125 C6.16370551,12.0703125 6.09375,12.140268 6.09375,12.2265625 L6.09375,13.1640625 C6.09375,13.250357 6.16370551,13.3203125 6.25,13.3203125 L9.84375,13.3203125 C9.93004449,13.3203125 10,13.250357 10,13.1640625 L10,12.2265625 C10,12.140268 9.93004449,12.0703125 9.84375,12.0703125 L6.25,12.0703125 Z" id="形状" fill="#1677FF" fill-rule="nonzero"></path>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>文件</title>
4
+ <g id="文件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="20" height="20"></rect>
6
+ <rect id="矩形" fill="#FFBF00" opacity="0.300000012" x="3" y="4" width="14" height="11"></rect>
7
+ <path d="M17.1875,5.828125 L10.1757812,5.828125 L7.88476562,3.63671875 C7.85546875,3.609375 7.81640625,3.59375 7.77734375,3.59375 L2.8125,3.59375 C2.46679688,3.59375 2.1875,3.87304688 2.1875,4.21875 L2.1875,15.78125 C2.1875,16.1269531 2.46679688,16.40625 2.8125,16.40625 L17.1875,16.40625 C17.5332031,16.40625 17.8125,16.1269531 17.8125,15.78125 L17.8125,6.453125 C17.8125,6.10742188 17.5332031,5.828125 17.1875,5.828125 Z" id="路径" fill="#FFBF00" fill-rule="nonzero"></path>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,239 @@
1
+ <template>
2
+ <el-tree
3
+ ref="tree"
4
+ class="cl-tree cl-tree-nstc"
5
+ :node-key="nodeKey"
6
+ :expand-on-click-node="showCheckbox?true:false"
7
+ :data="data"
8
+ check-strictly
9
+ :default-expanded-keys="defaultExpandedKeys"
10
+ :show-checkbox="showCheckbox && !single"
11
+ :props="props"
12
+ v-bind="$attrs"
13
+ v-on="$listeners"
14
+ >
15
+ <div
16
+ slot-scope="{ node, data }"
17
+ class="flex-box flex-lr flex-v w-100p cl-tree-item"
18
+ @mouseenter="mouseenterTree(node, data)"
19
+ @mouseleave="checkFlag = false"
20
+ >
21
+ <span class="flex-box flex-v">
22
+ <!-- <img :src="node.level == 1 ? folder : desc" class="m-r-ss" alt="" /> -->
23
+ {{
24
+ (data[props.value] ? "(" + data[props.value] + ") " : "") +
25
+ data[props.label]
26
+ }}
27
+ </span>
28
+ <div class="row-point" v-if="showAllCheck && !single && !isList">
29
+ <el-dropdown @click.stop="() => null">
30
+ <span class="el-dropdown-link"> ... </span>
31
+ <el-dropdown-menu slot="dropdown" class="nstc-unit-tree-drop">
32
+ <el-dropdown-item
33
+ @click.native.stop="handleCheckedBro(node, data)"
34
+ >{{ $t("common_a_0006") }}</el-dropdown-item
35
+ >
36
+ <el-dropdown-item
37
+ @click.native.stop="handleCheckedChild(node, data, 'direct')"
38
+ >
39
+ {{ $t("common_a_0008") }}</el-dropdown-item
40
+ >
41
+ <el-dropdown-item
42
+ @click.native.stop="handleCheckedChild(node, data, 'all')"
43
+ >{{ $t("common_a_0007") }}</el-dropdown-item
44
+ >
45
+ <el-dropdown-item
46
+ @click.native.stop="handleCheckedChild(node, data, 'cancel')"
47
+ >{{ $t("common_a_0007_1") }}</el-dropdown-item
48
+ >
49
+ </el-dropdown-menu>
50
+ </el-dropdown>
51
+ <!-- <span @click="showDropMenu == node.data.id? (showDropMenu = null) : (showDropMenu = node.data.id)">-->
52
+ <!-- . . .-->
53
+ <!-- </span>-->
54
+ <!-- <div class="drop-box" v-if="showDropMenu == node.data.id">-->
55
+ <!-- &lt;!&ndash; <div v-if="!node.data.disabled" @click="handleChecked(node, data)">只勾选本单位</div> &ndash;&gt;-->
56
+ <!-- &lt;!&ndash;勾选本单位及平级单位&ndash;&gt;-->
57
+ <!-- <div v-if="!node.data.disabled" @click="handleCheckedBro(node, data)">-->
58
+ <!-- {{ $t("common_a_0006") }}-->
59
+ <!-- </div>-->
60
+ <!-- &lt;!&ndash;勾选直接下级单位&ndash;&gt;-->
61
+ <!-- <div @click="handleCheckedChild(node, data, 'direct')">-->
62
+ <!-- {{ $t("common_a_0008") }}-->
63
+ <!-- </div>-->
64
+ <!-- &lt;!&ndash;勾选所有下级单位&ndash;&gt;-->
65
+ <!-- <div @click="handleCheckedChild(node, data, 'all')">-->
66
+ <!-- {{ $t("common_a_0007") }}-->
67
+ <!-- </div>-->
68
+ <!-- </div>-->
69
+ </div>
70
+ <!-- <el-button
71
+ v-if="
72
+ showCheckbox &&
73
+ node.checked &&
74
+ node.data[nodeKey] === (checkFlag && checkFlag.data && checkFlag.data[nodeKey])
75
+ "
76
+ type="text"
77
+ class="m-r-s"
78
+ @click="handleClose(node, data)"
79
+ >{{ $lc('取消勾选') }}</el-button
80
+ >
81
+ <el-button
82
+ v-else-if="
83
+ !node.data.disabled &&
84
+ showCheckbox &&
85
+ !node.checked &&
86
+ node.data[nodeKey] === (checkFlag && checkFlag.data && checkFlag.data[nodeKey])
87
+ "
88
+ type="text"
89
+ class="m-r-s"
90
+ @click="handleChecked(node, data)"
91
+ >{{ $lc('只勾选本层级') }}</el-button
92
+ > -->
93
+ </div>
94
+ </el-tree>
95
+ </template>
96
+ <script>
97
+ export default {
98
+ name: "Tree",
99
+ props: {
100
+ isList: {
101
+ type: Boolean,
102
+ default: false,
103
+ },
104
+ showAllCheck: {
105
+ type: Boolean,
106
+ default: true,
107
+ },
108
+ single: {
109
+ type: Boolean,
110
+ default: false,
111
+ },
112
+ defaultExpandedKeys: {
113
+ type: Array,
114
+ default: () => [],
115
+ },
116
+ data: {
117
+ type: Array,
118
+ default: () => [],
119
+ },
120
+ props: {
121
+ type: Object,
122
+ default: () => ({}),
123
+ },
124
+ showCheckbox: {
125
+ type: Boolean,
126
+ default: false,
127
+ },
128
+ checkStrictly: {
129
+ type: Boolean,
130
+ default: false,
131
+ },
132
+ nodeKey: {
133
+ type: String,
134
+ default: "",
135
+ },
136
+ },
137
+ data() {
138
+ return {
139
+ folder: require("./folder.svg"),
140
+ desc: require("./document.svg"),
141
+ checkFlag: {},
142
+ showDropMenu: null,
143
+ list: [],
144
+ };
145
+ },
146
+ computed: {
147
+ checkStrictlyC: {
148
+ get() {
149
+ return this.checkStrictly;
150
+ },
151
+ set(v) {
152
+ // console.log(v, 123)
153
+ return this.$emit("update:checkStrictly", v);
154
+ },
155
+ },
156
+ },
157
+ mounted() {
158
+ this.setRefData();
159
+ },
160
+ methods: {
161
+ setRefData() {
162
+ const {
163
+ store,
164
+ filter,
165
+ updateKeyChildren,
166
+ getCheckedNodes,
167
+ setCheckedNodes,
168
+ getCheckedKeys,
169
+ setCheckedKeys,
170
+ setChecked,
171
+ getHalfCheckedNodes,
172
+ getHalfCheckedKeys,
173
+ getCurrentKey,
174
+ getCurrentNode,
175
+ setCurrentKey,
176
+ setCurrentNode,
177
+ getNode,
178
+ remove,
179
+ append,
180
+ insertBefore,
181
+ insertAfter,
182
+ } = this.$refs["tree"];
183
+
184
+ this.filter = filter;
185
+ this.updateKeyChildren = updateKeyChildren;
186
+ this.getCheckedNodes = getCheckedNodes;
187
+ this.setCheckedNodes = setCheckedNodes;
188
+ this.getCheckedKeys = getCheckedKeys;
189
+ this.setCheckedKeys = setCheckedKeys;
190
+ this.setChecked = setChecked;
191
+ this.getHalfCheckedNodes = getHalfCheckedNodes;
192
+ this.getHalfCheckedKeys = getHalfCheckedKeys;
193
+ this.getCurrentKey = getCurrentKey;
194
+ this.getCurrentNode = getCurrentNode;
195
+ this.setCurrentKey = setCurrentKey;
196
+ this.setCurrentNode = setCurrentNode;
197
+ this.getNode = getNode;
198
+ this.remove = remove;
199
+ this.append = append;
200
+ this.insertBefore = insertBefore;
201
+ this.insertAfter = insertAfter;
202
+ this.store = store;
203
+ },
204
+ handleChecked(node, data) {
205
+ // this.store.checkStrictly = true
206
+ this.setChecked(node.data, true);
207
+ this.$emit("check", data, {
208
+ checkedKeys: this.getCheckedKeys(),
209
+ checkedNodes: this.getCheckedNodes(),
210
+ halfCheckedNodes: this.getHalfCheckedNodes(),
211
+ halfCheckedKeys: this.getHalfCheckedKeys(),
212
+ });
213
+ // this.store.checkStrictly = false
214
+ },
215
+ handleCheckedBro(node, data) {
216
+ //勾选平级单位
217
+ this.$emit("checkedBro", data);
218
+ },
219
+ handleCheckedChild(node, data, type) {
220
+ //勾选平级单位
221
+ this.$emit("checkedChild", { node, data, type: type });
222
+ },
223
+ mouseenterTree(node, data) {
224
+ this.checkFlag = node;
225
+ },
226
+ handleClose(node, data) {
227
+ // this.store.checkStrictly = true
228
+ this.setChecked(node.data, false);
229
+ this.$emit("check", data, {
230
+ checkedKeys: this.getCheckedKeys(),
231
+ checkedNodes: this.getCheckedNodes(),
232
+ halfCheckedNodes: this.getHalfCheckedNodes(),
233
+ halfCheckedKeys: this.getHalfCheckedKeys(),
234
+ });
235
+ // this.store.checkStrictly = false
236
+ },
237
+ },
238
+ };
239
+ </script>