syntec3-0-ui-components-test 1.0.0

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 (99) hide show
  1. package/README.md +5 -0
  2. package/dist/S3_0UC_main.csv +4 -0
  3. package/dist/S3_0UC_sub.csv +2 -0
  4. package/dist/globalVariableS3_0UC.json +1 -0
  5. package/dist/style.css +1 -0
  6. package/dist/syntec3-0-ui-components.es.js +19518 -0
  7. package/dist/syntec3-0-ui-components.es.js.map +1 -0
  8. package/dist/syntec3-0-ui-components.umd.js +23 -0
  9. package/dist/syntec3-0-ui-components.umd.js.map +1 -0
  10. package/dist/vite.svg +1 -0
  11. package/dist/web.config +17 -0
  12. package/package.json +137 -0
  13. package/src/App.vue +31 -0
  14. package/src/assets/fonts/genYoGothicTW-normal.js +7 -0
  15. package/src/assets/image/defaultImage.png +0 -0
  16. package/src/assets/vue.svg +1 -0
  17. package/src/components/Layout/modules/fullPageGlobal.vue +113 -0
  18. package/src/components/Layout/modules/viewFile/config.js +65 -0
  19. package/src/components/Layout/modules/viewFile/createView.vue +1000 -0
  20. package/src/components/Layout/modules/viewFile/filterCriteria.vue +816 -0
  21. package/src/components/Layout/modules/viewFile/viewList.vue +291 -0
  22. package/src/components/Layout/modules/viewFile/viewManageTool.js +271 -0
  23. package/src/components/Layout/modules/viewFile/viewRecord.vue +472 -0
  24. package/src/components/Layout/modules/viewFile/viewTabs.vue +542 -0
  25. package/src/components/Layout/tools/GlobalDialog.vue +115 -0
  26. package/src/components/Pagination.vue +139 -0
  27. package/src/components/columnConfigNext.vue +273 -0
  28. package/src/components/customFilter/customFilter.vue +492 -0
  29. package/src/components/customFilter/filterCriteria.vue +769 -0
  30. package/src/components/customTable/components/headerOperation/index.vue +136 -0
  31. package/src/components/customTable/components/headerTabs/index.vue +171 -0
  32. package/src/components/customTable/components/tableContent/index.vue +440 -0
  33. package/src/components/customTable/index.vue +305 -0
  34. package/src/components/dialog.vue +85 -0
  35. package/src/components/pageContent.vue +48 -0
  36. package/src/components/popover.vue +402 -0
  37. package/src/configFiles/apiFile/baseApiList.json +11 -0
  38. package/src/configFiles/apiFile/coreApiList.json +24 -0
  39. package/src/configFiles/apiFile/mesApiList.json +4 -0
  40. package/src/configFiles/apiFile/mmsApiList.json +3 -0
  41. package/src/configFiles/errorCode.json +291 -0
  42. package/src/configFiles/version.js +2 -0
  43. package/src/i18n/lang/en-us.json +2060 -0
  44. package/src/i18n/lang/errorCodeTranslate.mjs +847 -0
  45. package/src/i18n/lang/zh-cn.json +2062 -0
  46. package/src/i18n/lang/zh-tw.json +2059 -0
  47. package/src/index.js +115 -0
  48. package/src/main.js +51 -0
  49. package/src/plugins/excel.js +88 -0
  50. package/src/router/index.js +41 -0
  51. package/src/scriptFiles/apiConfig/baseApis.js +10 -0
  52. package/src/scriptFiles/apiConfig/mesApis.js +10 -0
  53. package/src/scriptFiles/apiConfig/mmsApis.js +10 -0
  54. package/src/scriptFiles/apiConfig/privateCloudCoreApis.js +13 -0
  55. package/src/scriptFiles/apiConfig/serviceRoute.js +23 -0
  56. package/src/scriptFiles/apis/baseApiFunction.js +63 -0
  57. package/src/scriptFiles/apis/mesApiFunction.js +15 -0
  58. package/src/scriptFiles/apis/mmsApiFunction.js +9 -0
  59. package/src/scriptFiles/apis/privateCloudCoreApiFunction.js +101 -0
  60. package/src/scriptFiles/backendApiFunction.js +11 -0
  61. package/src/scriptFiles/checkApiErrorMechanism.js +137 -0
  62. package/src/scriptFiles/common/objectDataProcessing.js +65 -0
  63. package/src/scss/base/commom.scss +1068 -0
  64. package/src/scss/base/dialog.scss +45 -0
  65. package/src/scss/base/index.scss +3 -0
  66. package/src/scss/base/table.scss +28 -0
  67. package/src/store/index.js +25 -0
  68. package/src/store/module/langStore.js +116 -0
  69. package/src/style.css +52 -0
  70. package/src/utils/excel.js +86 -0
  71. package/src/utils/formula.js +69 -0
  72. package/src/utils/https.js +13 -0
  73. package/src/utils/i18n.js +42 -0
  74. package/src/utils/shiftSelect.js +164 -0
  75. package/src/utils/summation.js +77 -0
  76. package/src/utils/tableWidth.js +29 -0
  77. package/src/utils/toolFun.js +93 -0
  78. package/src/views/productionWorkOrder/components/columnConfig.vue +242 -0
  79. package/src/views/productionWorkOrder/components/docCustomFieldForm.vue +739 -0
  80. package/src/views/productionWorkOrder/components/filePreview.vue +148 -0
  81. package/src/views/productionWorkOrder/components/querySearch.vue +363 -0
  82. package/src/views/productionWorkOrder/configFiles/excelImportErrorCode.json +94 -0
  83. package/src/views/productionWorkOrder/configFiles/pdfDefaultConfig.js +933 -0
  84. package/src/views/productionWorkOrder/configFiles/planMakingScript.js +600 -0
  85. package/src/views/productionWorkOrder/configFiles/productionRelatedScript.js +368 -0
  86. package/src/views/productionWorkOrder/configFiles/rulse.js +23 -0
  87. package/src/views/productionWorkOrder/configFiles/status.js +50 -0
  88. package/src/views/productionWorkOrder/index.vue +2174 -0
  89. package/src/views/productionWorkOrder/productionFlowLabel/component/addCirculationLabel.vue +394 -0
  90. package/src/views/productionWorkOrder/productionFlowLabel/component/circulationLabelTable.vue +124 -0
  91. package/src/views/productionWorkOrder/productionFlowLabel/component/materialPartFilePreview.vue +167 -0
  92. package/src/views/productionWorkOrder/productionFlowLabel/component/workOrderInformation.vue +28 -0
  93. package/src/views/productionWorkOrder/productionFlowLabel/index.vue +604 -0
  94. package/src/views/production_work_order/components/priorityTooltip.vue +53 -0
  95. package/src/views/production_work_order/index.vue +1307 -0
  96. package/src/views/review_record/components/materialInfo.vue +50 -0
  97. package/src/views/review_record/components/rootCause.vue +42 -0
  98. package/src/views/review_record/components/workDetail.vue +115 -0
  99. package/src/views/review_record/index.vue +884 -0
@@ -0,0 +1,305 @@
1
+ <template>
2
+ <div :data-test-id="`${dataTestId}-DIV-CHFzZk`">
3
+ <pageContent
4
+ v-loading="pageLoading"
5
+ :is-tab="false"
6
+ :is-view="true"
7
+ :data-test-id="`${dataTestId}-PAGECONTENT-izX8Nl`"
8
+ >
9
+ <template #viewContent>
10
+ <!-- 顶部tabs操作栏 -->
11
+ <header-tabs
12
+ v-if="hasHeaderTabs"
13
+ ref="viewManagerRef"
14
+ :permission-data="permissionData"
15
+ :data-test-id="`${dataTestId}-DIV-9lfM7M`"
16
+ :select-options="selectOptions"
17
+ :default-create-time-string="defaultCreateTimeString"
18
+ @update:permissionData="handlePermissionDataUpdate"
19
+ />
20
+ </template>
21
+ <template #headerContent>
22
+ <!-- 操作按钮区域 -->
23
+ <header-operation
24
+ v-if="hasHeaderOperation"
25
+ :buttons="topButtons"
26
+ position="right"
27
+ :data-test-id="`${dataTestId}-HEADER-OPERATION-XO8TJP`"
28
+ />
29
+ </template>
30
+ <template #searchContent>
31
+ <!-- 搜索表单区域 -->
32
+ <customFilter
33
+ v-if="hasSearchContent"
34
+ ref="querySearchRef"
35
+ :can-edit-headers="tableColumns"
36
+ :data-test-id="`${dataTestId}-CUSTOMFILTER-7SqxcZ`"
37
+ :permission-code="permissionCode"
38
+ :has-column-config="hasColumnConfig"
39
+ :select-options="selectOptions"
40
+ @filterSearch="query"
41
+ @parentSaveData="parentSaveData"
42
+ @childSaveData="childSaveData"
43
+ />
44
+ </template>
45
+ <template #tableContent>
46
+ <table-content
47
+ ref="tableContentRef"
48
+ :loading="tableLoading"
49
+ :table-data="dataList"
50
+ :columns="tableColumns"
51
+ :total="total"
52
+ :current-page="currentPage"
53
+ :page-size="pageSize"
54
+ :table-actions-width="tableActionsWidth"
55
+ :show-selection="showSelection"
56
+ :show-index="showIndex"
57
+ :column-min-width="columnMinWidth"
58
+ :permission-code="permissionCode"
59
+ :page-type="pageType"
60
+ :show-pagination="showPagination"
61
+ :data-test-id="`${dataTestId}-TABLE-CONTENT-NH3XBf`"
62
+ :default-sort="defaultSort"
63
+ :show-summary="showSummary"
64
+ :summary-method="summaryMethod"
65
+ :selectable="selectable"
66
+ v-bind="$attrs"
67
+ @cellClick="$emit('cellClick', $event)"
68
+ @sortChange="$emit('sortChange', $event)"
69
+ @selectionChange="onSelectionChange"
70
+ @pageChange="onPageChange"
71
+ >
72
+ <template #customColumn="{ row, index }">
73
+ <slot name="customColumn" :row="row" :index="index" />
74
+ </template>
75
+ <template #tableActions="{ row, index }">
76
+ <slot name="tableActions" :row="row" :index="index" />
77
+ </template>
78
+ </table-content>
79
+ </template>
80
+ </pageContent>
81
+ </div>
82
+ </template>
83
+
84
+ <script setup>
85
+ import { ref, computed } from 'vue';
86
+
87
+ // 组件导入
88
+ import pageContent from '@/components/pageContent.vue';
89
+ import HeaderTabs from '@/components/customTable/components/headerTabs/index.vue';
90
+ import HeaderOperation from '@/components/customTable/components/headerOperation/index.vue';
91
+ import TableContent from '@/components/customTable/components/tableContent/index.vue';
92
+ import customFilter from '@/components/customFilter/customFilter.vue';
93
+
94
+ const props = defineProps({
95
+ hasHeaderTabs: {
96
+ // 是否显示顶部tabs
97
+ type: Boolean,
98
+ default: true,
99
+ },
100
+ hasHeaderOperation: {
101
+ // 是否显示顶部操作按钮组
102
+ type: Boolean,
103
+ default: true,
104
+ },
105
+ hasSearchContent: {
106
+ // 是否显示搜索表单
107
+ type: Boolean,
108
+ default: true,
109
+ },
110
+ hasColumnConfig: {
111
+ // 是否显示列配置,由于列配置存在于customFilter中,前提必须要hasSearchContent=true
112
+ // 分开控制的话看是否需要调整搜索组件的比例
113
+ type: Boolean,
114
+ default: true,
115
+ },
116
+ auto: {
117
+ // 是否自动加载数据
118
+ type: Boolean,
119
+ default: true,
120
+ },
121
+ pageLoading: {
122
+ // 页面加载状态
123
+ type: Boolean,
124
+ default: false,
125
+ },
126
+ tableLoading: {
127
+ // table加载状态
128
+ type: Boolean,
129
+ default: false,
130
+ },
131
+ total: {
132
+ // table数据总数量,用于分页
133
+ type: Number,
134
+ default: 0,
135
+ },
136
+ tableColumns: {
137
+ // 定义的table列数据
138
+ type: Array,
139
+ default: () => [],
140
+ },
141
+ // 分页请求code码
142
+ permissionCode: {
143
+ type: String,
144
+ default: '',
145
+ },
146
+ // 操作列的最小宽度,设置为0则不显示
147
+ tableActionsWidth: {
148
+ type: Number,
149
+ default: 120,
150
+ },
151
+ // 功能开关,选择列
152
+ showSelection: {
153
+ type: Boolean,
154
+ default: true,
155
+ },
156
+ // 是否显示序号列
157
+ showIndex: {
158
+ type: Boolean,
159
+ default: true,
160
+ },
161
+ // 列的最小宽度,如果固定列配置中配置了minWidth则配置列优先使用minWidth,其他未配置的则使用columnMinWidth
162
+ columnMinWidth: {
163
+ type: Number,
164
+ default: 200,
165
+ },
166
+ // 是否显示合计行
167
+ showSummary: {
168
+ type: Boolean,
169
+ default: false,
170
+ },
171
+ // 合并格式方法
172
+ summaryMethod: Function,
173
+ // 选择列禁用规则
174
+ selectable: Function,
175
+ // 视图组件数据
176
+ permissionData: {
177
+ type: Object,
178
+ default: () => ({}),
179
+ },
180
+ selectOptions: {
181
+ type: Object,
182
+ default: () => ({}),
183
+ },
184
+ defaultCreateTimeString: {
185
+ type: String,
186
+ default: 'createTime',
187
+ },
188
+ // 顶部按钮组--固定在右边
189
+ topButtons: {
190
+ type: Array,
191
+ default: () => [],
192
+ },
193
+ // 默认的排序列的 prop 和顺序。
194
+ defaultSort: {
195
+ type: Object,
196
+ default: () => ({}),
197
+ },
198
+ pageType: Number,
199
+ // 是否显示分页组件
200
+ showPagination: {
201
+ type: Boolean,
202
+ default: true,
203
+ },
204
+ dataTestId: String,
205
+ });
206
+ const $emit = defineEmits([
207
+ 'update:modelValue',
208
+ 'reload', // 表格请求数据
209
+ 'sortChange', // 自定义排序
210
+ 'selectionChange', // 选中行
211
+ 'columnsSaveData', // 列配置更改
212
+ 'columnsChildSaveData', // 子级列配置更改
213
+ 'cellClick', // 单元格点击
214
+ 'update:permissionData',
215
+ ]);
216
+ // const { t } = useI18n();
217
+ const tableContentRef = ref();
218
+ const dataList = ref([]);
219
+ const selectList = ref([]);
220
+ const currentPage = ref(1);
221
+ const pageSize = ref(20);
222
+ const total = computed(() => {
223
+ return props.total;
224
+ });
225
+
226
+ // 筛选条件
227
+ const paginationParams = computed(() => ({
228
+ startIndex: (currentPage.value - 1) * pageSize.value,
229
+ count: pageSize.value,
230
+ }));
231
+ function query(e) {
232
+ currentPage.value = 1;
233
+ // 将filterSearch事件传递给父组件
234
+ $emit('filterSearch', e);
235
+ }
236
+ // table数据赋值
237
+ function complete(data) {
238
+ dataList.value = data;
239
+ $emit('update:modelValue', data);
240
+ }
241
+ // 数据刷新,用于首次数据请求,刷新数据等
242
+ function reload() {
243
+ $emit('reload', paginationParams.value);
244
+ }
245
+
246
+ const tableColumns = computed(() => {
247
+ return props.tableColumns;
248
+ });
249
+ const parentSaveData = async (val) => {
250
+ $emit('columnsSaveData', val);
251
+ };
252
+ // 子级数据保存
253
+ const childSaveData = async (val) => {
254
+ $emit('columnsChildSaveData', val);
255
+ };
256
+ // 页码切换
257
+ const onPageChange = (val) => {
258
+ currentPage.value = val.page;
259
+ pageSize.value = val.size;
260
+ $emit('reload', paginationParams.value);
261
+ };
262
+ // 选择行变化
263
+ function onSelectionChange(e) {
264
+ selectList.value = e;
265
+ $emit('selectionChange', e);
266
+ }
267
+ // 处理权限数据更新
268
+ function handlePermissionDataUpdate(data) {
269
+ currentPage.value = 1;
270
+ $emit('update:permissionData', data);
271
+ }
272
+ // 暴露方法给父组件
273
+ defineExpose({
274
+ tableContentRef,
275
+ complete,
276
+ reload,
277
+ getTableData: () => dataList.value,
278
+ });
279
+ </script>
280
+
281
+ <style lang="scss" scoped>
282
+ @use '@/scss/base/table.scss';
283
+
284
+ .statusColor {
285
+ min-width: 100px;
286
+ height: 40px;
287
+ text-align: center;
288
+ line-height: 40px;
289
+ }
290
+
291
+ .a-text-class {
292
+ color: #409eff;
293
+ cursor: pointer;
294
+ text-decoration: underline;
295
+ }
296
+
297
+ .ellipsis-single-line {
298
+ white-space: nowrap;
299
+ /* 禁止换行 */
300
+ overflow: hidden;
301
+ /* 隐藏超出内容 */
302
+ text-overflow: ellipsis;
303
+ /* 显示省略号 */
304
+ }
305
+ </style>
@@ -0,0 +1,85 @@
1
+ <template>
2
+ <el-dialog
3
+ v-model="showDialog"
4
+ class="global-dialog"
5
+ :width="`${width}rem`"
6
+ center
7
+ align-center
8
+ :close-on-click-modal="false"
9
+ :close-on-press-escape="false"
10
+ :modal-append-to-body="true"
11
+ :append-to-body="true"
12
+ @close="close"
13
+ >
14
+ <div
15
+ :class="className || 'dialog-container'"
16
+ :style="`max-height: calc(${dialogContainerVHHeightName}vh - 30px); overflow-y: auto`"
17
+ >
18
+ <slot></slot>
19
+ </div>
20
+ <template #header>
21
+ <slot name="header">{{ title }}</slot>
22
+ </template>
23
+ <div class="dialog-footer">
24
+ <slot name="footer"></slot>
25
+ </div>
26
+ </el-dialog>
27
+ </template>
28
+
29
+ <script setup>
30
+ import { defineProps, watch, ref } from 'vue';
31
+ const emit = defineEmits(['close']);
32
+ const props = defineProps({
33
+ title: String,
34
+ value: Boolean,
35
+ width: {
36
+ type: Number,
37
+ default: 50,
38
+ },
39
+ className: String,
40
+ dialogContainerVHHeightName: {
41
+ type: Number,
42
+ default: 60,
43
+ },
44
+ });
45
+ const showDialog = ref(false);
46
+ watch(
47
+ () => props.value,
48
+ (val) => {
49
+ showDialog.value = val;
50
+ },
51
+ );
52
+ function close() {
53
+ emit('close');
54
+ }
55
+ </script>
56
+
57
+ <style scoped>
58
+ .dialog-footer {
59
+ text-align: center;
60
+ margin: 0 auto;
61
+ margin-top: 1rem;
62
+ }
63
+
64
+ /**修改全局的滚动条*/
65
+ /**滚动条的宽度*/
66
+ ::-webkit-scrollbar {
67
+ width: 8px;
68
+ }
69
+ ::-webkit-scrollbar-thumb {
70
+ background-color: #eaecf1;
71
+ border-radius: 3px;
72
+ }
73
+ /*表格*/
74
+ .el-table__body-wrapper::-webkit-scrollbar {
75
+ width: 10px;
76
+ height: 10px;
77
+ }
78
+ .el-table__body-wrapper::-webkit-scrollbar-thumb {
79
+ background-color: #a1a3a9;
80
+ border-radius: 3px;
81
+ }
82
+ :deep(.el-card__body) {
83
+ padding-bottom: 0px;
84
+ }
85
+ </style>
@@ -0,0 +1,48 @@
1
+ <template>
2
+ <div
3
+ :style="`
4
+ height: calc(100vh - 5.5rem - ${isTab ? '3.8rem' : '0rem'});
5
+ width: 100%;
6
+ display: flex;
7
+ flex-direction: column;
8
+ `"
9
+ data-test-id="DIV-9uS3aN"
10
+ >
11
+ <div v-if="isView" data-test-id="DIV-s8FkU33s">
12
+ <slot name="viewContent" />
13
+ </div>
14
+ <div
15
+ class="box1"
16
+ :style="`${isTab ? 'top: -3.5rem;width:30%' : isView ? 'top: 3.5rem' : 'top: 0'}`"
17
+ data-test-id="DIV-s8FkUs"
18
+ >
19
+ <slot name="headerContent" />
20
+ </div>
21
+ <div :style="isTab ? { marginTop: 0 } : { marginTop: '2.5rem' }" data-test-id="DIV-b7sCPr">
22
+ <slot name="searchContent" />
23
+ </div>
24
+ <slot name="tableContent" style="flex: auto" />
25
+ </div>
26
+ </template>
27
+
28
+ <script setup>
29
+ defineProps({
30
+ isTab: Boolean,
31
+ isView: Boolean,
32
+ });
33
+ </script>
34
+
35
+ <style scoped>
36
+ .box1 {
37
+ width: calc(100% - 30rem);
38
+ position: absolute;
39
+ right: 0;
40
+ top: -2rem;
41
+ display: flex;
42
+ justify-content: flex-end;
43
+ z-index: 200;
44
+ }
45
+ .button-container {
46
+ min-width: 240px;
47
+ }
48
+ </style>