gcs-ui-lib 1.0.1

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 (231) 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 +16 -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 +106776 -0
  16. package/lib/gcs-ui-lib.css +3 -0
  17. package/lib/gcs-ui-lib.umd.js +106786 -0
  18. package/lib/gcs-ui-lib.umd.min.js +330 -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 +101 -0
  26. package/packages/AutoFillDetail/index.js +7 -0
  27. package/packages/AutoFillDetail/src/components/fillDetail.vue +188 -0
  28. package/packages/AutoFillDetail/src/demo/index.vue +18 -0
  29. package/packages/AutoFillDetail/src/main.vue +283 -0
  30. package/packages/AutoFillDetection/index.js +7 -0
  31. package/packages/AutoFillDetection/src/components/FillInfo.vue +36 -0
  32. package/packages/AutoFillDetection/src/components/HandEntred.vue +226 -0
  33. package/packages/AutoFillDetection/src/components/RuleHit.vue +105 -0
  34. package/packages/AutoFillDetection/src/components/SelectEntries.vue +192 -0
  35. package/packages/AutoFillDetection/src/components/config.js +359 -0
  36. package/packages/AutoFillDetection/src/demo/index.vue +18 -0
  37. package/packages/AutoFillDetection/src/main.vue +130 -0
  38. package/packages/AutoFillList/index.js +7 -0
  39. package/packages/AutoFillList/src/components/ImportRules.vue +407 -0
  40. package/packages/AutoFillList/src/components/ImportRulesDialog.vue +40 -0
  41. package/packages/AutoFillList/src/components/config.js +616 -0
  42. package/packages/AutoFillList/src/demo/index.vue +28 -0
  43. package/packages/AutoFillList/src/main.vue +559 -0
  44. package/packages/AutoFillRuleHistory/index.js +7 -0
  45. package/packages/AutoFillRuleHistory/src/demo/index.vue +23 -0
  46. package/packages/AutoFillRuleHistory/src/main.vue +422 -0
  47. package/packages/AutoFillService/index.js +7 -0
  48. package/packages/AutoFillService/src/components/BudgetAccountDialogForSetting.vue +588 -0
  49. package/packages/AutoFillService/src/components/BudgetAccountSettingDialog.vue +377 -0
  50. package/packages/AutoFillService/src/components/ConditionGroup.vue +413 -0
  51. package/packages/AutoFillService/src/components/CustomInput.vue +191 -0
  52. package/packages/AutoFillService/src/components/FillComponent.vue +371 -0
  53. package/packages/AutoFillService/src/components/SelectBudgetAccountDialog.vue +161 -0
  54. package/packages/AutoFillService/src/components/SelectDialog.vue +211 -0
  55. package/packages/AutoFillService/src/components/basic.vue +308 -0
  56. package/packages/AutoFillService/src/components/config.js +549 -0
  57. package/packages/AutoFillService/src/components/fillDetail.vue +145 -0
  58. package/packages/AutoFillService/src/components/fillRules.vue +787 -0
  59. package/packages/AutoFillService/src/components/paymentCategory.vue +297 -0
  60. package/packages/AutoFillService/src/components/paymentCategoryT.vue +292 -0
  61. package/packages/AutoFillService/src/customTemplate/FillBigDecimal.vue +50 -0
  62. package/packages/AutoFillService/src/customTemplate/FillDate.vue +54 -0
  63. package/packages/AutoFillService/src/customTemplate/FillInput.vue +33 -0
  64. package/packages/AutoFillService/src/customTemplate/FillMultiSelect.vue +70 -0
  65. package/packages/AutoFillService/src/customTemplate/FillSelect.vue +72 -0
  66. package/packages/AutoFillService/src/demo/index.vue +30 -0
  67. package/packages/AutoFillService/src/main.vue +432 -0
  68. package/packages/Bank/index.js +7 -0
  69. package/packages/Bank/src/demo/index.vue +18 -0
  70. package/packages/Bank/src/main.vue +70 -0
  71. package/packages/BranchBank/index.js +7 -0
  72. package/packages/BranchBank/src/demo/index.vue +18 -0
  73. package/packages/BranchBank/src/main.vue +97 -0
  74. package/packages/ConfigurableForm/index.js +7 -0
  75. package/packages/ConfigurableForm/src/components/config.js +63 -0
  76. package/packages/ConfigurableForm/src/components/detail.vue +158 -0
  77. package/packages/ConfigurableForm/src/demo/index.vue +279 -0
  78. package/packages/ConfigurableForm/src/main.vue +529 -0
  79. package/packages/DynamicForm/index.js +7 -0
  80. package/packages/DynamicForm/src/components/Amount.vue +51 -0
  81. package/packages/DynamicForm/src/components/AmountRange.vue +76 -0
  82. package/packages/DynamicForm/src/components/CheckboxGroup.vue +63 -0
  83. package/packages/DynamicForm/src/components/DMY.vue +126 -0
  84. package/packages/DynamicForm/src/components/Date.vue +51 -0
  85. package/packages/DynamicForm/src/components/DateRange.vue +51 -0
  86. package/packages/DynamicForm/src/components/Dialog.vue +247 -0
  87. package/packages/DynamicForm/src/components/Input.vue +48 -0
  88. package/packages/DynamicForm/src/components/InputNumber.vue +69 -0
  89. package/packages/DynamicForm/src/components/InputNumberRange.vue +47 -0
  90. package/packages/DynamicForm/src/components/LazySelect.vue +311 -0
  91. package/packages/DynamicForm/src/components/RadioGroup.vue +43 -0
  92. package/packages/DynamicForm/src/components/Rate.vue +57 -0
  93. package/packages/DynamicForm/src/components/Select.vue +307 -0
  94. package/packages/DynamicForm/src/components/Switch.vue +32 -0
  95. package/packages/DynamicForm/src/components/Textarea.vue +58 -0
  96. package/packages/DynamicForm/src/components/TimeSelect.vue +61 -0
  97. package/packages/DynamicForm/src/components/unitTreeSelect.vue +141 -0
  98. package/packages/DynamicForm/src/components/urlLinkInput.vue +100 -0
  99. package/packages/DynamicForm/src/demo/index.vue +486 -0
  100. package/packages/DynamicForm/src/fileUpload.js +232 -0
  101. package/packages/DynamicForm/src/formConfig.js +2910 -0
  102. package/packages/DynamicForm/src/helpers.js +18 -0
  103. package/packages/DynamicForm/src/main.vue +1095 -0
  104. package/packages/FileImport/index.js +7 -0
  105. package/packages/FileImport/src/demo/index.vue +29 -0
  106. package/packages/FileImport/src/main.vue +306 -0
  107. package/packages/MultiCurrencyStatistics/index.js +7 -0
  108. package/packages/MultiCurrencyStatistics/src/demo/index.vue +320 -0
  109. package/packages/MultiCurrencyStatistics/src/main.vue +200 -0
  110. package/packages/SelectTicket/index.js +7 -0
  111. package/packages/SelectTicket/src/Tree/index.vue +13 -0
  112. package/packages/SelectTicket/src/demo/index.vue +139 -0
  113. package/packages/SelectTicket/src/header.js +276 -0
  114. package/packages/SelectTicket/src/main.vue +581 -0
  115. package/packages/SelectTicket/src/printDialog/dialogO.vue +116 -0
  116. package/packages/SelectTicket/src/printDialog/index.vue +69 -0
  117. package/packages/SelectTicket/src/ticketDetail/billInformation/README.MD +6 -0
  118. package/packages/SelectTicket/src/ticketDetail/billInformation/mixins/index.js +35 -0
  119. package/packages/SelectTicket/src/ticketDetail/billInformation/obverse.vue +768 -0
  120. package/packages/SelectTicket/src/ticketDetail/billInformation/overview.vue +115 -0
  121. package/packages/SelectTicket/src/ticketDetail/billInformation/printList.vue +127 -0
  122. package/packages/SelectTicket/src/ticketDetail/billInformation/reverse.vue +205 -0
  123. 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
  124. package/packages/SelectTicket/src/ticketDetail/dialog.vue +73 -0
  125. package/packages/SelectTicket/src/ticketDetail/img/bankbackground(1).jpg +0 -0
  126. package/packages/SelectTicket/src/ticketDetail/img/busibackground(2).jpg +0 -0
  127. package/packages/SelectTicket/src/ticketDetail/img/icon.gif +0 -0
  128. package/packages/SelectTicket/src/ticketDetail/img/icon2.png +0 -0
  129. package/packages/SelectTicket/src/ticketDetail/img/noData.png +0 -0
  130. package/packages/SelectTicket/src/ticketDetail/index.vue +188 -0
  131. package/packages/SelectTreeUnit/index.js +7 -0
  132. package/packages/SelectTreeUnit/src/Tree/document.svg +8 -0
  133. package/packages/SelectTreeUnit/src/Tree/folder.svg +9 -0
  134. package/packages/SelectTreeUnit/src/Tree/index.vue +239 -0
  135. package/packages/SelectTreeUnit/src/demo/index.vue +219 -0
  136. package/packages/SelectTreeUnit/src/forEachs.js +16 -0
  137. package/packages/SelectTreeUnit/src/main.vue +1136 -0
  138. package/packages/SelectTreeUnitForm/index.js +7 -0
  139. package/packages/SelectTreeUnitForm/src/Tree/document.svg +8 -0
  140. package/packages/SelectTreeUnitForm/src/Tree/folder.svg +9 -0
  141. package/packages/SelectTreeUnitForm/src/Tree/index.vue +254 -0
  142. package/packages/SelectTreeUnitForm/src/demo/index.vue +230 -0
  143. package/packages/SelectTreeUnitForm/src/forEachs.js +16 -0
  144. package/packages/SelectTreeUnitForm/src/main.vue +1068 -0
  145. package/packages/StreamRefill/index.js +7 -0
  146. package/packages/StreamRefill/src/components/FillBigDecimal.vue +50 -0
  147. package/packages/StreamRefill/src/components/FillDate.vue +56 -0
  148. package/packages/StreamRefill/src/components/FillInput.vue +36 -0
  149. package/packages/StreamRefill/src/components/FillMultiSelect.vue +54 -0
  150. package/packages/StreamRefill/src/components/FillSelect.vue +51 -0
  151. package/packages/StreamRefill/src/demo/index.vue +254 -0
  152. package/packages/StreamRefill/src/main.vue +335 -0
  153. package/packages/Trade/index.js +7 -0
  154. package/packages/Trade/src/components/all/index.vue +913 -0
  155. package/packages/Trade/src/components/dynamicColumnMixin.js +69 -0
  156. package/packages/Trade/src/components/getDCloumn.js +15 -0
  157. package/packages/Trade/src/components/i18n.json +3337 -0
  158. package/packages/Trade/src/components/pendingEvent/index.vue +934 -0
  159. package/packages/Trade/src/components/server-config.js +60 -0
  160. package/packages/Trade/src/components/setUnitName.js +10 -0
  161. package/packages/Trade/src/components/specialHandle.js +171 -0
  162. package/packages/Trade/src/components/topendingTabs.js +21 -0
  163. package/packages/Trade/src/demo/index.vue +43 -0
  164. package/packages/Trade/src/main.vue +86 -0
  165. package/packages/ValidateQuota/index.js +58 -0
  166. package/packages/ValidateQuota/src/demo/index.vue +190 -0
  167. package/packages/ValidateQuota/src/main.vue +71 -0
  168. package/packages/ZipImport/index.js +7 -0
  169. package/packages/ZipImport/src/demo/index.vue +139 -0
  170. package/packages/ZipImport/src/main.vue +330 -0
  171. package/packages/approvel/index.js +8 -0
  172. package/packages/approvel/src/demo/index.vue +28 -0
  173. package/packages/approvel/src/main.vue +26 -0
  174. package/packages/approvel/src/progress.vue +167 -0
  175. package/packages/approvel/src/url.json +29 -0
  176. package/packages/extends/ElSelect.vue +180 -0
  177. package/packages/imgs/list-select.png +0 -0
  178. package/packages/imgs/list-unselect.png +0 -0
  179. package/packages/imgs/list.png +0 -0
  180. package/packages/imgs/tree-select.png +0 -0
  181. package/packages/imgs/tree-unselect.png +0 -0
  182. package/packages/imgs/tree.png +0 -0
  183. package/packages/inputTag/index.js +7 -0
  184. package/packages/inputTag/src/demo/index.vue +355 -0
  185. package/packages/inputTag/src/main.vue +502 -0
  186. package/public/favicon.ico +0 -0
  187. package/public/index.html +19 -0
  188. package/src/App.vue +61 -0
  189. package/src/api/aims.js +8 -0
  190. package/src/api/common.js +254 -0
  191. package/src/api/fileApi.js +33 -0
  192. package/src/api/setting.js +249 -0
  193. package/src/config/appSettings.js +12 -0
  194. package/src/config/favicon.ico +0 -0
  195. package/src/css/autoFill.scss +252 -0
  196. package/src/css/selectTreeUnit.scss +254 -0
  197. package/src/filter/filter.js +1 -0
  198. package/src/filter/index.js +274 -0
  199. package/src/fonts/demo.css +539 -0
  200. package/src/fonts/iconfont.css +21 -0
  201. package/src/fonts/iconfont.js +1 -0
  202. package/src/fonts/iconfont.json +23 -0
  203. package/src/fonts/iconfont.ttf +0 -0
  204. package/src/index.js +161 -0
  205. package/src/locale/format.js +47 -0
  206. package/src/locale/index.js +48 -0
  207. package/src/locale/lang/cn2hk.json +1270 -0
  208. package/src/locale/lang/en.js +73 -0
  209. package/src/locale/lang/es.js +7 -0
  210. package/src/locale/lang/index.js +66 -0
  211. package/src/locale/lang/ja.js +7 -0
  212. package/src/locale/lang/zh.js +74 -0
  213. package/src/locale/lang/zht.js +27 -0
  214. package/src/main.js +49 -0
  215. package/src/preview/page/Aside/index.vue +60 -0
  216. package/src/preview/router.js +107 -0
  217. package/src/utils/auth.js +12 -0
  218. package/src/utils/directive/asciiWidth.js +107 -0
  219. package/src/utils/directive/clickOutside.js +21 -0
  220. package/src/utils/directive/vtitle.js +140 -0
  221. package/src/utils/excel.js +538 -0
  222. package/src/utils/index.js +581 -0
  223. package/src/utils/request.js +157 -0
  224. package/src/utils/requestCache.js +68 -0
  225. package/src/utils/session.js +36 -0
  226. package/src/utils/thems.js +62 -0
  227. package/src/utils/token.js +26 -0
  228. package/src/utils/tools.js +317 -0
  229. package/src/utils/utils.js +513 -0
  230. package/types/favicon.ico +0 -0
  231. package/vue.config.js +49 -0
@@ -0,0 +1,559 @@
1
+ <template>
2
+ <ClPage :style="{ height: test ? '100%' : '' }">
3
+ <div slot="header" ref="formWrap">
4
+ <div class="flex-box flex-r">
5
+ <el-button
6
+ icon="n20-icon-shuaxin"
7
+ plain
8
+ onlyicon
9
+ size="mini"
10
+ @click="refresh"
11
+ />
12
+ <el-button
13
+ icon="n20-icon-iconfontshaixuan "
14
+ plain
15
+ onlyicon
16
+ size="mini"
17
+ class="m-l-s"
18
+ @click="multiple = !multiple"
19
+ />
20
+ <el-button
21
+ type="primary"
22
+ size="mini"
23
+ class="m-l-s"
24
+ v-hasG="pageRelaNo.add"
25
+ @click="$router.push({ path: '/AddRules' })"
26
+ >{{ $l("新增") }}</el-button
27
+ >
28
+ <el-button
29
+ plain
30
+ class="m-l-s"
31
+ size="mini"
32
+ @click="delFnBatch"
33
+ v-hasG="pageRelaNo.delete"
34
+ >{{ $l("删除") }}</el-button
35
+ >
36
+ <el-button
37
+ plain
38
+ class="m-l-s"
39
+ size="mini"
40
+ @click="detection"
41
+ v-hasG="pageRelaNo.detection"
42
+ >{{ $l("检测") }}</el-button
43
+ >
44
+ <el-button
45
+ plain
46
+ size="mini"
47
+ class="m-l-s"
48
+ @click="visible = true"
49
+ v-if="false"
50
+ v-hasG="pageRelaNo.import"
51
+ >{{ $l("导入") }}</el-button
52
+ >
53
+ <el-dropdown trigger="click" class="m-l-s" @command="exportFn">
54
+ <span class="el-dropdown-link">
55
+ <el-button size="mini" plain v-hasG="pageRelaNo.export">
56
+ {{ $l("导出") }}<i class="el-icon-arrow-down"></i
57
+ ></el-button>
58
+ </span>
59
+ <el-dropdown-menu slot="dropdown">
60
+ <el-dropdown-item command="xls">{{
61
+ $l(".xls格式")
62
+ }}</el-dropdown-item>
63
+ <el-dropdown-item command="xlsx">{{
64
+ $l(".xlsx格式")
65
+ }}</el-dropdown-item>
66
+ </el-dropdown-menu>
67
+ </el-dropdown>
68
+ </div>
69
+ <ClAdvancedFilter
70
+ :visible.sync="multiple"
71
+ :filterId="`RulesManage-payment-filterIdNew-${settingSource}432-rf32-432`"
72
+ :model="formData"
73
+ onlyKey="id"
74
+ :key="filterKeys"
75
+ :filter-list="filterList"
76
+ @search="refresh"
77
+ @enter="refresh"
78
+ @clear="clearSearch"
79
+ />
80
+ </div>
81
+ <div style="flex: 1; position: relative; height: 100%">
82
+ <div style="position: absolute; width: 100%; height: 100%">
83
+ <CLTablePro
84
+ ref="vTable"
85
+ :loading="loading"
86
+ :data="tableData"
87
+ :columns="tableHeader"
88
+ :height="'100%'"
89
+ :clearSelect="false"
90
+ auto-resize
91
+ :rowConfig="{
92
+ keyField: 'matchingId',
93
+ }"
94
+ :checkboxConfig="{
95
+ reserve: true,
96
+ }"
97
+ :key="`table-pro-${fillField.length}`"
98
+ @selection-change-method="handleSelectionChange"
99
+ @sort-change-method="sortChange"
100
+ >
101
+ <vxe-column
102
+ slot="usedUnit"
103
+ slot-scope="{ column }"
104
+ v-bind="column"
105
+ :field="column.prop"
106
+ :title="column.label"
107
+ >
108
+ <template slot-scope="{ row }">
109
+ <div v-html="row.usedUnit || '--'" :title="row.usedUnits"></div>
110
+ </template>
111
+ </vxe-column>
112
+ <vxe-column
113
+ slot="matchingId"
114
+ slot-scope="{ column }"
115
+ v-bind="column"
116
+ :field="column.prop"
117
+ :title="column.label"
118
+ >
119
+ <template slot-scope="{ row }">
120
+ <el-button
121
+ type="text"
122
+ @click="
123
+ $router.push({
124
+ path: '/RulesDetail',
125
+ query: { id: row.matchingId },
126
+ })
127
+ "
128
+ >{{ row.matchingId }}</el-button
129
+ >
130
+ </template>
131
+ </vxe-column>
132
+ <vxe-colgroup
133
+ width="220"
134
+ slot="fillInfo"
135
+ :title="$l('补填信息')"
136
+ align="center"
137
+ >
138
+ <template v-for="item in fillField">
139
+ <vxe-column
140
+ v-if="fillField.length"
141
+ :key="item.fieldCode"
142
+ :field="item.fieldCode"
143
+ :title="item.fieldName"
144
+ align="center"
145
+ :width="200"
146
+ >
147
+ <template slot-scope="scope">
148
+ <div v-if="item.fieldProperty == 'multiSelect'">
149
+ {{ viewsMulti(scope.row[item.fieldCode]) }}
150
+ </div>
151
+ <div v-else-if="item.fieldProperty == 'bigDecimal'">
152
+ {{ amountFormat(scope.row[item.fieldCode]) }}
153
+ </div>
154
+ <div v-else>{{ scope.row[item.fieldCode] || "--" }}</div>
155
+ </template>
156
+ </vxe-column>
157
+ </template>
158
+ </vxe-colgroup>
159
+ <TableProOperateColumn
160
+ slot="operate"
161
+ :btn-list="btns"
162
+ label="操作"
163
+ width="144"
164
+ fixed="right"
165
+ align="center"
166
+ @xg="editFn"
167
+ @fz="copyFn"
168
+ @sc="delFn"
169
+ />
170
+ </CLTablePro>
171
+ </div>
172
+ </div>
173
+ <div
174
+ class="page-footer-shadow flex-box flex-lr flex-v pt-4 pb-4"
175
+ slot="footer"
176
+ >
177
+ <div class="flex-box flex-v">
178
+ <StatisItem
179
+ :type="$l('已选合计')"
180
+ :list="[{ label: $l('笔数'), value: selectRows.length }]"
181
+ />
182
+ <StatisItem
183
+ :type="$l('全部合计')"
184
+ :list="[{ label: $l('笔数'), value: pagination.total }]"
185
+ />
186
+ </div>
187
+ <ClPagination
188
+ :page-obj="pagination"
189
+ :page-key="{ no: 'current', size: 'size', total: 'total' }"
190
+ @change="paginationChange"
191
+ />
192
+ </div>
193
+ <ImportRulesDialog
194
+ v-model="visible"
195
+ @refresh="refresh"
196
+ :settingSource="settingSource"
197
+ />
198
+ <CLDialog
199
+ :title="$l('检测')"
200
+ :visible.sync="Dvisible"
201
+ width="85%"
202
+ max-dialog
203
+ >
204
+ <AutoFillDetection :settingSource="settingSource" />
205
+ </CLDialog>
206
+ </ClPage>
207
+ </template>
208
+
209
+ <script>
210
+ import ImportRulesDialog from "./components/ImportRulesDialog.vue";
211
+ import { amountFormat } from "@/utils/index.js";
212
+ import {
213
+ matchingSetting,
214
+ matchingList,
215
+ matchingDelete,
216
+ matchingExport,
217
+ } from "@/api/setting.js";
218
+ import { AutoFillListHeader, AutoFillListFilter } from "./components/config";
219
+ import downloadBlob from "n20-common-lib/src/utils/downloadBlob.js";
220
+ import {
221
+ Pagination,
222
+ AdvancedFilter,
223
+ Page,
224
+ dayjs,
225
+ TableSetSize,
226
+ StatisItem,
227
+ Dialog,
228
+ TablePro,
229
+ TableProOperateColumn,
230
+ } from "n20-common-lib";
231
+ export default {
232
+ name: "NstcAutoFillList",
233
+ components: {
234
+ ImportRulesDialog,
235
+ ClPage: Page,
236
+ CLTablePro: TablePro,
237
+ ClPagination: Pagination,
238
+ ClAdvancedFilter: AdvancedFilter,
239
+ TableSetSize,
240
+ StatisItem,
241
+ CLDialog: Dialog,
242
+ TableProOperateColumn,
243
+ AutoFillDetection: () => import("../../AutoFillDetection/src/main.vue"),
244
+ },
245
+ props: {
246
+ // 1:收入 2: 支出
247
+ settingSource: {
248
+ type: [Number, String],
249
+ default: "2",
250
+ },
251
+ test: {
252
+ type: Boolean,
253
+ default: false,
254
+ },
255
+ pageRelaNo: {
256
+ type: Object,
257
+ default: () => {
258
+ return {
259
+ add: null, //新增
260
+ delete: null, //删除
261
+ detection: null, //检测
262
+ import: null, //导入
263
+ export: null, //导出
264
+ edit: null, //编辑
265
+ copy: null, //复制
266
+ };
267
+ },
268
+ },
269
+ },
270
+ data(vm) {
271
+ return {
272
+ amountFormat,
273
+ Dvisible: false,
274
+ pagination: {
275
+ size: 50,
276
+ current: 1,
277
+ total: 0,
278
+ },
279
+ multiple: true,
280
+ visible: false,
281
+ btns: [
282
+ {
283
+ label: vm.$l("修改"),
284
+ isHas: (row) => vm.$hasG(vm.pageRelaNo.edit),
285
+ command: "xg",
286
+ },
287
+ {
288
+ label: vm.$l("复制"),
289
+ isHas: (row) => vm.$hasG(vm.pageRelaNo.copy),
290
+ command: "fz",
291
+ },
292
+ {
293
+ label: vm.$l("删除"),
294
+ isHas: (row) => vm.$hasG(vm.pageRelaNo.delete),
295
+ command: "sc",
296
+ },
297
+ ],
298
+ formData: {
299
+ cltNo: "",
300
+ getNo: "",
301
+ getName: "",
302
+ infos: "",
303
+ pacntNo: "",
304
+ pacntName: "",
305
+ ruleName: "",
306
+ applyRangeList: [],
307
+ fillWayList: [],
308
+ autoSubmitList: [],
309
+ },
310
+ loading: false,
311
+ tableData: [],
312
+ selectRowIds: [],
313
+ selectRows: [],
314
+ fillField: [], // 补填动态字段
315
+ filterList: AutoFillListFilter,
316
+ tableHeader: AutoFillListHeader,
317
+ fillCommonConditionList: [],
318
+ orders: { action: "DESC", key: "updateTime" },
319
+ };
320
+ },
321
+ computed: {
322
+ filterKeys() {
323
+ let props = this.filterList.map((item) => item.id);
324
+ return props.join(",");
325
+ },
326
+ },
327
+ async mounted() {
328
+ await this.matchingSetting();
329
+ },
330
+ activated() {
331
+ this.queryData();
332
+ },
333
+ methods: {
334
+ viewsMulti(val) {
335
+ if (val?.length) return val.join(",");
336
+ return "--";
337
+ },
338
+ detection() {
339
+ this.$router.push({
340
+ path: "/checkRules",
341
+ });
342
+ },
343
+ async paginationChange(val) {
344
+ this.pagination = val;
345
+ this.queryData();
346
+ },
347
+ clearSearch() {
348
+ for (const key in this.formData) {
349
+ const el = this.formData[key];
350
+ if (Array.isArray(el)) {
351
+ this.formData[key] = [];
352
+ } else {
353
+ this.formData[key] = "";
354
+ }
355
+ }
356
+ },
357
+ editFn(row) {
358
+ this.$router.push({
359
+ path: "/editeRules",
360
+ query: {
361
+ matchingId: row.matchingId,
362
+ type: "edit",
363
+ },
364
+ });
365
+ },
366
+ copyFn(row) {
367
+ this.$router.push({
368
+ path: "/AddRules",
369
+ query: {
370
+ matchingId: row.matchingId,
371
+ type: "copy",
372
+ },
373
+ });
374
+ },
375
+ // 后端导出
376
+ async exportFn(type) {
377
+ let params = {};
378
+ if (this.selectRowIds && this.selectRowIds.length > 0) {
379
+ params = {
380
+ matchingIdList: this.selectRowIds,
381
+ };
382
+ } else {
383
+ let map = { ...this.formData };
384
+ params = {
385
+ ...map,
386
+ settingSource: this.settingSource,
387
+ sort: this.orders,
388
+ page: {
389
+ current: 1,
390
+ size: -1,
391
+ },
392
+ };
393
+ }
394
+ params.type = type;
395
+ let res = await matchingExport(params);
396
+ let t = dayjs().format("YYYYMMDD");
397
+ let fn = this.$l("流水自动补填规则") + "-" + t + "." + type;
398
+ downloadBlob(res, fn);
399
+ return this.$message.success(this.$l("导出成功"));
400
+ },
401
+ // 获取动态匹配/补填字段
402
+ async matchingSetting(params, field) {
403
+ this.fillCommonConditionList = [];
404
+ this.fillField = await matchingSetting(2, this.settingSource);
405
+ this.fillField = this.fillField.filter(
406
+ (item) => !item.fieldCode.includes("Extend")
407
+ );
408
+ //1:收入 2: 支出
409
+ if (this.settingSource == "2") {
410
+ this.fillField = this.fillField.filter(
411
+ (item) => item.fieldCode != "paymentCategory"
412
+ );
413
+ }
414
+ // 收款排除付款类型
415
+ if (this.settingSource == "1") {
416
+ this.fillField = this.fillField.filter(
417
+ (item) => !["paymentTypeNo", "fundsUseCode"].includes(item.fieldCode)
418
+ );
419
+ }
420
+ for (let i of this.fillField) {
421
+ this.fillCommonConditionList.push({
422
+ fillFieldCode: i.fieldCode,
423
+ fillValueLike: "",
424
+ });
425
+ let flag = this.filterList.find((item) => item.value == i.fieldCode);
426
+ if (!flag) {
427
+ this.filterList.push({
428
+ id: i.fieldCode,
429
+ label: i.fieldName, //规则编号
430
+ type: "text",
431
+ value: i.fieldCode,
432
+ isDefault: false,
433
+ props: {
434
+ clearable: true,
435
+ },
436
+ });
437
+ }
438
+ }
439
+ console.log("fillField", this.fillField);
440
+ },
441
+ refresh() {
442
+ this.pagination.current = 1;
443
+ this.clearSelect();
444
+ this.queryData();
445
+ },
446
+ clearSelect() {
447
+ this.$refs["vTable"].$refs["vxeTable"].clearCheckboxRow();
448
+ this.$refs.vTable?.$refs?.[`vxeTable`]?.clearCheckboxReserve();
449
+ this.selectRows = [];
450
+ },
451
+ sortChange(data) {
452
+ if (!data.length) {
453
+ this.orders = { action: "DESC", key: "updateTime" };
454
+ return;
455
+ }
456
+ let obj = data[0] || {};
457
+ this.orders = {
458
+ action: obj.asc ? "ASC" : "DESC",
459
+ key: obj.column,
460
+ };
461
+ this.queryData();
462
+ },
463
+ async queryData() {
464
+ let map = { ...this.formData };
465
+ for (let i of this.fillCommonConditionList) {
466
+ if (map[i.fillFieldCode]) {
467
+ i.fillValueLike = map[i.fillFieldCode];
468
+ } else {
469
+ i.fillValueLike = undefined;
470
+ }
471
+ }
472
+ const params = {
473
+ page: {
474
+ current: this.pagination.current,
475
+ size: this.pagination.size,
476
+ },
477
+ settingSource: this.settingSource,
478
+ sort: this.orders,
479
+ fillCommonConditionList: this.fillCommonConditionList,
480
+ ...map,
481
+ };
482
+ try {
483
+ this.loading = true;
484
+ const { list, total } = await matchingList(params);
485
+ this.tableData = (list || []).map((item) => {
486
+ if (typeof item.usedUnit == "string") {
487
+ item.usedUnit = JSON.parse(item.usedUnit);
488
+ item.usedUnits = item.usedUnit;
489
+ }
490
+ if (item.usedUnit?.length > 5) {
491
+ item.usedUnit = item.usedUnit.slice(0, 5);
492
+ item.usedUnit.push({ unitName: "....." });
493
+ }
494
+ for (let i of item.matchingFillCommons) {
495
+ let fv = undefined;
496
+ try {
497
+ fv = JSON.parse(i.fillValue);
498
+ } catch {}
499
+ item[i.fillFieldCode] = fv?.budgetAccountName || fv?.name;
500
+ }
501
+ return {
502
+ ...item,
503
+ usedUnits: item.usedUnits?.map((item) => item.unitName)?.join("\n"),
504
+ usedUnit: item.usedUnit
505
+ ?.map((item) => item.unitName)
506
+ ?.join("<br/>"),
507
+ };
508
+ });
509
+ this.pagination.total = total || 0;
510
+ } catch (err) {
511
+ console.error(err);
512
+ this.tableData = [];
513
+ this.pagination.total = 0;
514
+ } finally {
515
+ this.loading = false;
516
+ }
517
+ },
518
+ delFnBatch() {
519
+ if (!this.selectRowIds.length) {
520
+ return this.$message.warning(this.$l("请至少选择一条数据进行删除。"));
521
+ }
522
+ this.delFn(this.selectRows);
523
+ },
524
+ handleSelectionChange(rows) {
525
+ const rowIds = [];
526
+ rows.forEach((item) => {
527
+ rowIds.push(item.matchingId);
528
+ });
529
+ this.selectRowIds = Object.freeze(rowIds);
530
+ this.selectRows = rows;
531
+ },
532
+ delFn(row) {
533
+ this.$msgboxPor({
534
+ title: this.$l("确认要删除吗?"),
535
+ message: this.$l("内容从页面删除,将不可恢复"),
536
+ type: "error",
537
+ confirmButtonText: this.$l("确定"),
538
+ cancelButtonText: this.$l("取消"),
539
+ }).then(async (res) => {
540
+ try {
541
+ let ids = "";
542
+ if (Array.isArray(row)) {
543
+ ids = row.map((r) => r.matchingId);
544
+ } else {
545
+ ids = [row.matchingId];
546
+ }
547
+ await matchingDelete({ matchingIds: ids });
548
+ this.$message.success(this.$l("删除成功"));
549
+ this.refresh();
550
+ } catch (error) {
551
+ this.$message.error(this.$l("删除失败"));
552
+ }
553
+ });
554
+ },
555
+ },
556
+ };
557
+ </script>
558
+
559
+ <style scoped></style>
@@ -0,0 +1,7 @@
1
+ import NstcAutoFillRuleHistory from './src/main'
2
+
3
+ NstcAutoFillRuleHistory.install = function(Vue) {
4
+ Vue.component(NstcAutoFillRuleHistory.name, NstcAutoFillRuleHistory)
5
+ }
6
+
7
+ export default NstcAutoFillRuleHistory
@@ -0,0 +1,23 @@
1
+ <template>
2
+ <Trade :setting-source="settingSource" test :pageRelaNo="pageRelaNo"></Trade>
3
+ </template>
4
+
5
+ <script>
6
+ import Trade from "../main.vue"; // 真正使用的时候不用导入 已全局use
7
+ export default {
8
+ name: "trade",
9
+ components: {
10
+ Trade, // 真正使用的时候不用导入 已全局use
11
+ },
12
+ data() {
13
+ return {
14
+ settingSource: 1, //1:收款 2:付款
15
+ pageRelaNo: {
16
+ submmit: 'payee00100200200100801',//新增
17
+ }
18
+ };
19
+ },
20
+ };
21
+ </script>
22
+
23
+ <style lang="scss" scoped></style>