ydb-components-material 0.1.119 → 0.1.121

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 (165) hide show
  1. package/build/docs/404.html +3 -3
  2. package/build/docs/_demos/:uuid +3 -3
  3. package/build/docs/colorful-button.html +3 -3
  4. package/build/docs/colorful-input.html +3 -3
  5. package/build/docs/index.html +3 -3
  6. package/build/docs/static/situation.80bdb450.png +0 -0
  7. package/build/docs/{umi.ffb7b81c.css → umi.35f02979.css} +1 -1
  8. package/build/docs/umi.8b7db9c6.js +1 -0
  9. package/build/docs/~demos/:uuid.html +3 -3
  10. package/build/docs/~demos/colorful-button-demo.html +3 -3
  11. package/build/docs/~demos/colorful-input-demo.html +3 -3
  12. package/build/lowcode/3.js +2 -2
  13. package/build/lowcode/4.js +1 -1
  14. package/build/lowcode/5.js +1 -1
  15. package/build/lowcode/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
  16. package/build/lowcode/assets-daily.json +11 -11
  17. package/build/lowcode/assets-dev.json +2 -2
  18. package/build/lowcode/assets-prod.json +11 -11
  19. package/build/lowcode/index.js +1 -1
  20. package/build/lowcode/meta.js +1 -1
  21. package/build/lowcode/preview.js +9 -9
  22. package/build/lowcode/render/default/1.js +2 -2
  23. package/build/lowcode/render/default/2.js +1 -1
  24. package/build/lowcode/render/default/3.js +1 -1
  25. package/build/lowcode/render/default/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
  26. package/build/lowcode/render/default/view.css +1 -1
  27. package/build/lowcode/render/default/view.js +26 -26
  28. package/build/lowcode/view.css +1 -1
  29. package/build/lowcode/view.js +26 -26
  30. package/dist/1.js +2 -2
  31. package/dist/2.js +1 -1
  32. package/dist/3.js +1 -1
  33. package/dist/BizComps.css +1 -1
  34. package/dist/BizComps.js +19 -19
  35. package/dist/BizComps.js.map +1 -1
  36. package/dist/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
  37. package/es/components/file-list/item.js +2 -2
  38. package/es/components/file-list/seal.js +5 -1
  39. package/es/components/file-list/signUtil.js +9 -1
  40. package/es/components/guide-pc/comment.d.ts +9 -0
  41. package/es/components/guide-pc/comment.js +93 -0
  42. package/es/components/guide-pc/comment.scss +15 -0
  43. package/es/components/guide-pc/comment.vue +117 -0
  44. package/es/components/guide-pc/components/accept.d.ts +7 -0
  45. package/es/components/guide-pc/components/accept.js +30 -0
  46. package/es/components/guide-pc/components/accept.scss +18 -0
  47. package/es/components/guide-pc/components/accept.vue +50 -0
  48. package/es/components/guide-pc/components/basicInfo.d.ts +7 -0
  49. package/es/components/guide-pc/components/basicInfo.js +89 -0
  50. package/es/components/guide-pc/components/basicInfo.scss +30 -0
  51. package/es/components/guide-pc/components/basicInfo.vue +81 -0
  52. package/es/components/guide-pc/components/guideTabs.d.ts +8 -0
  53. package/es/components/guide-pc/components/guideTabs.js +32 -0
  54. package/es/components/guide-pc/components/guideTabs.scss +34 -0
  55. package/es/components/guide-pc/components/guideTabs.vue +48 -0
  56. package/es/components/guide-pc/components/guideTitle.d.ts +7 -0
  57. package/es/components/guide-pc/components/guideTitle.js +22 -0
  58. package/es/components/guide-pc/components/guideTitle.scss +15 -0
  59. package/es/components/guide-pc/components/guideTitle.vue +43 -0
  60. package/es/components/guide-pc/components/materialsList.d.ts +11 -0
  61. package/es/components/guide-pc/components/materialsList.js +386 -0
  62. package/es/components/guide-pc/components/materialsList.scss +139 -0
  63. package/es/components/guide-pc/components/materialsList.vue +403 -0
  64. package/es/components/guide-pc/components/places.d.ts +7 -0
  65. package/es/components/guide-pc/components/places.js +110 -0
  66. package/es/components/guide-pc/components/places.scss +144 -0
  67. package/es/components/guide-pc/components/places.vue +198 -0
  68. package/es/components/guide-pc/components/processImg.d.ts +9 -0
  69. package/es/components/guide-pc/components/processImg.js +220 -0
  70. package/es/components/guide-pc/components/processImg.scss +117 -0
  71. package/es/components/guide-pc/components/processImg.vue +300 -0
  72. package/es/components/guide-pc/components/result.d.ts +7 -0
  73. package/es/components/guide-pc/components/result.js +130 -0
  74. package/es/components/guide-pc/components/result.scss +104 -0
  75. package/es/components/guide-pc/components/result.vue +191 -0
  76. package/es/components/guide-pc/components/situation.d.ts +12 -0
  77. package/es/components/guide-pc/components/situation.js +142 -0
  78. package/es/components/guide-pc/components/situation.scss +79 -0
  79. package/es/components/guide-pc/components/situation.vue +430 -0
  80. package/es/components/guide-pc/guide.vue +179 -0
  81. package/es/components/guide-pc/imgs/bg.png +0 -0
  82. package/es/components/guide-pc/imgs/cant.png +0 -0
  83. package/es/components/guide-pc/imgs/dept.png +0 -0
  84. package/es/components/guide-pc/imgs/error.png +0 -0
  85. package/es/components/guide-pc/imgs/judge.png +0 -0
  86. package/es/components/guide-pc/imgs/pass.png +0 -0
  87. package/es/components/guide-pc/imgs/rightArr.png +0 -0
  88. package/es/components/guide-pc/imgs/situation.png +0 -0
  89. package/es/components/guide-pc/imgs/time.png +0 -0
  90. package/es/components/guide-pc/imgs/titleL.png +0 -0
  91. package/es/components/guide-pc/imgs/titleR.png +0 -0
  92. package/es/components/guide-pc/index.d.ts +37 -0
  93. package/es/components/guide-pc/index.js +440 -0
  94. package/es/components/guide-pc/index.scss +185 -0
  95. package/es/index.d.ts +2 -0
  96. package/es/index.js +1 -0
  97. package/lib/components/file-list/item.js +2 -2
  98. package/lib/components/file-list/seal.js +5 -1
  99. package/lib/components/file-list/signUtil.js +9 -1
  100. package/lib/components/guide-pc/comment.d.ts +9 -0
  101. package/lib/components/guide-pc/comment.js +98 -0
  102. package/lib/components/guide-pc/comment.scss +15 -0
  103. package/lib/components/guide-pc/comment.vue +117 -0
  104. package/lib/components/guide-pc/components/accept.d.ts +7 -0
  105. package/lib/components/guide-pc/components/accept.js +36 -0
  106. package/lib/components/guide-pc/components/accept.scss +18 -0
  107. package/lib/components/guide-pc/components/accept.vue +50 -0
  108. package/lib/components/guide-pc/components/basicInfo.d.ts +7 -0
  109. package/lib/components/guide-pc/components/basicInfo.js +95 -0
  110. package/lib/components/guide-pc/components/basicInfo.scss +30 -0
  111. package/lib/components/guide-pc/components/basicInfo.vue +81 -0
  112. package/lib/components/guide-pc/components/guideTabs.d.ts +8 -0
  113. package/lib/components/guide-pc/components/guideTabs.js +37 -0
  114. package/lib/components/guide-pc/components/guideTabs.scss +34 -0
  115. package/lib/components/guide-pc/components/guideTabs.vue +48 -0
  116. package/lib/components/guide-pc/components/guideTitle.d.ts +7 -0
  117. package/lib/components/guide-pc/components/guideTitle.js +28 -0
  118. package/lib/components/guide-pc/components/guideTitle.scss +15 -0
  119. package/lib/components/guide-pc/components/guideTitle.vue +43 -0
  120. package/lib/components/guide-pc/components/materialsList.d.ts +11 -0
  121. package/lib/components/guide-pc/components/materialsList.js +392 -0
  122. package/lib/components/guide-pc/components/materialsList.scss +139 -0
  123. package/lib/components/guide-pc/components/materialsList.vue +403 -0
  124. package/lib/components/guide-pc/components/places.d.ts +7 -0
  125. package/lib/components/guide-pc/components/places.js +116 -0
  126. package/lib/components/guide-pc/components/places.scss +144 -0
  127. package/lib/components/guide-pc/components/places.vue +198 -0
  128. package/lib/components/guide-pc/components/processImg.d.ts +9 -0
  129. package/lib/components/guide-pc/components/processImg.js +226 -0
  130. package/lib/components/guide-pc/components/processImg.scss +117 -0
  131. package/lib/components/guide-pc/components/processImg.vue +300 -0
  132. package/lib/components/guide-pc/components/result.d.ts +7 -0
  133. package/lib/components/guide-pc/components/result.js +136 -0
  134. package/lib/components/guide-pc/components/result.scss +104 -0
  135. package/lib/components/guide-pc/components/result.vue +191 -0
  136. package/lib/components/guide-pc/components/situation.d.ts +12 -0
  137. package/lib/components/guide-pc/components/situation.js +147 -0
  138. package/lib/components/guide-pc/components/situation.scss +79 -0
  139. package/lib/components/guide-pc/components/situation.vue +430 -0
  140. package/lib/components/guide-pc/guide.vue +179 -0
  141. package/lib/components/guide-pc/imgs/bg.png +0 -0
  142. package/lib/components/guide-pc/imgs/cant.png +0 -0
  143. package/lib/components/guide-pc/imgs/dept.png +0 -0
  144. package/lib/components/guide-pc/imgs/error.png +0 -0
  145. package/lib/components/guide-pc/imgs/judge.png +0 -0
  146. package/lib/components/guide-pc/imgs/pass.png +0 -0
  147. package/lib/components/guide-pc/imgs/rightArr.png +0 -0
  148. package/lib/components/guide-pc/imgs/situation.png +0 -0
  149. package/lib/components/guide-pc/imgs/time.png +0 -0
  150. package/lib/components/guide-pc/imgs/titleL.png +0 -0
  151. package/lib/components/guide-pc/imgs/titleR.png +0 -0
  152. package/lib/components/guide-pc/index.d.ts +37 -0
  153. package/lib/components/guide-pc/index.js +445 -0
  154. package/lib/components/guide-pc/index.scss +185 -0
  155. package/lib/index.d.ts +2 -0
  156. package/lib/index.js +3 -1
  157. package/lowcode/guide-pc/meta.ts +338 -0
  158. package/lowcode_es/guide-pc/meta.d.ts +22 -0
  159. package/lowcode_es/guide-pc/meta.js +315 -0
  160. package/lowcode_es/meta.js +3 -2
  161. package/lowcode_lib/guide-pc/meta.d.ts +22 -0
  162. package/lowcode_lib/guide-pc/meta.js +320 -0
  163. package/lowcode_lib/meta.js +17 -16
  164. package/package.json +3 -3
  165. package/build/docs/umi.55472eae.js +0 -1
@@ -0,0 +1,430 @@
1
+ <template>
2
+ <view class="situation-content">
3
+ <guideTitle title="材料清单" />
4
+ <!-- 标语 -->
5
+ <view class="situation-tip" :class="{'isActive': isExpend}">
6
+ <view class="inner-tip" :style="{backgroundImage: `url(${bgImg})`}">
7
+
8
+ <view class="title-con">
9
+ <view class="title">导办情形选择</view>
10
+ <view class="tip">{{ tip }}</view>
11
+ </view>
12
+
13
+ <view class="btn-con" @click="expendChange()">
14
+ <view v-if="!isExpend">展开</view>
15
+ <view v-if="isExpend">收起</view>
16
+
17
+ <view class="icon">
18
+ <u-icon v-if="!isExpend" name="arrow-down" color="#1678FF" size="12" />
19
+ <u-icon v-if="isExpend" name="arrow-up" color="#1678FF" size="12" />
20
+ </view>
21
+
22
+ </view>
23
+ </view>
24
+ </view>
25
+
26
+ <!-- 情形选择结果 -->
27
+ <view v-show="isExpend" class="situation-inner">
28
+ <!-- 这里是情形选择表单 -->
29
+ <iframe
30
+ id="iframe"
31
+ frameborder="0"
32
+ height="100%"
33
+ width="100%"
34
+ />
35
+
36
+ <!-- <view class="btn-con" @click="reCheck()">
37
+ <u-button plain shape="circle" color="#1678FF" size="small" :text="isReCheck ? '提交情形' : '重选'" />
38
+ </view> -->
39
+ </view>
40
+ </view>
41
+ </template>
42
+
43
+ <script>
44
+ import apiConfig from '@/config/api.cofig'
45
+ import guideTitle from './guideTitle.vue'
46
+ import { checkSituation2 } from '@/utils/situation.js'
47
+ export default {
48
+ components: { guideTitle },
49
+ data() {
50
+ return {
51
+ bgImg: '../../static/img/pc/declare/situation.png',
52
+ tip: '说明:因个人情况不同上交材料不同,可通过情形选择查看必须上传的材料!',
53
+ isExpend: false, // 是否展开情形
54
+ isReCheck: false, // 是否重新选择情形
55
+
56
+ applicationId: uni.getStorageSync('applicationId'), // 太原市的事项id
57
+ // taskHandleItem: '11140100012220174L400010914700301',
58
+ taskHandleItem: uni.getStorageSync('taskHandleItem'), // 山西省的业务办理项编码
59
+ stepList: uni.getStorageSync('stepList'), // 步骤列表
60
+ currentStepObj: '', // 当前步骤
61
+
62
+
63
+ access_token: uni.getStorageSync('access_token'), // 统一身份认证token
64
+ token: uni.getStorageSync('token'), // 小程序token
65
+ acctType: uni.getStorageSync('acctType'), // 用户类型(10/20)
66
+ declarationAppToken: uni.getStorageSync('declarationAppToken'), // 申报token
67
+
68
+ situationMaterials: [], // 情形选择后 的材料列表
69
+ formFieldIds: [], // 要隐藏的表单字段id
70
+ formFieldNames: [], // 要隐藏的表单字段名
71
+ itemSituationRowUid: [], // 情形id
72
+ }
73
+ },
74
+ mounted() {
75
+ this.initPage()
76
+ window.addEventListener('message', this.getMessage, false)
77
+ },
78
+ beforeDestroy() {
79
+ // 在组件生命周期结束的时候销毁。
80
+ window.removeEventListener('message', this.getMessage, false);
81
+ },
82
+ methods: {
83
+ // 初始化情形选择页面
84
+ initPage() {
85
+ const { declarePage } = apiConfig
86
+ const stepList = uni.getStorageSync('stepList')
87
+ // 找到[智能导办]页面
88
+ const situationPage = stepList.find((item) => item.name === '智能导办-pc')
89
+ if(situationPage && situationPage.link) {
90
+ const finalLink = `${declarePage}/preview.html?pageID=${situationPage.id}`
91
+
92
+ const applicationId = uni.getStorageSync('applicationId') // 太原市的事项id
93
+ const access_token = uni.getStorageSync('access_token') // 统一身份认证token
94
+ const acctType = uni.getStorageSync('acctType') // 用户类型(10/20)
95
+ // isReCheck=1
96
+ // 智能导办页面 如果拿到上面的参数 就把"下一步"按钮的名字 改成 "重新选择"
97
+ const url = `${finalLink}&isFirst=1&isReCheck=1&applicationId=${applicationId}&access_token=${access_token}&acctType=${acctType}&isPc=1`
98
+ setTimeout(() => {
99
+ document.getElementById('iframe').src = url
100
+ }, 500);
101
+ }
102
+ },
103
+
104
+ getMessage(e) {
105
+ // 鹏真向我这边要数据的type
106
+ // 鹏真向我这边要数据的type
107
+ const typeArr = [
108
+ 'getAccessToken', 'getDeclaraToken', 'getApplicationId',
109
+ 'getTaskHandleItem', 'getFormId', 'getMaterials', 'getFormData',
110
+ 'getFormFieldNames', 'getItemSituationRowUid', 'getWorkNo'
111
+ ]
112
+ console.log(e, '监听webview传值');
113
+ const { type, data } = e.data
114
+ if(typeArr.includes(type)) {
115
+ // 向鹏真发消息
116
+ this.sendInfoHandle(type, data)
117
+ }else if(type == 'situationRes') { // 获取情形选择结果(智能导办)
118
+ console.log('获取情形选择结果', data)
119
+ uni.setStorageSync('situationRes', data)
120
+ // this.checkSituation()
121
+ checkSituation2(true, 'pc')
122
+ }
123
+ },
124
+
125
+ // 向鹏真发消息
126
+ sendInfoHandle(type, data) {
127
+ const { applicationId, taskHandleItem } = this
128
+ const { access_token, token, acctType, declarationAppToken } = this
129
+ let sendData = { type, data: {} }
130
+ switch (type) {
131
+ case 'getAccessToken': // 获取统一身份认证token和用户类型
132
+ sendData.data.accessToken = access_token
133
+ sendData.data.acctType = acctType
134
+ break;
135
+ case 'getDeclaraToken': // 获取申报token
136
+ sendData.data.declarationAppToken = declarationAppToken
137
+ break;
138
+ case 'getApplicationId': // 获取事项id(太原市级)
139
+ sendData.data.applicationId = applicationId
140
+ break;
141
+ case 'getTaskHandleItem': // 获取事项的业务办理项编码(山西省级)
142
+ sendData.data.taskHandleItem = taskHandleItem
143
+ break;
144
+ case 'getFormId': // 获取表单id
145
+ const eventInfo = uni.getStorageSync('eventInfo')
146
+ if(eventInfo.taskGeneralForms) {
147
+ const { formId } = eventInfo.taskGeneralForms[0]
148
+ sendData.data.formId = formId
149
+ // sendData.data.formId = '12023122617035840604349816'
150
+ }else{
151
+ sendData.data.formId = '12023122617035840604349816'
152
+ uni.$u.toast('没有查到表单id')
153
+ }
154
+ break;
155
+ case 'getMaterials': // 获取材料列表(树状)
156
+ const finalMaterials = uni.getStorageSync('finalMaterials')
157
+ const { taskGeneralMaterials } = uni.getStorageSync('eventInfo')
158
+ // 判断是否有情形选择后的材料 如果没有 则传给鹏真全量的材料
159
+ if(finalMaterials) {
160
+ sendData.data.materials = finalMaterials
161
+ }else{
162
+ sendData.data.materials = taskGeneralMaterials
163
+ }
164
+ break;
165
+ case 'getFormData': // 获取表单已填写的数据
166
+ const formData = uni.getStorageSync('formData')
167
+ sendData.data.formData = formData
168
+ break;
169
+
170
+ case 'getFormFieldNames': // 获取初始化表单时,要隐藏的表单字段
171
+ const formFieldNames = uni.getStorageSync('formFieldNames')
172
+ sendData.data.formFieldNames = formFieldNames
173
+ break;
174
+
175
+ case 'getItemSituationRowUid': // 获取已选择的情形id
176
+ const itemSituationRowUid = uni.getStorageSync('itemSituationRowUid')
177
+ sendData.data.itemSituationRowUid = itemSituationRowUid
178
+ break;
179
+ case 'getWorkNo': // 获取办件编码
180
+ const workNo = uni.getStorageSync('workNo')
181
+ sendData.data.workNo = workNo
182
+ break;
183
+ }
184
+
185
+ console.log(sendData, '给鹏真传的数据');
186
+ const formIframe = document.getElementById('iframe')
187
+ formIframe.contentWindow.postMessage(sendData, '*')
188
+ },
189
+ // 切换是否展开
190
+ expendChange() {
191
+ this.isExpend = !this.isExpend
192
+ },
193
+
194
+ // ====以下为情形选择的处理方法 ====
195
+ // 组织情形选择后的材料/表单/情形id
196
+ checkSituation() {
197
+ const problems = uni.getStorageSync('eventInfo').problems
198
+ const isMulti = problems.isMultipleChoice == '1'
199
+ this.getInfo([problems][0].options, isMulti)
200
+ },
201
+ getInfo(options, isMulti = false) {
202
+ console.log(options, '啦啦啦啦');
203
+ const situationRes = uni.getStorageSync('situationRes')
204
+
205
+ options.forEach(opt => {
206
+ let trueOpt = ''
207
+ if(isMulti) { //如果是多选
208
+ trueOpt = situationRes.find((item) => item.optionsValue.includes(opt.id))
209
+ }else{ // 如果是单选
210
+ trueOpt = situationRes.find((item) => item.optionsValue === opt.id)
211
+ }
212
+ // const trueOpt = situationRes.find((item) => item.optionsValue === opt.id)
213
+
214
+ if(trueOpt) {
215
+ console.log('trueOpt', trueOpt);
216
+ if(opt.materials && opt.materials.length) {
217
+ this.situationMaterials = this.situationMaterials.concat(opt.materials)
218
+ // this.situationMaterials = (opt.materials)
219
+ }
220
+ if(opt.formFieldIds && opt.formFieldIds.length) {
221
+ this.formFieldIds.push(opt.formFieldIds)
222
+ }
223
+ if(opt.formFieldNames && opt.formFieldNames.length) {
224
+ this.formFieldNames.push(opt.formFieldNames)
225
+ }
226
+ if(opt.itemSituationRowUid) {
227
+ this.itemSituationRowUid.push(opt.itemSituationRowUid)
228
+ }
229
+ if(opt.children && opt.children.length) {
230
+ const isMulti = opt.children[0].isMultipleChoice == '1'
231
+ this.getInfo(opt.children[0].options, isMulti)
232
+ }else{
233
+ this.showRes()
234
+ }
235
+ }else{
236
+ uni.showModal({
237
+ title: '提示',
238
+ content: '答案未匹配',
239
+ confirmText: '知道了',
240
+ showCancel: false,
241
+ confirmColor: '#1678FF',
242
+ success: (res) => {
243
+ if (res.confirm) {
244
+ uni.navigateBack()
245
+ }
246
+ }
247
+ });
248
+ }
249
+ })
250
+
251
+ },
252
+ showRes() {
253
+ const { situationMaterials, formFieldIds, formFieldNames, itemSituationRowUid } = this
254
+ const originMaterials = uni.getStorageSync('eventInfo').taskGeneralMaterials
255
+ const originSituation = uni.getStorageSync('eventInfo').taskGeneralSituation
256
+ const stepList = uni.getStorageSync('stepList')
257
+ let finalArr = []
258
+ // 将情形选择后的材料 和 事项原材料进行比对 形成最终的材料列表 (将2者合并)
259
+ originMaterials.forEach(oriItem => {
260
+ const sameOne = situationMaterials.find((situItem) => situItem.itemRowGuid === oriItem.rowGuid)
261
+ // 找到情形选择后相关的材料 将isNeed改为1(必填)
262
+ if(sameOne) {
263
+ finalArr.push(Object.assign({}, sameOne, {
264
+ isNeed: '1'
265
+ }))
266
+ }else{
267
+ // 剩下的为和情形没有关系的
268
+ if(oriItem.isNeed == '1') { // 如果isNeed=1, 也需要上传
269
+ finalArr.push(Object.assign({}, oriItem, {
270
+ subMaterials: oriItem.childMaterialSplitListBO
271
+ }))
272
+ }else if(oriItem.childMaterialSplitListBO){ // 如果有子集材料 判断他的子集材料中, 是否有必传的材料
273
+ const subFileIsNeed = oriItem.childMaterialSplitListBO.find((item) => item.isNeed == '1')
274
+ if(subFileIsNeed) {
275
+ finalArr.push(Object.assign({}, oriItem, {
276
+ subMaterials: oriItem.childMaterialSplitListBO
277
+ }))
278
+ }
279
+ }
280
+ }
281
+ })
282
+
283
+ console.log('最终的材料', finalArr);
284
+ uni.setStorageSync('finalMaterials', finalArr)
285
+
286
+
287
+ let finalSituArr = []
288
+ // 找到最后选择的那个情形
289
+ if(itemSituationRowUid && itemSituationRowUid.length) {
290
+ console.log('开始啦啦啦啦');
291
+
292
+ itemSituationRowUid.forEach(itenSitu => {
293
+ const checkedSituation = originSituation.find((oriSitu) => oriSitu.rowGuid === itenSitu)
294
+ if(checkedSituation) {
295
+ finalSituArr.push(checkedSituation)
296
+ }
297
+ })
298
+ }
299
+
300
+ let finalSituSubmit = []
301
+ if(finalSituArr && finalSituArr.length) {
302
+ finalSituArr.forEach(ele => {
303
+ let dataObj = {
304
+ sceneId: ele.rowGuid,
305
+ sceneName: ele.specificSituation,
306
+ seq: ele.newSituationNo
307
+ }
308
+ finalSituSubmit.push(dataObj)
309
+ })
310
+ }
311
+
312
+ uni.setStorageSync('finalSituSubmit', finalSituSubmit)
313
+
314
+
315
+
316
+ uni.setStorageSync('situationMaterials', situationMaterials)
317
+ uni.setStorageSync('formFieldIds', formFieldIds)
318
+ uni.setStorageSync('formFieldNames', formFieldNames)
319
+ uni.setStorageSync('itemSituationRowUid', itemSituationRowUid)
320
+
321
+ // location.reload() // 刷新当前页面
322
+
323
+
324
+ const guideHandle = stepList.find((step) => step.name == '智能导办')
325
+ uni.setStorageSync('currentStepObj', guideHandle)
326
+ this.$initNextStep('下一步', 'pc')
327
+ console.log('情形材料', situationMaterials);
328
+ console.log('表单id', formFieldIds);
329
+ console.log('表单名', formFieldNames);
330
+ console.log('情形id', itemSituationRowUid);
331
+
332
+
333
+ },
334
+ // ====以上为情形选择的处理方法 ====
335
+
336
+ }
337
+ }
338
+ </script>
339
+
340
+ <style lang="scss" scoped>
341
+ .situation-content{
342
+ // border: 1px solid red;
343
+ background: #ffffff !important;
344
+ .situation-tip{
345
+ border: 1px solid #ffffff;
346
+ border-radius: 8px 8px 8px 8px;
347
+ border: 1px solid #C3DCFF;
348
+ margin-top: 20px;
349
+ background: linear-gradient(180deg, #ECF4FF 1%, #F7FAFF 100%);
350
+ &.isActive{
351
+ border-radius: 8px 8px 0 0 !important;
352
+ border-bottom: none;
353
+ }
354
+ .inner-tip{
355
+ padding: 24px;
356
+ background-repeat: no-repeat;
357
+ background-size: 104px 70px;
358
+ background-position: 90% 100%;
359
+
360
+ display: flex;
361
+ justify-content: space-between;
362
+ align-items: center;
363
+ .title-con{
364
+ // border: 1px solid green;
365
+ display: flex;
366
+ justify-content: flex-start;
367
+ align-items: center;
368
+ gap: 16px;
369
+ .title{
370
+ background: linear-gradient(96deg, #0047A8 0%, #1678FF 98%);
371
+ -webkit-background-clip: text;
372
+ -webkit-text-fill-color: transparent;
373
+ background-clip: text;
374
+ text-fill-color: transparent;
375
+ font-size: 16px;
376
+ font-weight: 500;
377
+ }
378
+ .tip{
379
+ font-size: 14px;
380
+ color: #5C7292;
381
+ }
382
+ }
383
+ .btn-con{
384
+ display: flex;
385
+ justify-content: center;
386
+ align-items: center;
387
+ color: #1678FF;
388
+ font-size: 14px;
389
+ cursor: pointer;
390
+ gap: 6px;
391
+ .icon{
392
+ width: 14px;
393
+ height: 14px;
394
+ border-radius: 50%;
395
+ display: flex;
396
+ justify-content: center;
397
+ align-items: center;
398
+ border: 1px solid #1678FF;
399
+ }
400
+ }
401
+ }
402
+
403
+
404
+ }
405
+
406
+ .situation-inner{
407
+ // background: #ffffff;
408
+ background: linear-gradient(180deg, #F7FAFF 1%, #F7FAFF 100%);
409
+ border-radius: 0 0 8px 8px;
410
+ border: 1px solid #C3DCFF;
411
+ border-top: none;
412
+ // border: 1px solid ;
413
+ // border: 1px solid #333333;
414
+ border-top: none;
415
+ overflow-y: scroll;
416
+ height: 500px;
417
+ padding: 0 12px 12px;
418
+
419
+ .list{
420
+ height: 200px;
421
+ display: flex;
422
+ justify-content: center;
423
+ align-items: center;
424
+ }
425
+ .btn-con{
426
+ padding: 16px;
427
+ }
428
+ }
429
+ }
430
+ </style>
@@ -0,0 +1,179 @@
1
+ <template>
2
+ <view class="guidePc-content">
3
+ <view class="main-content" v-if="isShow">
4
+ <!-- 导航切换按钮 -->
5
+ <view class="stity">
6
+ <guideTabs @tabsChange="changeTab" />
7
+ </view>
8
+
9
+ <view class="gap" />
10
+
11
+ <!-- 材料清单 -->
12
+ <situation id="0" v-if="hasSituation" />
13
+ <materialsList />
14
+
15
+ <!-- 事项基本信息 -->
16
+ <basicInfo id="1" />
17
+
18
+ <!-- 办事流程 -->
19
+ <processImg id="2" />
20
+
21
+ <!-- 受理条件 -->
22
+ <accept id="3" />
23
+
24
+ <!-- 办事大厅 -->
25
+ <places id="4" />
26
+
27
+ <!-- 成效分析 -->
28
+ <result id="5" />
29
+ </view>
30
+ <addBtn iconName="arrow-up-fill" @addClick="goUp" />
31
+ </view>
32
+ </template>
33
+
34
+ <script>
35
+ import situation from './components/situation.vue'
36
+ import materialsList from './components/materialsList.vue'
37
+ import guideTabs from './components/guideTabs.vue'
38
+ import basicInfo from './components/basicInfo.vue'
39
+ import processImg from './components/processImg.vue'
40
+ import accept from './components/accept.vue'
41
+ import places from './components/places.vue'
42
+ import result from './components/result.vue'
43
+ import { getTyEventDetailApi, getFormValueApi } from '@/api/tyBusiness.js'
44
+ export default {
45
+ components: { situation, materialsList, guideTabs, basicInfo, processImg, accept, places, result },
46
+ props: {
47
+ cantNext: {
48
+ type: String,
49
+ default: ''
50
+ }
51
+ },
52
+ data() {
53
+ return {
54
+ eventInfo: uni.getStorageSync('eventInfo'),
55
+ tabIndex: 0,
56
+ isShow: true,
57
+ }
58
+ },
59
+ onLoad(opt) {
60
+ console.log(opt, '办事指南自己查询');
61
+ if(opt.standardItemId && opt.taskHandleItem) {
62
+ this.isShow = false
63
+ uni.setStorageSync('declarationAppTokenTY', opt.access_token)
64
+ // this.standardItemId = opt.standardItemId
65
+ // this.taskHandleItem = opt.taskHandleItem
66
+ this.getTyEventDetailFun(opt.standardItemId, opt.taskHandleItem)
67
+ }
68
+ },
69
+ mounted() {
70
+ if(!cantNext) {
71
+ this.getFormValueFun() // 查询表单元数据
72
+ }
73
+ },
74
+ computed: {
75
+ // 判断是否有智能导办步骤
76
+ hasSituation() {
77
+ const stepList = uni.getStorageSync('stepList')
78
+ if(stepList) {
79
+ return stepList.find((item) => item.fieldText == '智能导办')
80
+ }else{
81
+ return false
82
+ }
83
+ }
84
+ },
85
+ methods: {
86
+ // 切换tabs [按钮]
87
+ changeTab(sectionId) {
88
+ const element = document.getElementById(sectionId);
89
+ if (!element) return;
90
+ const offsetTop = element.offsetTop;
91
+ const start = window.pageYOffset;
92
+ window.scrollTo(0, start + (offsetTop - start) - 80);
93
+ },
94
+ // 返回顶部 【按钮】
95
+ goUp() {
96
+ window.scrollTo(0, 0);
97
+ },
98
+ // =============== API ===============
99
+ // 查询表单元数据
100
+ getFormValueFun() {
101
+ let finalCredentialNum = ''
102
+ // 获取授权人信息(代办)
103
+ const agentInfo = uni.getStorageSync('agentInfo')
104
+ // 如果是代办 就把授权人的信息传过去
105
+ if(agentInfo) {
106
+ const { acctType, certificateSno, certNo } = agentInfo
107
+ finalCredentialNum = acctType == '20' ? certificateSno : certNo
108
+ }else{
109
+ // 如果不是代办,把当前登录人的信息传过去
110
+ const { acctType, certificateSno, certNo } = uni.getStorageSync('userInfo')
111
+ finalCredentialNum = acctType == '20' ? certificateSno : certNo
112
+ }
113
+
114
+
115
+
116
+
117
+ const eventInfo = uni.getStorageSync('eventInfo')
118
+
119
+ if(eventInfo.taskGeneralForms) {
120
+ const { formId } = eventInfo.taskGeneralForms[0]
121
+ const params = {
122
+ formId,
123
+ credentialNum: finalCredentialNum,
124
+ authorization: '',
125
+ accType: 0,
126
+ }
127
+ getFormValueApi(params).then((res) => {
128
+ console.log(res, '查询表单元数据');
129
+ uni.setStorageSync('defaultFormData', res)
130
+ }).catch(err => {
131
+ console.log(err);
132
+ })
133
+ }
134
+ },
135
+ // 通过事项id 业务办理项编码 查询 事项详情(太原市级的)
136
+ getTyEventDetailFun(standardItemId, taskHandleItem) {
137
+ const params = {
138
+ standardItemId, // 太原市的事项id
139
+ taskHandleItem, // 山西省的业务办理项编码
140
+ }
141
+ getTyEventDetailApi(params).then((res) => {
142
+ console.log(res);
143
+ uni.setStorageSync('eventInfo', res)
144
+ this.isShow = true
145
+ }).catch(err => {
146
+ console.log(err);
147
+ })
148
+ },
149
+ }
150
+ }
151
+ </script>
152
+
153
+
154
+ <style>
155
+
156
+ page{
157
+ background: #ffffff;
158
+ }
159
+ </style>
160
+ <style lang="scss" scoped>
161
+ .guidePc-content{
162
+ .main-content{
163
+ // border: 1px solid;
164
+ width: 1200px;
165
+ margin: 0 auto;
166
+
167
+ .stity{
168
+ position: fixed;
169
+ top: 200px;
170
+ z-index: 9;
171
+ width: 1200px;
172
+ background: #ffffff;
173
+ }
174
+ .gap{
175
+ height: 70px;
176
+ }
177
+ }
178
+ }
179
+ </style>
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ import './index.scss';
3
+ export interface GuidePcProps {
4
+ /** Called when user clicks "立即办理" or "上一步" */
5
+ onNextStep?: (action: string) => void;
6
+ /** Whether to disable the prev/next buttons */
7
+ cantNext?: boolean;
8
+ hasPrevious?: boolean;
9
+ /** Task handle item code */
10
+ taskHandleItem?: string;
11
+ /** Access token */
12
+ accessToken?: string;
13
+ /** Event info data */
14
+ eventInfo?: object;
15
+ /** Account type */
16
+ acctType?: string;
17
+ /** Agent info */
18
+ agentInfo?: object;
19
+ /** Application ID */
20
+ applicationId?: string;
21
+ /** Final materials after intelligent guidance */
22
+ finalMaterials?: any[];
23
+ /** Declaration app token */
24
+ declarationAppToken?: string;
25
+ /** Situation page URL */
26
+ situationPageUrl?: string;
27
+ /** Base URL */
28
+ baseUrl?: string;
29
+ /** Download handler */
30
+ download?: (params: any) => void;
31
+ /** Situation result re-change handler */
32
+ situationResRechange?: (data: any) => void;
33
+ /** Previous form data from parent */
34
+ previousData?: object;
35
+ }
36
+ declare const GuidePc: React.FC<GuidePcProps>;
37
+ export default GuidePc;