ydb-components-material 0.1.119 → 0.1.120
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.
- package/build/docs/404.html +3 -3
- package/build/docs/_demos/:uuid +3 -3
- package/build/docs/colorful-button.html +3 -3
- package/build/docs/colorful-input.html +3 -3
- package/build/docs/index.html +3 -3
- package/build/docs/static/situation.80bdb450.png +0 -0
- package/build/docs/{umi.ffb7b81c.css → umi.35f02979.css} +1 -1
- package/build/docs/umi.abe1fcd6.js +1 -0
- package/build/docs/~demos/:uuid.html +3 -3
- package/build/docs/~demos/colorful-button-demo.html +3 -3
- package/build/docs/~demos/colorful-input-demo.html +3 -3
- package/build/lowcode/3.js +2 -2
- package/build/lowcode/4.js +1 -1
- package/build/lowcode/5.js +1 -1
- package/build/lowcode/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +9 -9
- package/build/lowcode/render/default/1.js +2 -2
- package/build/lowcode/render/default/2.js +1 -1
- package/build/lowcode/render/default/3.js +1 -1
- package/build/lowcode/render/default/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +26 -26
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +26 -26
- package/dist/1.js +2 -2
- package/dist/2.js +1 -1
- package/dist/3.js +1 -1
- package/dist/BizComps.css +1 -1
- package/dist/BizComps.js +19 -19
- package/dist/BizComps.js.map +1 -1
- package/dist/assets/8644ab95dcea871942e57b3d0e2e0eea.png +0 -0
- package/es/components/file-list/item.js +2 -2
- package/es/components/file-list/seal.js +5 -1
- package/es/components/guide-pc/comment.d.ts +9 -0
- package/es/components/guide-pc/comment.js +93 -0
- package/es/components/guide-pc/comment.scss +15 -0
- package/es/components/guide-pc/comment.vue +117 -0
- package/es/components/guide-pc/components/accept.d.ts +7 -0
- package/es/components/guide-pc/components/accept.js +30 -0
- package/es/components/guide-pc/components/accept.scss +18 -0
- package/es/components/guide-pc/components/accept.vue +50 -0
- package/es/components/guide-pc/components/basicInfo.d.ts +7 -0
- package/es/components/guide-pc/components/basicInfo.js +89 -0
- package/es/components/guide-pc/components/basicInfo.scss +30 -0
- package/es/components/guide-pc/components/basicInfo.vue +81 -0
- package/es/components/guide-pc/components/guideTabs.d.ts +8 -0
- package/es/components/guide-pc/components/guideTabs.js +32 -0
- package/es/components/guide-pc/components/guideTabs.scss +34 -0
- package/es/components/guide-pc/components/guideTabs.vue +48 -0
- package/es/components/guide-pc/components/guideTitle.d.ts +7 -0
- package/es/components/guide-pc/components/guideTitle.js +22 -0
- package/es/components/guide-pc/components/guideTitle.scss +15 -0
- package/es/components/guide-pc/components/guideTitle.vue +43 -0
- package/es/components/guide-pc/components/materialsList.d.ts +11 -0
- package/es/components/guide-pc/components/materialsList.js +386 -0
- package/es/components/guide-pc/components/materialsList.scss +139 -0
- package/es/components/guide-pc/components/materialsList.vue +403 -0
- package/es/components/guide-pc/components/places.d.ts +7 -0
- package/es/components/guide-pc/components/places.js +110 -0
- package/es/components/guide-pc/components/places.scss +144 -0
- package/es/components/guide-pc/components/places.vue +198 -0
- package/es/components/guide-pc/components/processImg.d.ts +9 -0
- package/es/components/guide-pc/components/processImg.js +220 -0
- package/es/components/guide-pc/components/processImg.scss +117 -0
- package/es/components/guide-pc/components/processImg.vue +300 -0
- package/es/components/guide-pc/components/result.d.ts +7 -0
- package/es/components/guide-pc/components/result.js +130 -0
- package/es/components/guide-pc/components/result.scss +104 -0
- package/es/components/guide-pc/components/result.vue +191 -0
- package/es/components/guide-pc/components/situation.d.ts +12 -0
- package/es/components/guide-pc/components/situation.js +142 -0
- package/es/components/guide-pc/components/situation.scss +79 -0
- package/es/components/guide-pc/components/situation.vue +430 -0
- package/es/components/guide-pc/guide.vue +179 -0
- package/es/components/guide-pc/imgs/bg.png +0 -0
- package/es/components/guide-pc/imgs/cant.png +0 -0
- package/es/components/guide-pc/imgs/dept.png +0 -0
- package/es/components/guide-pc/imgs/error.png +0 -0
- package/es/components/guide-pc/imgs/judge.png +0 -0
- package/es/components/guide-pc/imgs/pass.png +0 -0
- package/es/components/guide-pc/imgs/rightArr.png +0 -0
- package/es/components/guide-pc/imgs/situation.png +0 -0
- package/es/components/guide-pc/imgs/time.png +0 -0
- package/es/components/guide-pc/imgs/titleL.png +0 -0
- package/es/components/guide-pc/imgs/titleR.png +0 -0
- package/es/components/guide-pc/index.d.ts +37 -0
- package/es/components/guide-pc/index.js +440 -0
- package/es/components/guide-pc/index.scss +185 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +1 -0
- package/lib/components/file-list/item.js +2 -2
- package/lib/components/file-list/seal.js +5 -1
- package/lib/components/guide-pc/comment.d.ts +9 -0
- package/lib/components/guide-pc/comment.js +98 -0
- package/lib/components/guide-pc/comment.scss +15 -0
- package/lib/components/guide-pc/comment.vue +117 -0
- package/lib/components/guide-pc/components/accept.d.ts +7 -0
- package/lib/components/guide-pc/components/accept.js +36 -0
- package/lib/components/guide-pc/components/accept.scss +18 -0
- package/lib/components/guide-pc/components/accept.vue +50 -0
- package/lib/components/guide-pc/components/basicInfo.d.ts +7 -0
- package/lib/components/guide-pc/components/basicInfo.js +95 -0
- package/lib/components/guide-pc/components/basicInfo.scss +30 -0
- package/lib/components/guide-pc/components/basicInfo.vue +81 -0
- package/lib/components/guide-pc/components/guideTabs.d.ts +8 -0
- package/lib/components/guide-pc/components/guideTabs.js +37 -0
- package/lib/components/guide-pc/components/guideTabs.scss +34 -0
- package/lib/components/guide-pc/components/guideTabs.vue +48 -0
- package/lib/components/guide-pc/components/guideTitle.d.ts +7 -0
- package/lib/components/guide-pc/components/guideTitle.js +28 -0
- package/lib/components/guide-pc/components/guideTitle.scss +15 -0
- package/lib/components/guide-pc/components/guideTitle.vue +43 -0
- package/lib/components/guide-pc/components/materialsList.d.ts +11 -0
- package/lib/components/guide-pc/components/materialsList.js +392 -0
- package/lib/components/guide-pc/components/materialsList.scss +139 -0
- package/lib/components/guide-pc/components/materialsList.vue +403 -0
- package/lib/components/guide-pc/components/places.d.ts +7 -0
- package/lib/components/guide-pc/components/places.js +116 -0
- package/lib/components/guide-pc/components/places.scss +144 -0
- package/lib/components/guide-pc/components/places.vue +198 -0
- package/lib/components/guide-pc/components/processImg.d.ts +9 -0
- package/lib/components/guide-pc/components/processImg.js +226 -0
- package/lib/components/guide-pc/components/processImg.scss +117 -0
- package/lib/components/guide-pc/components/processImg.vue +300 -0
- package/lib/components/guide-pc/components/result.d.ts +7 -0
- package/lib/components/guide-pc/components/result.js +136 -0
- package/lib/components/guide-pc/components/result.scss +104 -0
- package/lib/components/guide-pc/components/result.vue +191 -0
- package/lib/components/guide-pc/components/situation.d.ts +12 -0
- package/lib/components/guide-pc/components/situation.js +147 -0
- package/lib/components/guide-pc/components/situation.scss +79 -0
- package/lib/components/guide-pc/components/situation.vue +430 -0
- package/lib/components/guide-pc/guide.vue +179 -0
- package/lib/components/guide-pc/imgs/bg.png +0 -0
- package/lib/components/guide-pc/imgs/cant.png +0 -0
- package/lib/components/guide-pc/imgs/dept.png +0 -0
- package/lib/components/guide-pc/imgs/error.png +0 -0
- package/lib/components/guide-pc/imgs/judge.png +0 -0
- package/lib/components/guide-pc/imgs/pass.png +0 -0
- package/lib/components/guide-pc/imgs/rightArr.png +0 -0
- package/lib/components/guide-pc/imgs/situation.png +0 -0
- package/lib/components/guide-pc/imgs/time.png +0 -0
- package/lib/components/guide-pc/imgs/titleL.png +0 -0
- package/lib/components/guide-pc/imgs/titleR.png +0 -0
- package/lib/components/guide-pc/index.d.ts +37 -0
- package/lib/components/guide-pc/index.js +445 -0
- package/lib/components/guide-pc/index.scss +185 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lowcode/guide-pc/meta.ts +338 -0
- package/lowcode_es/guide-pc/meta.d.ts +22 -0
- package/lowcode_es/guide-pc/meta.js +315 -0
- package/lowcode_es/meta.js +3 -2
- package/lowcode_lib/guide-pc/meta.d.ts +22 -0
- package/lowcode_lib/guide-pc/meta.js +320 -0
- package/lowcode_lib/meta.js +17 -16
- package/package.json +3 -3
- 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>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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;
|