This commit is contained in:
hanchaobo
2024-01-22 10:23:53 +08:00
39 changed files with 3241 additions and 507 deletions
+3 -2
View File
@@ -9,7 +9,8 @@
} from './mp_ecard_sdk/main';
export default {
globalData: {
requestUrl: 'https://www.api.xayunmei.com/API',
// requestUrl: 'https://api.xayunmei.com/zhongcaiapi',
requestUrl: 'http://121.40.189.20:9001',
},
onLaunch: function() {
this.initApp();
@@ -31,7 +32,7 @@
},
checkLogin() {
if (!getToken()) {
this.$tab.reLaunch('/pages/login')
this.$tab.reLaunch('/pages/switchSystem')
}
}
}
+16
View File
@@ -37,4 +37,20 @@ export function evidenceCrossexami(data) {
method: 'post',
data:data
})
}
// 查询物流信息
export function logistics(data) {
return request({
'url': `/adjudication/logistics`,
method: 'get',
data:data
})
}
// 查询案件列表
export function caseApplicationList(data) {
return request({
'url': `/caseApplication/list`,
method: 'get',
params:data
})
}
+20
View File
@@ -73,4 +73,24 @@ export function sendEidtoken(data) {
method: 'post',
data: data
})
}
// 获取手机验证码
export function sendCode(data) {
return request({
'url': '/weChatUser/sendCode',
method: 'get',
params:data
})
}
// 注册方法
export function wxregister(data) {
return request({
url: '/weChatUser/registerUser',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
@@ -0,0 +1,780 @@
<template>
<view class="uni-stat__select">
<!-- hide-on-phone -->
<span v-if="label" class="uni-label-text">{{label + ':'}}</span>
<view class="uni-stat-box" :class="{'uni-stat__actived': current}">
<view class="uni-select" :style="{height:multiple?'100%':' 35px'}"
:class="{'uni-select--disabled':disabled}">
<view class="uni-select__input-box" :style="{height:multiple?'100%':'35px'}" @click="toggleSelector">
<view class="" style="display: flex;flex-wrap: wrap;width: 100%;" v-if="multiple&&current.length>0">
<view class="tag-calss"
v-for="(item,index) in collapseTags?current.slice(0,collapseTagsNum):current"
:key="item[dataValue]">
<span class="text">{{item[dataKey]}}</span>
<view class="" @click.stop="delItem(item)">
<uni-icons type="clear" style="margin-left: 4px;" color="#c0c4cc" />
</view>
</view>
<view v-if="current.length>collapseTagsNum&&collapseTags" class="tag-calss">
<span class="text">+{{current.length-collapseTagsNum}}</span>
</view>
<input v-if="filterable&&!disabled" @input="inputChange" class="uni-select__input-text"
type="text" style="font-size: 12px;height: 52rpx;margin-left: 6px;width: auto;"
placeholder="请输入" v-model="filterInput">
</view>
<view v-else-if="current&&current.length>0&&!showSelector" class="uni-select__input-text">
{{current}}
</view>
<input v-else-if="filterable&&showSelector" :focus="isFocus" @input="inputChange"
:disabled="disabled" @click.stop="" class="uni-select__input-text" type="text"
style="font-size: 12px;position: absolute;z-index: 1;" :placeholder="placeholderOld"
v-model="filterInput">
<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
<uni-icons v-if="(current.length>0 && clear&&!disabled)||(currentArr.length>0&&clear&&!disabled)"
type="clear" color="#c0c4cc" size="24" style="position: absolute;right: 0;" @click="clearVal" />
<uni-icons style="right: 0;position: absolute;" v-else :type="showSelector? 'top' : 'bottom'"
size="14" color="#999" />
</view>
<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
<view class="uni-select__selector" v-if="showSelector">
<view class="uni-popper__arrow"></view>
<scroll-view scroll-y="true" class="uni-select__selector-scroll">
<view class="uni-select__selector-empty" v-if="filterMixinDatacomResData.length === 0">
<span>{{emptyTips}}</span>
</view>
<view v-else :class="['uni-select__selector-item', {'uni-select_selector-item_active' :multiple
&& currentArr.includes(item[dataValue])}]"
style="display: flex;justify-content: space-between;align-items: center;"
v-for="(item,index) in filterMixinDatacomResData" :key="index" @click="change(item)">
<span
:class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</span>
<uni-icons v-if="multiple&&currentArr.includes(item[dataValue])" type="checkmarkempty"
color="#007aff" />
</view>
</scroll-view>
</view>
</view>
</view>
</view>
</template>
<script>
/**
* DataChecklist 数据选择器
* @description 通过数据渲染的下拉框组件
* @tutorial https://uniapp.dcloud.io/component/uniui/uni-data-select
* @property {String} value 默认值
* @property {Array} localdata 本地数据 ,格式 [{text:'',value:''}]
* @property {Boolean} clear 是否可以清空已选项
* @property {Boolean} emptyText 没有数据时显示的文字 ,本地数据无效
* @property {String} label 左侧标题
* @property {String} placeholder 输入框的提示文字
* @property {Boolean} disabled 是否禁用
* @event {Function} change 选中发生变化触发
*/
export default {
name: "uni-stat-select",
mixins: [uniCloud.mixinDatacom || {}],
props: {
collapseTagsNum: {
type: Number,
default: 1
},
collapseTags: {
type: Boolean,
default: false
},
dataKey: {
type: [String],
default: 'text'
},
dataValue: {
type: [String],
default: 'value'
},
multiple: {
type: Boolean,
default: false
},
filterable: {
type: Boolean,
default: false
},
localdata: {
type: Array,
default () {
return []
}
},
// #ifndef VUE3
value: {
type: [String, Number, Array],
default: ''
},
// #endif
// #ifdef VUE3
modelValue: {
type: [String, Number, Array],
default: ''
},
// #endif
label: {
type: String,
default: ''
},
placeholder: {
type: String,
default: '请选择'
},
emptyTips: {
type: String,
default: '无选项'
},
clear: {
type: Boolean,
default: true
},
defItem: {
type: Number,
default: 0
},
disabled: {
type: Boolean,
default: false
},
// 格式化输出 用法 field="_id as value, version as text, uni_platform as label" format="{label} - {text}"
format: {
type: String,
default: ''
},
},
data() {
return {
showSelector: false,
current: [],
mixinDatacomResData: [],
apps: [],
channels: [],
cacheKey: "uni-data-select-lastSelectedValue",
placeholderOld: "",
currentArr: [],
filterInput: "",
isFocus: false
};
},
created() {
if (this.multiple) {
// #ifndef VUE3
this.currentArr = this.value || []
// #endif
// #ifdef VUE3
this.currentArr = this.modelValue || []
// #endif
if (this.current.length > 0) {
this.current = []
}
// #ifndef VUE3
if (this.value && this.value.length > 0 && this.filterMixinDatacomResData.length > 0) {
this.current = this.value.map(item => {
let current = this.mixinDatacomResData.find(e =>
e[this.dataValue] == item
)
return {
...current
}
})
}
// #endif
// #ifdef VUE3
if (this.modelValue && this.modelValue.length > 0 && this.filterMixinDatacomResData.length > 0) {
this.current = this.modelValue.map(item => {
let current = this.mixinDatacomResData.find(e =>
e[this.dataValue] == item
)
return {
...current
}
})
}
// #endif
} else {
// #ifndef VUE3
if (this.value || this.value == 0) {
this.current = this.formatItemName(this.filterMixinDatacomResData.find(e =>
e[this.dataValue] == this.value
))
}
// #endif
// #ifdef VUE3
if (this.modelValue || this.value == 0) {
this.current = this.formatItemName(this.filterMixinDatacomResData.find(e =>
e[this.dataValue] == this.modelValue
))
}
// #endif
}
this.placeholderOld = this.placeholder
this.debounceGet = this.debounce(() => {
this.query();
}, 300);
if (this.collection && !this.localdata.length) {
this.debounceGet();
}
},
computed: {
filterMixinDatacomResData() {
if (this.filterable && this.filterInput) {
return this.mixinDatacomResData.filter(e => e[this.dataKey].includes(this.filterInput))
} else {
return this.mixinDatacomResData
}
},
typePlaceholder() {
const text = {
'opendb-stat-app-versions': '版本',
'opendb-app-channels': '渠道',
'opendb-app-list': '应用'
}
const common = this.placeholder
const placeholder = text[this.collection]
return placeholder ?
common + placeholder :
common
},
valueCom() {
// #ifdef VUE3
return this.modelValue;
// #endif
// #ifndef VUE3
return this.value;
// #endif
}
},
watch: {
localdata: {
immediate: true,
handler(val, old) {
if (Array.isArray(val) && old !== val) {
this.mixinDatacomResData = val || []
}
}
},
valueCom: {
handler(newVal, oldVal) {
// console.log(newVal, oldVal);
this.initDefVal()
},
deep: true,
immediate: true
},
mixinDatacomResData: {
immediate: true,
handler(val) {
if (val.length) {
this.initDefVal()
}
}
},
},
methods: {
debounce(fn, time = 100) {
let timer = null
return function(...args) {
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
fn.apply(this, args)
}, time)
}
},
// 执行数据库查询
query() {
this.mixinDatacomEasyGet();
},
// 监听查询条件变更事件
onMixinDatacomPropsChange() {
if (this.collection) {
this.debounceGet();
}
},
initDefVal() {
let defValue = ''
if ((this.valueCom || this.valueCom === 0) && !this.isDisabled(this.valueCom)) {
defValue = this.valueCom
} else {
let strogeValue
if (this.collection) {
strogeValue = this.getCache()
}
if (strogeValue || strogeValue === 0) {
defValue = strogeValue
} else {
let defItem = ''
if (this.defItem > 0 && this.defItem <= this.mixinDatacomResData.length) {
defItem = this.mixinDatacomResData[this.defItem - 1][this.dataValue]
}
defValue = defItem
}
if (defValue || defValue === 0) {
this.emit(defValue)
}
}
if (this.multiple) {
const mixinDatacomResData = this.mixinDatacomResData || []
if (!defValue) defValue = []
this.current = defValue.map(item => {
const current = mixinDatacomResData.find(e => {
return e[this.dataValue] == item
})
return {
...current
}
})
this.currentArr = this.current.map(e => e[this.dataValue])
if (defValue.length < 1) {
this.currentArr = []
}
} else {
const def = this.mixinDatacomResData.find(item => item[this.dataValue] === defValue)
this.current = def ? this.formatItemName(def) : ''
}
},
/**
* @param {[String, Number]} value
* 判断用户给的 value 是否同时为禁用状态
*/
isDisabled(value) {
let isDisabled = false;
this.mixinDatacomResData.forEach(item => {
if (item[this.dataValue] === value) {
isDisabled = item.disable
}
})
return isDisabled;
},
inputChange(e) {
this.$emit('inputChange', e.detail.value)
},
clearVal() {
if (this.disabled) {
return
}
if (this.multiple) {
this.current = []
this.currentArr = []
this.emit([])
} else {
this.current = ""
this.currentArr = []
this.emit('')
}
if (this.collection) {
this.removeCache()
}
this.placeholderOld = this.placeholder
this.filterInput = ""
},
change(item) {
if (!item.disable) {
this.showSelector = false
if (this.multiple) {
if (!this.current) {
this.current = []
}
if (!this.currentArr) {
this.currentArr = []
}
if (this.currentArr.includes(item[this.dataValue])) {
let index = this.current.findIndex(e => {
return e[this.dataValue] == item[this.dataValue]
})
this.current.splice(index, 1)
this.currentArr.splice(index, 1)
this.emit(this.current)
} else {
this.current.push(item)
this.currentArr.push(item[this.dataValue])
this.emit(this.current)
}
this.filterInput = ""
} else {
this.current = this.formatItemName(item)
if (this.filterable) {
this.filterInput = item[this.dataKey]
}
this.emit(item[this.dataValue])
}
}
},
delItem(item) {
if (this.disabled) {
return
}
if (this.currentArr.includes(item[this.dataValue])) {
let index = this.current.findIndex(e => {
return e[this.dataValue] == item[this.dataValue]
})
this.current.splice(index, 1)
this.currentArr.splice(index, 1)
this.emit(this.current)
}
},
emit(val) {
if (this.multiple) {
this.$emit('input', this.currentArr)
this.$emit('update:modelValue', this.currentArr)
const currentArr = this.mixinDatacomResData.filter(item => this.currentArr.includes(item[this
.dataValue]))
this.$emit('change', currentArr)
} else {
this.$emit('input', val)
this.$emit('update:modelValue', val)
const current = this.mixinDatacomResData.find(item => val == item[this.dataValue])
console.log(current);
this.$emit('change', current)
}
if (this.collection) {
this.setCache(val);
}
},
toggleSelector() {
if (this.disabled) {
return
}
// if (this.filterable && this.filterInput && this.mixinDatacomResData.findIndex(e => {
// return e[this.dataKey] == this
// .filterInput
// }) < 0) {
// if (!this.multiple) {
// this.filterInput = ""
// }
// }
this.showSelector = !this.showSelector
this.isFocus = this.showSelector
if (this.filterable && this.current && this.showSelector) {
if (!this.multiple) {
this.placeholderOld = this.current
// this.filterInput = ""
}
} else if (this.filterable && !this.current && !this.showSelector) {
if (this.placeholderOld != this.placeholder) {
if (!this.multiple) {
this.current = this.placeholderOld
}
}
}
this.filterInput = ""
},
formatItemName(item) {
if (!item) {
return ""
}
let text = item[this.dataKey]
let value = item[this.dataValue]
let {
channel_code
} = item
channel_code = channel_code ? `(${channel_code})` : ''
if (this.format) {
// 格式化输出
let str = "";
str = this.format;
for (let key in item) {
str = str.replace(new RegExp(`{${key}}`, "g"), item[key]);
}
return str;
} else {
return this.collection.indexOf('app-list') > 0 ?
`${text}(${value})` :
(
text ?
text :
`未命名${channel_code}`
)
}
},
// 获取当前加载的数据
getLoadData() {
return this.mixinDatacomResData;
},
// 获取当前缓存key
getCurrentCacheKey() {
return this.collection;
},
// 获取缓存
getCache(name = this.getCurrentCacheKey()) {
let cacheData = uni.getStorageSync(this.cacheKey) || {};
return cacheData[name];
},
// 设置缓存
setCache(value, name = this.getCurrentCacheKey()) {
let cacheData = uni.getStorageSync(this.cacheKey) || {};
cacheData[name] = value;
uni.setStorageSync(this.cacheKey, cacheData);
},
// 删除缓存
removeCache(name = this.getCurrentCacheKey()) {
let cacheData = uni.getStorageSync(this.cacheKey) || {};
delete cacheData[name];
uni.setStorageSync(this.cacheKey, cacheData);
},
}
}
</script>
<style lang="scss">
$uni-base-color: #6a6a6a !default;
$uni-main-color: #333 !default;
$uni-secondary-color: #909399 !default;
$uni-border-3: #e5e5e5;
/* #ifndef APP-NVUE */
@media screen and (max-width: 500px) {
.hide-on-phone {
display: none;
}
}
/* #endif */
.uni-stat__select {
display: flex;
align-items: center;
// padding: 15px;
cursor: pointer;
width: 100%;
flex: 1;
box-sizing: border-box;
}
.uni-stat-box {
width: 100%;
flex: 1;
}
.uni-stat__actived {
width: 100%;
flex: 1;
// outline: 1px solid #2979ff;
}
.uni-label-text {
font-size: 14px;
font-weight: bold;
color: $uni-base-color;
margin: auto 0;
margin-right: 5px;
}
.uni-select {
font-size: 14px;
border: 1px solid $uni-border-3;
box-sizing: border-box;
border-radius: 4px;
padding: 0 5px;
padding-left: 10px;
position: relative;
/* #ifndef APP-NVUE */
display: flex;
user-select: none;
/* #endif */
flex-direction: row;
align-items: center;
border-bottom: solid 1px $uni-border-3;
width: 100%;
flex: 1;
height: 35px;
min-height: 35px;
&--disabled {
background-color: #f5f7fa;
cursor: not-allowed;
}
}
.uni-select__label {
font-size: 16px;
// line-height: 22px;
min-height: 35px;
height: 35px;
padding-right: 10px;
color: $uni-secondary-color;
}
.uni-select__input-box {
width: 100%;
height: 35px;
position: relative;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex: 1;
flex-direction: row;
align-items: center;
.tag-calss {
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
font-size: 12px;
border: 1px solid #d9ecff;
border-radius: 4px;
white-space: nowrap;
height: 24px;
padding: 0 4px 0px 8px;
line-height: 22px;
box-sizing: border-box;
margin: 2px 0 2px 6px;
display: flex;
max-width: 100%;
align-items: center;
background-color: #f4f4f5;
border-color: #e9e9eb;
color: #909399;
.text {
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
font-size: 12px;
white-space: nowrap;
line-height: 22px;
color: #909399;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.uni-select__input {
flex: 1;
font-size: 14px;
height: 22px;
line-height: 22px;
}
.uni-select__input-plac {
font-size: 14px;
color: $uni-secondary-color;
}
.uni-select__selector {
/* #ifndef APP-NVUE */
box-sizing: border-box;
/* #endif */
position: absolute;
top: calc(100% + 12px);
left: 0;
width: 100%;
background-color: #FFFFFF;
border: 1px solid #EBEEF5;
border-radius: 6px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 3;
padding: 4px 0;
}
.uni-select__selector-scroll {
/* #ifndef APP-NVUE */
max-height: 200px;
box-sizing: border-box;
/* #endif */
}
.uni-select__selector-empty,
.uni-select__selector-item {
/* #ifndef APP-NVUE */
display: flex;
cursor: pointer;
/* #endif */
line-height: 35px;
font-size: 14px;
text-align: center;
/* border-bottom: solid 1px $uni-border-3; */
padding: 0px 10px;
}
.uni-select__selector-item:hover {
background-color: #f9f9f9;
}
.uni-select__selector-empty:last-child,
.uni-select__selector-item:last-child {
/* #ifndef APP-NVUE */
border-bottom: none;
/* #endif */
}
.uni-select_selector-item_active {
color: #409eff;
font-weight: bold;
background-color: #f5f7fa;
border-radius: 3px;
}
.uni-select__selector__disabled {
opacity: 0.4;
cursor: default;
}
/* picker 弹出层通用的指示小三角 */
.uni-popper__arrow,
.uni-popper__arrow::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 6px;
}
.uni-popper__arrow {
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
top: -6px;
left: 10%;
margin-right: 3px;
border-top-width: 0;
border-bottom-color: #EBEEF5;
}
.uni-popper__arrow::after {
content: " ";
top: 1px;
margin-left: -6px;
border-top-width: 0;
border-bottom-color: #fff;
}
.uni-select__input-text {
// width: 280px;
width: 90%;
color: $uni-main-color;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
overflow: hidden;
}
.uni-select__input-placeholder {
color: $uni-base-color;
font-size: 12px;
}
.uni-select--mask {
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
}
</style>
+11 -3
View File
@@ -1,9 +1,17 @@
// 应用全局配置
module.exports = {
baseUrl: 'https://api.xayunmei.com/zhongcaiapi/',
// baseUrlZC: 'https://api.xayunmei.com/zhongcaiapi',
// baseUrl: 'https://api.xayunmei.com/zhongcaiapitest',
// baseUrl: 'http://121.40.189.20:9001',
// baseUrl: 'http://192.168.3.77:8080',
baseUrlZC:'https://api.xayunmei.com/zhongcaiapi',
// baseUrlZC:'https://api.xayunmei.com/zhongcaiapitest',
baseUrlTJ:'https://api.xayunmei.com/tiaojieapitest',
// baseUrlTJ:'https://api.xayunmei.com/tiaojieapi',
// baseUrlZC: 'http://121.40.189.20:8001',
// baseUrlTJ: 'http://121.40.189.20:6001',
// baseUrl: 'http://172.16.1.24:8001',
// baseUrl: 'http://localhost:8080',
// baseUrl: 'http://192.168.3.18:9001',
// 应用信息
appInfo: {
// 应用名称
@@ -25,4 +33,4 @@ module.exports = {
}
]
}
}
}
+151 -83
View File
@@ -1,76 +1,86 @@
{
"pages": [{
"pages": [
{
"path": "pages/switchSystem",
"style": {
"navigationBarTitleText": ""
}
}, {
"path": "pages/login",
"style": {
"navigationBarTitleText": "登录"
"navigationBarTitleText": ""
}
}, {
"path": "pages/register",
"style": {
"navigationBarTitleText": "注册"
}
}, {
"path": "pages/index",
"style": {
"navigationBarTitleText": "首页",
"navigationStyle": "custom"
}
}, {
},
// {
// "path": "pages/index",
// "style": {
// "navigationBarTitleText": "首页",
// "navigationStyle": "custom"
// }
// },
{
"path": "pages/work/index",
"style": {
"navigationBarTitleText": "工作台"
}
}, {
"path": "pages/mine/index",
"style": {
"navigationBarTitleText": "我的"
}
}, {
"path": "pages/mine/avatar/index",
"style": {
"navigationBarTitleText": "修改头像"
}
}, {
"path": "pages/mine/info/index",
"style": {
"navigationBarTitleText": "个人信息"
}
}, {
"path": "pages/mine/info/edit",
"style": {
"navigationBarTitleText": "编辑资料"
}
}, {
"path": "pages/mine/pwd/index",
"style": {
"navigationBarTitleText": "修改密码"
}
}, {
"path": "pages/mine/setting/index",
"style": {
"navigationBarTitleText": "应用设置"
}
}, {
"path": "pages/mine/help/index",
"style": {
"navigationBarTitleText": "常见问题"
}
}, {
"path": "pages/mine/about/index",
"style": {
"navigationBarTitleText": "关于我们"
}
}, {
"path": "pages/common/webview/index",
"style": {
"navigationBarTitleText": "浏览网页"
}
}, {
"path": "pages/common/textview/index",
"style": {
"navigationBarTitleText": "浏览文本"
}
},
// {
// "path": "pages/mine/index",
// "style": {
// "navigationBarTitleText": "我的"
// }
// },
// {
// "path": "pages/mine/avatar/index",
// "style": {
// "navigationBarTitleText": "修改头像"
// }
// }, {
// "path": "pages/mine/info/index",
// "style": {
// "navigationBarTitleText": "个人信息"
// }
// }, {
// "path": "pages/mine/info/edit",
// "style": {
// "navigationBarTitleText": "编辑资料"
// }
// }, {
// "path": "pages/mine/pwd/index",
// "style": {
// "navigationBarTitleText": "修改密码"
// }
// }, {
// "path": "pages/mine/setting/index",
// "style": {
// "navigationBarTitleText": "应用设置"
// }
// }, {
// "path": "pages/mine/help/index",
// "style": {
// "navigationBarTitleText": "常见问题"
// }
// }, {
// "path": "pages/mine/about/index",
// "style": {
// "navigationBarTitleText": "关于我们"
// }
// }, {
// "path": "pages/common/webview/index",
// "style": {
// "navigationBarTitleText": "浏览网页"
// }
// }, {
// "path": "pages/common/textview/index",
// "style": {
// "navigationBarTitleText": "浏览文本"
// }
// },
{
"path": "pages/handlecase/index",
"style": {
@@ -86,7 +96,43 @@
{
"path": "pages/handlecase/component/uploadEvidence",
"style": {
"navigationBarTitleText": "上传证据"
"navigationBarTitleText": "案件信息"
}
},
{
"path": "pages/handlecase/component/evidenceList",
"style": {
"navigationBarTitleText": "证据清单"
}
},
{
"path": "pages/handlecase/component/obligations",
"style": {
"navigationBarTitleText": "权力和义务告知书"
}
},
{
"path": "pages/expressDelivery/index",
"style": {
"navigationBarTitleText": "查看快递"
}
},
{
"path": "pages/expressDelivery/component/expressDelivery",
"style": {
"navigationBarTitleText": "快递信息"
}
},
{
"path": "pages/signature/index",
"style": {
"navigationBarTitleText": "在线签名列表"
}
},
{
"path": "pages/signature/component/expressDelivery",
"style": {
"navigationBarTitleText": "在线签名"
}
},
// {
@@ -141,30 +187,52 @@
"navigationBarTitleText": "在线开庭",
"enablePullDownRefresh": false
}
},
{
"path": "pages/realName",
"style": {
"navigationBarTitleText": "实名认证",
"enablePullDownRefresh": false
}
},
{
"path": "pages/personalInfoCollection",
"style": {
"navigationBarTitleText": "权益告知书"
// "enablePullDownRefresh": false
}
},
{
"path": "pages/im/component/imHome",
"style": {
"navigationBarTitleText": "会议",
"enablePullDownRefresh": false
}
}
],
"tabBar": {
"color": "#000000",
"selectedColor": "#000000",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [{
"pagePath": "pages/index",
"iconPath": "static/images/tabbar/home.png",
"selectedIconPath": "static/images/tabbar/home_.png",
"text": "首页"
}, {
"pagePath": "pages/work/index",
"iconPath": "static/images/tabbar/work.png",
"selectedIconPath": "static/images/tabbar/work_.png",
"text": "工作台"
}, {
"pagePath": "pages/mine/index",
"iconPath": "static/images/tabbar/mine.png",
"selectedIconPath": "static/images/tabbar/mine_.png",
"text": "我的"
}]
},
],
// "tabBar": {
// "color": "#000000",
// "selectedColor": "#000000",
// "borderStyle": "white",
// "backgroundColor": "#ffffff",
// "list": [{
// "pagePath": "pages/index",
// "iconPath": "static/images/tabbar/home.png",
// "selectedIconPath": "static/images/tabbar/home_.png",
// "text": "首页"
// }, {
// "pagePath": "pages/work/index",
// "iconPath": "static/images/tabbar/work.png",
// "selectedIconPath": "static/images/tabbar/work_.png",
// "text": "工作台"
// }, {
// "pagePath": "pages/mine/index",
// "iconPath": "static/images/tabbar/mine.png",
// "selectedIconPath": "static/images/tabbar/mine_.png",
// "text": "我的"
// }]
// },
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "RuoYi",
@@ -0,0 +1,81 @@
<template>
<view class="page">
<view class="mainAll" v-if="list2.length > 0">
<view class="pageTitle">
快递公司:{{expressMain.company}}
</view>
<view class="pageTitle">
快递单号:{{expressMain.no}}
</view>
<view class="pageMain">
<view>
<uni-steps :options="list2" active-color="#007AFF" direction="column" />
</view>
</view>
</view>
<view class="emptyBox" v-if="list2.length == 0">
<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
</view>
</view>
</template>
<script>
import {
logistics
} from '../../../api/handlecase/index.js'
import LuanqingEmpty from "@/components/luanqing-empty.vue"
export default {
components: {
'luanqing-empty': LuanqingEmpty,
},
data() {
return {
expressMain: {},
list2: []
}
},
methods: {
},
onLoad(data) {
uni.showLoading()
logistics({
id: data.id
}).then(res => {
uni.hideLoading()
this.expressMain = res.data[1].logisticsInfo;
this.expressMain = JSON.parse(this.expressMain);
this.expressMain.list.forEach(item => {
item.title = item.remark;
item.desc = item.datetime
})
this.list2 = this.expressMain.list
})
}
}
</script>
<style lang="scss">
.page {
background-color: #ffffff;
.pageTitle {
width: 100%;
padding: 15rpx;
}
.pageMain {
.status-btn {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
}
}
</style>
+104
View File
@@ -0,0 +1,104 @@
<template>
<view class="list">
<view class="listItem">
<view class="lable">
案件编号:
</view>
<view class="main">
{{defalutVal.caseNum}}
</view>
</view>
<view class="listItem">
<view class="lable">
申请人姓名:
</view>
<view class="main">
{{defalutVal.applicantName}}
</view>
</view>
<view class="listItem" style="margin-top:22rpx">
<view class="lable">
被申请人姓名:
</view>
<view class="main">
{{defalutVal.respondentName}}
</view>
</view>
<view class="listItem">
<view class="lable">
案件状态:
</view>
<view class="main">
{{defalutVal.caseStatusName}}
</view>
</view>
<view class="btn">
<button class="btnItem" type="primary" size="mini" @tap="uploadEvidence(defalutVal.id)">查看快递信息</button>
<!-- <button class="btnItem" type="primary" size="mini" @tap="confirmationEvidence" v-if="defalutVal.caseStatus == 4">确认证据</button>
<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators" v-if="defalutVal.caseStatus == 5">是否指派仲裁员</button>
<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
<button class="btnItem" type="primary" size="mini" @tap="chooseMethod" v-if="defalutVal.caseStatus == 9">选择仲裁方式</button> -->
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
},
props:{
defalutVal:{
type:Object,
default:() => {}
}
},
methods:{
// // 查看快递
uploadEvidence(id){
uni.navigateTo({
// url:`/pages/expressDelivery/component/expressDelivery?id=${this.defalutVal.id}`
url:`/pages/expressDelivery/component/expressDelivery?id=${id}`
})
},
}
}
</script>
<style lang="scss" scoped>
.list {
padding: 15rpx;
display: flex;
flex-direction: column;
background-color: #ffffff;
border-radius: 30rpx;
margin-top: 20rpx;
.listItem {
width: 100%;
display: flex;
height: 50rpx;
.lable {
width: 30%;
}
.main {
width: 60%;
}
}
.btn{
margin-top: 20rpx;
width: 100%;
display: flex;
justify-content: space-between;
.btnItem{
height: 50rpx;
background-color: #5395ff;
border-radius: 10rpx;
text-align: center;
line-height: 50rpx;
}
}
}
</style>
+125
View File
@@ -0,0 +1,125 @@
<template>
<view class="handlecase">
<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
<view class="emptyBox" v-if="caseList.length == 0">
<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
</view>
</view>
</template>
<script>
import List from './component/list.vue'
import {
caseApplicationList
} from '../../api/handlecase/index.js'
import LuanqingEmpty from "@/components/luanqing-empty.vue"
export default {
components: {
List,
'luanqing-empty': LuanqingEmpty,
},
data() {
return {
caseList: [],
pageNum: 1,
pageSize: 10
}
},
methods: {
getList(parms) {
uni.showLoading()
caseApplicationList(parms).then(res => {
uni.hideLoading()
this.caseList = res.rows;
this.caseList.forEach(item => {
switch (item.caseStatus) {
case 0:
item.caseStatusName = '立案申请'
break;
case 1:
item.caseStatusName = '待缴费'
break;
case 2:
item.caseStatusName = '待缴费确认'
break;
case 3:
item.caseStatusName = '待确认是否应诉'
break;
case 4:
item.caseStatusName = '待确认证据'
break;
case 5:
item.caseStatusName = '待确定是否指派仲裁员'
break;
case 6:
item.caseStatusName = '待组庭'
break;
case 7:
item.caseStatusName = '待组庭确定'
break;
case 8:
item.caseStatusName = '待组庭审核'
break;
case 9:
item.caseStatusName = '待选择仲裁方式'
break;
case 10:
item.caseStatusName = '待开庭'
break;
case 11:
item.caseStatusName = '待生成仲裁文书'
break;
case 12:
item.caseStatusName = '待确认仲裁文书'
break;
case 13:
item.caseStatusName = '待仲裁文书用印'
break;
case 14:
item.caseStatusName = '待仲裁文书用印审核'
break;
case 15:
item.caseStatusName = '待仲裁文书送达'
break;
case 16:
item.caseStatusName = '待案件归档'
break;
}
})
})
},
// 触底
onReachBottom() {
if (this.caseList.length < 1) {
return
}
let obj = {
caseStatusList: [16],
pageNum: this.pageNum,
pageSize: this.pageSize
}
obj.pageNum = obj.pageNum + 1
this.getList(obj)
}
},
onLoad() {
let obj = {
caseStatusList: [16],
pageNum: this.pageNum,
pageSize: this.pageSize
}
this.getList(obj)
}
}
</script>
<style lang="scss">
.handlecase {
.caseList {
// height: 360rpx;
// background-color: #ffffff;
// border-radius: 30rpx;
// margin-top: 20rpx;
}
}
</style>
@@ -0,0 +1,37 @@
<template>
<view>
<view style="text-align: center;" v-for="item in evidenceList">
<image :src="item.annexPath"></image>
</view>
</view>
</template>
<script>
import config from '@/config'
const baseUrl = config.baseUrl
export default {
data() {
return {
evidenceList: []
}
},
onLoad(data) {
console.log(data)
let list = JSON.parse(decodeURIComponent(data.evidenceList))
if(list) {
list.forEach(item =>{
item.annexPath = baseUrl + item.annexPath
})
}
console.log(list)
this.evidenceList = list
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
</style>
+4 -4
View File
@@ -16,8 +16,8 @@
{{defalutVal.applicantName}}
</view>
</view>
<view class="listItem">
<view class="lable">
<view class="listItem" style="margin-top:22rpx">
<view class="lable" >
被申请人姓名:
</view>
<view class="main">
@@ -102,14 +102,14 @@
width: 100%;
display: flex;
height: 50rpx;
.lable {
width: 30%;
}
.main {
width: 60%;
}
}
}
.btn{
margin-top: 20rpx;
@@ -0,0 +1,92 @@
<template>
<view class="equityNotice">
<text>
关于“个人信息收集/使用”的同意书xxxxx公司业务管理系统需要收集与使用用户的个人信息,根据《中华人民共和国网络安全法》等相关法规,特告知如下请仔细阅读并理解文本件全部内容之后,决定是否同意并使用本公司业务管理系统的各项服务;如果您仍决定使用本公司业务管理系统的各项服务,则视为您同意执行本同意书
第1条定义
“用户”:使用本公司业务管理系统的自然人
“本公司”:运营及管理业务管理系统的xxxx公司
“业务管理系统”:需要收集和使用个人信息的本公司业务管理系统,但不限于,xxxx系统等该系统的功能范围可能不断扩展、调整
“个人信息”:指以电子或其他方式记录的能够单独或与其他信息结合识别自然人身份的各种信息,包括与确定自然人相关的生物特征、位置、行为等信息,如姓名、出生日期、身份证号、个人账号信息、住址、手机号码、电话号码、指纹、虹膜等
第2条个人信息内容和目的 个人信息内容见条
收集/利用的目的识别个人信息主体 传达合同签订的主要事项提供与产品和服务相关的咨询或邀请,提供用户有利的信息,处理用户投诉等争议理履行与提供产品/服务器相关的合同以及结费用 个人信息收集最小化本公司不收集超出个人信息必须范围的个人敏感信息,例如财产、健康,生活隐私等个人敏感信息
如确有正当业务需要,应经用户同意后进行最小化的收集和存储 用户享有对个人信息的访问、更正、删除个人信息、注销账户等权利 本公司收集的个人信息不会用于直接商业营销
第 3 条 个人信息的储存和使用时间 本公司与用户签订的合同存续期间
从个人信息收集日开始一直到业务关系终止为止
本公司获取的个人所有信息,除了以上提及的收集/使用目的或法律规定的使用目的以外,不会用于其它用途依据相关法规,如无正当的理由继续保存个人信息,或者个人信息收集使用目的已经达成,本公司会即时删除相关个人信息用户如要求删除个人信息,且相关法规规定不要求保存此类个人信息时,自接收到用户删除要求后,本公司会及时删除所有个人信息
第 4 条 拒绝同意权利
用户可拒绝接受收集和利用个人信息,但因此而无法实现与本公司的正常业务往来,甚至导致合同无法正常履行的,所带来的负面后果由用户承担,请审慎留意
用户同意签署此同意书,即表示已仔细阅读并理解以上所有事项,同意相关个人信息的收集和使用
第 5条个人信息出境
为了正常运营业务管理系统,提高业务效率,与业务管理系统相关收集和产生的个人信息需通过网络专线或其它正规渠道传送到本公司在境外的机构的对应业务管理系统
本公司在境外的机构包括:
出境目的是为正常运营业务管理系统,其中包括但不限于、品质系统、购买系统等需依赖于用户个人信息才能正常运行的系统
出境范围和内容包括但不限于用户的姓名、出生日期、身份证号、个人账号信息、住址、电话号码等通过合法途径收集的个人信息
第 6条 同意书的效力和变更
本同意书从用户同意之日起开始生效
如本同意书签署之前,用户已经使用本公司业务管理系统的,则本同意书的签署同时视为对之前已经发生的个人信息收集与利用的同意
本公司保留运营或者营业上有重要原因时,对本同意书进行修改的权利但即使修改也会在《中华人民共和国网络安全法》及其相关法规允许的范围内进行修订
如对本同意书进行修订,本公司将提前至少 7 天将修订内容、实施时间、修订原因公布在公司业务管理系统首页
6 4 用户有权利拒绝同意修订在用户拒绝同意修订的情况下,本公司有权利终止相关服务,禁止用户登录
第7条争议的解决与联系方式
本同意书的订立、执行和争议的解决均应适用中华人民共和国法律 如双方就本同意书内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均可向本公司所在地有管辖权的人民法院提起诉讼 本公司保留对同意书的解释和修改权利
本公司未行使本协议的任何权利或规定,不构成对前述权利之放弃 如本同意书中的任何条款完全或部分无效,本同意书的其余条款仍有效并且有约束力
若您对本同意书的内容、执行有其它疑问、建议、意见等,欢迎通过下列方式与本公司联系:
第 8条 附则
本同意书可通过纸质签署,亦可通过用户登录点击确认等方式签署,均具有同等法律效力
</text>
<view class="from">
<uni-forms ref="form" >
<uni-forms-item label="反意理由:" name="reasons" label-width="100px" required>
<uni-easyinput v-model="formData.reasont"
placeholder="请输入反意理由" />
</uni-forms-item>
</uni-forms>
</view>
<view class="determine">
<button type="primary" @click="submit">确定</button>
</view>
</view>
</template>
<script>
export default{
data (){
return {
formData:{
reasont:''
},
}
},
methods:{
submit(){
if(this.formData.reasont){
uni.setStorageSync('reasontData', this.formData.reasont)
}else{
this.$modal.msgError("请输入您的账号")
}
}
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
.equityNotice{
padding: 20rpx 20rpx;
font-size: 22rpx;
.determine{
margin:0 auto;
width: 250rpx;
button{
background-color: brown;
}
}
}
</style>
+370 -108
View File
@@ -1,89 +1,204 @@
<template>
<view class="assignrbitrators">
<view class="from">
<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
<view class="title">案件详情</view>
<view class="box">
<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
</uni-forms-item>
</view>
</uni-forms>
<view class="uni-list" v-if="selectFlag">
<checkbox-group @change="checkboxChange">
<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
<view>
<checkbox :value="item.id + ''" />
</view>
<view class="main">
<view class="">
仲裁员姓名:{{item.arbitratorName}}
</view>
<view class="">
当前案件数量:{{item.currentCaseNum}}
</view>
<view class="">
已结案数量:{{item.closedCaseNum}}
</view>
<view class="">
专业分类:{{item.professiClassifi}}
</view>
</view>
</label>
</checkbox-group>
</view>
<button type="primary" @click="submitImg">确认提交</button>
</view>
<template>
<view>
<view>
</view> <uni-section title=" ">
<!-- 选项卡 -->
<view>
<uni-segmented-control :current="current" :values="itemsT" :style-type="styleType"
:active-color="activeColor" @clickItem="onClickItem" />
</view>
<!-- 选项卡内容 -->
<view class="conent">
<view v-show="current === 0">
<view class="assignrbitrators">
<view class="from">
<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
<!-- <view class="title">案件详情</view> -->
<view class="box">
<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
placeholder="" />
</uni-forms-item>
<!-- <uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
</uni-forms-item> -->
<!-- <uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
</uni-forms-item> -->
<!-- <uni-forms-item label="是否指派调解员" label-width="120px" v-if="sysType==2" name="pendingAppointArbotrar" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
</uni-forms-item> -->
<uni-forms-item label="是否仲裁反请求" label-width="120px" name="objectiJuris" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.objectiJuris"
:localdata="objectiJurisArr" @change='objectiJurisChange'></uni-data-checkbox>
</uni-forms-item>
<!-- <uni-forms-item label="是否管辖异议申请" label-width="120px" name="adjudicaCounter" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.adjudicaCounter"
:localdata="adjudicaCounterArr"></uni-data-checkbox>
</uni-forms-item> -->
<!-- <uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
</uni-forms-item> -->
<uni-forms-item
label="是否书面审理"
label-width="120px"
name="respondentIsWrittenHear"
required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.respondentIsWrittenHear"
:localdata="adjudicateRecord" @change='arbitrationmethod'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item
v-if="sysType==2"
label="预约时间"
label-width="120px"
name="respondentIsWrittenHear"
>
<view class="example-body">
<uni-datetime-picker type="date" @maskClick="maskClick" />
</view>
</uni-forms-item>
</view>
</uni-forms>
<!-- 自定义弹窗层组件 -->
<uni-popup scroll-y="true" ref="popup" :is-mask-click="false" type="bottom">
<view class="content_list">
<uni-card>
<view class="" style="text-align: center;font-size: 35rpx;font-weight: bold;">
<text>权力和义务告知书</text>
</view>
根据《中华人民共和国仲裁法》的规定,仲裁当事人在仲裁活动中依法享有权利并承担义务。
<view class="">
<text>一、当事人的权利</text>
<text>1.依据仲裁协议提请仲裁;撤回仲裁申请或者变更、放弃仲裁请求;承认或者反驳仲裁请求;提出仲裁反请求。</text>
<text>2.对仲裁协议效力提出异议。</text>
<text>3.委托代理人进行仲裁活动。</text>
<text>4.申请财产保全、证据保全。</text>
<text>5.约定、选定仲裁庭的组成方式;选定或者委托本会主任指定仲裁员;申请仲裁员、办案秘书、翻译人员、鉴定人员回避。</text>
<text>6.收集、提供证据。对证据进行质证,发表辩论意见,作最后陈述。</text>
<text>7.请求调解。自行和解的,可以请求仲裁庭根据和解协议作出裁决书。</text>
<text>8.认为开庭笔录对自己陈述的记录有遗漏或者差错的,申请补正。</text>
<text>9.对裁决书中的文字、计算错误或者仲裁庭已经裁决但在裁决书中遗漏的事项,请求补正或者作出补正裁决。</text>
<text>10.向人民法院申请撤销、执行或者不予执行仲裁裁决。</text>
</view>
<view>
<text>
<text>二、当事人的义务</text>
<text>1.如实书写仲裁申请书和答辩书;在庭审中不得做虚假陈述。</text>
<text>2.对自己的主张按期提供证据,不得提供伪证。</text>
<text>3.遵守仲裁员回避制度。</text>
<text>4.按时参加开庭。</text>
<text>5.遵守开庭纪律和仲裁程序。</text>
<text>6.在庭审笔录上签字。</text>
<text>7.在仲裁文书的送达回证上签字盖章。</text>
<text>8.主动履行生效的仲裁裁决。</text>
<text>9.按规定交纳仲裁费用。</text>
<text>10.法律、法规和本会仲裁规则规定的其他义务。</text>
</text>
</view>
<view class="from" style="margin-top:30rpx;">
<uni-forms ref="reasontFormData" >
<uni-forms-item label="异议原因:" label-width="100px" required>
<uni-easyinput v-model="reasontFormData.reasont"
placeholder="请输入异议原因" />
</uni-forms-item>
</uni-forms>
</view>
<view class="determine">
<button style="width: 150rpx;float: left;margin-left: 90rpx;" type="primary" @tap="submitReasont">确定</button>
<button style="width: 150rpx;" @tap="cencalBut">取消</button>
</view>
</uni-card>
</view>
</uni-popup>
<view class="uni-list" v-if="selectFlag">
<checkbox-group @change="checkboxChange" style="width: 100%;">
<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.userId">
<view>
<checkbox color="blue" style="transform:scale(0.7)" :value="item.userId + ''" />
</view>
<view class="main">
<view class="">
仲裁员姓名:{{item.nickName}}
</view>
<view class="">
介绍:{{item.remark || ''}}
</view>
</view>
</label>
</checkbox-group>
</view>
<button type="primary" @click="submitImg">确认提交</button>
</view>
</view>
</view>
</view>
<view v-show="current === 1" style="padding: 20rpx;">
<view class="" style="margin-top: 50rpx;">
<view>申请人</view>
<view v-for="item in formData.evidenceMaterialList">
<uni-link v-if="item.annexType==2" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
</view>
<view>被申请人</view>
<view v-for="item in formData.evidenceMaterialList">
<uni-link v-if="item.annexType==6" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
</view>
</view>
<view class="" style="margin-top: 40rpx;">
<view>仲裁申请书</view>
<view v-for="item in formData.evidenceMaterialList">
<uni-link v-if="item.annexType==1" :href="item.annexPath" color="#007BFF" :text="item.fileName"></uni-link>
</view>
</view>
</view>
</uni-section>
</view>
</template>
<script>
@@ -98,13 +213,34 @@
import {
getToken
} from '@/utils/auth'
import moment from 'moment'
import moment from 'moment'
import config from '@/config'
const baseUrl = config.baseUrlZC
const app = getApp()
export default {
data() {
return {
return {
sysType:null,//默认系统 1.仲裁2.调节
selectValue:null,
defaultSelected: [], //默认选中项
serviceList: ['1','2'],//传递给子组件的数据
current:0,
itemsT:['案件详情','案件资料'],
styleType:'button',
activeColor:'#007aff',
reasontFormData:{
reasont:''
},
isShowPopup:false,
formData: {},
subnitForm: {},
subnitForm: {
objectionAddEviden:0,
pendingAppointArbotrar:0,
objectiJuris:0,
adjudicaCounter:0,
respondentIsWrittenHear:1,
adjudicaCounterReason:''
},
selectFlag: false,
caseFlag: false,
tempFilePaths: null,
@@ -152,10 +288,94 @@
text: '否',
value: 0
}],
items: []
objectiJurisArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
adjudicaCounterArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
obligationsArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
// 是否书面审理
adjudicateRecord: [{
text: '是',
value: 1
},{
text: '否',
value: 0
}],
items: [],
selectData: [{
value: 0,
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}, {
value: '选项6',
label: '豆腐'
}, {
value: '选项7',
label: '油条'
}]
}
},
methods: {
},
mounted() {
this.sysType = uni.getStorageSync('sysType')
},
methods: {
selectTJ(e){
// console.log(this.defaultSelected,'11111111')
// console.log(e,'2222222222’')
},
onClickItem(e){
if (this.current !== e.currentIndex) {
this.current = e.currentIndex
}
},
submitReasont(){
if(this.reasontFormData.reasont){
this.subnitForm.adjudicaCounterReason = this.reasontFormData.reasont
this.$refs.popup.close()
this.reasontFormData.reasont =''
}else{
this.$modal.msgError("请输入反意理由")
}
},
cencalBut(){
this.$refs.popup.close();
this.subnitForm.objectiJuris = 0;
},
objectiJurisChange(value){
let flag = value.detail.value;
if(flag==1){
this.$refs.popup.open('center')
}
},
arbitrationmethod() {},
uploadEvidenceChange(val) {
let flag = val.detail.value;
@@ -175,20 +395,35 @@
}
},
checkboxChange(e) {
let idArr = e.detail.value;
let numberArray = idArr.map(str => parseInt(str));
const result = this.items.filter(item => numberArray.includes(item.id));
let arbitrators = []
result.forEach(item => {
arbitrators.push({
id: item.id,
arbitratorName: item.arbitratorName
})
let params = parseInt(e.detail.value);
let result = "";
this.items.forEach(item=>{
if(item.userId == params){
result = item.nickName
}
})
let arbitrators = [{id: params,arbitratorName: result}];
// let idArr = e.detail.value;
// let numberArray = idArr.map(str => parseInt(str));
// const result = this.items.filter(item => numberArray.includes(item.userId));
// result.forEach(item => {
// arbitrators.push({
// id: item.userId,
// arbitratorName: item.nickName
// })
// })
this.subnitForm.arbitrators = arbitrators;
// console.log(this.subnitForm.arbitrators,"PPPPPPPPPPPPPP");
},
getData(parms) {
respondentDetail(parms).then(res => {
respondentDetail(parms).then(res => {
if(res.data.evidenceMaterialList.length > 0) {
res.data.evidenceMaterialList.forEach(item =>{
let names = item.annexPath.split('_')
item['fileName'] = names[names.length -1]
item.annexPath = baseUrl + item.annexPath
})
}
this.formData = res.data
this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
@@ -248,10 +483,17 @@
title: '提交成功',
icon: 'none',
duration: 1000
})
uni.navigateTo({
url: '/pages/handlecase/index'
})
})
uni.navigateBack({
delta:1
})
// uni.$tab.redirectTo({
// url: '/pages/handlecase/index'
// })
// uni.navigateTo({
// url: '/pages/handlecase/index'
// })
})
},
submitImg() {
@@ -260,17 +502,34 @@
}).catch(err => {
console.log('表单错误信息:', err);
})
}
},
// 证据清单
evidenceList(){
console.log(this.formData.evidenceMaterialList)
this.$tab.navigateTo(`/pages/handlecase/component/evidenceList?title=证据清单&evidenceList=${encodeURIComponent(JSON.stringify(this.formData.evidenceMaterialList))}`)
},
},
onLoad(data) {
this.getData(data.id);
this.subnitForm.caseId = Number(data.id);
// this.getArbitratorList()
},
}
}
</script>
<style lang="scss">
<style lang="scss">
page {
background-color: #ffffff;
}
.content_list {
height: 1060rpx;
overflow-x: hidden;
.scroll_view_style{
height: 100%;
}
}
.assignrbitrators {
// text-align: center;
padding: 20rpx;
@@ -375,6 +634,9 @@
margin-left: 20rpx;
}
}
}
.determine{
padding: left 50rpx;
}
}
</style>
+28 -12
View File
@@ -22,13 +22,20 @@
return {
caseList: [],
pageNum: 1,
pageSize: 10
pageSize: 10,
}
},
methods: {
getList(parms) {
respondentList(parms).then(res => {
this.caseList = res.rows;
// this.caseList = res.rows;
if(res.data){
this.caseList = res.data;
}else{
this.caseList = []
}
this.caseList.forEach(item => {
switch (item.caseStatus) {
case 0:
@@ -92,22 +99,31 @@
return
}
let obj = {
identityNum: "610528199802285713",
pageNum: this.pageNum,
pageSize: this.pageSize
pageSize: this.pageSize,
caseStatus:4
}
obj.pageNum = obj.pageNum + 1
this.getList(obj)
}
},
onShow() {
let obj = {
pageNum: this.pageNum,
pageSize: this.pageSize,
caseStatus:4
}
this.getList(obj)
},
onLoad() {
let obj = {
identityNum: "610528199802285713",
pageNum: this.pageNum,
pageSize: this.pageSize
}
this.getList(obj)
}
// onLoad() {
// let obj = {
// pageNum: this.pageNum,
// pageSize: this.pageSize,
// caseStatus:4
// }
// this.getList(obj)
// }
}
</script>
+21
View File
@@ -0,0 +1,21 @@
<template>
<view>
<web-view :src="imUrl"></web-view>
</view>
</template>
<script>
export default {
data(){
return{
imUrl:''
}
},
onLoad(data) {
this.imUrl = decodeURIComponent(data.imUrl)
}
}
</script>
<style>
</style>
+112
View File
@@ -0,0 +1,112 @@
<template>
<view class="list" @tap="caseDetail">
<view class="listItem">
<view class="lable">
案件编号:
</view>
<view class="main">
{{defalutVal.caseNum}}
</view>
</view>
<view class="listItem">
<view class="lable">
申请人姓名:
</view>
<view class="main">
{{defalutVal.applicantName}}
</view>
</view>
<view class="listItem" style="margin-top:22rpx">
<view class="lable">
被申请人姓名:
</view>
<view class="main">
{{defalutVal.respondentName}}
</view>
</view>
<view class="listItem">
<view class="lable">
案件状态:
</view>
<view class="main">
{{defalutVal.caseStatusName}}
</view>
</view>
<view class="listItem">
<view class="lable">
案件房间号:
</view>
<view class="main">
{{defalutVal.roomId}}
</view>
</view>
<view class="listItem">
<view class="lable">
开庭时间:
</view>
<view class="main">
{{defalutVal.scheduleStartTime}}
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
},
props:{
defalutVal:{
type:Object,
default:() => {}
}
},
methods:{
// 在线开庭详情以及操作
caseDetail(){
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}`)
console.log(this.$store.state.user)
uni.navigateTo({url:`/pages/im/component/imHome?imUrl=${imUrl}`})
}
}
}
</script>
<style lang="scss" scoped>
.list {
padding: 15rpx;
display: flex;
flex-direction: column;
background-color: #ffffff;
border-radius: 30rpx;
margin-top: 20rpx;
.listItem {
width: 100%;
display: flex;
height: 50rpx;
.lable {
width: 30%;
}
.main {
width: 60%;
}
}
.btn{
margin-top: 20rpx;
width: 100%;
display: flex;
justify-content: space-between;
.btnItem{
height: 50rpx;
background-color: #5395ff;
border-radius: 10rpx;
text-align: center;
line-height: 50rpx;
}
}
}
</style>
+113 -11
View File
@@ -1,21 +1,123 @@
<template>
<view class="">
<web-view :src="sendImg"></web-view>
<!-- <view class=""> -->
<!-- <web-view :src="sendImg"></web-view> -->
<!-- </view> -->
<view class="handlecase">
<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
<view class="emptyBox" v-if="caseList.length == 0">
<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
</view>
</view>
</template>
<script>
export default {
<script>
import List from './component/imList.vue'
import LuanqingEmpty from "@/components/luanqing-empty.vue"
import {
respondentList
} from '../../api/handlecase/index.js'
export default {
components: {
List,
'luanqing-empty': LuanqingEmpty,
},
data() {
return {
name: "",
sendImg: ""
sendImg: "",
caseList: [],
pageNum: 1,
pageSize: 10
}
},
onLoad: function() {
this.name = this.$store.state.user.name;
this.sendImg = `https://txroom.xayunmei.com/#/?name=${this.name}`
// this.sendImg = `http://localhost:8080/#/?name=${this.name}`
},
},
methods:{
getList(parms) {
respondentList(parms).then(res => {
this.caseList = res.data;
this.caseList.forEach(item => {
switch (item.caseStatus) {
case 0:
item.caseStatusName = '立案申请'
break;
case 1:
item.caseStatusName = '待缴费'
break;
case 2:
item.caseStatusName = '待缴费确认'
break;
case 3:
item.caseStatusName = '待确认是否应诉'
break;
case 4:
item.caseStatusName = '待确认证据'
break;
case 5:
item.caseStatusName = '待确定是否指派仲裁员'
break;
case 6:
item.caseStatusName = '待组庭'
break;
case 7:
item.caseStatusName = '待组庭确定'
break;
case 8:
item.caseStatusName = '待组庭审核'
break;
case 9:
item.caseStatusName = '待选择仲裁方式'
break;
case 10:
item.caseStatusName = '待开庭'
break;
case 11:
item.caseStatusName = '待生成仲裁文书'
break;
case 12:
item.caseStatusName = '待确认仲裁文书'
break;
case 13:
item.caseStatusName = '待仲裁文书用印'
break;
case 14:
item.caseStatusName = '待仲裁文书用印审核'
break;
case 15:
item.caseStatusName = '待仲裁文书送达'
break;
case 16:
item.caseStatusName = '待案件归档'
break;
}
})
})
},
// 触底
onReachBottom() {
if (this.caseList.length < 1) {
return
}
let obj = {
pageNum: this.pageNum,
pageSize: this.pageSize,
caseStatus:8
}
obj.pageNum = obj.pageNum + 1
this.getList(obj)
}
},
onLoad() {
let obj = {
pageNum: this.pageNum,
pageSize: this.pageSize,
caseStatus:8
}
this.getList(obj)
}
// onLoad: function() {
// this.name = this.$store.state.user.name;
// this.sendImg = `https://txroom.xayunmei.com`
// // this.sendImg = `http://localhost:8080/#/?name=${this.name}`
// },
}
</script>
+1 -1
View File
@@ -2,7 +2,7 @@
<view class="content">
<image class="logo" src="@/static/chuizi.png"></image>
<view class="text-area">
<text class="title">法务系统</text>
<text class="title">仲裁系统</text>
</view>
</view>
</template>
+52 -13
View File
@@ -1,9 +1,14 @@
<template>
<view class="normal-login-container">
<view class="logo-content align-center justify-center flex">
<view class="logo-content align-center justify-center flex" v-if="logSyste==1">
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
</image>
<text class="title">法务平台</text>
<text class="title">仲裁平台</text>
</view>
<view class="logo-content align-center justify-center flex" v-if="logSyste==2">
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
</image>
<text class="title">调解平台</text>
</view>
<view class="login-form-content">
<view class="input-item flex align-center">
@@ -20,6 +25,14 @@
<view class="login-code">
<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
</view>
</view>
<view class="ageen-read">
<checkbox-group @change="handleAgreeChange">
<checkbox value="agree"/>
<text class="agreen-text">阅读并同意</text>
<text @click="equityNotice" class="text-blue">《权益告知书》</text>
</checkbox-group>
</view>
<view class="action-btn">
<button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">登录</button>
@@ -51,25 +64,36 @@
data() {
return {
codeUrl: "",
captchaEnabled: true,
captchaEnabled: true,
logSyste:0,
// 用户注册开关
register: true,
globalConfig: getApp().globalData.config,
loginForm: {
username: "admin",
password: "admin123",
username: "",
password: "",
code: "",
uuid: ''
}
uuid: '',
},
isSelectAgree:[]
}
},
created() {
this.getCode()
},
methods: {
methods: {
handleAgreeChange(e){
this.isSelectAgree = e.detail.value
},
// 用户注册
handleUserRegister() {
this.$tab.redirectTo(`/pages/register`)
this.$tab.redirectTo(`/pages/realName`)
},
// 权益告知书
equityNotice(){
//this.$tab.redirectTo(`/pages/personalInfoCollection`)
this.$tab.navigateTo(`/pages/personalInfoCollection?title=权益告知书`)
},
// 隐私协议
handlePrivacy() {
@@ -92,9 +116,12 @@
})
},
// 登录方法
async handleLogin() {
async handleLogin() {
const sysType = uni.getStorageSync('sysType')
if (this.loginForm.username === "") {
this.$modal.msgError("请输入您的账号")
}else if(this.isSelectAgree.length < 1){
this.$modal.msgError("请先阅读个人信息收集条款并同意")
} else if (this.loginForm.password === "") {
this.$modal.msgError("请输入您的密码")
} else if (this.loginForm.code === "" && this.captchaEnabled) {
@@ -119,9 +146,14 @@
loginSuccess(result) {
// 设置用户信息
this.$store.dispatch('GetInfo').then(res => {
this.$tab.reLaunch('/pages/index')
this.$tab.reLaunch('/pages/work/index')
})
}
},
onLoad(options){
let vals = decodeURIComponent(options.values);
this.logSyste = vals
}
}
}
</script>
@@ -150,7 +182,7 @@
}
.login-form-content {
text-align: center;
// text-align: center;
margin: 20px auto;
margin-top: 15%;
width: 80%;
@@ -201,6 +233,13 @@
margin-left: 10px;
width: 200rpx;
}
}
.ageen-read{
margin-top:65rpx;
.agreen-text{
padding-left:20rpx;
color: #999;
}
}
}
}
+6 -6
View File
@@ -27,10 +27,10 @@
<view class="content-section">
<view class="mine-actions grid col-4 text-center">
<view class="action-item" @click="handleJiaoLiuQun">
<!-- <view class="action-item" @click="handleJiaoLiuQun">
<view class="iconfont icon-friendfill text-pink icon"></view>
<text class="text">交流群</text>
</view>
</view> -->
<view class="action-item" @click="handleBuilding">
<view class="iconfont icon-service text-blue icon"></view>
<text class="text">在线客服</text>
@@ -52,18 +52,18 @@
<view>编辑资料</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleHelp">
<!-- <view class="list-cell list-cell-arrow" @click="handleHelp">
<view class="menu-item-box">
<view class="iconfont icon-help menu-icon"></view>
<view>常见问题</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
</view> -->
<!-- <view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>关于我们</view>
</view>
</view>
</view> -->
<view class="list-cell list-cell-arrow" @click="handleToSetting">
<view class="menu-item-box">
<view class="iconfont icon-setting menu-icon"></view>
+49
View File
@@ -0,0 +1,49 @@
<template>
<view class="equityNotice" style="margin:0 10rpx">
<text>
关于“个人信息收集/使用”的同意书xxxxx公司业务管理系统需要收集与使用用户的个人信息,根据《中华人民共和国网络安全法》等相关法规,特告知如下请仔细阅读并理解文本件全部内容之后,决定是否同意并使用本公司业务管理系统的各项服务;如果您仍决定使用本公司业务管理系统的各项服务,则视为您同意执行本同意书
第1条定义
“用户”:使用本公司业务管理系统的自然人
“本公司”:运营及管理业务管理系统的xxxx公司
“业务管理系统”:需要收集和使用个人信息的本公司业务管理系统,但不限于,xxxx系统等该系统的功能范围可能不断扩展、调整
“个人信息”:指以电子或其他方式记录的能够单独或与其他信息结合识别自然人身份的各种信息,包括与确定自然人相关的生物特征、位置、行为等信息,如姓名、出生日期、身份证号、个人账号信息、住址、手机号码、电话号码、指纹、虹膜等
第2条个人信息内容和目的 个人信息内容见条
收集/利用的目的识别个人信息主体 传达合同签订的主要事项提供与产品和服务相关的咨询或邀请,提供用户有利的信息,处理用户投诉等争议理履行与提供产品/服务器相关的合同以及结费用 个人信息收集最小化本公司不收集超出个人信息必须范围的个人敏感信息,例如财产、健康,生活隐私等个人敏感信息
如确有正当业务需要,应经用户同意后进行最小化的收集和存储 用户享有对个人信息的访问、更正、删除个人信息、注销账户等权利 本公司收集的个人信息不会用于直接商业营销
第 3 条 个人信息的储存和使用时间 本公司与用户签订的合同存续期间
从个人信息收集日开始一直到业务关系终止为止
本公司获取的个人所有信息,除了以上提及的收集/使用目的或法律规定的使用目的以外,不会用于其它用途依据相关法规,如无正当的理由继续保存个人信息,或者个人信息收集使用目的已经达成,本公司会即时删除相关个人信息用户如要求删除个人信息,且相关法规规定不要求保存此类个人信息时,自接收到用户删除要求后,本公司会及时删除所有个人信息
第 4 条 拒绝同意权利
用户可拒绝接受收集和利用个人信息,但因此而无法实现与本公司的正常业务往来,甚至导致合同无法正常履行的,所带来的负面后果由用户承担,请审慎留意
用户同意签署此同意书,即表示已仔细阅读并理解以上所有事项,同意相关个人信息的收集和使用
第 5条个人信息出境
为了正常运营业务管理系统,提高业务效率,与业务管理系统相关收集和产生的个人信息需通过网络专线或其它正规渠道传送到本公司在境外的机构的对应业务管理系统
本公司在境外的机构包括:
出境目的是为正常运营业务管理系统,其中包括但不限于、品质系统、购买系统等需依赖于用户个人信息才能正常运行的系统
出境范围和内容包括但不限于用户的姓名、出生日期、身份证号、个人账号信息、住址、电话号码等通过合法途径收集的个人信息
第 6条 同意书的效力和变更
本同意书从用户同意之日起开始生效
如本同意书签署之前,用户已经使用本公司业务管理系统的,则本同意书的签署同时视为对之前已经发生的个人信息收集与利用的同意
本公司保留运营或者营业上有重要原因时,对本同意书进行修改的权利但即使修改也会在《中华人民共和国网络安全法》及其相关法规允许的范围内进行修订
如对本同意书进行修订,本公司将提前至少 7 天将修订内容、实施时间、修订原因公布在公司业务管理系统首页
6 4 用户有权利拒绝同意修订在用户拒绝同意修订的情况下,本公司有权利终止相关服务,禁止用户登录
第7条争议的解决与联系方式
本同意书的订立、执行和争议的解决均应适用中华人民共和国法律 如双方就本同意书内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均可向本公司所在地有管辖权的人民法院提起诉讼 本公司保留对同意书的解释和修改权利
本公司未行使本协议的任何权利或规定,不构成对前述权利之放弃 如本同意书中的任何条款完全或部分无效,本同意书的其余条款仍有效并且有约束力
若您对本同意书的内容、执行有其它疑问、建议、意见等,欢迎通过下列方式与本公司联系:
第 8条 附则
本同意书可通过纸质签署,亦可通过用户登录点击确认等方式签署,均具有同等法律效力
</text>
</view>
</template>
<script>
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
</style>
+76
View File
@@ -0,0 +1,76 @@
<template>
<view class="page-body">
<view class="action-btn">
<button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">点击进行实名认证</button>
</view>
</view>
</template>
<script>
import {
startEid
} from '@/mp_ecard_sdk/main.js'
import {
getEidtoken,
sendEidtoken
} from "@/api/login.js"
export default{
data(){
return{
eidToken: ""
}
},
methods:{
// 获取eidtoken
getEidtokenFn() {
getEidtoken({}).then(res => {
this.eidToken = res.data.EidToken
})
},
// 点击实名认证
handleRegister() {
let that = this
startEid({
data: {
token: this.eidToken,
},
verifyDoneCallback(res) {
const {
token,
verifyDone
} = res;
console.log('收到核身完成的res:', res);
console.log('核身的token是:', token);
console.log('是否完成核身:', verifyDone);
sendEidtoken({
"eidToken": token
}).then(res => {
// that.certificationStatus = '1
let params = {}
params.nickName = res.data.name;
params.idCard = res.data.identityNo;
params.id = res.data.id;
console.log(params,"PPPPPPPPPPPPP");
uni.navigateTo({
url: '/pages/register?params=' + JSON.stringify(
params)
});
})
},
});
}
},
onLoad() {
this.getEidtokenFn()
},
}
</script>
<style lang="scss">
.page-body{
background-color: #ffffff;
.register-btn{
margin-top: 30rpx;
}
}
</style>
+264 -176
View File
@@ -1,196 +1,284 @@
<template>
<view class="normal-login-container">
<view class="logo-content align-center justify-center flex">
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
</image>
<text class="title">法务系统注册</text>
</view>
<view class="login-form-content">
<view class="input-item flex align-center">
<view class="iconfont icon-user icon"></view>
<input v-model="registerForm.username" class="input" type="text" placeholder="请输入账号" maxlength="30" />
</view>
<view class="input-item flex align-center">
<view class="iconfont icon-password icon"></view>
<input v-model="registerForm.password" type="password" class="input" placeholder="请输入密码" maxlength="20" />
</view>
<view class="input-item flex align-center">
<view class="iconfont icon-password icon"></view>
<input v-model="registerForm.confirmPassword" type="password" class="input" placeholder="请输入重复密码" maxlength="20" />
</view>
<view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
<view class="iconfont icon-code icon"></view>
<input v-model="registerForm.code" type="number" class="input" placeholder="请输入验证码" maxlength="4" />
<view class="login-code">
<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
</view>
</view>
<view class="action-btn">
<button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">注册</button>
</view>
</view>
<view class="xieyi text-center">
<text @click="handleUserLogin" class="text-blue">使用已有账号登录</text>
</view>
</view>
<view class="normal-login-container">
<view class="logo-content align-center justify-center flex">
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
</image>
<text class="title">仲裁系统注册</text>
</view>
<view class="login-form-content">
<view class="input-item flex align-center" style="width: 60%;margin: 0px;">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.phone" class="input" type="number" placeholder="请输入手机号"
maxlength="30" />
<view class="login-code">
<button class="login-code-img" type="primary" :disabled="codeDisabled"
@tap="getCodeNumber(registerForm.phone)">{{codeText}}</button>
</view>
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.verifyCode" class="input" type="number" placeholder="请输入手机验证码"
maxlength="30" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.identityNo" class="input" type="text" placeholder="请输入身份证号" maxlength="30" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.email" class="input" type="text" placeholder="请输入邮箱" maxlength="30" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.name" class="input" type="text" placeholder="请输入用户名" maxlength="30" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-user icon"></view> -->
<input v-model="registerForm.userName" class="input" type="text" placeholder="请输入账号" maxlength="30" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-password icon"></view> -->
<input v-model="registerForm.passWord" type="password" class="input" placeholder="请输入密码"
maxlength="20" />
</view>
<view class="input-item flex align-center">
<!-- <view class="iconfont icon-password icon"></view> -->
<input v-model="registerForm.confirmPassword" type="password" class="input" placeholder="请输入重复密码"
maxlength="20" />
</view>
<view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
<!-- <view class="iconfont icon-code icon"></view> -->
<input v-model="registerForm.code" type="number" class="input" placeholder="请输入验证码" maxlength="4" />
<view class="login-code">
<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
</view>
</view>
<view class="action-btn">
<button @click="handleRegister()" class="register-btn cu-btn block bg-blue lg round">注册</button>
</view>
</view>
<view class="xieyi text-center">
<text @click="handleUserLogin" class="text-blue">使用已有账号登录</text>
</view>
</view>
</template>
<script>
import { getCodeImg, register } from '@/api/login'
import {
getCodeImg,
register,
sendCode,
wxregister
} from '@/api/login'
export default {
data() {
return {
codeUrl: "",
captchaEnabled: true,
globalConfig: getApp().globalData.config,
registerForm: {
username: "",
password: "",
confirmPassword: "",
code: "",
uuid: ''
}
}
},
created() {
this.getCode()
},
methods: {
// 用户登录
handleUserLogin() {
this.$tab.navigateTo(`/pages/login`)
},
// 获取图形验证码
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
if (this.captchaEnabled) {
this.codeUrl = 'data:image/gif;base64,' + res.img
this.registerForm.uuid = res.uuid
}
})
},
// 注册方法
async handleRegister() {
if (this.registerForm.username === "") {
this.$modal.msgError("请输入您的账号")
} else if (this.registerForm.password === "") {
this.$modal.msgError("请输入您的密码")
} else if (this.registerForm.confirmPassword === "") {
this.$modal.msgError("请再次输入您的密码")
} else if (this.registerForm.password !== this.registerForm.confirmPassword) {
this.$modal.msgError("两次输入的密码不一致")
} else if (this.registerForm.code === "" && this.captchaEnabled) {
this.$modal.msgError("请输入验证码")
} else {
this.$modal.loading("注册中,请耐心等待...")
this.register()
}
},
// 用户注册
async register() {
register(this.registerForm).then(res => {
this.$modal.closeLoading()
uni.showModal({
title: "系统提示",
content: "恭喜你,您的账号 " + this.registerForm.username + " 注册成功!",
success: function (res) {
if (res.confirm) {
uni.redirectTo({ url: `/pages/login` });
}
}
})
}).catch(() => {
if (this.captchaEnabled) {
this.getCode()
}
})
},
// 注册成功后,处理函数
registerSuccess(result) {
// 设置用户信息
this.$store.dispatch('GetInfo').then(res => {
this.$tab.reLaunch('/pages/index')
})
}
}
}
export default {
data() {
return {
codeUrl: "",
captchaEnabled: true,
globalConfig: getApp().globalData.config,
codeText: "发送验证码",
codeDisabled: false,
registerForm: {
userName: "",
passWord: "",
confirmPassword: "",
code: "",
uuid: '',
name: '',
identityNo: "",
id: ""
}
}
},
created() {
this.getCode()
},
onLoad(option) {
let {
params
} = option
// this.improvedetail = JSON.parse(improvedetail)
let paramsObj = JSON.parse(params);
this.registerForm.name = paramsObj.nickName;
this.registerForm.identityNo = paramsObj.idCard
this.registerForm.id = paramsObj.id
},
methods: {
// 获取手机验证码
getCodeNumber(data) {
sendCode({
phone: data
}).then(res => {
uni.showModal({
title: "系统提示",
content: res.msg,
})
if (res.code != 200) {
return
} else {
let time = 60;
let timer = setInterval(() => {
time--;
this.codeDisabled = true;
this.codeText = time + 's重试'
if (time == 0) {
clearInterval(timer)
this.codeText = '发送验证码'
this.codeDisabled = false;
}
}, 1000)
}
})
},
// 用户登录
handleUserLogin() {
this.$tab.navigateTo(`/pages/login`)
},
// 获取图形验证码
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
if (this.captchaEnabled) {
this.codeUrl = 'data:image/gif;base64,' + res.img
this.registerForm.uuid = res.uuid
}
})
},
// 注册方法
async handleRegister() {
if (this.registerForm.userName === "") {
this.$modal.msgError("请输入您的账号")
} else if (this.registerForm.passWord === "") {
this.$modal.msgError("请输入您的密码")
} else if (this.registerForm.confirmPassword === "") {
this.$modal.msgError("请再次输入您的密码")
} else if (this.registerForm.passWord !== this.registerForm.confirmPassword) {
this.$modal.msgError("两次输入的密码不一致")
} else if (this.registerForm.code === "" && this.captchaEnabled) {
this.$modal.msgError("请输入验证码")
} else if (this.registerForm.idCard === "") {
this.$modal.msgError("请输入身份证号码")
} else if (this.registerForm.phone === "") {
this.$modal.msgError("请输入手机号")
} else if (this.registerForm.email === "") {
this.$modal.msgError("请输入邮箱")
} else {
this.$modal.loading("注册中,请耐心等待...")
this.register()
}
},
// 用户注册
async register() {
wxregister(this.registerForm).then(res => {
this.$modal.closeLoading()
uni.showModal({
title: "系统提示",
content: "恭喜你,您的账号 " + this.registerForm.userName + " 注册成功!",
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: `/pages/login`
});
}
}
})
}).catch(() => {
if (this.captchaEnabled) {
this.getCode()
}
})
},
// 注册成功后,处理函数
registerSuccess(result) {
// 设置用户信息
this.$store.dispatch('GetInfo').then(res => {
this.$tab.reLaunch('/pages/index')
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
page {
background-color: #ffffff;
}
.normal-login-container {
width: 100%;
.normal-login-container {
width: 100%;
background-color: #ffffff;
.logo-content {
width: 100%;
font-size: 21px;
text-align: center;
padding-top: 15%;
.logo-content {
width: 100%;
font-size: 21px;
text-align: center;
padding-top: 15%;
image {
border-radius: 4px;
}
image {
border-radius: 4px;
}
.title {
margin-left: 10px;
}
}
.title {
margin-left: 10px;
}
}
.login-form-content {
text-align: center;
margin: 20px auto;
margin-top: 15%;
width: 80%;
.login-form-content {
text-align: center;
margin: 20px auto;
margin-top: 15%;
width: 80%;
.input-item {
margin: 20px auto;
background-color: #f5f6f7;
height: 45px;
border-radius: 20px;
.input-item {
margin: 20px auto;
background-color: #f5f6f7;
height: 45px;
border-radius: 20px;
.icon {
font-size: 38rpx;
margin-left: 10px;
color: #999;
}
.icon {
font-size: 38rpx;
margin-left: 10px;
color: #999;
}
.input {
width: 100%;
font-size: 14px;
line-height: 20px;
text-align: left;
padding-left: 15px;
}
.input {
width: 100%;
font-size: 14px;
line-height: 20px;
text-align: left;
padding-left: 15px;
}
}
}
.register-btn {
margin-top: 40px;
height: 45px;
}
.register-btn {
margin-top: 40px;
height: 45px;
}
.xieyi {
color: #333;
margin-top: 20px;
}
.login-code {
height: 38px;
float: right;
.login-code-img {
height: 38px;
position: absolute;
margin-left: 10px;
width: 200rpx;
}
}
}
}
.xieyi {
color: #333;
margin-top: 20px;
}
</style>
.login-code {
height: 38px;
float: right;
.login-code-img {
height: 38px;
position: absolute;
margin-left: 10px;
width: 200rpx;
font-size: 28rpx;
}
}
.mini-btn {
height: 38px;
}
}
}
</style>
@@ -0,0 +1,380 @@
<template>
<view class="assignrbitrators">
<view class="from">
<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
<view class="title">案件详情</view>
<view class="box">
<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
placeholder="" />
</uni-forms-item>
<uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
</uni-forms-item>
</view>
</uni-forms>
<view class="uni-list" v-if="selectFlag">
<checkbox-group @change="checkboxChange">
<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
<view>
<checkbox :value="item.id + ''" />
</view>
<view class="main">
<view class="">
仲裁员姓名:{{item.arbitratorName}}
</view>
<view class="">
当前案件数量:{{item.currentCaseNum}}
</view>
<view class="">
已结案数量:{{item.closedCaseNum}}
</view>
<view class="">
专业分类:{{item.professiClassifi}}
</view>
</view>
</label>
</checkbox-group>
</view>
<button type="primary" @click="submitImg">确认提交</button>
</view>
</view>
</template>
<script>
import {
respondentDetail,
arbitratorList,
evidenceCrossexami
} from '../../../api/handlecase/index.js'
import {
uploadImage
} from '../../../api/upload.js'
import {
getToken
} from '@/utils/auth'
import moment from 'moment'
const app = getApp()
export default {
data() {
return {
formData: {},
subnitForm: {},
selectFlag: false,
caseFlag: false,
tempFilePaths: null,
rules: {
// 是否有异议需要举证
objectionAddEviden: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
// 是否需要开庭审理
openCourtHear: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
// 是否指派仲裁员
pendingAppointArbotrar: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
},
maintenancetypeArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}, ],
arbitrationmethodArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
uploadEvidence: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
items: []
}
},
methods: {
arbitrationmethod() {},
uploadEvidenceChange(val) {
let flag = val.detail.value;
if (flag == 1) {
this.caseFlag = true;
} else if (flag == 0) {
this.caseFlag = false;
}
},
maintenancetypeChange(val) {
let flag = val.detail.value;
if (flag == 1) {
this.selectFlag = true
this.getArbitratorList()
} else {
this.selectFlag = false
}
},
checkboxChange(e) {
let idArr = e.detail.value;
let numberArray = idArr.map(str => parseInt(str));
const result = this.items.filter(item => numberArray.includes(item.id));
let arbitrators = []
result.forEach(item => {
arbitrators.push({
id: item.id,
arbitratorName: item.arbitratorName
})
})
this.subnitForm.arbitrators = arbitrators;
},
getData(parms) {
respondentDetail(parms).then(res => {
this.formData = res.data
this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
'YYYY-MM-DD HH:mm:ss');
this.formData.id = this.formData.id + ''
})
},
// 文件上传
select(e) {
this.tempFilePaths = e.tempFilePaths;
// loading
uni.showLoading({
title: '上传中'
});
uni.uploadFile({
url: getApp().globalData.requestUrl + uploadImage,
filePath: this.tempFilePaths[0],
header: {
Authorization: getToken() || '',
},
formData: {
annexType: 6,
id: this.formData.id
},
name: 'file',
success: (res) => {
let {
data
} = res
uni.showToast({
title: '上传成功',
icon: 'none',
duration: 1000
})
uni.hideLoading();
},
fail: (err) => {
uni.showToast({
title: '上传失败',
icon: 'none',
duration: 1000
})
uni.hideLoading()
}
})
},
// 获取仲裁员列表
getArbitratorList() {
arbitratorList().then(res => {
this.items = res.rows;
})
},
// 提交数据
evidenceCrossexamiFn(parms) {
evidenceCrossexami(parms).then(res => {
uni.showToast({
title: '提交成功',
icon: 'none',
duration: 1000
})
uni.navigateTo({
url: '/pages/handlecase/index'
})
})
},
submitImg() {
this.$refs.form.validate().then(res => {
this.evidenceCrossexamiFn(this.subnitForm)
}).catch(err => {
console.log('表单错误信息:', err);
})
}
},
onLoad(data) {
this.getData(data.id);
this.subnitForm.caseId = Number(data.id);
// this.getArbitratorList()
},
}
</script>
<style lang="scss">
.assignrbitrators {
// text-align: center;
padding: 20rpx;
.box {
background-color: #fff;
padding: 20rpx;
border-radius: 20rpx;
}
.flexd {
padding-top: 20rpx;
.btn {
width: 80%;
font-size: 26rpx;
border-radius: 60rpx;
}
}
.btn {
margin-top: 20rpx;
}
.select-picker {
display: flex;
box-sizing: border-box;
flex-direction: row;
align-items: center;
border: 1px solid #DCDFE6;
border-radius: 8rpx;
width: 100%;
height: 100%;
padding: 0 24rpx;
font-size: 28rpx;
}
.table-content {
background-color: #fff;
padding: 20rpx;
border-radius: 20rpx;
.none {
font-size: 24rpx;
height: 60rpx;
line-height: 60rpx;
}
}
.box {
/deep/.title {
font-size: 28rpx;
height: 60rpx;
line-height: 60rpx;
}
}
.htmltitle {
font-size: 30rpx;
height: 80rpx;
line-height: 80rpx;
display: flex;
justify-content: space-between;
.look {
color: #0D91F9;
}
}
.title {
font-size: 30rpx;
height: 80rpx;
line-height: 80rpx;
}
.adsTitle {
font-size: 30rpx;
}
.multiple {
width: 75%;
height: 72rpx;
line-height: 72rpx;
font-size: 24rpx;
// @include text-overflow($width: 100%)
}
.uni-list {
width: 100%;
margin-top: 20rpx;
.uni-list-cell {
border-radius: 30rpx;
margin-bottom: 10rpx;
display: flex;
align-items: center;
justify-content: flex-start;
background-color: #fff;
.main {
height: 100%;
margin-left: 20rpx;
}
}
}
}
</style>
+105
View File
@@ -0,0 +1,105 @@
<template>
<view class="list">
<view class="listItem">
<view class="lable">
案件编号:
</view>
<view class="main">
{{defalutVal.caseNum}}
</view>
</view>
<view class="listItem">
<view class="lable">
申请人姓名:
</view>
<view class="main">
{{defalutVal.applicantName}}
</view>
</view>
<view class="listItem">
<view class="lable">
被申请人姓名:
</view>
<view class="main">
{{defalutVal.respondentName}}
</view>
</view>
<view class="listItem">
<view class="lable">
案件状态:
</view>
<view class="main">
{{defalutVal.caseStatusName}}
</view>
</view>
<view class="btn">
<button class="btnItem" type="primary" size="mini" @tap="uploadEvidence">在线签字</button>
<!-- <button class="btnItem" type="primary" size="mini" @tap="confirmationEvidence" v-if="defalutVal.caseStatus == 4">确认证据</button>
<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators" v-if="defalutVal.caseStatus == 5">是否指派仲裁员</button>
<button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
<button class="btnItem" type="primary" size="mini" @tap="chooseMethod" v-if="defalutVal.caseStatus == 9">选择仲裁方式</button> -->
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
},
props:{
defalutVal:{
type:Object,
default:() => {}
}
},
methods:{
// // 查看快递
uploadEvidence(){
uni.navigateTo({
// url:`/pages/expressDelivery/component/expressDelivery?id=${this.defalutVal.id}`
url:`/pages/expressDelivery/component/expressDelivery?id=61`
})
},
}
}
</script>
<style lang="scss" scoped>
.list {
padding: 15rpx;
display: flex;
flex-direction: column;
background-color: #ffffff;
border-radius: 30rpx;
margin-top: 20rpx;
.listItem {
width: 100%;
display: flex;
height: 50rpx;
.lable {
width: 30%;
}
.main {
width: 60%;
}
}
.btn{
margin-top: 20rpx;
width: 100%;
display: flex;
justify-content: space-between;
.btnItem{
height: 50rpx;
background-color: #5395ff;
border-radius: 10rpx;
text-align: center;
line-height: 50rpx;
}
}
}
</style>
+125
View File
@@ -0,0 +1,125 @@
<template>
<view class="handlecase">
<List class="caseList" v-for="(item,index) in caseList" :defalutVal='item' :key="index"></List>
<view class="emptyBox" v-if="caseList.length == 0">
<luanqing-empty :show="true" textColor="#000"></luanqing-empty>
</view>
</view>
</template>
<script>
import List from './component/list.vue'
import {
caseApplicationList
} from '../../api/handlecase/index.js'
import LuanqingEmpty from "@/components/luanqing-empty.vue"
export default {
components: {
List,
'luanqing-empty': LuanqingEmpty,
},
data() {
return {
caseList: [],
pageNum: 1,
pageSize: 10
}
},
methods: {
getList(parms) {
uni.showLoading()
caseApplicationList(parms).then(res => {
uni.hideLoading()
this.caseList = res.rows;
this.caseList.forEach(item => {
switch (item.caseStatus) {
case 0:
item.caseStatusName = '立案申请'
break;
case 1:
item.caseStatusName = '待缴费'
break;
case 2:
item.caseStatusName = '待缴费确认'
break;
case 3:
item.caseStatusName = '待确认是否应诉'
break;
case 4:
item.caseStatusName = '待确认证据'
break;
case 5:
item.caseStatusName = '待确定是否指派仲裁员'
break;
case 6:
item.caseStatusName = '待组庭'
break;
case 7:
item.caseStatusName = '待组庭确定'
break;
case 8:
item.caseStatusName = '待组庭审核'
break;
case 9:
item.caseStatusName = '待选择仲裁方式'
break;
case 10:
item.caseStatusName = '待开庭'
break;
case 11:
item.caseStatusName = '待生成仲裁文书'
break;
case 12:
item.caseStatusName = '待确认仲裁文书'
break;
case 13:
item.caseStatusName = '待仲裁文书用印'
break;
case 14:
item.caseStatusName = '待仲裁文书用印审核'
break;
case 15:
item.caseStatusName = '待仲裁文书送达'
break;
case 16:
item.caseStatusName = '待案件归档'
break;
}
})
})
},
// 触底
onReachBottom() {
if (this.caseList.length < 1) {
return
}
let obj = {
caseStatusList: [13],
pageNum: this.pageNum,
pageSize: this.pageSize
}
obj.pageNum = obj.pageNum + 1
this.getList(obj)
}
},
onLoad() {
let obj = {
caseStatusList: [13],
pageNum: this.pageNum,
pageSize: this.pageSize
}
this.getList(obj)
}
}
</script>
<style lang="scss">
.handlecase {
.caseList {
// height: 360rpx;
// background-color: #ffffff;
// border-radius: 30rpx;
// margin-top: 20rpx;
}
}
</style>
+39
View File
@@ -0,0 +1,39 @@
<template>
<view class="" style="margin:300rpx auto;width:80%;">
<view class="button-sp-area">
<button @tap="logarBitration(1)" class="login-btn cu-btn block bg-blue lg round">登录仲裁系统</button>
</view>
<view class="action-btn"style="margin-top:100rpx">
<button @tap="logarBitration(2)" class="login-btn cu-btn block bg-blue lg round">登录调解系统</button>
</view>
</view>
</template>
<script>
export default {
data(){
return {
}
},
methods:{
// 登录仲裁调节系统
logarBitration(val){
uni.setStorageSync('sysType',val)
let params ={values:val}
let url ='/pages/login?values='+encodeURIComponent(params.values)
uni.navigateTo({ url })
}
},
onShow() {
uni.removeStorageSync('sysType')
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
</style>
+45 -33
View File
@@ -12,23 +12,23 @@
</uni-swiper-dot>
<!-- 宫格组件 -->
<uni-section v-if="certificationStatus == '已认证'" class="uni-section" title="系统管理" type="line">
<!-- <uni-section v-if="certificationStatus == '1'" class="uni-section" title="系统管理" type="line">
<template v-slot:right>
{{certificationStatus}}
已认证
</template>
</uni-section>
<uni-section v-else class="uni-section" title="系统管理" type="line" @click="certification">
<template v-slot:right>
{{certificationStatus}}
未认证
</template>
</uni-section>
</uni-section> -->
<!-- <uni-section class="uni-section" title="系统管理" type="line"></uni-section> -->
<view class="grid-body">
<uni-grid :column="4" :showBorder="false">
<uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(0)">
<uni-icons type="compose" size="30" color="#327DD7"></uni-icons>
<text class="text">代办案件</text>
<uni-icons type="calendar-filled" size="30" color="#327DD7"></uni-icons>
<text class="text">待办案件</text>
</view>
</uni-grid-item>
<!-- <uni-grid-item>
@@ -58,22 +58,22 @@
<uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(5)">
<uni-icons type="bars" size="30" color="#327DD7"></uni-icons>
<text class="text">互联网庭</text>
<text class="text">视频审理</text>
</view>
</uni-grid-item>
<uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(6)">
<uni-icons type="email-filled" size="30" color="#327DD7"></uni-icons>
<text class="text">查询快递</text>
</view>
</uni-grid-item>
<!-- <uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(6)">
<uni-icons type="gear-filled" size="30" color="#327DD7"></uni-icons>
<text class="text">在线撤诉</text>
</view>
</uni-grid-item>
<uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(7)">
<uni-icons type="chat-filled" size="30" color="#327DD7"></uni-icons>
<text class="text">笔录签字</text>
<uni-icons type="compose" size="30" color="#327DD7"></uni-icons>
<text class="text">在线签字</text>
</view>
</uni-grid-item>
<uni-grid-item>
</uni-grid-item> -->
<!-- <uni-grid-item>
<view class="grid-item-box" @tap="changeGrid(8)">
<uni-icons type="wallet-filled" size="30" color="#327DD7"></uni-icons>
<text class="text">仲裁文书</text>
@@ -113,7 +113,7 @@
image: 'https://img.tukuppt.com/bg_grid/00/81/07/DGEl4suqeV.jpg!/fh/350'
}
],
certificationStatus: "未认证",
certificationStatus: "",
eidToken: ""
}
},
@@ -126,14 +126,14 @@
},
changeGrid(e) {
// this.$modal.showToast('模块建设中~')
if (this.certificationStatus == "未认证") {
uni.showToast({
title: '请先完成实名认证',
icon: 'none',
duration: 1000
})
return
}
// if (this.certificationStatus == "0") {
// uni.showToast({
// title: '请先完成实名认证',
// icon: 'none',
// duration: 1000
// })
// return
// }
switch (e) {
case 0:
uni.navigateTo({
@@ -145,6 +145,16 @@
url: ('/pages/im/index')
})
break;
case 6:
uni.navigateTo({
url: ('/pages/expressDelivery/index')
})
break;
case 7:
uni.navigateTo({
url: ('/pages/signature/index')
})
break;
default:
break;
}
@@ -152,8 +162,8 @@
// 获取eidtoken
getEidtokenFn() {
getEidtoken({}).then(res => {
console.log(res.data.eidToken, "kkkkkkkkk");
this.eidToken = res.data.eidToken
console.log(res.data.EidToken, "kkkkkkkkk");
this.eidToken = res.data.EidToken
})
},
// 点击实名认证
@@ -177,18 +187,20 @@
sendEidtoken({
"eidToken": token
}).then(res => {
that.certificationStatus = '已认证'
that.certificationStatus = '1'
})
// flagShow = '已认证'
// console.log(flagShow, "JKJJKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKk");
// console.log(this, "PPPPPPPPPPPPPPP");
},
});
}
},
onLoad() {
// sendEidtoken({
// "eidToken": 'C0339AE1-7B30-4DB9-B1E4-35A10F45249B'
// }).then(res => {
// // that.certificationStatus = '已认证'
// })
this.getEidtokenFn()
// this.certificationStatus = uni.getStorageSync('certificationStatus')
},
}
</script>
+4 -3
View File
@@ -1,11 +1,12 @@
import { getToken } from '@/utils/auth'
//跳转页面
const loginPage = "/pages/switchSystem"
// 登录页面
const loginPage = "/pages/login"
// const loginPage = "/pages/login"
// 页面白名单
const whiteList = [
'/pages/login', '/pages/register', '/pages/common/webview/index'
'/pages/switchSystem', '/pages/login', '/pages/register', '/pages/common/webview/index','/pages/realName','/mp_ecard_sdk/index/index', '/pages/personalInfoCollection'
]
// 检查地址白名单
+1
View File
@@ -57,6 +57,7 @@ const user = {
return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => {
setToken(res.token)
uni.setStorageSync("certificationStatus",res.certificationStatus)
commit('SET_TOKEN', res.token)
resolve()
}).catch(error => {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+10 -38
View File
@@ -2,26 +2,24 @@
"pages": [
"pages/login",
"pages/register",
"pages/index",
"pages/work/index",
"pages/mine/index",
"pages/mine/avatar/index",
"pages/mine/info/index",
"pages/mine/info/edit",
"pages/mine/pwd/index",
"pages/mine/setting/index",
"pages/mine/help/index",
"pages/mine/about/index",
"pages/common/webview/index",
"pages/common/textview/index",
"pages/handlecase/index",
"pages/handlecase/component/uploadEvidence",
"pages/handlecase/component/evidenceList",
"pages/handlecase/component/obligations",
"pages/expressDelivery/index",
"pages/expressDelivery/component/expressDelivery",
"pages/signature/index",
"pages/signature/component/expressDelivery",
"mp_ecard_sdk/index/index",
"mp_ecard_sdk/protocol/eid/eid",
"mp_ecard_sdk/protocol/privacy/privacy",
"mp_ecard_sdk/protocol/service/service",
"mp_ecard_sdk/protocol/userAccredit/userAccredit",
"pages/im/index"
"pages/im/index",
"pages/realName",
"pages/personalInfoCollection",
"pages/im/component/imHome"
],
"subPackages": [],
"window": {
@@ -29,32 +27,6 @@
"navigationBarTitleText": "RuoYi",
"navigationBarBackgroundColor": "#FFFFFF"
},
"tabBar": {
"color": "#000000",
"selectedColor": "#000000",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/index",
"iconPath": "static/images/tabbar/home.png",
"selectedIconPath": "static/images/tabbar/home_.png",
"text": "首页"
},
{
"pagePath": "pages/work/index",
"iconPath": "static/images/tabbar/work.png",
"selectedIconPath": "static/images/tabbar/work_.png",
"text": "工作台"
},
{
"pagePath": "pages/mine/index",
"iconPath": "static/images/tabbar/mine.png",
"selectedIconPath": "static/images/tabbar/mine_.png",
"text": "我的"
}
]
},
"permission": {},
"usingComponents": {}
}
+2 -3
View File
@@ -15,11 +15,10 @@
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"condition": false
}
},
"compileType": "miniprogram",
"libVersion": "3.1.1",
"libVersion": "3.0.1",
"appid": "wx91cb8459dca561b4",
"projectname": "智慧仲裁",
"condition": {},
+8 -5
View File
@@ -5,9 +5,11 @@ import errorCode from '@/utils/errorCode'
import { toast, showConfirm, tansParams } from '@/utils/common'
let timeout = 10000
const baseUrl = config.baseUrl
const request = config => {
const baseUrlZC = config.baseUrlZC
const baseUrlTJ = config.baseUrlTJ
const request = config => {
const sysType = uni.getStorageSync('sysType')
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
config.header = config.header || {}
@@ -20,11 +22,12 @@ const request = config => {
url = url.slice(0, -1)
config.url = url
}
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
const reqURL = sysType == 1 ? baseUrlZC : baseUrlTJ
uni.request({
method: config.method || 'get',
timeout: config.timeout || timeout,
url: config.baseUrl || baseUrl + config.url,
url: config.baseUrl || reqURL + config.url,
data: config.data,
header: config.header,
dataType: 'json'