Просмотр исходного кода

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/miniapp into hcb

hanchaobo 2 лет назад
Родитель
Сommit
f75b134aa3
39 измененных файлов: 3252 добавлений и 518 удалений
  1. 3
    2
      App.vue
  2. 16
    0
      api/handlecase/index.js
  3. 20
    0
      api/login.js
  4. 780
    0
      components/zxz-uni-data-select/zxz-uni-data-select.vue
  5. 11
    3
      config.js
  6. 151
    83
      pages.json
  7. 81
    0
      pages/expressDelivery/component/expressDelivery.vue
  8. 104
    0
      pages/expressDelivery/component/list.vue
  9. 125
    0
      pages/expressDelivery/index.vue
  10. 37
    0
      pages/handlecase/component/evidenceList.vue
  11. 4
    4
      pages/handlecase/component/list.vue
  12. 92
    0
      pages/handlecase/component/obligations.vue
  13. 370
    108
      pages/handlecase/component/uploadEvidence.vue
  14. 28
    12
      pages/handlecase/index.vue
  15. 21
    0
      pages/im/component/imHome.vue
  16. 112
    0
      pages/im/component/imList.vue
  17. 113
    11
      pages/im/index.vue
  18. 1
    1
      pages/index.vue
  19. 52
    13
      pages/login.vue
  20. 6
    6
      pages/mine/index.vue
  21. 49
    0
      pages/personalInfoCollection.vue
  22. 76
    0
      pages/realName.vue
  23. 277
    189
      pages/register.vue
  24. 380
    0
      pages/signature/component/expressDelivery.vue
  25. 105
    0
      pages/signature/component/list.vue
  26. 125
    0
      pages/signature/index.vue
  27. 39
    0
      pages/switchSystem.vue
  28. 43
    31
      pages/work/index.vue
  29. 4
    3
      permission.js
  30. 1
    0
      store/modules/user.js
  31. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  32. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  33. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  34. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  35. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-list/components/uni-list-item/uni-list-item.js.map
  36. 1
    1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-list/components/uni-list/uni-list.js.map
  37. 10
    38
      unpackage/dist/dev/mp-weixin/app.json
  38. 2
    3
      unpackage/dist/dev/mp-weixin/project.config.json
  39. 8
    5
      utils/request.js

+ 3
- 2
App.vue Просмотреть файл

9
 	} from './mp_ecard_sdk/main';
9
 	} from './mp_ecard_sdk/main';
10
 	export default {
10
 	export default {
11
 		globalData: {
11
 		globalData: {
12
-			requestUrl: 'https://www.api.xayunmei.com/API',
12
+			// requestUrl: 'https://api.xayunmei.com/zhongcaiapi',
13
+			requestUrl: 'http://121.40.189.20:9001',
13
 		},
14
 		},
14
 		onLaunch: function() {
15
 		onLaunch: function() {
15
 			this.initApp();
16
 			this.initApp();
31
 			},
32
 			},
32
 			checkLogin() {
33
 			checkLogin() {
33
 				if (!getToken()) {
34
 				if (!getToken()) {
34
-					this.$tab.reLaunch('/pages/login')
35
+					this.$tab.reLaunch('/pages/switchSystem')
35
 				}
36
 				}
36
 			}
37
 			}
37
 		}
38
 		}

+ 16
- 0
api/handlecase/index.js Просмотреть файл

37
 		method: 'post',
37
 		method: 'post',
38
 		data:data
38
 		data:data
39
 	})
39
 	})
40
+}
41
+// 查询物流信息
42
+export function logistics(data) {
43
+	return request({
44
+		'url': `/adjudication/logistics`,
45
+		method: 'get',
46
+		data:data
47
+	})
48
+}
49
+// 查询案件列表
50
+export function caseApplicationList(data) {
51
+	return request({
52
+		'url': `/caseApplication/list`,
53
+		method: 'get',
54
+		params:data
55
+	})
40
 }
56
 }

+ 20
- 0
api/login.js Просмотреть файл

73
 		method: 'post',
73
 		method: 'post',
74
 		data: data
74
 		data: data
75
 	})
75
 	})
76
+}
77
+
78
+// 获取手机验证码
79
+export function sendCode(data) {
80
+	return request({
81
+		'url': '/weChatUser/sendCode',
82
+		method: 'get',
83
+		params:data
84
+	})
85
+}
86
+// 注册方法
87
+export function wxregister(data) {
88
+	return request({
89
+		url: '/weChatUser/registerUser',
90
+		headers: {
91
+			isToken: false
92
+		},
93
+		method: 'post',
94
+		data: data
95
+	})
76
 }
96
 }

+ 780
- 0
components/zxz-uni-data-select/zxz-uni-data-select.vue Просмотреть файл

1
+<template>
2
+	<view class="uni-stat__select">
3
+		<!-- hide-on-phone -->
4
+		<span v-if="label" class="uni-label-text">{{label + ':'}}</span>
5
+		<view class="uni-stat-box" :class="{'uni-stat__actived': current}">
6
+			<view class="uni-select" :style="{height:multiple?'100%':' 35px'}"
7
+				:class="{'uni-select--disabled':disabled}">
8
+				<view class="uni-select__input-box" :style="{height:multiple?'100%':'35px'}" @click="toggleSelector">
9
+					<view class="" style="display: flex;flex-wrap: wrap;width: 100%;" v-if="multiple&&current.length>0">
10
+						<view class="tag-calss"
11
+							v-for="(item,index) in collapseTags?current.slice(0,collapseTagsNum):current"
12
+							:key="item[dataValue]">
13
+							<span class="text">{{item[dataKey]}}</span>
14
+							<view class="" @click.stop="delItem(item)">
15
+								<uni-icons type="clear" style="margin-left: 4px;" color="#c0c4cc" />
16
+							</view>
17
+						</view>
18
+						<view v-if="current.length>collapseTagsNum&&collapseTags" class="tag-calss">
19
+							<span class="text">+{{current.length-collapseTagsNum}}</span>
20
+						</view>
21
+						<input v-if="filterable&&!disabled" @input="inputChange" class="uni-select__input-text"
22
+							type="text" style="font-size: 12px;height: 52rpx;margin-left: 6px;width: auto;"
23
+							placeholder="请输入" v-model="filterInput">
24
+					</view>
25
+					<view v-else-if="current&&current.length>0&&!showSelector" class="uni-select__input-text">
26
+						{{current}}
27
+					</view>
28
+					<input v-else-if="filterable&&showSelector" :focus="isFocus" @input="inputChange"
29
+						:disabled="disabled" @click.stop="" class="uni-select__input-text" type="text"
30
+						style="font-size: 12px;position: absolute;z-index: 1;" :placeholder="placeholderOld"
31
+						v-model="filterInput">
32
+					<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
33
+					<uni-icons v-if="(current.length>0 && clear&&!disabled)||(currentArr.length>0&&clear&&!disabled)"
34
+						type="clear" color="#c0c4cc" size="24" style="position: absolute;right: 0;" @click="clearVal" />
35
+					<uni-icons style="right: 0;position: absolute;" v-else :type="showSelector? 'top' : 'bottom'"
36
+						size="14" color="#999" />
37
+				</view>
38
+				<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
39
+				<view class="uni-select__selector" v-if="showSelector">
40
+					<view class="uni-popper__arrow"></view>
41
+					<scroll-view scroll-y="true" class="uni-select__selector-scroll">
42
+						<view class="uni-select__selector-empty" v-if="filterMixinDatacomResData.length === 0">
43
+							<span>{{emptyTips}}</span>
44
+						</view>
45
+						<view v-else :class="['uni-select__selector-item', {'uni-select_selector-item_active' :multiple
46
+							&& currentArr.includes(item[dataValue])}]"
47
+							style="display: flex;justify-content: space-between;align-items: center;"
48
+							v-for="(item,index) in filterMixinDatacomResData" :key="index" @click="change(item)">
49
+							<span
50
+								:class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</span>
51
+							<uni-icons v-if="multiple&&currentArr.includes(item[dataValue])" type="checkmarkempty"
52
+								color="#007aff" />
53
+						</view>
54
+					</scroll-view>
55
+				</view>
56
+			</view>
57
+		</view>
58
+	</view>
59
+</template>
60
+
61
+<script>
62
+	/**
63
+	 * DataChecklist 数据选择器
64
+	 * @description 通过数据渲染的下拉框组件
65
+	 * @tutorial https://uniapp.dcloud.io/component/uniui/uni-data-select
66
+	 * @property {String} value 默认值
67
+	 * @property {Array} localdata 本地数据 ,格式 [{text:'',value:''}]
68
+	 * @property {Boolean} clear 是否可以清空已选项
69
+	 * @property {Boolean} emptyText 没有数据时显示的文字 ,本地数据无效
70
+	 * @property {String} label 左侧标题
71
+	 * @property {String} placeholder 输入框的提示文字
72
+	 * @property {Boolean} disabled 是否禁用
73
+	 * @event {Function} change  选中发生变化触发
74
+	 */
75
+
76
+	export default {
77
+		name: "uni-stat-select",
78
+		mixins: [uniCloud.mixinDatacom || {}],
79
+		props: {
80
+			collapseTagsNum: {
81
+				type: Number,
82
+				default: 1
83
+			},
84
+			collapseTags: {
85
+				type: Boolean,
86
+				default: false
87
+			},
88
+			dataKey: {
89
+				type: [String],
90
+				default: 'text'
91
+			},
92
+			dataValue: {
93
+				type: [String],
94
+				default: 'value'
95
+			},
96
+			multiple: {
97
+				type: Boolean,
98
+				default: false
99
+			},
100
+			filterable: {
101
+				type: Boolean,
102
+				default: false
103
+			},
104
+			localdata: {
105
+				type: Array,
106
+				default () {
107
+					return []
108
+				}
109
+			},
110
+			// #ifndef VUE3
111
+			value: {
112
+				type: [String, Number, Array],
113
+				default: ''
114
+			},
115
+			// #endif
116
+			// #ifdef VUE3
117
+			modelValue: {
118
+				type: [String, Number, Array],
119
+				default: ''
120
+			},
121
+			// #endif
122
+			label: {
123
+				type: String,
124
+				default: ''
125
+			},
126
+			placeholder: {
127
+				type: String,
128
+				default: '请选择'
129
+			},
130
+			emptyTips: {
131
+				type: String,
132
+				default: '无选项'
133
+			},
134
+			clear: {
135
+				type: Boolean,
136
+				default: true
137
+			},
138
+			defItem: {
139
+				type: Number,
140
+				default: 0
141
+			},
142
+			disabled: {
143
+				type: Boolean,
144
+				default: false
145
+			},
146
+			// 格式化输出 用法 field="_id as value, version as text, uni_platform as label" format="{label} - {text}"
147
+			format: {
148
+				type: String,
149
+				default: ''
150
+			},
151
+		},
152
+		data() {
153
+			return {
154
+				showSelector: false,
155
+				current: [],
156
+				mixinDatacomResData: [],
157
+				apps: [],
158
+				channels: [],
159
+				cacheKey: "uni-data-select-lastSelectedValue",
160
+				placeholderOld: "",
161
+				currentArr: [],
162
+				filterInput: "",
163
+				isFocus: false
164
+			};
165
+		},
166
+		created() {
167
+			if (this.multiple) {
168
+				// #ifndef VUE3
169
+				this.currentArr = this.value || []
170
+				// #endif
171
+				// #ifdef VUE3
172
+				this.currentArr = this.modelValue || []
173
+				// #endif
174
+				if (this.current.length > 0) {
175
+					this.current = []
176
+				}
177
+				// #ifndef VUE3
178
+				if (this.value && this.value.length > 0 && this.filterMixinDatacomResData.length > 0) {
179
+					this.current = this.value.map(item => {
180
+						let current = this.mixinDatacomResData.find(e =>
181
+							e[this.dataValue] == item
182
+						)
183
+						return {
184
+							...current
185
+						}
186
+					})
187
+				}
188
+				// #endif
189
+				// #ifdef VUE3
190
+				if (this.modelValue && this.modelValue.length > 0 && this.filterMixinDatacomResData.length > 0) {
191
+					this.current = this.modelValue.map(item => {
192
+						let current = this.mixinDatacomResData.find(e =>
193
+							e[this.dataValue] == item
194
+						)
195
+						return {
196
+							...current
197
+						}
198
+					})
199
+				}
200
+				// #endif
201
+
202
+			} else {
203
+
204
+				// #ifndef VUE3
205
+				if (this.value || this.value == 0) {
206
+					this.current = this.formatItemName(this.filterMixinDatacomResData.find(e =>
207
+						e[this.dataValue] == this.value
208
+					))
209
+				}
210
+				// #endif
211
+				// #ifdef VUE3
212
+				if (this.modelValue || this.value == 0) {
213
+					this.current = this.formatItemName(this.filterMixinDatacomResData.find(e =>
214
+						e[this.dataValue] == this.modelValue
215
+					))
216
+				}
217
+				// #endif
218
+			}
219
+			this.placeholderOld = this.placeholder
220
+			this.debounceGet = this.debounce(() => {
221
+				this.query();
222
+			}, 300);
223
+			if (this.collection && !this.localdata.length) {
224
+				this.debounceGet();
225
+			}
226
+		},
227
+		computed: {
228
+			filterMixinDatacomResData() {
229
+				if (this.filterable && this.filterInput) {
230
+					return this.mixinDatacomResData.filter(e => e[this.dataKey].includes(this.filterInput))
231
+				} else {
232
+					return this.mixinDatacomResData
233
+				}
234
+			},
235
+			typePlaceholder() {
236
+				const text = {
237
+					'opendb-stat-app-versions': '版本',
238
+					'opendb-app-channels': '渠道',
239
+					'opendb-app-list': '应用'
240
+				}
241
+				const common = this.placeholder
242
+				const placeholder = text[this.collection]
243
+				return placeholder ?
244
+					common + placeholder :
245
+					common
246
+			},
247
+			valueCom() {
248
+				// #ifdef VUE3
249
+				return this.modelValue;
250
+				// #endif
251
+				// #ifndef VUE3
252
+				return this.value;
253
+				// #endif
254
+			}
255
+		},
256
+		watch: {
257
+			localdata: {
258
+				immediate: true,
259
+				handler(val, old) {
260
+					if (Array.isArray(val) && old !== val) {
261
+						this.mixinDatacomResData = val || []
262
+					}
263
+
264
+				}
265
+			},
266
+			valueCom: {
267
+				handler(newVal, oldVal) {
268
+					// console.log(newVal, oldVal);
269
+					this.initDefVal()
270
+				},
271
+				deep: true,
272
+				immediate: true
273
+			},
274
+			mixinDatacomResData: {
275
+				immediate: true,
276
+				handler(val) {
277
+					if (val.length) {
278
+						this.initDefVal()
279
+					}
280
+				}
281
+			},
282
+		},
283
+		methods: {
284
+			debounce(fn, time = 100) {
285
+				let timer = null
286
+				return function(...args) {
287
+					if (timer) clearTimeout(timer)
288
+					timer = setTimeout(() => {
289
+						fn.apply(this, args)
290
+					}, time)
291
+				}
292
+			},
293
+			// 执行数据库查询
294
+			query() {
295
+				this.mixinDatacomEasyGet();
296
+			},
297
+			// 监听查询条件变更事件
298
+			onMixinDatacomPropsChange() {
299
+				if (this.collection) {
300
+					this.debounceGet();
301
+				}
302
+			},
303
+			initDefVal() {
304
+				let defValue = ''
305
+				if ((this.valueCom || this.valueCom === 0) && !this.isDisabled(this.valueCom)) {
306
+					defValue = this.valueCom
307
+				} else {
308
+					let strogeValue
309
+					if (this.collection) {
310
+						strogeValue = this.getCache()
311
+					}
312
+					if (strogeValue || strogeValue === 0) {
313
+						defValue = strogeValue
314
+					} else {
315
+						let defItem = ''
316
+						if (this.defItem > 0 && this.defItem <= this.mixinDatacomResData.length) {
317
+							defItem = this.mixinDatacomResData[this.defItem - 1][this.dataValue]
318
+						}
319
+						defValue = defItem
320
+					}
321
+					if (defValue || defValue === 0) {
322
+						this.emit(defValue)
323
+					}
324
+				}
325
+				if (this.multiple) {
326
+					const mixinDatacomResData = this.mixinDatacomResData || []
327
+					if (!defValue) defValue = []
328
+					this.current = defValue.map(item => {
329
+						const current = mixinDatacomResData.find(e => {
330
+							return e[this.dataValue] == item
331
+						})
332
+						return {
333
+							...current
334
+						}
335
+					})
336
+					this.currentArr = this.current.map(e => e[this.dataValue])
337
+					if (defValue.length < 1) {
338
+						this.currentArr = []
339
+					}
340
+				} else {
341
+					const def = this.mixinDatacomResData.find(item => item[this.dataValue] === defValue)
342
+					this.current = def ? this.formatItemName(def) : ''
343
+				}
344
+			},
345
+			/**
346
+			 * @param {[String, Number]} value
347
+			 * 判断用户给的 value 是否同时为禁用状态
348
+			 */
349
+			isDisabled(value) {
350
+				let isDisabled = false;
351
+
352
+				this.mixinDatacomResData.forEach(item => {
353
+					if (item[this.dataValue] === value) {
354
+						isDisabled = item.disable
355
+					}
356
+				})
357
+				return isDisabled;
358
+			},
359
+			inputChange(e) {
360
+				this.$emit('inputChange', e.detail.value)
361
+			},
362
+			clearVal() {
363
+				if (this.disabled) {
364
+					return
365
+				}
366
+				if (this.multiple) {
367
+					this.current = []
368
+					this.currentArr = []
369
+					this.emit([])
370
+				} else {
371
+					this.current = ""
372
+					this.currentArr = []
373
+					this.emit('')
374
+				}
375
+				if (this.collection) {
376
+					this.removeCache()
377
+				}
378
+				this.placeholderOld = this.placeholder
379
+				this.filterInput = ""
380
+			},
381
+			change(item) {
382
+				if (!item.disable) {
383
+					this.showSelector = false
384
+					if (this.multiple) {
385
+						if (!this.current) {
386
+							this.current = []
387
+						}
388
+						if (!this.currentArr) {
389
+							this.currentArr = []
390
+						}
391
+						if (this.currentArr.includes(item[this.dataValue])) {
392
+							let index = this.current.findIndex(e => {
393
+								return e[this.dataValue] == item[this.dataValue]
394
+							})
395
+							this.current.splice(index, 1)
396
+							this.currentArr.splice(index, 1)
397
+							this.emit(this.current)
398
+						} else {
399
+							this.current.push(item)
400
+							this.currentArr.push(item[this.dataValue])
401
+							this.emit(this.current)
402
+
403
+						}
404
+						this.filterInput = ""
405
+					} else {
406
+						this.current = this.formatItemName(item)
407
+						if (this.filterable) {
408
+							this.filterInput = item[this.dataKey]
409
+						}
410
+						this.emit(item[this.dataValue])
411
+					}
412
+				}
413
+			},
414
+			delItem(item) {
415
+				if (this.disabled) {
416
+					return
417
+				}
418
+				if (this.currentArr.includes(item[this.dataValue])) {
419
+					let index = this.current.findIndex(e => {
420
+						return e[this.dataValue] == item[this.dataValue]
421
+					})
422
+					this.current.splice(index, 1)
423
+					this.currentArr.splice(index, 1)
424
+					this.emit(this.current)
425
+				}
426
+			},
427
+			emit(val) {
428
+				if (this.multiple) {
429
+					this.$emit('input', this.currentArr)
430
+					this.$emit('update:modelValue', this.currentArr)
431
+					const currentArr = this.mixinDatacomResData.filter(item => this.currentArr.includes(item[this
432
+						.dataValue]))
433
+					this.$emit('change', currentArr)
434
+				} else {
435
+					this.$emit('input', val)
436
+					this.$emit('update:modelValue', val)
437
+					const current = this.mixinDatacomResData.find(item => val == item[this.dataValue])
438
+					console.log(current);
439
+					this.$emit('change', current)
440
+				}
441
+				if (this.collection) {
442
+					this.setCache(val);
443
+				}
444
+			},
445
+			toggleSelector() {
446
+				if (this.disabled) {
447
+					return
448
+				}
449
+				// if (this.filterable && this.filterInput && this.mixinDatacomResData.findIndex(e => {
450
+				// 		return e[this.dataKey] == this
451
+				// 			.filterInput
452
+				// 	}) < 0) {
453
+				// 	if (!this.multiple) {
454
+				// 		this.filterInput = ""
455
+				// 	}
456
+
457
+				// }
458
+				this.showSelector = !this.showSelector
459
+				this.isFocus = this.showSelector
460
+				if (this.filterable && this.current && this.showSelector) {
461
+					if (!this.multiple) {
462
+						this.placeholderOld = this.current
463
+						// this.filterInput = ""
464
+					}
465
+				} else if (this.filterable && !this.current && !this.showSelector) {
466
+					if (this.placeholderOld != this.placeholder) {
467
+						if (!this.multiple) {
468
+							this.current = this.placeholderOld
469
+						}
470
+					}
471
+				}
472
+				this.filterInput = ""
473
+
474
+			},
475
+			formatItemName(item) {
476
+				if (!item) {
477
+					return ""
478
+				}
479
+				let text = item[this.dataKey]
480
+				let value = item[this.dataValue]
481
+				let {
482
+					channel_code
483
+				} = item
484
+				channel_code = channel_code ? `(${channel_code})` : ''
485
+				if (this.format) {
486
+					// 格式化输出
487
+					let str = "";
488
+					str = this.format;
489
+					for (let key in item) {
490
+						str = str.replace(new RegExp(`{${key}}`, "g"), item[key]);
491
+					}
492
+					return str;
493
+				} else {
494
+					return this.collection.indexOf('app-list') > 0 ?
495
+						`${text}(${value})` :
496
+						(
497
+							text ?
498
+							text :
499
+							`未命名${channel_code}`
500
+						)
501
+				}
502
+			},
503
+			// 获取当前加载的数据
504
+			getLoadData() {
505
+				return this.mixinDatacomResData;
506
+			},
507
+			// 获取当前缓存key
508
+			getCurrentCacheKey() {
509
+				return this.collection;
510
+			},
511
+			// 获取缓存
512
+			getCache(name = this.getCurrentCacheKey()) {
513
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
514
+				return cacheData[name];
515
+			},
516
+			// 设置缓存
517
+			setCache(value, name = this.getCurrentCacheKey()) {
518
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
519
+				cacheData[name] = value;
520
+				uni.setStorageSync(this.cacheKey, cacheData);
521
+			},
522
+			// 删除缓存
523
+			removeCache(name = this.getCurrentCacheKey()) {
524
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
525
+				delete cacheData[name];
526
+				uni.setStorageSync(this.cacheKey, cacheData);
527
+			},
528
+		}
529
+	}
530
+</script>
531
+
532
+<style lang="scss">
533
+	$uni-base-color: #6a6a6a !default;
534
+	$uni-main-color: #333 !default;
535
+	$uni-secondary-color: #909399 !default;
536
+	$uni-border-3: #e5e5e5;
537
+
538
+
539
+	/* #ifndef APP-NVUE */
540
+	@media screen and (max-width: 500px) {
541
+		.hide-on-phone {
542
+			display: none;
543
+		}
544
+	}
545
+
546
+	/* #endif */
547
+	.uni-stat__select {
548
+		display: flex;
549
+		align-items: center;
550
+		// padding: 15px;
551
+		cursor: pointer;
552
+		width: 100%;
553
+		flex: 1;
554
+		box-sizing: border-box;
555
+	}
556
+
557
+	.uni-stat-box {
558
+		width: 100%;
559
+		flex: 1;
560
+	}
561
+
562
+	.uni-stat__actived {
563
+		width: 100%;
564
+		flex: 1;
565
+		// outline: 1px solid #2979ff;
566
+	}
567
+
568
+	.uni-label-text {
569
+		font-size: 14px;
570
+		font-weight: bold;
571
+		color: $uni-base-color;
572
+		margin: auto 0;
573
+		margin-right: 5px;
574
+	}
575
+
576
+	.uni-select {
577
+		font-size: 14px;
578
+		border: 1px solid $uni-border-3;
579
+		box-sizing: border-box;
580
+		border-radius: 4px;
581
+		padding: 0 5px;
582
+		padding-left: 10px;
583
+		position: relative;
584
+		/* #ifndef APP-NVUE */
585
+		display: flex;
586
+		user-select: none;
587
+		/* #endif */
588
+		flex-direction: row;
589
+		align-items: center;
590
+		border-bottom: solid 1px $uni-border-3;
591
+		width: 100%;
592
+		flex: 1;
593
+		height: 35px;
594
+		min-height: 35px;
595
+
596
+		&--disabled {
597
+			background-color: #f5f7fa;
598
+			cursor: not-allowed;
599
+		}
600
+	}
601
+
602
+	.uni-select__label {
603
+		font-size: 16px;
604
+		// line-height: 22px;
605
+		min-height: 35px;
606
+		height: 35px;
607
+		padding-right: 10px;
608
+		color: $uni-secondary-color;
609
+	}
610
+
611
+	.uni-select__input-box {
612
+		width: 100%;
613
+		height: 35px;
614
+		position: relative;
615
+		/* #ifndef APP-NVUE */
616
+		display: flex;
617
+		/* #endif */
618
+		flex: 1;
619
+		flex-direction: row;
620
+		align-items: center;
621
+
622
+		.tag-calss {
623
+			font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
624
+			font-weight: 400;
625
+			-webkit-font-smoothing: antialiased;
626
+			-webkit-tap-highlight-color: transparent;
627
+			font-size: 12px;
628
+			border: 1px solid #d9ecff;
629
+			border-radius: 4px;
630
+			white-space: nowrap;
631
+			height: 24px;
632
+			padding: 0 4px 0px 8px;
633
+			line-height: 22px;
634
+			box-sizing: border-box;
635
+			margin: 2px 0 2px 6px;
636
+			display: flex;
637
+			max-width: 100%;
638
+			align-items: center;
639
+			background-color: #f4f4f5;
640
+			border-color: #e9e9eb;
641
+			color: #909399;
642
+
643
+			.text {
644
+				font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
645
+				font-weight: 400;
646
+				-webkit-font-smoothing: antialiased;
647
+				-webkit-tap-highlight-color: transparent;
648
+				font-size: 12px;
649
+				white-space: nowrap;
650
+				line-height: 22px;
651
+				color: #909399;
652
+				overflow: hidden;
653
+				text-overflow: ellipsis;
654
+			}
655
+		}
656
+	}
657
+
658
+	.uni-select__input {
659
+		flex: 1;
660
+		font-size: 14px;
661
+		height: 22px;
662
+		line-height: 22px;
663
+	}
664
+
665
+	.uni-select__input-plac {
666
+		font-size: 14px;
667
+		color: $uni-secondary-color;
668
+	}
669
+
670
+	.uni-select__selector {
671
+		/* #ifndef APP-NVUE */
672
+		box-sizing: border-box;
673
+		/* #endif */
674
+		position: absolute;
675
+		top: calc(100% + 12px);
676
+		left: 0;
677
+		width: 100%;
678
+		background-color: #FFFFFF;
679
+		border: 1px solid #EBEEF5;
680
+		border-radius: 6px;
681
+		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
682
+		z-index: 3;
683
+		padding: 4px 0;
684
+	}
685
+
686
+	.uni-select__selector-scroll {
687
+		/* #ifndef APP-NVUE */
688
+		max-height: 200px;
689
+		box-sizing: border-box;
690
+		/* #endif */
691
+	}
692
+
693
+	.uni-select__selector-empty,
694
+	.uni-select__selector-item {
695
+		/* #ifndef APP-NVUE */
696
+		display: flex;
697
+		cursor: pointer;
698
+		/* #endif */
699
+		line-height: 35px;
700
+		font-size: 14px;
701
+		text-align: center;
702
+		/* border-bottom: solid 1px $uni-border-3; */
703
+		padding: 0px 10px;
704
+	}
705
+
706
+	.uni-select__selector-item:hover {
707
+		background-color: #f9f9f9;
708
+	}
709
+
710
+	.uni-select__selector-empty:last-child,
711
+	.uni-select__selector-item:last-child {
712
+		/* #ifndef APP-NVUE */
713
+		border-bottom: none;
714
+		/* #endif */
715
+	}
716
+
717
+	.uni-select_selector-item_active {
718
+		color: #409eff;
719
+		font-weight: bold;
720
+		background-color: #f5f7fa;
721
+		border-radius: 3px;
722
+	}
723
+
724
+	.uni-select__selector__disabled {
725
+		opacity: 0.4;
726
+		cursor: default;
727
+	}
728
+
729
+	/* picker 弹出层通用的指示小三角 */
730
+	.uni-popper__arrow,
731
+	.uni-popper__arrow::after {
732
+		position: absolute;
733
+		display: block;
734
+		width: 0;
735
+		height: 0;
736
+		border-color: transparent;
737
+		border-style: solid;
738
+		border-width: 6px;
739
+	}
740
+
741
+	.uni-popper__arrow {
742
+		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
743
+		top: -6px;
744
+		left: 10%;
745
+		margin-right: 3px;
746
+		border-top-width: 0;
747
+		border-bottom-color: #EBEEF5;
748
+	}
749
+
750
+	.uni-popper__arrow::after {
751
+		content: " ";
752
+		top: 1px;
753
+		margin-left: -6px;
754
+		border-top-width: 0;
755
+		border-bottom-color: #fff;
756
+	}
757
+
758
+	.uni-select__input-text {
759
+		// width: 280px;
760
+		width: 90%;
761
+		color: $uni-main-color;
762
+		white-space: nowrap;
763
+		text-overflow: ellipsis;
764
+		-o-text-overflow: ellipsis;
765
+		overflow: hidden;
766
+	}
767
+
768
+	.uni-select__input-placeholder {
769
+		color: $uni-base-color;
770
+		font-size: 12px;
771
+	}
772
+
773
+	.uni-select--mask {
774
+		position: fixed;
775
+		top: 0;
776
+		bottom: 0;
777
+		right: 0;
778
+		left: 0;
779
+	}
780
+</style>

+ 11
- 3
config.js Просмотреть файл

1
 // 应用全局配置
1
 // 应用全局配置
2
 module.exports = {
2
 module.exports = {
3
-	baseUrl: 'https://api.xayunmei.com/zhongcaiapi/',
3
+	 // baseUrlZC: 'https://api.xayunmei.com/zhongcaiapi',
4
+	// baseUrl: 'https://api.xayunmei.com/zhongcaiapitest',
4
 	// baseUrl: 'http://121.40.189.20:9001',
5
 	// baseUrl: 'http://121.40.189.20:9001',
5
-	// baseUrl: 'http://192.168.3.77:8080',
6
+	baseUrlZC:'https://api.xayunmei.com/zhongcaiapi',
7
+	// baseUrlZC:'https://api.xayunmei.com/zhongcaiapitest',
8
+	baseUrlTJ:'https://api.xayunmei.com/tiaojieapitest',
9
+	// baseUrlTJ:'https://api.xayunmei.com/tiaojieapi',
10
+	// baseUrlZC: 'http://121.40.189.20:8001',
11
+	// baseUrlTJ: 'http://121.40.189.20:6001',
12
+	// baseUrl: 'http://172.16.1.24:8001',
6
 	// baseUrl: 'http://localhost:8080',
13
 	// baseUrl: 'http://localhost:8080',
14
+	// baseUrl: 'http://192.168.3.18:9001',
7
 	// 应用信息
15
 	// 应用信息
8
 	appInfo: {
16
 	appInfo: {
9
 		// 应用名称
17
 		// 应用名称
25
 			}
33
 			}
26
 		]
34
 		]
27
 	}
35
 	}
28
-}
36
+}

+ 151
- 83
pages.json Просмотреть файл

1
 {
1
 {
2
-	"pages": [{
2
+	"pages": [
3
+		{
4
+			"path": "pages/switchSystem",
5
+			"style": {
6
+				"navigationBarTitleText": ""
7
+			}
8
+		}, {
3
 			"path": "pages/login",
9
 			"path": "pages/login",
4
 			"style": {
10
 			"style": {
5
-				"navigationBarTitleText": "登录"
11
+				"navigationBarTitleText": ""
6
 			}
12
 			}
7
 		}, {
13
 		}, {
8
 			"path": "pages/register",
14
 			"path": "pages/register",
9
 			"style": {
15
 			"style": {
10
 				"navigationBarTitleText": "注册"
16
 				"navigationBarTitleText": "注册"
11
 			}
17
 			}
12
-		}, {
13
-			"path": "pages/index",
14
-			"style": {
15
-				"navigationBarTitleText": "首页",
16
-				"navigationStyle": "custom"
17
-			}
18
-		}, {
18
+		},
19
+		// {
20
+		// 	"path": "pages/index",
21
+		// 	"style": {
22
+		// 		"navigationBarTitleText": "首页",
23
+		// 		"navigationStyle": "custom"
24
+		// 	}
25
+		// }, 
26
+		{
19
 			"path": "pages/work/index",
27
 			"path": "pages/work/index",
20
 			"style": {
28
 			"style": {
21
 				"navigationBarTitleText": "工作台"
29
 				"navigationBarTitleText": "工作台"
22
 			}
30
 			}
23
-		}, {
24
-			"path": "pages/mine/index",
25
-			"style": {
26
-				"navigationBarTitleText": "我的"
27
-			}
28
-		}, {
29
-			"path": "pages/mine/avatar/index",
30
-			"style": {
31
-				"navigationBarTitleText": "修改头像"
32
-			}
33
-		}, {
34
-			"path": "pages/mine/info/index",
35
-			"style": {
36
-				"navigationBarTitleText": "个人信息"
37
-			}
38
-		}, {
39
-			"path": "pages/mine/info/edit",
40
-			"style": {
41
-				"navigationBarTitleText": "编辑资料"
42
-			}
43
-		}, {
44
-			"path": "pages/mine/pwd/index",
45
-			"style": {
46
-				"navigationBarTitleText": "修改密码"
47
-			}
48
-		}, {
49
-			"path": "pages/mine/setting/index",
50
-			"style": {
51
-				"navigationBarTitleText": "应用设置"
52
-			}
53
-		}, {
54
-			"path": "pages/mine/help/index",
55
-			"style": {
56
-				"navigationBarTitleText": "常见问题"
57
-			}
58
-		}, {
59
-			"path": "pages/mine/about/index",
60
-			"style": {
61
-				"navigationBarTitleText": "关于我们"
62
-			}
63
-		}, {
64
-			"path": "pages/common/webview/index",
65
-			"style": {
66
-				"navigationBarTitleText": "浏览网页"
67
-			}
68
-		}, {
69
-			"path": "pages/common/textview/index",
70
-			"style": {
71
-				"navigationBarTitleText": "浏览文本"
72
-			}
73
 		},
31
 		},
32
+		// {
33
+		// 	"path": "pages/mine/index",
34
+		// 	"style": {
35
+		// 		"navigationBarTitleText": "我的"
36
+		// 	}
37
+		// },
38
+		// {
39
+		// 	"path": "pages/mine/avatar/index",
40
+		// 	"style": {
41
+		// 		"navigationBarTitleText": "修改头像"
42
+		// 	}
43
+		// }, {
44
+		// 	"path": "pages/mine/info/index",
45
+		// 	"style": {
46
+		// 		"navigationBarTitleText": "个人信息"
47
+		// 	}
48
+		// }, {
49
+		// 	"path": "pages/mine/info/edit",
50
+		// 	"style": {
51
+		// 		"navigationBarTitleText": "编辑资料"
52
+		// 	}
53
+		// }, {
54
+		// 	"path": "pages/mine/pwd/index",
55
+		// 	"style": {
56
+		// 		"navigationBarTitleText": "修改密码"
57
+		// 	}
58
+		// }, {
59
+		// 	"path": "pages/mine/setting/index",
60
+		// 	"style": {
61
+		// 		"navigationBarTitleText": "应用设置"
62
+		// 	}
63
+		// }, {
64
+		// 	"path": "pages/mine/help/index",
65
+		// 	"style": {
66
+		// 		"navigationBarTitleText": "常见问题"
67
+		// 	}
68
+		// }, {
69
+		// 	"path": "pages/mine/about/index",
70
+		// 	"style": {
71
+		// 		"navigationBarTitleText": "关于我们"
72
+		// 	}
73
+		// }, {
74
+		// 	"path": "pages/common/webview/index",
75
+		// 	"style": {
76
+		// 		"navigationBarTitleText": "浏览网页"
77
+		// 	}
78
+		// }, {
79
+		// 	"path": "pages/common/textview/index",
80
+		// 	"style": {
81
+		// 		"navigationBarTitleText": "浏览文本"
82
+		// 	}
83
+		// },
74
 		{
84
 		{
75
 			"path": "pages/handlecase/index",
85
 			"path": "pages/handlecase/index",
76
 			"style": {
86
 			"style": {
86
 		{
96
 		{
87
 			"path": "pages/handlecase/component/uploadEvidence",
97
 			"path": "pages/handlecase/component/uploadEvidence",
88
 			"style": {
98
 			"style": {
89
-				"navigationBarTitleText": "上传证据"
99
+				"navigationBarTitleText": "案件信息"
100
+			}
101
+		},
102
+		{
103
+			"path": "pages/handlecase/component/evidenceList",
104
+			"style": {
105
+				"navigationBarTitleText": "证据清单"
106
+			}
107
+		},
108
+		{
109
+			"path": "pages/handlecase/component/obligations",
110
+			"style": {
111
+				"navigationBarTitleText": "权力和义务告知书"
112
+			}
113
+		},
114
+		{
115
+			"path": "pages/expressDelivery/index",
116
+			"style": {
117
+				"navigationBarTitleText": "查看快递"
118
+			}
119
+		},
120
+		{
121
+			"path": "pages/expressDelivery/component/expressDelivery",
122
+			"style": {
123
+				"navigationBarTitleText": "快递信息"
124
+			}
125
+		},
126
+		{
127
+			"path": "pages/signature/index",
128
+			"style": {
129
+				"navigationBarTitleText": "在线签名列表"
130
+			}
131
+		},
132
+		{
133
+			"path": "pages/signature/component/expressDelivery",
134
+			"style": {
135
+				"navigationBarTitleText": "在线签名"
90
 			}
136
 			}
91
 		},
137
 		},
92
 		// {
138
 		// {
141
 				"navigationBarTitleText": "在线开庭",
187
 				"navigationBarTitleText": "在线开庭",
142
 				"enablePullDownRefresh": false
188
 				"enablePullDownRefresh": false
143
 			}
189
 			}
190
+		},
191
+		{
192
+			"path": "pages/realName",
193
+			"style": {
194
+				"navigationBarTitleText": "实名认证",
195
+				"enablePullDownRefresh": false
196
+			}
197
+		},
198
+		{
199
+			"path": "pages/personalInfoCollection",
200
+			"style": {
201
+				"navigationBarTitleText": "权益告知书"
202
+				// "enablePullDownRefresh": false
203
+			}
204
+		},
205
+		{
206
+			"path": "pages/im/component/imHome",
207
+			"style": {
208
+				"navigationBarTitleText": "会议",
209
+				"enablePullDownRefresh": false
210
+			}
144
 		}
211
 		}
145
-	],
146
-	"tabBar": {
147
-		"color": "#000000",
148
-		"selectedColor": "#000000",
149
-		"borderStyle": "white",
150
-		"backgroundColor": "#ffffff",
151
-		"list": [{
152
-			"pagePath": "pages/index",
153
-			"iconPath": "static/images/tabbar/home.png",
154
-			"selectedIconPath": "static/images/tabbar/home_.png",
155
-			"text": "首页"
156
-		}, {
157
-			"pagePath": "pages/work/index",
158
-			"iconPath": "static/images/tabbar/work.png",
159
-			"selectedIconPath": "static/images/tabbar/work_.png",
160
-			"text": "工作台"
161
-		}, {
162
-			"pagePath": "pages/mine/index",
163
-			"iconPath": "static/images/tabbar/mine.png",
164
-			"selectedIconPath": "static/images/tabbar/mine_.png",
165
-			"text": "我的"
166
-		}]
167
-	},
212
+	    
213
+    ],
214
+	// "tabBar": {
215
+	// 	"color": "#000000",
216
+	// 	"selectedColor": "#000000",
217
+	// 	"borderStyle": "white",
218
+	// 	"backgroundColor": "#ffffff",
219
+	// 	"list": [{
220
+	// 		"pagePath": "pages/index",
221
+	// 		"iconPath": "static/images/tabbar/home.png",
222
+	// 		"selectedIconPath": "static/images/tabbar/home_.png",
223
+	// 		"text": "首页"
224
+	// 	}, {
225
+	// 		"pagePath": "pages/work/index",
226
+	// 		"iconPath": "static/images/tabbar/work.png",
227
+	// 		"selectedIconPath": "static/images/tabbar/work_.png",
228
+	// 		"text": "工作台"
229
+	// 	}, {
230
+	// 		"pagePath": "pages/mine/index",
231
+	// 		"iconPath": "static/images/tabbar/mine.png",
232
+	// 		"selectedIconPath": "static/images/tabbar/mine_.png",
233
+	// 		"text": "我的"
234
+	// 	}]
235
+	// },
168
 	"globalStyle": {
236
 	"globalStyle": {
169
 		"navigationBarTextStyle": "black",
237
 		"navigationBarTextStyle": "black",
170
 		"navigationBarTitleText": "RuoYi",
238
 		"navigationBarTitleText": "RuoYi",

+ 81
- 0
pages/expressDelivery/component/expressDelivery.vue Просмотреть файл

1
+<template>
2
+	<view class="page">
3
+		<view class="mainAll" v-if="list2.length > 0">
4
+			<view class="pageTitle">
5
+				快递公司:{{expressMain.company}}
6
+			</view>
7
+			<view class="pageTitle">
8
+				快递单号:{{expressMain.no}}
9
+			</view>
10
+			<view class="pageMain">
11
+				<view>
12
+					<uni-steps :options="list2" active-color="#007AFF" direction="column" />
13
+				</view>
14
+			</view>
15
+		</view>
16
+		<view class="emptyBox" v-if="list2.length == 0">
17
+			<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
18
+		</view>
19
+	</view>
20
+</template>
21
+
22
+<script>
23
+	import {
24
+		logistics
25
+	} from '../../../api/handlecase/index.js'
26
+	import LuanqingEmpty from "@/components/luanqing-empty.vue"
27
+	export default {
28
+		components: {
29
+			'luanqing-empty': LuanqingEmpty,
30
+		},
31
+		data() {
32
+			return {
33
+				expressMain: {},
34
+				list2: []
35
+			}
36
+		},
37
+		methods: {
38
+
39
+		},
40
+		onLoad(data) {
41
+			uni.showLoading()
42
+			logistics({
43
+				id: data.id
44
+			}).then(res => {
45
+				uni.hideLoading()
46
+				this.expressMain = res.data[1].logisticsInfo;
47
+				this.expressMain = JSON.parse(this.expressMain);
48
+				this.expressMain.list.forEach(item => {
49
+					item.title = item.remark;
50
+					item.desc = item.datetime
51
+				})
52
+				this.list2 = this.expressMain.list
53
+			})
54
+		}
55
+	}
56
+</script>
57
+
58
+<style lang="scss">
59
+	.page {
60
+		background-color: #ffffff;
61
+
62
+		.pageTitle {
63
+			width: 100%;
64
+			padding: 15rpx;
65
+		}
66
+
67
+		.pageMain {
68
+			.status-btn {
69
+				/* #ifndef APP-NVUE */
70
+				display: flex;
71
+				/* #endif */
72
+				flex-direction: row;
73
+				align-items: center;
74
+				justify-content: center;
75
+				height: 92rpx;
76
+				margin: 30rpx;
77
+				background-color: #007AFF;
78
+			}
79
+		}
80
+	}
81
+</style>

+ 104
- 0
pages/expressDelivery/component/list.vue Просмотреть файл

1
+<template>
2
+	<view class="list">
3
+		<view class="listItem">
4
+			<view class="lable">
5
+				案件编号:
6
+			</view>
7
+			<view class="main">
8
+				{{defalutVal.caseNum}}
9
+			</view>
10
+		</view>
11
+		<view class="listItem">
12
+			<view class="lable">
13
+				申请人姓名:
14
+			</view>
15
+			<view class="main">
16
+				{{defalutVal.applicantName}}
17
+			</view>
18
+		</view>
19
+		<view class="listItem" style="margin-top:22rpx">
20
+			<view class="lable">
21
+				被申请人姓名:
22
+			</view>
23
+			<view class="main">
24
+				{{defalutVal.respondentName}}
25
+			</view>
26
+		</view>
27
+		<view class="listItem">
28
+			<view class="lable">
29
+				案件状态:
30
+			</view>
31
+			<view class="main">
32
+				{{defalutVal.caseStatusName}}
33
+			</view>
34
+		</view>
35
+		<view class="btn">
36
+			<button class="btnItem" type="primary" size="mini" @tap="uploadEvidence(defalutVal.id)">查看快递信息</button>
37
+			<!-- <button class="btnItem" type="primary" size="mini" @tap="confirmationEvidence" v-if="defalutVal.caseStatus == 4">确认证据</button>
38
+			<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators" v-if="defalutVal.caseStatus == 5">是否指派仲裁员</button>
39
+			<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
40
+			<button class="btnItem" type="primary" size="mini" @tap="chooseMethod" v-if="defalutVal.caseStatus == 9">选择仲裁方式</button> -->
41
+		</view>
42
+	</view>
43
+</template>
44
+
45
+<script>
46
+	export default{
47
+		data(){
48
+			return{
49
+				
50
+			}
51
+		},
52
+		props:{
53
+			defalutVal:{
54
+				type:Object,
55
+				default:() => {}
56
+			}
57
+		},
58
+		methods:{
59
+			// // 查看快递
60
+			uploadEvidence(id){
61
+				uni.navigateTo({
62
+					// url:`/pages/expressDelivery/component/expressDelivery?id=${this.defalutVal.id}`
63
+					url:`/pages/expressDelivery/component/expressDelivery?id=${id}`
64
+				})
65
+			},
66
+		}
67
+	}
68
+</script>
69
+
70
+<style lang="scss" scoped>
71
+	.list {
72
+		padding: 15rpx;
73
+		display: flex;
74
+		flex-direction: column;
75
+		background-color: #ffffff;
76
+		border-radius: 30rpx;
77
+		margin-top: 20rpx;
78
+		.listItem {
79
+			width: 100%;
80
+			display: flex;
81
+			height: 50rpx;
82
+			.lable {
83
+				width: 30%;
84
+			}
85
+
86
+			.main {
87
+				width: 60%;
88
+			}
89
+		}
90
+		.btn{
91
+			margin-top: 20rpx;
92
+			width: 100%;
93
+			display: flex;
94
+			justify-content: space-between;
95
+			.btnItem{
96
+				height: 50rpx;
97
+				background-color: #5395ff;
98
+				border-radius: 10rpx;
99
+				text-align: center;
100
+				line-height: 50rpx;
101
+			}
102
+		}
103
+	}
104
+</style>

+ 125
- 0
pages/expressDelivery/index.vue Просмотреть файл

1
+<template>
2
+	<view class="handlecase">
3
+		<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
4
+		<view class="emptyBox" v-if="caseList.length == 0">
5
+			<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
6
+		</view>
7
+	</view>
8
+</template>
9
+
10
+<script>
11
+	import List from './component/list.vue'
12
+	import {
13
+		caseApplicationList
14
+	} from '../../api/handlecase/index.js'
15
+	import LuanqingEmpty from "@/components/luanqing-empty.vue"
16
+	export default {
17
+		components: {
18
+			List,
19
+			'luanqing-empty': LuanqingEmpty,
20
+		},
21
+		data() {
22
+			return {
23
+				caseList: [],
24
+				pageNum: 1,
25
+				pageSize: 10
26
+			}
27
+		},
28
+		methods: {
29
+			getList(parms) {
30
+				uni.showLoading()
31
+				caseApplicationList(parms).then(res => {
32
+					uni.hideLoading()
33
+					this.caseList = res.rows;
34
+					this.caseList.forEach(item => {
35
+						switch (item.caseStatus) {
36
+							case 0:
37
+								item.caseStatusName = '立案申请'
38
+								break;
39
+							case 1:
40
+								item.caseStatusName = '待缴费'
41
+								break;
42
+							case 2:
43
+								item.caseStatusName = '待缴费确认'
44
+								break;
45
+							case 3:
46
+								item.caseStatusName = '待确认是否应诉'
47
+								break;
48
+							case 4:
49
+								item.caseStatusName = '待确认证据'
50
+								break;
51
+							case 5:
52
+								item.caseStatusName = '待确定是否指派仲裁员'
53
+								break;
54
+							case 6:
55
+								item.caseStatusName = '待组庭'
56
+								break;
57
+							case 7:
58
+								item.caseStatusName = '待组庭确定'
59
+								break;
60
+							case 8:
61
+								item.caseStatusName = '待组庭审核'
62
+								break;
63
+							case 9:
64
+								item.caseStatusName = '待选择仲裁方式'
65
+								break;
66
+							case 10:
67
+								item.caseStatusName = '待开庭'
68
+								break;
69
+							case 11:
70
+								item.caseStatusName = '待生成仲裁文书'
71
+								break;
72
+							case 12:
73
+								item.caseStatusName = '待确认仲裁文书'
74
+								break;
75
+							case 13:
76
+								item.caseStatusName = '待仲裁文书用印'
77
+								break;
78
+							case 14:
79
+								item.caseStatusName = '待仲裁文书用印审核'
80
+								break;
81
+							case 15:
82
+								item.caseStatusName = '待仲裁文书送达'
83
+								break;
84
+							case 16:
85
+								item.caseStatusName = '待案件归档'
86
+								break;
87
+						}
88
+					})
89
+				})
90
+			},
91
+			// 触底
92
+			onReachBottom() {
93
+				if (this.caseList.length < 1) {
94
+					return
95
+				}
96
+				let obj = {
97
+					caseStatusList: [16],
98
+					pageNum: this.pageNum,
99
+					pageSize: this.pageSize
100
+				}
101
+				obj.pageNum = obj.pageNum + 1
102
+				this.getList(obj)
103
+			}
104
+		},
105
+		onLoad() {
106
+			let obj = {
107
+				caseStatusList: [16],
108
+				pageNum: this.pageNum,
109
+				pageSize: this.pageSize
110
+			}
111
+			this.getList(obj)
112
+		}
113
+	}
114
+</script>
115
+
116
+<style lang="scss">
117
+	.handlecase {
118
+		.caseList {
119
+			// height: 360rpx;
120
+			// background-color: #ffffff;
121
+			// border-radius: 30rpx;
122
+			// margin-top: 20rpx;
123
+		}
124
+	}
125
+</style>

+ 37
- 0
pages/handlecase/component/evidenceList.vue Просмотреть файл

1
+<template>
2
+	<view>
3
+		<view style="text-align: center;" v-for="item in evidenceList">
4
+			<image :src="item.annexPath"></image>
5
+		</view>
6
+	</view>
7
+
8
+</template>
9
+
10
+<script>
11
+	import config from '@/config'
12
+	const baseUrl = config.baseUrl
13
+	export default {
14
+		data() {
15
+			return {
16
+				evidenceList: []
17
+			}
18
+		},
19
+		onLoad(data) {
20
+			console.log(data)
21
+			let list =  JSON.parse(decodeURIComponent(data.evidenceList))
22
+			if(list) {
23
+				list.forEach(item =>{
24
+					item.annexPath = baseUrl + item.annexPath
25
+				})
26
+			}
27
+			console.log(list)
28
+			this.evidenceList = list
29
+		}
30
+	}
31
+</script>
32
+
33
+<style lang="scss">
34
+	page {
35
+		background-color: #ffffff;
36
+	}
37
+</style>

+ 4
- 4
pages/handlecase/component/list.vue Просмотреть файл

16
 				{{defalutVal.applicantName}}
16
 				{{defalutVal.applicantName}}
17
 			</view>
17
 			</view>
18
 		</view>
18
 		</view>
19
-		<view class="listItem">
20
-			<view class="lable">
19
+		<view class="listItem" style="margin-top:22rpx">
20
+			<view class="lable" >
21
 				被申请人姓名:
21
 				被申请人姓名:
22
 			</view>
22
 			</view>
23
 			<view class="main">
23
 			<view class="main">
102
 			width: 100%;
102
 			width: 100%;
103
 			display: flex;
103
 			display: flex;
104
 			height: 50rpx;
104
 			height: 50rpx;
105
-
106
 			.lable {
105
 			.lable {
107
 				width: 30%;
106
 				width: 30%;
108
 			}
107
 			}
109
 
108
 
110
 			.main {
109
 			.main {
111
 				width: 60%;
110
 				width: 60%;
112
-			}
111
+			}
112
+			
113
 		}
113
 		}
114
 		.btn{
114
 		.btn{
115
 			margin-top: 20rpx;
115
 			margin-top: 20rpx;

+ 92
- 0
pages/handlecase/component/obligations.vue Просмотреть файл

1
+<template>
2
+	<view class="equityNotice">
3
+		<text>
4
+			关于“个人信息收集/使用”的同意书xxxxx公司业务管理系统需要收集与使用用户的个人信息,根据《中华人民共和国网络安全法》等相关法规,特告知如下请仔细阅读并理解文本件全部内容之后,决定是否同意并使用本公司业务管理系统的各项服务;如果您仍决定使用本公司业务管理系统的各项服务,则视为您同意执行本同意书
5
+			第1条定义
6
+			“用户”:使用本公司业务管理系统的自然人
7
+			“本公司”:运营及管理业务管理系统的xxxx公司
8
+			“业务管理系统”:需要收集和使用个人信息的本公司业务管理系统,但不限于,xxxx系统等该系统的功能范围可能不断扩展、调整
9
+			“个人信息”:指以电子或其他方式记录的能够单独或与其他信息结合识别自然人身份的各种信息,包括与确定自然人相关的生物特征、位置、行为等信息,如姓名、出生日期、身份证号、个人账号信息、住址、手机号码、电话号码、指纹、虹膜等
10
+			第2条个人信息内容和目的 个人信息内容见条
11
+			收集/利用的目的识别个人信息主体 传达合同签订的主要事项提供与产品和服务相关的咨询或邀请,提供用户有利的信息,处理用户投诉等争议理履行与提供产品/服务器相关的合同以及结费用 个人信息收集最小化本公司不收集超出个人信息必须范围的个人敏感信息,例如财产、健康,生活隐私等个人敏感信息
12
+			如确有正当业务需要,应经用户同意后进行最小化的收集和存储 用户享有对个人信息的访问、更正、删除个人信息、注销账户等权利 本公司收集的个人信息不会用于直接商业营销 
13
+			第 3 条 个人信息的储存和使用时间 本公司与用户签订的合同存续期间
14
+			从个人信息收集日开始一直到业务关系终止为止
15
+			本公司获取的个人所有信息,除了以上提及的收集/使用目的或法律规定的使用目的以外,不会用于其它用途依据相关法规,如无正当的理由继续保存个人信息,或者个人信息收集使用目的已经达成,本公司会即时删除相关个人信息用户如要求删除个人信息,且相关法规规定不要求保存此类个人信息时,自接收到用户删除要求后,本公司会及时删除所有个人信息
16
+			第 4 条 拒绝同意权利
17
+			用户可拒绝接受收集和利用个人信息,但因此而无法实现与本公司的正常业务往来,甚至导致合同无法正常履行的,所带来的负面后果由用户承担,请审慎留意
18
+			用户同意签署此同意书,即表示已仔细阅读并理解以上所有事项,同意相关个人信息的收集和使用
19
+			第 5条个人信息出境
20
+			为了正常运营业务管理系统,提高业务效率,与业务管理系统相关收集和产生的个人信息需通过网络专线或其它正规渠道传送到本公司在境外的机构的对应业务管理系统
21
+			本公司在境外的机构包括:
22
+			出境目的是为正常运营业务管理系统,其中包括但不限于、品质系统、购买系统等需依赖于用户个人信息才能正常运行的系统
23
+			出境范围和内容包括但不限于用户的姓名、出生日期、身份证号、个人账号信息、住址、电话号码等通过合法途径收集的个人信息
24
+			第 6条 同意书的效力和变更
25
+			本同意书从用户同意之日起开始生效
26
+			如本同意书签署之前,用户已经使用本公司业务管理系统的,则本同意书的签署同时视为对之前已经发生的个人信息收集与利用的同意
27
+			本公司保留运营或者营业上有重要原因时,对本同意书进行修改的权利但即使修改也会在《中华人民共和国网络安全法》及其相关法规允许的范围内进行修订
28
+			如对本同意书进行修订,本公司将提前至少 7 天将修订内容、实施时间、修订原因公布在公司业务管理系统首页
29
+			6 4 用户有权利拒绝同意修订在用户拒绝同意修订的情况下,本公司有权利终止相关服务,禁止用户登录
30
+			第7条争议的解决与联系方式
31
+			本同意书的订立、执行和争议的解决均应适用中华人民共和国法律 如双方就本同意书内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均可向本公司所在地有管辖权的人民法院提起诉讼 本公司保留对同意书的解释和修改权利
32
+			本公司未行使本协议的任何权利或规定,不构成对前述权利之放弃 如本同意书中的任何条款完全或部分无效,本同意书的其余条款仍有效并且有约束力
33
+			若您对本同意书的内容、执行有其它疑问、建议、意见等,欢迎通过下列方式与本公司联系:
34
+			第 8条 附则
35
+			本同意书可通过纸质签署,亦可通过用户登录点击确认等方式签署,均具有同等法律效力
36
+		</text>
37
+		<view class="from">
38
+			<uni-forms ref="form"  >
39
+				<uni-forms-item label="反意理由:" name="reasons" label-width="100px" required>
40
+					<uni-easyinput v-model="formData.reasont"
41
+						placeholder="请输入反意理由" />
42
+				</uni-forms-item>
43
+			</uni-forms>
44
+		</view>
45
+		<view class="determine">
46
+			<button type="primary" @click="submit">确定</button>
47
+		</view>
48
+	</view>
49
+	
50
+</template>
51
+
52
+<script>
53
+	export default{
54
+		data (){
55
+			return {
56
+				formData:{
57
+					reasont:''
58
+				},
59
+				
60
+			}
61
+		},
62
+		methods:{
63
+			submit(){
64
+				if(this.formData.reasont){
65
+					uni.setStorageSync('reasontData', this.formData.reasont)
66
+				}else{
67
+					this.$modal.msgError("请输入您的账号")
68
+				}
69
+			}
70
+			
71
+		}
72
+	}
73
+</script>
74
+
75
+<style lang="scss">
76
+	page {
77
+		background-color: #ffffff;
78
+	}
79
+	.equityNotice{
80
+		padding: 20rpx 20rpx;
81
+		font-size: 22rpx;
82
+		
83
+		.determine{
84
+			margin:0 auto;
85
+			width: 250rpx;
86
+			button{
87
+				background-color: brown;
88
+			}
89
+		}
90
+	}
91
+	
92
+</style>

+ 370
- 108
pages/handlecase/component/uploadEvidence.vue Просмотреть файл

1
-<template>
2
-	<view class="assignrbitrators">
3
-		<view class="from">
4
-			<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
5
-				<view class="title">案件详情</view>
6
-				<view class="box">
7
-					<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
8
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
9
-							placeholder="" />
10
-					</uni-forms-item>
11
-					<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
12
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
13
-							placeholder="" />
14
-					</uni-forms-item>
15
-					<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
16
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
17
-							placeholder="" />
18
-					</uni-forms-item>
19
-					<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
20
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
21
-							placeholder="" />
22
-					</uni-forms-item>
23
-					<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
24
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
25
-							placeholder="" />
26
-					</uni-forms-item>
27
-					<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
28
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
29
-							placeholder="" />
30
-					</uni-forms-item>
31
-					<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
32
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
33
-							placeholder="" />
34
-					</uni-forms-item>
35
-					<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
36
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
37
-							placeholder="" />
38
-					</uni-forms-item>
39
-					<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
40
-						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
41
-							placeholder="" />
42
-					</uni-forms-item>
43
-					<uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
44
-						<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
45
-							:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
46
-					</uni-forms-item>
47
-					<uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
48
-						<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
49
-							:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
50
-					</uni-forms-item>
51
-					<uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
52
-						<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
53
-							:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
54
-					</uni-forms-item>
55
-					<uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
56
-						<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
57
-					</uni-forms-item>
58
-				</view>
59
-			</uni-forms>
60
-			<view class="uni-list" v-if="selectFlag">
61
-				<checkbox-group @change="checkboxChange">
62
-					<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
63
-						<view>
64
-							<checkbox :value="item.id + ''" />
65
-						</view>
66
-						<view class="main">
67
-							<view class="">
68
-								仲裁员姓名:{{item.arbitratorName}}
69
-							</view>
70
-							<view class="">
71
-								当前案件数量:{{item.currentCaseNum}}
72
-							</view>
73
-							<view class="">
74
-								已结案数量:{{item.closedCaseNum}}
75
-							</view>
76
-							<view class="">
77
-								专业分类:{{item.professiClassifi}}
78
-							</view>
79
-						</view>
80
-					</label>
81
-				</checkbox-group>
82
-			</view>
83
-			<button type="primary" @click="submitImg">确认提交</button>
84
-		</view>
85
-
1
+<template>
2
+	<view>
3
+		<view>
4
+			
5
+			
6
+		</view>		<uni-section title="  ">
7
+			<!-- 选项卡 -->
8
+			<view>
9
+				<uni-segmented-control :current="current" :values="itemsT" :style-type="styleType"
10
+									:active-color="activeColor" @clickItem="onClickItem" />
11
+			</view>
12
+			<!-- 选项卡内容 -->
13
+			<view class="conent">
14
+				<view v-show="current === 0">
15
+						<view class="assignrbitrators">
16
+									<view class="from">
17
+										<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
18
+											<!-- <view class="title">案件详情</view> -->
19
+											<view class="box">
20
+												<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
21
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
22
+														placeholder="" />
23
+												</uni-forms-item>
24
+												<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
25
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
26
+														placeholder="" />
27
+												</uni-forms-item>
28
+												<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
29
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
30
+														placeholder="" />
31
+												</uni-forms-item>
32
+												<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
33
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
34
+														placeholder="" />
35
+												</uni-forms-item>
36
+												<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
37
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
38
+														placeholder="" />
39
+												</uni-forms-item>
40
+												<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
41
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
42
+														placeholder="" />
43
+												</uni-forms-item>
44
+												<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
45
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
46
+														placeholder="" />
47
+												</uni-forms-item>
48
+												<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
49
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
50
+														placeholder="" />
51
+												</uni-forms-item>
52
+												<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
53
+													<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
54
+														placeholder="" />
55
+												</uni-forms-item>
56
+												<!-- <uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
57
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
58
+														:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
59
+												</uni-forms-item> -->
60
+												<!-- <uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
61
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
62
+														:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
63
+												</uni-forms-item> -->
64
+												<!-- <uni-forms-item label="是否指派调解员" label-width="120px" v-if="sysType==2" name="pendingAppointArbotrar" required>
65
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
66
+														:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
67
+												</uni-forms-item> -->
68
+												<uni-forms-item label="是否仲裁反请求" label-width="120px" name="objectiJuris" required>
69
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.objectiJuris"
70
+														:localdata="objectiJurisArr" @change='objectiJurisChange'></uni-data-checkbox>
71
+												</uni-forms-item>
72
+												<!-- <uni-forms-item label="是否管辖异议申请" label-width="120px" name="adjudicaCounter" required>
73
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.adjudicaCounter"
74
+														:localdata="adjudicaCounterArr"></uni-data-checkbox>
75
+												</uni-forms-item> -->
76
+												<!-- <uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
77
+													<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
78
+												</uni-forms-item> -->
79
+												<uni-forms-item 
80
+												label="是否书面审理" 
81
+												label-width="120px" 
82
+												name="respondentIsWrittenHear" 
83
+												required>
84
+													<uni-data-checkbox class='checkbox' v-model="subnitForm.respondentIsWrittenHear"
85
+														:localdata="adjudicateRecord" @change='arbitrationmethod'></uni-data-checkbox>
86
+												</uni-forms-item>
87
+												<uni-forms-item
88
+												v-if="sysType==2"
89
+												label="预约时间" 
90
+												label-width="120px" 
91
+												name="respondentIsWrittenHear" 
92
+												>
93
+													<view class="example-body">
94
+														<uni-datetime-picker type="date"   @maskClick="maskClick" />
95
+													</view>
96
+												</uni-forms-item>
97
+											</view>
98
+										</uni-forms>
99
+										<!-- 自定义弹窗层组件 -->
100
+										<uni-popup scroll-y="true" ref="popup" :is-mask-click="false"  type="bottom">
101
+															<view class="content_list">
102
+																<uni-card>
103
+																	<view class="" style="text-align: center;font-size: 35rpx;font-weight: bold;">
104
+																		<text>权力和义务告知书</text>
105
+																	</view>
106
+																	根据《中华人民共和国仲裁法》的规定,仲裁当事人在仲裁活动中依法享有权利并承担义务。
107
+																	<view class="">
108
+																		<text>一、当事人的权利</text>
109
+																		<text>1.依据仲裁协议提请仲裁;撤回仲裁申请或者变更、放弃仲裁请求;承认或者反驳仲裁请求;提出仲裁反请求。</text>
110
+																		<text>2.对仲裁协议效力提出异议。</text>
111
+																		<text>3.委托代理人进行仲裁活动。</text>
112
+																		<text>4.申请财产保全、证据保全。</text>
113
+																		<text>5.约定、选定仲裁庭的组成方式;选定或者委托本会主任指定仲裁员;申请仲裁员、办案秘书、翻译人员、鉴定人员回避。</text>
114
+																		<text>6.收集、提供证据。对证据进行质证,发表辩论意见,作最后陈述。</text>
115
+																		<text>7.请求调解。自行和解的,可以请求仲裁庭根据和解协议作出裁决书。</text>
116
+																		<text>8.认为开庭笔录对自己陈述的记录有遗漏或者差错的,申请补正。</text>
117
+																		<text>9.对裁决书中的文字、计算错误或者仲裁庭已经裁决但在裁决书中遗漏的事项,请求补正或者作出补正裁决。</text>
118
+																		<text>10.向人民法院申请撤销、执行或者不予执行仲裁裁决。</text>
119
+																			
120
+																	</view>
121
+																	<view>
122
+																		<text>
123
+																			<text>二、当事人的义务</text>
124
+																			<text>1.如实书写仲裁申请书和答辩书;在庭审中不得做虚假陈述。</text>
125
+																			<text>2.对自己的主张按期提供证据,不得提供伪证。</text>
126
+																			<text>3.遵守仲裁员回避制度。</text>
127
+																			<text>4.按时参加开庭。</text>
128
+																			<text>5.遵守开庭纪律和仲裁程序。</text>
129
+																			<text>6.在庭审笔录上签字。</text>
130
+																			<text>7.在仲裁文书的送达回证上签字盖章。</text>
131
+																			<text>8.主动履行生效的仲裁裁决。</text>
132
+																			<text>9.按规定交纳仲裁费用。</text>
133
+																			<text>10.法律、法规和本会仲裁规则规定的其他义务。</text>	
134
+																		</text>
135
+																		
136
+																	</view>
137
+																	<view class="from" style="margin-top:30rpx;">
138
+																		<uni-forms ref="reasontFormData"  >
139
+																			<uni-forms-item label="异议原因:" label-width="100px" required>
140
+																				<uni-easyinput v-model="reasontFormData.reasont"
141
+																					placeholder="请输入异议原因" />
142
+																			</uni-forms-item>
143
+																		</uni-forms>
144
+																	</view>
145
+																	<view class="determine">
146
+																		<button style="width: 150rpx;float: left;margin-left: 90rpx;" type="primary" @tap="submitReasont">确定</button>
147
+																		<button style="width: 150rpx;" @tap="cencalBut">取消</button>
148
+																	</view>
149
+																</uni-card>
150
+															</view>
151
+															
152
+														</uni-popup>
153
+										<view class="uni-list" v-if="selectFlag">
154
+											<checkbox-group @change="checkboxChange" style="width: 100%;">
155
+												<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.userId">
156
+													<view>
157
+														<checkbox color="blue" style="transform:scale(0.7)"  :value="item.userId + ''" />
158
+													</view>
159
+													<view class="main">
160
+														<view class="">
161
+															仲裁员姓名:{{item.nickName}}
162
+														</view>
163
+														<view class="">
164
+															介绍:{{item.remark || ''}}
165
+														</view>
166
+													</view>
167
+												</label>
168
+											</checkbox-group>
169
+										</view>
170
+										<button type="primary" @click="submitImg">确认提交</button>
171
+									</view>
172
+								
173
+								</view>
174
+							
175
+						</view>
176
+						
177
+					</view>
178
+					<view v-show="current === 1" style="padding: 20rpx;">
179
+						<view class="" style="margin-top: 50rpx;">
180
+							<view>申请人</view>
181
+							<view v-for="item in formData.evidenceMaterialList">
182
+								<uni-link v-if="item.annexType==2" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
183
+							</view>
184
+							<view>被申请人</view>
185
+							<view v-for="item in formData.evidenceMaterialList">
186
+								<uni-link v-if="item.annexType==6" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
187
+							</view>
188
+						</view>
189
+						<view class="" style="margin-top: 40rpx;">
190
+							<view>仲裁申请书</view>
191
+							<view v-for="item in formData.evidenceMaterialList">
192
+								<uni-link v-if="item.annexType==1" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
193
+							</view>
194
+						</view>
195
+							
196
+						
197
+					</view>
198
+					
199
+		</uni-section>
86
 	</view>
200
 	</view>
201
+	
87
 </template>
202
 </template>
88
 
203
 
89
 <script>
204
 <script>
98
 	import {
213
 	import {
99
 		getToken
214
 		getToken
100
 	} from '@/utils/auth'
215
 	} from '@/utils/auth'
101
-	import moment from 'moment'
216
+	import moment from 'moment'
217
+	import config from '@/config'
218
+	const baseUrl = config.baseUrlZC
102
 	const app = getApp()
219
 	const app = getApp()
103
 	export default {
220
 	export default {
104
 		data() {
221
 		data() {
105
-			return {
222
+			return {
223
+				sysType:null,//默认系统 1.仲裁2.调节
224
+				selectValue:null,
225
+				defaultSelected: [], //默认选中项
226
+				serviceList: ['1','2'],//传递给子组件的数据
227
+				current:0,
228
+				itemsT:['案件详情','案件资料'],
229
+				styleType:'button',
230
+				activeColor:'#007aff',	
231
+				reasontFormData:{
232
+					reasont:''
233
+				},
234
+				isShowPopup:false,
106
 				formData: {},
235
 				formData: {},
107
-				subnitForm: {},
236
+				subnitForm: {
237
+					objectionAddEviden:0,
238
+					pendingAppointArbotrar:0,
239
+					objectiJuris:0,
240
+					adjudicaCounter:0,
241
+					respondentIsWrittenHear:1,
242
+					adjudicaCounterReason:''
243
+				},
108
 				selectFlag: false,
244
 				selectFlag: false,
109
 				caseFlag: false,
245
 				caseFlag: false,
110
 				tempFilePaths: null,
246
 				tempFilePaths: null,
152
 					text: '否',
288
 					text: '否',
153
 					value: 0
289
 					value: 0
154
 				}],
290
 				}],
155
-				items: []
291
+				objectiJurisArr: [{
292
+					text: '是',
293
+					value: 1
294
+				}, {
295
+					text: '否',
296
+					value: 0
297
+				}],
298
+				adjudicaCounterArr: [{
299
+					text: '是',
300
+					value: 1
301
+				}, {
302
+					text: '否',
303
+					value: 0
304
+				}],
305
+				obligationsArr: [{
306
+					text: '是',
307
+					value: 1
308
+				}, {
309
+					text: '否',
310
+					value: 0
311
+				}],
312
+				// 是否书面审理
313
+				adjudicateRecord: [{
314
+					text: '是',
315
+					value: 1
316
+				},{
317
+					text: '否',
318
+					value: 0
319
+				}],
320
+				items: [],
321
+				selectData: [{
322
+					value: 0,
323
+					label: '黄金糕'
324
+				}, {
325
+					value: '选项2',
326
+					label: '双皮奶'
327
+				}, {
328
+					value: '选项3',
329
+					label: '蚵仔煎'
330
+				}, {
331
+					value: '选项4',
332
+					label: '龙须面'
333
+				}, {
334
+					value: '选项5',
335
+					label: '北京烤鸭'
336
+				}, {
337
+					value: '选项6',
338
+					label: '豆腐'
339
+				}, {
340
+					value: '选项7',
341
+					label: '油条'
342
+				}]
156
 			}
343
 			}
157
-		},
158
-		methods: {
344
+		},
345
+		mounted() {
346
+			this.sysType = uni.getStorageSync('sysType')
347
+		},
348
+		methods: {
349
+			selectTJ(e){
350
+				// console.log(this.defaultSelected,'11111111')
351
+				// console.log(e,'2222222222’')
352
+			},
353
+			onClickItem(e){
354
+				if (this.current !== e.currentIndex) {
355
+					this.current = e.currentIndex
356
+				}
357
+			},
358
+			submitReasont(){
359
+				
360
+				if(this.reasontFormData.reasont){
361
+					this.subnitForm.adjudicaCounterReason = this.reasontFormData.reasont 
362
+					this.$refs.popup.close()
363
+					this.reasontFormData.reasont =''
364
+				}else{
365
+					this.$modal.msgError("请输入反意理由")
366
+				}
367
+			},
368
+			cencalBut(){
369
+				this.$refs.popup.close();
370
+				this.subnitForm.objectiJuris = 0;
371
+			},
372
+			objectiJurisChange(value){
373
+				
374
+				let flag = value.detail.value;
375
+				if(flag==1){
376
+					this.$refs.popup.open('center')
377
+				}
378
+			},
159
 			arbitrationmethod() {},
379
 			arbitrationmethod() {},
160
 			uploadEvidenceChange(val) {
380
 			uploadEvidenceChange(val) {
161
 				let flag = val.detail.value;
381
 				let flag = val.detail.value;
175
 				}
395
 				}
176
 			},
396
 			},
177
 			checkboxChange(e) {
397
 			checkboxChange(e) {
178
-				let idArr = e.detail.value;
179
-				let numberArray = idArr.map(str => parseInt(str));
180
-				const result = this.items.filter(item => numberArray.includes(item.id));
181
-				let arbitrators = []
182
-				result.forEach(item => {
183
-					arbitrators.push({
184
-						id: item.id,
185
-						arbitratorName: item.arbitratorName
186
-					})
398
+				let params =  parseInt(e.detail.value);
399
+				let result = "";
400
+				this.items.forEach(item=>{
401
+					if(item.userId == params){
402
+						result = item.nickName
403
+					}
187
 				})
404
 				})
405
+				let arbitrators = [{id: params,arbitratorName: result}];
406
+				// let idArr = e.detail.value;
407
+				// let numberArray = idArr.map(str => parseInt(str));
408
+				// const result = this.items.filter(item => numberArray.includes(item.userId));
409
+				// result.forEach(item => {
410
+				// 	arbitrators.push({
411
+				// 		id: item.userId,
412
+				// 		arbitratorName: item.nickName
413
+				// 	})
414
+				// })
188
 				this.subnitForm.arbitrators = arbitrators;
415
 				this.subnitForm.arbitrators = arbitrators;
416
+				// console.log(this.subnitForm.arbitrators,"PPPPPPPPPPPPPP");
189
 			},
417
 			},
190
 			getData(parms) {
418
 			getData(parms) {
191
-				respondentDetail(parms).then(res => {
419
+				respondentDetail(parms).then(res => {
420
+					if(res.data.evidenceMaterialList.length > 0) {
421
+						res.data.evidenceMaterialList.forEach(item =>{
422
+							let names = item.annexPath.split('_')
423
+							item['fileName'] = names[names.length -1]
424
+							item.annexPath = baseUrl +  item.annexPath
425
+						})
426
+					}
192
 					this.formData = res.data
427
 					this.formData = res.data
193
 					this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
428
 					this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
194
 					this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
429
 					this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
248
 						title: '提交成功',
483
 						title: '提交成功',
249
 						icon: 'none',
484
 						icon: 'none',
250
 						duration: 1000
485
 						duration: 1000
251
-					})
252
-					uni.navigateTo({
253
-						url: '/pages/handlecase/index'
254
-					})
486
+					})
487
+					
488
+					uni.navigateBack({
489
+						 delta:1
490
+					})
491
+					// uni.$tab.redirectTo({
492
+					// 	url: '/pages/handlecase/index'
493
+					// })
494
+					// uni.navigateTo({
495
+					// 	url: '/pages/handlecase/index'
496
+					// })
255
 				})
497
 				})
256
 			},
498
 			},
257
 			submitImg() {
499
 			submitImg() {
260
 				}).catch(err => {
502
 				}).catch(err => {
261
 					console.log('表单错误信息:', err);
503
 					console.log('表单错误信息:', err);
262
 				})
504
 				})
263
-			}
505
+			},
506
+			// 证据清单
507
+			evidenceList(){
508
+				console.log(this.formData.evidenceMaterialList)
509
+				this.$tab.navigateTo(`/pages/handlecase/component/evidenceList?title=证据清单&evidenceList=${encodeURIComponent(JSON.stringify(this.formData.evidenceMaterialList))}`)
510
+			},
264
 		},
511
 		},
265
 		onLoad(data) {
512
 		onLoad(data) {
266
 			this.getData(data.id);
513
 			this.getData(data.id);
267
 			this.subnitForm.caseId = Number(data.id);
514
 			this.subnitForm.caseId = Number(data.id);
268
 			// this.getArbitratorList()
515
 			// this.getArbitratorList()
269
-		},
516
+		}
517
+		
270
 	}
518
 	}
271
 </script>
519
 </script>
272
 
520
 
273
-<style lang="scss">
521
+<style lang="scss">
522
+	page {
523
+		background-color: #ffffff;
524
+	}
525
+	.content_list {
526
+		    height: 1060rpx;
527
+		    overflow-x: hidden;
528
+		    .scroll_view_style{
529
+				height: 100%;
530
+			}
531
+		}
532
+		
274
 	.assignrbitrators {
533
 	.assignrbitrators {
275
 		// text-align: center;
534
 		// text-align: center;
276
 		padding: 20rpx;
535
 		padding: 20rpx;
375
 					margin-left: 20rpx;
634
 					margin-left: 20rpx;
376
 				}
635
 				}
377
 			}
636
 			}
637
+		}
638
+		.determine{
639
+			padding: left 50rpx;
378
 		}
640
 		}
379
 	}
641
 	}
380
 </style>
642
 </style>

+ 28
- 12
pages/handlecase/index.vue Просмотреть файл

22
 			return {
22
 			return {
23
 				caseList: [],
23
 				caseList: [],
24
 				pageNum: 1,
24
 				pageNum: 1,
25
-				pageSize: 10
25
+				pageSize: 10,
26
+				
26
 			}
27
 			}
27
 		},
28
 		},
28
 		methods: {
29
 		methods: {
29
 			getList(parms) {
30
 			getList(parms) {
30
 				respondentList(parms).then(res => {
31
 				respondentList(parms).then(res => {
31
-					this.caseList = res.rows;
32
+					// this.caseList = res.rows;
33
+					if(res.data){
34
+						this.caseList = res.data;
35
+					}else{
36
+						this.caseList = []
37
+					}
38
+					
32
 					this.caseList.forEach(item => {
39
 					this.caseList.forEach(item => {
33
 						switch (item.caseStatus) {
40
 						switch (item.caseStatus) {
34
 							case 0:
41
 							case 0:
92
 					return
99
 					return
93
 				}
100
 				}
94
 				let obj = {
101
 				let obj = {
95
-					identityNum: "610528199802285713",
96
 					pageNum: this.pageNum,
102
 					pageNum: this.pageNum,
97
-					pageSize: this.pageSize
103
+					pageSize: this.pageSize,
104
+					caseStatus:4
98
 				}
105
 				}
99
 				obj.pageNum = obj.pageNum + 1
106
 				obj.pageNum = obj.pageNum + 1
100
 				this.getList(obj)
107
 				this.getList(obj)
101
 			}
108
 			}
109
+		},
110
+		onShow() {
111
+			let obj = {
112
+				pageNum: this.pageNum,
113
+				pageSize: this.pageSize,
114
+				caseStatus:4
115
+			}
116
+			this.getList(obj)
102
 		},
117
 		},
103
-		onLoad() {
104
-			let obj = {
105
-				identityNum: "610528199802285713",
106
-				pageNum: this.pageNum,
107
-				pageSize: this.pageSize
108
-			}
109
-			this.getList(obj)
110
-		}
118
+		// onLoad() {
119
+		// 	let obj = {
120
+		// 		pageNum: this.pageNum,
121
+		// 		pageSize: this.pageSize,
122
+		// 		caseStatus:4
123
+		// 	}
124
+		// 	this.getList(obj)
125
+		// }
126
+		
111
 	}
127
 	}
112
 </script>
128
 </script>
113
 
129
 

+ 21
- 0
pages/im/component/imHome.vue Просмотреть файл

1
+<template>
2
+<view>
3
+  <web-view :src="imUrl"></web-view>
4
+</view>
5
+</template>
6
+
7
+<script>
8
+	export default {
9
+		data(){
10
+			return{
11
+				imUrl:''
12
+			}
13
+		},
14
+		onLoad(data) {
15
+			this.imUrl = decodeURIComponent(data.imUrl)
16
+		}
17
+	}
18
+</script>
19
+
20
+<style>
21
+</style>

+ 112
- 0
pages/im/component/imList.vue Просмотреть файл

1
+<template>
2
+	<view class="list" @tap="caseDetail">
3
+		<view class="listItem">
4
+			<view class="lable">
5
+				案件编号:
6
+			</view>
7
+			<view class="main">
8
+				{{defalutVal.caseNum}}
9
+			</view>
10
+		</view>
11
+		<view class="listItem">
12
+			<view class="lable">
13
+				申请人姓名:
14
+			</view>
15
+			<view class="main">
16
+				{{defalutVal.applicantName}}
17
+			</view>
18
+		</view>
19
+		<view class="listItem"  style="margin-top:22rpx">
20
+			<view class="lable">
21
+				被申请人姓名:
22
+			</view>
23
+			<view class="main">
24
+				{{defalutVal.respondentName}}
25
+			</view>
26
+		</view>
27
+		<view class="listItem">
28
+			<view class="lable">
29
+				案件状态:
30
+			</view>
31
+			<view class="main">
32
+				{{defalutVal.caseStatusName}}
33
+			</view>
34
+		</view>
35
+		<view class="listItem">
36
+			<view class="lable">
37
+				案件房间号:
38
+			</view>
39
+			<view class="main">
40
+				{{defalutVal.roomId}}
41
+			</view>
42
+		</view>
43
+		<view class="listItem">
44
+			<view class="lable">
45
+				开庭时间:
46
+			</view>
47
+			<view class="main">
48
+				{{defalutVal.scheduleStartTime}}
49
+			</view>
50
+		</view>
51
+	</view>
52
+</template>
53
+
54
+<script>
55
+	export default{
56
+		data(){
57
+			return{
58
+				
59
+			}
60
+		},
61
+		props:{
62
+			defalutVal:{
63
+				type:Object,
64
+				default:() => {}
65
+			}
66
+		},
67
+		methods:{
68
+			// 在线开庭详情以及操作
69
+			caseDetail(){
70
+				let imUrl = encodeURIComponent(`https://txroom.xayunmei.com/#/home?name=${this.$store.state.user.name}&id=${this.defalutVal.id}&userId=${this.$store.state.user.userId}&roomId=${this.defalutVal.roomId}`)
71
+				console.log(this.$store.state.user)
72
+				uni.navigateTo({url:`/pages/im/component/imHome?imUrl=${imUrl}`})
73
+				}
74
+		}
75
+	}
76
+</script>
77
+
78
+<style lang="scss" scoped>
79
+	.list {
80
+		padding: 15rpx;
81
+		display: flex;
82
+		flex-direction: column;
83
+		background-color: #ffffff;
84
+		border-radius: 30rpx;
85
+		margin-top: 20rpx;
86
+		.listItem {
87
+			width: 100%;
88
+			display: flex;
89
+			height: 50rpx;
90
+			.lable {
91
+				width: 30%;
92
+			}
93
+
94
+			.main {
95
+				width: 60%;
96
+			}
97
+		}
98
+		.btn{
99
+			margin-top: 20rpx;
100
+			width: 100%;
101
+			display: flex;
102
+			justify-content: space-between;
103
+			.btnItem{
104
+				height: 50rpx;
105
+				background-color: #5395ff;
106
+				border-radius: 10rpx;
107
+				text-align: center;
108
+				line-height: 50rpx;
109
+			}
110
+		}
111
+	}
112
+</style>

+ 113
- 11
pages/im/index.vue Просмотреть файл

1
 <template>
1
 <template>
2
-	<view class="">
3
-		<web-view :src="sendImg"></web-view>
2
+	<!-- <view class=""> -->
3
+		<!-- <web-view :src="sendImg"></web-view> -->
4
+	<!-- </view> -->
5
+	<view class="handlecase">
6
+		<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
7
+		<view class="emptyBox" v-if="caseList.length == 0">
8
+			<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
9
+		</view>
4
 	</view>
10
 	</view>
5
 </template>
11
 </template>
6
-<script>
7
-	export default {
12
+<script>
13
+	import List from './component/imList.vue'
14
+	import LuanqingEmpty from "@/components/luanqing-empty.vue"
15
+	import {
16
+		respondentList
17
+	} from '../../api/handlecase/index.js'
18
+	export default {
19
+		components: {
20
+			List,
21
+			'luanqing-empty': LuanqingEmpty,
22
+		},
8
 		data() {
23
 		data() {
9
 			return {
24
 			return {
10
 				name: "",
25
 				name: "",
11
-				sendImg: ""
26
+				sendImg: "",
27
+				caseList: [],
28
+				pageNum: 1,
29
+				pageSize: 10
12
 			}
30
 			}
13
-		},
14
-		onLoad: function() {
15
-			this.name = this.$store.state.user.name;
16
-			this.sendImg = `https://txroom.xayunmei.com/#/?name=${this.name}`
17
-			// this.sendImg = `http://localhost:8080/#/?name=${this.name}`
18
-		},
31
+		},
32
+		methods:{
33
+			getList(parms) {
34
+				respondentList(parms).then(res => {
35
+					this.caseList = res.data;
36
+					this.caseList.forEach(item => {
37
+						switch (item.caseStatus) {
38
+							case 0:
39
+								item.caseStatusName = '立案申请'
40
+								break;
41
+							case 1:
42
+								item.caseStatusName = '待缴费'
43
+								break;
44
+							case 2:
45
+								item.caseStatusName = '待缴费确认'
46
+								break;
47
+							case 3:
48
+								item.caseStatusName = '待确认是否应诉'
49
+								break;
50
+							case 4:
51
+								item.caseStatusName = '待确认证据'
52
+								break;
53
+							case 5:
54
+								item.caseStatusName = '待确定是否指派仲裁员'
55
+								break;
56
+							case 6:
57
+								item.caseStatusName = '待组庭'
58
+								break;
59
+							case 7:
60
+								item.caseStatusName = '待组庭确定'
61
+								break;
62
+							case 8:
63
+								item.caseStatusName = '待组庭审核'
64
+								break;
65
+							case 9:
66
+								item.caseStatusName = '待选择仲裁方式'
67
+								break;
68
+							case 10:
69
+								item.caseStatusName = '待开庭'
70
+								break;
71
+							case 11:
72
+								item.caseStatusName = '待生成仲裁文书'
73
+								break;
74
+							case 12:
75
+								item.caseStatusName = '待确认仲裁文书'
76
+								break;
77
+							case 13:
78
+								item.caseStatusName = '待仲裁文书用印'
79
+								break;
80
+							case 14:
81
+								item.caseStatusName = '待仲裁文书用印审核'
82
+								break;
83
+							case 15:
84
+								item.caseStatusName = '待仲裁文书送达'
85
+								break;
86
+							case 16:
87
+								item.caseStatusName = '待案件归档'
88
+								break;
89
+						}
90
+					})
91
+				})
92
+			},
93
+			// 触底
94
+			onReachBottom() {
95
+				if (this.caseList.length < 1) {
96
+					return
97
+				}
98
+				let obj = {
99
+					pageNum: this.pageNum,
100
+					pageSize: this.pageSize,
101
+					caseStatus:8
102
+				}
103
+				obj.pageNum = obj.pageNum + 1
104
+				this.getList(obj)
105
+			}
106
+		},
107
+		onLoad() {
108
+			let obj = {
109
+				pageNum: this.pageNum,
110
+				pageSize: this.pageSize,
111
+				caseStatus:8
112
+			}
113
+			
114
+			this.getList(obj)
115
+		}
116
+		// onLoad: function() {
117
+		// 	this.name = this.$store.state.user.name;
118
+		// 	this.sendImg = `https://txroom.xayunmei.com`
119
+		// 	// this.sendImg = `http://localhost:8080/#/?name=${this.name}`
120
+		// },
19
 
121
 
20
 	}
122
 	}
21
 </script>
123
 </script>

+ 1
- 1
pages/index.vue Просмотреть файл

2
   <view class="content">
2
   <view class="content">
3
     <image class="logo" src="@/static/chuizi.png"></image>
3
     <image class="logo" src="@/static/chuizi.png"></image>
4
     <view class="text-area">
4
     <view class="text-area">
5
-      <text class="title">法务系统</text>
5
+      <text class="title">仲裁系统</text>
6
     </view>
6
     </view>
7
   </view>
7
   </view>
8
 </template>
8
 </template>

+ 52
- 13
pages/login.vue Просмотреть файл

1
 <template>
1
 <template>
2
 	<view class="normal-login-container">
2
 	<view class="normal-login-container">
3
-		<view class="logo-content align-center justify-center flex">
3
+		<view class="logo-content align-center justify-center flex" v-if="logSyste==1">
4
 			<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
4
 			<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
5
 			</image>
5
 			</image>
6
-			<text class="title">法务平台</text>
6
+			<text class="title">仲裁平台</text>
7
+		</view>
8
+		<view class="logo-content align-center justify-center flex" v-if="logSyste==2">
9
+			<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
10
+			</image>
11
+			<text class="title">调解平台</text>
7
 		</view>
12
 		</view>
8
 		<view class="login-form-content">
13
 		<view class="login-form-content">
9
 			<view class="input-item flex align-center">
14
 			<view class="input-item flex align-center">
20
 				<view class="login-code">
25
 				<view class="login-code">
21
 					<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
26
 					<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
22
 				</view>
27
 				</view>
28
+			</view>
29
+			<view class="ageen-read">
30
+				<checkbox-group @change="handleAgreeChange">
31
+					<checkbox value="agree"/>
32
+					<text class="agreen-text">阅读并同意</text>
33
+					<text @click="equityNotice" class="text-blue">《权益告知书》</text>
34
+				</checkbox-group>
35
+				
23
 			</view>
36
 			</view>
24
 			<view class="action-btn">
37
 			<view class="action-btn">
25
 				<button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">登录</button>
38
 				<button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">登录</button>
51
 		data() {
64
 		data() {
52
 			return {
65
 			return {
53
 				codeUrl: "",
66
 				codeUrl: "",
54
-				captchaEnabled: true,
67
+				captchaEnabled: true,
68
+				logSyste:0,
55
 				// 用户注册开关
69
 				// 用户注册开关
56
 				register: true,
70
 				register: true,
57
 				globalConfig: getApp().globalData.config,
71
 				globalConfig: getApp().globalData.config,
58
 				loginForm: {
72
 				loginForm: {
59
-					username: "admin",
60
-					password: "admin123",
73
+					username: "",
74
+					password: "",
61
 					code: "",
75
 					code: "",
62
-					uuid: ''
63
-				}
76
+					uuid: '',
77
+					
78
+				},
79
+				isSelectAgree:[]
64
 			}
80
 			}
65
 		},
81
 		},
66
 		created() {
82
 		created() {
67
 			this.getCode()
83
 			this.getCode()
68
 		},
84
 		},
69
-		methods: {
85
+		methods: {
86
+			handleAgreeChange(e){
87
+				this.isSelectAgree = e.detail.value
88
+			},
70
 			// 用户注册
89
 			// 用户注册
71
 			handleUserRegister() {
90
 			handleUserRegister() {
72
-				this.$tab.redirectTo(`/pages/register`)
91
+				this.$tab.redirectTo(`/pages/realName`)
92
+			},
93
+			// 权益告知书
94
+			equityNotice(){
95
+				//this.$tab.redirectTo(`/pages/personalInfoCollection`)
96
+				this.$tab.navigateTo(`/pages/personalInfoCollection?title=权益告知书`)
73
 			},
97
 			},
74
 			// 隐私协议
98
 			// 隐私协议
75
 			handlePrivacy() {
99
 			handlePrivacy() {
92
 				})
116
 				})
93
 			},
117
 			},
94
 			// 登录方法
118
 			// 登录方法
95
-			async handleLogin() {
119
+			async handleLogin() {
120
+				const sysType = uni.getStorageSync('sysType')
96
 				if (this.loginForm.username === "") {
121
 				if (this.loginForm.username === "") {
97
 					this.$modal.msgError("请输入您的账号")
122
 					this.$modal.msgError("请输入您的账号")
123
+				}else if(this.isSelectAgree.length < 1){
124
+					this.$modal.msgError("请先阅读个人信息收集条款并同意")
98
 				} else if (this.loginForm.password === "") {
125
 				} else if (this.loginForm.password === "") {
99
 					this.$modal.msgError("请输入您的密码")
126
 					this.$modal.msgError("请输入您的密码")
100
 				} else if (this.loginForm.code === "" && this.captchaEnabled) {
127
 				} else if (this.loginForm.code === "" && this.captchaEnabled) {
119
 			loginSuccess(result) {
146
 			loginSuccess(result) {
120
 				// 设置用户信息
147
 				// 设置用户信息
121
 				this.$store.dispatch('GetInfo').then(res => {
148
 				this.$store.dispatch('GetInfo').then(res => {
122
-					this.$tab.reLaunch('/pages/index')
149
+					this.$tab.reLaunch('/pages/work/index')
123
 				})
150
 				})
124
-			}
151
+			},
152
+			onLoad(options){
153
+				 let vals = decodeURIComponent(options.values);
154
+				 this.logSyste = vals
155
+			}
156
+			
125
 		}
157
 		}
126
 	}
158
 	}
127
 </script>
159
 </script>
150
 		}
182
 		}
151
 
183
 
152
 		.login-form-content {
184
 		.login-form-content {
153
-			text-align: center;
185
+			// text-align: center;
154
 			margin: 20px auto;
186
 			margin: 20px auto;
155
 			margin-top: 15%;
187
 			margin-top: 15%;
156
 			width: 80%;
188
 			width: 80%;
201
 					margin-left: 10px;
233
 					margin-left: 10px;
202
 					width: 200rpx;
234
 					width: 200rpx;
203
 				}
235
 				}
236
+			}
237
+			.ageen-read{
238
+				margin-top:65rpx;
239
+				.agreen-text{
240
+					padding-left:20rpx;
241
+					color: #999;
242
+				}
204
 			}
243
 			}
205
 		}
244
 		}
206
 	}
245
 	}

+ 6
- 6
pages/mine/index.vue Просмотреть файл

27
 
27
 
28
     <view class="content-section">
28
     <view class="content-section">
29
       <view class="mine-actions grid col-4 text-center">
29
       <view class="mine-actions grid col-4 text-center">
30
-        <view class="action-item" @click="handleJiaoLiuQun">
30
+       <!-- <view class="action-item" @click="handleJiaoLiuQun">
31
           <view class="iconfont icon-friendfill text-pink icon"></view>
31
           <view class="iconfont icon-friendfill text-pink icon"></view>
32
           <text class="text">交流群</text>
32
           <text class="text">交流群</text>
33
-        </view>
33
+        </view> -->
34
         <view class="action-item" @click="handleBuilding">
34
         <view class="action-item" @click="handleBuilding">
35
           <view class="iconfont icon-service text-blue icon"></view>
35
           <view class="iconfont icon-service text-blue icon"></view>
36
           <text class="text">在线客服</text>
36
           <text class="text">在线客服</text>
52
             <view>编辑资料</view>
52
             <view>编辑资料</view>
53
           </view>
53
           </view>
54
         </view>
54
         </view>
55
-        <view class="list-cell list-cell-arrow" @click="handleHelp">
55
+        <!-- <view class="list-cell list-cell-arrow" @click="handleHelp">
56
           <view class="menu-item-box">
56
           <view class="menu-item-box">
57
             <view class="iconfont icon-help menu-icon"></view>
57
             <view class="iconfont icon-help menu-icon"></view>
58
             <view>常见问题</view>
58
             <view>常见问题</view>
59
           </view>
59
           </view>
60
-        </view>
61
-        <view class="list-cell list-cell-arrow" @click="handleAbout">
60
+        </view> -->
61
+       <!-- <view class="list-cell list-cell-arrow" @click="handleAbout">
62
           <view class="menu-item-box">
62
           <view class="menu-item-box">
63
             <view class="iconfont icon-aixin menu-icon"></view>
63
             <view class="iconfont icon-aixin menu-icon"></view>
64
             <view>关于我们</view>
64
             <view>关于我们</view>
65
           </view>
65
           </view>
66
-        </view>
66
+        </view> -->
67
         <view class="list-cell list-cell-arrow" @click="handleToSetting">
67
         <view class="list-cell list-cell-arrow" @click="handleToSetting">
68
           <view class="menu-item-box">
68
           <view class="menu-item-box">
69
             <view class="iconfont icon-setting menu-icon"></view>
69
             <view class="iconfont icon-setting menu-icon"></view>

+ 49
- 0
pages/personalInfoCollection.vue Просмотреть файл

1
+<template>
2
+	<view class="equityNotice" style="margin:0 10rpx">
3
+		
4
+		<text>
5
+			关于“个人信息收集/使用”的同意书xxxxx公司业务管理系统需要收集与使用用户的个人信息,根据《中华人民共和国网络安全法》等相关法规,特告知如下请仔细阅读并理解文本件全部内容之后,决定是否同意并使用本公司业务管理系统的各项服务;如果您仍决定使用本公司业务管理系统的各项服务,则视为您同意执行本同意书
6
+			第1条定义
7
+			“用户”:使用本公司业务管理系统的自然人
8
+			“本公司”:运营及管理业务管理系统的xxxx公司
9
+			“业务管理系统”:需要收集和使用个人信息的本公司业务管理系统,但不限于,xxxx系统等该系统的功能范围可能不断扩展、调整
10
+			“个人信息”:指以电子或其他方式记录的能够单独或与其他信息结合识别自然人身份的各种信息,包括与确定自然人相关的生物特征、位置、行为等信息,如姓名、出生日期、身份证号、个人账号信息、住址、手机号码、电话号码、指纹、虹膜等
11
+			第2条个人信息内容和目的 个人信息内容见条
12
+			收集/利用的目的识别个人信息主体 传达合同签订的主要事项提供与产品和服务相关的咨询或邀请,提供用户有利的信息,处理用户投诉等争议理履行与提供产品/服务器相关的合同以及结费用 个人信息收集最小化本公司不收集超出个人信息必须范围的个人敏感信息,例如财产、健康,生活隐私等个人敏感信息
13
+			如确有正当业务需要,应经用户同意后进行最小化的收集和存储 用户享有对个人信息的访问、更正、删除个人信息、注销账户等权利 本公司收集的个人信息不会用于直接商业营销 
14
+			第 3 条 个人信息的储存和使用时间 本公司与用户签订的合同存续期间
15
+			从个人信息收集日开始一直到业务关系终止为止
16
+			本公司获取的个人所有信息,除了以上提及的收集/使用目的或法律规定的使用目的以外,不会用于其它用途依据相关法规,如无正当的理由继续保存个人信息,或者个人信息收集使用目的已经达成,本公司会即时删除相关个人信息用户如要求删除个人信息,且相关法规规定不要求保存此类个人信息时,自接收到用户删除要求后,本公司会及时删除所有个人信息
17
+			第 4 条 拒绝同意权利
18
+			用户可拒绝接受收集和利用个人信息,但因此而无法实现与本公司的正常业务往来,甚至导致合同无法正常履行的,所带来的负面后果由用户承担,请审慎留意
19
+			用户同意签署此同意书,即表示已仔细阅读并理解以上所有事项,同意相关个人信息的收集和使用
20
+			第 5条个人信息出境
21
+			为了正常运营业务管理系统,提高业务效率,与业务管理系统相关收集和产生的个人信息需通过网络专线或其它正规渠道传送到本公司在境外的机构的对应业务管理系统
22
+			本公司在境外的机构包括:
23
+			出境目的是为正常运营业务管理系统,其中包括但不限于、品质系统、购买系统等需依赖于用户个人信息才能正常运行的系统
24
+			出境范围和内容包括但不限于用户的姓名、出生日期、身份证号、个人账号信息、住址、电话号码等通过合法途径收集的个人信息
25
+			第 6条 同意书的效力和变更
26
+			本同意书从用户同意之日起开始生效
27
+			如本同意书签署之前,用户已经使用本公司业务管理系统的,则本同意书的签署同时视为对之前已经发生的个人信息收集与利用的同意
28
+			本公司保留运营或者营业上有重要原因时,对本同意书进行修改的权利但即使修改也会在《中华人民共和国网络安全法》及其相关法规允许的范围内进行修订
29
+			如对本同意书进行修订,本公司将提前至少 7 天将修订内容、实施时间、修订原因公布在公司业务管理系统首页
30
+			6 4 用户有权利拒绝同意修订在用户拒绝同意修订的情况下,本公司有权利终止相关服务,禁止用户登录
31
+			第7条争议的解决与联系方式
32
+			本同意书的订立、执行和争议的解决均应适用中华人民共和国法律 如双方就本同意书内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均可向本公司所在地有管辖权的人民法院提起诉讼 本公司保留对同意书的解释和修改权利
33
+			本公司未行使本协议的任何权利或规定,不构成对前述权利之放弃 如本同意书中的任何条款完全或部分无效,本同意书的其余条款仍有效并且有约束力
34
+			若您对本同意书的内容、执行有其它疑问、建议、意见等,欢迎通过下列方式与本公司联系:
35
+			第 8条 附则
36
+			本同意书可通过纸质签署,亦可通过用户登录点击确认等方式签署,均具有同等法律效力
37
+		</text>
38
+		
39
+	</view>
40
+</template>
41
+
42
+<script>
43
+</script>
44
+
45
+<style lang="scss">
46
+	page {
47
+		background-color: #ffffff;
48
+	}
49
+</style>

+ 76
- 0
pages/realName.vue Просмотреть файл

1
+<template>
2
+	<view class="page-body">
3
+		<view class="action-btn">
4
+		  <button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">点击进行实名认证</button>
5
+		</view>
6
+	</view>
7
+</template>
8
+
9
+<script>
10
+	import {
11
+		startEid
12
+	} from '@/mp_ecard_sdk/main.js'
13
+	import {
14
+		getEidtoken,
15
+		sendEidtoken
16
+	} from "@/api/login.js"
17
+	export default{
18
+		data(){
19
+			return{
20
+				eidToken: ""
21
+			}
22
+		},
23
+		methods:{
24
+			// 获取eidtoken
25
+			getEidtokenFn() {
26
+				getEidtoken({}).then(res => {
27
+					this.eidToken = res.data.EidToken
28
+				})
29
+			},
30
+			// 点击实名认证
31
+			handleRegister() {
32
+				let that = this
33
+				startEid({
34
+					data: {
35
+						token: this.eidToken,
36
+					},
37
+					verifyDoneCallback(res) {
38
+						const {
39
+							token,
40
+							verifyDone
41
+						} = res;
42
+						console.log('收到核身完成的res:', res);
43
+						console.log('核身的token是:', token);
44
+						console.log('是否完成核身:', verifyDone);
45
+						sendEidtoken({
46
+							"eidToken": token
47
+						}).then(res => {
48
+							// that.certificationStatus = '1
49
+							let params = {}
50
+							params.nickName = res.data.name;
51
+							params.idCard = res.data.identityNo;
52
+							params.id = res.data.id;
53
+							console.log(params,"PPPPPPPPPPPPP");
54
+							uni.navigateTo({
55
+								url: '/pages/register?params=' + JSON.stringify(
56
+									params)
57
+							});
58
+						})
59
+					},
60
+				});
61
+			}
62
+		},
63
+		onLoad() {
64
+			this.getEidtokenFn()
65
+		},
66
+	}
67
+</script>
68
+
69
+<style lang="scss">
70
+	.page-body{
71
+		background-color: #ffffff;
72
+		.register-btn{
73
+			margin-top: 30rpx;
74
+		}
75
+	}
76
+</style>

+ 277
- 189
pages/register.vue Просмотреть файл

1
 <template>
1
 <template>
2
-  <view class="normal-login-container">
3
-    <view class="logo-content align-center justify-center flex">
4
-      <image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
5
-      </image>
6
-      <text class="title">法务系统注册</text>
7
-    </view>
8
-    <view class="login-form-content">
9
-      <view class="input-item flex align-center">
10
-        <view class="iconfont icon-user icon"></view>
11
-        <input v-model="registerForm.username" class="input" type="text" placeholder="请输入账号" maxlength="30" />
12
-      </view>
13
-      <view class="input-item flex align-center">
14
-        <view class="iconfont icon-password icon"></view>
15
-        <input v-model="registerForm.password" type="password" class="input" placeholder="请输入密码" maxlength="20" />
16
-      </view>
17
-      <view class="input-item flex align-center">
18
-        <view class="iconfont icon-password icon"></view>
19
-        <input v-model="registerForm.confirmPassword" type="password" class="input" placeholder="请输入重复密码" maxlength="20" />
20
-      </view>
21
-      <view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
22
-        <view class="iconfont icon-code icon"></view>
23
-        <input v-model="registerForm.code" type="number" class="input" placeholder="请输入验证码" maxlength="4" />
24
-        <view class="login-code"> 
25
-          <image :src="codeUrl" @click="getCode" class="login-code-img"></image>
26
-        </view>
27
-      </view>
28
-      <view class="action-btn">
29
-        <button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">注册</button>
30
-      </view>
31
-    </view>
32
-    <view class="xieyi text-center">
33
-      <text @click="handleUserLogin" class="text-blue">使用已有账号登录</text>
34
-    </view>
35
-  </view>
2
+	<view class="normal-login-container">
3
+		<view class="logo-content align-center justify-center flex">
4
+			<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
5
+			</image>
6
+			<text class="title">仲裁系统注册</text>
7
+		</view>
8
+		<view class="login-form-content">
9
+			<view class="input-item flex align-center" style="width: 60%;margin: 0px;">
10
+				<!-- <view class="iconfont icon-user icon"></view> -->
11
+				<input v-model="registerForm.phone" class="input" type="number" placeholder="请输入手机号"
12
+					maxlength="30" />
13
+				<view class="login-code">
14
+					<button class="login-code-img" type="primary" :disabled="codeDisabled"
15
+						@tap="getCodeNumber(registerForm.phone)">{{codeText}}</button>
16
+				</view>
17
+			</view>
18
+			<view class="input-item flex align-center">
19
+				<!-- <view class="iconfont icon-user icon"></view> -->
20
+				<input v-model="registerForm.verifyCode" class="input" type="number" placeholder="请输入手机验证码"
21
+					maxlength="30" />
22
+			</view>
23
+			<view class="input-item flex align-center">
24
+				<!-- <view class="iconfont icon-user icon"></view> -->
25
+				<input v-model="registerForm.identityNo" class="input" type="text" placeholder="请输入身份证号" maxlength="30" />
26
+			</view>
27
+			<view class="input-item flex align-center">
28
+				<!-- <view class="iconfont icon-user icon"></view> -->
29
+				<input v-model="registerForm.email" class="input" type="text" placeholder="请输入邮箱" maxlength="30" />
30
+			</view>
31
+			<view class="input-item flex align-center">
32
+				<!-- <view class="iconfont icon-user icon"></view> -->
33
+				<input v-model="registerForm.name" class="input" type="text" placeholder="请输入用户名" maxlength="30" />
34
+			</view>
35
+			<view class="input-item flex align-center">
36
+				<!-- <view class="iconfont icon-user icon"></view> -->
37
+				<input v-model="registerForm.userName" class="input" type="text" placeholder="请输入账号" maxlength="30" />
38
+			</view>
39
+			<view class="input-item flex align-center">
40
+				<!-- <view class="iconfont icon-password icon"></view> -->
41
+				<input v-model="registerForm.passWord" type="password" class="input" placeholder="请输入密码"
42
+					maxlength="20" />
43
+			</view>
44
+			<view class="input-item flex align-center">
45
+				<!-- <view class="iconfont icon-password icon"></view> -->
46
+				<input v-model="registerForm.confirmPassword" type="password" class="input" placeholder="请输入重复密码"
47
+					maxlength="20" />
48
+			</view>
49
+			<view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
50
+				<!-- <view class="iconfont icon-code icon"></view> -->
51
+				<input v-model="registerForm.code" type="number" class="input" placeholder="请输入验证码" maxlength="4" />
52
+				<view class="login-code">
53
+					<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
54
+				</view>
55
+			</view>
56
+			<view class="action-btn">
57
+				<button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">注册</button>
58
+			</view>
59
+		</view>
60
+		<view class="xieyi text-center">
61
+			<text @click="handleUserLogin" class="text-blue">使用已有账号登录</text>
62
+		</view>
63
+	</view>
36
 </template>
64
 </template>
37
 
65
 
38
 <script>
66
 <script>
39
-  import { getCodeImg, register } from '@/api/login'
40
-
41
-  export default {
42
-    data() {
43
-      return {
44
-        codeUrl: "",
45
-        captchaEnabled: true,
46
-        globalConfig: getApp().globalData.config,
47
-        registerForm: {
48
-          username: "",
49
-          password: "",
50
-          confirmPassword: "",
51
-          code: "",
52
-          uuid: ''
53
-        }
54
-      }
55
-    },
56
-    created() {
57
-      this.getCode()
58
-    },
59
-    methods: {
60
-      // 用户登录
61
-      handleUserLogin() {
62
-        this.$tab.navigateTo(`/pages/login`)
63
-      },
64
-      // 获取图形验证码
65
-      getCode() {
66
-        getCodeImg().then(res => {
67
-          this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
68
-          if (this.captchaEnabled) {
69
-            this.codeUrl = 'data:image/gif;base64,' + res.img
70
-            this.registerForm.uuid = res.uuid
71
-          }
72
-        })
73
-      },
74
-      // 注册方法
75
-      async handleRegister() {
76
-        if (this.registerForm.username === "") {
77
-          this.$modal.msgError("请输入您的账号")
78
-        } else if (this.registerForm.password === "") {
79
-          this.$modal.msgError("请输入您的密码")
80
-        } else if (this.registerForm.confirmPassword === "") {
81
-          this.$modal.msgError("请再次输入您的密码")
82
-        } else if (this.registerForm.password !== this.registerForm.confirmPassword) {
83
-          this.$modal.msgError("两次输入的密码不一致")
84
-        } else if (this.registerForm.code === "" && this.captchaEnabled) {
85
-          this.$modal.msgError("请输入验证码")
86
-        } else {
87
-          this.$modal.loading("注册中,请耐心等待...")
88
-          this.register()
89
-        }
90
-      },
91
-      // 用户注册
92
-      async register() {
93
-        register(this.registerForm).then(res => {
94
-          this.$modal.closeLoading()
95
-          uni.showModal({
96
-          	title: "系统提示",
97
-          	content: "恭喜你,您的账号 " + this.registerForm.username + " 注册成功!",
98
-          	success: function (res) {
99
-          		if (res.confirm) {
100
-                uni.redirectTo({ url: `/pages/login` });
101
-          		}
102
-          	}
103
-          })
104
-        }).catch(() => {
105
-          if (this.captchaEnabled) {
106
-            this.getCode()
107
-          }
108
-        })
109
-      },
110
-      // 注册成功后,处理函数
111
-      registerSuccess(result) {
112
-        // 设置用户信息
113
-        this.$store.dispatch('GetInfo').then(res => {
114
-          this.$tab.reLaunch('/pages/index')
115
-        })
116
-      }
117
-    }
118
-  }
67
+	import {
68
+		getCodeImg,
69
+		register,
70
+		sendCode,
71
+		wxregister
72
+	} from '@/api/login'
73
+
74
+	export default {
75
+		data() {
76
+			return {
77
+				codeUrl: "",
78
+				captchaEnabled: true,
79
+				globalConfig: getApp().globalData.config,
80
+				codeText: "发送验证码",
81
+				codeDisabled: false,
82
+				registerForm: {
83
+					userName: "",
84
+					passWord: "",
85
+					confirmPassword: "",
86
+					code: "",
87
+					uuid: '',
88
+					name: '',
89
+					identityNo: "",
90
+					id: ""
91
+				}
92
+			}
93
+		},
94
+		created() {
95
+			this.getCode()
96
+		},
97
+		onLoad(option) {
98
+			let {
99
+				params
100
+			} = option
101
+			// this.improvedetail = JSON.parse(improvedetail)
102
+			let paramsObj = JSON.parse(params);
103
+			this.registerForm.name = paramsObj.nickName;
104
+			this.registerForm.identityNo = paramsObj.idCard
105
+			this.registerForm.id = paramsObj.id
106
+		},
107
+		methods: {
108
+			// 获取手机验证码
109
+			getCodeNumber(data) {
110
+				sendCode({
111
+					phone: data
112
+				}).then(res => {
113
+					uni.showModal({
114
+						title: "系统提示",
115
+						content: res.msg,
116
+					})
117
+					if (res.code != 200) {
118
+						return
119
+					} else {
120
+						let time = 60;
121
+						let timer = setInterval(() => {
122
+							time--;
123
+							this.codeDisabled = true;
124
+							this.codeText = time + 's重试'
125
+							if (time == 0) {
126
+								clearInterval(timer)
127
+								this.codeText = '发送验证码'
128
+								this.codeDisabled = false;
129
+							}
130
+						}, 1000)
131
+					}
132
+
133
+				})
134
+			},
135
+			// 用户登录
136
+			handleUserLogin() {
137
+				this.$tab.navigateTo(`/pages/login`)
138
+			},
139
+			// 获取图形验证码
140
+			getCode() {
141
+				getCodeImg().then(res => {
142
+					this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
143
+					if (this.captchaEnabled) {
144
+						this.codeUrl = 'data:image/gif;base64,' + res.img
145
+						this.registerForm.uuid = res.uuid
146
+					}
147
+				})
148
+			},
149
+			// 注册方法
150
+			async handleRegister() {
151
+				if (this.registerForm.userName === "") {
152
+					this.$modal.msgError("请输入您的账号")
153
+				} else if (this.registerForm.passWord === "") {
154
+					this.$modal.msgError("请输入您的密码")
155
+				} else if (this.registerForm.confirmPassword === "") {
156
+					this.$modal.msgError("请再次输入您的密码")
157
+				} else if (this.registerForm.passWord !== this.registerForm.confirmPassword) {
158
+					this.$modal.msgError("两次输入的密码不一致")
159
+				} else if (this.registerForm.code === "" && this.captchaEnabled) {
160
+					this.$modal.msgError("请输入验证码")
161
+				} else if (this.registerForm.idCard === "") {
162
+					this.$modal.msgError("请输入身份证号码")
163
+				} else if (this.registerForm.phone === "") {
164
+					this.$modal.msgError("请输入手机号")
165
+				} else if (this.registerForm.email === "") {
166
+					this.$modal.msgError("请输入邮箱")
167
+				} else {
168
+					this.$modal.loading("注册中,请耐心等待...")
169
+					this.register()
170
+				}
171
+			},
172
+			// 用户注册
173
+			async register() {
174
+				wxregister(this.registerForm).then(res => {
175
+					this.$modal.closeLoading()
176
+					uni.showModal({
177
+						title: "系统提示",
178
+						content: "恭喜你,您的账号 " + this.registerForm.userName + " 注册成功!",
179
+						success: function(res) {
180
+							if (res.confirm) {
181
+								uni.redirectTo({
182
+									url: `/pages/login`
183
+								});
184
+							}
185
+						}
186
+					})
187
+				}).catch(() => {
188
+					if (this.captchaEnabled) {
189
+						this.getCode()
190
+					}
191
+				})
192
+			},
193
+			// 注册成功后,处理函数
194
+			registerSuccess(result) {
195
+				// 设置用户信息
196
+				this.$store.dispatch('GetInfo').then(res => {
197
+					this.$tab.reLaunch('/pages/index')
198
+				})
199
+			}
200
+		}
201
+	}
119
 </script>
202
 </script>
120
 
203
 
121
 <style lang="scss">
204
 <style lang="scss">
122
-  page {
123
-    background-color: #ffffff;
124
-  }
125
-
126
-  .normal-login-container {
127
-    width: 100%;
128
-
129
-    .logo-content {
130
-      width: 100%;
131
-      font-size: 21px;
132
-      text-align: center;
133
-      padding-top: 15%;
134
-
135
-      image {
136
-        border-radius: 4px;
137
-      }
138
-
139
-      .title {
140
-        margin-left: 10px;
141
-      }
142
-    }
143
-
144
-    .login-form-content {
145
-      text-align: center;
146
-      margin: 20px auto;
147
-      margin-top: 15%;
148
-      width: 80%;
149
-
150
-      .input-item {
151
-        margin: 20px auto;
152
-        background-color: #f5f6f7;
153
-        height: 45px;
154
-        border-radius: 20px;
155
-
156
-        .icon {
157
-          font-size: 38rpx;
158
-          margin-left: 10px;
159
-          color: #999;
160
-        }
161
-
162
-        .input {
163
-          width: 100%;
164
-          font-size: 14px;
165
-          line-height: 20px;
166
-          text-align: left;
167
-          padding-left: 15px;
168
-        }
169
-
170
-      }
171
-
172
-      .register-btn {
173
-        margin-top: 40px;
174
-        height: 45px;
175
-      }
176
-
177
-      .xieyi {
178
-        color: #333;
179
-        margin-top: 20px;
180
-      }
181
-      
182
-      .login-code {
183
-        height: 38px;
184
-        float: right;
185
-      
186
-        .login-code-img {
187
-          height: 38px;
188
-          position: absolute;
189
-          margin-left: 10px;
190
-          width: 200rpx;
191
-        }
192
-      }
193
-    }
194
-  }
195
-
196
-</style>
205
+	page {
206
+		background-color: #ffffff;
207
+	}
208
+
209
+	.normal-login-container {
210
+		width: 100%;
211
+		background-color: #ffffff;
212
+
213
+		.logo-content {
214
+			width: 100%;
215
+			font-size: 21px;
216
+			text-align: center;
217
+			padding-top: 15%;
218
+
219
+			image {
220
+				border-radius: 4px;
221
+			}
222
+
223
+			.title {
224
+				margin-left: 10px;
225
+			}
226
+		}
227
+
228
+		.login-form-content {
229
+			text-align: center;
230
+			margin: 20px auto;
231
+			margin-top: 15%;
232
+			width: 80%;
233
+
234
+			.input-item {
235
+				margin: 20px auto;
236
+				background-color: #f5f6f7;
237
+				height: 45px;
238
+				border-radius: 20px;
239
+
240
+				.icon {
241
+					font-size: 38rpx;
242
+					margin-left: 10px;
243
+					color: #999;
244
+				}
245
+
246
+				.input {
247
+					width: 100%;
248
+					font-size: 14px;
249
+					line-height: 20px;
250
+					text-align: left;
251
+					padding-left: 15px;
252
+				}
253
+
254
+			}
255
+
256
+			.register-btn {
257
+				margin-top: 40px;
258
+				height: 45px;
259
+			}
260
+
261
+			.xieyi {
262
+				color: #333;
263
+				margin-top: 20px;
264
+			}
265
+
266
+			.login-code {
267
+				height: 38px;
268
+				float: right;
269
+
270
+				.login-code-img {
271
+					height: 38px;
272
+					position: absolute;
273
+					margin-left: 10px;
274
+					width: 200rpx;
275
+					font-size: 28rpx;
276
+				}
277
+			}
278
+
279
+			.mini-btn {
280
+				height: 38px;
281
+			}
282
+		}
283
+	}
284
+</style>

+ 380
- 0
pages/signature/component/expressDelivery.vue Просмотреть файл

1
+<template>
2
+	<view class="assignrbitrators">
3
+		<view class="from">
4
+			<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
5
+				<view class="title">案件详情</view>
6
+				<view class="box">
7
+					<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
8
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
9
+							placeholder="" />
10
+					</uni-forms-item>
11
+					<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
12
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
13
+							placeholder="" />
14
+					</uni-forms-item>
15
+					<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
16
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
17
+							placeholder="" />
18
+					</uni-forms-item>
19
+					<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
20
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
21
+							placeholder="" />
22
+					</uni-forms-item>
23
+					<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
24
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
25
+							placeholder="" />
26
+					</uni-forms-item>
27
+					<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
28
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
29
+							placeholder="" />
30
+					</uni-forms-item>
31
+					<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
32
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
33
+							placeholder="" />
34
+					</uni-forms-item>
35
+					<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
36
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
37
+							placeholder="" />
38
+					</uni-forms-item>
39
+					<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
40
+						<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
41
+							placeholder="" />
42
+					</uni-forms-item>
43
+					<uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
44
+						<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
45
+							:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
46
+					</uni-forms-item>
47
+					<uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
48
+						<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
49
+							:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
50
+					</uni-forms-item>
51
+					<uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
52
+						<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
53
+							:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
54
+					</uni-forms-item>
55
+					<uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
56
+						<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
57
+					</uni-forms-item>
58
+				</view>
59
+			</uni-forms>
60
+			<view class="uni-list" v-if="selectFlag">
61
+				<checkbox-group @change="checkboxChange">
62
+					<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
63
+						<view>
64
+							<checkbox :value="item.id + ''" />
65
+						</view>
66
+						<view class="main">
67
+							<view class="">
68
+								仲裁员姓名:{{item.arbitratorName}}
69
+							</view>
70
+							<view class="">
71
+								当前案件数量:{{item.currentCaseNum}}
72
+							</view>
73
+							<view class="">
74
+								已结案数量:{{item.closedCaseNum}}
75
+							</view>
76
+							<view class="">
77
+								专业分类:{{item.professiClassifi}}
78
+							</view>
79
+						</view>
80
+					</label>
81
+				</checkbox-group>
82
+			</view>
83
+			<button type="primary" @click="submitImg">确认提交</button>
84
+		</view>
85
+
86
+	</view>
87
+</template>
88
+
89
+<script>
90
+	import {
91
+		respondentDetail,
92
+		arbitratorList,
93
+		evidenceCrossexami
94
+	} from '../../../api/handlecase/index.js'
95
+	import {
96
+		uploadImage
97
+	} from '../../../api/upload.js'
98
+	import {
99
+		getToken
100
+	} from '@/utils/auth'
101
+	import moment from 'moment'
102
+	const app = getApp()
103
+	export default {
104
+		data() {
105
+			return {
106
+				formData: {},
107
+				subnitForm: {},
108
+				selectFlag: false,
109
+				caseFlag: false,
110
+				tempFilePaths: null,
111
+				rules: {
112
+					// 是否有异议需要举证
113
+					objectionAddEviden: {
114
+						rules: [{
115
+							required: true,
116
+							errorMessage: '请选择'
117
+						}]
118
+					},
119
+					// 是否需要开庭审理
120
+					openCourtHear: {
121
+						rules: [{
122
+							required: true,
123
+							errorMessage: '请选择'
124
+						}]
125
+					},
126
+					// 是否指派仲裁员
127
+					pendingAppointArbotrar: {
128
+						rules: [{
129
+							required: true,
130
+							errorMessage: '请选择'
131
+						}]
132
+					},
133
+				},
134
+				maintenancetypeArr: [{
135
+					text: '是',
136
+					value: 1
137
+				}, {
138
+					text: '否',
139
+					value: 0
140
+				}, ],
141
+				arbitrationmethodArr: [{
142
+					text: '是',
143
+					value: 1
144
+				}, {
145
+					text: '否',
146
+					value: 0
147
+				}],
148
+				uploadEvidence: [{
149
+					text: '是',
150
+					value: 1
151
+				}, {
152
+					text: '否',
153
+					value: 0
154
+				}],
155
+				items: []
156
+			}
157
+		},
158
+		methods: {
159
+			arbitrationmethod() {},
160
+			uploadEvidenceChange(val) {
161
+				let flag = val.detail.value;
162
+				if (flag == 1) {
163
+					this.caseFlag = true;
164
+				} else if (flag == 0) {
165
+					this.caseFlag = false;
166
+				}
167
+			},
168
+			maintenancetypeChange(val) {
169
+				let flag = val.detail.value;
170
+				if (flag == 1) {
171
+					this.selectFlag = true
172
+					this.getArbitratorList()
173
+				} else {
174
+					this.selectFlag = false
175
+				}
176
+			},
177
+			checkboxChange(e) {
178
+				let idArr = e.detail.value;
179
+				let numberArray = idArr.map(str => parseInt(str));
180
+				const result = this.items.filter(item => numberArray.includes(item.id));
181
+				let arbitrators = []
182
+				result.forEach(item => {
183
+					arbitrators.push({
184
+						id: item.id,
185
+						arbitratorName: item.arbitratorName
186
+					})
187
+				})
188
+				this.subnitForm.arbitrators = arbitrators;
189
+			},
190
+			getData(parms) {
191
+				respondentDetail(parms).then(res => {
192
+					this.formData = res.data
193
+					this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
194
+					this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
195
+						'YYYY-MM-DD HH:mm:ss');
196
+					this.formData.id = this.formData.id + ''
197
+				})
198
+			},
199
+			// 文件上传
200
+			select(e) {
201
+				this.tempFilePaths = e.tempFilePaths;
202
+				// loading
203
+				uni.showLoading({
204
+					title: '上传中'
205
+				});
206
+				uni.uploadFile({
207
+					url: getApp().globalData.requestUrl + uploadImage,
208
+					filePath: this.tempFilePaths[0],
209
+					header: {
210
+						Authorization: getToken() || '',
211
+					},
212
+					formData: {
213
+						annexType: 6,
214
+						id: this.formData.id
215
+					},
216
+					name: 'file',
217
+					success: (res) => {
218
+						let {
219
+							data
220
+						} = res
221
+						uni.showToast({
222
+							title: '上传成功',
223
+							icon: 'none',
224
+							duration: 1000
225
+						})
226
+						uni.hideLoading();
227
+					},
228
+					fail: (err) => {
229
+						uni.showToast({
230
+							title: '上传失败',
231
+							icon: 'none',
232
+							duration: 1000
233
+						})
234
+						uni.hideLoading()
235
+					}
236
+				})
237
+			},
238
+			// 获取仲裁员列表
239
+			getArbitratorList() {
240
+				arbitratorList().then(res => {
241
+					this.items = res.rows;
242
+				})
243
+			},
244
+			// 提交数据
245
+			evidenceCrossexamiFn(parms) {
246
+				evidenceCrossexami(parms).then(res => {
247
+					uni.showToast({
248
+						title: '提交成功',
249
+						icon: 'none',
250
+						duration: 1000
251
+					})
252
+					uni.navigateTo({
253
+						url: '/pages/handlecase/index'
254
+					})
255
+				})
256
+			},
257
+			submitImg() {
258
+				this.$refs.form.validate().then(res => {
259
+					this.evidenceCrossexamiFn(this.subnitForm)
260
+				}).catch(err => {
261
+					console.log('表单错误信息:', err);
262
+				})
263
+			}
264
+		},
265
+		onLoad(data) {
266
+			this.getData(data.id);
267
+			this.subnitForm.caseId = Number(data.id);
268
+			// this.getArbitratorList()
269
+		},
270
+	}
271
+</script>
272
+
273
+<style lang="scss">
274
+	.assignrbitrators {
275
+		// text-align: center;
276
+		padding: 20rpx;
277
+
278
+		.box {
279
+			background-color: #fff;
280
+			padding: 20rpx;
281
+			border-radius: 20rpx;
282
+		}
283
+
284
+		.flexd {
285
+			padding-top: 20rpx;
286
+
287
+			.btn {
288
+				width: 80%;
289
+				font-size: 26rpx;
290
+				border-radius: 60rpx;
291
+			}
292
+		}
293
+
294
+		.btn {
295
+			margin-top: 20rpx;
296
+		}
297
+
298
+		.select-picker {
299
+			display: flex;
300
+			box-sizing: border-box;
301
+			flex-direction: row;
302
+			align-items: center;
303
+			border: 1px solid #DCDFE6;
304
+			border-radius: 8rpx;
305
+			width: 100%;
306
+			height: 100%;
307
+			padding: 0 24rpx;
308
+			font-size: 28rpx;
309
+		}
310
+
311
+		.table-content {
312
+			background-color: #fff;
313
+			padding: 20rpx;
314
+			border-radius: 20rpx;
315
+
316
+			.none {
317
+				font-size: 24rpx;
318
+				height: 60rpx;
319
+				line-height: 60rpx;
320
+			}
321
+		}
322
+
323
+		.box {
324
+			/deep/.title {
325
+				font-size: 28rpx;
326
+				height: 60rpx;
327
+				line-height: 60rpx;
328
+			}
329
+		}
330
+
331
+		.htmltitle {
332
+			font-size: 30rpx;
333
+			height: 80rpx;
334
+			line-height: 80rpx;
335
+			display: flex;
336
+			justify-content: space-between;
337
+
338
+			.look {
339
+				color: #0D91F9;
340
+			}
341
+		}
342
+
343
+		.title {
344
+			font-size: 30rpx;
345
+			height: 80rpx;
346
+			line-height: 80rpx;
347
+		}
348
+
349
+		.adsTitle {
350
+			font-size: 30rpx;
351
+		}
352
+
353
+		.multiple {
354
+			width: 75%;
355
+			height: 72rpx;
356
+			line-height: 72rpx;
357
+			font-size: 24rpx;
358
+			// @include text-overflow($width: 100%)
359
+		}
360
+
361
+		.uni-list {
362
+			width: 100%;
363
+			margin-top: 20rpx;
364
+
365
+			.uni-list-cell {
366
+				border-radius: 30rpx;
367
+				margin-bottom: 10rpx;
368
+				display: flex;
369
+				align-items: center;
370
+				justify-content: flex-start;
371
+				background-color: #fff;
372
+
373
+				.main {
374
+					height: 100%;
375
+					margin-left: 20rpx;
376
+				}
377
+			}
378
+		}
379
+	}
380
+</style>

+ 105
- 0
pages/signature/component/list.vue Просмотреть файл

1
+<template>
2
+	<view class="list">
3
+		<view class="listItem">
4
+			<view class="lable">
5
+				案件编号:
6
+			</view>
7
+			<view class="main">
8
+				{{defalutVal.caseNum}}
9
+			</view>
10
+		</view>
11
+		<view class="listItem">
12
+			<view class="lable">
13
+				申请人姓名:
14
+			</view>
15
+			<view class="main">
16
+				{{defalutVal.applicantName}}
17
+			</view>
18
+		</view>
19
+		<view class="listItem">
20
+			<view class="lable">
21
+				被申请人姓名:
22
+			</view>
23
+			<view class="main">
24
+				{{defalutVal.respondentName}}
25
+			</view>
26
+		</view>
27
+		<view class="listItem">
28
+			<view class="lable">
29
+				案件状态:
30
+			</view>
31
+			<view class="main">
32
+				{{defalutVal.caseStatusName}}
33
+			</view>
34
+		</view>
35
+		<view class="btn">
36
+			<button class="btnItem" type="primary" size="mini" @tap="uploadEvidence">在线签字</button>
37
+			<!-- <button class="btnItem" type="primary" size="mini" @tap="confirmationEvidence" v-if="defalutVal.caseStatus == 4">确认证据</button>
38
+			<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators" v-if="defalutVal.caseStatus == 5">是否指派仲裁员</button>
39
+			<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
40
+			<button class="btnItem" type="primary" size="mini" @tap="chooseMethod" v-if="defalutVal.caseStatus == 9">选择仲裁方式</button> -->
41
+		</view>
42
+	</view>
43
+</template>
44
+
45
+<script>
46
+	export default{
47
+		data(){
48
+			return{
49
+				
50
+			}
51
+		},
52
+		props:{
53
+			defalutVal:{
54
+				type:Object,
55
+				default:() => {}
56
+			}
57
+		},
58
+		methods:{
59
+			// // 查看快递
60
+			uploadEvidence(){
61
+				uni.navigateTo({
62
+					// url:`/pages/expressDelivery/component/expressDelivery?id=${this.defalutVal.id}`
63
+					url:`/pages/expressDelivery/component/expressDelivery?id=61`
64
+				})
65
+			},
66
+		}
67
+	}
68
+</script>
69
+
70
+<style lang="scss" scoped>
71
+	.list {
72
+		padding: 15rpx;
73
+		display: flex;
74
+		flex-direction: column;
75
+		background-color: #ffffff;
76
+		border-radius: 30rpx;
77
+		margin-top: 20rpx;
78
+		.listItem {
79
+			width: 100%;
80
+			display: flex;
81
+			height: 50rpx;
82
+
83
+			.lable {
84
+				width: 30%;
85
+			}
86
+
87
+			.main {
88
+				width: 60%;
89
+			}
90
+		}
91
+		.btn{
92
+			margin-top: 20rpx;
93
+			width: 100%;
94
+			display: flex;
95
+			justify-content: space-between;
96
+			.btnItem{
97
+				height: 50rpx;
98
+				background-color: #5395ff;
99
+				border-radius: 10rpx;
100
+				text-align: center;
101
+				line-height: 50rpx;
102
+			}
103
+		}
104
+	}
105
+</style>

+ 125
- 0
pages/signature/index.vue Просмотреть файл

1
+<template>
2
+	<view class="handlecase">
3
+		<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
4
+		<view class="emptyBox" v-if="caseList.length == 0">
5
+			<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
6
+		</view>
7
+	</view>
8
+</template>
9
+
10
+<script>
11
+	import List from './component/list.vue'
12
+	import {
13
+		caseApplicationList
14
+	} from '../../api/handlecase/index.js'
15
+	import LuanqingEmpty from "@/components/luanqing-empty.vue"
16
+	export default {
17
+		components: {
18
+			List,
19
+			'luanqing-empty': LuanqingEmpty,
20
+		},
21
+		data() {
22
+			return {
23
+				caseList: [],
24
+				pageNum: 1,
25
+				pageSize: 10
26
+			}
27
+		},
28
+		methods: {
29
+			getList(parms) {
30
+				uni.showLoading()
31
+				caseApplicationList(parms).then(res => {
32
+					uni.hideLoading()
33
+					this.caseList = res.rows;
34
+					this.caseList.forEach(item => {
35
+						switch (item.caseStatus) {
36
+							case 0:
37
+								item.caseStatusName = '立案申请'
38
+								break;
39
+							case 1:
40
+								item.caseStatusName = '待缴费'
41
+								break;
42
+							case 2:
43
+								item.caseStatusName = '待缴费确认'
44
+								break;
45
+							case 3:
46
+								item.caseStatusName = '待确认是否应诉'
47
+								break;
48
+							case 4:
49
+								item.caseStatusName = '待确认证据'
50
+								break;
51
+							case 5:
52
+								item.caseStatusName = '待确定是否指派仲裁员'
53
+								break;
54
+							case 6:
55
+								item.caseStatusName = '待组庭'
56
+								break;
57
+							case 7:
58
+								item.caseStatusName = '待组庭确定'
59
+								break;
60
+							case 8:
61
+								item.caseStatusName = '待组庭审核'
62
+								break;
63
+							case 9:
64
+								item.caseStatusName = '待选择仲裁方式'
65
+								break;
66
+							case 10:
67
+								item.caseStatusName = '待开庭'
68
+								break;
69
+							case 11:
70
+								item.caseStatusName = '待生成仲裁文书'
71
+								break;
72
+							case 12:
73
+								item.caseStatusName = '待确认仲裁文书'
74
+								break;
75
+							case 13:
76
+								item.caseStatusName = '待仲裁文书用印'
77
+								break;
78
+							case 14:
79
+								item.caseStatusName = '待仲裁文书用印审核'
80
+								break;
81
+							case 15:
82
+								item.caseStatusName = '待仲裁文书送达'
83
+								break;
84
+							case 16:
85
+								item.caseStatusName = '待案件归档'
86
+								break;
87
+						}
88
+					})
89
+				})
90
+			},
91
+			// 触底
92
+			onReachBottom() {
93
+				if (this.caseList.length < 1) {
94
+					return
95
+				}
96
+				let obj = {
97
+					caseStatusList: [13],
98
+					pageNum: this.pageNum,
99
+					pageSize: this.pageSize
100
+				}
101
+				obj.pageNum = obj.pageNum + 1
102
+				this.getList(obj)
103
+			}
104
+		},
105
+		onLoad() {
106
+			let obj = {
107
+				caseStatusList: [13],
108
+				pageNum: this.pageNum,
109
+				pageSize: this.pageSize
110
+			}
111
+			this.getList(obj)
112
+		}
113
+	}
114
+</script>
115
+
116
+<style lang="scss">
117
+	.handlecase {
118
+		.caseList {
119
+			// height: 360rpx;
120
+			// background-color: #ffffff;
121
+			// border-radius: 30rpx;
122
+			// margin-top: 20rpx;
123
+		}
124
+	}
125
+</style>

+ 39
- 0
pages/switchSystem.vue Просмотреть файл

1
+<template>
2
+	<view class="" style="margin:300rpx auto;width:80%;">
3
+		<view class="button-sp-area">
4
+			<button @tap="logarBitration(1)" class="login-btn cu-btn block bg-blue lg round">登录仲裁系统</button>
5
+		</view>
6
+		<view class="action-btn"style="margin-top:100rpx">
7
+			<button @tap="logarBitration(2)" class="login-btn cu-btn block bg-blue lg round">登录调解系统</button>	
8
+		</view>
9
+	</view>
10
+</template>
11
+
12
+<script>
13
+	export default {
14
+		data(){
15
+			return {
16
+				
17
+			}
18
+		},
19
+		methods:{
20
+			// 登录仲裁调节系统
21
+			logarBitration(val){
22
+				uni.setStorageSync('sysType',val)
23
+				let params ={values:val}
24
+				let url ='/pages/login?values='+encodeURIComponent(params.values)
25
+				uni.navigateTo({ url })
26
+			}
27
+	
28
+		},
29
+		onShow() {
30
+			uni.removeStorageSync('sysType')
31
+		}
32
+	}
33
+</script>
34
+
35
+<style lang="scss">
36
+	page {
37
+		background-color: #ffffff;
38
+	}
39
+</style>

+ 43
- 31
pages/work/index.vue Просмотреть файл

12
 		</uni-swiper-dot>
12
 		</uni-swiper-dot>
13
 
13
 
14
 		<!-- 宫格组件 -->
14
 		<!-- 宫格组件 -->
15
-		<uni-section v-if="certificationStatus == '已认证'" class="uni-section" title="系统管理" type="line">
15
+		<!-- <uni-section v-if="certificationStatus == '1'" class="uni-section" title="系统管理" type="line">
16
 			<template v-slot:right>
16
 			<template v-slot:right>
17
-				{{certificationStatus}}
17
+				已认证
18
 			</template>
18
 			</template>
19
 		</uni-section>
19
 		</uni-section>
20
 		<uni-section v-else class="uni-section" title="系统管理" type="line" @click="certification">
20
 		<uni-section v-else class="uni-section" title="系统管理" type="line" @click="certification">
21
 			<template v-slot:right>
21
 			<template v-slot:right>
22
-				{{certificationStatus}}
22
+				未认证
23
 			</template>
23
 			</template>
24
-		</uni-section>
24
+		</uni-section> -->
25
 		<!-- <uni-section class="uni-section" title="系统管理" type="line"></uni-section> -->
25
 		<!-- <uni-section class="uni-section" title="系统管理" type="line"></uni-section> -->
26
 		<view class="grid-body">
26
 		<view class="grid-body">
27
 			<uni-grid :column="4" :showBorder="false">
27
 			<uni-grid :column="4" :showBorder="false">
28
 				<uni-grid-item>
28
 				<uni-grid-item>
29
 					<view class="grid-item-box" @tap="changeGrid(0)">
29
 					<view class="grid-item-box" @tap="changeGrid(0)">
30
-						<uni-icons type="compose" size="30" color="#327DD7"></uni-icons>
31
-						<text class="text">办案件</text>
30
+						<uni-icons type="calendar-filled" size="30" color="#327DD7"></uni-icons>
31
+						<text class="text">办案件</text>
32
 					</view>
32
 					</view>
33
 				</uni-grid-item>
33
 				</uni-grid-item>
34
 				<!-- <uni-grid-item>
34
 				<!-- <uni-grid-item>
58
 				<uni-grid-item>
58
 				<uni-grid-item>
59
 					<view class="grid-item-box" @tap="changeGrid(5)">
59
 					<view class="grid-item-box" @tap="changeGrid(5)">
60
 						<uni-icons type="bars" size="30" color="#327DD7"></uni-icons>
60
 						<uni-icons type="bars" size="30" color="#327DD7"></uni-icons>
61
-						<text class="text">互联网庭</text>
61
+						<text class="text">视频审理</text>
62
 					</view>
62
 					</view>
63
 				</uni-grid-item>
63
 				</uni-grid-item>
64
-				<!-- <uni-grid-item>
64
+				<uni-grid-item>
65
 					<view class="grid-item-box" @tap="changeGrid(6)">
65
 					<view class="grid-item-box" @tap="changeGrid(6)">
66
-						<uni-icons type="gear-filled" size="30" color="#327DD7"></uni-icons>
67
-						<text class="text">在线撤诉</text>
66
+						<uni-icons type="email-filled" size="30" color="#327DD7"></uni-icons>
67
+						<text class="text">查询快递</text>
68
 					</view>
68
 					</view>
69
 				</uni-grid-item>
69
 				</uni-grid-item>
70
-				<uni-grid-item>
70
+				<!-- <uni-grid-item>
71
 					<view class="grid-item-box" @tap="changeGrid(7)">
71
 					<view class="grid-item-box" @tap="changeGrid(7)">
72
-						<uni-icons type="chat-filled" size="30" color="#327DD7"></uni-icons>
73
-						<text class="text">笔录签字</text>
72
+						<uni-icons type="compose" size="30" color="#327DD7"></uni-icons>
73
+						<text class="text">在线签字</text>
74
 					</view>
74
 					</view>
75
-				</uni-grid-item>
76
-				<uni-grid-item>
75
+				</uni-grid-item> -->
76
+				<!-- <uni-grid-item>
77
 					<view class="grid-item-box" @tap="changeGrid(8)">
77
 					<view class="grid-item-box" @tap="changeGrid(8)">
78
 						<uni-icons type="wallet-filled" size="30" color="#327DD7"></uni-icons>
78
 						<uni-icons type="wallet-filled" size="30" color="#327DD7"></uni-icons>
79
 						<text class="text">仲裁文书</text>
79
 						<text class="text">仲裁文书</text>
113
 						image: 'https://img.tukuppt.com/bg_grid/00/81/07/DGEl4suqeV.jpg!/fh/350'
113
 						image: 'https://img.tukuppt.com/bg_grid/00/81/07/DGEl4suqeV.jpg!/fh/350'
114
 					}
114
 					}
115
 				],
115
 				],
116
-				certificationStatus: "未认证",
116
+				certificationStatus: "",
117
 				eidToken: ""
117
 				eidToken: ""
118
 			}
118
 			}
119
 		},
119
 		},
126
 			},
126
 			},
127
 			changeGrid(e) {
127
 			changeGrid(e) {
128
 				// this.$modal.showToast('模块建设中~')
128
 				// this.$modal.showToast('模块建设中~')
129
-				if (this.certificationStatus == "未认证") {
130
-					uni.showToast({
131
-						title: '请先完成实名认证',
132
-						icon: 'none',
133
-						duration: 1000
134
-					})
135
-					return
136
-				}
129
+				// if (this.certificationStatus == "0") {
130
+				// 	uni.showToast({
131
+				// 		title: '请先完成实名认证',
132
+				// 		icon: 'none',
133
+				// 		duration: 1000
134
+				// 	})
135
+				// 	return
136
+				// }
137
 				switch (e) {
137
 				switch (e) {
138
 					case 0:
138
 					case 0:
139
 						uni.navigateTo({
139
 						uni.navigateTo({
145
 							url: ('/pages/im/index')
145
 							url: ('/pages/im/index')
146
 						})
146
 						})
147
 						break;
147
 						break;
148
+					case 6:
149
+						uni.navigateTo({
150
+							url: ('/pages/expressDelivery/index')
151
+						})
152
+						break;
153
+					case 7:
154
+						uni.navigateTo({
155
+							url: ('/pages/signature/index')
156
+						})
157
+						break;	
148
 					default:
158
 					default:
149
 						break;
159
 						break;
150
 				}
160
 				}
152
 			// 获取eidtoken
162
 			// 获取eidtoken
153
 			getEidtokenFn() {
163
 			getEidtokenFn() {
154
 				getEidtoken({}).then(res => {
164
 				getEidtoken({}).then(res => {
155
-					console.log(res.data.eidToken, "kkkkkkkkk");
156
-					this.eidToken = res.data.eidToken
165
+					console.log(res.data.EidToken, "kkkkkkkkk");
166
+					this.eidToken = res.data.EidToken
157
 				})
167
 				})
158
 			},
168
 			},
159
 			// 点击实名认证
169
 			// 点击实名认证
177
 						sendEidtoken({
187
 						sendEidtoken({
178
 							"eidToken": token
188
 							"eidToken": token
179
 						}).then(res => {
189
 						}).then(res => {
180
-							that.certificationStatus = '已认证'
190
+							that.certificationStatus = '1'
181
 						})
191
 						})
182
-						// flagShow = '已认证'
183
-						// console.log(flagShow, "JKJJKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKk");
184
-						// console.log(this, "PPPPPPPPPPPPPPP");
185
-
186
 					},
192
 					},
187
 				});
193
 				});
188
 			}
194
 			}
189
 		},
195
 		},
190
 		onLoad() {
196
 		onLoad() {
197
+			// sendEidtoken({
198
+			// 	"eidToken": 'C0339AE1-7B30-4DB9-B1E4-35A10F45249B'
199
+			// }).then(res => {
200
+			// 	// that.certificationStatus = '已认证'
201
+			// })
191
 			this.getEidtokenFn()
202
 			this.getEidtokenFn()
203
+			// this.certificationStatus = uni.getStorageSync('certificationStatus')
192
 		},
204
 		},
193
 	}
205
 	}
194
 </script>
206
 </script>

+ 4
- 3
permission.js Просмотреть файл

1
 import { getToken } from '@/utils/auth'
1
 import { getToken } from '@/utils/auth'
2
-
2
+//跳转页面
3
+const loginPage = "/pages/switchSystem"
3
 // 登录页面
4
 // 登录页面
4
-const loginPage = "/pages/login"
5
+// const loginPage = "/pages/login"
5
   
6
   
6
 // 页面白名单
7
 // 页面白名单
7
 const whiteList = [
8
 const whiteList = [
8
-  '/pages/login', '/pages/register', '/pages/common/webview/index'
9
+'/pages/switchSystem', '/pages/login', '/pages/register', '/pages/common/webview/index','/pages/realName','/mp_ecard_sdk/index/index', '/pages/personalInfoCollection'
9
 ]
10
 ]
10
 
11
 
11
 // 检查地址白名单
12
 // 检查地址白名单

+ 1
- 0
store/modules/user.js Просмотреть файл

57
 			return new Promise((resolve, reject) => {
57
 			return new Promise((resolve, reject) => {
58
 				login(username, password, code, uuid).then(res => {
58
 				login(username, password, code, uuid).then(res => {
59
 					setToken(res.token)
59
 					setToken(res.token)
60
+					uni.setStorageSync("certificationStatus",res.certificationStatus)
60
 					commit('SET_TOKEN', res.token)
61
 					commit('SET_TOKEN', res.token)
61
 					resolve()
62
 					resolve()
62
 				}).catch(error => {
63
 				}).catch(error => {

+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-list/components/uni-list-item/uni-list-item.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-list/components/uni-list/uni-list.js.map
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 10
- 38
unpackage/dist/dev/mp-weixin/app.json Просмотреть файл

2
   "pages": [
2
   "pages": [
3
     "pages/login",
3
     "pages/login",
4
     "pages/register",
4
     "pages/register",
5
-    "pages/index",
6
     "pages/work/index",
5
     "pages/work/index",
7
-    "pages/mine/index",
8
-    "pages/mine/avatar/index",
9
-    "pages/mine/info/index",
10
-    "pages/mine/info/edit",
11
-    "pages/mine/pwd/index",
12
-    "pages/mine/setting/index",
13
-    "pages/mine/help/index",
14
-    "pages/mine/about/index",
15
-    "pages/common/webview/index",
16
-    "pages/common/textview/index",
17
     "pages/handlecase/index",
6
     "pages/handlecase/index",
18
     "pages/handlecase/component/uploadEvidence",
7
     "pages/handlecase/component/uploadEvidence",
8
+    "pages/handlecase/component/evidenceList",
9
+    "pages/handlecase/component/obligations",
10
+    "pages/expressDelivery/index",
11
+    "pages/expressDelivery/component/expressDelivery",
12
+    "pages/signature/index",
13
+    "pages/signature/component/expressDelivery",
19
     "mp_ecard_sdk/index/index",
14
     "mp_ecard_sdk/index/index",
20
     "mp_ecard_sdk/protocol/eid/eid",
15
     "mp_ecard_sdk/protocol/eid/eid",
21
     "mp_ecard_sdk/protocol/privacy/privacy",
16
     "mp_ecard_sdk/protocol/privacy/privacy",
22
     "mp_ecard_sdk/protocol/service/service",
17
     "mp_ecard_sdk/protocol/service/service",
23
     "mp_ecard_sdk/protocol/userAccredit/userAccredit",
18
     "mp_ecard_sdk/protocol/userAccredit/userAccredit",
24
-    "pages/im/index"
19
+    "pages/im/index",
20
+    "pages/realName",
21
+    "pages/personalInfoCollection",
22
+    "pages/im/component/imHome"
25
   ],
23
   ],
26
   "subPackages": [],
24
   "subPackages": [],
27
   "window": {
25
   "window": {
29
     "navigationBarTitleText": "RuoYi",
27
     "navigationBarTitleText": "RuoYi",
30
     "navigationBarBackgroundColor": "#FFFFFF"
28
     "navigationBarBackgroundColor": "#FFFFFF"
31
   },
29
   },
32
-  "tabBar": {
33
-    "color": "#000000",
34
-    "selectedColor": "#000000",
35
-    "borderStyle": "white",
36
-    "backgroundColor": "#ffffff",
37
-    "list": [
38
-      {
39
-        "pagePath": "pages/index",
40
-        "iconPath": "static/images/tabbar/home.png",
41
-        "selectedIconPath": "static/images/tabbar/home_.png",
42
-        "text": "首页"
43
-      },
44
-      {
45
-        "pagePath": "pages/work/index",
46
-        "iconPath": "static/images/tabbar/work.png",
47
-        "selectedIconPath": "static/images/tabbar/work_.png",
48
-        "text": "工作台"
49
-      },
50
-      {
51
-        "pagePath": "pages/mine/index",
52
-        "iconPath": "static/images/tabbar/mine.png",
53
-        "selectedIconPath": "static/images/tabbar/mine_.png",
54
-        "text": "我的"
55
-      }
56
-    ]
57
-  },
58
   "permission": {},
30
   "permission": {},
59
   "usingComponents": {}
31
   "usingComponents": {}
60
 }
32
 }

+ 2
- 3
unpackage/dist/dev/mp-weixin/project.config.json Просмотреть файл

15
       "ignore": [],
15
       "ignore": [],
16
       "disablePlugins": [],
16
       "disablePlugins": [],
17
       "outputPath": ""
17
       "outputPath": ""
18
-    },
19
-    "condition": false
18
+    }
20
   },
19
   },
21
   "compileType": "miniprogram",
20
   "compileType": "miniprogram",
22
-  "libVersion": "3.1.1",
21
+  "libVersion": "3.0.1",
23
   "appid": "wx91cb8459dca561b4",
22
   "appid": "wx91cb8459dca561b4",
24
   "projectname": "智慧仲裁",
23
   "projectname": "智慧仲裁",
25
   "condition": {},
24
   "condition": {},

+ 8
- 5
utils/request.js Просмотреть файл

5
 import { toast, showConfirm, tansParams } from '@/utils/common'
5
 import { toast, showConfirm, tansParams } from '@/utils/common'
6
 
6
 
7
 let timeout = 10000
7
 let timeout = 10000
8
-const baseUrl = config.baseUrl
9
-
10
-const request = config => {
8
+const baseUrlZC = config.baseUrlZC
9
+const baseUrlTJ = config.baseUrlTJ
10
+const request = config => {
11
+  const sysType = uni.getStorageSync('sysType')
12
+  
11
   // 是否需要设置 token
13
   // 是否需要设置 token
12
   const isToken = (config.headers || {}).isToken === false
14
   const isToken = (config.headers || {}).isToken === false
13
   config.header = config.header || {}
15
   config.header = config.header || {}
20
     url = url.slice(0, -1)
22
     url = url.slice(0, -1)
21
     config.url = url
23
     config.url = url
22
   }
24
   }
23
-  return new Promise((resolve, reject) => {
25
+  return new Promise((resolve, reject) => {
26
+	const reqURL = sysType == 1 ? baseUrlZC : baseUrlTJ
24
     uni.request({
27
     uni.request({
25
         method: config.method || 'get',
28
         method: config.method || 'get',
26
         timeout: config.timeout ||  timeout,
29
         timeout: config.timeout ||  timeout,
27
-        url: config.baseUrl || baseUrl + config.url,
30
+        url: config.baseUrl || reqURL + config.url,
28
         data: config.data,
31
         data: config.data,
29
         header: config.header,
32
         header: config.header,
30
         dataType: 'json'
33
         dataType: 'json'